<?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>147135</bug_id>
          
          <creation_ts>2015-07-20 19:09:29 -0700</creation_ts>
          <short_desc>Web Inspector: AppCache manifest 404 doesn&apos;t produce errors in console, manifest resource request always loading indicator</short_desc>
          <delta_ts>2015-07-22 14:37:26 -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>Web Inspector</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>japhet</cc>
    
    <cc>joepeck</cc>
    
    <cc>jonowells</cc>
    
    <cc>mattbaker</cc>
    
    <cc>mkwst</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1110866</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-07-20 19:09:29 -0700</bug_when>
    <thetext>* SUMMARY
AppCache manifest 404 doesn&apos;t produce errors in console, manifest resource request always loading indicator 

* STEPS TO REPRODUCE
1. Inspect a page with &lt;html manifest=&quot;does-not-exist.manifest&quot;&gt;
  =&gt; no errors in Web Inspector about AppCache manifest failure
2. Reload
  =&gt; manifest request is shown, but never completes, always shows loading indicator</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110867</commentid>
    <comment_count>1</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-07-20 19:09:47 -0700</bug_when>
    <thetext>&lt;rdar://problem/21905830&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110870</commentid>
    <comment_count>2</comment_count>
      <attachid>257155</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-07-20 19:28:56 -0700</bug_when>
    <thetext>Created attachment 257155
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110879</commentid>
    <comment_count>3</comment_count>
      <attachid>257155</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-07-20 20:15:46 -0700</bug_when>
    <thetext>Comment on attachment 257155
[PATCH] Proposed Fix

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

&gt; LayoutTests/http/tests/appcache/abort-cache-ondownloading-manifest-404-expected.txt:1
&gt; +CONSOLE MESSAGE: Application Cache manifest could not be fetched.

I&apos;m worried about the extra logging making the tests flaky. Appcache fetching is very asynchronous, and we already have tests that flakily fail because of that:

https://build.webkit.org/results/Apple%20Mavericks%20Debug%20WK2%20(Tests)/r187025%20(13213)/http/tests/appcache/abort-cache-ondownloading-resource-404-diff.txt
https://build.webkit.org/results/Apple%20Mavericks%20Debug%20WK2%20(Tests)/r187025%20(13213)/http/tests/appcache/abort-cache-onchecking-manifest-404-diff.txt
https://build.webkit.org/results/Apple%20Yosemite%20(Leaks)/r187030%20(2399)/http/tests/security/appcache-in-private-browsing-diff.txt

What due diligence did you perform?

&gt; Source/WebCore/loader/appcache/ApplicationCacheGroup.cpp:495
&gt; +    DocumentLoader* loader = m_frame-&gt;loader().documentLoader();

The loader variable doesn&apos;t seem to be used again, I&apos;d just put the computation at call site.

&gt; Source/WebCore/loader/appcache/ApplicationCacheGroup.cpp:661
&gt; +        m_frame-&gt;document()-&gt;addConsoleMessage(MessageSource::AppCache, MessageLevel::Error, ASCIILiteral(&quot;Application Cache manifest could not be fetched.&quot;));

Why not tell the exact reason why? Console messages don&apos;t have to be cryptic.

&gt; Source/WebCore/loader/appcache/ApplicationCacheGroup.cpp:671
&gt; +        m_frame-&gt;document()-&gt;addConsoleMessage(MessageSource::AppCache, MessageLevel::Error, ASCIILiteral(&quot;Application Cache manifest could not be fetched.&quot;));

Ditto (even though it&apos;s existing code).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110988</commentid>
    <comment_count>4</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-07-21 11:46:40 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 257155 [details]
&gt; [PATCH] Proposed Fix
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=257155&amp;action=review
&gt; 
&gt; &gt; LayoutTests/http/tests/appcache/abort-cache-ondownloading-manifest-404-expected.txt:1
&gt; &gt; +CONSOLE MESSAGE: Application Cache manifest could not be fetched.
&gt; 
&gt; I&apos;m worried about the extra logging making the tests flaky. Appcache
&gt; fetching is very asynchronous, and we already have tests that flakily fail
&gt; because of that:
&gt; 
&gt; https://build.webkit.org/results/Apple%20Mavericks%20Debug%20WK2%20(Tests)/
&gt; r187025%20(13213)/http/tests/appcache/abort-cache-ondownloading-resource-404-
&gt; diff.txt
&gt; https://build.webkit.org/results/Apple%20Mavericks%20Debug%20WK2%20(Tests)/
&gt; r187025%20(13213)/http/tests/appcache/abort-cache-onchecking-manifest-404-
&gt; diff.txt
&gt; https://build.webkit.org/results/Apple%20Yosemite%20(Leaks)/r187030%20(2399)/
&gt; http/tests/security/appcache-in-private-browsing-diff.txt
&gt; 
&gt; What due diligence did you perform?

That kinda stinks, I&apos;m not sure why that would happen, these logs are synchronous from the operation that caused them. Maybe we should disable CONSOLE MESSAGE logs in these tests?

When I run the tests locally they all always pass. When I start --iteration=2 one test times out. When I do --iterations=3 a few tests have issues but I can&apos;t get all their failures:

    shell&gt; ./Tools/Scripts/run-webkit-tests --release --no-retry-failures LayoutTests/http/tests/appcache --iterations=3
    ...
    Found 80 tests; running 78 (3 times each: --repeat-each=1 --iterations=3), skipping 2.
    Running 1 WebKitTestRunner.     

    [94/234] http/tests/appcache/deferred-events-delete-while-raising.html failed unexpectedly (text diff)
    [155/234] http/tests/appcache/x-frame-options-prevents-framing.php failed unexpectedly (test timed out, text diff)
    [173/234] http/tests/appcache/deferred-events.html failed unexpectedly (text diff)
                                                                                         
    231 tests ran as expected, 3 didn&apos;t:
    ...
    Regressions: Unexpected text-only failures (1)
      http/tests/appcache/deferred-events.html [ Failure ]

None of the failures however seem to be the new logs I added.

Likewise --repeat-each=3 passes all tests but the (http/tests/appcache/x-frame-options-prevents-framing.php) timeout which always seems to happen in iterations=2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110991</commentid>
    <comment_count>5</comment_count>
      <attachid>257189</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-07-21 11:55:16 -0700</bug_when>
    <thetext>Created attachment 257189
[PATCH] Proposed Fix

Addressed comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111429</commentid>
    <comment_count>6</comment_count>
      <attachid>257189</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-22 14:37:24 -0700</bug_when>
    <thetext>Comment on attachment 257189
[PATCH] Proposed Fix

Clearing flags on attachment: 257189

Committed r187185: &lt;http://trac.webkit.org/changeset/187185&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111430</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-22 14:37:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257155</attachid>
            <date>2015-07-20 19:28:56 -0700</date>
            <delta_ts>2015-07-21 11:55:16 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>appcache1.patch</filename>
            <type>text/plain</type>
            <size>12013</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyNjU1ODNjLi5iMjc3MzI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTUtMDct
MjAgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIg
SW5zcGVjdG9yOiBBcHBDYWNoZSBtYW5pZmVzdCA0MDQgZG9lc24ndCBwcm9kdWNlIGVycm9ycyBp
biBjb25zb2xlLCBtYW5pZmVzdCByZXNvdXJjZSByZXF1ZXN0IGFsd2F5cyBsb2FkaW5nIGluZGlj
YXRvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3
MTM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL2FwcGNhY2hlLzQwNC1tYW5pZmVzdC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
aHR0cC90ZXN0cy9hcHBjYWNoZS9hYm9ydC1jYWNoZS1vbmRvd25sb2FkaW5nLW1hbmlmZXN0LTQw
NC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9hcHBjYWNoZS9kZWZlcnJlZC1l
dmVudHMtZGVsZXRlLXdoaWxlLXJhaXNpbmctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAv
dGVzdHMvYXBwY2FjaGUvZGVmZXJyZWQtZXZlbnRzLWRlbGV0ZS13aGlsZS1yYWlzaW5nLXRpbWVy
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2FwcGNhY2hlL2RlZmVycmVkLWV2
ZW50cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9hcHBjYWNoZS9mYWlsLW9u
LXVwZGF0ZS0yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2FwcGNhY2hlL2Zh
aWwtb24tdXBkYXRlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2FwcGNhY2hl
L3JlbW92ZS1jYWNoZS1leHBlY3RlZC50eHQ6CisgICAgICAgIFVwZGF0ZSB3aXRoIG5ldyBDb25z
b2xlIGVycm9ycyBhYm91dCBtYW5pZmVzdCA0MDRzLgorCiAyMDE1LTA3LTE2ICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBkaXNhcHBlYXJpbmcg
cG9zaXRpb246Zml4ZWQgZWxlbWVudHMgaW4gZml4ZWQgbGF5b3V0IG1vZGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYXBwY2FjaGUvNDA0LW1hbmlmZXN0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYXBwY2FjaGUvNDA0LW1hbmlmZXN0LWV4cGVjdGVk
LnR4dAppbmRleCBiMDQ3MDc3Li5mMTZjYjFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2FwcGNhY2hlLzQwNC1tYW5pZmVzdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9hcHBjYWNoZS80MDQtbWFuaWZlc3QtZXhwZWN0ZWQudHh0CkBAIC0xLDMg
KzEsNCBAQAorQ09OU09MRSBNRVNTQUdFOiBBcHBsaWNhdGlvbiBDYWNoZSBtYW5pZmVzdCBjb3Vs
ZCBub3QgYmUgZmV0Y2hlZC4KIFRlc3QgdGhhdCBzdWJyZXNvdXJjZXMgY2FuIGJlIGxvYWRlZCBp
ZiBtYW5pZmVzdCBpcyBub3QgYXZhaWxhYmxlLiBTaG91bGQgc2F5IFNVQ0NFU1MuCiAKIFNVQ0NF
U1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYXBwY2FjaGUvYWJvcnQtY2Fj
aGUtb25kb3dubG9hZGluZy1tYW5pZmVzdC00MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9hcHBjYWNoZS9hYm9ydC1jYWNoZS1vbmRvd25sb2FkaW5nLW1hbmlmZXN0LTQw
NC1leHBlY3RlZC50eHQKaW5kZXggY2VmMTRjNy4uM2Q5ZmZlZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNoZS9hYm9ydC1jYWNoZS1vbmRvd25sb2FkaW5nLW1hbmlm
ZXN0LTQwNC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNo
ZS9hYm9ydC1jYWNoZS1vbmRvd25sb2FkaW5nLW1hbmlmZXN0LTQwNC1leHBlY3RlZC50eHQKQEAg
LTEsMiArMSwzIEBACitDT05TT0xFIE1FU1NBR0U6IEFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0
IGNvdWxkIG5vdCBiZSBmZXRjaGVkLgogVGhpcyB0ZXN0cyB0aGF0IGRvd25sb2FkIHByb2Nlc3Mg
d2FzIG5vdCBhYm9ydGVkIGFmdGVyIGRvd25sb2FkaW5nIGV2ZW50IHNpbmNlIG1hbmlmZXN0IHdh
cyBub3QgZm91bmQuCiBTVUNDRVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2FwcGNhY2hlL2RlZmVycmVkLWV2ZW50cy1kZWxldGUtd2hpbGUtcmFpc2luZy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2FwcGNhY2hlL2RlZmVycmVkLWV2ZW50cy1kZWxl
dGUtd2hpbGUtcmFpc2luZy1leHBlY3RlZC50eHQKaW5kZXggOGU0MWViNi4uMDc5ZDdmOCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNoZS9kZWZlcnJlZC1ldmVudHMt
ZGVsZXRlLXdoaWxlLXJhaXNpbmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvYXBwY2FjaGUvZGVmZXJyZWQtZXZlbnRzLWRlbGV0ZS13aGlsZS1yYWlzaW5nLWV4cGVj
dGVkLnR4dApAQCAtMSwzICsxLDUgQEAKK0NPTlNPTEUgTUVTU0FHRTogQXBwbGljYXRpb24gQ2Fj
aGUgbWFuaWZlc3QgY291bGQgbm90IGJlIGZldGNoZWQuCitDT05TT0xFIE1FU1NBR0U6IEFwcGxp
Y2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBmZXRjaGVkLgogVGVzdCB0aGUgZGVz
dHJ1Y3Rpb24gb2YgYW4gaWZyYW1lIHdoaWxlIGRlZmVycmVkIGV2ZW50cyBhcmUgYmVpbmcgcmFp
c2VkIGRvZXMgbm90IGNyYXNoIHRoZSBzeXN0ZW0uCiAKIFNVQ0NFU1MKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvYXBwY2FjaGUvZGVmZXJyZWQtZXZlbnRzLWRlbGV0ZS13aGls
ZS1yYWlzaW5nLXRpbWVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYXBw
Y2FjaGUvZGVmZXJyZWQtZXZlbnRzLWRlbGV0ZS13aGlsZS1yYWlzaW5nLXRpbWVyLWV4cGVjdGVk
LnR4dAppbmRleCA4ZTQxZWI2Li4wNzlkN2Y4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2FwcGNhY2hlL2RlZmVycmVkLWV2ZW50cy1kZWxldGUtd2hpbGUtcmFpc2luZy10aW1l
ci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNoZS9kZWZl
cnJlZC1ldmVudHMtZGVsZXRlLXdoaWxlLXJhaXNpbmctdGltZXItZXhwZWN0ZWQudHh0CkBAIC0x
LDMgKzEsNSBAQAorQ09OU09MRSBNRVNTQUdFOiBBcHBsaWNhdGlvbiBDYWNoZSBtYW5pZmVzdCBj
b3VsZCBub3QgYmUgZmV0Y2hlZC4KK0NPTlNPTEUgTUVTU0FHRTogQXBwbGljYXRpb24gQ2FjaGUg
bWFuaWZlc3QgY291bGQgbm90IGJlIGZldGNoZWQuCiBUZXN0IHRoZSBkZXN0cnVjdGlvbiBvZiBh
biBpZnJhbWUgd2hpbGUgZGVmZXJyZWQgZXZlbnRzIGFyZSBiZWluZyByYWlzZWQgZG9lcyBub3Qg
Y3Jhc2ggdGhlIHN5c3RlbS4KIAogU1VDQ0VTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9hcHBjYWNoZS9kZWZlcnJlZC1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9hcHBjYWNoZS9kZWZlcnJlZC1ldmVudHMtZXhwZWN0ZWQudHh0CmluZGV4
IDQ1YWYwYWYuLjJkZTI1YWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYXBw
Y2FjaGUvZGVmZXJyZWQtZXZlbnRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2FwcGNhY2hlL2RlZmVycmVkLWV2ZW50cy1leHBlY3RlZC50eHQKQEAgLTEsMiArMSwz
IEBACitDT05TT0xFIE1FU1NBR0U6IEFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5v
dCBiZSBmZXRjaGVkLgogVGVzdCB0aGF0IEFwcGljYXRpb25DYWNoZSBldmVudHMgYXJlIGRlZmVy
cmVkIHVudGlsIGFmdGVyIG9ubG9hZCBoYXMgYmVlbiBmaXJlZC4KIFNVQ0NFU1MKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYXBwY2FjaGUvZmFpbC1vbi11cGRhdGUtMi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2FwcGNhY2hlL2ZhaWwtb24tdXBkYXRl
LTItZXhwZWN0ZWQudHh0CmluZGV4IGNkMTUyNDcuLjI3YWNjZTEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvYXBwY2FjaGUvZmFpbC1vbi11cGRhdGUtMi1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNoZS9mYWlsLW9uLXVwZGF0ZS0yLWV4
cGVjdGVkLnR4dApAQCAtMSArMSwyIEBACitDT05TT0xFIE1FU1NBR0U6IEFwcGxpY2F0aW9uIENh
Y2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBmZXRjaGVkLgogU1VDQ0VTUzogTm8gY3Jhc2guCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2FwcGNhY2hlL2ZhaWwtb24tdXBkYXRl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYXBwY2FjaGUvZmFpbC1vbi11
cGRhdGUtZXhwZWN0ZWQudHh0CmluZGV4IGNkMTUyNDcuLjI3YWNjZTEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvYXBwY2FjaGUvZmFpbC1vbi11cGRhdGUtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYXBwY2FjaGUvZmFpbC1vbi11cGRhdGUtZXhw
ZWN0ZWQudHh0CkBAIC0xICsxLDIgQEAKK0NPTlNPTEUgTUVTU0FHRTogQXBwbGljYXRpb24gQ2Fj
aGUgbWFuaWZlc3QgY291bGQgbm90IGJlIGZldGNoZWQuCiBTVUNDRVNTOiBObyBjcmFzaC4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYXBwY2FjaGUvcmVtb3ZlLWNhY2hlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYXBwY2FjaGUvcmVtb3ZlLWNhY2hl
LWV4cGVjdGVkLnR4dAppbmRleCA5ZTIzYmExLi43MmQ2NDIyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2FwcGNhY2hlL3JlbW92ZS1jYWNoZS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNoZS9yZW1vdmUtY2FjaGUtZXhwZWN0ZWQudHh0
CkBAIC0xLDMgKzEsNSBAQAorQ09OU09MRSBNRVNTQUdFOiBBcHBsaWNhdGlvbiBDYWNoZSBtYW5p
ZmVzdCBjb3VsZCBub3QgYmUgZmV0Y2hlZC4KK0NPTlNPTEUgTUVTU0FHRTogQXBwbGljYXRpb24g
Q2FjaGUgbWFuaWZlc3QgY291bGQgbm90IGJlIGZldGNoZWQuCiBUZXN0IHRoYXQgYSA0MDQgcmVz
cG9uc2UgZm9yIG1hbmlmZXN0IHJlc3VsdHMgaW4gY2FjaGUgcmVtb3ZhbC4KIAogRnJhbWUgMTog
TWFuaWZlc3QgaXMgc3RpbGwgYXZhaWxhYmxlLCBzbyBhIG5ldyBtYXN0ZXIgcmVzb3VyY2UgaXMg
YWRkZWQgdG8gdGhlIGNhY2hlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDQ4OTQ3MzIuLmRjYTMyZmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxNS0wNy0yMCAgSm9zZXBoIFBlY29yYXJvICA8cGVj
b3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFwcENhY2hlIG1hbmlm
ZXN0IDQwNCBkb2Vzbid0IHByb2R1Y2UgZXJyb3JzIGluIGNvbnNvbGUsIG1hbmlmZXN0IHJlc291
cmNlIHJlcXVlc3QgYWx3YXlzIGxvYWRpbmcgaW5kaWNhdG9yCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDcxMzUKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGxvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlv
bkNhY2hlR3JvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZUdyb3Vw
OjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICBBbHdheXMgcGFzcyBhIGRvY3VtZW50IGxv
YWRlciBpbnN0ZWFkIG9mIHBhc3NpbmcgbnVsbCBmb3IgdGhlIG1hbmlmZXN0IHJlcXVlc3QuCisK
KyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkUmVjZWl2ZU1hbmlm
ZXN0UmVzcG9uc2UpOgorICAgICAgICBTaW5jZSB3ZSB3aWxsIGJlIGNhbmNlbGxpbmcgdGhlIHJl
c291cmNlIGhhbmRsZSBvdXJzZWx2ZXMgaW4gZGlkUmVjZWl2ZVJlc3BvbnNlCisgICAgICAgIGJl
Zm9yZSByZWNlaXZpbmcgdGhlIGRpZEZhaWwgcmVzb3VyY2UgaGFuZGxlIGRlbGVnYXRlcywgd2Ug
c2hvdWxkIHVwZGF0ZSB0aGUKKyAgICAgICAgaW5zcGVjdG9yIGFib3V0IHRoaXMgcmVzb3VyY2Ug
bG9hZCBmYWlsaW5nIGR1ZSB0byBhIGNhbmNlbC4KKworICAgICAgICAoV2ViQ29yZTo6QXBwbGlj
YXRpb25DYWNoZUdyb3VwOjpkaWRGaW5pc2hMb2FkaW5nTWFuaWZlc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6QXBwbGljYXRpb25DYWNoZUdyb3VwOjpjaGVja0lmTG9hZElzQ29tcGxldGUpOgorICAg
ICAgICBVcGRhdGUgdGhlIE1lc3NhZ2VTb3VyY2UgZnJvbSAiT3RoZXIiIHRvICJBcHBDYWNoZSIu
CisKIDIwMTUtMDctMTYgIE1hdHQgUmFqY2EgIDxtcmFqY2FAYXBwbGUuY29tPgogCiAgICAgICAg
IE1lZGlhIFNlc3Npb246IGhhbmRsZSAnVHJhbnNpZW50JyBhbmQgJ1RyYW5zaWVudCBTb2xvJyBp
bnRlcnJ1cHRpb24gZXZlbnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBw
Y2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9h
cHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCmluZGV4IDU5YmNhYzkuLjdhZTdmZmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNh
Y2hlR3JvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNh
dGlvbkNhY2hlR3JvdXAuY3BwCkBAIC00OTEsNyArNDkxLDggQEAgUGFzc1JlZlB0cjxSZXNvdXJj
ZUhhbmRsZT4gQXBwbGljYXRpb25DYWNoZUdyb3VwOjpjcmVhdGVSZXNvdXJjZUhhbmRsZShjb25z
dCBVUkwKIAogdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmRpZFJlY2VpdmVSZXNwb25zZShS
ZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkK
IHsKLSAgICBEb2N1bWVudExvYWRlciogbG9hZGVyID0gKGhhbmRsZSA9PSBtX21hbmlmZXN0SGFu
ZGxlKSA/IG51bGxwdHIgOiBtX2ZyYW1lLT5sb2FkZXIoKS5kb2N1bWVudExvYWRlcigpOworICAg
IEFTU0VSVChtX2ZyYW1lKTsKKyAgICBEb2N1bWVudExvYWRlciogbG9hZGVyID0gbV9mcmFtZS0+
bG9hZGVyKCkuZG9jdW1lbnRMb2FkZXIoKTsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25D
b29raWUgY29va2llID0gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsUmVjZWl2ZVJlc291
cmNlUmVzcG9uc2UobV9mcmFtZSk7CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRS
ZWNlaXZlUmVzb3VyY2VSZXNwb25zZShjb29raWUsIG1fY3VycmVudFJlc291cmNlSWRlbnRpZmll
ciwgbG9hZGVyLCByZXNwb25zZSwgMCk7CiAKQEAgLTY1Niw2ICs2NTcsOCBAQCB2b2lkIEFwcGxp
Y2F0aW9uQ2FjaGVHcm91cDo6ZGlkUmVjZWl2ZU1hbmlmZXN0UmVzcG9uc2UoY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYgcgogICAgIEFTU0VSVChtX21hbmlmZXN0SGFuZGxlKTsKIAogICAgIGlmIChy
ZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpID09IDQwNCB8fCByZXNwb25zZS5odHRwU3RhdHVzQ29k
ZSgpID09IDQxMCkgeworICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZhaWxM
b2FkaW5nKG1fZnJhbWUsIG1fZnJhbWUtPmxvYWRlcigpLmRvY3VtZW50TG9hZGVyKCksIG1fY3Vy
cmVudFJlc291cmNlSWRlbnRpZmllciwgbV9mcmFtZS0+bG9hZGVyKCkuY2FuY2VsbGVkRXJyb3Io
bV9tYW5pZmVzdEhhbmRsZS0+Zmlyc3RSZXF1ZXN0KCkpKTsKKyAgICAgICAgbV9mcmFtZS0+ZG9j
dW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6QXBwQ2FjaGUsIE1lc3Nh
Z2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQXBwbGljYXRpb24gQ2FjaGUgbWFuaWZlc3Qg
Y291bGQgbm90IGJlIGZldGNoZWQuIikpOwogICAgICAgICBtYW5pZmVzdE5vdEZvdW5kKCk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CkBAIC02NjQsMTMgKzY2NywxNSBAQCB2b2lkIEFwcGxpY2F0
aW9uQ2FjaGVHcm91cDo6ZGlkUmVjZWl2ZU1hbmlmZXN0UmVzcG9uc2UoY29uc3QgUmVzb3VyY2VS
ZXNwb25zZSYgcgogICAgICAgICByZXR1cm47CiAKICAgICBpZiAocmVzcG9uc2UuaHR0cFN0YXR1
c0NvZGUoKSAvIDEwMCAhPSAyKSB7Ci0gICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENv
bnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6Ok90aGVyLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBB
U0NJSUxpdGVyYWwoIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBmZXRj
aGVkLiIpKTsKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGYWlsTG9hZGlu
ZyhtX2ZyYW1lLCBtX2ZyYW1lLT5sb2FkZXIoKS5kb2N1bWVudExvYWRlcigpLCBtX2N1cnJlbnRS
ZXNvdXJjZUlkZW50aWZpZXIsIG1fZnJhbWUtPmxvYWRlcigpLmNhbmNlbGxlZEVycm9yKG1fbWFu
aWZlc3RIYW5kbGUtPmZpcnN0UmVxdWVzdCgpKSk7CisgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50
KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkFwcENhY2hlLCBNZXNzYWdlTGV2
ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxk
IG5vdCBiZSBmZXRjaGVkLiIpKTsKICAgICAgICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChyZXNwb25zZS51cmwoKSAhPSBtX21hbmlmZXN0
SGFuZGxlLT5maXJzdFJlcXVlc3QoKS51cmwoKSkgewotICAgICAgICBtX2ZyYW1lLT5kb2N1bWVu
dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpPdGhlciwgTWVzc2FnZUxldmVs
OjpFcnJvciwgQVNDSUlMaXRlcmFsKCJBcHBsaWNhdGlvbiBDYWNoZSBtYW5pZmVzdCBjb3VsZCBu
b3QgYmUgZmV0Y2hlZCwgYmVjYXVzZSBhIHJlZGlyZWN0aW9uIHdhcyBhdHRlbXB0ZWQuIikpOwor
ICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZhaWxMb2FkaW5nKG1fZnJhbWUs
IG1fZnJhbWUtPmxvYWRlcigpLmRvY3VtZW50TG9hZGVyKCksIG1fY3VycmVudFJlc291cmNlSWRl
bnRpZmllciwgbV9mcmFtZS0+bG9hZGVyKCkuY2FuY2VsbGVkRXJyb3IobV9tYW5pZmVzdEhhbmRs
ZS0+Zmlyc3RSZXF1ZXN0KCkpKTsKKyAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29u
c29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6QXBwQ2FjaGUsIE1lc3NhZ2VMZXZlbDo6RXJyb3Is
IEFTQ0lJTGl0ZXJhbCgiQXBwbGljYXRpb24gQ2FjaGUgbWFuaWZlc3QgY291bGQgbm90IGJlIGZl
dGNoZWQsIGJlY2F1c2UgYSByZWRpcmVjdGlvbiB3YXMgYXR0ZW1wdGVkLiIpKTsKICAgICAgICAg
Y2FjaGVVcGRhdGVGYWlsZWQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTY5MCw3ICs2
OTUsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkRmluaXNoTG9hZGluZ01hbmlm
ZXN0KCkKIAogICAgIGlmICghaXNVcGdyYWRlQXR0ZW1wdCAmJiAhbV9tYW5pZmVzdFJlc291cmNl
KSB7CiAgICAgICAgIC8vIFRoZSBzZXJ2ZXIgcmV0dXJuZWQgMzA0IE5vdCBNb2RpZmllZCBldmVu
IHRob3VnaCB3ZSBkaWRuJ3Qgc2VuZCBhIGNvbmRpdGlvbmFsIHJlcXVlc3QuCi0gICAgICAgIG1f
ZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6Ok90aGVy
LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkFwcGxpY2F0aW9uIENhY2hlIG1h
bmlmZXN0IGNvdWxkIG5vdCBiZSBmZXRjaGVkIGJlY2F1c2Ugb2YgYW4gdW5leHBlY3RlZCAzMDQg
Tm90IE1vZGlmaWVkIHNlcnZlciByZXNwb25zZS4iKSk7CisgICAgICAgIG1fZnJhbWUtPmRvY3Vt
ZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkFwcENhY2hlLCBNZXNzYWdl
TGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNv
dWxkIG5vdCBiZSBmZXRjaGVkIGJlY2F1c2Ugb2YgYW4gdW5leHBlY3RlZCAzMDQgTm90IE1vZGlm
aWVkIHNlcnZlciByZXNwb25zZS4iKSk7CiAgICAgICAgIGNhY2hlVXBkYXRlRmFpbGVkKCk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CkBAIC03MTYsNyArNzIxLDcgQEAgdm9pZCBBcHBsaWNhdGlv
bkNhY2hlR3JvdXA6OmRpZEZpbmlzaExvYWRpbmdNYW5pZmVzdCgpCiAgICAgTWFuaWZlc3QgbWFu
aWZlc3Q7CiAgICAgaWYgKCFwYXJzZU1hbmlmZXN0KG1fbWFuaWZlc3RVUkwsIG1fbWFuaWZlc3RS
ZXNvdXJjZS0+ZGF0YSgpLT5kYXRhKCksIG1fbWFuaWZlc3RSZXNvdXJjZS0+ZGF0YSgpLT5zaXpl
KCksIG1hbmlmZXN0KSkgewogICAgICAgICAvLyBBdCB0aGUgdGltZSBvZiB0aGlzIHdyaXRpbmcs
IGxhY2sgb2YgIkNBQ0hFIE1BTklGRVNUIiBzaWduYXR1cmUgaXMgdGhlIG9ubHkgcmVhc29uIGZv
ciBwYXJzZU1hbmlmZXN0IHRvIGZhaWwuCi0gICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFk
ZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6Ok90aGVyLCBNZXNzYWdlTGV2ZWw6OkVycm9y
LCBBU0NJSUxpdGVyYWwoIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBw
YXJzZWQuIERvZXMgaXQgc3RhcnQgd2l0aCBDQUNIRSBNQU5JRkVTVD8iKSk7CisgICAgICAgIG1f
ZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkFwcENh
Y2hlLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkFwcGxpY2F0aW9uIENhY2hl
IG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBwYXJzZWQuIERvZXMgaXQgc3RhcnQgd2l0aCBDQUNIRSBN
QU5JRkVTVD8iKSk7CiAgICAgICAgIGNhY2hlVXBkYXRlRmFpbGVkKCk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CkBAIC05MDUsNyArOTEwLDcgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6
OmNoZWNrSWZMb2FkSXNDb21wbGV0ZSgpCiAgICAgICAgICAgICAgICAgLy8gV2UgcmFuIG91dCBv
ZiBzcGFjZSBmb3IgdGhpcyBvcmlnaW4uIEZhbGwgZG93biB0byB0aGUgbm9ybWFsIGVycm9yIGhh
bmRsaW5nCiAgICAgICAgICAgICAgICAgLy8gYWZ0ZXIgcmVjb3JkaW5nIHRoaXMgc3RhdGUuCiAg
ICAgICAgICAgICAgICAgbV9vcmlnaW5RdW90YUV4Y2VlZGVkUHJldmlvdXNseSA9IHRydWU7Ci0g
ICAgICAgICAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVz
c2FnZVNvdXJjZTo6T3RoZXIsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQXBw
bGljYXRpb24gQ2FjaGUgdXBkYXRlIGZhaWxlZCwgYmVjYXVzZSBzaXplIHF1b3RhIHdhcyBleGNl
ZWRlZC4iKSk7CisgICAgICAgICAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29s
ZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6QXBwQ2FjaGUsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFT
Q0lJTGl0ZXJhbCgiQXBwbGljYXRpb24gQ2FjaGUgdXBkYXRlIGZhaWxlZCwgYmVjYXVzZSBzaXpl
IHF1b3RhIHdhcyBleGNlZWRlZC4iKSk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGlm
IChmYWlsdXJlUmVhc29uID09IEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOjpUb3RhbFF1b3RhUmVh
Y2hlZCAmJiAhbV9jYWxsZWRSZWFjaGVkTWF4QXBwQ2FjaGVTaXplKSB7Cg==
</data>
<flag name="review"
          id="282286"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257189</attachid>
            <date>2015-07-21 11:55:16 -0700</date>
            <delta_ts>2015-07-22 14:37:24 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>appcache2.patch</filename>
            <type>text/plain</type>
            <size>13255</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyNjU1ODNjLi5iMjc3MzI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTUtMDct
MjAgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIg
SW5zcGVjdG9yOiBBcHBDYWNoZSBtYW5pZmVzdCA0MDQgZG9lc24ndCBwcm9kdWNlIGVycm9ycyBp
biBjb25zb2xlLCBtYW5pZmVzdCByZXNvdXJjZSByZXF1ZXN0IGFsd2F5cyBsb2FkaW5nIGluZGlj
YXRvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3
MTM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL2FwcGNhY2hlLzQwNC1tYW5pZmVzdC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
aHR0cC90ZXN0cy9hcHBjYWNoZS9hYm9ydC1jYWNoZS1vbmRvd25sb2FkaW5nLW1hbmlmZXN0LTQw
NC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9hcHBjYWNoZS9kZWZlcnJlZC1l
dmVudHMtZGVsZXRlLXdoaWxlLXJhaXNpbmctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAv
dGVzdHMvYXBwY2FjaGUvZGVmZXJyZWQtZXZlbnRzLWRlbGV0ZS13aGlsZS1yYWlzaW5nLXRpbWVy
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2FwcGNhY2hlL2RlZmVycmVkLWV2
ZW50cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9hcHBjYWNoZS9mYWlsLW9u
LXVwZGF0ZS0yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2FwcGNhY2hlL2Zh
aWwtb24tdXBkYXRlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2FwcGNhY2hl
L3JlbW92ZS1jYWNoZS1leHBlY3RlZC50eHQ6CisgICAgICAgIFVwZGF0ZSB3aXRoIG5ldyBDb25z
b2xlIGVycm9ycyBhYm91dCBtYW5pZmVzdCA0MDRzLgorCiAyMDE1LTA3LTE2ICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBkaXNhcHBlYXJpbmcg
cG9zaXRpb246Zml4ZWQgZWxlbWVudHMgaW4gZml4ZWQgbGF5b3V0IG1vZGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYXBwY2FjaGUvNDA0LW1hbmlmZXN0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYXBwY2FjaGUvNDA0LW1hbmlmZXN0LWV4cGVjdGVk
LnR4dAppbmRleCBiMDQ3MDc3Li40MDEwNzUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2FwcGNhY2hlLzQwNC1tYW5pZmVzdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9hcHBjYWNoZS80MDQtbWFuaWZlc3QtZXhwZWN0ZWQudHh0CkBAIC0xLDMg
KzEsNCBAQAorQ09OU09MRSBNRVNTQUdFOiBBcHBsaWNhdGlvbiBDYWNoZSBtYW5pZmVzdCBjb3Vs
ZCBub3QgYmUgZmV0Y2hlZCwgYmVjYXVzZSB0aGUgbWFuaWZlc3QgaGFkIGEgNDA0IHJlc3BvbnNl
LgogVGVzdCB0aGF0IHN1YnJlc291cmNlcyBjYW4gYmUgbG9hZGVkIGlmIG1hbmlmZXN0IGlzIG5v
dCBhdmFpbGFibGUuIFNob3VsZCBzYXkgU1VDQ0VTUy4KIAogU1VDQ0VTUwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNoZS9hYm9ydC1jYWNoZS1vbmRvd25sb2FkaW5n
LW1hbmlmZXN0LTQwNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2FwcGNh
Y2hlL2Fib3J0LWNhY2hlLW9uZG93bmxvYWRpbmctbWFuaWZlc3QtNDA0LWV4cGVjdGVkLnR4dApp
bmRleCBjZWYxNGM3Li41ODAzNjFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2FwcGNhY2hlL2Fib3J0LWNhY2hlLW9uZG93bmxvYWRpbmctbWFuaWZlc3QtNDA0LWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2FwcGNhY2hlL2Fib3J0LWNhY2hlLW9u
ZG93bmxvYWRpbmctbWFuaWZlc3QtNDA0LWV4cGVjdGVkLnR4dApAQCAtMSwyICsxLDMgQEAKK0NP
TlNPTEUgTUVTU0FHRTogQXBwbGljYXRpb24gQ2FjaGUgbWFuaWZlc3QgY291bGQgbm90IGJlIGZl
dGNoZWQsIGJlY2F1c2UgdGhlIG1hbmlmZXN0IGhhZCBhIDQwNCByZXNwb25zZS4KIFRoaXMgdGVz
dHMgdGhhdCBkb3dubG9hZCBwcm9jZXNzIHdhcyBub3QgYWJvcnRlZCBhZnRlciBkb3dubG9hZGlu
ZyBldmVudCBzaW5jZSBtYW5pZmVzdCB3YXMgbm90IGZvdW5kLgogU1VDQ0VTUwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNoZS9kZWZlcnJlZC1ldmVudHMtZGVsZXRl
LXdoaWxlLXJhaXNpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBj
YWNoZS9kZWZlcnJlZC1ldmVudHMtZGVsZXRlLXdoaWxlLXJhaXNpbmctZXhwZWN0ZWQudHh0Cmlu
ZGV4IDhlNDFlYjYuLmFhOTQwOTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
YXBwY2FjaGUvZGVmZXJyZWQtZXZlbnRzLWRlbGV0ZS13aGlsZS1yYWlzaW5nLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2FwcGNhY2hlL2RlZmVycmVkLWV2ZW50cy1k
ZWxldGUtd2hpbGUtcmFpc2luZy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw1IEBACitDT05TT0xF
IE1FU1NBR0U6IEFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBmZXRjaGVk
LCBiZWNhdXNlIHRoZSBtYW5pZmVzdCBoYWQgYSA0MDQgcmVzcG9uc2UuCitDT05TT0xFIE1FU1NB
R0U6IEFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBmZXRjaGVkLCBiZWNh
dXNlIHRoZSBtYW5pZmVzdCBoYWQgYSA0MDQgcmVzcG9uc2UuCiBUZXN0IHRoZSBkZXN0cnVjdGlv
biBvZiBhbiBpZnJhbWUgd2hpbGUgZGVmZXJyZWQgZXZlbnRzIGFyZSBiZWluZyByYWlzZWQgZG9l
cyBub3QgY3Jhc2ggdGhlIHN5c3RlbS4KIAogU1VDQ0VTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9hcHBjYWNoZS9kZWZlcnJlZC1ldmVudHMtZGVsZXRlLXdoaWxlLXJhaXNp
bmctdGltZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNoZS9k
ZWZlcnJlZC1ldmVudHMtZGVsZXRlLXdoaWxlLXJhaXNpbmctdGltZXItZXhwZWN0ZWQudHh0Cmlu
ZGV4IDhlNDFlYjYuLmFhOTQwOTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
YXBwY2FjaGUvZGVmZXJyZWQtZXZlbnRzLWRlbGV0ZS13aGlsZS1yYWlzaW5nLXRpbWVyLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2FwcGNhY2hlL2RlZmVycmVkLWV2
ZW50cy1kZWxldGUtd2hpbGUtcmFpc2luZy10aW1lci1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw1
IEBACitDT05TT0xFIE1FU1NBR0U6IEFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5v
dCBiZSBmZXRjaGVkLCBiZWNhdXNlIHRoZSBtYW5pZmVzdCBoYWQgYSA0MDQgcmVzcG9uc2UuCitD
T05TT0xFIE1FU1NBR0U6IEFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBm
ZXRjaGVkLCBiZWNhdXNlIHRoZSBtYW5pZmVzdCBoYWQgYSA0MDQgcmVzcG9uc2UuCiBUZXN0IHRo
ZSBkZXN0cnVjdGlvbiBvZiBhbiBpZnJhbWUgd2hpbGUgZGVmZXJyZWQgZXZlbnRzIGFyZSBiZWlu
ZyByYWlzZWQgZG9lcyBub3QgY3Jhc2ggdGhlIHN5c3RlbS4KIAogU1VDQ0VTUwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNoZS9kZWZlcnJlZC1ldmVudHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNoZS9kZWZlcnJlZC1ldmVudHMt
ZXhwZWN0ZWQudHh0CmluZGV4IDQ1YWYwYWYuLjM2NzY2Y2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvYXBwY2FjaGUvZGVmZXJyZWQtZXZlbnRzLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2FwcGNhY2hlL2RlZmVycmVkLWV2ZW50cy1leHBlY3Rl
ZC50eHQKQEAgLTEsMiArMSwzIEBACitDT05TT0xFIE1FU1NBR0U6IEFwcGxpY2F0aW9uIENhY2hl
IG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBmZXRjaGVkLCBiZWNhdXNlIHRoZSBtYW5pZmVzdCBoYWQg
YSA0MDQgcmVzcG9uc2UuCiBUZXN0IHRoYXQgQXBwaWNhdGlvbkNhY2hlIGV2ZW50cyBhcmUgZGVm
ZXJyZWQgdW50aWwgYWZ0ZXIgb25sb2FkIGhhcyBiZWVuIGZpcmVkLgogU1VDQ0VTUwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNoZS9mYWlsLW9uLXVwZGF0ZS0yLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYXBwY2FjaGUvZmFpbC1vbi11cGRh
dGUtMi1leHBlY3RlZC50eHQKaW5kZXggY2QxNTI0Ny4uMjY2Y2M3ZCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNoZS9mYWlsLW9uLXVwZGF0ZS0yLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2FwcGNhY2hlL2ZhaWwtb24tdXBkYXRlLTIt
ZXhwZWN0ZWQudHh0CkBAIC0xICsxLDIgQEAKK0NPTlNPTEUgTUVTU0FHRTogQXBwbGljYXRpb24g
Q2FjaGUgbWFuaWZlc3QgY291bGQgbm90IGJlIGZldGNoZWQsIGJlY2F1c2UgdGhlIG1hbmlmZXN0
IGhhZCBhIDQwNCByZXNwb25zZS4KIFNVQ0NFU1M6IE5vIGNyYXNoLgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNoZS9mYWlsLW9uLXVwZGF0ZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2FwcGNhY2hlL2ZhaWwtb24tdXBkYXRlLWV4cGVjdGVk
LnR4dAppbmRleCBjZDE1MjQ3Li4yNjZjYzdkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2FwcGNhY2hlL2ZhaWwtb24tdXBkYXRlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2FwcGNhY2hlL2ZhaWwtb24tdXBkYXRlLWV4cGVjdGVkLnR4dApAQCAt
MSArMSwyIEBACitDT05TT0xFIE1FU1NBR0U6IEFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNv
dWxkIG5vdCBiZSBmZXRjaGVkLCBiZWNhdXNlIHRoZSBtYW5pZmVzdCBoYWQgYSA0MDQgcmVzcG9u
c2UuCiBTVUNDRVNTOiBObyBjcmFzaC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvYXBwY2FjaGUvcmVtb3ZlLWNhY2hlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvYXBwY2FjaGUvcmVtb3ZlLWNhY2hlLWV4cGVjdGVkLnR4dAppbmRleCA5ZTIzYmExLi5h
ZDNhYmFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2FwcGNhY2hlL3JlbW92
ZS1jYWNoZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNo
ZS9yZW1vdmUtY2FjaGUtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsNSBAQAorQ09OU09MRSBNRVNT
QUdFOiBBcHBsaWNhdGlvbiBDYWNoZSBtYW5pZmVzdCBjb3VsZCBub3QgYmUgZmV0Y2hlZCwgYmVj
YXVzZSB0aGUgbWFuaWZlc3QgaGFkIGEgNDA0IHJlc3BvbnNlLgorQ09OU09MRSBNRVNTQUdFOiBB
cHBsaWNhdGlvbiBDYWNoZSBtYW5pZmVzdCBjb3VsZCBub3QgYmUgZmV0Y2hlZCwgYmVjYXVzZSB0
aGUgbWFuaWZlc3QgaGFkIGEgNDA0IHJlc3BvbnNlLgogVGVzdCB0aGF0IGEgNDA0IHJlc3BvbnNl
IGZvciBtYW5pZmVzdCByZXN1bHRzIGluIGNhY2hlIHJlbW92YWwuCiAKIEZyYW1lIDE6IE1hbmlm
ZXN0IGlzIHN0aWxsIGF2YWlsYWJsZSwgc28gYSBuZXcgbWFzdGVyIHJlc291cmNlIGlzIGFkZGVk
IHRvIHRoZSBjYWNoZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0ODk0NzMyLi5kY2EzMmZjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjMgQEAKKzIwMTUtMDctMjAgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJv
QGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBBcHBDYWNoZSBtYW5pZmVzdCA0
MDQgZG9lc24ndCBwcm9kdWNlIGVycm9ycyBpbiBjb25zb2xlLCBtYW5pZmVzdCByZXNvdXJjZSBy
ZXF1ZXN0IGFsd2F5cyBsb2FkaW5nIGluZGljYXRvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3MTM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBsb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNo
ZUdyb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlk
UmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgQWx3YXlzIHBhc3MgYSBkb2N1bWVudCBsb2FkZXIg
aW5zdGVhZCBvZiBwYXNzaW5nIG51bGwgZm9yIHRoZSBtYW5pZmVzdCByZXF1ZXN0LgorCisgICAg
ICAgIChXZWJDb3JlOjpBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmRpZFJlY2VpdmVNYW5pZmVzdFJl
c3BvbnNlKToKKyAgICAgICAgU2luY2Ugd2Ugd2lsbCBiZSBjYW5jZWxsaW5nIHRoZSByZXNvdXJj
ZSBoYW5kbGUgb3Vyc2VsdmVzIGluIGRpZFJlY2VpdmVSZXNwb25zZQorICAgICAgICBiZWZvcmUg
cmVjZWl2aW5nIHRoZSBkaWRGYWlsIHJlc291cmNlIGhhbmRsZSBkZWxlZ2F0ZXMsIHdlIHNob3Vs
ZCB1cGRhdGUgdGhlCisgICAgICAgIGluc3BlY3RvciBhYm91dCB0aGlzIHJlc291cmNlIGxvYWQg
ZmFpbGluZyBkdWUgdG8gYSBjYW5jZWwuCisKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9u
Q2FjaGVHcm91cDo6ZGlkRmluaXNoTG9hZGluZ01hbmlmZXN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6Y2hlY2tJZkxvYWRJc0NvbXBsZXRlKToKKyAgICAgICAg
VXBkYXRlIHRoZSBNZXNzYWdlU291cmNlIGZyb20gIk90aGVyIiB0byAiQXBwQ2FjaGUiLgorCiAy
MDE1LTA3LTE2ICBNYXR0IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KIAogICAgICAgICBNZWRp
YSBTZXNzaW9uOiBoYW5kbGUgJ1RyYW5zaWVudCcgYW5kICdUcmFuc2llbnQgU29sbycgaW50ZXJy
dXB0aW9uIGV2ZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hl
L0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2Fj
aGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcAppbmRleCA1OWJjYWM5Li5kZmVkMDQ3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdy
b3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25D
YWNoZUdyb3VwLmNwcApAQCAtNDU4LDcgKzQ1OCw3IEBAIHZvaWQgQXBwbGljYXRpb25DYWNoZUdy
b3VwOjphYm9ydChGcmFtZSogZnJhbWUpCiAgICAgaWYgKG1fY29tcGxldGlvblR5cGUgIT0gTm9u
ZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVN
ZXNzYWdlKE1lc3NhZ2VTb3VyY2U6Ok5ldHdvcmssIE1lc3NhZ2VMZXZlbDo6RGVidWcsIEFTQ0lJ
TGl0ZXJhbCgiQXBwbGljYXRpb24gQ2FjaGUgZG93bmxvYWQgcHJvY2VzcyB3YXMgYWJvcnRlZC4i
KSk7CisgICAgZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3Vy
Y2U6OkFwcENhY2hlLCBNZXNzYWdlTGV2ZWw6OkRlYnVnLCBBU0NJSUxpdGVyYWwoIkFwcGxpY2F0
aW9uIENhY2hlIGRvd25sb2FkIHByb2Nlc3Mgd2FzIGFib3J0ZWQuIikpOwogICAgIGNhY2hlVXBk
YXRlRmFpbGVkKCk7CiB9CiAKQEAgLTQ5MSw5ICs0OTEsOSBAQCBQYXNzUmVmUHRyPFJlc291cmNl
SGFuZGxlPiBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmNyZWF0ZVJlc291cmNlSGFuZGxlKGNvbnN0
IFVSTAogCiB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkUmVjZWl2ZVJlc3BvbnNlKFJl
c291cmNlSGFuZGxlKiBoYW5kbGUsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQog
ewotICAgIERvY3VtZW50TG9hZGVyKiBsb2FkZXIgPSAoaGFuZGxlID09IG1fbWFuaWZlc3RIYW5k
bGUpID8gbnVsbHB0ciA6IG1fZnJhbWUtPmxvYWRlcigpLmRvY3VtZW50TG9hZGVyKCk7CisgICAg
QVNTRVJUKG1fZnJhbWUpOwogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBjb29r
aWUgPSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxSZWNlaXZlUmVzb3VyY2VSZXNwb25z
ZShtX2ZyYW1lKTsKLSAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVSZXNv
dXJjZVJlc3BvbnNlKGNvb2tpZSwgbV9jdXJyZW50UmVzb3VyY2VJZGVudGlmaWVyLCBsb2FkZXIs
IHJlc3BvbnNlLCAwKTsKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVS
ZXNvdXJjZVJlc3BvbnNlKGNvb2tpZSwgbV9jdXJyZW50UmVzb3VyY2VJZGVudGlmaWVyLCBtX2Zy
YW1lLT5sb2FkZXIoKS5kb2N1bWVudExvYWRlcigpLCByZXNwb25zZSwgMCk7CiAKICAgICBpZiAo
aGFuZGxlID09IG1fbWFuaWZlc3RIYW5kbGUpIHsKICAgICAgICAgZGlkUmVjZWl2ZU1hbmlmZXN0
UmVzcG9uc2UocmVzcG9uc2UpOwpAQCAtNjU2LDYgKzY1Niw4IEBAIHZvaWQgQXBwbGljYXRpb25D
YWNoZUdyb3VwOjpkaWRSZWNlaXZlTWFuaWZlc3RSZXNwb25zZShjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJiByCiAgICAgQVNTRVJUKG1fbWFuaWZlc3RIYW5kbGUpOwogCiAgICAgaWYgKHJlc3BvbnNl
Lmh0dHBTdGF0dXNDb2RlKCkgPT0gNDA0IHx8IHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkgPT0g
NDEwKSB7CisgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRmFpbExvYWRpbmco
bV9mcmFtZSwgbV9mcmFtZS0+bG9hZGVyKCkuZG9jdW1lbnRMb2FkZXIoKSwgbV9jdXJyZW50UmVz
b3VyY2VJZGVudGlmaWVyLCBtX2ZyYW1lLT5sb2FkZXIoKS5jYW5jZWxsZWRFcnJvcihtX21hbmlm
ZXN0SGFuZGxlLT5maXJzdFJlcXVlc3QoKSkpOworICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgp
LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpBcHBDYWNoZSwgTWVzc2FnZUxldmVs
OjpFcnJvciwgbWFrZVN0cmluZygiQXBwbGljYXRpb24gQ2FjaGUgbWFuaWZlc3QgY291bGQgbm90
IGJlIGZldGNoZWQsIGJlY2F1c2UgdGhlIG1hbmlmZXN0IGhhZCBhICIsIFN0cmluZzo6bnVtYmVy
KHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkpLCAiIHJlc3BvbnNlLiIpKTsKICAgICAgICAgbWFu
aWZlc3ROb3RGb3VuZCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNjY0LDEzICs2NjYs
MTUgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmRpZFJlY2VpdmVNYW5pZmVzdFJlc3Bv
bnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHIKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYg
KHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkgLyAxMDAgIT0gMikgewotICAgICAgICBtX2ZyYW1l
LT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpPdGhlciwgTWVz
c2FnZUxldmVsOjpFcnJvciwgQVNDSUlMaXRlcmFsKCJBcHBsaWNhdGlvbiBDYWNoZSBtYW5pZmVz
dCBjb3VsZCBub3QgYmUgZmV0Y2hlZC4iKSk7CisgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6ZGlkRmFpbExvYWRpbmcobV9mcmFtZSwgbV9mcmFtZS0+bG9hZGVyKCkuZG9jdW1lbnRM
b2FkZXIoKSwgbV9jdXJyZW50UmVzb3VyY2VJZGVudGlmaWVyLCBtX2ZyYW1lLT5sb2FkZXIoKS5j
YW5jZWxsZWRFcnJvcihtX21hbmlmZXN0SGFuZGxlLT5maXJzdFJlcXVlc3QoKSkpOworICAgICAg
ICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpB
cHBDYWNoZSwgTWVzc2FnZUxldmVsOjpFcnJvciwgbWFrZVN0cmluZygiQXBwbGljYXRpb24gQ2Fj
aGUgbWFuaWZlc3QgY291bGQgbm90IGJlIGZldGNoZWQsIGJlY2F1c2UgdGhlIG1hbmlmZXN0IGhh
ZCBhICIsIFN0cmluZzo6bnVtYmVyKHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkpLCAiIHJlc3Bv
bnNlLiIpKTsKICAgICAgICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIAogICAgIGlmIChyZXNwb25zZS51cmwoKSAhPSBtX21hbmlmZXN0SGFuZGxlLT5maXJz
dFJlcXVlc3QoKS51cmwoKSkgewotICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25z
b2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpPdGhlciwgTWVzc2FnZUxldmVsOjpFcnJvciwgQVND
SUlMaXRlcmFsKCJBcHBsaWNhdGlvbiBDYWNoZSBtYW5pZmVzdCBjb3VsZCBub3QgYmUgZmV0Y2hl
ZCwgYmVjYXVzZSBhIHJlZGlyZWN0aW9uIHdhcyBhdHRlbXB0ZWQuIikpOworICAgICAgICBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZhaWxMb2FkaW5nKG1fZnJhbWUsIG1fZnJhbWUtPmxv
YWRlcigpLmRvY3VtZW50TG9hZGVyKCksIG1fY3VycmVudFJlc291cmNlSWRlbnRpZmllciwgbV9m
cmFtZS0+bG9hZGVyKCkuY2FuY2VsbGVkRXJyb3IobV9tYW5pZmVzdEhhbmRsZS0+Zmlyc3RSZXF1
ZXN0KCkpKTsKKyAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2Uo
TWVzc2FnZVNvdXJjZTo6QXBwQ2FjaGUsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJh
bCgiQXBwbGljYXRpb24gQ2FjaGUgbWFuaWZlc3QgY291bGQgbm90IGJlIGZldGNoZWQsIGJlY2F1
c2UgYSByZWRpcmVjdGlvbiB3YXMgYXR0ZW1wdGVkLiIpKTsKICAgICAgICAgY2FjaGVVcGRhdGVG
YWlsZWQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTY5MCw3ICs2OTQsNyBAQCB2b2lk
IEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkRmluaXNoTG9hZGluZ01hbmlmZXN0KCkKIAogICAg
IGlmICghaXNVcGdyYWRlQXR0ZW1wdCAmJiAhbV9tYW5pZmVzdFJlc291cmNlKSB7CiAgICAgICAg
IC8vIFRoZSBzZXJ2ZXIgcmV0dXJuZWQgMzA0IE5vdCBNb2RpZmllZCBldmVuIHRob3VnaCB3ZSBk
aWRuJ3Qgc2VuZCBhIGNvbmRpdGlvbmFsIHJlcXVlc3QuCi0gICAgICAgIG1fZnJhbWUtPmRvY3Vt
ZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6Ok90aGVyLCBNZXNzYWdlTGV2
ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxk
IG5vdCBiZSBmZXRjaGVkIGJlY2F1c2Ugb2YgYW4gdW5leHBlY3RlZCAzMDQgTm90IE1vZGlmaWVk
IHNlcnZlciByZXNwb25zZS4iKSk7CisgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENv
bnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkFwcENhY2hlLCBNZXNzYWdlTGV2ZWw6OkVycm9y
LCBBU0NJSUxpdGVyYWwoIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBm
ZXRjaGVkIGJlY2F1c2Ugb2YgYW4gdW5leHBlY3RlZCAzMDQgTm90IE1vZGlmaWVkIHNlcnZlciBy
ZXNwb25zZS4iKSk7CiAgICAgICAgIGNhY2hlVXBkYXRlRmFpbGVkKCk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CkBAIC03MTYsNyArNzIwLDcgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6
OmRpZEZpbmlzaExvYWRpbmdNYW5pZmVzdCgpCiAgICAgTWFuaWZlc3QgbWFuaWZlc3Q7CiAgICAg
aWYgKCFwYXJzZU1hbmlmZXN0KG1fbWFuaWZlc3RVUkwsIG1fbWFuaWZlc3RSZXNvdXJjZS0+ZGF0
YSgpLT5kYXRhKCksIG1fbWFuaWZlc3RSZXNvdXJjZS0+ZGF0YSgpLT5zaXplKCksIG1hbmlmZXN0
KSkgewogICAgICAgICAvLyBBdCB0aGUgdGltZSBvZiB0aGlzIHdyaXRpbmcsIGxhY2sgb2YgIkNB
Q0hFIE1BTklGRVNUIiBzaWduYXR1cmUgaXMgdGhlIG9ubHkgcmVhc29uIGZvciBwYXJzZU1hbmlm
ZXN0IHRvIGZhaWwuCi0gICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNz
YWdlKE1lc3NhZ2VTb3VyY2U6Ok90aGVyLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVy
YWwoIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBwYXJzZWQuIERvZXMg
aXQgc3RhcnQgd2l0aCBDQUNIRSBNQU5JRkVTVD8iKSk7CisgICAgICAgIG1fZnJhbWUtPmRvY3Vt
ZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkFwcENhY2hlLCBNZXNzYWdl
TGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNv
dWxkIG5vdCBiZSBwYXJzZWQuIERvZXMgaXQgc3RhcnQgd2l0aCBDQUNIRSBNQU5JRkVTVD8iKSk7
CiAgICAgICAgIGNhY2hlVXBkYXRlRmFpbGVkKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBA
IC05MDUsNyArOTA5LDcgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmNoZWNrSWZMb2Fk
SXNDb21wbGV0ZSgpCiAgICAgICAgICAgICAgICAgLy8gV2UgcmFuIG91dCBvZiBzcGFjZSBmb3Ig
dGhpcyBvcmlnaW4uIEZhbGwgZG93biB0byB0aGUgbm9ybWFsIGVycm9yIGhhbmRsaW5nCiAgICAg
ICAgICAgICAgICAgLy8gYWZ0ZXIgcmVjb3JkaW5nIHRoaXMgc3RhdGUuCiAgICAgICAgICAgICAg
ICAgbV9vcmlnaW5RdW90YUV4Y2VlZGVkUHJldmlvdXNseSA9IHRydWU7Ci0gICAgICAgICAgICAg
ICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6
T3RoZXIsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQXBwbGljYXRpb24gQ2Fj
aGUgdXBkYXRlIGZhaWxlZCwgYmVjYXVzZSBzaXplIHF1b3RhIHdhcyBleGNlZWRlZC4iKSk7Cisg
ICAgICAgICAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVz
c2FnZVNvdXJjZTo6QXBwQ2FjaGUsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgi
QXBwbGljYXRpb24gQ2FjaGUgdXBkYXRlIGZhaWxlZCwgYmVjYXVzZSBzaXplIHF1b3RhIHdhcyBl
eGNlZWRlZC4iKSk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGlmIChmYWlsdXJlUmVh
c29uID09IEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOjpUb3RhbFF1b3RhUmVhY2hlZCAmJiAhbV9j
YWxsZWRSZWFjaGVkTWF4QXBwQ2FjaGVTaXplKSB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>