<?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>54886</bug_id>
          
          <creation_ts>2011-02-21 09:07:52 -0800</creation_ts>
          <short_desc>WebResourceCacheManager needs to manage the CFURLCache</short_desc>
          <delta_ts>2011-02-22 15:45:18 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brian Weinstein">bweinstein</reporter>
          <assigned_to name="Brian Weinstein">bweinstein</assigned_to>
          <cc>ap</cc>
    
    <cc>aroben</cc>
    
    <cc>buildbot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>354625</commentid>
    <comment_count>0</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2011-02-21 09:07:52 -0800</bug_when>
    <thetext>WebResourceCacheManager needs to manage the CFURLCache

It currently only supposed the WebCore memory cache. It should also support the CFURLCache on platforms that use CFNetwork.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354626</commentid>
    <comment_count>1</comment_count>
      <attachid>83171</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2011-02-21 09:14:13 -0800</bug_when>
    <thetext>Created attachment 83171
[PATCH] Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354628</commentid>
    <comment_count>2</comment_count>
      <attachid>83171</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-02-21 09:20:42 -0800</bug_when>
    <thetext>Comment on attachment 83171
[PATCH] Fix

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

I think you should share the Mac and Windows code by putting it in a new WebProcess/ResourceCache/cfnet/WebResourceCacheManagerCFNet.cpp and using a macro or an inline function to make it so you can use the same function names on both platforms. If you do that you should probably upload a new patch.

&gt; Source/WebKit2/WebProcess/ResourceCache/WebResourceCacheManager.cpp:72
&gt; +        CFStringRef host = (CFStringRef) CFArrayGetValueAtIndex(cfURLHosts.get(), i);

Please use a C++ cast.

&gt; Source/WebKit2/WebProcess/ResourceCache/WebResourceCacheManager.cpp:73
&gt; +        origins.add(SecurityOrigin::create(&quot;http&quot;, host, 0));

Should we store &quot;http&quot; in a String so we don&apos;t do the char*-&gt;String conversion on every iteration of the loop?

&gt; Source/WebKit2/WebProcess/ResourceCache/WebResourceCacheManager.h:63
&gt; +    CFArrayRef cfURLCacheHostNames() const;
&gt; +    void clearCFURLCacheForHostNames(CFArrayRef) const;

The getter should return a RetainPtr. Maybe these should be static member functions?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354634</commentid>
    <comment_count>3</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-21 09:25:19 -0800</bug_when>
    <thetext>Attachment 83171 did not build on win:
Build output: http://queues.webkit.org/results/7942034</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354689</commentid>
    <comment_count>4</comment_count>
      <attachid>83190</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2011-02-21 10:51:01 -0800</bug_when>
    <thetext>Created attachment 83190
[PATCH] Take 2 - Old Mac Project File

The Mac project file hasn&apos;t been updated yet with the refactoring to WebResourceCacheManagerCFNet yet, but will be before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354691</commentid>
    <comment_count>5</comment_count>
      <attachid>83190</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-02-21 10:53:45 -0800</bug_when>
    <thetext>Comment on attachment 83190
[PATCH] Take 2 - Old Mac Project File

Brian said he&apos;s going to update WebKit2.xcodeproj soon, once he can use his Mac again. And that he&apos;ll update WKSI before checking in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354701</commentid>
    <comment_count>6</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-21 11:15:22 -0800</bug_when>
    <thetext>Attachment 83190 did not build on win:
Build output: http://queues.webkit.org/results/7938892</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354749</commentid>
    <comment_count>7</comment_count>
      <attachid>83205</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2011-02-21 12:47:56 -0800</bug_when>
    <thetext>Created attachment 83205
[PATCH] Take 3 - Mac Project File + Feature Define</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354792</commentid>
    <comment_count>8</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-21 13:54:17 -0800</bug_when>
    <thetext>Attachment 83205 did not build on win:
Build output: http://queues.webkit.org/results/7939861</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354804</commentid>
    <comment_count>9</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2011-02-21 14:28:41 -0800</bug_when>
    <thetext>Landed in r79252.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355603</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-22 14:24:23 -0800</bug_when>
    <thetext>WebKitSystemInterface.h capitalizes names differently for the very reason of preventing directly using them. Please have a look at how all other WK exports work - you need to add them WebCore/WebCoreSystemInterface, and then to both WebKit1 and WebKit2 WebSystemInterface.

Please fix it soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355613</commentid>
    <comment_count>11</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-22 14:32:36 -0800</bug_when>
    <thetext>Brian explained that this WKSI use is not in WebCore, so what I said made no sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355659</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-22 15:45:18 -0800</bug_when>
    <thetext>It&apos;s still strange that this is the only WKSI function that we ever used in cross-platform code in WebKit. Could this mean that this code should really be moved to WebCore? WebKit should ideally be nothing but a thin wrapper around WebCore.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83171</attachid>
            <date>2011-02-21 09:14:13 -0800</date>
            <delta_ts>2011-02-21 10:51:01 -0800</delta_ts>
            <desc>[PATCH] Fix</desc>
            <filename>cfurlcache_webkit.patch</filename>
            <type>text/plain</type>
            <size>13306</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDc5MDY5KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTEtMDItMTggIEJyaWFuIFdl
aW5zdGVpbiAgPGJ3ZWluc3RlaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyIHNob3VsZCBi
ZSByZXNwb25zaWJsZSBmb3IgbWFuYWdpbmcgdGhlIENGVVJMQ2FjaGUgYXMgd2VsbAorICAgICAg
ICBhcyB0aGUgV2ViQ29yZSBtZW1vcnkgY2FjaGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDg4NgorICAgICAgICBQYXJ0IG9mIDxyZGFyOi8vcHJv
YmxlbS84OTcxNzM4PgorCisgICAgICAgICogV2ViUHJvY2Vzcy9SZXNvdXJjZUNhY2hlL1dlYlJl
c291cmNlQ2FjaGVNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VDYWNo
ZU1hbmFnZXI6OmdldENhY2hlT3JpZ2lucyk6IENhbGwgdGhyb3VnaCB0byBjRlVSTENhY2hlSG9z
dE5hbWVzLCBhbmQgYWRkCisgICAgICAgICAgICBjcmVhdGUgU2VjdXJpdHlPcmlnaW4ncyBmb3Ig
dGhlbSBhbmQgYWRkIHRoZW0gdG8gdGhlIHNldCBvZiBTZWN1cml0eU9yaWdpbnMgd2l0aCBjYWNo
ZS4KKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VDYWNoZU1hbmFnZXI6OmNsZWFyQ2FjaGVG
b3JPcmlnaW4pOiBDYWxsIHRocm91Z2ggdG8gY2xlYXIgdGhlIENGVVJMQ2FjaGUgZm9yCisgICAg
ICAgICAgICB0aGUgb3JpZ2luJ3MgaG9zdG5hbWUuCisgICAgICAgICogV2ViUHJvY2Vzcy9SZXNv
dXJjZUNhY2hlL1dlYlJlc291cmNlQ2FjaGVNYW5hZ2VyLmg6CisKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1Jlc291cmNlQ2FjaGUvbWFjOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1Jlc291
cmNlQ2FjaGUvbWFjL1dlYlJlc291cmNlQ2FjaGVNYW5hZ2VyTWFjLm1tOiBBZGRlZC4KKyAgICAg
ICAgKFdlYktpdDo6V2ViUmVzb3VyY2VDYWNoZU1hbmFnZXI6OmNmVVJMQ2FjaGVIb3N0TmFtZXMp
OiBDYWxsIHRocm91Z2ggdG8gV2ViS2l0U3lzdGVtSW50ZXJmYWNlLgorICAgICAgICAoV2ViS2l0
OjpXZWJSZXNvdXJjZUNhY2hlTWFuYWdlcjo6Y2xlYXJDRlVSTENhY2hlRm9ySG9zdE5hbWVzKTog
RGl0dG8uCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1Jlc291cmNlQ2FjaGUvd2luOiBBZGRlZC4K
KyAgICAgICAgKiBXZWJQcm9jZXNzL1Jlc291cmNlQ2FjaGUvd2luL1dlYlJlc291cmNlQ2FjaGVN
YW5hZ2VyV2luLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlQ2FjaGVN
YW5hZ2VyOjpjZlVSTENhY2hlSG9zdE5hbWVzKTogQ2FsbCB0aHJvdWdoIHRvIFdlYktpdFN5c3Rl
bUludGVyZmFjZS4KKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VDYWNoZU1hbmFnZXI6OmNs
ZWFyQ0ZVUkxDYWNoZUZvckhvc3ROYW1lcyk6IERpdHRvLgorCisgICAgICAgICogd2luL1dlYktp
dDIudmNwcm9qOiBBZGRlZCBuZXcgZmlsZS4KKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6IERpdHRvLgorCiAyMDExLTAyLTE4ICBTYW0gV2VpbmlnICA8c2FtQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRlbGUgUGV0ZXJzb24uCkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShy
ZXZpc2lvbiA3ODkyNSkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMjU3LDYgKzI1Nyw3IEBACiAJCTMzMzY3NjU2
MTMwQzlFQ0EwMDZDOURFMiAvKiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlck1lc3NhZ2VzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzM2NzY1MjEzMEM5
RUNBMDA2QzlERTIgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJNZXNzYWdlcy5oICovOyB9Owog
CQkzMzM2NzY1NzEzMEM5RUNBMDA2QzlERTIgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94
eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMzM2NzY1MzEzMEM5RUNBMDA2QzlERTIgLyogV2ViUmVzb3VyY2VDYWNoZU1h
bmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTMzMzY3NjU4MTMwQzlFQ0Iw
MDZDOURFMiAvKiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5TWVzc2FnZXMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzMzY3NjU0MTMwQzlFQ0Ew
MDZDOURFMiAvKiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5TWVzc2FnZXMuaCAqLzsgfTsK
KwkJMzNERjU4NTgxMzBGMzRCNTAwNjM1NzBDIC8qIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyTWFj
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzNERjU4
NTcxMzBGMzRCNTAwNjM1NzBDIC8qIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyTWFjLm1tICovOyB9
OwogCQkzN0Y2MjNCODEyQTU3QjYyMDBFM0ZERjYgLyogV0tGaW5kT3B0aW9ucy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdGNjIzQjcxMkE1N0I2MjAw
RTNGREY2IC8qIFdLRmluZE9wdGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
dWJsaWMsICk7IH07IH07CiAJCTUxMDIxRTlDMTJCMTY3ODgwMDVDMDMzQyAvKiBXZWJDb250ZXh0
TWVudUNsaWVudE1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxMDIxRTlCMTJCMTY3ODgwMDVDMDMzQyAvKiBXZWJDb250ZXh0TWVudUNsaWVudE1h
Yy5tbSAqLzsgfTsKIAkJNTEwRkJCOUExMjg4Qzk1RTAwQUZGREY0IC8qIFdlYkNvbnRleHRNZW51
SXRlbURhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTEwRkJCOTgxMjg4Qzk1RTAwQUZGREY0IC8qIFdlYkNvbnRleHRNZW51SXRlbURhdGEuY3Bw
ICovOyB9OwpAQCAtMTA1MCw2ICsxMDUxLDcgQEAKIAkJMzMzNjc2NTIxMzBDOUVDQTAwNkM5REUy
IC8qIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJNZXNzYWdlcy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkzMzM2NzY1MzEzMEM5RUNBMDA2QzlERTIgLyogV2ViUmVz
b3VyY2VDYWNoZU1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5TWVzc2Fn
ZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzMzNjc2NTQxMzBD
OUVDQTAwNkM5REUyIC8qIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHlNZXNzYWdlcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclBy
b3h5TWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzNERjU4NTcxMzBG
MzRCNTAwNjM1NzBDIC8qIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyTWFjLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJNYWMu
bW07IHBhdGggPSBSZXNvdXJjZUNhY2hlL21hYy9XZWJSZXNvdXJjZUNhY2hlTWFuYWdlck1hYy5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzdGNjIzQjcxMkE1N0I2MjAwRTNGREY2
IC8qIFdLRmluZE9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tG
aW5kT3B0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTAyMUU5QjEyQjE2
Nzg4MDA1QzAzM0MgLyogV2ViQ29udGV4dE1lbnVDbGllbnRNYWMubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJDb250ZXh0TWVudUNsaWVudE1hYy5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEwRkJCOTgxMjg4Qzk1RTAwQUZGREY0IC8qIFdl
YkNvbnRleHRNZW51SXRlbURhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gV2ViQ29udGV4dE1lbnVJdGVtRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0yMDYwLDYgKzIwNjIsNyBAQAogCQkzMzM2NzYyQjEzMEM5OTc4MDA2QzlERTIgLyog
UmVzb3VyY2VDYWNoZSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAo
CisJCQkJMzNERjU4NTkxMzBGMzRGMzAwNjM1NzBDIC8qIG1hYyAqLywKIAkJCQkzMzM2NzYyQzEz
MEM5OTk4MDA2QzlERTIgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXIuY3BwICovLAogCQkJCTMz
MzY3NjJEMTMwQzk5OTgwMDZDOURFMiAvKiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5oICovLAog
CQkJCTMzMzY3NjJFMTMwQzk5OTgwMDZDOURFMiAvKiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5t
ZXNzYWdlcy5pbiAqLywKQEAgLTIwNjcsNiArMjA3MCwxNCBAQAogCQkJbmFtZSA9IFJlc291cmNl
Q2FjaGU7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQkzM0RGNTg1OTEzMEYz
NEYzMDA2MzU3MEMgLyogbWFjICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJl
biA9ICgKKwkJCQkzM0RGNTg1NzEzMEYzNEI1MDA2MzU3MEMgLyogV2ViUmVzb3VyY2VDYWNoZU1h
bmFnZXJNYWMubW0gKi8sCisJCQkpOworCQkJbmFtZSA9IG1hYzsKKwkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CisJCX07CiAJCTUxMkY1ODg2MTJBODgzNDcwMDYyOTUzMCAvKiBBdXRoZW50aWNh
dGlvbiAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC0zNzM2
LDYgKzM3NDcsNyBAQAogCQkJCTMzMzY3NjU1MTMwQzlFQ0EwMDZDOURFMiAvKiBXZWJSZXNvdXJj
ZUNhY2hlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMzM2
NzY1NzEzMEM5RUNBMDA2QzlERTIgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eU1lc3Nh
Z2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMzE1Mjk3NTEzMEQwQ0IyMDBFRDI0
ODMgLyogU2VjdXJpdHlPcmlnaW5EYXRhLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMzREY1ODU4
MTMwRjM0QjUwMDYzNTcwQyAvKiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlck1hYy5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAw
OwogCQl9OwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9SZXNvdXJjZUNhY2hlL1dl
YlJlc291cmNlQ2FjaGVNYW5hZ2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1Jlc291cmNlQ2FjaGUvV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXIuY3BwCShyZXZp
c2lvbiA3ODkyNSkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUmVzb3VyY2VDYWNoZS9X
ZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY1LDYgKzY1LDE2
IEBAIHZvaWQgV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXI6OmdldENhY2hlT3IKICAgICBNZW1vcnlD
YWNoZTo6U2VjdXJpdHlPcmlnaW5TZXQgb3JpZ2luczsKICAgICBtZW1vcnlDYWNoZSgpLT5nZXRP
cmlnaW5zV2l0aENhY2hlKG9yaWdpbnMpOwogCisjaWYgVVNFKENGTkVUV09SSykKKyAgICBSZXRh
aW5QdHI8Q0ZBcnJheVJlZj4gY2ZVUkxIb3N0cyhBZG9wdENGLCBjZlVSTENhY2hlSG9zdE5hbWVz
KCkpOyAKKyAgICBDRkluZGV4IHNpemUgPSBDRkFycmF5R2V0Q291bnQoY2ZVUkxIb3N0cy5nZXQo
KSk7CisgICAgZm9yIChDRkluZGV4IGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7CisgICAgICAgIENG
U3RyaW5nUmVmIGhvc3QgPSAoQ0ZTdHJpbmdSZWYpIENGQXJyYXlHZXRWYWx1ZUF0SW5kZXgoY2ZV
UkxIb3N0cy5nZXQoKSwgaSk7CisgICAgICAgIG9yaWdpbnMuYWRkKFNlY3VyaXR5T3JpZ2luOjpj
cmVhdGUoImh0dHAiLCBob3N0LCAwKSk7CisgICAgfQorI2VuZGlmCisKKyAgICAvLyBDcmVhdGUg
YSBsaXN0IHdpdGggdGhlIG9yaWdpbnMgaW4gYm90aCBvZiB0aGUgY2FjaGVzLgogICAgIFZlY3Rv
cjxTZWN1cml0eU9yaWdpbkRhdGE+IGlkZW50aWZpZXJzOwogICAgIGlkZW50aWZpZXJzLnJlc2Vy
dmVDYXBhY2l0eShvcmlnaW5zLnNpemUoKSk7CiAKQEAgLTkwLDYgKzEwMCwxNCBAQCB2b2lkIFdl
YlJlc291cmNlQ2FjaGVNYW5hZ2VyOjpjbGVhckNhY2hlCiAgICAgICAgIHJldHVybjsKIAogICAg
IG1lbW9yeUNhY2hlKCktPnJlbW92ZVJlc291cmNlc1dpdGhPcmlnaW4ob3JpZ2luLmdldCgpKTsK
KworI2lmIFVTRShDRk5FVFdPUkspCisgICAgUmV0YWluUHRyPENGTXV0YWJsZUFycmF5UmVmPiBo
b3N0QXJyYXkoQWRvcHRDRiwgQ0ZBcnJheUNyZWF0ZU11dGFibGUoMCwgMCwgJmtDRlR5cGVBcnJh
eUNhbGxCYWNrcykpOworICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gaG9zdChBZG9wdENGLCBv
cmlnaW4tPmhvc3QoKS5jcmVhdGVDRlN0cmluZygpKTsKKyAgICBDRkFycmF5QXBwZW5kVmFsdWUo
aG9zdEFycmF5LmdldCgpLCBob3N0LmdldCgpKTsKKworICAgIGNsZWFyQ0ZVUkxDYWNoZUZvckhv
c3ROYW1lcyhob3N0QXJyYXkuZ2V0KCkpOworI2VuZGlmCiB9CiAKIHZvaWQgV2ViUmVzb3VyY2VD
YWNoZU1hbmFnZXI6OmNsZWFyQ2FjaGVGb3JBbGxPcmlnaW5zKCkgY29uc3QKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUmVzb3VyY2VDYWNoZS9XZWJSZXNvdXJjZUNhY2hlTWFuYWdl
ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUmVzb3VyY2VDYWNo
ZS9XZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5oCShyZXZpc2lvbiA3ODkyNSkKKysrIFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUmVzb3VyY2VDYWNoZS9XZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5o
CSh3b3JraW5nIGNvcHkpCkBAIC01Nyw2ICs1NywxMSBAQCBwcml2YXRlOgogICAgIHZvaWQgZ2V0
Q2FjaGVPcmlnaW5zKHVpbnQ2NF90IGNhbGxiYWNrSUQpIGNvbnN0OwogICAgIHZvaWQgY2xlYXJD
YWNoZUZvck9yaWdpbihTZWN1cml0eU9yaWdpbkRhdGEgb3JpZ2luKSBjb25zdDsKICAgICB2b2lk
IGNsZWFyQ2FjaGVGb3JBbGxPcmlnaW5zKCkgY29uc3Q7CisKKyNpZiBVU0UoQ0ZORVRXT1JLKQor
ICAgIENGQXJyYXlSZWYgY2ZVUkxDYWNoZUhvc3ROYW1lcygpIGNvbnN0OworICAgIHZvaWQgY2xl
YXJDRlVSTENhY2hlRm9ySG9zdE5hbWVzKENGQXJyYXlSZWYpIGNvbnN0OworI2VuZGlmCiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
UmVzb3VyY2VDYWNoZS9tYWMvV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJNYWMubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9SZXNvdXJjZUNhY2hlL21hYy9XZWJSZXNv
dXJjZUNhY2hlTWFuYWdlck1hYy5tbQkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvUmVzb3VyY2VDYWNoZS9tYWMvV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJNYWMubW0J
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25m
aWcuaCIKKyNpbXBvcnQgIldlYlJlc291cmNlQ2FjaGVNYW5hZ2VyLmgiCisKKyNpbXBvcnQgPFdl
YktpdFN5c3RlbUludGVyZmFjZS5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworI2lmIFVTRShD
Rk5FVFdPUkspCitDRkFycmF5UmVmIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyOjpjZlVSTENhY2hl
SG9zdE5hbWVzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gV0tDRlVSTENhY2hlQ29weUFsbEhvc3RO
YW1lc0luUGVyc2lzdGVudFN0b3JlKCk7Cit9CisKK3ZvaWQgV2ViUmVzb3VyY2VDYWNoZU1hbmFn
ZXI6OmNsZWFyQ0ZVUkxDYWNoZUZvckhvc3ROYW1lcyhDRkFycmF5UmVmIGhvc3ROYW1lcykgY29u
c3QKK3sKKyAgICBXS0NGVVJMQ2FjaGVEZWxldGVIb3N0TmFtZXNJblBlcnNpc3RlbnRTdG9yZSho
b3N0TmFtZXMpOworfQorI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9SZXNvdXJjZUNhY2hlL3dpbi9XZWJSZXNvdXJjZUNhY2hl
TWFuYWdlcldpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9S
ZXNvdXJjZUNhY2hlL3dpbi9XZWJSZXNvdXJjZUNhY2hlTWFuYWdlcldpbi5jcHAJKHJldmlzaW9u
IDApCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Jlc291cmNlQ2FjaGUvd2luL1dlYlJl
c291cmNlQ2FjaGVNYW5hZ2VyV2luLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0NSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJSZXNvdXJjZUNh
Y2hlTWFuYWdlci5oIgorCisjaW5jbHVkZSA8V2ViS2l0U3lzdGVtSW50ZXJmYWNlL1dlYktpdFN5
c3RlbUludGVyZmFjZS5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworI2lmIFVTRShDRk5FVFdP
UkspCitDRkFycmF5UmVmIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyOjpjZlVSTENhY2hlSG9zdE5h
bWVzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gd2tDRlVSTENhY2hlQ29weUFsbEhvc3ROYW1lc0lu
UGVyc2lzdGVudFN0b3JlKCk7Cit9CisKK3ZvaWQgV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXI6OmNs
ZWFyQ0ZVUkxDYWNoZUZvckhvc3ROYW1lcyhDRkFycmF5UmVmIGhvc3ROYW1lcykgY29uc3QKK3sK
KyAgICB3a0NGVVJMQ2FjaGVEZWxldGVIb3N0TmFtZXNJblBlcnNpc3RlbnRTdG9yZShob3N0TmFt
ZXMpOworfQorI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dl
YktpdDIvd2luL1dlYktpdDIudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL3dp
bi9XZWJLaXQyLnZjcHJvagkocmV2aXNpb24gNzg5MjUpCisrKyBTb3VyY2UvV2ViS2l0Mi93aW4v
V2ViS2l0Mi52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAgLTEzNjEsNiArMTM2MSwxNCBAQAogICAg
ICAgICAgICAgPEZpbHRlcgogICAgICAgICAgICAgICAgIE5hbWU9IlJlc291cmNlQ2FjaGUiCiAg
ICAgICAgICAgICAgICAgPgorICAgICAgICAgICAgICAgIDxGaWx0ZXIKKwkJCQkJTmFtZT0id2lu
IgorCQkJCQk+CisJCQkJCTxGaWxlCisJCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFdlYlByb2Nlc3Nc
UmVzb3VyY2VDYWNoZVx3aW5cV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJXaW4uY3BwIgorCQkJCQkJ
PgorCQkJCQk8L0ZpbGU+CisJCQkJPC9GaWx0ZXI+CiAgICAgICAgICAgICAgICAgPEZpbGUKIAkJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxXZWJQcm9jZXNzXFJlc291cmNlQ2FjaGVcV2ViUmVzb3VyY2VD
YWNoZU1hbmFnZXIuY3BwIgogCQkJCQk+Cg==
</data>
<flag name="review"
          id="74930"
          type_id="1"
          status="+"
          setter="aroben"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83190</attachid>
            <date>2011-02-21 10:51:01 -0800</date>
            <delta_ts>2011-02-21 12:47:56 -0800</delta_ts>
            <desc>[PATCH] Take 2 - Old Mac Project File</desc>
            <filename>cfurlcache_webkit.patch</filename>
            <type>text/plain</type>
            <size>11514</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDc5MDY5KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTEtMDItMTggIEJyaWFuIFdl
aW5zdGVpbiAgPGJ3ZWluc3RlaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyIHNob3VsZCBi
ZSByZXNwb25zaWJsZSBmb3IgbWFuYWdpbmcgdGhlIENGVVJMQ2FjaGUgYXMgd2VsbAorICAgICAg
ICBhcyB0aGUgV2ViQ29yZSBtZW1vcnkgY2FjaGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDg4NgorICAgICAgICBQYXJ0IG9mIDxyZGFyOi8vcHJv
YmxlbS84OTcxNzM4PgorCisgICAgICAgICogV2ViUHJvY2Vzcy9SZXNvdXJjZUNhY2hlL1dlYlJl
c291cmNlQ2FjaGVNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VDYWNo
ZU1hbmFnZXI6OmdldENhY2hlT3JpZ2lucyk6IENhbGwgdGhyb3VnaCB0byBjRlVSTENhY2hlSG9z
dE5hbWVzLCBhbmQgYWRkCisgICAgICAgICAgICBjcmVhdGUgU2VjdXJpdHlPcmlnaW4ncyBmb3Ig
dGhlbSBhbmQgYWRkIHRoZW0gdG8gdGhlIHNldCBvZiBTZWN1cml0eU9yaWdpbnMgd2l0aCBjYWNo
ZS4KKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VDYWNoZU1hbmFnZXI6OmNsZWFyQ2FjaGVG
b3JPcmlnaW4pOiBDYWxsIHRocm91Z2ggdG8gY2xlYXIgdGhlIENGVVJMQ2FjaGUgZm9yCisgICAg
ICAgICAgICB0aGUgb3JpZ2luJ3MgaG9zdG5hbWUuCisgICAgICAgICogV2ViUHJvY2Vzcy9SZXNv
dXJjZUNhY2hlL1dlYlJlc291cmNlQ2FjaGVNYW5hZ2VyLmg6CisKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1Jlc291cmNlQ2FjaGUvY2Y6IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvUmVzb3Vy
Y2VDYWNoZS9jZi9XZWJSZXNvdXJjZUNhY2hlTWFuYWdlckNGTmV0LmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJLaXQ6OldlYlJlc291cmNlQ2FjaGVNYW5hZ2VyOjpjZlVSTENhY2hlSG9zdE5hbWVz
KTogQ2FsbCB0aHJvdWdoIHRvIFdlYktpdFN5c3RlbUludGVyZmFjZS4KKyAgICAgICAgKFdlYktp
dDo6V2ViUmVzb3VyY2VDYWNoZU1hbmFnZXI6OmNsZWFyQ0ZVUkxDYWNoZUZvckhvc3ROYW1lcyk6
IERpdHRvLgorCisgICAgICAgICogd2luL1dlYktpdDIudmNwcm9qOiBBZGRlZCBuZXcgZmlsZS4K
KyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgorCiAy
MDExLTAyLTE4ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgQWRlbGUgUGV0ZXJzb24uCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViS2l0
Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiA3ODkyNSkKKysrIFNvdXJjZS9X
ZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpA
QCAtMjU3LDYgKzI1Nyw3IEBACiAJCTMzMzY3NjU2MTMwQzlFQ0EwMDZDOURFMiAvKiBXZWJSZXNv
dXJjZUNhY2hlTWFuYWdlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzMzM2NzY1MjEzMEM5RUNBMDA2QzlERTIgLyogV2ViUmVzb3VyY2VD
YWNoZU1hbmFnZXJNZXNzYWdlcy5oICovOyB9OwogCQkzMzM2NzY1NzEzMEM5RUNBMDA2QzlERTIg
LyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzM2NzY1MzEzMEM5RUNB
MDA2QzlERTIgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5j
cHAgKi87IH07CiAJCTMzMzY3NjU4MTMwQzlFQ0IwMDZDOURFMiAvKiBXZWJSZXNvdXJjZUNhY2hl
TWFuYWdlclByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDMzMzY3NjU0MTMwQzlFQ0EwMDZDOURFMiAvKiBXZWJSZXNvdXJjZUNhY2hl
TWFuYWdlclByb3h5TWVzc2FnZXMuaCAqLzsgfTsKKwkJMzNERjU4NTgxMzBGMzRCNTAwNjM1NzBD
IC8qIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzNERjU4NTcxMzBGMzRCNTAwNjM1NzBDIC8qIFdlYlJl
c291cmNlQ2FjaGVNYW5hZ2VyTWFjLm1tICovOyB9OwogCQkzN0Y2MjNCODEyQTU3QjYyMDBFM0ZE
RjYgLyogV0tGaW5kT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMzdGNjIzQjcxMkE1N0I2MjAwRTNGREY2IC8qIFdLRmluZE9wdGlvbnMuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07CiAJCTUxMDIxRTlD
MTJCMTY3ODgwMDVDMDMzQyAvKiBXZWJDb250ZXh0TWVudUNsaWVudE1hYy5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMDIxRTlCMTJCMTY3ODgwMDVD
MDMzQyAvKiBXZWJDb250ZXh0TWVudUNsaWVudE1hYy5tbSAqLzsgfTsKIAkJNTEwRkJCOUExMjg4
Qzk1RTAwQUZGREY0IC8qIFdlYkNvbnRleHRNZW51SXRlbURhdGEuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEwRkJCOTgxMjg4Qzk1RTAwQUZGREY0
IC8qIFdlYkNvbnRleHRNZW51SXRlbURhdGEuY3BwICovOyB9OwpAQCAtMTA1MCw2ICsxMDUxLDcg
QEAKIAkJMzMzNjc2NTIxMzBDOUVDQTAwNkM5REUyIC8qIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2Vy
TWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUmVzb3VyY2VD
YWNoZU1hbmFnZXJNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMzM2
NzY1MzEzMEM5RUNBMDA2QzlERTIgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eU1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJS
ZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMzMzNjc2NTQxMzBDOUVDQTAwNkM5REUyIC8qIFdlYlJlc291cmNl
Q2FjaGVNYW5hZ2VyUHJveHlNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5TWVzc2FnZXMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMzNERjU4NTcxMzBGMzRCNTAwNjM1NzBDIC8qIFdlYlJlc291cmNl
Q2FjaGVNYW5hZ2VyTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1l
ID0gV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJNYWMubW07IHBhdGggPSBSZXNvdXJjZUNhY2hlL21h
Yy9XZWJSZXNvdXJjZUNhY2hlTWFuYWdlck1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMzdGNjIzQjcxMkE1N0I2MjAwRTNGREY2IC8qIFdLRmluZE9wdGlvbnMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tGaW5kT3B0aW9ucy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk1MTAyMUU5QjEyQjE2Nzg4MDA1QzAzM0MgLyogV2ViQ29udGV4dE1l
bnVDbGllbnRNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBX
ZWJDb250ZXh0TWVudUNsaWVudE1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NTEwRkJCOTgxMjg4Qzk1RTAwQUZGREY0IC8qIFdlYkNvbnRleHRNZW51SXRlbURhdGEuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ29udGV4dE1lbnVJdGVtRGF0
YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDYwLDYgKzIwNjIsNyBAQAog
CQkzMzM2NzYyQjEzMEM5OTc4MDA2QzlERTIgLyogUmVzb3VyY2VDYWNoZSAqLyA9IHsKIAkJCWlz
YSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJMzNERjU4NTkxMzBGMzRGMzAwNjM1
NzBDIC8qIG1hYyAqLywKIAkJCQkzMzM2NzYyQzEzMEM5OTk4MDA2QzlERTIgLyogV2ViUmVzb3Vy
Y2VDYWNoZU1hbmFnZXIuY3BwICovLAogCQkJCTMzMzY3NjJEMTMwQzk5OTgwMDZDOURFMiAvKiBX
ZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5oICovLAogCQkJCTMzMzY3NjJFMTMwQzk5OTgwMDZDOURF
MiAvKiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5tZXNzYWdlcy5pbiAqLywKQEAgLTIwNjcsNiAr
MjA3MCwxNCBAQAogCQkJbmFtZSA9IFJlc291cmNlQ2FjaGU7CiAJCQlzb3VyY2VUcmVlID0gIjxn
cm91cD4iOwogCQl9OworCQkzM0RGNTg1OTEzMEYzNEYzMDA2MzU3MEMgLyogbWFjICovID0gewor
CQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQkzM0RGNTg1NzEzMEYzNEI1
MDA2MzU3MEMgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJNYWMubW0gKi8sCisJCQkpOworCQkJ
bmFtZSA9IG1hYzsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTUxMkY1ODg2
MTJBODgzNDcwMDYyOTUzMCAvKiBBdXRoZW50aWNhdGlvbiAqLyA9IHsKIAkJCWlzYSA9IFBCWEdy
b3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC0zNzM2LDYgKzM3NDcsNyBAQAogCQkJCTMzMzY3NjU1
MTMwQzlFQ0EwMDZDOURFMiAvKiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlck1lc3NhZ2VSZWNlaXZl
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMzM2NzY1NzEzMEM5RUNBMDA2QzlERTIgLyogV2Vi
UmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkzMzE1Mjk3NTEzMEQwQ0IyMDBFRDI0ODMgLyogU2VjdXJpdHlPcmlnaW5EYXRhLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTMzREY1ODU4MTMwRjM0QjUwMDYzNTcwQyAvKiBXZWJSZXNv
dXJjZUNhY2hlTWFuYWdlck1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlG
b3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRleDogU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9SZXNvdXJjZUNhY2hlL1dlYlJlc291cmNlQ2FjaGVNYW5hZ2VyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Jlc291cmNlQ2FjaGUvV2Vi
UmVzb3VyY2VDYWNoZU1hbmFnZXIuY3BwCShyZXZpc2lvbiA3ODkyNSkKKysrIFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUmVzb3VyY2VDYWNoZS9XZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTY1LDYgKzY1LDE4IEBAIHZvaWQgV2ViUmVzb3VyY2VDYWNoZU1h
bmFnZXI6OmdldENhY2hlT3IKICAgICBNZW1vcnlDYWNoZTo6U2VjdXJpdHlPcmlnaW5TZXQgb3Jp
Z2luczsKICAgICBtZW1vcnlDYWNoZSgpLT5nZXRPcmlnaW5zV2l0aENhY2hlKG9yaWdpbnMpOwog
CisjaWYgVVNFKENGTkVUV09SSykKKyAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gY2ZVUkxIb3N0
cyA9IGNmVVJMQ2FjaGVIb3N0TmFtZXMoKTsgCisgICAgQ0ZJbmRleCBzaXplID0gQ0ZBcnJheUdl
dENvdW50KGNmVVJMSG9zdHMuZ2V0KCkpOworCisgICAgU3RyaW5nIGh0dHBTdHJpbmcoImh0dHAi
KTsKKyAgICBmb3IgKENGSW5kZXggaSA9IDA7IGkgPCBzaXplOyArK2kpIHsKKyAgICAgICAgQ0ZT
dHJpbmdSZWYgaG9zdCA9IHN0YXRpY19jYXN0PENGU3RyaW5nUmVmPihDRkFycmF5R2V0VmFsdWVB
dEluZGV4KGNmVVJMSG9zdHMuZ2V0KCksIGkpKTsKKyAgICAgICAgb3JpZ2lucy5hZGQoU2VjdXJp
dHlPcmlnaW46OmNyZWF0ZShodHRwU3RyaW5nLCBob3N0LCAwKSk7CisgICAgfQorI2VuZGlmCisK
KyAgICAvLyBDcmVhdGUgYSBsaXN0IHdpdGggdGhlIG9yaWdpbnMgaW4gYm90aCBvZiB0aGUgY2Fj
aGVzLgogICAgIFZlY3RvcjxTZWN1cml0eU9yaWdpbkRhdGE+IGlkZW50aWZpZXJzOwogICAgIGlk
ZW50aWZpZXJzLnJlc2VydmVDYXBhY2l0eShvcmlnaW5zLnNpemUoKSk7CiAKQEAgLTkwLDYgKzEw
MiwxNCBAQCB2b2lkIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyOjpjbGVhckNhY2hlCiAgICAgICAg
IHJldHVybjsKIAogICAgIG1lbW9yeUNhY2hlKCktPnJlbW92ZVJlc291cmNlc1dpdGhPcmlnaW4o
b3JpZ2luLmdldCgpKTsKKworI2lmIFVTRShDRk5FVFdPUkspCisgICAgUmV0YWluUHRyPENGTXV0
YWJsZUFycmF5UmVmPiBob3N0QXJyYXkoQWRvcHRDRiwgQ0ZBcnJheUNyZWF0ZU11dGFibGUoMCwg
MCwgJmtDRlR5cGVBcnJheUNhbGxCYWNrcykpOworICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4g
aG9zdChBZG9wdENGLCBvcmlnaW4tPmhvc3QoKS5jcmVhdGVDRlN0cmluZygpKTsKKyAgICBDRkFy
cmF5QXBwZW5kVmFsdWUoaG9zdEFycmF5LmdldCgpLCBob3N0LmdldCgpKTsKKworICAgIGNsZWFy
Q0ZVUkxDYWNoZUZvckhvc3ROYW1lcyhob3N0QXJyYXkuZ2V0KCkpOworI2VuZGlmCiB9CiAKIHZv
aWQgV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXI6OmNsZWFyQ2FjaGVGb3JBbGxPcmlnaW5zKCkgY29u
c3QKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUmVzb3VyY2VDYWNoZS9XZWJSZXNv
dXJjZUNhY2hlTWFuYWdlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvUmVzb3VyY2VDYWNoZS9XZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5oCShyZXZpc2lvbiA3ODky
NSkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUmVzb3VyY2VDYWNoZS9XZWJSZXNvdXJj
ZUNhY2hlTWFuYWdlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNs
dWRlICJBcmd1bWVudHMuaCIKICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNpbmNsdWRl
IDx3dGYvUmV0YWluUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5h
bWVzcGFjZSBDb3JlSVBDIHsKQEAgLTU3LDYgKzU4LDExIEBAIHByaXZhdGU6CiAgICAgdm9pZCBn
ZXRDYWNoZU9yaWdpbnModWludDY0X3QgY2FsbGJhY2tJRCkgY29uc3Q7CiAgICAgdm9pZCBjbGVh
ckNhY2hlRm9yT3JpZ2luKFNlY3VyaXR5T3JpZ2luRGF0YSBvcmlnaW4pIGNvbnN0OwogICAgIHZv
aWQgY2xlYXJDYWNoZUZvckFsbE9yaWdpbnMoKSBjb25zdDsKKworI2lmIFVTRShDRk5FVFdPUksp
CisgICAgc3RhdGljIFJldGFpblB0cjxDRkFycmF5UmVmPiBjZlVSTENhY2hlSG9zdE5hbWVzKCk7
CisgICAgc3RhdGljIHZvaWQgY2xlYXJDRlVSTENhY2hlRm9ySG9zdE5hbWVzKENGQXJyYXlSZWYp
OworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUmVzb3VyY2VDYWNoZS9jZi9XZWJSZXNvdXJjZUNhY2hlTWFuYWdlckNG
TmV0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Jlc291cmNl
Q2FjaGUvY2YvV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJDRk5ldC5jcHAJKHJldmlzaW9uIDApCisr
KyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Jlc291cmNlQ2FjaGUvY2YvV2ViUmVzb3VyY2VD
YWNoZU1hbmFnZXJDRk5ldC5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViUmVzb3VyY2VDYWNoZU1h
bmFnZXIuaCIKKworI2lmIFVTRShDRk5FVFdPUkspCisKKyNpbmNsdWRlIDxXZWJLaXRTeXN0ZW1J
bnRlcmZhY2UvV2ViS2l0U3lzdGVtSW50ZXJmYWNlLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgewor
CisjaWYgUExBVEZPUk0oV0lOKQorLy8gVGhlIFdpbmRvd3MgdmVyc2lvbiBvZiBXS1NJIGRlZmlu
ZXMgdGhlc2UgZnVuY3Rpb25zIGFzIGNhcGl0YWxpemVkLCB3aGlsZSB0aGUgTWFjIHZlcnNpb24g
ZGVmaW5lcyB0aGVtIGFzIGxvd2VyIGNhc2UuCitzdGF0aWMgaW5saW5lIENGQXJyYXlSZWYgV0tD
RlVSTENhY2hlQ29weUFsbEhvc3ROYW1lc0luUGVyc2lzdGVudFN0b3JlKCkgeyByZXR1cm4gd2tD
RlVSTENhY2hlQ29weUFsbEhvc3ROYW1lc0luUGVyc2lzdGVudFN0b3JlKCk7IH0KK3N0YXRpYyBp
bmxpbmUgdm9pZCBXS0NGVVJMQ2FjaGVEZWxldGVIb3N0TmFtZXNJblBlcnNpc3RlbnRTdG9yZShD
RkFycmF5UmVmIGhvc3ROYW1lcykgeyByZXR1cm4gd2tDRlVSTENhY2hlRGVsZXRlSG9zdE5hbWVz
SW5QZXJzaXN0ZW50U3RvcmUoaG9zdE5hbWVzKTsgfQorI2VuZGlmCisKK1JldGFpblB0cjxDRkFy
cmF5UmVmPiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlcjo6Y2ZVUkxDYWNoZUhvc3ROYW1lcygpCit7
CisgICAgcmV0dXJuIFJldGFpblB0cjxDRkFycmF5UmVmPihBZG9wdENGLCBXS0NGVVJMQ2FjaGVD
b3B5QWxsSG9zdE5hbWVzSW5QZXJzaXN0ZW50U3RvcmUoKSk7Cit9CisKK3ZvaWQgV2ViUmVzb3Vy
Y2VDYWNoZU1hbmFnZXI6OmNsZWFyQ0ZVUkxDYWNoZUZvckhvc3ROYW1lcyhDRkFycmF5UmVmIGhv
c3ROYW1lcykKK3sKKyAgICBXS0NGVVJMQ2FjaGVEZWxldGVIb3N0TmFtZXNJblBlcnNpc3RlbnRT
dG9yZShob3N0TmFtZXMpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8v
IFVTRShDRk5FVFdPUkspCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCShyZXZpc2lv
biA3ODkyNSkKKysrIFNvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagkod29ya2luZyBj
b3B5KQpAQCAtMTM2MSw2ICsxMzYxLDE0IEBACiAgICAgICAgICAgICA8RmlsdGVyCiAgICAgICAg
ICAgICAgICAgTmFtZT0iUmVzb3VyY2VDYWNoZSIKICAgICAgICAgICAgICAgICA+CisgICAgICAg
ICAgICAgICAgPEZpbHRlcgorCQkJCQlOYW1lPSJjZiIKKwkJCQkJPgorCQkJCQk8RmlsZQorCQkJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxXZWJQcm9jZXNzXFJlc291cmNlQ2FjaGVcY2ZcV2ViUmVzb3Vy
Y2VDYWNoZU1hbmFnZXJDRk5ldC5jcHAiCisJCQkJCQk+CisJCQkJCTwvRmlsZT4KKwkJCQk8L0Zp
bHRlcj4KICAgICAgICAgICAgICAgICA8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFdlYlBy
b2Nlc3NcUmVzb3VyY2VDYWNoZVxXZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5jcHAiCiAJCQkJCT4K
</data>
<flag name="review"
          id="74955"
          type_id="1"
          status="+"
          setter="aroben"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83205</attachid>
            <date>2011-02-21 12:47:56 -0800</date>
            <delta_ts>2011-02-21 12:49:43 -0800</delta_ts>
            <desc>[PATCH] Take 3 - Mac Project File + Feature Define</desc>
            <filename>cfurlcache_webkit.patch</filename>
            <type>text/plain</type>
            <size>12696</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gNzkyNDUpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTEtMDItMjEgIEJyaWFuIFdlaW5zdGVpbiAgPGJ3ZWluc3RlaW5AYXBwbGUuY29tPgorCisg
ICAgICAgIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyIHNob3VsZCBiZSByZXNwb25zaWJsZSBmb3Ig
bWFuYWdpbmcgdGhlIENGVVJMQ2FjaGUgYXMgd2VsbAorICAgICAgICBhcyB0aGUgV2ViQ29yZSBt
ZW1vcnkgY2FjaGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD01NDg4NgorICAgICAgICBQYXJ0IG9mIDxyZGFyOi8vcHJvYmxlbS84OTcxNzM4PgorCisg
ICAgICAgIEFkZCBhIG5ldyB1c2UgZmxhZyBmb3IgdXNpbmcgdGhlIENGVVJMQ2FjaGUuCisKKyAg
ICAgICAgKiB3dGYvUGxhdGZvcm0uaDoKKwogMjAxMS0wMi0yMSAgR2F2aW4gQmFycmFjbG91Z2gg
IDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5p
Zy4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgJKHJldmlzaW9uIDc4OTI1
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCSh3b3JraW5nIGNvcHkp
CkBAIC02OTAsNiArNjkwLDEwIEBACiAjZGVmaW5lIFdURl9VU0VfQ0ZORVRXT1JLIDEKICNlbmRp
ZgogCisjaWYgVVNFKENGTkVUV09SSykgfHwgUExBVEZPUk0oTUFDKQorI2RlZmluZSBXVEZfVVNF
X0NGVVJMQ0FDSEUgMQorI2VuZGlmCisKICNpZiBQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkg
JiYgIVBMQVRGT1JNKENIUk9NSVVNKSAmJiAhUExBVEZPUk0oUVQpCiAjZGVmaW5lIEVOQUJMRV9X
RUJfQVJDSElWRSAxCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDc5MDY5KQorKysg
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjcgQEAK
KzIwMTEtMDItMTggIEJyaWFuIFdlaW5zdGVpbiAgPGJ3ZWluc3RlaW5AYXBwbGUuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYlJlc291cmNl
Q2FjaGVNYW5hZ2VyIHNob3VsZCBiZSByZXNwb25zaWJsZSBmb3IgbWFuYWdpbmcgdGhlIENGVVJM
Q2FjaGUgYXMgd2VsbAorICAgICAgICBhcyB0aGUgV2ViQ29yZSBtZW1vcnkgY2FjaGUuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDg4NgorICAgICAg
ICBQYXJ0IG9mIDxyZGFyOi8vcHJvYmxlbS84OTcxNzM4PgorCisgICAgICAgICogV2ViUHJvY2Vz
cy9SZXNvdXJjZUNhY2hlL1dlYlJlc291cmNlQ2FjaGVNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUmVzb3VyY2VDYWNoZU1hbmFnZXI6OmdldENhY2hlT3JpZ2lucyk6IENhbGwgdGhy
b3VnaCB0byBjRlVSTENhY2hlSG9zdE5hbWVzLCBhbmQgYWRkCisgICAgICAgICAgICBjcmVhdGUg
U2VjdXJpdHlPcmlnaW4ncyBmb3IgdGhlbSBhbmQgYWRkIHRoZW0gdG8gdGhlIHNldCBvZiBTZWN1
cml0eU9yaWdpbnMgd2l0aCBjYWNoZS4KKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VDYWNo
ZU1hbmFnZXI6OmNsZWFyQ2FjaGVGb3JPcmlnaW4pOiBDYWxsIHRocm91Z2ggdG8gY2xlYXIgdGhl
IENGVVJMQ2FjaGUgZm9yCisgICAgICAgICAgICB0aGUgb3JpZ2luJ3MgaG9zdG5hbWUuCisgICAg
ICAgICogV2ViUHJvY2Vzcy9SZXNvdXJjZUNhY2hlL1dlYlJlc291cmNlQ2FjaGVNYW5hZ2VyLmg6
CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1Jlc291cmNlQ2FjaGUvY2Y6IEFkZGVkLgorICAgICAg
ICAqIFdlYlByb2Nlc3MvUmVzb3VyY2VDYWNoZS9jZi9XZWJSZXNvdXJjZUNhY2hlTWFuYWdlckNG
TmV0LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlQ2FjaGVNYW5hZ2Vy
OjpjZlVSTENhY2hlSG9zdE5hbWVzKTogQ2FsbCB0aHJvdWdoIHRvIFdlYktpdFN5c3RlbUludGVy
ZmFjZS4KKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VDYWNoZU1hbmFnZXI6OmNsZWFyQ0ZV
UkxDYWNoZUZvckhvc3ROYW1lcyk6IERpdHRvLgorCisgICAgICAgICogd2luL1dlYktpdDIudmNw
cm9qOiBBZGRlZCBuZXcgZmlsZS4KKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6IERpdHRvLgorCiAyMDExLTAyLTE4ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRlbGUgUGV0ZXJzb24uCkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lv
biA3ODkyNSkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkod29ya2luZyBjb3B5KQpAQCAtMjU3LDYgKzI1Nyw3IEBACiAJCTMzMzY3NjU2MTMwQzlF
Q0EwMDZDOURFMiAvKiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlck1lc3NhZ2VzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzM2NzY1MjEzMEM5RUNBMDA2
QzlERTIgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJNZXNzYWdlcy5oICovOyB9OwogCQkzMzM2
NzY1NzEzMEM5RUNBMDA2QzlERTIgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eU1lc3Nh
Z2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAzMzM2NzY1MzEzMEM5RUNBMDA2QzlERTIgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQ
cm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTMzMzY3NjU4MTMwQzlFQ0IwMDZDOURF
MiAvKiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzMzY3NjU0MTMwQzlFQ0EwMDZDOURF
MiAvKiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5TWVzc2FnZXMuaCAqLzsgfTsKKwkJMzNG
OUQ1QjkxMzEyRjFFRTAwMEQ2ODNGIC8qIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyQ0ZOZXQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzNGOUQ1Qjgx
MzEyRjFFRTAwMEQ2ODNGIC8qIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyQ0ZOZXQuY3BwICovOyB9
OwogCQkzN0Y2MjNCODEyQTU3QjYyMDBFM0ZERjYgLyogV0tGaW5kT3B0aW9ucy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdGNjIzQjcxMkE1N0I2MjAw
RTNGREY2IC8qIFdLRmluZE9wdGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
dWJsaWMsICk7IH07IH07CiAJCTUxMDIxRTlDMTJCMTY3ODgwMDVDMDMzQyAvKiBXZWJDb250ZXh0
TWVudUNsaWVudE1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxMDIxRTlCMTJCMTY3ODgwMDVDMDMzQyAvKiBXZWJDb250ZXh0TWVudUNsaWVudE1h
Yy5tbSAqLzsgfTsKIAkJNTEwRkJCOUExMjg4Qzk1RTAwQUZGREY0IC8qIFdlYkNvbnRleHRNZW51
SXRlbURhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTEwRkJCOTgxMjg4Qzk1RTAwQUZGREY0IC8qIFdlYkNvbnRleHRNZW51SXRlbURhdGEuY3Bw
ICovOyB9OwpAQCAtMTA1MCw2ICsxMDUxLDcgQEAKIAkJMzMzNjc2NTIxMzBDOUVDQTAwNkM5REUy
IC8qIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJNZXNzYWdlcy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkzMzM2NzY1MzEzMEM5RUNBMDA2QzlERTIgLyogV2ViUmVz
b3VyY2VDYWNoZU1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5TWVzc2Fn
ZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzMzNjc2NTQxMzBD
OUVDQTAwNkM5REUyIC8qIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHlNZXNzYWdlcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclBy
b3h5TWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzNGOUQ1QjgxMzEy
RjFFRTAwMEQ2ODNGIC8qIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyQ0ZOZXQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IGZpbGVFbmNvZGluZyA9IDQ7IG5hbWUgPSBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlckNG
TmV0LmNwcDsgcGF0aCA9IFJlc291cmNlQ2FjaGUvY2YvV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJD
Rk5ldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3RjYyM0I3MTJBNTdCNjIw
MEUzRkRGNiAvKiBXS0ZpbmRPcHRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdLRmluZE9wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEwMjFF
OUIxMkIxNjc4ODAwNUMwMzNDIC8qIFdlYkNvbnRleHRNZW51Q2xpZW50TWFjLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViQ29udGV4dE1lbnVDbGllbnRNYWMu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxMEZCQjk4MTI4OEM5NUUwMEFGRkRG
NCAvKiBXZWJDb250ZXh0TWVudUl0ZW1EYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFdlYkNvbnRleHRNZW51SXRlbURhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMjA2MCw2ICsyMDYyLDcgQEAKIAkJMzMzNjc2MkIxMzBDOTk3ODAwNkM5
REUyIC8qIFJlc291cmNlQ2FjaGUgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxk
cmVuID0gKAorCQkJCTMzRjlENUI3MTMxMkYxQjEwMDBENjgzRiAvKiBjZiAqLywKIAkJCQkzMzM2
NzYyQzEzMEM5OTk4MDA2QzlERTIgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXIuY3BwICovLAog
CQkJCTMzMzY3NjJEMTMwQzk5OTgwMDZDOURFMiAvKiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5o
ICovLAogCQkJCTMzMzY3NjJFMTMwQzk5OTgwMDZDOURFMiAvKiBXZWJSZXNvdXJjZUNhY2hlTWFu
YWdlci5tZXNzYWdlcy5pbiAqLywKQEAgLTIwNjcsNiArMjA3MCwxNCBAQAogCQkJbmFtZSA9IFJl
c291cmNlQ2FjaGU7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQkzM0Y5RDVC
NzEzMTJGMUIxMDAwRDY4M0YgLyogY2YgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNo
aWxkcmVuID0gKAorCQkJCTMzRjlENUI4MTMxMkYxRUUwMDBENjgzRiAvKiBXZWJSZXNvdXJjZUNh
Y2hlTWFuYWdlckNGTmV0LmNwcCAqLywKKwkJCSk7CisJCQluYW1lID0gY2Y7CisJCQlzb3VyY2VU
cmVlID0gIjxncm91cD4iOworCQl9OwogCQk1MTJGNTg4NjEyQTg4MzQ3MDA2Mjk1MzAgLyogQXV0
aGVudGljYXRpb24gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApA
QCAtMzczNiw2ICszNzQ3LDcgQEAKIAkJCQkzMzM2NzY1NTEzMEM5RUNBMDA2QzlERTIgLyogV2Vi
UmVzb3VyY2VDYWNoZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMzMzNjc2NTcxMzBDOUVDQTAwNkM5REUyIC8qIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJv
eHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzMxNTI5NzUxMzBEMENC
MjAwRUQyNDgzIC8qIFNlY3VyaXR5T3JpZ2luRGF0YS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkz
M0Y5RDVCOTEzMTJGMUVFMDAwRDY4M0YgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJDRk5ldC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9j
ZXNzaW5nID0gMDsKIAkJfTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUmVzb3Vy
Y2VDYWNoZS9XZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9SZXNvdXJjZUNhY2hlL1dlYlJlc291cmNlQ2FjaGVNYW5hZ2Vy
LmNwcAkocmV2aXNpb24gNzg5MjUpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Jlc291
cmNlQ2FjaGUvV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02
NSw2ICs2NSwxOCBAQCB2b2lkIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyOjpnZXRDYWNoZU9yCiAg
ICAgTWVtb3J5Q2FjaGU6OlNlY3VyaXR5T3JpZ2luU2V0IG9yaWdpbnM7CiAgICAgbWVtb3J5Q2Fj
aGUoKS0+Z2V0T3JpZ2luc1dpdGhDYWNoZShvcmlnaW5zKTsKIAorI2lmIFVTRShDRlVSTENBQ0hF
KQorICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBjZlVSTEhvc3RzID0gY2ZVUkxDYWNoZUhvc3RO
YW1lcygpOyAKKyAgICBDRkluZGV4IHNpemUgPSBDRkFycmF5R2V0Q291bnQoY2ZVUkxIb3N0cy5n
ZXQoKSk7CisKKyAgICBTdHJpbmcgaHR0cFN0cmluZygiaHR0cCIpOworICAgIGZvciAoQ0ZJbmRl
eCBpID0gMDsgaSA8IHNpemU7ICsraSkgeworICAgICAgICBDRlN0cmluZ1JlZiBob3N0ID0gc3Rh
dGljX2Nhc3Q8Q0ZTdHJpbmdSZWY+KENGQXJyYXlHZXRWYWx1ZUF0SW5kZXgoY2ZVUkxIb3N0cy5n
ZXQoKSwgaSkpOworICAgICAgICBvcmlnaW5zLmFkZChTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKGh0
dHBTdHJpbmcsIGhvc3QsIDApKTsKKyAgICB9CisjZW5kaWYKKworICAgIC8vIENyZWF0ZSBhIGxp
c3Qgd2l0aCB0aGUgb3JpZ2lucyBpbiBib3RoIG9mIHRoZSBjYWNoZXMuCiAgICAgVmVjdG9yPFNl
Y3VyaXR5T3JpZ2luRGF0YT4gaWRlbnRpZmllcnM7CiAgICAgaWRlbnRpZmllcnMucmVzZXJ2ZUNh
cGFjaXR5KG9yaWdpbnMuc2l6ZSgpKTsKIApAQCAtOTAsNiArMTAyLDE0IEBAIHZvaWQgV2ViUmVz
b3VyY2VDYWNoZU1hbmFnZXI6OmNsZWFyQ2FjaGUKICAgICAgICAgcmV0dXJuOwogCiAgICAgbWVt
b3J5Q2FjaGUoKS0+cmVtb3ZlUmVzb3VyY2VzV2l0aE9yaWdpbihvcmlnaW4uZ2V0KCkpOworCisj
aWYgVVNFKENGVVJMQ0FDSEUpCisgICAgUmV0YWluUHRyPENGTXV0YWJsZUFycmF5UmVmPiBob3N0
QXJyYXkoQWRvcHRDRiwgQ0ZBcnJheUNyZWF0ZU11dGFibGUoMCwgMCwgJmtDRlR5cGVBcnJheUNh
bGxCYWNrcykpOworICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gaG9zdChBZG9wdENGLCBvcmln
aW4tPmhvc3QoKS5jcmVhdGVDRlN0cmluZygpKTsKKyAgICBDRkFycmF5QXBwZW5kVmFsdWUoaG9z
dEFycmF5LmdldCgpLCBob3N0LmdldCgpKTsKKworICAgIGNsZWFyQ0ZVUkxDYWNoZUZvckhvc3RO
YW1lcyhob3N0QXJyYXkuZ2V0KCkpOworI2VuZGlmCiB9CiAKIHZvaWQgV2ViUmVzb3VyY2VDYWNo
ZU1hbmFnZXI6OmNsZWFyQ2FjaGVGb3JBbGxPcmlnaW5zKCkgY29uc3QKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUmVzb3VyY2VDYWNoZS9XZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUmVzb3VyY2VDYWNoZS9X
ZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5oCShyZXZpc2lvbiA3ODkyNSkKKysrIFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUmVzb3VyY2VDYWNoZS9XZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJBcmd1bWVudHMuaCIK
ICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsK
QEAgLTU3LDYgKzU4LDExIEBAIHByaXZhdGU6CiAgICAgdm9pZCBnZXRDYWNoZU9yaWdpbnModWlu
dDY0X3QgY2FsbGJhY2tJRCkgY29uc3Q7CiAgICAgdm9pZCBjbGVhckNhY2hlRm9yT3JpZ2luKFNl
Y3VyaXR5T3JpZ2luRGF0YSBvcmlnaW4pIGNvbnN0OwogICAgIHZvaWQgY2xlYXJDYWNoZUZvckFs
bE9yaWdpbnMoKSBjb25zdDsKKworI2lmIFVTRShDRlVSTENBQ0hFKQorICAgIHN0YXRpYyBSZXRh
aW5QdHI8Q0ZBcnJheVJlZj4gY2ZVUkxDYWNoZUhvc3ROYW1lcygpOworICAgIHN0YXRpYyB2b2lk
IGNsZWFyQ0ZVUkxDYWNoZUZvckhvc3ROYW1lcyhDRkFycmF5UmVmKTsKKyNlbmRpZgogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Jl
c291cmNlQ2FjaGUvY2YvV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJDRk5ldC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9SZXNvdXJjZUNhY2hlL2NmL1dlYlJlc291
cmNlQ2FjaGVNYW5hZ2VyQ0ZOZXQuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9SZXNvdXJjZUNhY2hlL2NmL1dlYlJlc291cmNlQ2FjaGVNYW5hZ2VyQ0ZOZXQu
Y3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYlJlc291cmNlQ2FjaGVNYW5hZ2VyLmgiCisKKyNpZiBV
U0UoQ0ZVUkxDQUNIRSkKKworI2luY2x1ZGUgPFdlYktpdFN5c3RlbUludGVyZmFjZS9XZWJLaXRT
eXN0ZW1JbnRlcmZhY2UuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKKyNpZiBQTEFURk9STShX
SU4pCisvLyBUaGUgV2luZG93cyB2ZXJzaW9uIG9mIFdLU0kgZGVmaW5lcyB0aGVzZSBmdW5jdGlv
bnMgYXMgY2FwaXRhbGl6ZWQsIHdoaWxlIHRoZSBNYWMgdmVyc2lvbiBkZWZpbmVzIHRoZW0gYXMg
bG93ZXIgY2FzZS4KK3N0YXRpYyBpbmxpbmUgQ0ZBcnJheVJlZiBXS0NGVVJMQ2FjaGVDb3B5QWxs
SG9zdE5hbWVzSW5QZXJzaXN0ZW50U3RvcmUoKSB7IHJldHVybiB3a0NGVVJMQ2FjaGVDb3B5QWxs
SG9zdE5hbWVzSW5QZXJzaXN0ZW50U3RvcmUoKTsgfQorc3RhdGljIGlubGluZSB2b2lkIFdLQ0ZV
UkxDYWNoZURlbGV0ZUhvc3ROYW1lc0luUGVyc2lzdGVudFN0b3JlKENGQXJyYXlSZWYgaG9zdE5h
bWVzKSB7IHJldHVybiB3a0NGVVJMQ2FjaGVEZWxldGVIb3N0TmFtZXNJblBlcnNpc3RlbnRTdG9y
ZShob3N0TmFtZXMpOyB9CisjZW5kaWYKKworUmV0YWluUHRyPENGQXJyYXlSZWY+IFdlYlJlc291
cmNlQ2FjaGVNYW5hZ2VyOjpjZlVSTENhY2hlSG9zdE5hbWVzKCkKK3sKKyAgICByZXR1cm4gUmV0
YWluUHRyPENGQXJyYXlSZWY+KEFkb3B0Q0YsIFdLQ0ZVUkxDYWNoZUNvcHlBbGxIb3N0TmFtZXNJ
blBlcnNpc3RlbnRTdG9yZSgpKTsKK30KKwordm9pZCBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlcjo6
Y2xlYXJDRlVSTENhY2hlRm9ySG9zdE5hbWVzKENGQXJyYXlSZWYgaG9zdE5hbWVzKQoreworICAg
IFdLQ0ZVUkxDYWNoZURlbGV0ZUhvc3ROYW1lc0luUGVyc2lzdGVudFN0b3JlKGhvc3ROYW1lcyk7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKENGVVJMQ0FDSEUp
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCShyZXZpc2lvbiA3ODkyNSkKKysrIFNv
dXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtMTM2MSw2
ICsxMzYxLDE0IEBACiAgICAgICAgICAgICA8RmlsdGVyCiAgICAgICAgICAgICAgICAgTmFtZT0i
UmVzb3VyY2VDYWNoZSIKICAgICAgICAgICAgICAgICA+CisgICAgICAgICAgICAgICAgPEZpbHRl
cgorCQkJCQlOYW1lPSJjZiIKKwkJCQkJPgorCQkJCQk8RmlsZQorCQkJCQkJUmVsYXRpdmVQYXRo
PSIuLlxXZWJQcm9jZXNzXFJlc291cmNlQ2FjaGVcY2ZcV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJD
Rk5ldC5jcHAiCisJCQkJCQk+CisJCQkJCTwvRmlsZT4KKwkJCQk8L0ZpbHRlcj4KICAgICAgICAg
ICAgICAgICA8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFdlYlByb2Nlc3NcUmVzb3VyY2VD
YWNoZVxXZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5jcHAiCiAJCQkJCT4K
</data>
<flag name="review"
          id="74972"
          type_id="1"
          status="+"
          setter="aroben"
    />
          </attachment>
      

    </bug>

</bugzilla>