<?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>104370</bug_id>
          
          <creation_ts>2012-12-07 07:36:33 -0800</creation_ts>
          <short_desc>[GTK] Cookies&apos; storage path and policy are not set when the WebProcess is killed and relaunched</short_desc>
          <delta_ts>2012-12-12 01:20:50 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Joaquim Rocha">jrocha</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>cgarcia</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>785874</commentid>
    <comment_count>0</comment_count>
    <who name="Joaquim Rocha">jrocha</who>
    <bug_when>2012-12-07 07:36:33 -0800</bug_when>
    <thetext>The cookies&apos; storage path and policy are not set when the WebProcess is killed and relaunched on Epiphany (and possibly other ports using Soup).

Steps to reproduce the storage path one on Epiphany:
1) Open Epiphany log into some website;
2) Open the Personal Data dialog and check out this website&apos;s cookie and eventually others&apos;.
3) Kill the webprocess, reload that website and check out the cookies list in Personal Data.

Expected:
The user is still logged in in the website and the same list of cookies is observed before.

Outcome:
The user is not logged in and no cookies are found in that list.

I will upload a patch to fix this soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785881</commentid>
    <comment_count>1</comment_count>
    <who name="Joaquim Rocha">jrocha</who>
    <bug_when>2012-12-07 07:43:32 -0800</bug_when>
    <thetext>Forgot to add the steps to reproduce the policy issue:

1) Open Epiphany, go to Personal Data and clear all cookies.
2) Go to Preferences &gt; Privacy and set it to never accept cookies.
3) Access website that has cookies e.g. google.com, open Personal Data again and verify there is no Google cookie
4) Kill the WebProcess and reload google.com
5) Open Personal Data and verify that there&apos;s now a Google cookie...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785888</commentid>
    <comment_count>2</comment_count>
    <who name="Joaquim Rocha">jrocha</who>
    <bug_when>2012-12-07 07:57:13 -0800</bug_when>
    <thetext>Make [gtk] tag capital case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785893</commentid>
    <comment_count>3</comment_count>
      <attachid>178222</attachid>
    <who name="Joaquim Rocha">jrocha</who>
    <bug_when>2012-12-07 08:22:56 -0800</bug_when>
    <thetext>Created attachment 178222
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785894</commentid>
    <comment_count>4</comment_count>
      <attachid>178222</attachid>
    <who name="Joaquim Rocha">jrocha</who>
    <bug_when>2012-12-07 08:24:04 -0800</bug_when>
    <thetext>Comment on attachment 178222
Patch

Set cq?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785909</commentid>
    <comment_count>5</comment_count>
      <attachid>178222</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-12-07 08:59:05 -0800</bug_when>
    <thetext>Comment on attachment 178222
Patch

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

I&apos;ve noticed that WIN has WebContext::setInitialHTTPCookieAcceptPolicy() maybe we could reuse that and save the values in the context instead of the cookies proxy.

&gt; Source/WebKit2/Shared/WebProcessCreationParameters.cpp:83
&gt; +    encoder &lt;&lt; cookieAcceptPolicy;

I think you should use encoder.encodeEnum() for enums.

&gt; Source/WebKit2/UIProcess/WebCookieManagerProxy.cpp:140
&gt; +#if USE(SOUP)
&gt; +    setCookieAcceptPolicy(policy);
&gt; +#endif

You can simply do m_cookieAcceptPolicy = policy;

&gt; Source/WebKit2/UIProcess/WebCookieManagerProxy.h:75
&gt; +    void setCookieAcceptPolicy(const HTTPCookieAcceptPolicy&amp;);

This method is confusing, because there&apos;s setHTTPCookieAcceptPolicy and setCookieAcceptPolicy, but it&apos;s not needed it at all, since we don&apos;t expect it to be used by others.

&gt; Source/WebKit2/UIProcess/WebCookieManagerProxy.h:101
&gt; +    HTTPCookieAcceptPolicy m_cookieAcceptPolicy;
&gt; +    pair&lt;String, uint32_t&gt; m_cookiePersistentStorage;

These should be initialized in the constructor.

&gt; Source/WebKit2/UIProcess/efl/WebContextEfl.cpp:49
&gt; +    const pair&lt;String, uint32_t&gt;&amp; storage = m_cookieManagerProxy-&gt;cookiePersistentStorage();
&gt; +    parameters.cookiePersistentStoragePath = storage.first;
&gt; +    parameters.cookiePersistentStorageType = storage.second;

Maybe this could be simpler if we had a method returning two parameters instead of pair? something like:

m_cookieManagerProxy-&gt;getCookiePersistentStorage(parameters.cookiePersistentStoragePath, parameters.cookiePersistentStorageType);

&gt; Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp:93
&gt; +    const pair&lt;String, uint32_t&gt;&amp; storage = m_cookieManagerProxy-&gt;cookiePersistentStorage();
&gt; +    parameters.cookiePersistentStoragePath = storage.first;
&gt; +    parameters.cookiePersistentStorageType = storage.second;

Ditto.

&gt; Source/WebKit2/UIProcess/soup/WebCookieManagerProxySoup.cpp:54
&gt; +const pair&lt;String, uint32_t&gt;&amp; WebCookieManagerProxy::cookiePersistentStorage() const
&gt; +{
&gt; +    return m_cookiePersistentStorage;
&gt; +}
&gt; +
&gt; +void WebCookieManagerProxy::setCookieAcceptPolicy(const HTTPCookieAcceptPolicy&amp; policy)
&gt; +{
&gt; +    m_cookieAcceptPolicy = policy;
&gt; +}
&gt; +
&gt; +const HTTPCookieAcceptPolicy&amp; WebCookieManagerProxy::cookieAcceptPolicy() const
&gt; +{
&gt; +    return m_cookieAcceptPolicy;

These could be in the header.

&gt; Source/WebKit2/WebProcess/soup/WebProcessSoup.cpp:173
&gt; +    WebCookieManager::shared().setCookiePersistentStorage(parameters.cookiePersistentStoragePath, parameters.cookiePersistentStorageType);

You should check cookiePersistentStoragePath is not empty before calling setCookiePersistentStorage(), as it will happen the first time the web process is launched.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787175</commentid>
    <comment_count>6</comment_count>
      <attachid>178507</attachid>
    <who name="Joaquim Rocha">jrocha</who>
    <bug_when>2012-12-10 03:49:20 -0800</bug_when>
    <thetext>Created attachment 178507
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787182</commentid>
    <comment_count>7</comment_count>
      <attachid>178507</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-12-10 04:01:05 -0800</bug_when>
    <thetext>Comment on attachment 178507
Patch

Attachment 178507 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/15227575</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787183</commentid>
    <comment_count>8</comment_count>
      <attachid>178507</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-10 04:01:50 -0800</bug_when>
    <thetext>Comment on attachment 178507
Patch

Attachment 178507 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15242232</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787185</commentid>
    <comment_count>9</comment_count>
      <attachid>178507</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2012-12-10 04:09:31 -0800</bug_when>
    <thetext>Comment on attachment 178507
Patch

Attachment 178507 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/15222679</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787187</commentid>
    <comment_count>10</comment_count>
      <attachid>178513</attachid>
    <who name="Joaquim Rocha">jrocha</who>
    <bug_when>2012-12-10 04:12:23 -0800</bug_when>
    <thetext>Created attachment 178513
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787211</commentid>
    <comment_count>11</comment_count>
      <attachid>178513</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2012-12-10 05:05:36 -0800</bug_when>
    <thetext>Comment on attachment 178513
Patch

Attachment 178513 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/15239436</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787225</commentid>
    <comment_count>12</comment_count>
      <attachid>178524</attachid>
    <who name="Joaquim Rocha">jrocha</who>
    <bug_when>2012-12-10 05:45:09 -0800</bug_when>
    <thetext>Created attachment 178524
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788476</commentid>
    <comment_count>13</comment_count>
      <attachid>178813</attachid>
    <who name="Joaquim Rocha">jrocha</who>
    <bug_when>2012-12-11 08:38:18 -0800</bug_when>
    <thetext>Created attachment 178813
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789308</commentid>
    <comment_count>14</comment_count>
      <attachid>178813</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-12-12 01:03:14 -0800</bug_when>
    <thetext>Comment on attachment 178813
Patch

Looks great, thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789319</commentid>
    <comment_count>15</comment_count>
      <attachid>178813</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-12 01:20:45 -0800</bug_when>
    <thetext>Comment on attachment 178813
Patch

Clearing flags on attachment: 178813

Committed r137432: &lt;http://trac.webkit.org/changeset/137432&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789320</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-12 01:20:50 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178222</attachid>
            <date>2012-12-07 08:22:56 -0800</date>
            <delta_ts>2012-12-10 03:49:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104370-20121207171953.patch</filename>
            <type>text/plain</type>
            <size>12435</size>
            <attacher name="Joaquim Rocha">jrocha</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NjYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYzE5OTU5ZTJlZjk3ZTM4
NDIzYjg4Nzc1ZGNiNTdjMWIzMGU1Zjg0NS4uNDdkNWJmN2IwZjFiMjdhZWExYjMxZGVlNjA1NWM0
ODdjNDA4MDU2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEyLTEyLTA3ICBKb2Fx
dWltIFJvY2hhICA8anJvY2hhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS10gQ29va2llcycg
c3RvcmFnZSBwYXRoIGFuZCBwb2xpY3kgYXJlIG5vdCBzZXQgd2hlbiB0aGUgV2ViUHJvY2VzcyBp
cyBraWxsZWQgYW5kIHJlbGF1bmNoZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwNDM3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoaXMgaXNzdWUgaGFwcGVucyBvbiBwb3J0cyB0aGF0IHVzZSBTb3Vw
IGFuZCBjYXVzZXMgcHJvYmxlbXMgbGlrZSBub3QgZmluZGluZyB0aGUgc3RvcmVkIGNvb2tpZXMK
KyAgICAgICAgbm9yIHRoZWlyIHBvbGljeSB3aGVuIHRoZSBXZWJQcm9jZXNzIGlzIHJlbGF1bmNo
ZWQuIEFzIGFuIGV4YW1wbGUgb2YgYSBwcm9ibGVtIGNhdXNlZCBieSB0aGlzLAorICAgICAgICBh
IHByZXZpb3VzbHkgbG9nZ2VkIGluIHVzZXIgd2lsbCBub3QgYmUgbG9nZ2VkIGluIGFnYWluIHdo
ZW4gdGhlIHByb2Nlc3MgaXMgcmVsYXVuY2hlZCBhbmQgdGhlCisgICAgICAgIHBvbGljeSB1c2Vk
IGlzIGFsd2F5cyB0aGUgc2FtZSBvbmUuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnM6OmVuY29kZSk6IEVuY29kZSBjb29raWVzJyBwZXJzaXN0ZW50IHN0b3JhZ2Ug
cGF0aCwKKyAgICAgICAgc3RvcmFnZSB0eXBlIGFuZCBhY2NlcHRhbmNlIHBvbGljeS4KKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKTogRGVjb2Rl
IGNvb2tpZXMnIHBlcnNpc3RlbnQgc3RvcmFnZSBwYXRoLAorICAgICAgICBzdG9yYWdlIHR5cGUg
YW5kIGFjY2VwdGFuY2UgcG9saWN5LgorICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzLmg6IENyZWF0ZSAzIHZhcmlhYmxlcyB0byBob2xkIHRoZSB2YWx1ZXMgbWVu
dGlvbmVkIGFib3ZlLgorICAgICAgICAoV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyk6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYkNvb2tpZU1hbmFnZXJQcm94eTo6c2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeSk6
IENhbGwgV2ViQ29va2llTWFuYWdlclByb3h5U291cDo6c2V0Q29va2llQWNjZXB0UG9saWN5Lgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkuaDogRGVjbGFyZSBuZXcg
U291cCdzIG1ldGhvZHMgc2V0Q29va2llQWNjZXB0UG9saWN5LCBjb29raWVBY2NlcHRQb2xpY3kg
YW5kCisgICAgICAgIGNvb2tpZVBlcnNpc3RlbnRTdG9yYWdlIGFzIHdlbGwgYXMgdGhlIHZhcmlh
YmxlcyBtX2Nvb2tpZUFjY2VwdFBvbGljeSBhbmQgbV9jb29raWVQZXJzaXN0ZW50U3RvcmFnZS4K
KyAgICAgICAgKFdlYkNvb2tpZU1hbmFnZXJQcm94eSk6CisgICAgICAgICogVUlQcm9jZXNzL2Vm
bC9XZWJDb250ZXh0RWZsLmNwcDogQXNzaWduIHRoZSBwYXJhbWV0ZXJzJyBjb29raWVQZXJzaXN0
ZW50U3RvcmFnZVBhdGgsCisgICAgICAgIGNvb2tpZVBlcnNpc3RlbnRTdG9yYWdlVHlwZSBhbmQg
Y29va2llQWNjZXB0UG9saWN5IHdpdGggdGhlIHJlc3BlY3RpdmUgdmFsdWVzLgorICAgICAgICAo
V2ViS2l0OjpXZWJDb250ZXh0OjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvZ3RrL1dlYkNvbnRleHRHdGsuY3BwOiBBc3NpZ24gdGhlIHBhcmFtZXRl
cnMnIGNvb2tpZVBlcnNpc3RlbnRTdG9yYWdlUGF0aCwKKyAgICAgICAgY29va2llUGVyc2lzdGVu
dFN0b3JhZ2VUeXBlIGFuZCBjb29raWVBY2NlcHRQb2xpY3kgd2l0aCB0aGUgcmVzcGVjdGl2ZSB2
YWx1ZXMuCisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OnBsYXRmb3JtSW5pdGlhbGl6ZVdl
YlByb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9zb3VwL1dlYkNvb2tpZU1hbmFnZXJQcm94
eVNvdXAuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDb29raWVNYW5hZ2VyUHJveHk6OnNldENv
b2tpZVBlcnNpc3RlbnRTdG9yYWdlKTogQXNzaWduIHRoZSBtX2Nvb2tpZVBlcnNpc3RlbnRTdG9y
YWdlIHBhaXIKKyAgICAgICAgd2l0aCB0aGUgbWV0aG9kJ3MgcGFyYW1ldGVycy4KKyAgICAgICAg
KFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYkNvb2tpZU1hbmFnZXJQcm94eTo6Y29va2ll
UGVyc2lzdGVudFN0b3JhZ2UpOiBJbXBsZW1lbnQgdGhpcyBnZXR0ZXIuCisgICAgICAgIChXZWJL
aXQ6OldlYkNvb2tpZU1hbmFnZXJQcm94eTo6c2V0Q29va2llQWNjZXB0UG9saWN5KTogSW1wbGVt
ZW50IHRoaXMgc2V0dGVyLgorICAgICAgICAoV2ViS2l0OjpXZWJDb29raWVNYW5hZ2VyUHJveHk6
OmNvb2tpZUFjY2VwdFBvbGljeSk6IEltcGxlbWVudCB0aGlzIGdldHRlci4KKyAgICAgICAgKiBX
ZWJQcm9jZXNzL0Nvb2tpZXMvV2ViQ29va2llTWFuYWdlci5oOiBEZWNsYXJlIHNldENvb2tpZVBl
cnNpc3RlbnRTdG9yYWdlLgorICAgICAgICAoV2ViQ29va2llTWFuYWdlcik6CisgICAgICAgICog
V2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6IFNldCB0aGUgY29va2llcycg
cGVyc2lzdGVudCBzdG9yYWdlIGFuZCBwb2xpY3kKKyAgICAgICAgdXNpbmcgdGhlIFdlYkNvb2tp
ZU1hbmFnZXIncyBtZXRob2RzLgorCiAyMDEyLTEyLTA1ICBDaHJpc3RvcGhlIER1bWV6ICA8Y2hy
aXN0b3BoZS5kdW1lekBpbnRlbC5jb20+CiAKICAgICAgICAgW0Nvb3JkaW5hdGVkR3JhcGhpY3Nd
IFVzZSB1bnNpZ25lZCBpbnRlZ2VycyBmb3IgQ29vcmRpbmF0ZWRUaWxlIElEcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3Bw
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3Bw
CmluZGV4IDk2ZmRkNmMwN2M5ZmExY2Y3YWIxNGI2NTc5YTRmZDUwODRmNzcxMmMuLjU1YjY2MDdh
NzA2N2FmMmM2MTU0OTNjYTQwNWJkZWM2ZjdhNzA4ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKQEAgLTc4LDYg
Kzc4LDkgQEAgdm9pZCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUoQ29yZUlQ
Qzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb24KICNlbmRpZgogI2lmIFVTRShTT1VQKQog
ICAgIGVuY29kZXIgPDwgdXJsU2NoZW1lc1JlZ2lzdGVyZWQ7CisgICAgZW5jb2RlciA8PCBjb29r
aWVQZXJzaXN0ZW50U3RvcmFnZVBhdGg7CisgICAgZW5jb2RlciA8PCBjb29raWVQZXJzaXN0ZW50
U3RvcmFnZVR5cGU7CisgICAgZW5jb2RlciA8PCBjb29raWVBY2NlcHRQb2xpY3k7CiAjZW5kaWYK
ICAgICBlbmNvZGVyLmVuY29kZUVudW0oY2FjaGVNb2RlbCk7CiAgICAgZW5jb2RlciA8PCBzaG91
bGRUcmFja1Zpc2l0ZWRMaW5rczsKQEAgLTE3MCw2ICsxNzMsMTIgQEAgYm9vbCBXZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBkZWNv
ZGVyLCBXZWIKICNpZiBVU0UoU09VUCkKICAgICBpZiAoIWRlY29kZXItPmRlY29kZShwYXJhbWV0
ZXJzLnVybFNjaGVtZXNSZWdpc3RlcmVkKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlm
ICghZGVjb2Rlci0+ZGVjb2RlKHBhcmFtZXRlcnMuY29va2llUGVyc2lzdGVudFN0b3JhZ2VQYXRo
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHBhcmFt
ZXRlcnMuY29va2llUGVyc2lzdGVudFN0b3JhZ2VUeXBlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHBhcmFtZXRlcnMuY29va2llQWNjZXB0UG9saWN5
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCiAgICAgaWYgKCFkZWNvZGVyLT5kZWNv
ZGVFbnVtKHBhcmFtZXRlcnMuY2FjaGVNb2RlbCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5oCmluZGV4IDY0YTY5OWYyYWJlZjlkYzcxMGU2YjI4OTNlZjk2ZjYyZDdjNjY5NzEuLjJkZjVh
OTE5MGU3YzkwOWJkYTkxMmU5NjE4ODI2NjI2MDBjZmQwMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMjcsNiAr
MjcsNyBAQAogI2RlZmluZSBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzX2gKIAogI2luY2x1
ZGUgIkNhY2hlTW9kZWwuaCIKKyNpbmNsdWRlICJIVFRQQ29va2llQWNjZXB0UG9saWN5LmgiCiAj
aW5jbHVkZSAiU2FuZGJveEV4dGVuc2lvbi5oIgogI2luY2x1ZGUgIlRleHRDaGVja2VyU3RhdGUu
aCIKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CkBAIC03Nyw2ICs3OCw5IEBAIHN0cnVjdCBX
ZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICNlbmRpZgogI2lmIFVTRShTT1VQKQogICAg
IFZlY3RvcjxTdHJpbmc+IHVybFNjaGVtZXNSZWdpc3RlcmVkOworICAgIFN0cmluZyBjb29raWVQ
ZXJzaXN0ZW50U3RvcmFnZVBhdGg7CisgICAgdWludDMyX3QgY29va2llUGVyc2lzdGVudFN0b3Jh
Z2VUeXBlOworICAgIEhUVFBDb29raWVBY2NlcHRQb2xpY3kgY29va2llQWNjZXB0UG9saWN5Owog
I2VuZGlmCiAKICAgICBDYWNoZU1vZGVsIGNhY2hlTW9kZWw7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29va2llTWFuYWdlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkuY3BwCmluZGV4IGI2M2M4MGM3ZTRl
ZjMzYWRlMmI2MzM1ODIyZWJkZTM4NTBjOTcwMTguLjIxMGRkZmRmYWVmNjVjMTIxZDg5MjYzOGU1
MGJiMTQxYTYyMTNmMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJD
b29raWVNYW5hZ2VyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJD
b29raWVNYW5hZ2VyUHJveHkuY3BwCkBAIC0xMzUsNiArMTM1LDEwIEBAIHZvaWQgV2ViQ29va2ll
TWFuYWdlclByb3h5OjpzZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KEhUVFBDb29raWVBY2NlcHRQ
b2xpY3kgcG9sCiAgICAgcGVyc2lzdEhUVFBDb29raWVBY2NlcHRQb2xpY3kocG9saWN5KTsKICNl
bmRpZgogCisjaWYgVVNFKFNPVVApCisgICAgc2V0Q29va2llQWNjZXB0UG9saWN5KHBvbGljeSk7
CisjZW5kaWYKKwogICAgIG1fd2ViQ29udGV4dC0+c2VuZFRvQWxsUHJvY2Vzc2VzUmVsYXVuY2hp
bmdUaGVtSWZOZWNlc3NhcnkoTWVzc2FnZXM6OldlYkNvb2tpZU1hbmFnZXI6OlNldEhUVFBDb29r
aWVBY2NlcHRQb2xpY3kocG9saWN5KSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkuaAppbmRleCBjMDE2OGUyOGM2ZDc2ODM5YzQ5NzA3
MGM1YTQxNTMyYTE2YjE0ZWRmLi40ZTE2NTZlNDIxNzJmMmY2YmVlMjliNDQ3MWQ5MTlkZTljMmI3
NzExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29va2llTWFuYWdl
clByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQ
cm94eS5oCkBAIC03Miw2ICs3Miw5IEBAIHB1YmxpYzoKIAogI2lmIFVTRShTT1VQKQogICAgIHZv
aWQgc2V0Q29va2llUGVyc2lzdGVudFN0b3JhZ2UoY29uc3QgU3RyaW5nJiBzdG9yYWdlUGF0aCwg
dWludDMyX3Qgc3RvcmFnZVR5cGUpOworICAgIHZvaWQgc2V0Q29va2llQWNjZXB0UG9saWN5KGNv
bnN0IEhUVFBDb29raWVBY2NlcHRQb2xpY3kmKTsKKyAgICBjb25zdCBwYWlyPFN0cmluZywgdWlu
dDMyX3Q+JiBjb29raWVQZXJzaXN0ZW50U3RvcmFnZSgpIGNvbnN0OworICAgIGNvbnN0IEhUVFBD
b29raWVBY2NlcHRQb2xpY3kmIGNvb2tpZUFjY2VwdFBvbGljeSgpIGNvbnN0OwogI2VuZGlmCiAK
ICAgICBib29sIHNob3VsZFRlcm1pbmF0ZShXZWJQcm9jZXNzUHJveHkqKSBjb25zdDsKQEAgLTkz
LDYgKzk2LDEwIEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHZvaWQgcGVyc2lz
dEhUVFBDb29raWVBY2NlcHRQb2xpY3koSFRUUENvb2tpZUFjY2VwdFBvbGljeSk7CiAjZW5kaWYK
KyNpZiBVU0UoU09VUCkKKyAgICBIVFRQQ29va2llQWNjZXB0UG9saWN5IG1fY29va2llQWNjZXB0
UG9saWN5OworICAgIHBhaXI8U3RyaW5nLCB1aW50MzJfdD4gbV9jb29raWVQZXJzaXN0ZW50U3Rv
cmFnZTsKKyNlbmRpZgogCiAgICAgV2ViQ29udGV4dCogbV93ZWJDb250ZXh0OwogICAgIEhhc2hN
YXA8dWludDY0X3QsIFJlZlB0cjxBcnJheUNhbGxiYWNrPiA+IG1fYXJyYXlDYWxsYmFja3M7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYkNvbnRleHRFZmwuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJDb250ZXh0RWZsLmNwcAppbmRleCBh
M2Q0NzI1YzgxM2I0OGZlODhiNGJkYmUwMzcyYjI5MjMyYmJkMTljLi4yZmI1ZjVmODYwZjQyOWNm
NGRjZjMxYWVjNzhlYjQ5OGY0NjJhNzU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvZWZsL1dlYkNvbnRleHRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9lZmwvV2ViQ29udGV4dEVmbC5jcHAKQEAgLTI0LDYgKzI0LDcgQEAKICAqLwogCiAjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViQ29va2llTWFuYWdlclByb3h5LmgiCiAjaW5jbHVk
ZSAiV2ViQ29udGV4dC5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
aCIKICNpbmNsdWRlICJXZWJTb3VwUmVxdWVzdE1hbmFnZXJQcm94eS5oIgpAQCAtNDMsNiArNDQs
MTAgQEAgU3RyaW5nIFdlYkNvbnRleHQ6OmFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkoKQogdm9p
ZCBXZWJDb250ZXh0OjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiB7CiAgICAgcGFyYW1ldGVycy51cmxTY2hlbWVz
UmVnaXN0ZXJlZCA9IG1fc291cFJlcXVlc3RNYW5hZ2VyUHJveHktPnJlZ2lzdGVyZWRVUklTY2hl
bWVzKCk7CisgICAgY29uc3QgcGFpcjxTdHJpbmcsIHVpbnQzMl90PiYgc3RvcmFnZSA9IG1fY29v
a2llTWFuYWdlclByb3h5LT5jb29raWVQZXJzaXN0ZW50U3RvcmFnZSgpOworICAgIHBhcmFtZXRl
cnMuY29va2llUGVyc2lzdGVudFN0b3JhZ2VQYXRoID0gc3RvcmFnZS5maXJzdDsKKyAgICBwYXJh
bWV0ZXJzLmNvb2tpZVBlcnNpc3RlbnRTdG9yYWdlVHlwZSA9IHN0b3JhZ2Uuc2Vjb25kOworICAg
IHBhcmFtZXRlcnMuY29va2llQWNjZXB0UG9saWN5ID0gbV9jb29raWVNYW5hZ2VyUHJveHktPmNv
b2tpZUFjY2VwdFBvbGljeSgpOwogfQogCiB2b2lkIFdlYkNvbnRleHQ6OnBsYXRmb3JtSW52YWxp
ZGF0ZUNvbnRleHQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9X
ZWJDb250ZXh0R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViQ29udGV4
dEd0ay5jcHAKaW5kZXggMGIwOWU5OTQ3MTcyZmU4YzU0ZjNlNjBhNjE1MDMwZjRiNTEwNzliZS4u
ZjQwYmNjMGU0YjI1ZGZjZmM0Mzg1MTY5MzFlYjc5YjFmYjQzYjhjZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJDb250ZXh0R3RrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYkNvbnRleHRHdGsuY3BwCkBAIC0yOSw2ICsyOSw3IEBA
CiAjaW5jbHVkZSAiV2ViQ29udGV4dC5oIgogCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgorI2luY2x1
ZGUgIldlYkNvb2tpZU1hbmFnZXJQcm94eS5oIjsKICNpbmNsdWRlICJXZWJJbnNwZWN0b3JTZXJ2
ZXIuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgiCiAjaW5jbHVk
ZSAiV2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHkuaCIKQEAgLTg3LDYgKzg4LDEwIEBAIHZvaWQg
V2ViQ29udGV4dDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzJiBwYXJhCiAgICAgaW5pdEluc3BlY3RvclNlcnZlcigpOwogCiAgICAgcGFy
YW1ldGVycy51cmxTY2hlbWVzUmVnaXN0ZXJlZCA9IG1fc291cFJlcXVlc3RNYW5hZ2VyUHJveHkt
PnJlZ2lzdGVyZWRVUklTY2hlbWVzKCk7CisgICAgY29uc3QgcGFpcjxTdHJpbmcsIHVpbnQzMl90
PiYgc3RvcmFnZSA9IG1fY29va2llTWFuYWdlclByb3h5LT5jb29raWVQZXJzaXN0ZW50U3RvcmFn
ZSgpOworICAgIHBhcmFtZXRlcnMuY29va2llUGVyc2lzdGVudFN0b3JhZ2VQYXRoID0gc3RvcmFn
ZS5maXJzdDsKKyAgICBwYXJhbWV0ZXJzLmNvb2tpZVBlcnNpc3RlbnRTdG9yYWdlVHlwZSA9IHN0
b3JhZ2Uuc2Vjb25kOworICAgIHBhcmFtZXRlcnMuY29va2llQWNjZXB0UG9saWN5ID0gbV9jb29r
aWVNYW5hZ2VyUHJveHktPmNvb2tpZUFjY2VwdFBvbGljeSgpOwogfQogCiB2b2lkIFdlYkNvbnRl
eHQ6OnBsYXRmb3JtSW52YWxpZGF0ZUNvbnRleHQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL3NvdXAvV2ViQ29va2llTWFuYWdlclByb3h5U291cC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3Mvc291cC9XZWJDb29raWVNYW5hZ2VyUHJveHlTb3VwLmNwcAppbmRl
eCAwODkxNGVkODEyZTNiYWQ3NTM3ODZlODQzMjA4OTBiOGY0YmE0NTIzLi5hNTEzNGI0MTkyOWVi
YWUzNGJkMjg4YjIyZWRlNDNiYzlkNWM5YmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3Mvc291cC9XZWJDb29raWVNYW5hZ2VyUHJveHlTb3VwLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3Mvc291cC9XZWJDb29raWVNYW5hZ2VyUHJveHlTb3VwLmNwcApAQCAt
MzQsNiArMzQsMjQgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiB2b2lkIFdlYkNvb2tpZU1hbmFnZXJQ
cm94eTo6c2V0Q29va2llUGVyc2lzdGVudFN0b3JhZ2UoY29uc3QgU3RyaW5nJiBzdG9yYWdlUGF0
aCwgdWludDMyX3Qgc3RvcmFnZVR5cGUpCiB7CiAgICAgbV93ZWJDb250ZXh0LT5zZW5kVG9BbGxQ
cm9jZXNzZXNSZWxhdW5jaGluZ1RoZW1JZk5lY2Vzc2FyeShNZXNzYWdlczo6V2ViQ29va2llTWFu
YWdlcjo6U2V0Q29va2llUGVyc2lzdGVudFN0b3JhZ2Uoc3RvcmFnZVBhdGgsIHN0b3JhZ2VUeXBl
KSk7CisKKyAgICBtX2Nvb2tpZVBlcnNpc3RlbnRTdG9yYWdlLmZpcnN0ID0gc3RvcmFnZVBhdGg7
CisgICAgbV9jb29raWVQZXJzaXN0ZW50U3RvcmFnZS5zZWNvbmQgPSBzdG9yYWdlVHlwZTsKK30K
KworY29uc3QgcGFpcjxTdHJpbmcsIHVpbnQzMl90PiYgV2ViQ29va2llTWFuYWdlclByb3h5Ojpj
b29raWVQZXJzaXN0ZW50U3RvcmFnZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fY29va2llUGVy
c2lzdGVudFN0b3JhZ2U7Cit9CisKK3ZvaWQgV2ViQ29va2llTWFuYWdlclByb3h5OjpzZXRDb29r
aWVBY2NlcHRQb2xpY3koY29uc3QgSFRUUENvb2tpZUFjY2VwdFBvbGljeSYgcG9saWN5KQorewor
ICAgIG1fY29va2llQWNjZXB0UG9saWN5ID0gcG9saWN5OworfQorCitjb25zdCBIVFRQQ29va2ll
QWNjZXB0UG9saWN5JiBXZWJDb29raWVNYW5hZ2VyUHJveHk6OmNvb2tpZUFjY2VwdFBvbGljeSgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIG1fY29va2llQWNjZXB0UG9saWN5OwogfQogCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Nvb2tpZXMvV2ViQ29va2llTWFuYWdl
ci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Db29raWVzL1dlYkNvb2tpZU1hbmFnZXIu
aAppbmRleCBhYWMwNDE5MmJmNzk2ZjEwMjFhMzgxMTg4MWZmMzU4YTZmODY5Y2QyLi4xZGJhNzUy
ZDdlYzI4YThlNDAwMTY2OWY2MDNkN2Y1ZDk2OGVlZmYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0Nvb2tpZXMvV2ViQ29va2llTWFuYWdlci5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvQ29va2llcy9XZWJDb29raWVNYW5hZ2VyLmgKQEAgLTUzLDYgKzUz
LDEwIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeShIVFRQ
Q29va2llQWNjZXB0UG9saWN5KTsKIAorI2lmIFVTRShTT1VQKQorICAgIHZvaWQgc2V0Q29va2ll
UGVyc2lzdGVudFN0b3JhZ2UoY29uc3QgU3RyaW5nJiBzdG9yYWdlUGF0aCwgdWludDMyX3Qgc3Rv
cmFnZVR5cGUpOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgV2ViQ29va2llTWFuYWdlcigpOwog
ICAgIApAQCAtNjcsMTAgKzcxLDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIHN0YXJ0T2JzZXJ2aW5n
Q29va2llQ2hhbmdlcygpOwogICAgIHZvaWQgc3RvcE9ic2VydmluZ0Nvb2tpZUNoYW5nZXMoKTsK
IAotI2lmIFVTRShTT1VQKQotICAgIHZvaWQgc2V0Q29va2llUGVyc2lzdGVudFN0b3JhZ2UoY29u
c3QgU3RyaW5nJiBzdG9yYWdlUGF0aCwgdWludDMyX3Qgc3RvcmFnZVR5cGUpOwotI2VuZGlmCi0K
ICAgICB2b2lkIGRpZFJlY2VpdmVXZWJDb29raWVNYW5hZ2VyTWVzc2FnZShDb3JlSVBDOjpDb25u
ZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nl
c3NTb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJQcm9jZXNzU291
cC5jcHAKaW5kZXggNzQ2ZTM2Nzg2ZTVhNDEzNGNiYTBhYjEyNWM2ZWYyNzc5ZjBkODY4Ni4uMjlm
ZmMyZDI2ODY5ODdlNjliODg2ZDFmN2E5OWY2YTM5NzE4YTEwMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwCkBAIC0yOSw2ICsyOSw3
IEBACiAKICNkZWZpbmUgTElCU09VUF9VU0VfVU5TVEFCTEVfUkVRVUVTVF9BUEkKIAorI2luY2x1
ZGUgIldlYkNvb2tpZU1hbmFnZXIuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9GaWxlU3lzdGVtLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9MYW5ndWFnZS5oPgpAQCAtMTY5LDYgKzE3MCw5IEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxh
dGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyhjb25zdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwYXJhbWV0ZXJzLnVybFNjaGVtZXNSZWdp
c3RlcmVkLnNpemUoKTsgaSsrKQogICAgICAgICBtX3NvdXBSZXF1ZXN0TWFuYWdlci5yZWdpc3Rl
clVSSVNjaGVtZShwYXJhbWV0ZXJzLnVybFNjaGVtZXNSZWdpc3RlcmVkW2ldKTsKIAorICAgIFdl
YkNvb2tpZU1hbmFnZXI6OnNoYXJlZCgpLnNldENvb2tpZVBlcnNpc3RlbnRTdG9yYWdlKHBhcmFt
ZXRlcnMuY29va2llUGVyc2lzdGVudFN0b3JhZ2VQYXRoLCBwYXJhbWV0ZXJzLmNvb2tpZVBlcnNp
c3RlbnRTdG9yYWdlVHlwZSk7CisgICAgV2ViQ29va2llTWFuYWdlcjo6c2hhcmVkKCkuc2V0SFRU
UENvb2tpZUFjY2VwdFBvbGljeShwYXJhbWV0ZXJzLmNvb2tpZUFjY2VwdFBvbGljeSk7CisKICAg
ICBXZWJDb3JlOjphZGRMYW5ndWFnZUNoYW5nZU9ic2VydmVyKHRoaXMsIGxhbmd1YWdlQ2hhbmdl
ZCk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178507</attachid>
            <date>2012-12-10 03:49:20 -0800</date>
            <delta_ts>2012-12-10 04:12:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104370-20121210124617.patch</filename>
            <type>text/plain</type>
            <size>13315</size>
            <attacher name="Joaquim Rocha">jrocha</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NjYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYzE5OTU5ZTJlZjk3ZTM4
NDIzYjg4Nzc1ZGNiNTdjMWIzMGU1Zjg0NS4uNTg3YzI2NzFkNjNlYzQ0MmUwNGZjNTVhY2JjNzEw
ZjA1ZTBmMmY4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDEyLTEyLTA3ICBKb2Fx
dWltIFJvY2hhICA8anJvY2hhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS10gQ29va2llcycg
c3RvcmFnZSBwYXRoIGFuZCBwb2xpY3kgYXJlIG5vdCBzZXQgd2hlbiB0aGUgV2ViUHJvY2VzcyBp
cyBraWxsZWQgYW5kIHJlbGF1bmNoZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwNDM3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoaXMgaXNzdWUgaGFwcGVucyBvbiBwb3J0cyB0aGF0IHVzZSBTb3Vw
IGFuZCBjYXVzZXMgcHJvYmxlbXMgbGlrZSBub3QgZmluZGluZyB0aGUgc3RvcmVkIGNvb2tpZXMK
KyAgICAgICAgbm9yIHRoZWlyIHBvbGljeSB3aGVuIHRoZSBXZWJQcm9jZXNzIGlzIHJlbGF1bmNo
ZWQuIEFzIGFuIGV4YW1wbGUgb2YgYSBwcm9ibGVtIGNhdXNlZCBieSB0aGlzLAorICAgICAgICBh
IHByZXZpb3VzbHkgbG9nZ2VkIGluIHVzZXIgd2lsbCBub3QgYmUgbG9nZ2VkIGluIGFnYWluIHdo
ZW4gdGhlIHByb2Nlc3MgaXMgcmVsYXVuY2hlZCBhbmQgdGhlCisgICAgICAgIHBvbGljeSB1c2Vk
IGlzIGFsd2F5cyB0aGUgc2FtZSBvbmUuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnM6OmVuY29kZSk6IEVuY29kZSBjb29raWVzJyBwZXJzaXN0ZW50IHN0b3JhZ2Ug
cGF0aCwKKyAgICAgICAgc3RvcmFnZSB0eXBlIGFuZCBhY2NlcHRhbmNlIHBvbGljeS4KKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKTogRGVjb2Rl
IGNvb2tpZXMnIHBlcnNpc3RlbnQgc3RvcmFnZSBwYXRoLAorICAgICAgICBzdG9yYWdlIHR5cGUg
YW5kIGFjY2VwdGFuY2UgcG9saWN5LgorICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzLmg6IENyZWF0ZSAzIHZhcmlhYmxlcyB0byBob2xkIHRoZSB2YWx1ZXMgbWVu
dGlvbmVkIGFib3ZlLgorICAgICAgICAoV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyk6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYkNvb2tpZU1hbmFnZXJQcm94eTo6V2ViQ29va2llTWFuYWdlclByb3h5KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViQ29va2llTWFuYWdlclByb3h5OjpzZXRIVFRQQ29va2llQWNjZXB0
UG9saWN5KTogQ2FsbCBXZWJDb29raWVNYW5hZ2VyUHJveHlTb3VwOjpzZXRDb29raWVBY2NlcHRQ
b2xpY3kuCisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5oOiBEZWNs
YXJlIG5ldyBTb3VwJ3MgbWV0aG9kcyBzZXRDb29raWVBY2NlcHRQb2xpY3ksIGNvb2tpZUFjY2Vw
dFBvbGljeSBhbmQKKyAgICAgICAgY29va2llUGVyc2lzdGVudFN0b3JhZ2UgYXMgd2VsbCBhcyB0
aGUgdmFyaWFibGVzIG1fY29va2llQWNjZXB0UG9saWN5IGFuZCBtX2Nvb2tpZVBlcnNpc3RlbnRT
dG9yYWdlLgorICAgICAgICAoV2ViQ29va2llTWFuYWdlclByb3h5KToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvZWZsL1dlYkNvbnRleHRFZmwuY3BwOiBBc3NpZ24gdGhlIHBhcmFtZXRlcnMnIGNvb2tp
ZVBlcnNpc3RlbnRTdG9yYWdlUGF0aCwKKyAgICAgICAgY29va2llUGVyc2lzdGVudFN0b3JhZ2VU
eXBlIGFuZCBjb29raWVBY2NlcHRQb2xpY3kgd2l0aCB0aGUgcmVzcGVjdGl2ZSB2YWx1ZXMuCisg
ICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3Mp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9ndGsvV2ViQ29udGV4dEd0ay5jcHA6IEFzc2lnbiB0aGUg
cGFyYW1ldGVycycgY29va2llUGVyc2lzdGVudFN0b3JhZ2VQYXRoLAorICAgICAgICBjb29raWVQ
ZXJzaXN0ZW50U3RvcmFnZVR5cGUgYW5kIGNvb2tpZUFjY2VwdFBvbGljeSB3aXRoIHRoZSByZXNw
ZWN0aXZlIHZhbHVlcy4KKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6cGxhdGZvcm1Jbml0
aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAgICogVUlQcm9jZXNzL3NvdXAvV2ViQ29va2llTWFu
YWdlclByb3h5U291cC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNvb2tpZU1hbmFnZXJQcm94
eTo6c2V0Q29va2llUGVyc2lzdGVudFN0b3JhZ2UpOiBBc3NpZ24gdGhlIG1fY29va2llUGVyc2lz
dGVudFN0b3JhZ2UgcGFpcgorICAgICAgICB3aXRoIHRoZSBtZXRob2QncyBwYXJhbWV0ZXJzLgor
ICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29va2llTWFuYWdlclByb3h5
Ojpjb29raWVQZXJzaXN0ZW50U3RvcmFnZSk6IEltcGxlbWVudCB0aGlzIGdldHRlci4KKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0Nvb2tpZXMvV2ViQ29va2llTWFuYWdlci5oOiBEZWNsYXJlIHNldENv
b2tpZVBlcnNpc3RlbnRTdG9yYWdlLgorICAgICAgICAoV2ViQ29va2llTWFuYWdlcik6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6IFNldCB0aGUgY29v
a2llcycgcGVyc2lzdGVudCBzdG9yYWdlIGFuZCBwb2xpY3kKKyAgICAgICAgdXNpbmcgdGhlIFdl
YkNvb2tpZU1hbmFnZXIncyBtZXRob2RzLgorCiAyMDEyLTEyLTA1ICBDaHJpc3RvcGhlIER1bWV6
ICA8Y2hyaXN0b3BoZS5kdW1lekBpbnRlbC5jb20+CiAKICAgICAgICAgW0Nvb3JkaW5hdGVkR3Jh
cGhpY3NdIFVzZSB1bnNpZ25lZCBpbnRlZ2VycyBmb3IgQ29vcmRpbmF0ZWRUaWxlIElEcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuY3BwCmluZGV4IDk2ZmRkNmMwN2M5ZmExY2Y3YWIxNGI2NTc5YTRmZDUwODRmNzcxMmMuLjVk
M2FhOWNmNGIzNzVmNmJmYzEzYmI4N2ZmMDY0ZGUxYjE5MGNkOWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKQEAg
LTc4LDYgKzc4LDkgQEAgdm9pZCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUo
Q29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb24KICNlbmRpZgogI2lmIFVTRShT
T1VQKQogICAgIGVuY29kZXIgPDwgdXJsU2NoZW1lc1JlZ2lzdGVyZWQ7CisgICAgZW5jb2RlciA8
PCBjb29raWVQZXJzaXN0ZW50U3RvcmFnZVBhdGg7CisgICAgZW5jb2RlciA8PCBjb29raWVQZXJz
aXN0ZW50U3RvcmFnZVR5cGU7CisgICAgZW5jb2Rlci5lbmNvZGVFbnVtKGNvb2tpZUFjY2VwdFBv
bGljeSk7CiAjZW5kaWYKICAgICBlbmNvZGVyLmVuY29kZUVudW0oY2FjaGVNb2RlbCk7CiAgICAg
ZW5jb2RlciA8PCBzaG91bGRUcmFja1Zpc2l0ZWRMaW5rczsKQEAgLTE3MCw2ICsxNzMsMTIgQEAg
Ym9vbCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUoQ29yZUlQQzo6QXJndW1l
bnREZWNvZGVyKiBkZWNvZGVyLCBXZWIKICNpZiBVU0UoU09VUCkKICAgICBpZiAoIWRlY29kZXIt
PmRlY29kZShwYXJhbWV0ZXJzLnVybFNjaGVtZXNSZWdpc3RlcmVkKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHBhcmFtZXRlcnMuY29va2llUGVyc2lz
dGVudFN0b3JhZ2VQYXRoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVjb2Rl
ci0+ZGVjb2RlKHBhcmFtZXRlcnMuY29va2llUGVyc2lzdGVudFN0b3JhZ2VUeXBlKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHBhcmFtZXRlcnMuY29v
a2llQWNjZXB0UG9saWN5KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCiAgICAgaWYg
KCFkZWNvZGVyLT5kZWNvZGVFbnVtKHBhcmFtZXRlcnMuY2FjaGVNb2RlbCkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IDY0YTY5OWYyYWJlZjlkYzcxMGU2YjI4OTNlZjk2ZjYy
ZDdjNjY5NzEuLjJkZjVhOTE5MGU3YzkwOWJkYTkxMmU5NjE4ODI2NjI2MDBjZmQwMTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuaApAQCAtMjcsNiArMjcsNyBAQAogI2RlZmluZSBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzX2gKIAogI2luY2x1ZGUgIkNhY2hlTW9kZWwuaCIKKyNpbmNsdWRlICJIVFRQQ29va2llQWNj
ZXB0UG9saWN5LmgiCiAjaW5jbHVkZSAiU2FuZGJveEV4dGVuc2lvbi5oIgogI2luY2x1ZGUgIlRl
eHRDaGVja2VyU3RhdGUuaCIKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CkBAIC03Nyw2ICs3
OCw5IEBAIHN0cnVjdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICNlbmRpZgogI2lm
IFVTRShTT1VQKQogICAgIFZlY3RvcjxTdHJpbmc+IHVybFNjaGVtZXNSZWdpc3RlcmVkOworICAg
IFN0cmluZyBjb29raWVQZXJzaXN0ZW50U3RvcmFnZVBhdGg7CisgICAgdWludDMyX3QgY29va2ll
UGVyc2lzdGVudFN0b3JhZ2VUeXBlOworICAgIEhUVFBDb29raWVBY2NlcHRQb2xpY3kgY29va2ll
QWNjZXB0UG9saWN5OwogI2VuZGlmCiAKICAgICBDYWNoZU1vZGVsIGNhY2hlTW9kZWw7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAppbmRleCA0Nzk5OTA5MzVmNjhjOTdlZDNmZGMy
YWFjYzNmMTgyYTkzMjJhMjBhLi43NjAzZmQ0ZTZkNjcwNWQwOGNlYjYxODUxZjczMGZiZmFmNjhk
YjVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKQEAgLTE2NSwxMCArMTY1
LDEwIEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JNKFdJTikKICAgICB2b2lkIHNldFNob3VsZFBh
aW50TmF0aXZlQ29udHJvbHMoYm9vbCk7Ci0KKyNlbmRpZgorI2lmIFBMQVRGT1JNKFdJTikgfHwg
VVNFKFNPVVApCiAgICAgdm9pZCBzZXRJbml0aWFsSFRUUENvb2tpZUFjY2VwdFBvbGljeShIVFRQ
Q29va2llQWNjZXB0UG9saWN5IHBvbGljeSkgeyBtX2luaXRpYWxIVFRQQ29va2llQWNjZXB0UG9s
aWN5ID0gcG9saWN5OyB9CiAjZW5kaWYKLQogICAgIHZvaWQgc2V0RW5oYW5jZWRBY2Nlc3NpYmls
aXR5KGJvb2wpOwogICAgIAogICAgIC8vIERvd25sb2Fkcy4KQEAgLTM4Niw2ICszODYsOCBAQCBw
cml2YXRlOgogCiAjaWYgUExBVEZPUk0oV0lOKQogICAgIGJvb2wgbV9zaG91bGRQYWludE5hdGl2
ZUNvbnRyb2xzOworI2VuZGlmCisjaWYgUExBVEZPUk0oV0lOKSB8fCBVU0UoU09VUCkKICAgICBI
VFRQQ29va2llQWNjZXB0UG9saWN5IG1faW5pdGlhbEhUVFBDb29raWVBY2NlcHRQb2xpY3k7CiAj
ZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvb2tpZU1h
bmFnZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29va2llTWFuYWdl
clByb3h5LmNwcAppbmRleCBiNjNjODBjN2U0ZWYzM2FkZTJiNjMzNTgyMmViZGUzODUwYzk3MDE4
Li4yNDZiM2E1YTAxMzZmNjY3YTg2ZTk4OGM3MDMwMjUyYWVjMDczNDlkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29va2llTWFuYWdlclByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29va2llTWFuYWdlclByb3h5LmNwcApAQCAtNDAs
NyArNDAsMTAgQEAgUGFzc1JlZlB0cjxXZWJDb29raWVNYW5hZ2VyUHJveHk+IFdlYkNvb2tpZU1h
bmFnZXJQcm94eTo6Y3JlYXRlKFdlYkNvbnRleHQqIGNvbnQKIH0KIAogV2ViQ29va2llTWFuYWdl
clByb3h5OjpXZWJDb29raWVNYW5hZ2VyUHJveHkoV2ViQ29udGV4dCogY29udGV4dCkKLSAgICA6
IG1fd2ViQ29udGV4dChjb250ZXh0KQorICAgIDogbV9jb29raWVBY2NlcHRQb2xpY3koSFRUUENv
b2tpZUFjY2VwdFBvbGljeUFsd2F5cykKKyAgICAsIG1fY29va2llUGVyc2lzdGVudFN0b3JhZ2VQ
YXRoKCIiKQorICAgICwgbV9jb29raWVQZXJzaXN0ZW50U3RvcmFnZVR5cGUoMCkKKyAgICAsIG1f
d2ViQ29udGV4dChjb250ZXh0KQogewogICAgIG1fd2ViQ29udGV4dC0+YWRkTWVzc2FnZVJlY2Vp
dmVyKE1lc3NhZ2VzOjpXZWJDb29raWVNYW5hZ2VyUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUo
KSwgdGhpcyk7CiB9CkBAIC0xMzQsNiArMTM3LDkgQEAgdm9pZCBXZWJDb29raWVNYW5hZ2VyUHJv
eHk6OnNldEhUVFBDb29raWVBY2NlcHRQb2xpY3koSFRUUENvb2tpZUFjY2VwdFBvbGljeSBwb2wK
ICNpZiBQTEFURk9STShNQUMpCiAgICAgcGVyc2lzdEhUVFBDb29raWVBY2NlcHRQb2xpY3kocG9s
aWN5KTsKICNlbmRpZgorI2lmIFVTRShTT1VQKQorICAgIG1fd2ViQ29udGV4dC0+c2V0SW5pdGlh
bEhUVFBDb29raWVBY2NlcHRQb2xpY3kocG9saWN5KTsKKyNlbmRpZgogCiAgICAgbV93ZWJDb250
ZXh0LT5zZW5kVG9BbGxQcm9jZXNzZXNSZWxhdW5jaGluZ1RoZW1JZk5lY2Vzc2FyeShNZXNzYWdl
czo6V2ViQ29va2llTWFuYWdlcjo6U2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeShwb2xpY3kpKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2Vy
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHku
aAppbmRleCBjMDE2OGUyOGM2ZDc2ODM5YzQ5NzA3MGM1YTQxNTMyYTE2YjE0ZWRmLi40NTQwZTI1
YTMyYWE4MWI2YmRkOTFlZWJjMWY1ZmRhNDY2OGQ2MDc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViQ29va2llTWFuYWdlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5oCkBAIC03Miw2ICs3Miw3IEBAIHB1
YmxpYzoKIAogI2lmIFVTRShTT1VQKQogICAgIHZvaWQgc2V0Q29va2llUGVyc2lzdGVudFN0b3Jh
Z2UoY29uc3QgU3RyaW5nJiBzdG9yYWdlUGF0aCwgdWludDMyX3Qgc3RvcmFnZVR5cGUpOworICAg
IHZvaWQgY29va2llUGVyc2lzdGVudFN0b3JhZ2UoU3RyaW5nJiBzdG9yYWdlUGF0aCwgdWludDMy
X3QgKnN0b3JhZ2VUeXBlKSBjb25zdDsKICNlbmRpZgogCiAgICAgYm9vbCBzaG91bGRUZXJtaW5h
dGUoV2ViUHJvY2Vzc1Byb3h5KikgY29uc3Q7CkBAIC05Myw2ICs5NCwxMSBAQCBwcml2YXRlOgog
I2lmIFBMQVRGT1JNKE1BQykKICAgICB2b2lkIHBlcnNpc3RIVFRQQ29va2llQWNjZXB0UG9saWN5
KEhUVFBDb29raWVBY2NlcHRQb2xpY3kpOwogI2VuZGlmCisjaWYgVVNFKFNPVVApCisgICAgSFRU
UENvb2tpZUFjY2VwdFBvbGljeSBtX2Nvb2tpZUFjY2VwdFBvbGljeTsKKyAgICBTdHJpbmcgbV9j
b29raWVQZXJzaXN0ZW50U3RvcmFnZVBhdGg7CisgICAgdWludDMyX3QgbV9jb29raWVQZXJzaXN0
ZW50U3RvcmFnZVR5cGU7CisjZW5kaWYKIAogICAgIFdlYkNvbnRleHQqIG1fd2ViQ29udGV4dDsK
ICAgICBIYXNoTWFwPHVpbnQ2NF90LCBSZWZQdHI8QXJyYXlDYWxsYmFjaz4gPiBtX2FycmF5Q2Fs
bGJhY2tzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJDb250
ZXh0RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViQ29udGV4dEVmbC5j
cHAKaW5kZXggYTNkNDcyNWM4MTNiNDhmZTg4YjRiZGJlMDM3MmIyOTIzMmJiZDE5Yy4uMmZiNWY1
Zjg2MGY0MjljZjRkY2YzMWFlYzc4ZWI0OThmNDYyYTc1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2VmbC9XZWJDb250ZXh0RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvZWZsL1dlYkNvbnRleHRFZmwuY3BwCkBAIC0yNCw2ICsyNCw3IEBACiAgKi8K
IAogI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYkNvb2tpZU1hbmFnZXJQcm94eS5o
IgogI2luY2x1ZGUgIldlYkNvbnRleHQuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiV2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHkuaCIKQEAg
LTQzLDYgKzQ0LDEwIEBAIFN0cmluZyBXZWJDb250ZXh0OjphcHBsaWNhdGlvbkNhY2hlRGlyZWN0
b3J5KCkKIHZvaWQgV2ViQ29udGV4dDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogewogICAgIHBhcmFtZXRlcnMu
dXJsU2NoZW1lc1JlZ2lzdGVyZWQgPSBtX3NvdXBSZXF1ZXN0TWFuYWdlclByb3h5LT5yZWdpc3Rl
cmVkVVJJU2NoZW1lcygpOworICAgIGNvbnN0IHBhaXI8U3RyaW5nLCB1aW50MzJfdD4mIHN0b3Jh
Z2UgPSBtX2Nvb2tpZU1hbmFnZXJQcm94eS0+Y29va2llUGVyc2lzdGVudFN0b3JhZ2UoKTsKKyAg
ICBwYXJhbWV0ZXJzLmNvb2tpZVBlcnNpc3RlbnRTdG9yYWdlUGF0aCA9IHN0b3JhZ2UuZmlyc3Q7
CisgICAgcGFyYW1ldGVycy5jb29raWVQZXJzaXN0ZW50U3RvcmFnZVR5cGUgPSBzdG9yYWdlLnNl
Y29uZDsKKyAgICBwYXJhbWV0ZXJzLmNvb2tpZUFjY2VwdFBvbGljeSA9IG1fY29va2llTWFuYWdl
clByb3h5LT5jb29raWVBY2NlcHRQb2xpY3koKTsKIH0KIAogdm9pZCBXZWJDb250ZXh0OjpwbGF0
Zm9ybUludmFsaWRhdGVDb250ZXh0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9ndGsvV2ViQ29udGV4dEd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3Rr
L1dlYkNvbnRleHRHdGsuY3BwCmluZGV4IDBiMDllOTk0NzE3MmZlOGM1NGYzZTYwYTYxNTAzMGY0
YjUxMDc5YmUuLmFmOTE1MThkMTU2Nzc1YjI2OTI5ZjRkODQxYzZhN2MxOWU4ZGE0YjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViQ29udGV4dEd0ay5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJDb250ZXh0R3RrLmNwcApAQCAtMjks
NiArMjksNyBAQAogI2luY2x1ZGUgIldlYkNvbnRleHQuaCIKIAogI2luY2x1ZGUgIkxvZ2dpbmcu
aCIKKyNpbmNsdWRlICJXZWJDb29raWVNYW5hZ2VyUHJveHkuaCI7CiAjaW5jbHVkZSAiV2ViSW5z
cGVjdG9yU2VydmVyLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
IgogI2luY2x1ZGUgIldlYlNvdXBSZXF1ZXN0TWFuYWdlclByb3h5LmgiCkBAIC04Nyw2ICs4OCw4
IEBAIHZvaWQgV2ViQ29udGV4dDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhCiAgICAgaW5pdEluc3BlY3RvclNlcnZlcigpOwog
CiAgICAgcGFyYW1ldGVycy51cmxTY2hlbWVzUmVnaXN0ZXJlZCA9IG1fc291cFJlcXVlc3RNYW5h
Z2VyUHJveHktPnJlZ2lzdGVyZWRVUklTY2hlbWVzKCk7CisgICAgbV9jb29raWVNYW5hZ2VyUHJv
eHktPmNvb2tpZVBlcnNpc3RlbnRTdG9yYWdlKHBhcmFtZXRlcnMuY29va2llUGVyc2lzdGVudFN0
b3JhZ2VQYXRoLAorICAgICAgICAmcGFyYW1ldGVycy5jb29raWVBY2NlcHRQb2xpY3kpOwogfQog
CiB2b2lkIFdlYkNvbnRleHQ6OnBsYXRmb3JtSW52YWxpZGF0ZUNvbnRleHQoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3NvdXAvV2ViQ29va2llTWFuYWdlclByb3h5U291
cC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvc291cC9XZWJDb29raWVNYW5hZ2VyUHJv
eHlTb3VwLmNwcAppbmRleCAwODkxNGVkODEyZTNiYWQ3NTM3ODZlODQzMjA4OTBiOGY0YmE0NTIz
Li5jZDQwYjk2MDc2NmYxNjhiZjAwZjdhNGJjYzkwZjU0MmVjOTEyMjcwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvc291cC9XZWJDb29raWVNYW5hZ2VyUHJveHlTb3VwLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvc291cC9XZWJDb29raWVNYW5hZ2VyUHJv
eHlTb3VwLmNwcApAQCAtMzQsNiArMzQsMTUgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiB2b2lkIFdl
YkNvb2tpZU1hbmFnZXJQcm94eTo6c2V0Q29va2llUGVyc2lzdGVudFN0b3JhZ2UoY29uc3QgU3Ry
aW5nJiBzdG9yYWdlUGF0aCwgdWludDMyX3Qgc3RvcmFnZVR5cGUpCiB7CiAgICAgbV93ZWJDb250
ZXh0LT5zZW5kVG9BbGxQcm9jZXNzZXNSZWxhdW5jaGluZ1RoZW1JZk5lY2Vzc2FyeShNZXNzYWdl
czo6V2ViQ29va2llTWFuYWdlcjo6U2V0Q29va2llUGVyc2lzdGVudFN0b3JhZ2Uoc3RvcmFnZVBh
dGgsIHN0b3JhZ2VUeXBlKSk7CisKKyAgICBtX2Nvb2tpZVBlcnNpc3RlbnRTdG9yYWdlUGF0aCA9
IHN0b3JhZ2VQYXRoOworICAgIG1fY29va2llUGVyc2lzdGVudFN0b3JhZ2VUeXBlID0gc3RvcmFn
ZVR5cGU7Cit9CisKK3ZvaWQgV2ViQ29va2llTWFuYWdlclByb3h5Ojpjb29raWVQZXJzaXN0ZW50
U3RvcmFnZShTdHJpbmcgJnN0b3JhZ2VQYXRoLCB1aW50MzJfdCAqc3RvcmFnZVR5cGUpIGNvbnN0
Cit7CisgICAgc3RvcmFnZVBhdGggPSBtX2Nvb2tpZVBlcnNpc3RlbnRTdG9yYWdlUGF0aDsKKyAg
ICAqc3RvcmFnZVR5cGUgPSBtX2Nvb2tpZVBlcnNpc3RlbnRTdG9yYWdlVHlwZTsKIH0KIAogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Db29raWVzL1dlYkNvb2tpZU1h
bmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvQ29va2llcy9XZWJDb29raWVNYW5h
Z2VyLmgKaW5kZXggYWFjMDQxOTJiZjc5NmYxMDIxYTM4MTE4ODFmZjM1OGE2Zjg2OWNkMi4uMWRi
YTc1MmQ3ZWMyOGE4ZTQwMDE2NjlmNjAzZDdmNWQ5NjhlZWZmMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9Db29raWVzL1dlYkNvb2tpZU1hbmFnZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Nvb2tpZXMvV2ViQ29va2llTWFuYWdlci5oCkBAIC01Myw2
ICs1MywxMCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldEhUVFBDb29raWVBY2NlcHRQb2xpY3ko
SFRUUENvb2tpZUFjY2VwdFBvbGljeSk7CiAKKyNpZiBVU0UoU09VUCkKKyAgICB2b2lkIHNldENv
b2tpZVBlcnNpc3RlbnRTdG9yYWdlKGNvbnN0IFN0cmluZyYgc3RvcmFnZVBhdGgsIHVpbnQzMl90
IHN0b3JhZ2VUeXBlKTsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIFdlYkNvb2tpZU1hbmFnZXIo
KTsKICAgICAKQEAgLTY3LDEwICs3MSw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzdGFydE9ic2Vy
dmluZ0Nvb2tpZUNoYW5nZXMoKTsKICAgICB2b2lkIHN0b3BPYnNlcnZpbmdDb29raWVDaGFuZ2Vz
KCk7CiAKLSNpZiBVU0UoU09VUCkKLSAgICB2b2lkIHNldENvb2tpZVBlcnNpc3RlbnRTdG9yYWdl
KGNvbnN0IFN0cmluZyYgc3RvcmFnZVBhdGgsIHVpbnQzMl90IHN0b3JhZ2VUeXBlKTsKLSNlbmRp
ZgotCiAgICAgdm9pZCBkaWRSZWNlaXZlV2ViQ29va2llTWFuYWdlck1lc3NhZ2UoQ29yZUlQQzo6
Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXIm
KTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJQ
cm9jZXNzU291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vz
c1NvdXAuY3BwCmluZGV4IDc0NmUzNjc4NmU1YTQxMzRjYmEwYWIxMjVjNmVmMjc3OWYwZDg2ODYu
LmI2ZWQ0ZDFhNTY1YTc1ZjdlY2YzNGE4NThmNzVkMjcxNjNkZTdiYmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJQcm9jZXNzU291cC5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcApAQCAtMjksNiAr
MjksNyBAQAogCiAjZGVmaW5lIExJQlNPVVBfVVNFX1VOU1RBQkxFX1JFUVVFU1RfQVBJCiAKKyNp
bmNsdWRlICJXZWJDb29raWVNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRmlsZVN5c3RlbS5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvTGFuZ3VhZ2UuaD4KQEAgLTE2OSw2ICsxNzAsMTEgQEAgdm9pZCBXZWJQcm9jZXNz
OjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKGNvbnN0IFdlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHBhcmFtZXRlcnMudXJsU2NoZW1l
c1JlZ2lzdGVyZWQuc2l6ZSgpOyBpKyspCiAgICAgICAgIG1fc291cFJlcXVlc3RNYW5hZ2VyLnJl
Z2lzdGVyVVJJU2NoZW1lKHBhcmFtZXRlcnMudXJsU2NoZW1lc1JlZ2lzdGVyZWRbaV0pOwogCisg
ICAgaWYgKCFwYXJhbWV0ZXJzLmNvb2tpZVBlcnNpc3RlbnRTdG9yYWdlUGF0aC5pc0VtcHR5KCkp
CisgICAgICAgIFdlYkNvb2tpZU1hbmFnZXI6OnNoYXJlZCgpLnNldENvb2tpZVBlcnNpc3RlbnRT
dG9yYWdlKHBhcmFtZXRlcnMuY29va2llUGVyc2lzdGVudFN0b3JhZ2VQYXRoLAorICAgICAgICAg
ICAgcGFyYW1ldGVycy5jb29raWVQZXJzaXN0ZW50U3RvcmFnZVR5cGUpOworICAgIFdlYkNvb2tp
ZU1hbmFnZXI6OnNoYXJlZCgpLnNldEhUVFBDb29raWVBY2NlcHRQb2xpY3kocGFyYW1ldGVycy5j
b29raWVBY2NlcHRQb2xpY3kpOworCiAgICAgV2ViQ29yZTo6YWRkTGFuZ3VhZ2VDaGFuZ2VPYnNl
cnZlcih0aGlzLCBsYW5ndWFnZUNoYW5nZWQpOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178513</attachid>
            <date>2012-12-10 04:12:23 -0800</date>
            <delta_ts>2012-12-10 05:45:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104370-20121210130920.patch</filename>
            <type>text/plain</type>
            <size>13345</size>
            <attacher name="Joaquim Rocha">jrocha</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NjYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYzE5OTU5ZTJlZjk3ZTM4
NDIzYjg4Nzc1ZGNiNTdjMWIzMGU1Zjg0NS4uNTg3YzI2NzFkNjNlYzQ0MmUwNGZjNTVhY2JjNzEw
ZjA1ZTBmMmY4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDEyLTEyLTA3ICBKb2Fx
dWltIFJvY2hhICA8anJvY2hhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS10gQ29va2llcycg
c3RvcmFnZSBwYXRoIGFuZCBwb2xpY3kgYXJlIG5vdCBzZXQgd2hlbiB0aGUgV2ViUHJvY2VzcyBp
cyBraWxsZWQgYW5kIHJlbGF1bmNoZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwNDM3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoaXMgaXNzdWUgaGFwcGVucyBvbiBwb3J0cyB0aGF0IHVzZSBTb3Vw
IGFuZCBjYXVzZXMgcHJvYmxlbXMgbGlrZSBub3QgZmluZGluZyB0aGUgc3RvcmVkIGNvb2tpZXMK
KyAgICAgICAgbm9yIHRoZWlyIHBvbGljeSB3aGVuIHRoZSBXZWJQcm9jZXNzIGlzIHJlbGF1bmNo
ZWQuIEFzIGFuIGV4YW1wbGUgb2YgYSBwcm9ibGVtIGNhdXNlZCBieSB0aGlzLAorICAgICAgICBh
IHByZXZpb3VzbHkgbG9nZ2VkIGluIHVzZXIgd2lsbCBub3QgYmUgbG9nZ2VkIGluIGFnYWluIHdo
ZW4gdGhlIHByb2Nlc3MgaXMgcmVsYXVuY2hlZCBhbmQgdGhlCisgICAgICAgIHBvbGljeSB1c2Vk
IGlzIGFsd2F5cyB0aGUgc2FtZSBvbmUuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnM6OmVuY29kZSk6IEVuY29kZSBjb29raWVzJyBwZXJzaXN0ZW50IHN0b3JhZ2Ug
cGF0aCwKKyAgICAgICAgc3RvcmFnZSB0eXBlIGFuZCBhY2NlcHRhbmNlIHBvbGljeS4KKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKTogRGVjb2Rl
IGNvb2tpZXMnIHBlcnNpc3RlbnQgc3RvcmFnZSBwYXRoLAorICAgICAgICBzdG9yYWdlIHR5cGUg
YW5kIGFjY2VwdGFuY2UgcG9saWN5LgorICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzLmg6IENyZWF0ZSAzIHZhcmlhYmxlcyB0byBob2xkIHRoZSB2YWx1ZXMgbWVu
dGlvbmVkIGFib3ZlLgorICAgICAgICAoV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyk6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYkNvb2tpZU1hbmFnZXJQcm94eTo6V2ViQ29va2llTWFuYWdlclByb3h5KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViQ29va2llTWFuYWdlclByb3h5OjpzZXRIVFRQQ29va2llQWNjZXB0
UG9saWN5KTogQ2FsbCBXZWJDb29raWVNYW5hZ2VyUHJveHlTb3VwOjpzZXRDb29raWVBY2NlcHRQ
b2xpY3kuCisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5oOiBEZWNs
YXJlIG5ldyBTb3VwJ3MgbWV0aG9kcyBzZXRDb29raWVBY2NlcHRQb2xpY3ksIGNvb2tpZUFjY2Vw
dFBvbGljeSBhbmQKKyAgICAgICAgY29va2llUGVyc2lzdGVudFN0b3JhZ2UgYXMgd2VsbCBhcyB0
aGUgdmFyaWFibGVzIG1fY29va2llQWNjZXB0UG9saWN5IGFuZCBtX2Nvb2tpZVBlcnNpc3RlbnRT
dG9yYWdlLgorICAgICAgICAoV2ViQ29va2llTWFuYWdlclByb3h5KToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvZWZsL1dlYkNvbnRleHRFZmwuY3BwOiBBc3NpZ24gdGhlIHBhcmFtZXRlcnMnIGNvb2tp
ZVBlcnNpc3RlbnRTdG9yYWdlUGF0aCwKKyAgICAgICAgY29va2llUGVyc2lzdGVudFN0b3JhZ2VU
eXBlIGFuZCBjb29raWVBY2NlcHRQb2xpY3kgd2l0aCB0aGUgcmVzcGVjdGl2ZSB2YWx1ZXMuCisg
ICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3Mp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9ndGsvV2ViQ29udGV4dEd0ay5jcHA6IEFzc2lnbiB0aGUg
cGFyYW1ldGVycycgY29va2llUGVyc2lzdGVudFN0b3JhZ2VQYXRoLAorICAgICAgICBjb29raWVQ
ZXJzaXN0ZW50U3RvcmFnZVR5cGUgYW5kIGNvb2tpZUFjY2VwdFBvbGljeSB3aXRoIHRoZSByZXNw
ZWN0aXZlIHZhbHVlcy4KKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6cGxhdGZvcm1Jbml0
aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAgICogVUlQcm9jZXNzL3NvdXAvV2ViQ29va2llTWFu
YWdlclByb3h5U291cC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNvb2tpZU1hbmFnZXJQcm94
eTo6c2V0Q29va2llUGVyc2lzdGVudFN0b3JhZ2UpOiBBc3NpZ24gdGhlIG1fY29va2llUGVyc2lz
dGVudFN0b3JhZ2UgcGFpcgorICAgICAgICB3aXRoIHRoZSBtZXRob2QncyBwYXJhbWV0ZXJzLgor
ICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29va2llTWFuYWdlclByb3h5
Ojpjb29raWVQZXJzaXN0ZW50U3RvcmFnZSk6IEltcGxlbWVudCB0aGlzIGdldHRlci4KKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0Nvb2tpZXMvV2ViQ29va2llTWFuYWdlci5oOiBEZWNsYXJlIHNldENv
b2tpZVBlcnNpc3RlbnRTdG9yYWdlLgorICAgICAgICAoV2ViQ29va2llTWFuYWdlcik6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6IFNldCB0aGUgY29v
a2llcycgcGVyc2lzdGVudCBzdG9yYWdlIGFuZCBwb2xpY3kKKyAgICAgICAgdXNpbmcgdGhlIFdl
YkNvb2tpZU1hbmFnZXIncyBtZXRob2RzLgorCiAyMDEyLTEyLTA1ICBDaHJpc3RvcGhlIER1bWV6
ICA8Y2hyaXN0b3BoZS5kdW1lekBpbnRlbC5jb20+CiAKICAgICAgICAgW0Nvb3JkaW5hdGVkR3Jh
cGhpY3NdIFVzZSB1bnNpZ25lZCBpbnRlZ2VycyBmb3IgQ29vcmRpbmF0ZWRUaWxlIElEcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuY3BwCmluZGV4IDk2ZmRkNmMwN2M5ZmExY2Y3YWIxNGI2NTc5YTRmZDUwODRmNzcxMmMuLjVk
M2FhOWNmNGIzNzVmNmJmYzEzYmI4N2ZmMDY0ZGUxYjE5MGNkOWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKQEAg
LTc4LDYgKzc4LDkgQEAgdm9pZCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUo
Q29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb24KICNlbmRpZgogI2lmIFVTRShT
T1VQKQogICAgIGVuY29kZXIgPDwgdXJsU2NoZW1lc1JlZ2lzdGVyZWQ7CisgICAgZW5jb2RlciA8
PCBjb29raWVQZXJzaXN0ZW50U3RvcmFnZVBhdGg7CisgICAgZW5jb2RlciA8PCBjb29raWVQZXJz
aXN0ZW50U3RvcmFnZVR5cGU7CisgICAgZW5jb2Rlci5lbmNvZGVFbnVtKGNvb2tpZUFjY2VwdFBv
bGljeSk7CiAjZW5kaWYKICAgICBlbmNvZGVyLmVuY29kZUVudW0oY2FjaGVNb2RlbCk7CiAgICAg
ZW5jb2RlciA8PCBzaG91bGRUcmFja1Zpc2l0ZWRMaW5rczsKQEAgLTE3MCw2ICsxNzMsMTIgQEAg
Ym9vbCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUoQ29yZUlQQzo6QXJndW1l
bnREZWNvZGVyKiBkZWNvZGVyLCBXZWIKICNpZiBVU0UoU09VUCkKICAgICBpZiAoIWRlY29kZXIt
PmRlY29kZShwYXJhbWV0ZXJzLnVybFNjaGVtZXNSZWdpc3RlcmVkKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHBhcmFtZXRlcnMuY29va2llUGVyc2lz
dGVudFN0b3JhZ2VQYXRoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVjb2Rl
ci0+ZGVjb2RlKHBhcmFtZXRlcnMuY29va2llUGVyc2lzdGVudFN0b3JhZ2VUeXBlKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHBhcmFtZXRlcnMuY29v
a2llQWNjZXB0UG9saWN5KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCiAgICAgaWYg
KCFkZWNvZGVyLT5kZWNvZGVFbnVtKHBhcmFtZXRlcnMuY2FjaGVNb2RlbCkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IDY0YTY5OWYyYWJlZjlkYzcxMGU2YjI4OTNlZjk2ZjYy
ZDdjNjY5NzEuLjJkZjVhOTE5MGU3YzkwOWJkYTkxMmU5NjE4ODI2NjI2MDBjZmQwMTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuaApAQCAtMjcsNiArMjcsNyBAQAogI2RlZmluZSBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzX2gKIAogI2luY2x1ZGUgIkNhY2hlTW9kZWwuaCIKKyNpbmNsdWRlICJIVFRQQ29va2llQWNj
ZXB0UG9saWN5LmgiCiAjaW5jbHVkZSAiU2FuZGJveEV4dGVuc2lvbi5oIgogI2luY2x1ZGUgIlRl
eHRDaGVja2VyU3RhdGUuaCIKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CkBAIC03Nyw2ICs3
OCw5IEBAIHN0cnVjdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICNlbmRpZgogI2lm
IFVTRShTT1VQKQogICAgIFZlY3RvcjxTdHJpbmc+IHVybFNjaGVtZXNSZWdpc3RlcmVkOworICAg
IFN0cmluZyBjb29raWVQZXJzaXN0ZW50U3RvcmFnZVBhdGg7CisgICAgdWludDMyX3QgY29va2ll
UGVyc2lzdGVudFN0b3JhZ2VUeXBlOworICAgIEhUVFBDb29raWVBY2NlcHRQb2xpY3kgY29va2ll
QWNjZXB0UG9saWN5OwogI2VuZGlmCiAKICAgICBDYWNoZU1vZGVsIGNhY2hlTW9kZWw7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAppbmRleCA0Nzk5OTA5MzVmNjhjOTdlZDNmZGMy
YWFjYzNmMTgyYTkzMjJhMjBhLi43NjAzZmQ0ZTZkNjcwNWQwOGNlYjYxODUxZjczMGZiZmFmNjhk
YjVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKQEAgLTE2NSwxMCArMTY1
LDEwIEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JNKFdJTikKICAgICB2b2lkIHNldFNob3VsZFBh
aW50TmF0aXZlQ29udHJvbHMoYm9vbCk7Ci0KKyNlbmRpZgorI2lmIFBMQVRGT1JNKFdJTikgfHwg
VVNFKFNPVVApCiAgICAgdm9pZCBzZXRJbml0aWFsSFRUUENvb2tpZUFjY2VwdFBvbGljeShIVFRQ
Q29va2llQWNjZXB0UG9saWN5IHBvbGljeSkgeyBtX2luaXRpYWxIVFRQQ29va2llQWNjZXB0UG9s
aWN5ID0gcG9saWN5OyB9CiAjZW5kaWYKLQogICAgIHZvaWQgc2V0RW5oYW5jZWRBY2Nlc3NpYmls
aXR5KGJvb2wpOwogICAgIAogICAgIC8vIERvd25sb2Fkcy4KQEAgLTM4Niw2ICszODYsOCBAQCBw
cml2YXRlOgogCiAjaWYgUExBVEZPUk0oV0lOKQogICAgIGJvb2wgbV9zaG91bGRQYWludE5hdGl2
ZUNvbnRyb2xzOworI2VuZGlmCisjaWYgUExBVEZPUk0oV0lOKSB8fCBVU0UoU09VUCkKICAgICBI
VFRQQ29va2llQWNjZXB0UG9saWN5IG1faW5pdGlhbEhUVFBDb29raWVBY2NlcHRQb2xpY3k7CiAj
ZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvb2tpZU1h
bmFnZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29va2llTWFuYWdl
clByb3h5LmNwcAppbmRleCBiNjNjODBjN2U0ZWYzM2FkZTJiNjMzNTgyMmViZGUzODUwYzk3MDE4
Li5kY2MwNzM0ZWRhNmU4ZjdjYTZiYjVhMWY1MDg1Zjg4ZjRhYzMyYTRhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29va2llTWFuYWdlclByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29va2llTWFuYWdlclByb3h5LmNwcApAQCAtNDAs
NyArNDAsMTQgQEAgUGFzc1JlZlB0cjxXZWJDb29raWVNYW5hZ2VyUHJveHk+IFdlYkNvb2tpZU1h
bmFnZXJQcm94eTo6Y3JlYXRlKFdlYkNvbnRleHQqIGNvbnQKIH0KIAogV2ViQ29va2llTWFuYWdl
clByb3h5OjpXZWJDb29raWVNYW5hZ2VyUHJveHkoV2ViQ29udGV4dCogY29udGV4dCkKKyNpZiBV
U0UoU09VUCkKKyAgICA6IG1fY29va2llQWNjZXB0UG9saWN5KEhUVFBDb29raWVBY2NlcHRQb2xp
Y3lBbHdheXMpCisgICAgLCBtX2Nvb2tpZVBlcnNpc3RlbnRTdG9yYWdlUGF0aCgiIikKKyAgICAs
IG1fY29va2llUGVyc2lzdGVudFN0b3JhZ2VUeXBlKDApCisgICAgLCBtX3dlYkNvbnRleHQoY29u
dGV4dCkKKyNlbHNlCiAgICAgOiBtX3dlYkNvbnRleHQoY29udGV4dCkKKyNlbmRpZgogewogICAg
IG1fd2ViQ29udGV4dC0+YWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJDb29raWVNYW5h
Z2VyUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgdGhpcyk7CiB9CkBAIC0xMzQsNiArMTQx
LDkgQEAgdm9pZCBXZWJDb29raWVNYW5hZ2VyUHJveHk6OnNldEhUVFBDb29raWVBY2NlcHRQb2xp
Y3koSFRUUENvb2tpZUFjY2VwdFBvbGljeSBwb2wKICNpZiBQTEFURk9STShNQUMpCiAgICAgcGVy
c2lzdEhUVFBDb29raWVBY2NlcHRQb2xpY3kocG9saWN5KTsKICNlbmRpZgorI2lmIFVTRShTT1VQ
KQorICAgIG1fd2ViQ29udGV4dC0+c2V0SW5pdGlhbEhUVFBDb29raWVBY2NlcHRQb2xpY3kocG9s
aWN5KTsKKyNlbmRpZgogCiAgICAgbV93ZWJDb250ZXh0LT5zZW5kVG9BbGxQcm9jZXNzZXNSZWxh
dW5jaGluZ1RoZW1JZk5lY2Vzc2FyeShNZXNzYWdlczo6V2ViQ29va2llTWFuYWdlcjo6U2V0SFRU
UENvb2tpZUFjY2VwdFBvbGljeShwb2xpY3kpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkuaAppbmRleCBjMDE2OGUyOGM2ZDc2ODM5YzQ5
NzA3MGM1YTQxNTMyYTE2YjE0ZWRmLi40NTQwZTI1YTMyYWE4MWI2YmRkOTFlZWJjMWY1ZmRhNDY2
OGQ2MDc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29va2llTWFu
YWdlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFn
ZXJQcm94eS5oCkBAIC03Miw2ICs3Miw3IEBAIHB1YmxpYzoKIAogI2lmIFVTRShTT1VQKQogICAg
IHZvaWQgc2V0Q29va2llUGVyc2lzdGVudFN0b3JhZ2UoY29uc3QgU3RyaW5nJiBzdG9yYWdlUGF0
aCwgdWludDMyX3Qgc3RvcmFnZVR5cGUpOworICAgIHZvaWQgY29va2llUGVyc2lzdGVudFN0b3Jh
Z2UoU3RyaW5nJiBzdG9yYWdlUGF0aCwgdWludDMyX3QgKnN0b3JhZ2VUeXBlKSBjb25zdDsKICNl
bmRpZgogCiAgICAgYm9vbCBzaG91bGRUZXJtaW5hdGUoV2ViUHJvY2Vzc1Byb3h5KikgY29uc3Q7
CkBAIC05Myw2ICs5NCwxMSBAQCBwcml2YXRlOgogI2lmIFBMQVRGT1JNKE1BQykKICAgICB2b2lk
IHBlcnNpc3RIVFRQQ29va2llQWNjZXB0UG9saWN5KEhUVFBDb29raWVBY2NlcHRQb2xpY3kpOwog
I2VuZGlmCisjaWYgVVNFKFNPVVApCisgICAgSFRUUENvb2tpZUFjY2VwdFBvbGljeSBtX2Nvb2tp
ZUFjY2VwdFBvbGljeTsKKyAgICBTdHJpbmcgbV9jb29raWVQZXJzaXN0ZW50U3RvcmFnZVBhdGg7
CisgICAgdWludDMyX3QgbV9jb29raWVQZXJzaXN0ZW50U3RvcmFnZVR5cGU7CisjZW5kaWYKIAog
ICAgIFdlYkNvbnRleHQqIG1fd2ViQ29udGV4dDsKICAgICBIYXNoTWFwPHVpbnQ2NF90LCBSZWZQ
dHI8QXJyYXlDYWxsYmFjaz4gPiBtX2FycmF5Q2FsbGJhY2tzOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJDb250ZXh0RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9lZmwvV2ViQ29udGV4dEVmbC5jcHAKaW5kZXggYTNkNDcyNWM4MTNiNDhmZTg4
YjRiZGJlMDM3MmIyOTIzMmJiZDE5Yy4uMmZiNWY1Zjg2MGY0MjljZjRkY2YzMWFlYzc4ZWI0OThm
NDYyYTc1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJDb250
ZXh0RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYkNvbnRleHRF
ZmwuY3BwCkBAIC0yNCw2ICsyNCw3IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIldlYkNvb2tpZU1hbmFnZXJQcm94eS5oIgogI2luY2x1ZGUgIldlYkNvbnRleHQuaCIK
ICNpbmNsdWRlICJXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiV2Vi
U291cFJlcXVlc3RNYW5hZ2VyUHJveHkuaCIKQEAgLTQzLDYgKzQ0LDEwIEBAIFN0cmluZyBXZWJD
b250ZXh0OjphcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KCkKIHZvaWQgV2ViQ29udGV4dDo6cGxh
dGZvcm1Jbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBw
YXJhbWV0ZXJzKQogewogICAgIHBhcmFtZXRlcnMudXJsU2NoZW1lc1JlZ2lzdGVyZWQgPSBtX3Nv
dXBSZXF1ZXN0TWFuYWdlclByb3h5LT5yZWdpc3RlcmVkVVJJU2NoZW1lcygpOworICAgIGNvbnN0
IHBhaXI8U3RyaW5nLCB1aW50MzJfdD4mIHN0b3JhZ2UgPSBtX2Nvb2tpZU1hbmFnZXJQcm94eS0+
Y29va2llUGVyc2lzdGVudFN0b3JhZ2UoKTsKKyAgICBwYXJhbWV0ZXJzLmNvb2tpZVBlcnNpc3Rl
bnRTdG9yYWdlUGF0aCA9IHN0b3JhZ2UuZmlyc3Q7CisgICAgcGFyYW1ldGVycy5jb29raWVQZXJz
aXN0ZW50U3RvcmFnZVR5cGUgPSBzdG9yYWdlLnNlY29uZDsKKyAgICBwYXJhbWV0ZXJzLmNvb2tp
ZUFjY2VwdFBvbGljeSA9IG1fY29va2llTWFuYWdlclByb3h5LT5jb29raWVBY2NlcHRQb2xpY3ko
KTsKIH0KIAogdm9pZCBXZWJDb250ZXh0OjpwbGF0Zm9ybUludmFsaWRhdGVDb250ZXh0KCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViQ29udGV4dEd0ay5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYkNvbnRleHRHdGsuY3BwCmluZGV4IDBi
MDllOTk0NzE3MmZlOGM1NGYzZTYwYTYxNTAzMGY0YjUxMDc5YmUuLmFmOTE1MThkMTU2Nzc1YjI2
OTI5ZjRkODQxYzZhN2MxOWU4ZGE0YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9ndGsvV2ViQ29udGV4dEd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2d0ay9XZWJDb250ZXh0R3RrLmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIldlYkNv
bnRleHQuaCIKIAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJXZWJDb29raWVNYW5h
Z2VyUHJveHkuaCI7CiAjaW5jbHVkZSAiV2ViSW5zcGVjdG9yU2VydmVyLmgiCiAjaW5jbHVkZSAi
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIldlYlNvdXBSZXF1ZXN0
TWFuYWdlclByb3h5LmgiCkBAIC04Nyw2ICs4OCw4IEBAIHZvaWQgV2ViQ29udGV4dDo6cGxhdGZv
cm1Jbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJh
CiAgICAgaW5pdEluc3BlY3RvclNlcnZlcigpOwogCiAgICAgcGFyYW1ldGVycy51cmxTY2hlbWVz
UmVnaXN0ZXJlZCA9IG1fc291cFJlcXVlc3RNYW5hZ2VyUHJveHktPnJlZ2lzdGVyZWRVUklTY2hl
bWVzKCk7CisgICAgbV9jb29raWVNYW5hZ2VyUHJveHktPmNvb2tpZVBlcnNpc3RlbnRTdG9yYWdl
KHBhcmFtZXRlcnMuY29va2llUGVyc2lzdGVudFN0b3JhZ2VQYXRoLAorICAgICAgICAmcGFyYW1l
dGVycy5jb29raWVBY2NlcHRQb2xpY3kpOwogfQogCiB2b2lkIFdlYkNvbnRleHQ6OnBsYXRmb3Jt
SW52YWxpZGF0ZUNvbnRleHQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L3NvdXAvV2ViQ29va2llTWFuYWdlclByb3h5U291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3Mvc291cC9XZWJDb29raWVNYW5hZ2VyUHJveHlTb3VwLmNwcAppbmRleCAwODkxNGVkODEy
ZTNiYWQ3NTM3ODZlODQzMjA4OTBiOGY0YmE0NTIzLi5jZDQwYjk2MDc2NmYxNjhiZjAwZjdhNGJj
YzkwZjU0MmVjOTEyMjcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvc291
cC9XZWJDb29raWVNYW5hZ2VyUHJveHlTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3Mvc291cC9XZWJDb29raWVNYW5hZ2VyUHJveHlTb3VwLmNwcApAQCAtMzQsNiArMzQsMTUg
QEAgbmFtZXNwYWNlIFdlYktpdCB7CiB2b2lkIFdlYkNvb2tpZU1hbmFnZXJQcm94eTo6c2V0Q29v
a2llUGVyc2lzdGVudFN0b3JhZ2UoY29uc3QgU3RyaW5nJiBzdG9yYWdlUGF0aCwgdWludDMyX3Qg
c3RvcmFnZVR5cGUpCiB7CiAgICAgbV93ZWJDb250ZXh0LT5zZW5kVG9BbGxQcm9jZXNzZXNSZWxh
dW5jaGluZ1RoZW1JZk5lY2Vzc2FyeShNZXNzYWdlczo6V2ViQ29va2llTWFuYWdlcjo6U2V0Q29v
a2llUGVyc2lzdGVudFN0b3JhZ2Uoc3RvcmFnZVBhdGgsIHN0b3JhZ2VUeXBlKSk7CisKKyAgICBt
X2Nvb2tpZVBlcnNpc3RlbnRTdG9yYWdlUGF0aCA9IHN0b3JhZ2VQYXRoOworICAgIG1fY29va2ll
UGVyc2lzdGVudFN0b3JhZ2VUeXBlID0gc3RvcmFnZVR5cGU7Cit9CisKK3ZvaWQgV2ViQ29va2ll
TWFuYWdlclByb3h5Ojpjb29raWVQZXJzaXN0ZW50U3RvcmFnZShTdHJpbmcgJnN0b3JhZ2VQYXRo
LCB1aW50MzJfdCAqc3RvcmFnZVR5cGUpIGNvbnN0Cit7CisgICAgc3RvcmFnZVBhdGggPSBtX2Nv
b2tpZVBlcnNpc3RlbnRTdG9yYWdlUGF0aDsKKyAgICAqc3RvcmFnZVR5cGUgPSBtX2Nvb2tpZVBl
cnNpc3RlbnRTdG9yYWdlVHlwZTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9Db29raWVzL1dlYkNvb2tpZU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvQ29va2llcy9XZWJDb29raWVNYW5hZ2VyLmgKaW5kZXggYWFjMDQxOTJiZjc5NmYx
MDIxYTM4MTE4ODFmZjM1OGE2Zjg2OWNkMi4uMWRiYTc1MmQ3ZWMyOGE4ZTQwMDE2NjlmNjAzZDdm
NWQ5NjhlZWZmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Db29raWVz
L1dlYkNvb2tpZU1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Nvb2tp
ZXMvV2ViQ29va2llTWFuYWdlci5oCkBAIC01Myw2ICs1MywxMCBAQCBwdWJsaWM6CiAKICAgICB2
b2lkIHNldEhUVFBDb29raWVBY2NlcHRQb2xpY3koSFRUUENvb2tpZUFjY2VwdFBvbGljeSk7CiAK
KyNpZiBVU0UoU09VUCkKKyAgICB2b2lkIHNldENvb2tpZVBlcnNpc3RlbnRTdG9yYWdlKGNvbnN0
IFN0cmluZyYgc3RvcmFnZVBhdGgsIHVpbnQzMl90IHN0b3JhZ2VUeXBlKTsKKyNlbmRpZgorCiBw
cml2YXRlOgogICAgIFdlYkNvb2tpZU1hbmFnZXIoKTsKICAgICAKQEAgLTY3LDEwICs3MSw2IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBzdGFydE9ic2VydmluZ0Nvb2tpZUNoYW5nZXMoKTsKICAgICB2
b2lkIHN0b3BPYnNlcnZpbmdDb29raWVDaGFuZ2VzKCk7CiAKLSNpZiBVU0UoU09VUCkKLSAgICB2
b2lkIHNldENvb2tpZVBlcnNpc3RlbnRTdG9yYWdlKGNvbnN0IFN0cmluZyYgc3RvcmFnZVBhdGgs
IHVpbnQzMl90IHN0b3JhZ2VUeXBlKTsKLSNlbmRpZgotCiAgICAgdm9pZCBkaWRSZWNlaXZlV2Vi
Q29va2llTWFuYWdlck1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3Nh
Z2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJQcm9jZXNzU291cC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwCmluZGV4IDc0NmUzNjc4NmU1
YTQxMzRjYmEwYWIxMjVjNmVmMjc3OWYwZDg2ODYuLmI2ZWQ0ZDFhNTY1YTc1ZjdlY2YzNGE4NThm
NzVkMjcxNjNkZTdiYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291
cC9XZWJQcm9jZXNzU291cC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3Vw
L1dlYlByb2Nlc3NTb3VwLmNwcApAQCAtMjksNiArMjksNyBAQAogCiAjZGVmaW5lIExJQlNPVVBf
VVNFX1VOU1RBQkxFX1JFUVVFU1RfQVBJCiAKKyNpbmNsdWRlICJXZWJDb29raWVNYW5hZ2VyLmgi
CiAjaW5jbHVkZSAiV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgPFdl
YkNvcmUvRmlsZVN5c3RlbS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTGFuZ3VhZ2UuaD4KQEAgLTE2
OSw2ICsxNzAsMTEgQEAgdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9j
ZXNzKGNvbnN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMKICAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IHBhcmFtZXRlcnMudXJsU2NoZW1lc1JlZ2lzdGVyZWQuc2l6ZSgpOyBpKyspCiAg
ICAgICAgIG1fc291cFJlcXVlc3RNYW5hZ2VyLnJlZ2lzdGVyVVJJU2NoZW1lKHBhcmFtZXRlcnMu
dXJsU2NoZW1lc1JlZ2lzdGVyZWRbaV0pOwogCisgICAgaWYgKCFwYXJhbWV0ZXJzLmNvb2tpZVBl
cnNpc3RlbnRTdG9yYWdlUGF0aC5pc0VtcHR5KCkpCisgICAgICAgIFdlYkNvb2tpZU1hbmFnZXI6
OnNoYXJlZCgpLnNldENvb2tpZVBlcnNpc3RlbnRTdG9yYWdlKHBhcmFtZXRlcnMuY29va2llUGVy
c2lzdGVudFN0b3JhZ2VQYXRoLAorICAgICAgICAgICAgcGFyYW1ldGVycy5jb29raWVQZXJzaXN0
ZW50U3RvcmFnZVR5cGUpOworICAgIFdlYkNvb2tpZU1hbmFnZXI6OnNoYXJlZCgpLnNldEhUVFBD
b29raWVBY2NlcHRQb2xpY3kocGFyYW1ldGVycy5jb29raWVBY2NlcHRQb2xpY3kpOworCiAgICAg
V2ViQ29yZTo6YWRkTGFuZ3VhZ2VDaGFuZ2VPYnNlcnZlcih0aGlzLCBsYW5ndWFnZUNoYW5nZWQp
OwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178524</attachid>
            <date>2012-12-10 05:45:09 -0800</date>
            <delta_ts>2012-12-11 08:38:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104370-20121210144205.patch</filename>
            <type>text/plain</type>
            <size>13139</size>
            <attacher name="Joaquim Rocha">jrocha</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NjYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYzE5OTU5ZTJlZjk3ZTM4
NDIzYjg4Nzc1ZGNiNTdjMWIzMGU1Zjg0NS4uMjEzM2I2Mzk4YWNkOTU0MjIzZDY1OTA4ODYyYmZk
MGM0YmI5NTkyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDEyLTEyLTA3ICBKb2Fx
dWltIFJvY2hhICA8anJvY2hhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS10gQ29va2llcycg
c3RvcmFnZSBwYXRoIGFuZCBwb2xpY3kgYXJlIG5vdCBzZXQgd2hlbiB0aGUgV2ViUHJvY2VzcyBp
cyBraWxsZWQgYW5kIHJlbGF1bmNoZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwNDM3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoaXMgaXNzdWUgaGFwcGVucyBvbiBwb3J0cyB0aGF0IHVzZSBTb3Vw
IGFuZCBjYXVzZXMgcHJvYmxlbXMgbGlrZSBub3QgZmluZGluZyB0aGUgc3RvcmVkIGNvb2tpZXMK
KyAgICAgICAgbm9yIHRoZWlyIHBvbGljeSB3aGVuIHRoZSBXZWJQcm9jZXNzIGlzIHJlbGF1bmNo
ZWQuIEFzIGFuIGV4YW1wbGUgb2YgYSBwcm9ibGVtIGNhdXNlZCBieSB0aGlzLAorICAgICAgICBh
IHByZXZpb3VzbHkgbG9nZ2VkIGluIHVzZXIgd2lsbCBub3QgYmUgbG9nZ2VkIGluIGFnYWluIHdo
ZW4gdGhlIHByb2Nlc3MgaXMgcmVsYXVuY2hlZCBhbmQgdGhlCisgICAgICAgIHBvbGljeSB1c2Vk
IGlzIGFsd2F5cyB0aGUgc2FtZSBvbmUuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnM6OmVuY29kZSk6IEVuY29kZSBjb29raWVzJyBwZXJzaXN0ZW50IHN0b3JhZ2Ug
cGF0aCwKKyAgICAgICAgc3RvcmFnZSB0eXBlIGFuZCBhY2NlcHRhbmNlIHBvbGljeS4KKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKTogRGVjb2Rl
IGNvb2tpZXMnIHBlcnNpc3RlbnQgc3RvcmFnZSBwYXRoLAorICAgICAgICBzdG9yYWdlIHR5cGUg
YW5kIGFjY2VwdGFuY2UgcG9saWN5LgorICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzLmg6IENyZWF0ZSAzIHZhcmlhYmxlcyB0byBob2xkIHRoZSB2YWx1ZXMgbWVu
dGlvbmVkIGFib3ZlLgorICAgICAgICAoV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyk6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYkNvb2tpZU1hbmFnZXJQcm94eTo6V2ViQ29va2llTWFuYWdlclByb3h5KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViQ29va2llTWFuYWdlclByb3h5OjpzZXRIVFRQQ29va2llQWNjZXB0
UG9saWN5KTogQ2FsbCBXZWJDb29raWVNYW5hZ2VyUHJveHlTb3VwOjpzZXRDb29raWVBY2NlcHRQ
b2xpY3kuCisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5oOiBEZWNs
YXJlIG5ldyBTb3VwJ3MgbWV0aG9kcyBzZXRDb29raWVBY2NlcHRQb2xpY3ksIGNvb2tpZUFjY2Vw
dFBvbGljeSBhbmQKKyAgICAgICAgY29va2llUGVyc2lzdGVudFN0b3JhZ2UgYXMgd2VsbCBhcyB0
aGUgdmFyaWFibGVzIG1fY29va2llQWNjZXB0UG9saWN5IGFuZCBtX2Nvb2tpZVBlcnNpc3RlbnRT
dG9yYWdlLgorICAgICAgICAoV2ViQ29va2llTWFuYWdlclByb3h5KToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvZWZsL1dlYkNvbnRleHRFZmwuY3BwOiBBc3NpZ24gdGhlIHBhcmFtZXRlcnMnIGNvb2tp
ZVBlcnNpc3RlbnRTdG9yYWdlUGF0aCBhbmQKKyAgICAgICAgY29va2llUGVyc2lzdGVudFN0b3Jh
Z2VUeXBlIHdpdGggdGhlIHJlc3BlY3RpdmUgdmFsdWVzLgorICAgICAgICAoV2ViS2l0OjpXZWJD
b250ZXh0OjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvZ3RrL1dlYkNvbnRleHRHdGsuY3BwOiBBc3NpZ24gdGhlIHBhcmFtZXRlcnMnIGNvb2tpZVBl
cnNpc3RlbnRTdG9yYWdlUGF0aCBhbmQKKyAgICAgICAgY29va2llUGVyc2lzdGVudFN0b3JhZ2VU
eXBlIHdpdGggdGhlIHJlc3BlY3RpdmUgdmFsdWVzLgorICAgICAgICAoV2ViS2l0OjpXZWJDb250
ZXh0OjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
c291cC9XZWJDb29raWVNYW5hZ2VyUHJveHlTb3VwLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
Q29va2llTWFuYWdlclByb3h5OjpzZXRDb29raWVQZXJzaXN0ZW50U3RvcmFnZSk6IEFzc2lnbiB0
aGUgbV9jb29raWVQZXJzaXN0ZW50U3RvcmFnZSBwYWlyCisgICAgICAgIHdpdGggdGhlIG1ldGhv
ZCdzIHBhcmFtZXRlcnMuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJD
b29raWVNYW5hZ2VyUHJveHk6OmNvb2tpZVBlcnNpc3RlbnRTdG9yYWdlKTogSW1wbGVtZW50IHRo
aXMgZ2V0dGVyLgorICAgICAgICAqIFdlYlByb2Nlc3MvQ29va2llcy9XZWJDb29raWVNYW5hZ2Vy
Lmg6IERlY2xhcmUgc2V0Q29va2llUGVyc2lzdGVudFN0b3JhZ2UuCisgICAgICAgIChXZWJDb29r
aWVNYW5hZ2VyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9j
ZXNzKTogU2V0IHRoZSBjb29raWVzJyBwZXJzaXN0ZW50IHN0b3JhZ2UgYW5kIHBvbGljeQorICAg
ICAgICB1c2luZyB0aGUgV2ViQ29va2llTWFuYWdlcidzIG1ldGhvZHMuCisKIDIwMTItMTItMDUg
IENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KIAogICAgICAg
ICBbQ29vcmRpbmF0ZWRHcmFwaGljc10gVXNlIHVuc2lnbmVkIGludGVnZXJzIGZvciBDb29yZGlu
YXRlZFRpbGUgSURzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKaW5kZXggOTZmZGQ2YzA3YzlmYTFjZjdhYjE0YjY1Nzlh
NGZkNTA4NGY3NzEyYy4uNWQzYWE5Y2Y0YjM3NWY2YmZjMTNiYjg3ZmYwNjRkZTFiMTkwY2Q5YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmNwcApAQCAtNzgsNiArNzgsOSBAQCB2b2lkIFdlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnM6OmVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbgog
I2VuZGlmCiAjaWYgVVNFKFNPVVApCiAgICAgZW5jb2RlciA8PCB1cmxTY2hlbWVzUmVnaXN0ZXJl
ZDsKKyAgICBlbmNvZGVyIDw8IGNvb2tpZVBlcnNpc3RlbnRTdG9yYWdlUGF0aDsKKyAgICBlbmNv
ZGVyIDw8IGNvb2tpZVBlcnNpc3RlbnRTdG9yYWdlVHlwZTsKKyAgICBlbmNvZGVyLmVuY29kZUVu
dW0oY29va2llQWNjZXB0UG9saWN5KTsKICNlbmRpZgogICAgIGVuY29kZXIuZW5jb2RlRW51bShj
YWNoZU1vZGVsKTsKICAgICBlbmNvZGVyIDw8IHNob3VsZFRyYWNrVmlzaXRlZExpbmtzOwpAQCAt
MTcwLDYgKzE3MywxMiBAQCBib29sIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29k
ZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGRlY29kZXIsIFdlYgogI2lmIFVTRShTT1VQKQog
ICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHBhcmFtZXRlcnMudXJsU2NoZW1lc1JlZ2lzdGVyZWQp
KQogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUocGFyYW1l
dGVycy5jb29raWVQZXJzaXN0ZW50U3RvcmFnZVBhdGgpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUocGFyYW1ldGVycy5jb29raWVQZXJzaXN0ZW50U3Rv
cmFnZVR5cGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLT5kZWNv
ZGUocGFyYW1ldGVycy5jb29raWVBY2NlcHRQb2xpY3kpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CiAjZW5kaWYKICAgICBpZiAoIWRlY29kZXItPmRlY29kZUVudW0ocGFyYW1ldGVycy5jYWNoZU1v
ZGVsKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggNjRhNjk5ZjJhYmVmOWRj
NzEwZTZiMjg5M2VmOTZmNjJkN2M2Njk3MS4uMmRmNWE5MTkwZTdjOTA5YmRhOTEyZTk2MTg4MjY2
MjYwMGNmZDAxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5oCkBAIC0yNyw2ICsyNyw3IEBACiAjZGVmaW5lIFdlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnNfaAogCiAjaW5jbHVkZSAiQ2FjaGVNb2RlbC5oIgorI2luY2x1
ZGUgIkhUVFBDb29raWVBY2NlcHRQb2xpY3kuaCIKICNpbmNsdWRlICJTYW5kYm94RXh0ZW5zaW9u
LmgiCiAjaW5jbHVkZSAiVGV4dENoZWNrZXJTdGF0ZS5oIgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5Q
dHIuaD4KQEAgLTc3LDYgKzc4LDkgQEAgc3RydWN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMgewogI2VuZGlmCiAjaWYgVVNFKFNPVVApCiAgICAgVmVjdG9yPFN0cmluZz4gdXJsU2NoZW1l
c1JlZ2lzdGVyZWQ7CisgICAgU3RyaW5nIGNvb2tpZVBlcnNpc3RlbnRTdG9yYWdlUGF0aDsKKyAg
ICB1aW50MzJfdCBjb29raWVQZXJzaXN0ZW50U3RvcmFnZVR5cGU7CisgICAgSFRUUENvb2tpZUFj
Y2VwdFBvbGljeSBjb29raWVBY2NlcHRQb2xpY3k7CiAjZW5kaWYKIAogICAgIENhY2hlTW9kZWwg
Y2FjaGVNb2RlbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250
ZXh0LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oCmluZGV4IDQ3OTk5
MDkzNWY2OGM5N2VkM2ZkYzJhYWNjM2YxODJhOTMyMmEyMGEuLjc2MDNmZDRlNmQ2NzA1ZDA4Y2Vi
NjE4NTFmNzMwZmJmYWY2OGRiNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQu
aApAQCAtMTY1LDEwICsxNjUsMTAgQEAgcHVibGljOgogCiAjaWYgUExBVEZPUk0oV0lOKQogICAg
IHZvaWQgc2V0U2hvdWxkUGFpbnROYXRpdmVDb250cm9scyhib29sKTsKLQorI2VuZGlmCisjaWYg
UExBVEZPUk0oV0lOKSB8fCBVU0UoU09VUCkKICAgICB2b2lkIHNldEluaXRpYWxIVFRQQ29va2ll
QWNjZXB0UG9saWN5KEhUVFBDb29raWVBY2NlcHRQb2xpY3kgcG9saWN5KSB7IG1faW5pdGlhbEhU
VFBDb29raWVBY2NlcHRQb2xpY3kgPSBwb2xpY3k7IH0KICNlbmRpZgotCiAgICAgdm9pZCBzZXRF
bmhhbmNlZEFjY2Vzc2liaWxpdHkoYm9vbCk7CiAgICAgCiAgICAgLy8gRG93bmxvYWRzLgpAQCAt
Mzg2LDYgKzM4Niw4IEBAIHByaXZhdGU6CiAKICNpZiBQTEFURk9STShXSU4pCiAgICAgYm9vbCBt
X3Nob3VsZFBhaW50TmF0aXZlQ29udHJvbHM7CisjZW5kaWYKKyNpZiBQTEFURk9STShXSU4pIHx8
IFVTRShTT1VQKQogICAgIEhUVFBDb29raWVBY2NlcHRQb2xpY3kgbV9pbml0aWFsSFRUUENvb2tp
ZUFjY2VwdFBvbGljeTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViQ29va2llTWFuYWdlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJDb29raWVNYW5hZ2VyUHJveHkuY3BwCmluZGV4IGI2M2M4MGM3ZTRlZjMzYWRlMmI2MzM1
ODIyZWJkZTM4NTBjOTcwMTguLmRjYzA3MzRlZGE2ZThmN2NhNmJiNWExZjUwODVmODhmNGFjMzJh
NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2Vy
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2Vy
UHJveHkuY3BwCkBAIC00MCw3ICs0MCwxNCBAQCBQYXNzUmVmUHRyPFdlYkNvb2tpZU1hbmFnZXJQ
cm94eT4gV2ViQ29va2llTWFuYWdlclByb3h5OjpjcmVhdGUoV2ViQ29udGV4dCogY29udAogfQog
CiBXZWJDb29raWVNYW5hZ2VyUHJveHk6OldlYkNvb2tpZU1hbmFnZXJQcm94eShXZWJDb250ZXh0
KiBjb250ZXh0KQorI2lmIFVTRShTT1VQKQorICAgIDogbV9jb29raWVBY2NlcHRQb2xpY3koSFRU
UENvb2tpZUFjY2VwdFBvbGljeUFsd2F5cykKKyAgICAsIG1fY29va2llUGVyc2lzdGVudFN0b3Jh
Z2VQYXRoKCIiKQorICAgICwgbV9jb29raWVQZXJzaXN0ZW50U3RvcmFnZVR5cGUoMCkKKyAgICAs
IG1fd2ViQ29udGV4dChjb250ZXh0KQorI2Vsc2UKICAgICA6IG1fd2ViQ29udGV4dChjb250ZXh0
KQorI2VuZGlmCiB7CiAgICAgbV93ZWJDb250ZXh0LT5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2Fn
ZXM6OldlYkNvb2tpZU1hbmFnZXJQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCB0aGlzKTsK
IH0KQEAgLTEzNCw2ICsxNDEsOSBAQCB2b2lkIFdlYkNvb2tpZU1hbmFnZXJQcm94eTo6c2V0SFRU
UENvb2tpZUFjY2VwdFBvbGljeShIVFRQQ29va2llQWNjZXB0UG9saWN5IHBvbAogI2lmIFBMQVRG
T1JNKE1BQykKICAgICBwZXJzaXN0SFRUUENvb2tpZUFjY2VwdFBvbGljeShwb2xpY3kpOwogI2Vu
ZGlmCisjaWYgVVNFKFNPVVApCisgICAgbV93ZWJDb250ZXh0LT5zZXRJbml0aWFsSFRUUENvb2tp
ZUFjY2VwdFBvbGljeShwb2xpY3kpOworI2VuZGlmCiAKICAgICBtX3dlYkNvbnRleHQtPnNlbmRU
b0FsbFByb2Nlc3Nlc1JlbGF1bmNoaW5nVGhlbUlmTmVjZXNzYXJ5KE1lc3NhZ2VzOjpXZWJDb29r
aWVNYW5hZ2VyOjpTZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KHBvbGljeSkpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5oCmluZGV4IGMw
MTY4ZTI4YzZkNzY4MzljNDk3MDcwYzVhNDE1MzJhMTZiMTRlZGYuLjQ1NDBlMjVhMzJhYTgxYjZi
ZGQ5MWVlYmMxZjVmZGE0NjY4ZDYwNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViQ29va2llTWFuYWdlclByb3h5LmgKQEAgLTcyLDYgKzcyLDcgQEAgcHVibGljOgogCiAj
aWYgVVNFKFNPVVApCiAgICAgdm9pZCBzZXRDb29raWVQZXJzaXN0ZW50U3RvcmFnZShjb25zdCBT
dHJpbmcmIHN0b3JhZ2VQYXRoLCB1aW50MzJfdCBzdG9yYWdlVHlwZSk7CisgICAgdm9pZCBjb29r
aWVQZXJzaXN0ZW50U3RvcmFnZShTdHJpbmcmIHN0b3JhZ2VQYXRoLCB1aW50MzJfdCAqc3RvcmFn
ZVR5cGUpIGNvbnN0OwogI2VuZGlmCiAKICAgICBib29sIHNob3VsZFRlcm1pbmF0ZShXZWJQcm9j
ZXNzUHJveHkqKSBjb25zdDsKQEAgLTkzLDYgKzk0LDExIEBAIHByaXZhdGU6CiAjaWYgUExBVEZP
Uk0oTUFDKQogICAgIHZvaWQgcGVyc2lzdEhUVFBDb29raWVBY2NlcHRQb2xpY3koSFRUUENvb2tp
ZUFjY2VwdFBvbGljeSk7CiAjZW5kaWYKKyNpZiBVU0UoU09VUCkKKyAgICBIVFRQQ29va2llQWNj
ZXB0UG9saWN5IG1fY29va2llQWNjZXB0UG9saWN5OworICAgIFN0cmluZyBtX2Nvb2tpZVBlcnNp
c3RlbnRTdG9yYWdlUGF0aDsKKyAgICB1aW50MzJfdCBtX2Nvb2tpZVBlcnNpc3RlbnRTdG9yYWdl
VHlwZTsKKyNlbmRpZgogCiAgICAgV2ViQ29udGV4dCogbV93ZWJDb250ZXh0OwogICAgIEhhc2hN
YXA8dWludDY0X3QsIFJlZlB0cjxBcnJheUNhbGxiYWNrPiA+IG1fYXJyYXlDYWxsYmFja3M7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYkNvbnRleHRFZmwuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJDb250ZXh0RWZsLmNwcAppbmRleCBh
M2Q0NzI1YzgxM2I0OGZlODhiNGJkYmUwMzcyYjI5MjMyYmJkMTljLi5iMTRjOGI5YmQ4YzFlOGFh
Mjg4NGUyNzVkODIxZmRkNDJjMTQ3NzQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvZWZsL1dlYkNvbnRleHRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9lZmwvV2ViQ29udGV4dEVmbC5jcHAKQEAgLTI0LDYgKzI0LDcgQEAKICAqLwogCiAjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViQ29va2llTWFuYWdlclByb3h5LmgiCiAjaW5jbHVk
ZSAiV2ViQ29udGV4dC5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
aCIKICNpbmNsdWRlICJXZWJTb3VwUmVxdWVzdE1hbmFnZXJQcm94eS5oIgpAQCAtNDMsNiArNDQs
OCBAQCBTdHJpbmcgV2ViQ29udGV4dDo6YXBwbGljYXRpb25DYWNoZURpcmVjdG9yeSgpCiB2b2lk
IFdlYkNvbnRleHQ6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKIHsKICAgICBwYXJhbWV0ZXJzLnVybFNjaGVtZXNS
ZWdpc3RlcmVkID0gbV9zb3VwUmVxdWVzdE1hbmFnZXJQcm94eS0+cmVnaXN0ZXJlZFVSSVNjaGVt
ZXMoKTsKKyAgICBtX2Nvb2tpZU1hbmFnZXJQcm94eS0+Y29va2llUGVyc2lzdGVudFN0b3JhZ2Uo
cGFyYW1ldGVycy5jb29raWVQZXJzaXN0ZW50U3RvcmFnZVBhdGgsCisgICAgICAgICZwYXJhbWV0
ZXJzLmNvb2tpZUFjY2VwdFBvbGljeSk7CiB9CiAKIHZvaWQgV2ViQ29udGV4dDo6cGxhdGZvcm1J
bnZhbGlkYXRlQ29udGV4dCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Z3RrL1dlYkNvbnRleHRHdGsuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJD
b250ZXh0R3RrLmNwcAppbmRleCAwYjA5ZTk5NDcxNzJmZThjNTRmM2U2MGE2MTUwMzBmNGI1MTA3
OWJlLi5hZjkxNTE4ZDE1Njc3NWIyNjkyOWY0ZDg0MWM2YTdjMTllOGRhNGIxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYkNvbnRleHRHdGsuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViQ29udGV4dEd0ay5jcHAKQEAgLTI5LDYgKzI5
LDcgQEAKICNpbmNsdWRlICJXZWJDb250ZXh0LmgiCiAKICNpbmNsdWRlICJMb2dnaW5nLmgiCisj
aW5jbHVkZSAiV2ViQ29va2llTWFuYWdlclByb3h5LmgiOwogI2luY2x1ZGUgIldlYkluc3BlY3Rv
clNlcnZlci5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNp
bmNsdWRlICJXZWJTb3VwUmVxdWVzdE1hbmFnZXJQcm94eS5oIgpAQCAtODcsNiArODgsOCBAQCB2
b2lkIFdlYkNvbnRleHQ6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoV2ViUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycyYgcGFyYQogICAgIGluaXRJbnNwZWN0b3JTZXJ2ZXIoKTsKIAogICAg
IHBhcmFtZXRlcnMudXJsU2NoZW1lc1JlZ2lzdGVyZWQgPSBtX3NvdXBSZXF1ZXN0TWFuYWdlclBy
b3h5LT5yZWdpc3RlcmVkVVJJU2NoZW1lcygpOworICAgIG1fY29va2llTWFuYWdlclByb3h5LT5j
b29raWVQZXJzaXN0ZW50U3RvcmFnZShwYXJhbWV0ZXJzLmNvb2tpZVBlcnNpc3RlbnRTdG9yYWdl
UGF0aCwKKyAgICAgICAgJnBhcmFtZXRlcnMuY29va2llQWNjZXB0UG9saWN5KTsKIH0KIAogdm9p
ZCBXZWJDb250ZXh0OjpwbGF0Zm9ybUludmFsaWRhdGVDb250ZXh0KCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9zb3VwL1dlYkNvb2tpZU1hbmFnZXJQcm94eVNvdXAuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3NvdXAvV2ViQ29va2llTWFuYWdlclByb3h5U291
cC5jcHAKaW5kZXggMDg5MTRlZDgxMmUzYmFkNzUzNzg2ZTg0MzIwODkwYjhmNGJhNDUyMy4uY2Q0
MGI5NjA3NjZmMTY4YmYwMGY3YTRiY2M5MGY1NDJlYzkxMjI3MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL3NvdXAvV2ViQ29va2llTWFuYWdlclByb3h5U291cC5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3NvdXAvV2ViQ29va2llTWFuYWdlclByb3h5U291
cC5jcHAKQEAgLTM0LDYgKzM0LDE1IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogdm9pZCBXZWJDb29r
aWVNYW5hZ2VyUHJveHk6OnNldENvb2tpZVBlcnNpc3RlbnRTdG9yYWdlKGNvbnN0IFN0cmluZyYg
c3RvcmFnZVBhdGgsIHVpbnQzMl90IHN0b3JhZ2VUeXBlKQogewogICAgIG1fd2ViQ29udGV4dC0+
c2VuZFRvQWxsUHJvY2Vzc2VzUmVsYXVuY2hpbmdUaGVtSWZOZWNlc3NhcnkoTWVzc2FnZXM6Oldl
YkNvb2tpZU1hbmFnZXI6OlNldENvb2tpZVBlcnNpc3RlbnRTdG9yYWdlKHN0b3JhZ2VQYXRoLCBz
dG9yYWdlVHlwZSkpOworCisgICAgbV9jb29raWVQZXJzaXN0ZW50U3RvcmFnZVBhdGggPSBzdG9y
YWdlUGF0aDsKKyAgICBtX2Nvb2tpZVBlcnNpc3RlbnRTdG9yYWdlVHlwZSA9IHN0b3JhZ2VUeXBl
OworfQorCit2b2lkIFdlYkNvb2tpZU1hbmFnZXJQcm94eTo6Y29va2llUGVyc2lzdGVudFN0b3Jh
Z2UoU3RyaW5nICZzdG9yYWdlUGF0aCwgdWludDMyX3QgKnN0b3JhZ2VUeXBlKSBjb25zdAorewor
ICAgIHN0b3JhZ2VQYXRoID0gbV9jb29raWVQZXJzaXN0ZW50U3RvcmFnZVBhdGg7CisgICAgKnN0
b3JhZ2VUeXBlID0gbV9jb29raWVQZXJzaXN0ZW50U3RvcmFnZVR5cGU7CiB9CiAKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvQ29va2llcy9XZWJDb29raWVNYW5hZ2Vy
LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Nvb2tpZXMvV2ViQ29va2llTWFuYWdlci5o
CmluZGV4IGFhYzA0MTkyYmY3OTZmMTAyMWEzODExODgxZmYzNThhNmY4NjljZDIuLjFkYmE3NTJk
N2VjMjhhOGU0MDAxNjY5ZjYwM2Q3ZjVkOTY4ZWVmZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvQ29va2llcy9XZWJDb29raWVNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9Db29raWVzL1dlYkNvb2tpZU1hbmFnZXIuaApAQCAtNTMsNiArNTMs
MTAgQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KEhUVFBD
b29raWVBY2NlcHRQb2xpY3kpOwogCisjaWYgVVNFKFNPVVApCisgICAgdm9pZCBzZXRDb29raWVQ
ZXJzaXN0ZW50U3RvcmFnZShjb25zdCBTdHJpbmcmIHN0b3JhZ2VQYXRoLCB1aW50MzJfdCBzdG9y
YWdlVHlwZSk7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBXZWJDb29raWVNYW5hZ2VyKCk7CiAg
ICAgCkBAIC02NywxMCArNzEsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgc3RhcnRPYnNlcnZpbmdD
b29raWVDaGFuZ2VzKCk7CiAgICAgdm9pZCBzdG9wT2JzZXJ2aW5nQ29va2llQ2hhbmdlcygpOwog
Ci0jaWYgVVNFKFNPVVApCi0gICAgdm9pZCBzZXRDb29raWVQZXJzaXN0ZW50U3RvcmFnZShjb25z
dCBTdHJpbmcmIHN0b3JhZ2VQYXRoLCB1aW50MzJfdCBzdG9yYWdlVHlwZSk7Ci0jZW5kaWYKLQog
ICAgIHZvaWQgZGlkUmVjZWl2ZVdlYkNvb2tpZU1hbmFnZXJNZXNzYWdlKENvcmVJUEM6OkNvbm5l
Y3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vz
c1NvdXAuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3Vw
LmNwcAppbmRleCA3NDZlMzY3ODZlNWE0MTM0Y2JhMGFiMTI1YzZlZjI3NzlmMGQ4Njg2Li5iNmVk
NGQxYTU2NWE3NWY3ZWNmMzRhODU4Zjc1ZDI3MTYzZGU3YmJlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJQcm9jZXNzU291cC5jcHAKQEAgLTI5LDYgKzI5LDcg
QEAKIAogI2RlZmluZSBMSUJTT1VQX1VTRV9VTlNUQUJMRV9SRVFVRVNUX0FQSQogCisjaW5jbHVk
ZSAiV2ViQ29va2llTWFuYWdlci5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4KICNpbmNsdWRlIDxXZWJD
b3JlL0xhbmd1YWdlLmg+CkBAIC0xNjksNiArMTcwLDExIEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxh
dGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyhjb25zdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwYXJhbWV0ZXJzLnVybFNjaGVtZXNSZWdp
c3RlcmVkLnNpemUoKTsgaSsrKQogICAgICAgICBtX3NvdXBSZXF1ZXN0TWFuYWdlci5yZWdpc3Rl
clVSSVNjaGVtZShwYXJhbWV0ZXJzLnVybFNjaGVtZXNSZWdpc3RlcmVkW2ldKTsKIAorICAgIGlm
ICghcGFyYW1ldGVycy5jb29raWVQZXJzaXN0ZW50U3RvcmFnZVBhdGguaXNFbXB0eSgpKQorICAg
ICAgICBXZWJDb29raWVNYW5hZ2VyOjpzaGFyZWQoKS5zZXRDb29raWVQZXJzaXN0ZW50U3RvcmFn
ZShwYXJhbWV0ZXJzLmNvb2tpZVBlcnNpc3RlbnRTdG9yYWdlUGF0aCwKKyAgICAgICAgICAgIHBh
cmFtZXRlcnMuY29va2llUGVyc2lzdGVudFN0b3JhZ2VUeXBlKTsKKyAgICBXZWJDb29raWVNYW5h
Z2VyOjpzaGFyZWQoKS5zZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KHBhcmFtZXRlcnMuY29va2ll
QWNjZXB0UG9saWN5KTsKKwogICAgIFdlYkNvcmU6OmFkZExhbmd1YWdlQ2hhbmdlT2JzZXJ2ZXIo
dGhpcywgbGFuZ3VhZ2VDaGFuZ2VkKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178813</attachid>
            <date>2012-12-11 08:38:18 -0800</date>
            <delta_ts>2012-12-12 01:20:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104370-20121211173515.patch</filename>
            <type>text/plain</type>
            <size>13250</size>
            <attacher name="Joaquim Rocha">jrocha</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NjYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYzE5OTU5ZTJlZjk3ZTM4
NDIzYjg4Nzc1ZGNiNTdjMWIzMGU1Zjg0NS4uZGNkMWJkMTE3NzY5MmEzYTMzYjQ2MGYzMDM2NjM3
ODg2MTM1MmVhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDEyLTEyLTA3ICBKb2Fx
dWltIFJvY2hhICA8anJvY2hhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS10gQ29va2llcycg
c3RvcmFnZSBwYXRoIGFuZCBwb2xpY3kgYXJlIG5vdCBzZXQgd2hlbiB0aGUgV2ViUHJvY2VzcyBp
cyBraWxsZWQgYW5kIHJlbGF1bmNoZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwNDM3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoaXMgaXNzdWUgaGFwcGVucyBvbiBwb3J0cyB0aGF0IHVzZSBTb3Vw
IGFuZCBjYXVzZXMgcHJvYmxlbXMgbGlrZSBub3QgZmluZGluZyB0aGUgc3RvcmVkIGNvb2tpZXMK
KyAgICAgICAgbm9yIHRoZWlyIHBvbGljeSB3aGVuIHRoZSBXZWJQcm9jZXNzIGlzIHJlbGF1bmNo
ZWQuIEFzIGFuIGV4YW1wbGUgb2YgYSBwcm9ibGVtIGNhdXNlZCBieSB0aGlzLAorICAgICAgICBh
IHByZXZpb3VzbHkgbG9nZ2VkIGluIHVzZXIgd2lsbCBub3QgYmUgbG9nZ2VkIGluIGFnYWluIHdo
ZW4gdGhlIHByb2Nlc3MgaXMgcmVsYXVuY2hlZCBhbmQgdGhlCisgICAgICAgIHBvbGljeSB1c2Vk
IGlzIGFsd2F5cyB0aGUgc2FtZSBvbmUuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnM6OmVuY29kZSk6IEVuY29kZSBjb29raWVzJyBwZXJzaXN0ZW50IHN0b3JhZ2Ug
cGF0aCwKKyAgICAgICAgc3RvcmFnZSB0eXBlIGFuZCBhY2NlcHRhbmNlIHBvbGljeS4KKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKTogRGVjb2Rl
IGNvb2tpZXMnIHBlcnNpc3RlbnQgc3RvcmFnZSBwYXRoLAorICAgICAgICBzdG9yYWdlIHR5cGUg
YW5kIGFjY2VwdGFuY2UgcG9saWN5LgorICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzLmg6IENyZWF0ZSAzIHZhcmlhYmxlcyB0byBob2xkIHRoZSB2YWx1ZXMgbWVu
dGlvbmVkIGFib3ZlLgorICAgICAgICAoV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyk6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYkNvb2tpZU1hbmFnZXJQcm94eTo6V2ViQ29va2llTWFuYWdlclByb3h5KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViQ29va2llTWFuYWdlclByb3h5OjpzZXRIVFRQQ29va2llQWNjZXB0
UG9saWN5KTogQ2FsbCBXZWJDb29raWVNYW5hZ2VyUHJveHlTb3VwOjpzZXRDb29raWVBY2NlcHRQ
b2xpY3kuCisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5oOiBEZWNs
YXJlIG5ldyBTb3VwJ3MgbWV0aG9kcyBzZXRDb29raWVBY2NlcHRQb2xpY3ksIGNvb2tpZUFjY2Vw
dFBvbGljeSBhbmQKKyAgICAgICAgY29va2llUGVyc2lzdGVudFN0b3JhZ2UgYXMgd2VsbCBhcyB0
aGUgdmFyaWFibGVzIG1fY29va2llQWNjZXB0UG9saWN5IGFuZCBtX2Nvb2tpZVBlcnNpc3RlbnRT
dG9yYWdlLgorICAgICAgICAoV2ViQ29va2llTWFuYWdlclByb3h5KToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvZWZsL1dlYkNvbnRleHRFZmwuY3BwOiBBc3NpZ24gdGhlIHBhcmFtZXRlcnMnIGNvb2tp
ZVBlcnNpc3RlbnRTdG9yYWdlUGF0aCBhbmQKKyAgICAgICAgY29va2llUGVyc2lzdGVudFN0b3Jh
Z2VUeXBlIHdpdGggdGhlIHJlc3BlY3RpdmUgdmFsdWVzLgorICAgICAgICAoV2ViS2l0OjpXZWJD
b250ZXh0OjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvZ3RrL1dlYkNvbnRleHRHdGsuY3BwOiBBc3NpZ24gdGhlIHBhcmFtZXRlcnMnIGNvb2tpZVBl
cnNpc3RlbnRTdG9yYWdlUGF0aCBhbmQKKyAgICAgICAgY29va2llUGVyc2lzdGVudFN0b3JhZ2VU
eXBlIHdpdGggdGhlIHJlc3BlY3RpdmUgdmFsdWVzLgorICAgICAgICAoV2ViS2l0OjpXZWJDb250
ZXh0OjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
c291cC9XZWJDb29raWVNYW5hZ2VyUHJveHlTb3VwLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
Q29va2llTWFuYWdlclByb3h5OjpzZXRDb29raWVQZXJzaXN0ZW50U3RvcmFnZSk6IEFzc2lnbiB0
aGUgbV9jb29raWVQZXJzaXN0ZW50U3RvcmFnZSBwYWlyCisgICAgICAgIHdpdGggdGhlIG1ldGhv
ZCdzIHBhcmFtZXRlcnMuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJD
b29raWVNYW5hZ2VyUHJveHk6OmdldENvb2tpZVBlcnNpc3RlbnRTdG9yYWdlKTogSW1wbGVtZW50
IHRoaXMgZ2V0dGVyLgorICAgICAgICAqIFdlYlByb2Nlc3MvQ29va2llcy9XZWJDb29raWVNYW5h
Z2VyLmg6IERlY2xhcmUgc2V0Q29va2llUGVyc2lzdGVudFN0b3JhZ2UuCisgICAgICAgIChXZWJD
b29raWVNYW5hZ2VyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQ
cm9jZXNzKTogU2V0IHRoZSBjb29raWVzJyBwZXJzaXN0ZW50IHN0b3JhZ2UgYW5kIHBvbGljeQor
ICAgICAgICB1c2luZyB0aGUgV2ViQ29va2llTWFuYWdlcidzIG1ldGhvZHMuCisKIDIwMTItMTIt
MDUgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KIAogICAg
ICAgICBbQ29vcmRpbmF0ZWRHcmFwaGljc10gVXNlIHVuc2lnbmVkIGludGVnZXJzIGZvciBDb29y
ZGluYXRlZFRpbGUgSURzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKaW5kZXggOTZmZGQ2YzA3YzlmYTFjZjdhYjE0YjY1
NzlhNGZkNTA4NGY3NzEyYy4uNWQzYWE5Y2Y0YjM3NWY2YmZjMTNiYjg3ZmYwNjRkZTFiMTkwY2Q5
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzLmNwcApAQCAtNzgsNiArNzgsOSBAQCB2b2lkIFdlYlByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnM6OmVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNv
bgogI2VuZGlmCiAjaWYgVVNFKFNPVVApCiAgICAgZW5jb2RlciA8PCB1cmxTY2hlbWVzUmVnaXN0
ZXJlZDsKKyAgICBlbmNvZGVyIDw8IGNvb2tpZVBlcnNpc3RlbnRTdG9yYWdlUGF0aDsKKyAgICBl
bmNvZGVyIDw8IGNvb2tpZVBlcnNpc3RlbnRTdG9yYWdlVHlwZTsKKyAgICBlbmNvZGVyLmVuY29k
ZUVudW0oY29va2llQWNjZXB0UG9saWN5KTsKICNlbmRpZgogICAgIGVuY29kZXIuZW5jb2RlRW51
bShjYWNoZU1vZGVsKTsKICAgICBlbmNvZGVyIDw8IHNob3VsZFRyYWNrVmlzaXRlZExpbmtzOwpA
QCAtMTcwLDYgKzE3MywxMiBAQCBib29sIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRl
Y29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGRlY29kZXIsIFdlYgogI2lmIFVTRShTT1VQ
KQogICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHBhcmFtZXRlcnMudXJsU2NoZW1lc1JlZ2lzdGVy
ZWQpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUocGFy
YW1ldGVycy5jb29raWVQZXJzaXN0ZW50U3RvcmFnZVBhdGgpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUocGFyYW1ldGVycy5jb29raWVQZXJzaXN0ZW50
U3RvcmFnZVR5cGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLT5k
ZWNvZGUocGFyYW1ldGVycy5jb29raWVBY2NlcHRQb2xpY3kpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CiAjZW5kaWYKICAgICBpZiAoIWRlY29kZXItPmRlY29kZUVudW0ocGFyYW1ldGVycy5jYWNo
ZU1vZGVsKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggNjRhNjk5ZjJhYmVm
OWRjNzEwZTZiMjg5M2VmOTZmNjJkN2M2Njk3MS4uMDRiZmYwOTRmYzRmZWJmYmI3NjA1NTNiMDVi
ODZkYzc4YjY5ZTY5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCkBAIC0zOCw2ICszOCwxMCBAQAogI2luY2x1ZGUgIk1h
Y2hQb3J0LmgiCiAjZW5kaWYKIAorI2lmIFVTRShTT1VQKQorI2luY2x1ZGUgIkhUVFBDb29raWVB
Y2NlcHRQb2xpY3kuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2UgQ29yZUlQQyB7CiAgICAgY2xhc3Mg
QXJndW1lbnREZWNvZGVyOwogICAgIGNsYXNzIEFyZ3VtZW50RW5jb2RlcjsKQEAgLTc3LDYgKzgx
LDkgQEAgc3RydWN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogI2VuZGlmCiAjaWYg
VVNFKFNPVVApCiAgICAgVmVjdG9yPFN0cmluZz4gdXJsU2NoZW1lc1JlZ2lzdGVyZWQ7CisgICAg
U3RyaW5nIGNvb2tpZVBlcnNpc3RlbnRTdG9yYWdlUGF0aDsKKyAgICB1aW50MzJfdCBjb29raWVQ
ZXJzaXN0ZW50U3RvcmFnZVR5cGU7CisgICAgSFRUUENvb2tpZUFjY2VwdFBvbGljeSBjb29raWVB
Y2NlcHRQb2xpY3k7CiAjZW5kaWYKIAogICAgIENhY2hlTW9kZWwgY2FjaGVNb2RlbDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oCmluZGV4IDQ3OTk5MDkzNWY2OGM5N2VkM2ZkYzJh
YWNjM2YxODJhOTMyMmEyMGEuLjc2MDNmZDRlNmQ2NzA1ZDA4Y2ViNjE4NTFmNzMwZmJmYWY2OGRi
NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaApAQCAtMTY1LDEwICsxNjUs
MTAgQEAgcHVibGljOgogCiAjaWYgUExBVEZPUk0oV0lOKQogICAgIHZvaWQgc2V0U2hvdWxkUGFp
bnROYXRpdmVDb250cm9scyhib29sKTsKLQorI2VuZGlmCisjaWYgUExBVEZPUk0oV0lOKSB8fCBV
U0UoU09VUCkKICAgICB2b2lkIHNldEluaXRpYWxIVFRQQ29va2llQWNjZXB0UG9saWN5KEhUVFBD
b29raWVBY2NlcHRQb2xpY3kgcG9saWN5KSB7IG1faW5pdGlhbEhUVFBDb29raWVBY2NlcHRQb2xp
Y3kgPSBwb2xpY3k7IH0KICNlbmRpZgotCiAgICAgdm9pZCBzZXRFbmhhbmNlZEFjY2Vzc2liaWxp
dHkoYm9vbCk7CiAgICAgCiAgICAgLy8gRG93bmxvYWRzLgpAQCAtMzg2LDYgKzM4Niw4IEBAIHBy
aXZhdGU6CiAKICNpZiBQTEFURk9STShXSU4pCiAgICAgYm9vbCBtX3Nob3VsZFBhaW50TmF0aXZl
Q29udHJvbHM7CisjZW5kaWYKKyNpZiBQTEFURk9STShXSU4pIHx8IFVTRShTT1VQKQogICAgIEhU
VFBDb29raWVBY2NlcHRQb2xpY3kgbV9pbml0aWFsSFRUUENvb2tpZUFjY2VwdFBvbGljeTsKICNl
bmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29va2llTWFu
YWdlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2Vy
UHJveHkuY3BwCmluZGV4IGI2M2M4MGM3ZTRlZjMzYWRlMmI2MzM1ODIyZWJkZTM4NTBjOTcwMTgu
LjU0MDYxOTg2ODk0NTY0YWVhMTRhNWQ0ZDQ2YmM2OWJkYjg0NjUzYWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkuY3BwCkBAIC00MSw2
ICs0MSw5IEBAIFBhc3NSZWZQdHI8V2ViQ29va2llTWFuYWdlclByb3h5PiBXZWJDb29raWVNYW5h
Z2VyUHJveHk6OmNyZWF0ZShXZWJDb250ZXh0KiBjb250CiAKIFdlYkNvb2tpZU1hbmFnZXJQcm94
eTo6V2ViQ29va2llTWFuYWdlclByb3h5KFdlYkNvbnRleHQqIGNvbnRleHQpCiAgICAgOiBtX3dl
YkNvbnRleHQoY29udGV4dCkKKyNpZiBVU0UoU09VUCkKKyAgICAsIG1fY29va2llUGVyc2lzdGVu
dFN0b3JhZ2VUeXBlKFNvdXBDb29raWVQZXJzaXN0ZW50U3RvcmFnZVNRTGl0ZSkKKyNlbmRpZgog
ewogICAgIG1fd2ViQ29udGV4dC0+YWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJDb29r
aWVNYW5hZ2VyUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgdGhpcyk7CiB9CkBAIC0xMzQs
NiArMTM3LDkgQEAgdm9pZCBXZWJDb29raWVNYW5hZ2VyUHJveHk6OnNldEhUVFBDb29raWVBY2Nl
cHRQb2xpY3koSFRUUENvb2tpZUFjY2VwdFBvbGljeSBwb2wKICNpZiBQTEFURk9STShNQUMpCiAg
ICAgcGVyc2lzdEhUVFBDb29raWVBY2NlcHRQb2xpY3kocG9saWN5KTsKICNlbmRpZgorI2lmIFVT
RShTT1VQKQorICAgIG1fd2ViQ29udGV4dC0+c2V0SW5pdGlhbEhUVFBDb29raWVBY2NlcHRQb2xp
Y3kocG9saWN5KTsKKyNlbmRpZgogCiAgICAgbV93ZWJDb250ZXh0LT5zZW5kVG9BbGxQcm9jZXNz
ZXNSZWxhdW5jaGluZ1RoZW1JZk5lY2Vzc2FyeShNZXNzYWdlczo6V2ViQ29va2llTWFuYWdlcjo6
U2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeShwb2xpY3kpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkuaAppbmRleCBjMDE2OGUyOGM2ZDc2
ODM5YzQ5NzA3MGM1YTQxNTMyYTE2YjE0ZWRmLi4zNDY3YmI0YjYyOTI5Njk2ZjY5MWY0NTEzYzNl
NzZmOWRhYWFiN2MzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29v
a2llTWFuYWdlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvb2tp
ZU1hbmFnZXJQcm94eS5oCkBAIC0zNSw2ICszNSwxMCBAQAogI2luY2x1ZGUgPHd0Zi9SZWZQdHIu
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKKyNpZiBVU0UoU09VUCkKKyNpbmNsdWRlICJT
b3VwQ29va2llUGVyc2lzdGVudFN0b3JhZ2VUeXBlLmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIENv
cmVJUEMgewogICAgIGNsYXNzIENvbm5lY3Rpb247CiAgICAgY2xhc3MgTWVzc2FnZUlEOwpAQCAt
NzIsNiArNzYsNyBAQCBwdWJsaWM6CiAKICNpZiBVU0UoU09VUCkKICAgICB2b2lkIHNldENvb2tp
ZVBlcnNpc3RlbnRTdG9yYWdlKGNvbnN0IFN0cmluZyYgc3RvcmFnZVBhdGgsIHVpbnQzMl90IHN0
b3JhZ2VUeXBlKTsKKyAgICB2b2lkIGdldENvb2tpZVBlcnNpc3RlbnRTdG9yYWdlKFN0cmluZyYg
c3RvcmFnZVBhdGgsIHVpbnQzMl90JiBzdG9yYWdlVHlwZSkgY29uc3Q7CiAjZW5kaWYKIAogICAg
IGJvb2wgc2hvdWxkVGVybWluYXRlKFdlYlByb2Nlc3NQcm94eSopIGNvbnN0OwpAQCAtOTksNiAr
MTA0LDExIEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPEhUVFBDb29r
aWVBY2NlcHRQb2xpY3lDYWxsYmFjaz4gPiBtX2h0dHBDb29raWVBY2NlcHRQb2xpY3lDYWxsYmFj
a3M7CiAKICAgICBXZWJDb29raWVNYW5hZ2VyUHJveHlDbGllbnQgbV9jbGllbnQ7CisKKyNpZiBV
U0UoU09VUCkKKyAgICBTdHJpbmcgbV9jb29raWVQZXJzaXN0ZW50U3RvcmFnZVBhdGg7CisgICAg
U291cENvb2tpZVBlcnNpc3RlbnRTdG9yYWdlVHlwZSBtX2Nvb2tpZVBlcnNpc3RlbnRTdG9yYWdl
VHlwZTsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYkNvbnRleHRFZmwuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2VmbC9XZWJDb250ZXh0RWZsLmNwcAppbmRleCBhM2Q0NzI1YzgxM2I0
OGZlODhiNGJkYmUwMzcyYjI5MjMyYmJkMTljLi5hNjcyNzRhYzA1YzNkNmUxNTRkNjJjZDA3ZWY1
NDg5ZmQyMjRlMjYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dl
YkNvbnRleHRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViQ29u
dGV4dEVmbC5jcHAKQEAgLTI0LDYgKzI0LDcgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiV2ViQ29va2llTWFuYWdlclByb3h5LmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4
dC5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNpbmNsdWRl
ICJXZWJTb3VwUmVxdWVzdE1hbmFnZXJQcm94eS5oIgpAQCAtNDMsNiArNDQsNyBAQCBTdHJpbmcg
V2ViQ29udGV4dDo6YXBwbGljYXRpb25DYWNoZURpcmVjdG9yeSgpCiB2b2lkIFdlYkNvbnRleHQ6
OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cyYgcGFyYW1ldGVycykKIHsKICAgICBwYXJhbWV0ZXJzLnVybFNjaGVtZXNSZWdpc3RlcmVkID0g
bV9zb3VwUmVxdWVzdE1hbmFnZXJQcm94eS0+cmVnaXN0ZXJlZFVSSVNjaGVtZXMoKTsKKyAgICBt
X2Nvb2tpZU1hbmFnZXJQcm94eS0+Z2V0Q29va2llUGVyc2lzdGVudFN0b3JhZ2UocGFyYW1ldGVy
cy5jb29raWVQZXJzaXN0ZW50U3RvcmFnZVBhdGgsIHBhcmFtZXRlcnMuY29va2llQWNjZXB0UG9s
aWN5KTsKIH0KIAogdm9pZCBXZWJDb250ZXh0OjpwbGF0Zm9ybUludmFsaWRhdGVDb250ZXh0KCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViQ29udGV4dEd0ay5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYkNvbnRleHRHdGsuY3BwCmluZGV4
IDBiMDllOTk0NzE3MmZlOGM1NGYzZTYwYTYxNTAzMGY0YjUxMDc5YmUuLjFhNjJhMTQ5N2QyM2Qx
NTkyMTQ1MjU0MDFmMTRkNGNlNGRkNzFkNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9ndGsvV2ViQ29udGV4dEd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2d0ay9XZWJDb250ZXh0R3RrLmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIldl
YkNvbnRleHQuaCIKIAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJXZWJDb29raWVN
YW5hZ2VyUHJveHkuaCI7CiAjaW5jbHVkZSAiV2ViSW5zcGVjdG9yU2VydmVyLmgiCiAjaW5jbHVk
ZSAiV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIldlYlNvdXBSZXF1
ZXN0TWFuYWdlclByb3h5LmgiCkBAIC04Nyw2ICs4OCw3IEBAIHZvaWQgV2ViQ29udGV4dDo6cGxh
dGZvcm1Jbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBw
YXJhCiAgICAgaW5pdEluc3BlY3RvclNlcnZlcigpOwogCiAgICAgcGFyYW1ldGVycy51cmxTY2hl
bWVzUmVnaXN0ZXJlZCA9IG1fc291cFJlcXVlc3RNYW5hZ2VyUHJveHktPnJlZ2lzdGVyZWRVUklT
Y2hlbWVzKCk7CisgICAgbV9jb29raWVNYW5hZ2VyUHJveHktPmdldENvb2tpZVBlcnNpc3RlbnRT
dG9yYWdlKHBhcmFtZXRlcnMuY29va2llUGVyc2lzdGVudFN0b3JhZ2VQYXRoLCBwYXJhbWV0ZXJz
LmNvb2tpZUFjY2VwdFBvbGljeSk7CiB9CiAKIHZvaWQgV2ViQ29udGV4dDo6cGxhdGZvcm1JbnZh
bGlkYXRlQ29udGV4dCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvc291
cC9XZWJDb29raWVNYW5hZ2VyUHJveHlTb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9zb3VwL1dlYkNvb2tpZU1hbmFnZXJQcm94eVNvdXAuY3BwCmluZGV4IDA4OTE0ZWQ4MTJlM2Jh
ZDc1Mzc4NmU4NDMyMDg5MGI4ZjRiYTQ1MjMuLmZlMjBiYWI3YmQ5Y2Q4ZWZhNjZlMDc1MDRkZmVm
OTRjN2Q4YTI4MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9zb3VwL1dl
YkNvb2tpZU1hbmFnZXJQcm94eVNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9zb3VwL1dlYkNvb2tpZU1hbmFnZXJQcm94eVNvdXAuY3BwCkBAIC0zNCw2ICszNCwxNSBAQCBu
YW1lc3BhY2UgV2ViS2l0IHsKIHZvaWQgV2ViQ29va2llTWFuYWdlclByb3h5OjpzZXRDb29raWVQ
ZXJzaXN0ZW50U3RvcmFnZShjb25zdCBTdHJpbmcmIHN0b3JhZ2VQYXRoLCB1aW50MzJfdCBzdG9y
YWdlVHlwZSkKIHsKICAgICBtX3dlYkNvbnRleHQtPnNlbmRUb0FsbFByb2Nlc3Nlc1JlbGF1bmNo
aW5nVGhlbUlmTmVjZXNzYXJ5KE1lc3NhZ2VzOjpXZWJDb29raWVNYW5hZ2VyOjpTZXRDb29raWVQ
ZXJzaXN0ZW50U3RvcmFnZShzdG9yYWdlUGF0aCwgc3RvcmFnZVR5cGUpKTsKKworICAgIG1fY29v
a2llUGVyc2lzdGVudFN0b3JhZ2VQYXRoID0gc3RvcmFnZVBhdGg7CisgICAgbV9jb29raWVQZXJz
aXN0ZW50U3RvcmFnZVR5cGUgPSBzdGF0aWNfY2FzdDxTb3VwQ29va2llUGVyc2lzdGVudFN0b3Jh
Z2VUeXBlPihzdG9yYWdlVHlwZSk7Cit9CisKK3ZvaWQgV2ViQ29va2llTWFuYWdlclByb3h5Ojpn
ZXRDb29raWVQZXJzaXN0ZW50U3RvcmFnZShTdHJpbmcmIHN0b3JhZ2VQYXRoLCB1aW50MzJfdCYg
c3RvcmFnZVR5cGUpIGNvbnN0Cit7CisgICAgc3RvcmFnZVBhdGggPSBtX2Nvb2tpZVBlcnNpc3Rl
bnRTdG9yYWdlUGF0aDsKKyAgICBzdG9yYWdlVHlwZSA9IHN0YXRpY19jYXN0PHVpbnQzMl90Piht
X2Nvb2tpZVBlcnNpc3RlbnRTdG9yYWdlVHlwZSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvQ29va2llcy9XZWJDb29raWVNYW5hZ2VyLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0Nvb2tpZXMvV2ViQ29va2llTWFuYWdlci5oCmluZGV4IGFhYzA0
MTkyYmY3OTZmMTAyMWEzODExODgxZmYzNThhNmY4NjljZDIuLjFkYmE3NTJkN2VjMjhhOGU0MDAx
NjY5ZjYwM2Q3ZjVkOTY4ZWVmZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvQ29va2llcy9XZWJDb29raWVNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9Db29raWVzL1dlYkNvb2tpZU1hbmFnZXIuaApAQCAtNTMsNiArNTMsMTAgQEAgcHVibGlj
OgogCiAgICAgdm9pZCBzZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KEhUVFBDb29raWVBY2NlcHRQ
b2xpY3kpOwogCisjaWYgVVNFKFNPVVApCisgICAgdm9pZCBzZXRDb29raWVQZXJzaXN0ZW50U3Rv
cmFnZShjb25zdCBTdHJpbmcmIHN0b3JhZ2VQYXRoLCB1aW50MzJfdCBzdG9yYWdlVHlwZSk7Cisj
ZW5kaWYKKwogcHJpdmF0ZToKICAgICBXZWJDb29raWVNYW5hZ2VyKCk7CiAgICAgCkBAIC02Nywx
MCArNzEsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgc3RhcnRPYnNlcnZpbmdDb29raWVDaGFuZ2Vz
KCk7CiAgICAgdm9pZCBzdG9wT2JzZXJ2aW5nQ29va2llQ2hhbmdlcygpOwogCi0jaWYgVVNFKFNP
VVApCi0gICAgdm9pZCBzZXRDb29raWVQZXJzaXN0ZW50U3RvcmFnZShjb25zdCBTdHJpbmcmIHN0
b3JhZ2VQYXRoLCB1aW50MzJfdCBzdG9yYWdlVHlwZSk7Ci0jZW5kaWYKLQogICAgIHZvaWQgZGlk
UmVjZWl2ZVdlYkNvb2tpZU1hbmFnZXJNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3Jl
SVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcAppbmRleCA3
NDZlMzY3ODZlNWE0MTM0Y2JhMGFiMTI1YzZlZjI3NzlmMGQ4Njg2Li5mODU0NzExOWViNjgxNGZh
MGYyMjNmNGI2Njk1NTRiYWQ2YmU1ZjlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3Mvc291cC9XZWJQcm9jZXNzU291cC5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2RlZmlu
ZSBMSUJTT1VQX1VTRV9VTlNUQUJMRV9SRVFVRVNUX0FQSQogCisjaW5jbHVkZSAiV2ViQ29va2ll
TWFuYWdlci5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNp
bmNsdWRlIDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0xhbmd1YWdl
Lmg+CkBAIC0xNjksNiArMTcwLDEyIEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFs
aXplV2ViUHJvY2Vzcyhjb25zdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzCiAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBwYXJhbWV0ZXJzLnVybFNjaGVtZXNSZWdpc3RlcmVkLnNpemUo
KTsgaSsrKQogICAgICAgICBtX3NvdXBSZXF1ZXN0TWFuYWdlci5yZWdpc3RlclVSSVNjaGVtZShw
YXJhbWV0ZXJzLnVybFNjaGVtZXNSZWdpc3RlcmVkW2ldKTsKIAorICAgIGlmICghcGFyYW1ldGVy
cy5jb29raWVQZXJzaXN0ZW50U3RvcmFnZVBhdGguaXNFbXB0eSgpKSB7CisgICAgICAgIFdlYkNv
b2tpZU1hbmFnZXI6OnNoYXJlZCgpLnNldENvb2tpZVBlcnNpc3RlbnRTdG9yYWdlKHBhcmFtZXRl
cnMuY29va2llUGVyc2lzdGVudFN0b3JhZ2VQYXRoLAorICAgICAgICAgICAgcGFyYW1ldGVycy5j
b29raWVQZXJzaXN0ZW50U3RvcmFnZVR5cGUpOworICAgIH0KKyAgICBXZWJDb29raWVNYW5hZ2Vy
OjpzaGFyZWQoKS5zZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KHBhcmFtZXRlcnMuY29va2llQWNj
ZXB0UG9saWN5KTsKKwogICAgIFdlYkNvcmU6OmFkZExhbmd1YWdlQ2hhbmdlT2JzZXJ2ZXIodGhp
cywgbGFuZ3VhZ2VDaGFuZ2VkKTsKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>