<?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>157823</bug_id>
          
          <creation_ts>2016-05-17 17:16:39 -0700</creation_ts>
          <short_desc>Modern IDB: Make TestRunner.clearAllDatabases also delete IndexedDB databases (once doing so is supported)</short_desc>
          <delta_ts>2022-02-28 04:10:06 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>149117</blocked>
    
    <blocked>157626</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>achristensen</cc>
    
    <cc>alecflett</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jsbell</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1194072</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-17 17:16:39 -0700</bug_when>
    <thetext>Modern IDB: Make TestRunner.clearAllDatabases also delete IndexedDB databases (once doing so is supported in WebCore)

Landing this separately is an attempt to make the work in https://bugs.webkit.org/show_bug.cgi?id=157626 more manageable to polish and review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1194073</commentid>
    <comment_count>1</comment_count>
      <attachid>279188</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-17 17:20:36 -0700</bug_when>
    <thetext>Created attachment 279188
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1194074</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-17 17:22:57 -0700</bug_when>
    <thetext>Attachment 279188 did not pass style-queue:


ERROR: Source/WebCore/Modules/indexeddb/server/IDBServer.h:99:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/Modules/indexeddb/server/IDBServer.cpp:471:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 2 in 17 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>1194161</commentid>
    <comment_count>3</comment_count>
      <attachid>279188</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-05-17 23:05:25 -0700</bug_when>
    <thetext>Comment on attachment 279188
Patch v1

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

&gt; Source/WebKit2/UIProcess/API/C/WKWebsiteDataStoreRef.cpp:62
&gt; +void WKWebsiteDataStoreRemoveAllIndexedDatabases(WKWebsiteDataStoreRef dataStoreRef)
&gt; +{
&gt; +    OptionSet&lt;WebKit::WebsiteDataType&gt; dataTypes = WebKit::WebsiteDataType::IndexedDBDatabases;
&gt; +    return WebKit::toImpl(dataStoreRef)-&gt;websiteDataStore().removeData(dataTypes, std::chrono::system_clock::time_point::min(), [] { });
&gt; +}

return??? If I wrote my own c++ compiler, this would be a compiler error.

&gt; Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp:259
&gt; +    WKBundlePostSynchronousMessage(InjectedBundle::singleton().bundle(), messageName.get(), messageBody.get(), 0);

nullptr

&gt; Tools/WebKitTestRunner/TestInvocation.cpp:719
&gt; +        WKWebsiteDataStoreRemoveAllIndexedDatabases(WKContextGetWebsiteDataStore(TestController::singleton().context()));

EFL doesn&apos;t like this.  I&apos;m not sure why.  Everything seems correct.  Maybe they&apos;re including an old version of the header without the change.
WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle(OpaqueWKString const*, void const*): error: undefined reference to &apos;WKWebsiteDataStoreRemoveAllIndexedDatabases&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1194277</commentid>
    <comment_count>4</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-18 08:50:13 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 279188 [details]
&gt; Patch v1
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=279188&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/C/WKWebsiteDataStoreRef.cpp:62
&gt; &gt; +void WKWebsiteDataStoreRemoveAllIndexedDatabases(WKWebsiteDataStoreRef dataStoreRef)
&gt; &gt; +{
&gt; &gt; +    OptionSet&lt;WebKit::WebsiteDataType&gt; dataTypes = WebKit::WebsiteDataType::IndexedDBDatabases;
&gt; &gt; +    return WebKit::toImpl(dataStoreRef)-&gt;websiteDataStore().removeData(dataTypes, std::chrono::system_clock::time_point::min(), [] { });
&gt; &gt; +}
&gt; 
&gt; return??? If I wrote my own c++ compiler, this would be a compiler error.

&quot;void&quot; is a valid return in a void function. :)

(I copied this line from somewhere else before editing it)

&gt; &gt; Tools/WebKitTestRunner/TestInvocation.cpp:719
&gt; &gt; +        WKWebsiteDataStoreRemoveAllIndexedDatabases(WKContextGetWebsiteDataStore(TestController::singleton().context()));
&gt; 
&gt; EFL doesn&apos;t like this.  I&apos;m not sure why.  Everything seems correct.  Maybe
&gt; they&apos;re including an old version of the header without the change.
&gt; WTR::TestInvocation::
&gt; didReceiveSynchronousMessageFromInjectedBundle(OpaqueWKString const*, void
&gt; const*): error: undefined reference to
&gt; &apos;WKWebsiteDataStoreRemoveAllIndexedDatabases&apos;

They never compiled WKWebsiteDataStoreRef. They will now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1194278</commentid>
    <comment_count>5</comment_count>
      <attachid>279255</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-18 08:52:34 -0700</bug_when>
    <thetext>Created attachment 279255
Patch for ES</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1194279</commentid>
    <comment_count>6</comment_count>
      <attachid>279256</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-18 08:52:54 -0700</bug_when>
    <thetext>Created attachment 279256
Patch for EWS + landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1194280</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-18 08:53:51 -0700</bug_when>
    <thetext>Attachment 279256 did not pass style-queue:


ERROR: Source/WebCore/Modules/indexeddb/server/IDBServer.h:99:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/Modules/indexeddb/server/IDBServer.cpp:471:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 2 in 18 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>1194293</commentid>
    <comment_count>8</comment_count>
      <attachid>279256</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-18 09:29:32 -0700</bug_when>
    <thetext>Comment on attachment 279256
Patch for EWS + landing

Clearing flags on attachment: 279256

Committed r201081: &lt;http://trac.webkit.org/changeset/201081&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>279188</attachid>
            <date>2016-05-17 17:20:36 -0700</date>
            <delta_ts>2022-02-28 04:10:06 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>13170</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAwYjBkMjllLi4wYzA4ZjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTYtMDUtMTcgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIE1vZGVybiBJREI6IE1ha2UgVGVzdFJ1bm5lci5jbGVhckFsbERhdGFiYXNlcyBhbHNvIGRl
bGV0ZSBJbmRleGVkREIgZGF0YWJhc2VzIChvbmNlIGRvaW5nIHNvIGlzIHN1cHBvcnRlZCkuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTc4MjMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVz
dHMgKE5vIGN1cnJlbnQgYmVoYXZpb3IgY2hhbmdlLCB3aWxsIGJlIHRlc3RlZCB3aXRoIGIvMTU3
NjI2J3MgcmVzb2x1dGlvbikuCisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIv
SURCU2VydmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6SURCU2VydmVyOjpj
bG9zZUFuZERlbGV0ZURhdGFiYXNlc01vZGlmaWVkU2luY2UpOiBTdHViIHRoaXMgb3V0IGZvciBu
b3cuCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5oOgorICAg
ICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JblByb2Nlc3NJREJTZXJ2ZXIuaDoKKwog
MjAxNi0wNS0xNyAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAgICAgTWFr
ZSBoYW5kbGVBY2NlcHRlZENhbmRpZGF0ZSBhIHB1YmxpYyBmdW5jdGlvbgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmNwcAppbmRl
eCAzZmQ2MGE3Li4yMWJhNzU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmNwcApAQCAtNDY4LDYgKzQ2OCwxMiBAQCB2b2lk
IElEQlNlcnZlcjo6aGFuZGxlVGFza1JlcGxpZXNPbk1haW5UaHJlYWQoKQogICAgICAgICB0YXNr
LT5wZXJmb3JtVGFzaygpOwogfQogCit2b2lkIElEQlNlcnZlcjo6Y2xvc2VBbmREZWxldGVEYXRh
YmFzZXNNb2RpZmllZFNpbmNlKHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQs
IHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4gY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgLy8gRklY
TUU6IEltcGxlbWVudCAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1
NzYyNikKKyAgICBjb21wbGV0aW9uSGFuZGxlcigpOworfQorCiB9IC8vIG5hbWVzcGFjZSBJREJT
ZXJ2ZXIKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5oCmluZGV4IGVmZmE4MDcuLjhjZWUz
OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9J
REJTZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIv
SURCU2VydmVyLmgKQEAgLTk2LDYgKzk2LDggQEAgcHVibGljOgogCiAgICAgc3RkOjp1bmlxdWVf
cHRyPElEQkJhY2tpbmdTdG9yZT4gY3JlYXRlQmFja2luZ1N0b3JlKGNvbnN0IElEQkRhdGFiYXNl
SWRlbnRpZmllciYpOwogCisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBjbG9zZUFuZERlbGV0ZURh
dGFiYXNlc01vZGlmaWVkU2luY2Uoc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2lu
dCwgc3RkOjpmdW5jdGlvbjx2b2lkICgpPiBjb21wbGV0aW9uSGFuZGxlcik7CisKIHByaXZhdGU6
CiAgICAgSURCU2VydmVyKElEQkJhY2tpbmdTdG9yZVRlbXBvcmFyeUZpbGVIYW5kbGVyJik7CiAg
ICAgSURCU2VydmVyKGNvbnN0IFN0cmluZyYgZGF0YWJhc2VEaXJlY3RvcnlQYXRoLCBJREJCYWNr
aW5nU3RvcmVUZW1wb3JhcnlGaWxlSGFuZGxlciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0luUHJvY2Vzc0lEQlNlcnZlci5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0luUHJvY2Vzc0lEQlNlcnZlci5oCmlu
ZGV4IDkzYTNmNDkuLjFhY2VkM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NoYXJlZC9JblByb2Nlc3NJREJTZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSW5Qcm9jZXNzSURCU2VydmVyLmgKQEAgLTUzLDYg
KzUzLDggQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIElEQkNsaWVudDo6SURCQ29ubmVj
dGlvblRvU2VydmVyJiBjb25uZWN0aW9uVG9TZXJ2ZXIoKSBjb25zdDsKICAgICBJREJTZXJ2ZXI6
OklEQkNvbm5lY3Rpb25Ub0NsaWVudCYgY29ubmVjdGlvblRvQ2xpZW50KCkgY29uc3Q7CiAKKyAg
ICBJREJTZXJ2ZXI6OklEQlNlcnZlciYgaWRiU2VydmVyKCkgeyByZXR1cm4gbV9zZXJ2ZXIuZ2V0
KCk7IH0KKwogICAgIC8vIElEQkNvbm5lY3Rpb25Ub1NlcnZlcgogICAgIHZvaWQgZGVsZXRlRGF0
YWJhc2UoY29uc3QgSURCUmVxdWVzdERhdGEmKSBmaW5hbDsKICAgICB2b2lkIG9wZW5EYXRhYmFz
ZShjb25zdCBJREJSZXF1ZXN0RGF0YSYpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAxZDY4N2U1Li40OTI4
YzFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE2LTA1LTE3ICBCcmFkeSBFaWRzb24g
IDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBNb2Rlcm4gSURCOiBNYWtlIFRlc3RSdW5u
ZXIuY2xlYXJBbGxEYXRhYmFzZXMgYWxzbyBkZWxldGUgSW5kZXhlZERCIGRhdGFiYXNlcyAob25j
ZSBkb2luZyBzbyBpcyBzdXBwb3J0ZWQpLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTU3ODIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBTdG9yYWdlL1dlYkRhdGFiYXNlUHJvdmlkZXIuY3BwOgorICAg
ICAgICAoV2ViRGF0YWJhc2VQcm92aWRlcjo6ZGVsZXRlQWxsRGF0YWJhc2VzKToKKyAgICAgICAg
KiBTdG9yYWdlL1dlYkRhdGFiYXNlUHJvdmlkZXIuaDoKKwogMjAxNi0wNC0yNSAgUGVyIEFybmUg
Vm9sbGFuICA8cGVhdm9Ab3V0bG9vay5jb20+CiAKICAgICAgICAgW1dpbl1bSW5kZXhlZERCXSBG
aXggYnVpbGQgZXJyb3JzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1dlYkRh
dGFiYXNlUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1dlYkRhdGFiYXNlUHJv
dmlkZXIuY3BwCmluZGV4IGZhZmFmMTIuLjlmMzgyNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU3RvcmFnZS9XZWJEYXRhYmFzZVByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0
b3JhZ2UvV2ViRGF0YWJhc2VQcm92aWRlci5jcHAKQEAgLTU2LDQgKzU2LDEwIEBAIFdlYkNvcmU6
OklEQkNsaWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVyJiBXZWJEYXRhYmFzZVByb3ZpZGVyOjpp
ZGJDb25uZWN0aW9uVG9TCiAKICAgICByZXR1cm4gcmVzdWx0Lml0ZXJhdG9yLT52YWx1ZS0+Y29u
bmVjdGlvblRvU2VydmVyKCk7CiB9CisKK3ZvaWQgV2ViRGF0YWJhc2VQcm92aWRlcjo6ZGVsZXRl
QWxsRGF0YWJhc2VzKCkKK3sKKyAgICBmb3IgKGF1dG8mIHNlcnZlciA6IG1faWRiU2VydmVyTWFw
LnZhbHVlcygpKQorICAgICAgICBzZXJ2ZXItPmlkYlNlcnZlcigpLmNsb3NlQW5kRGVsZXRlRGF0
YWJhc2VzTW9kaWZpZWRTaW5jZShzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1lX3BvaW50
OjptaW4oKSwgW10geyB9KTsKK30KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
dG9yYWdlL1dlYkRhdGFiYXNlUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9XZWJE
YXRhYmFzZVByb3ZpZGVyLmgKaW5kZXggZjMzZDU1YS4uMmE0ZWI5NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9TdG9yYWdlL1dlYkRhdGFiYXNlUHJvdmlkZXIuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1N0b3JhZ2UvV2ViRGF0YWJhc2VQcm92aWRlci5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTUsIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yMyw4ICsyMyw3IEBACiAgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRlZiBXZWJEYXRhYmFzZVBy
b3ZpZGVyX2gKLSNkZWZpbmUgV2ViRGF0YWJhc2VQcm92aWRlcl9oCisjcHJhZ21hIG9uY2UKIAog
I2luY2x1ZGUgPFdlYkNvcmUvRGF0YWJhc2VQcm92aWRlci5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+CkBAIC00Myw2ICs0Miw4IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShJTkRFWEVEX0RB
VEFCQVNFKQogICAgIFdlYkNvcmU6OklEQkNsaWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVyJiBp
ZGJDb25uZWN0aW9uVG9TZXJ2ZXJGb3JTZXNzaW9uKGNvbnN0IFdlYkNvcmU6OlNlc3Npb25JRCYp
IG92ZXJyaWRlOworCisgICAgdm9pZCBkZWxldGVBbGxEYXRhYmFzZXMoKTsKICNlbmRpZgogCiBw
cml2YXRlOgpAQCAtNTQsNSArNTUsMyBAQCBwcml2YXRlOgogICAgIEhhc2hNYXA8dWludDY0X3Qs
IFJlZlB0cjxXZWJDb3JlOjpJblByb2Nlc3NJREJTZXJ2ZXI+PiBtX2lkYlNlcnZlck1hcDsKICNl
bmRpZgogfTsKLQotI2VuZGlmIC8vIFdlYkRhdGFiYXNlUHJvdmlkZXJfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CmluZGV4IDMyZDE2NTEuLjBkNTIwMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBA
QAorMjAxNi0wNS0xNyAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgTW9kZXJuIElEQjogTWFrZSBUZXN0UnVubmVyLmNsZWFyQWxsRGF0YWJhc2VzIGFsc28gZGVs
ZXRlIEluZGV4ZWREQiBkYXRhYmFzZXMgKG9uY2UgZG9pbmcgc28gaXMgc3VwcG9ydGVkKS4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NzgyMworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU3RvcmFnZS9X
ZWJEYXRhYmFzZU1hbmFnZXIubW06CisgICAgICAgICgtW1dlYkRhdGFiYXNlTWFuYWdlciBkZWxl
dGVBbGxJbmRleGVkRGF0YWJhc2VzXSk6CisgICAgICAgICogU3RvcmFnZS9XZWJEYXRhYmFzZU1h
bmFnZXJQcml2YXRlLmg6CisKIDIwMTYtMDUtMTcgIEJldGggRGFraW4gIDxiZGFraW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIE1ha2UgaGFuZGxlQWNjZXB0ZWRDYW5kaWRhdGUgYSBwdWJsaWMgZnVu
Y3Rpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VN
YW5hZ2VyLm1tIGIvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZU1hbmFnZXIu
bW0KaW5kZXggMmZkMWFhNi4uZjNmMDc1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMv
U3RvcmFnZS9XZWJEYXRhYmFzZU1hbmFnZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvU3Rv
cmFnZS9XZWJEYXRhYmFzZU1hbmFnZXIubW0KQEAgLTM2LDYgKzM2LDEwIEBACiAjaW1wb3J0IDxX
ZWJDb3JlL1NlY3VyaXR5T3JpZ2luLmg+CiAjaW1wb3J0IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4K
IAorI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorI2ltcG9ydCAiV2ViRGF0YWJhc2VQcm92
aWRlci5oIgorI2VuZGlmCisKICNpZiBQTEFURk9STShJT1MpCiAjaW1wb3J0ICJXZWJEYXRhYmFz
ZU1hbmFnZXJJbnRlcm5hbC5oIgogI2ltcG9ydCA8V2ViQ29yZS9EYXRhYmFzZVRyYWNrZXIuaD4K
QEAgLTE1MSw2ICsxNTUsMTQgQEAgLSAoQk9PTClkZWxldGVEYXRhYmFzZTooTlNTdHJpbmcgKilk
YXRhYmFzZUlkZW50aWZpZXIgd2l0aE9yaWdpbjooV2ViU2VjdXJpdHlPcmkKICAgICByZXR1cm4g
RGF0YWJhc2VNYW5hZ2VyOjpzaW5nbGV0b24oKS5kZWxldGVEYXRhYmFzZShbb3JpZ2luIF9jb3Jl
XSwgZGF0YWJhc2VJZGVudGlmaWVyKTsKIH0KIAorLy8gRm9yIER1bXBSZW5kZXJUcmVlIHN1cHBv
cnQgb25seQorLSAodm9pZClkZWxldGVBbGxJbmRleGVkRGF0YWJhc2VzCit7CisjaWYgRU5BQkxF
KElOREVYRURfREFUQUJBU0UpCisgICAgV2ViRGF0YWJhc2VQcm92aWRlcjo6c2luZ2xldG9uKCku
ZGVsZXRlQWxsRGF0YWJhc2VzKCk7CisjZW5kaWYKK30KKwogI2lmIFBMQVRGT1JNKElPUykKIHN0
YXRpYyBib29sIGlzRmlsZUhpZGRlbihOU1N0cmluZyAqZmlsZSkKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VNYW5hZ2VyUHJpdmF0ZS5oIGIvU291
cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZU1hbmFnZXJQcml2YXRlLmgKaW5kZXgg
OTM4OWFhMS4uOTM5YjRjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9X
ZWJEYXRhYmFzZU1hbmFnZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvU3RvcmFn
ZS9XZWJEYXRhYmFzZU1hbmFnZXJQcml2YXRlLmgKQEAgLTY4LDYgKzY4LDkgQEAgZXh0ZXJuIENG
U3RyaW5nUmVmIFdlYkRhdGFiYXNlT3JpZ2luc0RpZENoYW5nZU5vdGlmaWNhdGlvbjsKIC0gKEJP
T0wpZGVsZXRlT3JpZ2luOihXZWJTZWN1cml0eU9yaWdpbiAqKW9yaWdpbjsKIC0gKEJPT0wpZGVs
ZXRlRGF0YWJhc2U6KE5TU3RyaW5nICopZGF0YWJhc2VJZGVudGlmaWVyIHdpdGhPcmlnaW46KFdl
YlNlY3VyaXR5T3JpZ2luICopb3JpZ2luOwogCisvLyBGb3IgRHVtcFJlbmRlclRyZWUgc3VwcG9y
dCBvbmx5CistICh2b2lkKWRlbGV0ZUFsbEluZGV4ZWREYXRhYmFzZXM7CisKICNpZiBUQVJHRVRf
T1NfSVBIT05FCiArICh2b2lkKXNjaGVkdWxlRW1wdHlEYXRhYmFzZVJlbW92YWw7CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA1OWE1NTk4Li4yM2E2YzhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTYtMDUtMTcgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIE1vZGVybiBJREI6IE1ha2UgVGVzdFJ1bm5lci5jbGVhckFsbERhdGFiYXNlcyBhbHNvIGRl
bGV0ZSBJbmRleGVkREIgZGF0YWJhc2VzIChvbmNlIGRvaW5nIHNvIGlzIHN1cHBvcnRlZCkuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTc4MjMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuY3BwOgorICAgICAgICAoV0tXZWJzaXRlRGF0
YVN0b3JlUmVtb3ZlQWxsSW5kZXhlZERhdGFiYXNlcyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5oOgorCiAyMDE2LTA1LTE3ICBCZXRoIERha2luICA8
YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIGhhbmRsZUFjY2VwdGVkQ2FuZGlkYXRl
IGEgcHVibGljIGZ1bmN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuY3BwCmluZGV4IGU4Y2Y3NjEuLmI5YWEwZDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRh
U3RvcmVSZWYuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNp
dGVEYXRhU3RvcmVSZWYuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJBUElXZWJz
aXRlRGF0YVN0b3JlLmgiCiAjaW5jbHVkZSAiV0tBUElDYXN0LmgiCisjaW5jbHVkZSAiV2Vic2l0
ZURhdGFUeXBlLmgiCiAKIFdLVHlwZUlEIFdLV2Vic2l0ZURhdGFTdG9yZUdldFR5cGVJRCgpCiB7
CkBAIC01NCwzICs1NSw4IEBAIGJvb2wgV0tXZWJzaXRlRGF0YVN0b3JlR2V0UmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0VuYWJsZWQoV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhCiAgICAgcmV0dXJuIFdl
YktpdDo6dG9JbXBsKGRhdGFTdG9yZVJlZiktPnJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVk
KCk7CiB9CiAKK3ZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlUmVtb3ZlQWxsSW5kZXhlZERhdGFiYXNl
cyhXS1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVmKQoreworICAgIE9wdGlvblNldDxX
ZWJLaXQ6OldlYnNpdGVEYXRhVHlwZT4gZGF0YVR5cGVzID0gV2ViS2l0OjpXZWJzaXRlRGF0YVR5
cGU6OkluZGV4ZWREQkRhdGFiYXNlczsKKyAgICByZXR1cm4gV2ViS2l0Ojp0b0ltcGwoZGF0YVN0
b3JlUmVmKS0+d2Vic2l0ZURhdGFTdG9yZSgpLnJlbW92ZURhdGEoZGF0YVR5cGVzLCBzdGQ6OmNo
cm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1lX3BvaW50OjptaW4oKSwgW10geyB9KTsKK30KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVS
ZWYuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVS
ZWYuaAppbmRleCAyNGYxYmU0Li5kYTU3ODM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmgKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5oCkBAIC0zOSw2ICszOSw3
IEBAIFdLX0VYUE9SVCBXS1dlYnNpdGVEYXRhU3RvcmVSZWYgV0tXZWJzaXRlRGF0YVN0b3JlQ3Jl
YXRlTm9uUGVyc2lzdGVudERhdGFTdG9yZSgpCiAKIFdLX0VYUE9SVCBib29sIFdLV2Vic2l0ZURh
dGFTdG9yZUdldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKFdLV2Vic2l0ZURhdGFTdG9y
ZVJlZiBkYXRhU3RvcmVSZWYpOwogV0tfRVhQT1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlU2V0
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFT
dG9yZVJlZiwgYm9vbCBlbmFibGUpOworV0tfRVhQT1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3Jl
UmVtb3ZlQWxsSW5kZXhlZERhdGFiYXNlcyhXS1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0b3Jl
UmVmKTsKIAogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZWEwZTAxZi4uYjhhMzFkZiAxMDA2NDQKLS0tIGEv
VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisy
MDE2LTA1LTE3ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBN
b2Rlcm4gSURCOiBNYWtlIFRlc3RSdW5uZXIuY2xlYXJBbGxEYXRhYmFzZXMgYWxzbyBkZWxldGUg
SW5kZXhlZERCIGRhdGFiYXNlcyAob25jZSBkb2luZyBzbyBpcyBzdXBwb3J0ZWQpLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3ODIzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9tYWMvVGVzdFJ1bm5lck1hYy5tbToKKyAgICAgICAgKFRlc3RSdW5uZXI6OmNsZWFyQWxsRGF0
YWJhc2VzKToKKyAgICAgICAgCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9UZXN0UnVubmVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6Y2xlYXJBbGxE
YXRhYmFzZXMpOgorICAgICAgICAKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZv
Y2F0aW9uLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdEludm9jYXRpb246OmRpZFJlY2VpdmVTeW5j
aHJvbm91c01lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUpOgorCiAyMDE2LTA1LTE3ICBCZXRoIERh
a2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIGhhbmRsZUFjY2VwdGVkQ2Fu
ZGlkYXRlIGEgcHVibGljIGZ1bmN0aW9uCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvVGVzdFJ1bm5lck1hYy5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVu
bmVyTWFjLm1tCmluZGV4IDQxYWNlOGIuLmU0ZjUyNDggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFjLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L21hYy9UZXN0UnVubmVyTWFjLm1tCkBAIC0xOTcsNiArMTk3LDcgQEAgSlNWYWx1ZVJlZiBUZXN0
UnVubmVyOjpvcmlnaW5zV2l0aEFwcGxpY2F0aW9uQ2FjaGUoSlNDb250ZXh0UmVmIGNvbnRleHQp
CiB2b2lkIFRlc3RSdW5uZXI6OmNsZWFyQWxsRGF0YWJhc2VzKCkKIHsKICAgICBbW1dlYkRhdGFi
YXNlTWFuYWdlciBzaGFyZWRXZWJEYXRhYmFzZU1hbmFnZXJdIGRlbGV0ZUFsbERhdGFiYXNlc107
CisgICAgW1tXZWJEYXRhYmFzZU1hbmFnZXIgc2hhcmVkV2ViRGF0YWJhc2VNYW5hZ2VyXSBkZWxl
dGVBbGxJbmRleGVkRGF0YWJhc2VzXTsKIH0KIAogdm9pZCBUZXN0UnVubmVyOjpzZXRTdG9yYWdl
RGF0YWJhc2VJZGxlSW50ZXJ2YWwoZG91YmxlIGludGVydmFsKQpkaWZmIC0tZ2l0IGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcCBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKaW5kZXggZmNmNDk5
MC4uZDkxODFmMiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9UZXN0UnVubmVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL1Rlc3RSdW5uZXIuY3BwCkBAIC0yNTIsNiArMjUyLDExIEBAIGJvb2wgVGVzdFJ1bm5l
cjo6ZmluZFN0cmluZyhKU1N0cmluZ1JlZiB0YXJnZXQsIEpTVmFsdWVSZWYgb3B0aW9uc0FycmF5
QXNWYWx1ZSkKIHZvaWQgVGVzdFJ1bm5lcjo6Y2xlYXJBbGxEYXRhYmFzZXMoKQogewogICAgIFdL
QnVuZGxlQ2xlYXJBbGxEYXRhYmFzZXMoSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLmJ1bmRs
ZSgpKTsKKworICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBtZXNzYWdlTmFtZShBZG9wdFdL
LCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiRGVsZXRlQWxsSW5kZXhlZERhdGFiYXNl
cyIpKTsKKyAgICBXS1JldGFpblB0cjxXS0Jvb2xlYW5SZWY+IG1lc3NhZ2VCb2R5KEFkb3B0V0ss
IFdLQm9vbGVhbkNyZWF0ZSh0cnVlKSk7CisKKyAgICBXS0J1bmRsZVBvc3RTeW5jaHJvbm91c01l
c3NhZ2UoSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLmJ1bmRsZSgpLCBtZXNzYWdlTmFtZS5n
ZXQoKSwgbWVzc2FnZUJvZHkuZ2V0KCksIDApOwogfQogCiB2b2lkIFRlc3RSdW5uZXI6OnNldERh
dGFiYXNlUXVvdGEodWludDY0X3QgcXVvdGEpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdElu
dm9jYXRpb24uY3BwCmluZGV4IDg3M2E5ZDUuLjYzYzk3YjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvVGVzdEludm9jYXRpb24uY3BwCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSA8V2Vi
S2l0L1dLSW5zcGVjdG9yLmg+CiAjaW5jbHVkZSA8V2ViS2l0L1dLUGFnZVByaXZhdGUuaD4KICNp
bmNsdWRlIDxXZWJLaXQvV0tSZXRhaW5QdHIuaD4KKyNpbmNsdWRlIDxXZWJLaXQvV0tXZWJzaXRl
RGF0YVN0b3JlUmVmLmg+CiAjaW5jbHVkZSA8Y2xpbWl0cz4KICNpbmNsdWRlIDxjc3RkaW8+CiAj
aW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgpAQCAtNzE0LDYgKzcxNSwxMSBAQCBXS1JldGFp
blB0cjxXS1R5cGVSZWY+IFRlc3RJbnZvY2F0aW9uOjpkaWRSZWNlaXZlU3luY2hyb25vdXNNZXNz
YWdlRnJvbUluamVjdGVkQgogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KICAgICAKKyAg
ICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwgIkRlbGV0ZUFs
bEluZGV4ZWREYXRhYmFzZXMiKSkgeworICAgICAgICBXS1dlYnNpdGVEYXRhU3RvcmVSZW1vdmVB
bGxJbmRleGVkRGF0YWJhc2VzKFdLQ29udGV4dEdldFdlYnNpdGVEYXRhU3RvcmUoVGVzdENvbnRy
b2xsZXI6OnNpbmdsZXRvbigpLmNvbnRleHQoKSkpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KyAgICB9CisKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gbnVsbHB0cjsK
IH0K
</data>
<flag name="review"
          id="303249"
          type_id="1"
          status="+"
          setter="achristensen"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>279255</attachid>
            <date>2016-05-18 08:52:34 -0700</date>
            <delta_ts>2016-05-18 08:52:54 -0700</delta_ts>
            <desc>Patch for ES</desc>
            <filename>patch</filename>
            <type>application/octet-stream</type>
            <size>14149</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAwYjBkMjllLi4yMjQ0Y2Y2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTYtMDUtMTcgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIE1vZGVybiBJREI6IE1ha2UgVGVzdFJ1bm5lci5jbGVhckFsbERhdGFiYXNlcyBhbHNvIGRl
bGV0ZSBJbmRleGVkREIgZGF0YWJhc2VzIChvbmNlIGRvaW5nIHNvIGlzIHN1cHBvcnRlZCkuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTc4MjMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cyAoTm8gY3VycmVudCBiZWhhdmlvciBjaGFuZ2UsIHdpbGwgYmUgdGVzdGVkIHdpdGggYi8x
NTc2MjYncyByZXNvbHV0aW9uKS4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZl
ci9JREJTZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpJREJTZXJ2ZXI6
OmNsb3NlQW5kRGVsZXRlRGF0YWJhc2VzTW9kaWZpZWRTaW5jZSk6IFN0dWIgdGhpcyBvdXQgZm9y
IG5vdy4KKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmg6Cisg
ICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0luUHJvY2Vzc0lEQlNlcnZlci5oOgor
CiAyMDE2LTA1LTE3ICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBN
YWtlIGhhbmRsZUFjY2VwdGVkQ2FuZGlkYXRlIGEgcHVibGljIGZ1bmN0aW9uCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIuY3BwCmlu
ZGV4IDNmZDYwYTcuLjIxYmE3NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIuY3BwCkBAIC00NjgsNiArNDY4LDEyIEBAIHZv
aWQgSURCU2VydmVyOjpoYW5kbGVUYXNrUmVwbGllc09uTWFpblRocmVhZCgpCiAgICAgICAgIHRh
c2stPnBlcmZvcm1UYXNrKCk7CiB9CiAKK3ZvaWQgSURCU2VydmVyOjpjbG9zZUFuZERlbGV0ZURh
dGFiYXNlc01vZGlmaWVkU2luY2Uoc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2lu
dCwgc3RkOjpmdW5jdGlvbjx2b2lkICgpPiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICAvLyBG
SVhNRTogSW1wbGVtZW50IChodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTU3NjI2KQorICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIElE
QlNlcnZlcgogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmgKaW5kZXggZWZmYTgwNy4uOGNl
ZTM4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVy
L0lEQlNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZl
ci9JREJTZXJ2ZXIuaApAQCAtOTYsNiArOTYsOCBAQCBwdWJsaWM6CiAKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8SURCQmFja2luZ1N0b3JlPiBjcmVhdGVCYWNraW5nU3RvcmUoY29uc3QgSURCRGF0YWJh
c2VJZGVudGlmaWVyJik7CiAKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGNsb3NlQW5kRGVsZXRl
RGF0YWJhc2VzTW9kaWZpZWRTaW5jZShzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1lX3Bv
aW50LCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+IGNvbXBsZXRpb25IYW5kbGVyKTsKKwogcHJpdmF0
ZToKICAgICBJREJTZXJ2ZXIoSURCQmFja2luZ1N0b3JlVGVtcG9yYXJ5RmlsZUhhbmRsZXImKTsK
ICAgICBJREJTZXJ2ZXIoY29uc3QgU3RyaW5nJiBkYXRhYmFzZURpcmVjdG9yeVBhdGgsIElEQkJh
Y2tpbmdTdG9yZVRlbXBvcmFyeUZpbGVIYW5kbGVyJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSW5Qcm9jZXNzSURCU2VydmVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSW5Qcm9jZXNzSURCU2VydmVyLmgK
aW5kZXggOTNhM2Y0OS4uMWFjZWQzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvc2hhcmVkL0luUHJvY2Vzc0lEQlNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JblByb2Nlc3NJREJTZXJ2ZXIuaApAQCAtNTMs
NiArNTMsOCBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgSURCQ2xpZW50OjpJREJDb25u
ZWN0aW9uVG9TZXJ2ZXImIGNvbm5lY3Rpb25Ub1NlcnZlcigpIGNvbnN0OwogICAgIElEQlNlcnZl
cjo6SURCQ29ubmVjdGlvblRvQ2xpZW50JiBjb25uZWN0aW9uVG9DbGllbnQoKSBjb25zdDsKIAor
ICAgIElEQlNlcnZlcjo6SURCU2VydmVyJiBpZGJTZXJ2ZXIoKSB7IHJldHVybiBtX3NlcnZlci5n
ZXQoKTsgfQorCiAgICAgLy8gSURCQ29ubmVjdGlvblRvU2VydmVyCiAgICAgdm9pZCBkZWxldGVE
YXRhYmFzZShjb25zdCBJREJSZXF1ZXN0RGF0YSYpIGZpbmFsOwogICAgIHZvaWQgb3BlbkRhdGFi
YXNlKGNvbnN0IElEQlJlcXVlc3REYXRhJikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDFkNjg3ZTUuLjkz
N2I1ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTYtMDUtMTcgIEJyYWR5IEVpZHNv
biAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIE1vZGVybiBJREI6IE1ha2UgVGVzdFJ1
bm5lci5jbGVhckFsbERhdGFiYXNlcyBhbHNvIGRlbGV0ZSBJbmRleGVkREIgZGF0YWJhc2VzIChv
bmNlIGRvaW5nIHNvIGlzIHN1cHBvcnRlZCkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNTc4MjMKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENo
cmlzdGVuc2VuLgorCisgICAgICAgICogU3RvcmFnZS9XZWJEYXRhYmFzZVByb3ZpZGVyLmNwcDoK
KyAgICAgICAgKFdlYkRhdGFiYXNlUHJvdmlkZXI6OmRlbGV0ZUFsbERhdGFiYXNlcyk6CisgICAg
ICAgICogU3RvcmFnZS9XZWJEYXRhYmFzZVByb3ZpZGVyLmg6CisKIDIwMTYtMDQtMjUgIFBlciBB
cm5lIFZvbGxhbiAgPHBlYXZvQG91dGxvb2suY29tPgogCiAgICAgICAgIFtXaW5dW0luZGV4ZWRE
Ql0gRml4IGJ1aWxkIGVycm9ycy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9X
ZWJEYXRhYmFzZVByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9XZWJEYXRhYmFz
ZVByb3ZpZGVyLmNwcAppbmRleCBmYWZhZjEyLi45ZjM4Mjc3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1N0b3JhZ2UvV2ViRGF0YWJhc2VQcm92aWRlci5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9TdG9yYWdlL1dlYkRhdGFiYXNlUHJvdmlkZXIuY3BwCkBAIC01Niw0ICs1NiwxMCBAQCBXZWJD
b3JlOjpJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlciYgV2ViRGF0YWJhc2VQcm92aWRl
cjo6aWRiQ29ubmVjdGlvblRvUwogCiAgICAgcmV0dXJuIHJlc3VsdC5pdGVyYXRvci0+dmFsdWUt
PmNvbm5lY3Rpb25Ub1NlcnZlcigpOwogfQorCit2b2lkIFdlYkRhdGFiYXNlUHJvdmlkZXI6OmRl
bGV0ZUFsbERhdGFiYXNlcygpCit7CisgICAgZm9yIChhdXRvJiBzZXJ2ZXIgOiBtX2lkYlNlcnZl
ck1hcC52YWx1ZXMoKSkKKyAgICAgICAgc2VydmVyLT5pZGJTZXJ2ZXIoKS5jbG9zZUFuZERlbGV0
ZURhdGFiYXNlc01vZGlmaWVkU2luY2Uoc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9w
b2ludDo6bWluKCksIFtdIHsgfSk7Cit9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU3RvcmFnZS9XZWJEYXRhYmFzZVByb3ZpZGVyLmggYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2Uv
V2ViRGF0YWJhc2VQcm92aWRlci5oCmluZGV4IGYzM2Q1NWEuLjJhNGViOTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9XZWJEYXRhYmFzZVByb3ZpZGVyLmgKKysrIGIvU291cmNl
L1dlYktpdC9TdG9yYWdlL1dlYkRhdGFiYXNlUHJvdmlkZXIuaApAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDE1LCAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjMsOCArMjMsNyBAQAogICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5kZWYgV2ViRGF0YWJh
c2VQcm92aWRlcl9oCi0jZGVmaW5lIFdlYkRhdGFiYXNlUHJvdmlkZXJfaAorI3ByYWdtYSBvbmNl
CiAKICNpbmNsdWRlIDxXZWJDb3JlL0RhdGFiYXNlUHJvdmlkZXIuaD4KICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgpAQCAtNDMsNiArNDIsOCBAQCBwdWJsaWM6CiAKICNpZiBFTkFCTEUoSU5ERVhF
RF9EQVRBQkFTRSkKICAgICBXZWJDb3JlOjpJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZl
ciYgaWRiQ29ubmVjdGlvblRvU2VydmVyRm9yU2Vzc2lvbihjb25zdCBXZWJDb3JlOjpTZXNzaW9u
SUQmKSBvdmVycmlkZTsKKworICAgIHZvaWQgZGVsZXRlQWxsRGF0YWJhc2VzKCk7CiAjZW5kaWYK
IAogcHJpdmF0ZToKQEAgLTU0LDUgKzU1LDMgQEAgcHJpdmF0ZToKICAgICBIYXNoTWFwPHVpbnQ2
NF90LCBSZWZQdHI8V2ViQ29yZTo6SW5Qcm9jZXNzSURCU2VydmVyPj4gbV9pZGJTZXJ2ZXJNYXA7
CiAjZW5kaWYKIH07Ci0KLSNlbmRpZiAvLyBXZWJEYXRhYmFzZVByb3ZpZGVyX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZwppbmRleCAzMmQxNjUxLi5iNGYwZWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTQgQEAKKzIwMTYtMDUtMTcgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisg
ICAgICAgIE1vZGVybiBJREI6IE1ha2UgVGVzdFJ1bm5lci5jbGVhckFsbERhdGFiYXNlcyBhbHNv
IGRlbGV0ZSBJbmRleGVkREIgZGF0YWJhc2VzIChvbmNlIGRvaW5nIHNvIGlzIHN1cHBvcnRlZCku
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTc4MjMK
KworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgICogU3Rv
cmFnZS9XZWJEYXRhYmFzZU1hbmFnZXIubW06CisgICAgICAgICgtW1dlYkRhdGFiYXNlTWFuYWdl
ciBkZWxldGVBbGxJbmRleGVkRGF0YWJhc2VzXSk6CisgICAgICAgICogU3RvcmFnZS9XZWJEYXRh
YmFzZU1hbmFnZXJQcml2YXRlLmg6CisKIDIwMTYtMDUtMTcgIEJldGggRGFraW4gIDxiZGFraW5A
YXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgaGFuZGxlQWNjZXB0ZWRDYW5kaWRhdGUgYSBwdWJs
aWMgZnVuY3Rpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0
YWJhc2VNYW5hZ2VyLm1tIGIvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZU1h
bmFnZXIubW0KaW5kZXggMmZkMWFhNi4uZjNmMDc1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZU1hbmFnZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9t
YWMvU3RvcmFnZS9XZWJEYXRhYmFzZU1hbmFnZXIubW0KQEAgLTM2LDYgKzM2LDEwIEBACiAjaW1w
b3J0IDxXZWJDb3JlL1NlY3VyaXR5T3JpZ2luLmg+CiAjaW1wb3J0IDx3dGYvTmV2ZXJEZXN0cm95
ZWQuaD4KIAorI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorI2ltcG9ydCAiV2ViRGF0YWJh
c2VQcm92aWRlci5oIgorI2VuZGlmCisKICNpZiBQTEFURk9STShJT1MpCiAjaW1wb3J0ICJXZWJE
YXRhYmFzZU1hbmFnZXJJbnRlcm5hbC5oIgogI2ltcG9ydCA8V2ViQ29yZS9EYXRhYmFzZVRyYWNr
ZXIuaD4KQEAgLTE1MSw2ICsxNTUsMTQgQEAgLSAoQk9PTClkZWxldGVEYXRhYmFzZTooTlNTdHJp
bmcgKilkYXRhYmFzZUlkZW50aWZpZXIgd2l0aE9yaWdpbjooV2ViU2VjdXJpdHlPcmkKICAgICBy
ZXR1cm4gRGF0YWJhc2VNYW5hZ2VyOjpzaW5nbGV0b24oKS5kZWxldGVEYXRhYmFzZShbb3JpZ2lu
IF9jb3JlXSwgZGF0YWJhc2VJZGVudGlmaWVyKTsKIH0KIAorLy8gRm9yIER1bXBSZW5kZXJUcmVl
IHN1cHBvcnQgb25seQorLSAodm9pZClkZWxldGVBbGxJbmRleGVkRGF0YWJhc2VzCit7CisjaWYg
RU5BQkxFKElOREVYRURfREFUQUJBU0UpCisgICAgV2ViRGF0YWJhc2VQcm92aWRlcjo6c2luZ2xl
dG9uKCkuZGVsZXRlQWxsRGF0YWJhc2VzKCk7CisjZW5kaWYKK30KKwogI2lmIFBMQVRGT1JNKElP
UykKIHN0YXRpYyBib29sIGlzRmlsZUhpZGRlbihOU1N0cmluZyAqZmlsZSkKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VNYW5hZ2VyUHJpdmF0ZS5o
IGIvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZU1hbmFnZXJQcml2YXRlLmgK
aW5kZXggOTM4OWFhMS4uOTM5YjRjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvU3Rv
cmFnZS9XZWJEYXRhYmFzZU1hbmFnZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMv
U3RvcmFnZS9XZWJEYXRhYmFzZU1hbmFnZXJQcml2YXRlLmgKQEAgLTY4LDYgKzY4LDkgQEAgZXh0
ZXJuIENGU3RyaW5nUmVmIFdlYkRhdGFiYXNlT3JpZ2luc0RpZENoYW5nZU5vdGlmaWNhdGlvbjsK
IC0gKEJPT0wpZGVsZXRlT3JpZ2luOihXZWJTZWN1cml0eU9yaWdpbiAqKW9yaWdpbjsKIC0gKEJP
T0wpZGVsZXRlRGF0YWJhc2U6KE5TU3RyaW5nICopZGF0YWJhc2VJZGVudGlmaWVyIHdpdGhPcmln
aW46KFdlYlNlY3VyaXR5T3JpZ2luICopb3JpZ2luOwogCisvLyBGb3IgRHVtcFJlbmRlclRyZWUg
c3VwcG9ydCBvbmx5CistICh2b2lkKWRlbGV0ZUFsbEluZGV4ZWREYXRhYmFzZXM7CisKICNpZiBU
QVJHRVRfT1NfSVBIT05FCiArICh2b2lkKXNjaGVkdWxlRW1wdHlEYXRhYmFzZVJlbW92YWw7CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0IGIvU291cmNl
L1dlYktpdDIvQ01ha2VMaXN0cy50eHQKaW5kZXggM2Q0ZDlkOC4uNWJjMTYxZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYktpdDIvQ01h
a2VMaXN0cy50eHQKQEAgLTQ2Miw2ICs0NjIsNyBAQCBzZXQoV2ViS2l0Ml9TT1VSQ0VTCiAgICAg
VUlQcm9jZXNzL0FQSS9DL1dLVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3QuY3BwCiAgICAgVUlQ
cm9jZXNzL0FQSS9DL1dLVmlicmF0aW9uLmNwcAogICAgIFVJUHJvY2Vzcy9BUEkvQy9XS1ZpZXdw
b3J0QXR0cmlidXRlcy5jcHAKKyAgICBVSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3Jl
UmVmLmNwcAogICAgIFVJUHJvY2Vzcy9BUEkvQy9XS1dpbmRvd0ZlYXR1cmVzUmVmLmNwcAogCiAg
ICAgVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHku
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKaW5kZXggNTlhNTU5OC4uYzVjMmNhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE1IEBACisyMDE2LTA1LTE3ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKwor
ICAgICAgICBNb2Rlcm4gSURCOiBNYWtlIFRlc3RSdW5uZXIuY2xlYXJBbGxEYXRhYmFzZXMgYWxz
byBkZWxldGUgSW5kZXhlZERCIGRhdGFiYXNlcyAob25jZSBkb2luZyBzbyBpcyBzdXBwb3J0ZWQp
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3ODIz
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICAqIENN
YWtlTGlzdHMudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3Rv
cmVSZWYuY3BwOgorICAgICAgICAoV0tXZWJzaXRlRGF0YVN0b3JlUmVtb3ZlQWxsSW5kZXhlZERh
dGFiYXNlcyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJl
Zi5oOgorCiAyMDE2LTA1LTE3ICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAg
ICAgICBNYWtlIGhhbmRsZUFjY2VwdGVkQ2FuZGlkYXRlIGEgcHVibGljIGZ1bmN0aW9uCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3Jl
UmVmLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3Rv
cmVSZWYuY3BwCmluZGV4IGU4Y2Y3NjEuLmE3N2MxYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuY3BwCkBAIC0y
OCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJBUElXZWJzaXRlRGF0YVN0b3JlLmgiCiAjaW5jbHVk
ZSAiV0tBUElDYXN0LmgiCisjaW5jbHVkZSAiV2Vic2l0ZURhdGFUeXBlLmgiCiAKIFdLVHlwZUlE
IFdLV2Vic2l0ZURhdGFTdG9yZUdldFR5cGVJRCgpCiB7CkBAIC01NCwzICs1NSw4IEBAIGJvb2wg
V0tXZWJzaXRlRGF0YVN0b3JlR2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoV0tXZWJz
aXRlRGF0YVN0b3JlUmVmIGRhCiAgICAgcmV0dXJuIFdlYktpdDo6dG9JbXBsKGRhdGFTdG9yZVJl
ZiktPnJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKCk7CiB9CiAKK3ZvaWQgV0tXZWJzaXRl
RGF0YVN0b3JlUmVtb3ZlQWxsSW5kZXhlZERhdGFiYXNlcyhXS1dlYnNpdGVEYXRhU3RvcmVSZWYg
ZGF0YVN0b3JlUmVmKQoreworICAgIE9wdGlvblNldDxXZWJLaXQ6OldlYnNpdGVEYXRhVHlwZT4g
ZGF0YVR5cGVzID0gV2ViS2l0OjpXZWJzaXRlRGF0YVR5cGU6OkluZGV4ZWREQkRhdGFiYXNlczsK
KyAgICBXZWJLaXQ6OnRvSW1wbChkYXRhU3RvcmVSZWYpLT53ZWJzaXRlRGF0YVN0b3JlKCkucmVt
b3ZlRGF0YShkYXRhVHlwZXMsIHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQ6
Om1pbigpLCBbXSB7IH0pOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5oCmluZGV4IDI0ZjFiZTQuLmRhNTc4MzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3Rv
cmVSZWYuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0
YVN0b3JlUmVmLmgKQEAgLTM5LDYgKzM5LDcgQEAgV0tfRVhQT1JUIFdLV2Vic2l0ZURhdGFTdG9y
ZVJlZiBXS1dlYnNpdGVEYXRhU3RvcmVDcmVhdGVOb25QZXJzaXN0ZW50RGF0YVN0b3JlKCkKIAog
V0tfRVhQT1JUIGJvb2wgV0tXZWJzaXRlRGF0YVN0b3JlR2V0UmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0VuYWJsZWQoV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZik7CiBXS19FWFBPUlQg
dm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChX
S1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVmLCBib29sIGVuYWJsZSk7CitXS19FWFBP
UlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVSZW1vdmVBbGxJbmRleGVkRGF0YWJhc2VzKFdLV2Vi
c2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYpOwogCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0K
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBlYTBl
MDFmLi5kZDc3ZDc2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTYtMDUtMTcgIEJyYWR5IEVpZHNvbiAgPGJlaWRz
b25AYXBwbGUuY29tPgorCisgICAgICAgIE1vZGVybiBJREI6IE1ha2UgVGVzdFJ1bm5lci5jbGVh
ckFsbERhdGFiYXNlcyBhbHNvIGRlbGV0ZSBJbmRleGVkREIgZGF0YWJhc2VzIChvbmNlIGRvaW5n
IHNvIGlzIHN1cHBvcnRlZCkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNTc4MjMKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2Vu
LgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW06CisgICAg
ICAgIChUZXN0UnVubmVyOjpjbGVhckFsbERhdGFiYXNlcyk6CisgICAgICAgIAorICAgICAgICAq
IFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHA6CisgICAgICAg
IChXVFI6OlRlc3RSdW5uZXI6OmNsZWFyQWxsRGF0YWJhc2VzKToKKyAgICAgICAgCisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHA6CisgICAgICAgIChXVFI6OlRl
c3RJbnZvY2F0aW9uOjpkaWRSZWNlaXZlU3luY2hyb25vdXNNZXNzYWdlRnJvbUluamVjdGVkQnVu
ZGxlKToKKwogMjAxNi0wNS0xNyAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgTWFrZSBoYW5kbGVBY2NlcHRlZENhbmRpZGF0ZSBhIHB1YmxpYyBmdW5jdGlvbgpkaWZm
IC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW0gYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5lck1hYy5tbQppbmRleCA0MWFjZThiLi5lNGY1
MjQ4IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5lck1hYy5t
bQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5lck1hYy5tbQpAQCAtMTk3
LDYgKzE5Nyw3IEBAIEpTVmFsdWVSZWYgVGVzdFJ1bm5lcjo6b3JpZ2luc1dpdGhBcHBsaWNhdGlv
bkNhY2hlKEpTQ29udGV4dFJlZiBjb250ZXh0KQogdm9pZCBUZXN0UnVubmVyOjpjbGVhckFsbERh
dGFiYXNlcygpCiB7CiAgICAgW1tXZWJEYXRhYmFzZU1hbmFnZXIgc2hhcmVkV2ViRGF0YWJhc2VN
YW5hZ2VyXSBkZWxldGVBbGxEYXRhYmFzZXNdOworICAgIFtbV2ViRGF0YWJhc2VNYW5hZ2VyIHNo
YXJlZFdlYkRhdGFiYXNlTWFuYWdlcl0gZGVsZXRlQWxsSW5kZXhlZERhdGFiYXNlc107CiB9CiAK
IHZvaWQgVGVzdFJ1bm5lcjo6c2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKGRvdWJsZSBp
bnRlcnZhbCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvVGVzdFJ1bm5lci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L1Rlc3RSdW5uZXIuY3BwCmluZGV4IGZjZjQ5OTAuLjc5ZGQ1OGIgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKKysrIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcApAQCAtMjUy
LDYgKzI1MiwxMSBAQCBib29sIFRlc3RSdW5uZXI6OmZpbmRTdHJpbmcoSlNTdHJpbmdSZWYgdGFy
Z2V0LCBKU1ZhbHVlUmVmIG9wdGlvbnNBcnJheUFzVmFsdWUpCiB2b2lkIFRlc3RSdW5uZXI6OmNs
ZWFyQWxsRGF0YWJhc2VzKCkKIHsKICAgICBXS0J1bmRsZUNsZWFyQWxsRGF0YWJhc2VzKEluamVj
dGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5kbGUoKSk7CisKKyAgICBXS1JldGFpblB0cjxXS1N0
cmluZ1JlZj4gbWVzc2FnZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJp
bmcoIkRlbGV0ZUFsbEluZGV4ZWREYXRhYmFzZXMiKSk7CisgICAgV0tSZXRhaW5QdHI8V0tCb29s
ZWFuUmVmPiBtZXNzYWdlQm9keShBZG9wdFdLLCBXS0Jvb2xlYW5DcmVhdGUodHJ1ZSkpOworCisg
ICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0
b24oKS5idW5kbGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpLCBudWxs
cHRyKTsKIH0KIAogdm9pZCBUZXN0UnVubmVyOjpzZXREYXRhYmFzZVF1b3RhKHVpbnQ2NF90IHF1
b3RhKQpAQCAtNjgzLDcgKzY4OCw3IEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0QWx3YXlzQWNjZXB0
Q29va2llcyhib29sIGFjY2VwdCkKIAogICAgIFdLUmV0YWluUHRyPFdLQm9vbGVhblJlZj4gbWVz
c2FnZUJvZHkoQWRvcHRXSywgV0tCb29sZWFuQ3JlYXRlKGFjY2VwdCkpOwogCi0gICAgV0tCdW5k
bGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5k
bGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpLCAwKTsKKyAgICBXS0J1
bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2UoSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLmJ1
bmRsZSgpLCBtZXNzYWdlTmFtZS5nZXQoKSwgbWVzc2FnZUJvZHkuZ2V0KCksIG51bGxwdHIpOwog
fQogCiBkb3VibGUgVGVzdFJ1bm5lcjo6cHJlY2lzZVRpbWUoKQpkaWZmIC0tZ2l0IGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAppbmRleCA4NzNhOWQ1Li42M2M5N2I2IDEwMDY0NAotLS0g
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAorKysgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcApAQCAtMzgsNiArMzgsNyBAQAogI2lu
Y2x1ZGUgPFdlYktpdC9XS0luc3BlY3Rvci5oPgogI2luY2x1ZGUgPFdlYktpdC9XS1BhZ2VQcml2
YXRlLmg+CiAjaW5jbHVkZSA8V2ViS2l0L1dLUmV0YWluUHRyLmg+CisjaW5jbHVkZSA8V2ViS2l0
L1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5oPgogI2luY2x1ZGUgPGNsaW1pdHM+CiAjaW5jbHVkZSA8
Y3N0ZGlvPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KQEAgLTcxNCw2ICs3MTUsMTEg
QEAgV0tSZXRhaW5QdHI8V0tUeXBlUmVmPiBUZXN0SW52b2NhdGlvbjo6ZGlkUmVjZWl2ZVN5bmNo
cm9ub3VzTWVzc2FnZUZyb21JbmplY3RlZEIKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9
CiAgICAgCisgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcobWVzc2FnZU5hbWUs
ICJEZWxldGVBbGxJbmRleGVkRGF0YWJhc2VzIikpIHsKKyAgICAgICAgV0tXZWJzaXRlRGF0YVN0
b3JlUmVtb3ZlQWxsSW5kZXhlZERhdGFiYXNlcyhXS0NvbnRleHRHZXRXZWJzaXRlRGF0YVN0b3Jl
KFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5jb250ZXh0KCkpKTsKKyAgICAgICAgcmV0dXJu
IG51bGxwdHI7CisgICAgfQorCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJu
IG51bGxwdHI7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>279256</attachid>
            <date>2016-05-18 08:52:54 -0700</date>
            <delta_ts>2016-05-18 09:29:32 -0700</delta_ts>
            <desc>Patch for EWS + landing</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>14149</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAwYjBkMjllLi4yMjQ0Y2Y2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTYtMDUtMTcgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIE1vZGVybiBJREI6IE1ha2UgVGVzdFJ1bm5lci5jbGVhckFsbERhdGFiYXNlcyBhbHNvIGRl
bGV0ZSBJbmRleGVkREIgZGF0YWJhc2VzIChvbmNlIGRvaW5nIHNvIGlzIHN1cHBvcnRlZCkuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTc4MjMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cyAoTm8gY3VycmVudCBiZWhhdmlvciBjaGFuZ2UsIHdpbGwgYmUgdGVzdGVkIHdpdGggYi8x
NTc2MjYncyByZXNvbHV0aW9uKS4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZl
ci9JREJTZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpJREJTZXJ2ZXI6
OmNsb3NlQW5kRGVsZXRlRGF0YWJhc2VzTW9kaWZpZWRTaW5jZSk6IFN0dWIgdGhpcyBvdXQgZm9y
IG5vdy4KKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmg6Cisg
ICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0luUHJvY2Vzc0lEQlNlcnZlci5oOgor
CiAyMDE2LTA1LTE3ICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBN
YWtlIGhhbmRsZUFjY2VwdGVkQ2FuZGlkYXRlIGEgcHVibGljIGZ1bmN0aW9uCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIuY3BwCmlu
ZGV4IDNmZDYwYTcuLjIxYmE3NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIuY3BwCkBAIC00NjgsNiArNDY4LDEyIEBAIHZv
aWQgSURCU2VydmVyOjpoYW5kbGVUYXNrUmVwbGllc09uTWFpblRocmVhZCgpCiAgICAgICAgIHRh
c2stPnBlcmZvcm1UYXNrKCk7CiB9CiAKK3ZvaWQgSURCU2VydmVyOjpjbG9zZUFuZERlbGV0ZURh
dGFiYXNlc01vZGlmaWVkU2luY2Uoc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2lu
dCwgc3RkOjpmdW5jdGlvbjx2b2lkICgpPiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICAvLyBG
SVhNRTogSW1wbGVtZW50IChodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTU3NjI2KQorICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIElE
QlNlcnZlcgogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmgKaW5kZXggZWZmYTgwNy4uOGNl
ZTM4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVy
L0lEQlNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZl
ci9JREJTZXJ2ZXIuaApAQCAtOTYsNiArOTYsOCBAQCBwdWJsaWM6CiAKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8SURCQmFja2luZ1N0b3JlPiBjcmVhdGVCYWNraW5nU3RvcmUoY29uc3QgSURCRGF0YWJh
c2VJZGVudGlmaWVyJik7CiAKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGNsb3NlQW5kRGVsZXRl
RGF0YWJhc2VzTW9kaWZpZWRTaW5jZShzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1lX3Bv
aW50LCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+IGNvbXBsZXRpb25IYW5kbGVyKTsKKwogcHJpdmF0
ZToKICAgICBJREJTZXJ2ZXIoSURCQmFja2luZ1N0b3JlVGVtcG9yYXJ5RmlsZUhhbmRsZXImKTsK
ICAgICBJREJTZXJ2ZXIoY29uc3QgU3RyaW5nJiBkYXRhYmFzZURpcmVjdG9yeVBhdGgsIElEQkJh
Y2tpbmdTdG9yZVRlbXBvcmFyeUZpbGVIYW5kbGVyJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSW5Qcm9jZXNzSURCU2VydmVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSW5Qcm9jZXNzSURCU2VydmVyLmgK
aW5kZXggOTNhM2Y0OS4uMWFjZWQzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvc2hhcmVkL0luUHJvY2Vzc0lEQlNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JblByb2Nlc3NJREJTZXJ2ZXIuaApAQCAtNTMs
NiArNTMsOCBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgSURCQ2xpZW50OjpJREJDb25u
ZWN0aW9uVG9TZXJ2ZXImIGNvbm5lY3Rpb25Ub1NlcnZlcigpIGNvbnN0OwogICAgIElEQlNlcnZl
cjo6SURCQ29ubmVjdGlvblRvQ2xpZW50JiBjb25uZWN0aW9uVG9DbGllbnQoKSBjb25zdDsKIAor
ICAgIElEQlNlcnZlcjo6SURCU2VydmVyJiBpZGJTZXJ2ZXIoKSB7IHJldHVybiBtX3NlcnZlci5n
ZXQoKTsgfQorCiAgICAgLy8gSURCQ29ubmVjdGlvblRvU2VydmVyCiAgICAgdm9pZCBkZWxldGVE
YXRhYmFzZShjb25zdCBJREJSZXF1ZXN0RGF0YSYpIGZpbmFsOwogICAgIHZvaWQgb3BlbkRhdGFi
YXNlKGNvbnN0IElEQlJlcXVlc3REYXRhJikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDFkNjg3ZTUuLjkz
N2I1ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTYtMDUtMTcgIEJyYWR5IEVpZHNv
biAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIE1vZGVybiBJREI6IE1ha2UgVGVzdFJ1
bm5lci5jbGVhckFsbERhdGFiYXNlcyBhbHNvIGRlbGV0ZSBJbmRleGVkREIgZGF0YWJhc2VzIChv
bmNlIGRvaW5nIHNvIGlzIHN1cHBvcnRlZCkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNTc4MjMKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENo
cmlzdGVuc2VuLgorCisgICAgICAgICogU3RvcmFnZS9XZWJEYXRhYmFzZVByb3ZpZGVyLmNwcDoK
KyAgICAgICAgKFdlYkRhdGFiYXNlUHJvdmlkZXI6OmRlbGV0ZUFsbERhdGFiYXNlcyk6CisgICAg
ICAgICogU3RvcmFnZS9XZWJEYXRhYmFzZVByb3ZpZGVyLmg6CisKIDIwMTYtMDQtMjUgIFBlciBB
cm5lIFZvbGxhbiAgPHBlYXZvQG91dGxvb2suY29tPgogCiAgICAgICAgIFtXaW5dW0luZGV4ZWRE
Ql0gRml4IGJ1aWxkIGVycm9ycy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9X
ZWJEYXRhYmFzZVByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9XZWJEYXRhYmFz
ZVByb3ZpZGVyLmNwcAppbmRleCBmYWZhZjEyLi45ZjM4Mjc3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1N0b3JhZ2UvV2ViRGF0YWJhc2VQcm92aWRlci5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9TdG9yYWdlL1dlYkRhdGFiYXNlUHJvdmlkZXIuY3BwCkBAIC01Niw0ICs1NiwxMCBAQCBXZWJD
b3JlOjpJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlciYgV2ViRGF0YWJhc2VQcm92aWRl
cjo6aWRiQ29ubmVjdGlvblRvUwogCiAgICAgcmV0dXJuIHJlc3VsdC5pdGVyYXRvci0+dmFsdWUt
PmNvbm5lY3Rpb25Ub1NlcnZlcigpOwogfQorCit2b2lkIFdlYkRhdGFiYXNlUHJvdmlkZXI6OmRl
bGV0ZUFsbERhdGFiYXNlcygpCit7CisgICAgZm9yIChhdXRvJiBzZXJ2ZXIgOiBtX2lkYlNlcnZl
ck1hcC52YWx1ZXMoKSkKKyAgICAgICAgc2VydmVyLT5pZGJTZXJ2ZXIoKS5jbG9zZUFuZERlbGV0
ZURhdGFiYXNlc01vZGlmaWVkU2luY2Uoc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9w
b2ludDo6bWluKCksIFtdIHsgfSk7Cit9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU3RvcmFnZS9XZWJEYXRhYmFzZVByb3ZpZGVyLmggYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2Uv
V2ViRGF0YWJhc2VQcm92aWRlci5oCmluZGV4IGYzM2Q1NWEuLjJhNGViOTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9XZWJEYXRhYmFzZVByb3ZpZGVyLmgKKysrIGIvU291cmNl
L1dlYktpdC9TdG9yYWdlL1dlYkRhdGFiYXNlUHJvdmlkZXIuaApAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDE1LCAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjMsOCArMjMsNyBAQAogICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5kZWYgV2ViRGF0YWJh
c2VQcm92aWRlcl9oCi0jZGVmaW5lIFdlYkRhdGFiYXNlUHJvdmlkZXJfaAorI3ByYWdtYSBvbmNl
CiAKICNpbmNsdWRlIDxXZWJDb3JlL0RhdGFiYXNlUHJvdmlkZXIuaD4KICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgpAQCAtNDMsNiArNDIsOCBAQCBwdWJsaWM6CiAKICNpZiBFTkFCTEUoSU5ERVhF
RF9EQVRBQkFTRSkKICAgICBXZWJDb3JlOjpJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZl
ciYgaWRiQ29ubmVjdGlvblRvU2VydmVyRm9yU2Vzc2lvbihjb25zdCBXZWJDb3JlOjpTZXNzaW9u
SUQmKSBvdmVycmlkZTsKKworICAgIHZvaWQgZGVsZXRlQWxsRGF0YWJhc2VzKCk7CiAjZW5kaWYK
IAogcHJpdmF0ZToKQEAgLTU0LDUgKzU1LDMgQEAgcHJpdmF0ZToKICAgICBIYXNoTWFwPHVpbnQ2
NF90LCBSZWZQdHI8V2ViQ29yZTo6SW5Qcm9jZXNzSURCU2VydmVyPj4gbV9pZGJTZXJ2ZXJNYXA7
CiAjZW5kaWYKIH07Ci0KLSNlbmRpZiAvLyBXZWJEYXRhYmFzZVByb3ZpZGVyX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZwppbmRleCAzMmQxNjUxLi5iNGYwZWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTQgQEAKKzIwMTYtMDUtMTcgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisg
ICAgICAgIE1vZGVybiBJREI6IE1ha2UgVGVzdFJ1bm5lci5jbGVhckFsbERhdGFiYXNlcyBhbHNv
IGRlbGV0ZSBJbmRleGVkREIgZGF0YWJhc2VzIChvbmNlIGRvaW5nIHNvIGlzIHN1cHBvcnRlZCku
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTc4MjMK
KworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgICogU3Rv
cmFnZS9XZWJEYXRhYmFzZU1hbmFnZXIubW06CisgICAgICAgICgtW1dlYkRhdGFiYXNlTWFuYWdl
ciBkZWxldGVBbGxJbmRleGVkRGF0YWJhc2VzXSk6CisgICAgICAgICogU3RvcmFnZS9XZWJEYXRh
YmFzZU1hbmFnZXJQcml2YXRlLmg6CisKIDIwMTYtMDUtMTcgIEJldGggRGFraW4gIDxiZGFraW5A
YXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgaGFuZGxlQWNjZXB0ZWRDYW5kaWRhdGUgYSBwdWJs
aWMgZnVuY3Rpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0
YWJhc2VNYW5hZ2VyLm1tIGIvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZU1h
bmFnZXIubW0KaW5kZXggMmZkMWFhNi4uZjNmMDc1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZU1hbmFnZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9t
YWMvU3RvcmFnZS9XZWJEYXRhYmFzZU1hbmFnZXIubW0KQEAgLTM2LDYgKzM2LDEwIEBACiAjaW1w
b3J0IDxXZWJDb3JlL1NlY3VyaXR5T3JpZ2luLmg+CiAjaW1wb3J0IDx3dGYvTmV2ZXJEZXN0cm95
ZWQuaD4KIAorI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorI2ltcG9ydCAiV2ViRGF0YWJh
c2VQcm92aWRlci5oIgorI2VuZGlmCisKICNpZiBQTEFURk9STShJT1MpCiAjaW1wb3J0ICJXZWJE
YXRhYmFzZU1hbmFnZXJJbnRlcm5hbC5oIgogI2ltcG9ydCA8V2ViQ29yZS9EYXRhYmFzZVRyYWNr
ZXIuaD4KQEAgLTE1MSw2ICsxNTUsMTQgQEAgLSAoQk9PTClkZWxldGVEYXRhYmFzZTooTlNTdHJp
bmcgKilkYXRhYmFzZUlkZW50aWZpZXIgd2l0aE9yaWdpbjooV2ViU2VjdXJpdHlPcmkKICAgICBy
ZXR1cm4gRGF0YWJhc2VNYW5hZ2VyOjpzaW5nbGV0b24oKS5kZWxldGVEYXRhYmFzZShbb3JpZ2lu
IF9jb3JlXSwgZGF0YWJhc2VJZGVudGlmaWVyKTsKIH0KIAorLy8gRm9yIER1bXBSZW5kZXJUcmVl
IHN1cHBvcnQgb25seQorLSAodm9pZClkZWxldGVBbGxJbmRleGVkRGF0YWJhc2VzCit7CisjaWYg
RU5BQkxFKElOREVYRURfREFUQUJBU0UpCisgICAgV2ViRGF0YWJhc2VQcm92aWRlcjo6c2luZ2xl
dG9uKCkuZGVsZXRlQWxsRGF0YWJhc2VzKCk7CisjZW5kaWYKK30KKwogI2lmIFBMQVRGT1JNKElP
UykKIHN0YXRpYyBib29sIGlzRmlsZUhpZGRlbihOU1N0cmluZyAqZmlsZSkKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VNYW5hZ2VyUHJpdmF0ZS5o
IGIvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZU1hbmFnZXJQcml2YXRlLmgK
aW5kZXggOTM4OWFhMS4uOTM5YjRjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvU3Rv
cmFnZS9XZWJEYXRhYmFzZU1hbmFnZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMv
U3RvcmFnZS9XZWJEYXRhYmFzZU1hbmFnZXJQcml2YXRlLmgKQEAgLTY4LDYgKzY4LDkgQEAgZXh0
ZXJuIENGU3RyaW5nUmVmIFdlYkRhdGFiYXNlT3JpZ2luc0RpZENoYW5nZU5vdGlmaWNhdGlvbjsK
IC0gKEJPT0wpZGVsZXRlT3JpZ2luOihXZWJTZWN1cml0eU9yaWdpbiAqKW9yaWdpbjsKIC0gKEJP
T0wpZGVsZXRlRGF0YWJhc2U6KE5TU3RyaW5nICopZGF0YWJhc2VJZGVudGlmaWVyIHdpdGhPcmln
aW46KFdlYlNlY3VyaXR5T3JpZ2luICopb3JpZ2luOwogCisvLyBGb3IgRHVtcFJlbmRlclRyZWUg
c3VwcG9ydCBvbmx5CistICh2b2lkKWRlbGV0ZUFsbEluZGV4ZWREYXRhYmFzZXM7CisKICNpZiBU
QVJHRVRfT1NfSVBIT05FCiArICh2b2lkKXNjaGVkdWxlRW1wdHlEYXRhYmFzZVJlbW92YWw7CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0IGIvU291cmNl
L1dlYktpdDIvQ01ha2VMaXN0cy50eHQKaW5kZXggM2Q0ZDlkOC4uNWJjMTYxZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYktpdDIvQ01h
a2VMaXN0cy50eHQKQEAgLTQ2Miw2ICs0NjIsNyBAQCBzZXQoV2ViS2l0Ml9TT1VSQ0VTCiAgICAg
VUlQcm9jZXNzL0FQSS9DL1dLVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3QuY3BwCiAgICAgVUlQ
cm9jZXNzL0FQSS9DL1dLVmlicmF0aW9uLmNwcAogICAgIFVJUHJvY2Vzcy9BUEkvQy9XS1ZpZXdw
b3J0QXR0cmlidXRlcy5jcHAKKyAgICBVSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3Jl
UmVmLmNwcAogICAgIFVJUHJvY2Vzcy9BUEkvQy9XS1dpbmRvd0ZlYXR1cmVzUmVmLmNwcAogCiAg
ICAgVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHku
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKaW5kZXggNTlhNTU5OC4uYzVjMmNhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE1IEBACisyMDE2LTA1LTE3ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKwor
ICAgICAgICBNb2Rlcm4gSURCOiBNYWtlIFRlc3RSdW5uZXIuY2xlYXJBbGxEYXRhYmFzZXMgYWxz
byBkZWxldGUgSW5kZXhlZERCIGRhdGFiYXNlcyAob25jZSBkb2luZyBzbyBpcyBzdXBwb3J0ZWQp
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3ODIz
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICAqIENN
YWtlTGlzdHMudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3Rv
cmVSZWYuY3BwOgorICAgICAgICAoV0tXZWJzaXRlRGF0YVN0b3JlUmVtb3ZlQWxsSW5kZXhlZERh
dGFiYXNlcyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJl
Zi5oOgorCiAyMDE2LTA1LTE3ICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAg
ICAgICBNYWtlIGhhbmRsZUFjY2VwdGVkQ2FuZGlkYXRlIGEgcHVibGljIGZ1bmN0aW9uCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3Jl
UmVmLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3Rv
cmVSZWYuY3BwCmluZGV4IGU4Y2Y3NjEuLmE3N2MxYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuY3BwCkBAIC0y
OCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJBUElXZWJzaXRlRGF0YVN0b3JlLmgiCiAjaW5jbHVk
ZSAiV0tBUElDYXN0LmgiCisjaW5jbHVkZSAiV2Vic2l0ZURhdGFUeXBlLmgiCiAKIFdLVHlwZUlE
IFdLV2Vic2l0ZURhdGFTdG9yZUdldFR5cGVJRCgpCiB7CkBAIC01NCwzICs1NSw4IEBAIGJvb2wg
V0tXZWJzaXRlRGF0YVN0b3JlR2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoV0tXZWJz
aXRlRGF0YVN0b3JlUmVmIGRhCiAgICAgcmV0dXJuIFdlYktpdDo6dG9JbXBsKGRhdGFTdG9yZVJl
ZiktPnJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKCk7CiB9CiAKK3ZvaWQgV0tXZWJzaXRl
RGF0YVN0b3JlUmVtb3ZlQWxsSW5kZXhlZERhdGFiYXNlcyhXS1dlYnNpdGVEYXRhU3RvcmVSZWYg
ZGF0YVN0b3JlUmVmKQoreworICAgIE9wdGlvblNldDxXZWJLaXQ6OldlYnNpdGVEYXRhVHlwZT4g
ZGF0YVR5cGVzID0gV2ViS2l0OjpXZWJzaXRlRGF0YVR5cGU6OkluZGV4ZWREQkRhdGFiYXNlczsK
KyAgICBXZWJLaXQ6OnRvSW1wbChkYXRhU3RvcmVSZWYpLT53ZWJzaXRlRGF0YVN0b3JlKCkucmVt
b3ZlRGF0YShkYXRhVHlwZXMsIHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQ6
Om1pbigpLCBbXSB7IH0pOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5oCmluZGV4IDI0ZjFiZTQuLmRhNTc4MzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3Rv
cmVSZWYuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0
YVN0b3JlUmVmLmgKQEAgLTM5LDYgKzM5LDcgQEAgV0tfRVhQT1JUIFdLV2Vic2l0ZURhdGFTdG9y
ZVJlZiBXS1dlYnNpdGVEYXRhU3RvcmVDcmVhdGVOb25QZXJzaXN0ZW50RGF0YVN0b3JlKCkKIAog
V0tfRVhQT1JUIGJvb2wgV0tXZWJzaXRlRGF0YVN0b3JlR2V0UmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0VuYWJsZWQoV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZik7CiBXS19FWFBPUlQg
dm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChX
S1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVmLCBib29sIGVuYWJsZSk7CitXS19FWFBP
UlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVSZW1vdmVBbGxJbmRleGVkRGF0YWJhc2VzKFdLV2Vi
c2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYpOwogCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0K
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBlYTBl
MDFmLi5kZDc3ZDc2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTYtMDUtMTcgIEJyYWR5IEVpZHNvbiAgPGJlaWRz
b25AYXBwbGUuY29tPgorCisgICAgICAgIE1vZGVybiBJREI6IE1ha2UgVGVzdFJ1bm5lci5jbGVh
ckFsbERhdGFiYXNlcyBhbHNvIGRlbGV0ZSBJbmRleGVkREIgZGF0YWJhc2VzIChvbmNlIGRvaW5n
IHNvIGlzIHN1cHBvcnRlZCkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNTc4MjMKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2Vu
LgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW06CisgICAg
ICAgIChUZXN0UnVubmVyOjpjbGVhckFsbERhdGFiYXNlcyk6CisgICAgICAgIAorICAgICAgICAq
IFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHA6CisgICAgICAg
IChXVFI6OlRlc3RSdW5uZXI6OmNsZWFyQWxsRGF0YWJhc2VzKToKKyAgICAgICAgCisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHA6CisgICAgICAgIChXVFI6OlRl
c3RJbnZvY2F0aW9uOjpkaWRSZWNlaXZlU3luY2hyb25vdXNNZXNzYWdlRnJvbUluamVjdGVkQnVu
ZGxlKToKKwogMjAxNi0wNS0xNyAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgTWFrZSBoYW5kbGVBY2NlcHRlZENhbmRpZGF0ZSBhIHB1YmxpYyBmdW5jdGlvbgpkaWZm
IC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW0gYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5lck1hYy5tbQppbmRleCA0MWFjZThiLi5lNGY1
MjQ4IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5lck1hYy5t
bQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5lck1hYy5tbQpAQCAtMTk3
LDYgKzE5Nyw3IEBAIEpTVmFsdWVSZWYgVGVzdFJ1bm5lcjo6b3JpZ2luc1dpdGhBcHBsaWNhdGlv
bkNhY2hlKEpTQ29udGV4dFJlZiBjb250ZXh0KQogdm9pZCBUZXN0UnVubmVyOjpjbGVhckFsbERh
dGFiYXNlcygpCiB7CiAgICAgW1tXZWJEYXRhYmFzZU1hbmFnZXIgc2hhcmVkV2ViRGF0YWJhc2VN
YW5hZ2VyXSBkZWxldGVBbGxEYXRhYmFzZXNdOworICAgIFtbV2ViRGF0YWJhc2VNYW5hZ2VyIHNo
YXJlZFdlYkRhdGFiYXNlTWFuYWdlcl0gZGVsZXRlQWxsSW5kZXhlZERhdGFiYXNlc107CiB9CiAK
IHZvaWQgVGVzdFJ1bm5lcjo6c2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKGRvdWJsZSBp
bnRlcnZhbCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvVGVzdFJ1bm5lci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L1Rlc3RSdW5uZXIuY3BwCmluZGV4IGZjZjQ5OTAuLjc5ZGQ1OGIgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKKysrIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcApAQCAtMjUy
LDYgKzI1MiwxMSBAQCBib29sIFRlc3RSdW5uZXI6OmZpbmRTdHJpbmcoSlNTdHJpbmdSZWYgdGFy
Z2V0LCBKU1ZhbHVlUmVmIG9wdGlvbnNBcnJheUFzVmFsdWUpCiB2b2lkIFRlc3RSdW5uZXI6OmNs
ZWFyQWxsRGF0YWJhc2VzKCkKIHsKICAgICBXS0J1bmRsZUNsZWFyQWxsRGF0YWJhc2VzKEluamVj
dGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5kbGUoKSk7CisKKyAgICBXS1JldGFpblB0cjxXS1N0
cmluZ1JlZj4gbWVzc2FnZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJp
bmcoIkRlbGV0ZUFsbEluZGV4ZWREYXRhYmFzZXMiKSk7CisgICAgV0tSZXRhaW5QdHI8V0tCb29s
ZWFuUmVmPiBtZXNzYWdlQm9keShBZG9wdFdLLCBXS0Jvb2xlYW5DcmVhdGUodHJ1ZSkpOworCisg
ICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0
b24oKS5idW5kbGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpLCBudWxs
cHRyKTsKIH0KIAogdm9pZCBUZXN0UnVubmVyOjpzZXREYXRhYmFzZVF1b3RhKHVpbnQ2NF90IHF1
b3RhKQpAQCAtNjgzLDcgKzY4OCw3IEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0QWx3YXlzQWNjZXB0
Q29va2llcyhib29sIGFjY2VwdCkKIAogICAgIFdLUmV0YWluUHRyPFdLQm9vbGVhblJlZj4gbWVz
c2FnZUJvZHkoQWRvcHRXSywgV0tCb29sZWFuQ3JlYXRlKGFjY2VwdCkpOwogCi0gICAgV0tCdW5k
bGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5k
bGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpLCAwKTsKKyAgICBXS0J1
bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2UoSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLmJ1
bmRsZSgpLCBtZXNzYWdlTmFtZS5nZXQoKSwgbWVzc2FnZUJvZHkuZ2V0KCksIG51bGxwdHIpOwog
fQogCiBkb3VibGUgVGVzdFJ1bm5lcjo6cHJlY2lzZVRpbWUoKQpkaWZmIC0tZ2l0IGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAppbmRleCA4NzNhOWQ1Li42M2M5N2I2IDEwMDY0NAotLS0g
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAorKysgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcApAQCAtMzgsNiArMzgsNyBAQAogI2lu
Y2x1ZGUgPFdlYktpdC9XS0luc3BlY3Rvci5oPgogI2luY2x1ZGUgPFdlYktpdC9XS1BhZ2VQcml2
YXRlLmg+CiAjaW5jbHVkZSA8V2ViS2l0L1dLUmV0YWluUHRyLmg+CisjaW5jbHVkZSA8V2ViS2l0
L1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5oPgogI2luY2x1ZGUgPGNsaW1pdHM+CiAjaW5jbHVkZSA8
Y3N0ZGlvPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KQEAgLTcxNCw2ICs3MTUsMTEg
QEAgV0tSZXRhaW5QdHI8V0tUeXBlUmVmPiBUZXN0SW52b2NhdGlvbjo6ZGlkUmVjZWl2ZVN5bmNo
cm9ub3VzTWVzc2FnZUZyb21JbmplY3RlZEIKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9
CiAgICAgCisgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcobWVzc2FnZU5hbWUs
ICJEZWxldGVBbGxJbmRleGVkRGF0YWJhc2VzIikpIHsKKyAgICAgICAgV0tXZWJzaXRlRGF0YVN0
b3JlUmVtb3ZlQWxsSW5kZXhlZERhdGFiYXNlcyhXS0NvbnRleHRHZXRXZWJzaXRlRGF0YVN0b3Jl
KFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5jb250ZXh0KCkpKTsKKyAgICAgICAgcmV0dXJu
IG51bGxwdHI7CisgICAgfQorCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJu
IG51bGxwdHI7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>