<?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>15616</bug_id>
          
          <creation_ts>2007-10-22 06:20:00 -0700</creation_ts>
          <short_desc>[GTK] Add spell checking</short_desc>
          <delta_ts>2009-04-24 10:17:57 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>19456</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alp Toker">alp</reporter>
          <assigned_to name="Diego Escalante Urrelo">diegoe</assigned_to>
          <cc>christian</cc>
    
    <cc>diegoe</cc>
    
    <cc>gustavo</cc>
    
    <cc>marco.barisione</cc>
    
    <cc>martin.sourada</cc>
    
    <cc>reinouts</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>59129</commentid>
    <comment_count>0</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2007-10-22 06:20:00 -0700</bug_when>
    <thetext>The GTK+ port could do with spell checking support, now that we have the required graphics backend support for squiggly red underlines.

Attention should be paid to the precedent set by Mac and Fx and popular GNOME apps when it comes to deciding what libraries and dictionaries should be used.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>82794</commentid>
    <comment_count>1</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2008-06-09 20:38:59 -0700</bug_when>
    <thetext>We could use Enchant. Or we could use GSpell:

http://techn.ocracy.org/gspell

EditorClientGtk.cpp stubs:

void EditorClient::ignoreWordInSpellDocument(const String&amp;)
{
    notImplemented();
}

void EditorClient::learnWord(const String&amp;)
{
    notImplemented();
}

void EditorClient::checkSpellingOfString(const UChar*, int, int*, int*)
{
    notImplemented();
}

void EditorClient::checkGrammarOfString(const UChar*, int, Vector&lt;GrammarDetail&gt;&amp;, int*, int*)
{
    notImplemented();
}

void EditorClient::updateSpellingUIWithGrammarString(const String&amp;, const GrammarDetail&amp;)
{
    notImplemented();
}

void EditorClient::updateSpellingUIWithMisspelledWord(const String&amp;)
{
    notImplemented();
}

void EditorClient::showSpellingUI(bool)
{
    notImplemented();
}

bool EditorClient::spellingUIIsShowing()
{
    notImplemented();
    return false;
}

void EditorClient::getGuessesForWord(const String&amp;, Vector&lt;String&gt;&amp;)
{
    notImplemented();
}
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>82840</commentid>
    <comment_count>2</comment_count>
    <who name="Marco Barisione">marco.barisione</who>
    <bug_when>2008-06-10 10:56:14 -0700</bug_when>
    <thetext>GSpell died when I started to work on telepathy stuff, so it&apos;s not usable and Enchant is the only decent solution.
I was already planning to work on this but it&apos;s very low in my priority list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>112506</commentid>
    <comment_count>3</comment_count>
    <who name="Diego Escalante Urrelo">diegoe</who>
    <bug_when>2009-03-05 18:35:46 -0800</bug_when>
    <thetext>I&apos;m working on something, but i&apos;m having problems understanding how it works :-). Will post draft soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>112539</commentid>
    <comment_count>4</comment_count>
    <who name="Diego Escalante Urrelo">diegoe</who>
    <bug_when>2009-03-05 22:28:10 -0800</bug_when>
    <thetext>I reported this:
  https://bugs.webkit.org/show_bug.cgi?id=24419

which seems to be blocking the correct functioning of any patch we could do.
I&apos;ll attach my half baked patch now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>112540</commentid>
    <comment_count>5</comment_count>
      <attachid>28348</attachid>
    <who name="Diego Escalante Urrelo">diegoe</who>
    <bug_when>2009-03-05 22:38:11 -0800</bug_when>
    <thetext>Created attachment 28348
Draft implementation, but not quite working

I reported this:
  https://bugs.webkit.org/show_bug.cgi?id=24419

which seems to be blocking the correct functioning of any patch we could do. The attached patch is drafty and just here for reference.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113381</commentid>
    <comment_count>6</comment_count>
      <attachid>28348</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-03-12 07:14:46 -0700</bug_when>
    <thetext>Comment on attachment 28348
Draft implementation, but not quite working

First, some style issues:

&gt; --- a/WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp
&gt; +++ b/WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp
&gt; @@ -1,3 +1,4 @@
&gt; +/* vim: set sw=4 ts=4 sts=4 et: */

I&apos;m all for having markers for vim and emacs, to ease our lives, but I think they should be done in a different patch. If you work on this, please cover all of the GTK+-related files with vim and emacs markings =D

&gt; -void EditorClient::checkSpellingOfString(const UChar*, int, int*, int*)
&gt; +void EditorClient::checkSpellingOfString(const UChar* text, int length, int* misspellingLocation, int* misspellingLength)
&gt;  {
&gt; -    notImplemented();
&gt; +    const gchar *ctext;

The * should be to the left here.

&gt; +    ctext = g_strstrip (g_utf16_to_utf8(const_cast&lt;gunichar2*&gt;(text), length, 
&gt; +                NULL, NULL, NULL));

Use 0 instead of NULL on C++-only files. Also, there is an additional space between the function name and the parens. I think you can keep the 0&apos;s in the same line, too. It won&apos;t be overly long.

&gt; +    g_debug(&quot;checking spelling of string %s, %d&quot;, 
&gt; +                ctext, length);

Remember to remove those when submitting the final patch.

&gt; +    GList *langs = NULL;

* to the left

&gt; +    int i = 0;
&gt; +    while (ctext[i] != &apos; &apos; &amp;&amp; i &lt; length)
&gt; +        i++;

Looks like a for would be more idiomatic here, since this while is exactly mimmicking for behavior.

&gt; +        if (result == 0)
&gt; +        {
&gt; +            *misspellingLocation = -1;
&gt; +        }
&gt; +        else if (result &gt; 0)
&gt; +        {
&gt; +            *misspellingLocation = 1;
&gt; +        }

No bracers when you only have one line. If you were going to use bracers, though, they should be like this:

if (blah) {
    ...
} else {
    ...
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113382</commentid>
    <comment_count>7</comment_count>
      <attachid>28348</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-03-12 07:23:44 -0700</bug_when>
    <thetext>Comment on attachment 28348
Draft implementation, but not quite working

OK, now for what&apos;s probably not working

&gt; +    ctext = g_strstrip (g_utf16_to_utf8(const_cast&lt;gunichar2*&gt;(text), length, 
&gt; +                NULL, NULL, NULL));
[...]
&gt; +    int i = 0;
&gt; +    while (ctext[i] != &apos; &apos; &amp;&amp; i &lt; length)
&gt; +        i++;
[...]
&gt; +        result = enchant_dict_check(lang-&gt;speller,
&gt; +                    ctext, -1);

So here&apos;s my theory on why this is not working. You are asking enchant to test the whole string, even though you have gone out of your way to find the first word, looking for a space. You really need to feed only the first word to it, as I understand it.

[...]
&gt; +        if (misspellingLength)
&gt; +            *misspellingLength = i;
&gt; +    }

Then you only set misspellingLength, but you did not set misspellingLocation. Notice that the code in Editor.cpp only does anything if misspellingLocation is &gt;= 0. It will be -1 the way your code looks currently. I believe the code in Editor.cpp is working correctly, but you need to give it correct return values in both misspellingLocation and misspellingLength.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>114548</commentid>
    <comment_count>8</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-03-20 13:24:16 -0700</bug_when>
    <thetext>Spelling check table I promised to diegoe

Input/Ouput expectations for void EditorClient::checkSpellingOfString(const UChar* text, int length, int* misspellingLocation, int* misspellingLength)

Notice that this method returns data through int pointers.

INPUT                                misspellingLocation       misspellingLength
&quot;asd&quot;                                                 0                                   3
&quot; qwe&quot;                                                1                                   3
&quot;  &quot;                                                    -1                                    0
&quot;apple kov&quot;                                        6                                    3
&quot; apple kov &quot;                                      7                                    3
&quot;apple orange kov tree&quot;                  13                                    3

The input list is realistic; I have checked that all of those are sent to the function in a way or another. The problem we have is that our Enchant library doesn&apos;t help us here, apparently; we cannot give it arbitrary text and have it tell us where the spelling problem starts, and what is its length, like the library used by Mac does, so we need to do our own string handling (such as finding word boundaries, stripping spaces) to feed enchant with the word we want to check, and nothing more, while still being able to give WebCore the proper location.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>114550</commentid>
    <comment_count>9</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-03-20 13:27:13 -0700</bug_when>
    <thetext>A little more sane:

INPUT/misspellingLocation/misspellingLength
&quot;asd&quot;/0/3
&quot; qwe&quot;/1/3
&quot;  &quot;/-1/0
&quot;apple kov&quot;/6/3
&quot; apple kov &quot;/7/ 3
&quot;apple orange kov tree&quot;/13/3
&quot;apple orange tree&quot;/-1/0

Notice, too, that misspellingLocation is initially set to -1, and mispellingLength is set to 0, by the caller.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117109</commentid>
    <comment_count>10</comment_count>
      <attachid>29380</attachid>
    <who name="Diego Escalante Urrelo">diegoe</who>
    <bug_when>2009-04-09 17:19:01 -0700</bug_when>
    <thetext>Created attachment 29380
Adds enable-spell-checking property to WebKitWebSettings</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117111</commentid>
    <comment_count>11</comment_count>
      <attachid>29382</attachid>
    <who name="Diego Escalante Urrelo">diegoe</who>
    <bug_when>2009-04-09 17:19:41 -0700</bug_when>
    <thetext>Created attachment 29382
spell-checking-languages property for WebKitWebSettings</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117112</commentid>
    <comment_count>12</comment_count>
      <attachid>29383</attachid>
    <who name="Diego Escalante Urrelo">diegoe</who>
    <bug_when>2009-04-09 17:21:32 -0700</bug_when>
    <thetext>Created attachment 29383
implement checkSpellingOfString()

First two patches are needed properties, first one by webkit, and second one by us because we want to be able to check more than system default language.
This is still not finished.

This is working ok with any kind of word, but if you use non ascii chars it chokes and fails because we are feeding enchant a char length, not byte length. I welcome any suggestion to fix that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117117</commentid>
    <comment_count>13</comment_count>
      <attachid>29385</attachid>
    <who name="Diego Escalante Urrelo">diegoe</who>
    <bug_when>2009-04-09 21:50:59 -0700</bug_when>
    <thetext>Created attachment 29385
implement checkSpellingOfString() with utf8 friendliness

A quick look at google for enchant+utf8 magic took me to various examples, and I was able to adapt the patch :-). All hail to codesearch, concrete inspiration came from libsexy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117125</commentid>
    <comment_count>14</comment_count>
      <attachid>29387</attachid>
    <who name="Diego Escalante Urrelo">diegoe</who>
    <bug_when>2009-04-09 23:51:13 -0700</bug_when>
    <thetext>Created attachment 29387
Implement-ignore-learn-and-guesses

:)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117127</commentid>
    <comment_count>15</comment_count>
      <attachid>29388</attachid>
    <who name="Diego Escalante Urrelo">diegoe</who>
    <bug_when>2009-04-09 23:53:09 -0700</bug_when>
    <thetext>Created attachment 29388
Small update to checkSpellingOfString patch

This fixes some small bugs in the previous patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117128</commentid>
    <comment_count>16</comment_count>
    <who name="Diego Escalante Urrelo">diegoe</who>
    <bug_when>2009-04-10 00:00:23 -0700</bug_when>
    <thetext>Things to think/decide on:
- suggestions limit, i set it to 10, but perhaps that&apos;s already too much, and don&apos;t think we could do sorting, would be a bit overkill and enchant probably already does something smart.
- replacing misspelled word by a suggested word -&gt; deleted text; don&apos;t think this is related to spelling, i&apos;m betting that this is an unimplemented replace function somewhere in this same file
- spelling UI: I&apos;m not particularly interested, and I guess we can have it as a second iteration of this, I would like to land the current patches and later do this

comments welcome!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117246</commentid>
    <comment_count>17</comment_count>
      <attachid>29380</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-04-11 20:35:43 -0700</bug_when>
    <thetext>Comment on attachment 29380
Adds enable-spell-checking property to WebKitWebSettings

There are some style issues and I don&apos;t know if you guys want Diego to fix them (then I would r=-) or if we want to fix them when landing (then I would r=+) them. So I will just comment on the patches and talk about that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117247</commentid>
    <comment_count>18</comment_count>
      <attachid>29380</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-04-11 20:45:07 -0700</bug_when>
    <thetext>Comment on attachment 29380
Adds enable-spell-checking property to WebKitWebSettings

A ChangeLog entry is missing. :)


&gt;  bool EditorClient::isContinuousSpellCheckingEnabled()
&gt;  {
&gt; -    notImplemented();
&gt; -    return false;
&gt; +    WebKitWebSettings* settings;
&gt; +    gboolean enabled;
&gt; +
&gt; +    settings = webkit_web_view_get_settings(m_webView);
&gt; +    g_object_get(settings, &quot;enable-spell-checking&quot;, &amp;enabled, NULL);

NULL or 0... the old question :)


&gt; +    g_object_class_install_property(gobject_class,
&gt; +                                    PROP_ENABLE_SPELL_CHECKING,
&gt; +                                    g_param_spec_boolean(
&gt; +                                    &quot;enable-spell-checking&quot;,
&gt; +                                    &quot;Enable Spell Checking&quot;,
&gt; +                                    &quot;Enables check-as-you-type spell checking&quot;,
&gt; +                                    FALSE,
&gt; +                                    flags));

There is a patch from Gustavo that is adding i18n to the properties as well, it might make sense to assume this patch was landed (if it wasn&apos;t) and use the glorious _() gettext macro for the summary and description.


&gt; +    case PROP_ENABLE_SPELL_CHECKING:
&gt; +        g_value_set_boolean(value, priv-&gt;enable_spell_checking);
&gt; +	break;

break is misplaced.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117278</commentid>
    <comment_count>19</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-04-12 18:21:39 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; &gt;  bool EditorClient::isContinuousSpellCheckingEnabled()
&gt; &gt;  {
&gt; &gt; -    notImplemented();
&gt; &gt; -    return false;
&gt; &gt; +    WebKitWebSettings* settings;
&gt; &gt; +    gboolean enabled;
&gt; &gt; +
&gt; &gt; +    settings = webkit_web_view_get_settings(m_webView);
&gt; &gt; +    g_object_get(settings, &quot;enable-spell-checking&quot;, &amp;enabled, NULL);
&gt; 
&gt; NULL or 0... the old question :)

I&apos;ve been working with diego through jabber on some of this work, and we found that this specific case makes the compiler unhappy (because it apparently looks for NULL when figuring out whether a sentinel has been added).

&gt; 
&gt; &gt; +    g_object_class_install_property(gobject_class,
&gt; &gt; +                                    PROP_ENABLE_SPELL_CHECKING,
&gt; &gt; +                                    g_param_spec_boolean(
&gt; &gt; +                                    &quot;enable-spell-checking&quot;,
&gt; &gt; +                                    &quot;Enable Spell Checking&quot;,
&gt; &gt; +                                    &quot;Enables check-as-you-type spell checking&quot;,
&gt; &gt; +                                    FALSE,
&gt; &gt; +                                    flags));
&gt; 
&gt; There is a patch from Gustavo that is adding i18n to the properties as well, it
&gt; might make sense to assume this patch was landed (if it wasn&apos;t) and use the
&gt; glorious _() gettext macro for the summary and description.

It is now landed. Please #include &lt;glib/gi18n-lib.h&gt;, and add the _() markings, yes =).
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117279</commentid>
    <comment_count>20</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-04-12 18:23:38 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 29380 [review])
&gt; There are some style issues and I don&apos;t know if you guys want Diego to fix them
&gt; (then I would r=-) or if we want to fix them when landing (then I would r=+)
&gt; them. So I will just comment on the patches and talk about that.
&gt; 

I think it is a good idea to let Diego fix the issues, so that he gets a bit more used to the style issues we usually have problems with, for future contributions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117281</commentid>
    <comment_count>21</comment_count>
      <attachid>29380</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-04-12 19:50:48 -0700</bug_when>
    <thetext>Comment on attachment 29380
Adds enable-spell-checking property to WebKitWebSettings

Please update the patch according to the comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118464</commentid>
    <comment_count>22</comment_count>
      <attachid>29700</attachid>
    <who name="Diego Escalante Urrelo">diegoe</who>
    <bug_when>2009-04-22 19:28:23 -0700</bug_when>
    <thetext>Created attachment 29700
0001-Add-enable-spell-checking-property.patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118465</commentid>
    <comment_count>23</comment_count>
      <attachid>29701</attachid>
    <who name="Diego Escalante Urrelo">diegoe</who>
    <bug_when>2009-04-22 19:28:45 -0700</bug_when>
    <thetext>Created attachment 29701
0002-Add-spell-checking-languages-property.patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118466</commentid>
    <comment_count>24</comment_count>
      <attachid>29702</attachid>
    <who name="Diego Escalante Urrelo">diegoe</who>
    <bug_when>2009-04-22 19:29:00 -0700</bug_when>
    <thetext>Created attachment 29702
0003-Implement-checkSpellingOfString.patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118467</commentid>
    <comment_count>25</comment_count>
      <attachid>29703</attachid>
    <who name="Diego Escalante Urrelo">diegoe</who>
    <bug_when>2009-04-22 19:29:14 -0700</bug_when>
    <thetext>Created attachment 29703
0004-Implement-ignore-learn-and-guesses.patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118468</commentid>
    <comment_count>26</comment_count>
    <who name="Diego Escalante Urrelo">diegoe</who>
    <bug_when>2009-04-22 19:31:51 -0700</bug_when>
    <thetext>Updated the patches to address comments and also cleaned them a bit.
Regarding the ChangeLog I thought about shaping one after agreeing code is good. Gustavo can give me a hand, don&apos;t you? :-)

Let me know if something is still missing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118579</commentid>
    <comment_count>27</comment_count>
      <attachid>29700</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-04-23 18:42:53 -0700</bug_when>
    <thetext>Comment on attachment 29700
0001-Add-enable-spell-checking-property.patch

&gt;  bool EditorClient::isContinuousSpellCheckingEnabled()
&gt;  {
&gt; -    notImplemented();
&gt; -    return false;
&gt; +    WebKitWebSettings* settings;
&gt; +    gboolean enabled;
&gt; +
&gt; +    settings = webkit_web_view_get_settings(m_webView);
&gt; +    g_object_get(settings, &quot;enable-spell-checking&quot;, &amp;enabled, NULL);

Move the initialization of settins to where it is declared; there is another ocurrence of this a few lines down, fix it too =). Otherwise looks good. Please fix this, and upload another patch adding a ChangeLog entry, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118580</commentid>
    <comment_count>28</comment_count>
      <attachid>29701</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-04-23 19:12:27 -0700</bug_when>
    <thetext>Comment on attachment 29701
0002-Add-spell-checking-languages-property.patch

&gt; @@ -49,6 +49,7 @@
&gt;  #include &quot;WindowFeatures.h&quot;
&gt;  
&gt;  #include &lt;glib.h&gt;
&gt; +#include &lt;enchant.h&gt;

I believe this include should go on the list above, between BackForwardList.h and HistoryItem.h. We need a full style review for the gtk files, I think, but let&apos;s try to at least keep the new code sane.

&gt;      WEBKIT_API void
&gt;      webkit_web_settings_add_extra_plugin_directory (WebKitWebView *web_view, const gchar* directory);
&gt; +
&gt; +    GSList*
&gt; +    webkit_web_settings_get_spell_languages (WebKitWebView *web_view);

Drop the space between the function name and the parens; the * is misplaced.

&gt; +    /**
&gt; +    * WebKitWebSettings:spell-checking-languages:
&gt; +    *
&gt; +    * The languages to be used for spell checking, separated by commas.

It would be good to say in what standard (such as ISO or an RFC) apps are supposed to specify languages. A few examples should do good here, too.

&gt;  static void webkit_web_settings_init(WebKitWebSettings* web_settings)
&gt;  {
&gt;      web_settings-&gt;priv = WEBKIT_WEB_SETTINGS_GET_PRIVATE(web_settings);
&gt; +    web_settings-&gt;priv-&gt;spell_checking_languages_list = 0;
&gt;  }

I don&apos;t think this initialization is necessary.

&gt; @@ -398,6 +418,9 @@ static void webkit_web_settings_finalize(GObject* object)
&gt;      g_free(priv-&gt;sans_serif_font_family);
&gt;      g_free(priv-&gt;serif_font_family);
&gt;      g_free(priv-&gt;user_stylesheet_uri);
&gt; +    g_free(priv-&gt;spell_checking_languages);
&gt; +
&gt; +    g_slist_free(priv-&gt;spell_checking_languages_list);

Is it safe to free this without checking? I tend to think it is, but reading the code was not enough to make me confident.

&gt; +    case PROP_SPELL_CHECKING_LANGUAGES:
&gt; +        {
&gt; +        priv-&gt;spell_checking_languages = g_strdup(g_value_get_string(value));
&gt; +
&gt; +        SpellLanguage* lang;
&gt; +        GSList* spell_languages = 0;

I would prefer having no additional braces here, and have the variable declarations outside the switch.

&gt; +                spell_languages = g_slist_prepend(spell_languages, lang);

Use append or reverse the list after adding all the languages; I think we should honor the assumption that languages will be checked in the order they are listed in the string.

&gt; + * Since: 1.1.5

Forgot to mention; you&apos;ll want to update these to 1.1.6.


&gt; +    WebKitWebSettings* settings;
&gt; +    WebKitWebSettingsPrivate* priv;
&gt; +    GSList *list;
&gt; +
&gt; +    settings = webkit_web_view_get_settings(web_view);
&gt; +    priv = WEBKIT_WEB_SETTINGS_GET_PRIVATE (settings);
&gt; +
&gt; +    list = priv-&gt;spell_checking_languages_list;

Similar to the previous patch; initialization where declared.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118581</commentid>
    <comment_count>29</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-04-23 19:17:23 -0700</bug_when>
    <thetext>(In reply to comment #28)
&gt; &gt; +    g_slist_free(priv-&gt;spell_checking_languages_list);
&gt; 
&gt; Is it safe to free this without checking? I tend to think it is, but reading
&gt; the code was not enough to make me confident.

I&apos;ve asked around on IRC and people I trust tell me this is safe, so keep it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118583</commentid>
    <comment_count>30</comment_count>
      <attachid>29702</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-04-23 19:30:52 -0700</bug_when>
    <thetext>Comment on attachment 29702
0003-Implement-checkSpellingOfString.patch

&gt; +/* vim: set sw=4 ts=4 sts=4 et: */

No marking for this patch, though I would welcome vim/emacs markings in a separate patch.

&gt; +    PangoLanguage* language;
&gt; +    PangoLogAttr* attrs = g_new(PangoLogAttr, utflen+1);

What&apos;s this +1 for? A comment will do.

&gt; +    int orig_mispellingLocation = *misspellingLocation;
&gt; +    int orig_mispellingLength = *misspellingLength;

Make these originalMispellingLocation/Length.

&gt; +            int start;
&gt; +            int end;
&gt; +            int word_length;

wordLength

&gt; +                lang = (SpellLanguage*) langs-&gt;data;

Use a C++-style cast here: static_cast&lt;SpellLanguage*&gt;(langs-&gt;data).

&gt; +                cstart = g_utf8_offset_to_pointer(ctext, start);
&gt; +                bytes = (gint) (g_utf8_offset_to_pointer(ctext, end) - cstart);

Same here.

&gt; +                result = enchant_dict_check(lang-&gt;speller, word, -1);
&gt; +                if (result &gt; 0)
&gt; +                {
&gt; +                    *misspellingLocation = start;
&gt; +                    *misspellingLength = word_length;
&gt; +                }
&gt; +                if (result == 0)
&gt; +                {

Make that

if (re...) {
    ...
} else if (...) {
    ...
}

&gt; --- a/WebKit/gtk/WebCoreSupport/EditorClientGtk.h
&gt; +++ b/WebKit/gtk/WebCoreSupport/EditorClientGtk.h
&gt; @@ -33,6 +33,7 @@
&gt;  #include &quot;EditorClient.h&quot;
&gt;  
&gt;  #include &lt;wtf/Forward.h&gt;
&gt; +#include &lt;glib.h&gt;

This should go in the .cpp, right after Frame.h?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118584</commentid>
    <comment_count>31</comment_count>
      <attachid>29703</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-04-23 19:48:20 -0700</bug_when>
    <thetext>Comment on attachment 29703
0004-Implement-ignore-learn-and-guesses.patch


&gt; +    GSList* langs;
&gt; +    langs = webkit_web_settings_get_spell_languages(m_webView);

Same line.

&gt; +    for (; langs; langs = langs-&gt;next)
&gt; +    {

Brace should go on the previous line; there are other instances of this I forgot to complain about.

&gt; +        lang = (SpellLanguage*) langs-&gt;data;

Cast and initialiation on same line.

&gt; +    for (; langs; langs = langs-&gt;next)
&gt; +    {

Brace.

&gt; +        SpellLanguage* lang;
&gt; +        gchar** suggestions;
&gt; +        size_t n_suggestions;

numberOfSuggestions

&gt; +        size_t i;
&gt; +
&gt; +        lang = (SpellLanguage*) langs-&gt;data;

Initialization/cast.

&gt; +            for (i = 0; i &lt; n_suggestions &amp;&amp; i &lt; 10; i++)
&gt; +            {
&gt; +                String string = String::fromUTF8(suggestions[i]);
&gt; +                guesses.append(string);

No need to declare the variable. Make that guesses.append(String::from...).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118586</commentid>
    <comment_count>32</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-04-23 20:20:26 -0700</bug_when>
    <thetext>(In reply to comment #30)
&gt; &gt; +    int orig_mispellingLocation = *misspellingLocation;
&gt; &gt; +    int orig_mispellingLength = *misspellingLength;
&gt; 
&gt; Make these originalMispellingLocation/Length.

On second thought, these are pretty unnecessary, from my reading of the code. You should be good with setting misspellingLocation to -1 and misspellingLength to 0 in case no problem is found.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118587</commentid>
    <comment_count>33</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-04-23 20:34:06 -0700</bug_when>
    <thetext>(In reply to comment #30)
&gt; &gt; +                result = enchant_dict_check(lang-&gt;speller, word, -1);
&gt; &gt; +                if (result &gt; 0)
&gt; &gt; +                {
&gt; &gt; +                    *misspellingLocation = start;
&gt; &gt; +                    *misspellingLength = word_length;
&gt; &gt; +                }
&gt; &gt; +                if (result == 0)
&gt; &gt; +                {
&gt; 
&gt; Make that
&gt; 
&gt; if (re...) {
&gt;     ...
&gt; } else if (...) {
&gt;     ...
&gt; }

ok, make that, instead; no need to do those specific checks:

if (result) {
     ...
} else {
     ...
}, actually.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118590</commentid>
    <comment_count>34</comment_count>
      <attachid>29726</attachid>
    <who name="Diego Escalante Urrelo">diegoe</who>
    <bug_when>2009-04-23 21:11:57 -0700</bug_when>
    <thetext>Created attachment 29726
0001-Add-enable-spell-checking-property.patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118591</commentid>
    <comment_count>35</comment_count>
      <attachid>29727</attachid>
    <who name="Diego Escalante Urrelo">diegoe</who>
    <bug_when>2009-04-23 21:12:18 -0700</bug_when>
    <thetext>Created attachment 29727
0002-Add-spell-checking-languages-property.patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118592</commentid>
    <comment_count>36</comment_count>
      <attachid>29728</attachid>
    <who name="Diego Escalante Urrelo">diegoe</who>
    <bug_when>2009-04-23 21:12:47 -0700</bug_when>
    <thetext>Created attachment 29728
0003-Implement-checkSpellingOfString.patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118593</commentid>
    <comment_count>37</comment_count>
      <attachid>29729</attachid>
    <who name="Diego Escalante Urrelo">diegoe</who>
    <bug_when>2009-04-23 21:13:07 -0700</bug_when>
    <thetext>Created attachment 29729
0004-Implement-ignore-learn-and-guesses.patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118594</commentid>
    <comment_count>38</comment_count>
    <who name="Diego Escalante Urrelo">diegoe</who>
    <bug_when>2009-04-23 21:19:44 -0700</bug_when>
    <thetext>Pheww, this should be it. Thanks kov for your comments. Let me know if there&apos;s anything else to fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118595</commentid>
    <comment_count>39</comment_count>
      <attachid>29730</attachid>
    <who name="Diego Escalante Urrelo">diegoe</who>
    <bug_when>2009-04-23 21:23:14 -0700</bug_when>
    <thetext>Created attachment 29730
0002-Add-spell-checking-languages-property.patch

Previous patch had a warning because I was using spellLanguages unintialized, = 0 does the trick.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118643</commentid>
    <comment_count>40</comment_count>
      <attachid>29726</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-04-24 05:15:51 -0700</bug_when>
    <thetext>Comment on attachment 29726
0001-Add-enable-spell-checking-property.patch

Looks good now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118644</commentid>
    <comment_count>41</comment_count>
      <attachid>29730</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-04-24 05:15:57 -0700</bug_when>
    <thetext>Comment on attachment 29730
0002-Add-spell-checking-languages-property.patch

&gt; +        if (priv-&gt;spell_checking_languages)
&gt; +        {
&gt; +            char** langs = g_strsplit(priv-&gt;spell_checking_languages, &quot;,&quot;, -1);
&gt; +            for (int i = 0; langs[i]; i++)
&gt; +            {

Braces are still problematic here. I&apos;ll fix when landing, though.

&gt; +GSList* webkit_web_settings_get_spell_languages(WebKitWebView *web_view)
&gt; +{
&gt; +    g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(web_view), 0);
&gt; +
&gt; +    WebKitWebSettings* settings = webkit_web_view_get_settings(web_view);
&gt; +    WebKitWebSettingsPrivate* priv = WEBKIT_WEB_SETTINGS_GET_PRIVATE (settings);

You want to avoid using GET_PRIVATE macros wherever possible. They are a way for people who need to keep binary compatibility and didn&apos;t add a priv pointer to their object structures to fetch a private one, but is a considerable performance hit when comparing with simply using the pointer. I&apos;ll change this when landing, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118645</commentid>
    <comment_count>42</comment_count>
      <attachid>29728</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-04-24 05:16:35 -0700</bug_when>
    <thetext>Comment on attachment 29728
0003-Implement-checkSpellingOfString.patch

Yay. This code looks so much different and more powerful than our first iterations. Pretty sure we&apos;ll find more weaknesses, but this is good for debut, IMO.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118646</commentid>
    <comment_count>43</comment_count>
      <attachid>29729</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-04-24 05:17:04 -0700</bug_when>
    <thetext>Comment on attachment 29729
0004-Implement-ignore-learn-and-guesses.patch

Yep.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118647</commentid>
    <comment_count>44</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-04-24 05:28:59 -0700</bug_when>
    <thetext>+
+    GSList*
+    webkit_web_settings_get_spell_languages(WebKitWebView* web_view);

Shouldn&apos;t this go in webkitprivate.h?

Also, what is our policy about return values, do we explicitly say you DO NOT have to free something? Or if nothing is said it is assumed you don&apos;t have to.

+    GSList* spellLanguages = 0;
 
We use NULL in these files.

+        if (priv-&gt;spell_checking_languages)
+        {

The brace is wrong.

+            char** langs = g_strsplit(priv-&gt;spell_checking_languages, &quot;,&quot;, -1);

Don&apos;t have to free this?

+    GSList* list = priv-&gt;spell_checking_languages_list;
+
+    return list;

Just return the thing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118648</commentid>
    <comment_count>45</comment_count>
      <attachid>29728</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-04-24 05:30:51 -0700</bug_when>
    <thetext>Comment on attachment 29728
0003-Implement-checkSpellingOfString.patch

&gt;  #include &quot;CString.h&quot;
&gt;  #include &quot;EditCommand.h&quot;
&gt;  #include &quot;Editor.h&quot;
&gt; +#include &lt;enchant.h&gt;
&gt;  #include &quot;FocusController.h&quot;
&gt;  #include &quot;Frame.h&quot;
&gt; +#include &lt;glib.h&gt;
&gt;  #include &quot;KeyboardCodes.h&quot;
&gt;  #include &quot;KeyboardEvent.h&quot;
&gt;  #include &quot;NotImplemented.h&quot;

Those headers go separated from the others, not mixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118650</commentid>
    <comment_count>46</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-04-24 05:57:36 -0700</bug_when>
    <thetext>(In reply to comment #44)
&gt; +
&gt; +    GSList*
&gt; +    webkit_web_settings_get_spell_languages(WebKitWebView* web_view);
&gt; 
&gt; Shouldn&apos;t this go in webkitprivate.h?

It&apos;s where it is, by my reading.
 
&gt; Also, what is our policy about return values, do we explicitly say you DO NOT
&gt; have to free something? Or if nothing is said it is assumed you don&apos;t have to.

That&apos;s a good question. We usually use const to make it obvious, but in the case of a GSList, this is not easily done.
 
&gt; +    GSList* spellLanguages = 0;
&gt; 
&gt; We use NULL in these files.

Right.

&gt; +        if (priv-&gt;spell_checking_languages)
&gt; +        {
&gt; 
&gt; The brace is wrong.

I have fixed those in preparation for landing.

&gt; +            char** langs = g_strsplit(priv-&gt;spell_checking_languages, &quot;,&quot;,
&gt; -1);
&gt; 
&gt; Don&apos;t have to free this?

Do. Good catch, I&apos;ll add a g_strfreev

&gt; +    GSList* list = priv-&gt;spell_checking_languages_list;
&gt; +
&gt; +    return list;
&gt; 
&gt; Just return the thing?

Sounds sane. I&apos;ll apply the necessary changes to the patches while landing. Thanks for the review =)
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118651</commentid>
    <comment_count>47</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-04-24 06:18:41 -0700</bug_when>
    <thetext>Landed as r42817-r42820.

I updated the style issues diegoe forgot to fix, changed the preppend to append, as I have said should be done, too. The leak Xan spotted got plugged, and the style fixes he raised are in, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118666</commentid>
    <comment_count>48</comment_count>
    <who name="Christian Dywan">christian</who>
    <bug_when>2009-04-24 10:17:57 -0700</bug_when>
    <thetext>+    g_object_class_install_property(gobject_class,
+                                    PROP_ENABLE_SPELL_CHECKING,
+                                    g_param_spec_boolean(
+                                    &quot;enable-spell-checking&quot;,
+                                    _(&quot;Enable Spell Checking&quot;),
+                                    _(&quot;Enables check-as-you-type spell checking&quot;),

This is just a minor thing, but that reads very awkwardly. What about &quot;Enables spell checking while typing&quot;?

+    * WebKitWebSettings:spell-checking-languages:
+    *
+    * The languages to be used for spell checking, separated by commas.
+    *
+    * The locale string typically is in the form lang_COUNTRY, where lang
+    * is an ISO-639 language code, and COUNTRY is an ISO-3166 country code.
+    * For instance, sv_FI for Swedish as written in Finland or pt_BR
+    * for Portuguese as written in Brazil.
+    *
+    * If no value is specified then the value returned by 
+    * pango_language_get_default will be used.
+    *
+    * Since 1.1.6

Very nice explanation, I like that.

However it&apos;s technically wrong since the code uses gtk_get_default_language. It may be that both functions work the same way but still I&apos;d like to see the same name in the code as in the documentation :)

Hm... noticing too late that all this was committed already - did I mention I am missing an indication that a patch was committed in this bug tracker :-]</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28348</attachid>
            <date>2009-03-05 22:38:11 -0800</date>
            <delta_ts>2009-04-09 17:19:41 -0700</delta_ts>
            <desc>Draft implementation, but not quite working</desc>
            <filename>webkit-spelling-eew.diff</filename>
            <type>text/plain</type>
            <size>5176</size>
            <attacher name="Diego Escalante Urrelo">diegoe</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0dOVW1ha2VmaWxlLmFtIGIvR05VbWFrZWZpbGUuYW0KaW5kZXggZDBlMDk2
Yy4uZDU1NGUxZCAxMDA2NDQKLS0tIGEvR05VbWFrZWZpbGUuYW0KKysrIGIvR05VbWFrZWZpbGUu
YW0KQEAgLTE4Miw2ICsxODIsNyBAQCBsaWJXZWJDb3JlX2xhX0NGTEFHUyA9IFwKIAkkKENPVkVS
QUdFX0NGTEFHUykgXAogCSQoSElMRE9OX0NGTEFHUykgXAogCSQoR0VPQ0xVRV9DRkxBR1MpIFwK
KwkkKEVOQ0hBTlRfQ0ZMQUdTKSBcCiAJJChHTk9NRUtFWVJJTkdfQ0ZMQUdTKQogCiBsaWJXZWJD
b3JlX2xhX0NQUEZMQUdTID0gXApAQCAtMjEyLDYgKzIxMyw3IEBAIGxpYldlYkNvcmVfbGFfTElC
QUREID0gXAogCSQoUE5HX0xJQlMpIFwKIAkkKEdFT0NMVUVfTElCUykgXAogCSQoR05PTUVLRVlS
SU5HX0xJQlMpIFwKKwkkKEVOQ0hBTlRfTElCUykgXAogCS1scHRocmVhZAogCiAjIFdlYktpdApk
aWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3Bw
IGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwCmluZGV4IGEx
ZjI1MDkuLjdhYTFhMmYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRp
dG9yQ2xpZW50R3RrLmNwcAorKysgYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNs
aWVudEd0ay5jcHAKQEAgLTEsMyArMSw0IEBACisvKiB2aW06IHNldCBzdz00IHRzPTQgc3RzPTQg
ZXQ6ICovCiAvKgogICogIENvcHlyaWdodCAoQykgMjAwNyBBbHAgVG9rZXIgPGFscEBhdG9rZXIu
Y29tPgogICogIENvcHlyaWdodCAoQykgMjAwOCBOdWFudGkgTHRkLgpAQCAtMzMsNiArMzQsMTMg
QEAKICNpbmNsdWRlICJtYXJrdXAuaCIKICNpbmNsdWRlICJ3ZWJraXRwcml2YXRlLmgiCiAKKyNp
bmNsdWRlIDxlbmNoYW50Lmg+CisKK3R5cGVkZWYgc3RydWN0IHsKKyAgICBFbmNoYW50QnJva2Vy
ICpjb25maWc7CisgICAgRW5jaGFudERpY3QgKnNwZWxsZXI7Cit9IFNwZWxsTGFuZ3VhZ2U7CisK
IHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQ3Myw2
ICs0ODEsMTcgQEAgRWRpdG9yQ2xpZW50OjpFZGl0b3JDbGllbnQoV2ViS2l0V2ViVmlldyogd2Vi
VmlldykKICAgICBXZWJLaXRXZWJWaWV3UHJpdmF0ZSogcHJpdiA9IG1fd2ViVmlldy0+cHJpdjsK
ICAgICBnX3NpZ25hbF9jb25uZWN0KHByaXYtPmltQ29udGV4dCwgImNvbW1pdCIsIEdfQ0FMTEJB
Q0soaW1Db250ZXh0Q29tbWl0dGVkKSwgdGhpcyk7CiAgICAgZ19zaWduYWxfY29ubmVjdChwcml2
LT5pbUNvbnRleHQsICJwcmVlZGl0LWNoYW5nZWQiLCBHX0NBTExCQUNLKGltQ29udGV4dFByZWVk
aXRDaGFuZ2VkKSwgdGhpcyk7CisKKyAgICBtX3NwZWxsTGFuZ3VhZ2VzID0gTlVMTDsKKworICAg
IFNwZWxsTGFuZ3VhZ2UgKmxhbmc7CisKKyAgICBsYW5nID0gZ19zbGljZV9uZXcwKFNwZWxsTGFu
Z3VhZ2UpOworCisgICAgbGFuZy0+Y29uZmlnID0gZW5jaGFudF9icm9rZXJfaW5pdCgpOworICAg
IGxhbmctPnNwZWxsZXIgPSBlbmNoYW50X2Jyb2tlcl9yZXF1ZXN0X2RpY3QobGFuZy0+Y29uZmln
LCAiZW4iKTsKKworICAgIG1fc3BlbGxMYW5ndWFnZXMgPSBnX2xpc3RfYXBwZW5kKG1fc3BlbGxM
YW5ndWFnZXMsIGxhbmcpOwogfQogCiBFZGl0b3JDbGllbnQ6On5FZGl0b3JDbGllbnQoKQpAQCAt
NTE5LDkgKzUzOCw0OSBAQCB2b2lkIEVkaXRvckNsaWVudDo6bGVhcm5Xb3JkKGNvbnN0IFN0cmlu
ZyYpCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBFZGl0b3JDbGllbnQ6OmNoZWNr
U3BlbGxpbmdPZlN0cmluZyhjb25zdCBVQ2hhciosIGludCwgaW50KiwgaW50KikKK3ZvaWQgRWRp
dG9yQ2xpZW50OjpjaGVja1NwZWxsaW5nT2ZTdHJpbmcoY29uc3QgVUNoYXIqIHRleHQsIGludCBs
ZW5ndGgsIGludCogbWlzc3BlbGxpbmdMb2NhdGlvbiwgaW50KiBtaXNzcGVsbGluZ0xlbmd0aCkK
IHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGNvbnN0IGdjaGFyICpjdGV4dDsKKworICAg
IGN0ZXh0ID0gZ19zdHJzdHJpcCAoZ191dGYxNl90b191dGY4KGNvbnN0X2Nhc3Q8Z3VuaWNoYXIy
Kj4odGV4dCksIGxlbmd0aCwgCisgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCwgTlVMTCkpOwor
CisgICAgZ19kZWJ1ZygiY2hlY2tpbmcgc3BlbGxpbmcgb2Ygc3RyaW5nICVzLCAlZCIsIAorICAg
ICAgICAgICAgICAgIGN0ZXh0LCBsZW5ndGgpOworCisgICAgR0xpc3QgKmxhbmdzID0gTlVMTDsK
KworICAgIGludCBpID0gMDsKKyAgICB3aGlsZSAoY3RleHRbaV0gIT0gJyAnICYmIGkgPCBsZW5n
dGgpCisgICAgICAgIGkrKzsKKworICAgIGdfZGVidWcoIndpbGwgY2hlY2sgdGlsbCAlZCIsIGkp
OworICAgIGZvciAobGFuZ3MgPSBtX3NwZWxsTGFuZ3VhZ2VzOyBsYW5nczsgbGFuZ3MgPSBsYW5n
cy0+bmV4dCkKKyAgICB7CisgICAgICAgIFNwZWxsTGFuZ3VhZ2UgKmxhbmc7CisgICAgICAgIGlu
dCByZXN1bHQ7CisKKyAgICAgICAgbGFuZyA9IChTcGVsbExhbmd1YWdlICopIGxhbmdzLT5kYXRh
OworCisgICAgICAgIHJlc3VsdCA9IGVuY2hhbnRfZGljdF9jaGVjayhsYW5nLT5zcGVsbGVyLAor
ICAgICAgICAgICAgICAgICAgICBjdGV4dCwgLTEpOworCisgICAgICAgIGdfZGVidWcoInJldmlz
YW5kbyAlcyA9ICVkIiwgY3RleHQsIHJlc3VsdCk7CisKKyAgICAgICAgaWYgKHJlc3VsdCA9PSAw
KQorICAgICAgICB7CisgICAgICAgICAgICAqbWlzc3BlbGxpbmdMb2NhdGlvbiA9IC0xOworICAg
ICAgICB9CisgICAgICAgIGVsc2UgaWYgKHJlc3VsdCA+IDApCisgICAgICAgIHsKKyAgICAgICAg
ICAgICptaXNzcGVsbGluZ0xvY2F0aW9uID0gMTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICht
aXNzcGVsbGluZ0xlbmd0aCkKKyAgICAgICAgICAgICptaXNzcGVsbGluZ0xlbmd0aCA9IGk7Cisg
ICAgfQorCisKIH0KIAogdm9pZCBFZGl0b3JDbGllbnQ6OmNoZWNrR3JhbW1hck9mU3RyaW5nKGNv
bnN0IFVDaGFyKiwgaW50LCBWZWN0b3I8R3JhbW1hckRldGFpbD4mLCBpbnQqLCBpbnQqKQpkaWZm
IC0tZ2l0IGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuaCBiL1dl
YktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmgKaW5kZXggMTQ1MTRmNS4u
YWVkMjgyZSAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGll
bnRHdGsuaAorKysgYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5o
CkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiRWRpdG9yQ2xpZW50LmgiCiAKICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPGdsaWIuaD4KIAogdHlwZWRlZiBzdHJ1Y3QgX1dl
YktpdFdlYlZpZXcgV2ViS2l0V2ViVmlldzsKIApAQCAtMTExLDYgKzExMiw3IEBAIG5hbWVzcGFj
ZSBXZWJLaXQgewogICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0SW5wdXRNZXRob2RTdGF0ZShib29s
IGVuYWJsZWQpOwogCiAgICAgICAgIFdlYktpdFdlYlZpZXcqIG1fd2ViVmlldzsKKyAgICAgICAg
R0xpc3QgKm1fc3BlbGxMYW5ndWFnZXM7CiAgICAgfTsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViS2l0
L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwIGIvV2ViS2l0L3dpbi9XZWJD
b3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwCmluZGV4IDk4NTc0MmYuLjE1OTBmMGYgMTAw
NjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcAor
KysgYi9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHAKQEAgLTYz
NSw5ICs2MzUsNiBAQCB2b2lkIFdlYkVkaXRvckNsaWVudDo6bGVhcm5Xb3JkKGNvbnN0IFN0cmlu
ZyYgd29yZCkKIAogdm9pZCBXZWJFZGl0b3JDbGllbnQ6OmNoZWNrU3BlbGxpbmdPZlN0cmluZyhj
b25zdCBVQ2hhciogdGV4dCwgaW50IGxlbmd0aCwgaW50KiBtaXNzcGVsbGluZ0xvY2F0aW9uLCBp
bnQqIG1pc3NwZWxsaW5nTGVuZ3RoKQogewotICAgICptaXNzcGVsbGluZ0xvY2F0aW9uID0gLTE7
Ci0gICAgKm1pc3NwZWxsaW5nTGVuZ3RoID0gMDsKLQogICAgIENPTVB0cjxJV2ViRWRpdGluZ0Rl
bGVnYXRlPiBlZDsKICAgICBpZiAoRkFJTEVEKG1fd2ViVmlldy0+ZWRpdGluZ0RlbGVnYXRlKCZl
ZCkpIHx8ICFlZC5nZXQoKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvY29uZmlndXJl
LmFjIGIvY29uZmlndXJlLmFjCmluZGV4IGJlZDU1NjAuLmI1NDM0OTkgMTAwNjQ0Ci0tLSBhL2Nv
bmZpZ3VyZS5hYworKysgYi9jb25maWd1cmUuYWMKQEAgLTE5MCw2ICsxOTAsNyBAQCBMSUJTT1VQ
X1JFUVVJUkVEX1ZFUlNJT049Mi4yNS45MQogTElCWFNMVF9SRVFVSVJFRF9WRVJTSU9OPTEuMS43
CiBTUUxJVEVfUkVRVUlSRURfVkVSU0lPTj0zLjAKIEdTVFJFQU1FUl9SRVFVSVJFRF9WRVJTSU9O
PTAuMTAKK0VOQ0hBTlRfUkVRVUlSRURfVkVSU0lPTj0wLjIyCiAKICMgQXZhaWxhYmxlIG1vZHVs
ZXMKICMKQEAgLTIxNSw2ICsyMTYsNyBAQCBpZiB0ZXN0ICIkd2l0aF90YXJnZXQiID0gImRpcmVj
dGZiIjsgdGhlbgogZWxzZQogICAgUEtHX0NIRUNLX01PRFVMRVMoQ0FJUk8sIGNhaXJvID49ICRD
QUlST19SRVFVSVJFRF9WRVJTSU9OKQogICAgUEtHX0NIRUNLX01PRFVMRVMoR1RLLCBndGsrLTIu
MCA+PSAkR1RLX1JFUVVJUkVEX1ZFUlNJT04pCisgICBQS0dfQ0hFQ0tfTU9EVUxFUyhFTkNIQU5U
LCBlbmNoYW50ID49ICRFTkNIQU5UX1JFUVVJUkVEX1ZFUlNJT04pCiAKICAgIGlmIHRlc3QgIiR3
aXRoX3RhcmdldCIgPSAieDExIiAmJiB0ZXN0ICIkb3Nfd2luMzIiID0gIm5vIjsgdGhlbgogICAg
ICAgIyBjaGVjayBmb3IgWFQKQEAgLTI0MSw2ICsyNDMsOCBAQCBBQ19TVUJTVChHVEtfQ0ZMQUdT
KQogQUNfU1VCU1QoR1RLX0xJQlMpCiBBQ19TVUJTVChDQUlST19DRkxBR1MpCiBBQ19TVUJTVChD
QUlST19MSUJTKQorQUNfU1VCU1QoRU5DSEFOVF9DRkxBR1MpCitBQ19TVUJTVChFTkNIQU5UX0xJ
QlMpCiAKICMgY2hlY2sgd2hldGhlciB0byBidWlsZCB3aXRoIGRlYnVnZ2luZyBlbmFibGVkCiBB
Q19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gZG8gYSBkZWJ1ZyBidWlsZF0pCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29380</attachid>
            <date>2009-04-09 17:19:01 -0700</date>
            <delta_ts>2009-04-22 19:26:48 -0700</delta_ts>
            <desc>Adds enable-spell-checking property to WebKitWebSettings</desc>
            <filename>0001-Add-enable-spell-checking-property.patch</filename>
            <type>text/plain</type>
            <size>4763</size>
            <attacher name="Diego Escalante Urrelo">diegoe</attacher>
            
              <data encoding="base64">RnJvbSBjNDQ1MGRhNzU3MTg5Mzc1NjA4NzVmMDFmNjI2MzQ0MDU1Mzc2MTllIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEaWVnbyBFc2NhbGFudGUgVXJyZWxvIDxkaWVnb2VAZ25vbWUu
b3JnPgpEYXRlOiBTYXQsIDIxIE1hciAyMDA5IDEzOjQ4OjMwIC0wNTAwClN1YmplY3Q6IFtQQVRD
SF0gQWRkIGVuYWJsZS1zcGVsbC1jaGVja2luZyBwcm9wZXJ0eQoKQWxzbyBpbXBsZW1lbnQgRWRp
dG9yQ2xpZW50Ojppc0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCBhbmQKRWRpdG9yQ2xp
ZW50Ojp0b2dnbGVDb250aW51b3VzU3BlbGxDaGVja2luZyB0byBhbGxvdyB0aGUgVUkgdG8gZW5h
YmxlIGNoZWNrIGFzCnlvdSB0eXBlIHNwZWxsIGNoZWNraW5nLgotLS0KIFdlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNwcCB8ICAgMTYgKysrKysrKysrKysrLS0KIFdl
YktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcCAgICAgICB8ICAgMjcgKysrKysr
KysrKysrKysrKysrKysrKysrLQogMiBmaWxlcyBjaGFuZ2VkLCAzOSBpbnNlcnRpb25zKCspLCA0
IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRp
dG9yQ2xpZW50R3RrLmNwcCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50
R3RrLmNwcAppbmRleCBhMWYyNTA5Li43ODlhMDI3IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL1dl
YkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHAKKysrIGIvV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwCkBAIC0xMDIsOCArMTAyLDEzIEBAIGJvb2wgRWRp
dG9yQ2xpZW50OjpzaG91bGRTaG93RGVsZXRlSW50ZXJmYWNlKEhUTUxFbGVtZW50KikKIAogYm9v
bCBFZGl0b3JDbGllbnQ6OmlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKCkKIHsKLSAg
ICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBmYWxzZTsKKyAgICBXZWJLaXRXZWJTZXR0
aW5ncyogc2V0dGluZ3M7CisgICAgZ2Jvb2xlYW4gZW5hYmxlZDsKKworICAgIHNldHRpbmdzID0g
d2Via2l0X3dlYl92aWV3X2dldF9zZXR0aW5ncyhtX3dlYlZpZXcpOworICAgIGdfb2JqZWN0X2dl
dChzZXR0aW5ncywgImVuYWJsZS1zcGVsbC1jaGVja2luZyIsICZlbmFibGVkLCBOVUxMKTsKKwor
ICAgIHJldHVybiBlbmFibGVkOwogfQogCiBib29sIEVkaXRvckNsaWVudDo6aXNHcmFtbWFyQ2hl
Y2tpbmdFbmFibGVkKCkKQEAgLTMwOSw3ICszMTQsMTIgQEAgYm9vbCBFZGl0b3JDbGllbnQ6Omlz
U2VsZWN0VHJhaWxpbmdXaGl0ZXNwYWNlRW5hYmxlZCgpCiAKIHZvaWQgRWRpdG9yQ2xpZW50Ojp0
b2dnbGVDb250aW51b3VzU3BlbGxDaGVja2luZygpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsK
KyAgICBXZWJLaXRXZWJTZXR0aW5ncyogc2V0dGluZ3M7CisgICAgZ2Jvb2xlYW4gZW5hYmxlZDsK
KworICAgIHNldHRpbmdzID0gd2Via2l0X3dlYl92aWV3X2dldF9zZXR0aW5ncyhtX3dlYlZpZXcp
OworICAgIGdfb2JqZWN0X2dldChzZXR0aW5ncywgImVuYWJsZS1zcGVsbC1jaGVja2luZyIsICZl
bmFibGVkLCBOVUxMKTsKKyAgICBnX29iamVjdF9zZXQoc2V0dGluZ3MsICJlbmFibGUtc3BlbGwt
Y2hlY2tpbmciLCAhZW5hYmxlZCwgTlVMTCk7CiB9CiAKIHZvaWQgRWRpdG9yQ2xpZW50Ojp0b2dn
bGVHcmFtbWFyQ2hlY2tpbmcoKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
d2Vic2V0dGluZ3MuY3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3Bw
CmluZGV4IGQzMWVjMmYuLjk3YTdhNTkgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dl
YmtpdHdlYnNldHRpbmdzLmNwcAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0
aW5ncy5jcHAKQEAgLTc1LDYgKzc1LDcgQEAgc3RydWN0IF9XZWJLaXRXZWJTZXR0aW5nc1ByaXZh
dGUgewogICAgIGdmbG9hdCB6b29tX3N0ZXA7CiAgICAgZ2Jvb2xlYW4gZW5hYmxlX2RldmVsb3Bl
cl9leHRyYXM7CiAgICAgZ2Jvb2xlYW4gZW5hYmxlX3ByaXZhdGVfYnJvd3Npbmc7CisgICAgZ2Jv
b2xlYW4gZW5hYmxlX3NwZWxsX2NoZWNraW5nOwogfTsKIAogI2RlZmluZSBXRUJLSVRfV0VCX1NF
VFRJTkdTX0dFVF9QUklWQVRFKG9iaikgKEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURSgob2Jq
KSwgV0VCS0lUX1RZUEVfV0VCX1NFVFRJTkdTLCBXZWJLaXRXZWJTZXR0aW5nc1ByaXZhdGUpKQpA
QCAtMTAzLDcgKzEwNCw4IEBAIGVudW0gewogICAgIFBST1BfVVNFUl9TVFlMRVNIRUVUX1VSSSwK
ICAgICBQUk9QX1pPT01fU1RFUCwKICAgICBQUk9QX0VOQUJMRV9ERVZFTE9QRVJfRVhUUkFTLAot
ICAgIFBST1BfRU5BQkxFX1BSSVZBVEVfQlJPV1NJTkcKKyAgICBQUk9QX0VOQUJMRV9QUklWQVRF
X0JST1dTSU5HLAorICAgIFBST1BfRU5BQkxFX1NQRUxMX0NIRUNLSU5HCiB9OwogCiBzdGF0aWMg
dm9pZCB3ZWJraXRfd2ViX3NldHRpbmdzX2ZpbmFsaXplKEdPYmplY3QqIG9iamVjdCk7CkBAIC0z
NTMsNiArMzU1LDIyIEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfc2V0dGluZ3NfY2xhc3NfaW5p
dChXZWJLaXRXZWJTZXR0aW5nc0NsYXNzKiBrbGFzcykKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEZBTFNFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZmxhZ3MpKTsKIAorICAgIC8qKgorICAgICogV2ViS2l0V2ViU2V0dGluZ3M6ZW5hYmxlLXNwZWxs
LWNoZWNraW5nOgorICAgICoKKyAgICAqIFdoZXRoZXIgdG8gZW5hYmxlIGNoZWNrLWFzLXlvdS10
eXBlIHNwZWxsIGNoZWNraW5nLgorICAgICoKKyAgICAqIFNpbmNlIDEuMS41CisgICAgKi8KKyAg
ICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KGdvYmplY3RfY2xhc3MsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX0VOQUJMRV9TUEVMTF9DSEVDS0lORywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19ib29sZWFu
KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVuYWJsZS1zcGVsbC1jaGVj
a2luZyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRW5hYmxlIFNwZWxs
IENoZWNraW5nIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJFbmFibGVz
IGNoZWNrLWFzLXlvdS10eXBlIHNwZWxsIGNoZWNraW5nIiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEZBTFNFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZmxhZ3MpKTsKKwogICAgIGdfdHlwZV9jbGFzc19hZGRfcHJpdmF0ZShrbGFzcywgc2l6ZW9m
KFdlYktpdFdlYlNldHRpbmdzUHJpdmF0ZSkpOwogfQogCkBAIC00NTgsNiArNDc2LDkgQEAgc3Rh
dGljIHZvaWQgd2Via2l0X3dlYl9zZXR0aW5nc19zZXRfcHJvcGVydHkoR09iamVjdCogb2JqZWN0
LCBndWludCBwcm9wX2lkLCBjb24KICAgICBjYXNlIFBST1BfRU5BQkxFX1BSSVZBVEVfQlJPV1NJ
Tkc6CiAgICAgICAgIHByaXYtPmVuYWJsZV9wcml2YXRlX2Jyb3dzaW5nID0gZ192YWx1ZV9nZXRf
Ym9vbGVhbih2YWx1ZSk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgUFJPUF9FTkFCTEVfU1BF
TExfQ0hFQ0tJTkc6CisgICAgICAgIHByaXYtPmVuYWJsZV9zcGVsbF9jaGVja2luZyA9IGdfdmFs
dWVfZ2V0X2Jvb2xlYW4odmFsdWUpOworICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAg
ICAgICBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQob2JqZWN0LCBwcm9wX2lkLCBw
c3BlYyk7CiAgICAgICAgIGJyZWFrOwpAQCAtNTM2LDYgKzU1Nyw5IEBAIHN0YXRpYyB2b2lkIHdl
YmtpdF93ZWJfc2V0dGluZ3NfZ2V0X3Byb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJv
cF9pZCwgR1ZhCiAgICAgY2FzZSBQUk9QX0VOQUJMRV9QUklWQVRFX0JST1dTSU5HOgogICAgICAg
ICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5lbmFibGVfcHJpdmF0ZV9icm93c2lu
Zyk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgUFJPUF9FTkFCTEVfU1BFTExfQ0hFQ0tJTkc6
CisgICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPmVuYWJsZV9zcGVsbF9j
aGVja2luZyk7CisJYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgR19PQkpFQ1RfV0FSTl9J
TlZBTElEX1BST1BFUlRZX0lEKG9iamVjdCwgcHJvcF9pZCwgcHNwZWMpOwogICAgICAgICBicmVh
azsKQEAgLTU4OCw2ICs2MTIsNyBAQCBXZWJLaXRXZWJTZXR0aW5ncyogd2Via2l0X3dlYl9zZXR0
aW5nc19jb3B5KFdlYktpdFdlYlNldHRpbmdzKiB3ZWJfc2V0dGluZ3MpCiAgICAgICAgICAgICAg
ICAgICJ6b29tLXN0ZXAiLCBwcml2LT56b29tX3N0ZXAsCiAgICAgICAgICAgICAgICAgICJlbmFi
bGUtZGV2ZWxvcGVyLWV4dHJhcyIsIHByaXYtPmVuYWJsZV9kZXZlbG9wZXJfZXh0cmFzLAogICAg
ICAgICAgICAgICAgICAiZW5hYmxlLXByaXZhdGUtYnJvd3NpbmciLCBwcml2LT5lbmFibGVfcHJp
dmF0ZV9icm93c2luZywKKyAgICAgICAgICAgICAgICAgImVuYWJsZS1zcGVsbC1jaGVja2luZyIs
IHByaXYtPmVuYWJsZV9zcGVsbF9jaGVja2luZywKICAgICAgICAgICAgICAgICAgTlVMTCkpOwog
CiAgICAgcmV0dXJuIGNvcHk7Ci0tIAoxLjYuMC40Cgo=
</data>
<flag name="review"
          id="14635"
          type_id="1"
          status="-"
          setter="zecke"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29382</attachid>
            <date>2009-04-09 17:19:41 -0700</date>
            <delta_ts>2009-04-22 19:27:04 -0700</delta_ts>
            <desc>spell-checking-languages property for WebKitWebSettings</desc>
            <filename>0002-Add-spell-checking-languages-property.patch</filename>
            <type>text/plain</type>
            <size>7230</size>
            <attacher name="Diego Escalante Urrelo">diegoe</attacher>
            
              <data encoding="base64">RnJvbSBkNDhjYzZjMzY3NGQ0NWU0ZTUwNWYwMDliYTM3YjRjYTkxNDg3ZWRlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEaWVnbyBFc2NhbGFudGUgVXJyZWxvIDxkaWVnb2VAZ25vbWUu
b3JnPgpEYXRlOiBUaHUsIDkgQXByIDIwMDkgMTU6NTU6MTIgLTA1MDAKU3ViamVjdDogW1BBVENI
XSBBZGQgc3BlbGwtY2hlY2tpbmctbGFuZ3VhZ2VzIHByb3BlcnR5CgotLS0KIFdlYktpdC9ndGsv
d2Via2l0L3dlYmtpdHByaXZhdGUuaCAgICAgICB8ICAgIDkgKysrCiBXZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXR3ZWJzZXR0aW5ncy5jcHAgfCAgIDg5ICsrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKy0KIDIgZmlsZXMgY2hhbmdlZCwgOTcgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkK
CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2YXRlLmggYi9XZWJLaXQv
Z3RrL3dlYmtpdC93ZWJraXRwcml2YXRlLmgKaW5kZXggMGI4M2ExMS4uMmYxMGUxNSAxMDA2NDQK
LS0tIGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0cHJpdmF0ZS5oCisrKyBiL1dlYktpdC9ndGsv
d2Via2l0L3dlYmtpdHByaXZhdGUuaApAQCAtNDksNiArNDksNyBAQAogI2luY2x1ZGUgIldpbmRv
d0ZlYXR1cmVzLmgiCiAKICNpbmNsdWRlIDxnbGliLmg+CisjaW5jbHVkZSA8ZW5jaGFudC5oPgog
CiBjbGFzcyBEb3dubG9hZENsaWVudDsKIApAQCAtNzAsNiArNzEsMTEgQEAgbmFtZXNwYWNlIFdl
YktpdCB7CiAgICAgV2ViQ29yZTo6TmF2aWdhdGlvblR5cGUgY29yZShXZWJLaXRXZWJOYXZpZ2F0
aW9uUmVhc29uIHJlYXNvbik7CiB9CiAKK3R5cGVkZWYgc3RydWN0IHsKKyAgICBFbmNoYW50QnJv
a2VyKiBjb25maWc7CisgICAgRW5jaGFudERpY3QqIHNwZWxsZXI7Cit9IFNwZWxsTGFuZ3VhZ2U7
CisKIGV4dGVybiAiQyIgewogICAgIHZvaWQgd2Via2l0X2luaXQoKTsKIApAQCAtMTk2LDYgKzIw
Miw5IEBAIGV4dGVybiAiQyIgewogCiAgICAgV0VCS0lUX0FQSSB2b2lkCiAgICAgd2Via2l0X3dl
Yl9zZXR0aW5nc19hZGRfZXh0cmFfcGx1Z2luX2RpcmVjdG9yeSAoV2ViS2l0V2ViVmlldyAqd2Vi
X3ZpZXcsIGNvbnN0IGdjaGFyKiBkaXJlY3RvcnkpOworCisgICAgR1NMaXN0KgorICAgIHdlYmtp
dF93ZWJfc2V0dGluZ3NfZ2V0X3NwZWxsX2xhbmd1YWdlcyAoV2ViS2l0V2ViVmlldyAqd2ViX3Zp
ZXcpOwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdl
YnNldHRpbmdzLmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcApp
bmRleCA5N2E3YTU5Li4zOTc5ZmM4IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXR3ZWJzZXR0aW5ncy5jcHAKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGlu
Z3MuY3BwCkBAIC03Niw2ICs3Niw4IEBAIHN0cnVjdCBfV2ViS2l0V2ViU2V0dGluZ3NQcml2YXRl
IHsKICAgICBnYm9vbGVhbiBlbmFibGVfZGV2ZWxvcGVyX2V4dHJhczsKICAgICBnYm9vbGVhbiBl
bmFibGVfcHJpdmF0ZV9icm93c2luZzsKICAgICBnYm9vbGVhbiBlbmFibGVfc3BlbGxfY2hlY2tp
bmc7CisgICAgZ2NoYXIqIHNwZWxsX2NoZWNraW5nX2xhbmd1YWdlczsKKyAgICBHU0xpc3QqIHNw
ZWxsX2NoZWNraW5nX2xhbmd1YWdlc19saXN0OwogfTsKIAogI2RlZmluZSBXRUJLSVRfV0VCX1NF
VFRJTkdTX0dFVF9QUklWQVRFKG9iaikgKEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURSgob2Jq
KSwgV0VCS0lUX1RZUEVfV0VCX1NFVFRJTkdTLCBXZWJLaXRXZWJTZXR0aW5nc1ByaXZhdGUpKQpA
QCAtMTA1LDcgKzEwNyw4IEBAIGVudW0gewogICAgIFBST1BfWk9PTV9TVEVQLAogICAgIFBST1Bf
RU5BQkxFX0RFVkVMT1BFUl9FWFRSQVMsCiAgICAgUFJPUF9FTkFCTEVfUFJJVkFURV9CUk9XU0lO
RywKLSAgICBQUk9QX0VOQUJMRV9TUEVMTF9DSEVDS0lORworICAgIFBST1BfRU5BQkxFX1NQRUxM
X0NIRUNLSU5HLAorICAgIFBST1BfU1BFTExfQ0hFQ0tJTkdfTEFOR1VBR0VTCiB9OwogCiBzdGF0
aWMgdm9pZCB3ZWJraXRfd2ViX3NldHRpbmdzX2ZpbmFsaXplKEdPYmplY3QqIG9iamVjdCk7CkBA
IC0zNzEsMTIgKzM3NCwyOSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3NldHRpbmdzX2NsYXNz
X2luaXQoV2ViS2l0V2ViU2V0dGluZ3NDbGFzcyoga2xhc3MpCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBGQUxTRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGZsYWdzKSk7CiAKKyAgICAvKioKKyAgICAqIFdlYktpdFdlYlNldHRpbmdzOnNwZWxsLWNo
ZWNraW5nLWxhbmd1YWdlczoKKyAgICAqCisgICAgKiBUaGUgbGFuZ3VhZ2VzIHRvIGJlIHVzZWQg
Zm9yIHNwZWxsIGNoZWNraW5nLCBzZXBhcmF0ZWQgYnkgY29tbWFzLgorICAgICoKKyAgICAqIFNp
bmNlIDEuMS41CisgICAgKi8KKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KGdv
YmplY3RfY2xhc3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX1NQ
RUxMX0NIRUNLSU5HX0xBTkdVQUdFUywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdfcGFyYW1fc3BlY19zdHJpbmcoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAic3BlbGwtY2hlY2tpbmctbGFuZ3VhZ2VzIiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJMYW5ndWFnZXMgdG8gdXNlIGZvciBzcGVsbCBjaGVja2luZyIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ29tbWEgc2VwYXJhdGVkIGxpc3Qgb2Yg
bGFuZ3VhZ2VzIHRvIHVzZSBmb3Igc3BlbGwgY2hlY2tpbmciLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZsYWdzKSk7CisKICAgICBnX3R5cGVfY2xhc3NfYWRkX3ByaXZhdGUoa2xhc3MsIHNpemVvZihX
ZWJLaXRXZWJTZXR0aW5nc1ByaXZhdGUpKTsKIH0KIAogc3RhdGljIHZvaWQgd2Via2l0X3dlYl9z
ZXR0aW5nc19pbml0KFdlYktpdFdlYlNldHRpbmdzKiB3ZWJfc2V0dGluZ3MpCiB7CiAgICAgd2Vi
X3NldHRpbmdzLT5wcml2ID0gV0VCS0lUX1dFQl9TRVRUSU5HU19HRVRfUFJJVkFURSh3ZWJfc2V0
dGluZ3MpOworICAgIHdlYl9zZXR0aW5ncy0+cHJpdi0+c3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2Vz
X2xpc3QgPSAwOwogfQogCiBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3NldHRpbmdzX2ZpbmFsaXpl
KEdPYmplY3QqIG9iamVjdCkKQEAgLTM5Miw2ICs0MTIsOSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRf
d2ViX3NldHRpbmdzX2ZpbmFsaXplKEdPYmplY3QqIG9iamVjdCkKICAgICBnX2ZyZWUocHJpdi0+
c2Fuc19zZXJpZl9mb250X2ZhbWlseSk7CiAgICAgZ19mcmVlKHByaXYtPnNlcmlmX2ZvbnRfZmFt
aWx5KTsKICAgICBnX2ZyZWUocHJpdi0+dXNlcl9zdHlsZXNoZWV0X3VyaSk7CisgICAgZ19mcmVl
KHByaXYtPnNwZWxsX2NoZWNraW5nX2xhbmd1YWdlcyk7CisKKyAgICBnX3NsaXN0X2ZyZWUocHJp
di0+c3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2VzX2xpc3QpOwogCiAgICAgR19PQkpFQ1RfQ0xBU1Mo
d2Via2l0X3dlYl9zZXR0aW5nc19wYXJlbnRfY2xhc3MpLT5maW5hbGl6ZShvYmplY3QpOwogfQpA
QCAtNDc5LDYgKzUwMiw0MSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3NldHRpbmdzX3NldF9w
cm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BfaWQsIGNvbgogICAgIGNhc2UgUFJP
UF9FTkFCTEVfU1BFTExfQ0hFQ0tJTkc6CiAgICAgICAgIHByaXYtPmVuYWJsZV9zcGVsbF9jaGVj
a2luZyA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOwogICAgICAgICBicmVhazsKKyAgICBj
YXNlIFBST1BfU1BFTExfQ0hFQ0tJTkdfTEFOR1VBR0VTOgorCXsKKyAgICAgICAgcHJpdi0+c3Bl
bGxfY2hlY2tpbmdfbGFuZ3VhZ2VzID0gZ19zdHJkdXAoZ192YWx1ZV9nZXRfc3RyaW5nKHZhbHVl
KSk7CisKKwlnX2RlYnVnKCJoZXksIHNldHRpbmdzIGxhbmd1YWdlczogJXMiLCBwcml2LT5zcGVs
bF9jaGVja2luZ19sYW5ndWFnZXMpOworICAgICAgICBTcGVsbExhbmd1YWdlKiBsYW5nOworICAg
ICAgICBHU0xpc3QqIHNwZWxsX2xhbmd1YWdlcyA9IDA7CisgICAgICAgIGlmIChwcml2LT5zcGVs
bF9jaGVja2luZ19sYW5ndWFnZXMpCisgICAgICAgIHsKKyAgICAgICAgICAgIGNoYXIgKipsYW5n
czsKKyAgICAgICAgICAgIGxhbmdzID0gZ19zdHJzcGxpdChwcml2LT5zcGVsbF9jaGVja2luZ19s
YW5ndWFnZXMsICIsIiwgLTEpOworICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGxhbmdzW2ld
OyBpKyspCisgICAgICAgICAgICB7CisJCWdfZGVidWcgKCJsYW5nIHN0OiAlcyIsIGxhbmdzW2ld
KTsKKyAgICAgICAgICAgICAgICBsYW5nID0gZ19zbGljZV9uZXcwKFNwZWxsTGFuZ3VhZ2UpOwor
ICAgICAgICAgICAgICAgIGxhbmctPmNvbmZpZyA9IGVuY2hhbnRfYnJva2VyX2luaXQoKTsKKyAg
ICAgICAgICAgICAgICBsYW5nLT5zcGVsbGVyID0gZW5jaGFudF9icm9rZXJfcmVxdWVzdF9kaWN0
KGxhbmctPmNvbmZpZywgbGFuZ3NbaV0pOworCisgICAgICAgICAgICAgICAgc3BlbGxfbGFuZ3Vh
Z2VzID0gZ19zbGlzdF9wcmVwZW5kKHNwZWxsX2xhbmd1YWdlcywgbGFuZyk7CisgICAgICAgICAg
ICB9CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBjb25zdCBjaGFyKiBsYW5ndWFnZTsK
KyAgICAgICAgICAgIGxhbmd1YWdlID0gcGFuZ29fbGFuZ3VhZ2VfdG9fc3RyaW5nKGd0a19nZXRf
ZGVmYXVsdF9sYW5ndWFnZSgpKTsKKworCSAgICBnX2RlYnVnICgiZGVmIGxhbmcgc3Q6ICVzIiwg
bGFuZ3VhZ2UpOworICAgICAgICAgICAgbGFuZyA9IGdfc2xpY2VfbmV3MChTcGVsbExhbmd1YWdl
KTsKKyAgICAgICAgICAgIGxhbmctPmNvbmZpZyA9IGVuY2hhbnRfYnJva2VyX2luaXQoKTsKKyAg
ICAgICAgICAgIGxhbmctPnNwZWxsZXIgPSBlbmNoYW50X2Jyb2tlcl9yZXF1ZXN0X2RpY3QobGFu
Zy0+Y29uZmlnLCBsYW5ndWFnZSk7CisKKyAgICAgICAgICAgIHNwZWxsX2xhbmd1YWdlcyA9IGdf
c2xpc3RfcHJlcGVuZChzcGVsbF9sYW5ndWFnZXMsIGxhbmcpOworICAgICAgICB9CisJZ19zbGlz
dF9mcmVlKHByaXYtPnNwZWxsX2NoZWNraW5nX2xhbmd1YWdlc19saXN0KTsKKyAgICAgICAgcHJp
di0+c3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2VzX2xpc3QgPSBzcGVsbF9sYW5ndWFnZXM7CisJfQor
ICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICBHX09CSkVDVF9XQVJOX0lOVkFM
SURfUFJPUEVSVFlfSUQob2JqZWN0LCBwcm9wX2lkLCBwc3BlYyk7CiAgICAgICAgIGJyZWFrOwpA
QCAtNTYwLDYgKzYxOCw5IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfc2V0dGluZ3NfZ2V0X3By
b3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcF9pZCwgR1ZhCiAgICAgY2FzZSBQUk9Q
X0VOQUJMRV9TUEVMTF9DSEVDS0lORzoKICAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1
ZSwgcHJpdi0+ZW5hYmxlX3NwZWxsX2NoZWNraW5nKTsKIAlicmVhazsKKyAgICBjYXNlIFBST1Bf
U1BFTExfQ0hFQ0tJTkdfTEFOR1VBR0VTOgorICAgICAgICBnX3ZhbHVlX3NldF9zdHJpbmcodmFs
dWUsIHByaXYtPnNwZWxsX2NoZWNraW5nX2xhbmd1YWdlcyk7CisJYnJlYWs7CiAgICAgZGVmYXVs
dDoKICAgICAgICAgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEKG9iamVjdCwgcHJv
cF9pZCwgcHNwZWMpOwogICAgICAgICBicmVhazsKQEAgLTYxMyw2ICs2NzQsOCBAQCBXZWJLaXRX
ZWJTZXR0aW5ncyogd2Via2l0X3dlYl9zZXR0aW5nc19jb3B5KFdlYktpdFdlYlNldHRpbmdzKiB3
ZWJfc2V0dGluZ3MpCiAgICAgICAgICAgICAgICAgICJlbmFibGUtZGV2ZWxvcGVyLWV4dHJhcyIs
IHByaXYtPmVuYWJsZV9kZXZlbG9wZXJfZXh0cmFzLAogICAgICAgICAgICAgICAgICAiZW5hYmxl
LXByaXZhdGUtYnJvd3NpbmciLCBwcml2LT5lbmFibGVfcHJpdmF0ZV9icm93c2luZywKICAgICAg
ICAgICAgICAgICAgImVuYWJsZS1zcGVsbC1jaGVja2luZyIsIHByaXYtPmVuYWJsZV9zcGVsbF9j
aGVja2luZywKKyAgICAgICAgICAgICAgICAgInNwZWxsLWNoZWNraW5nLWxhbmd1YWdlcyIsIHBy
aXYtPnNwZWxsX2NoZWNraW5nX2xhbmd1YWdlcywKKyAgICAgICAgICAgICAgICAgInNwZWxsLWNo
ZWNraW5nLWxhbmd1YWdlcy1saXN0IiwgcHJpdi0+c3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2VzX2xp
c3QsCiAgICAgICAgICAgICAgICAgIE5VTEwpKTsKIAogICAgIHJldHVybiBjb3B5OwpAQCAtNjM0
LDQgKzY5NywyOCBAQCB2b2lkIHdlYmtpdF93ZWJfc2V0dGluZ3NfYWRkX2V4dHJhX3BsdWdpbl9k
aXJlY3RvcnkoV2ViS2l0V2ViVmlldyogd2ViVmlldywgY29ucwogICAgIFBsdWdpbkRhdGFiYXNl
OjppbnN0YWxsZWRQbHVnaW5zKCktPmFkZEV4dHJhUGx1Z2luRGlyZWN0b3J5KGZpbGVuYW1lVG9T
dHJpbmcoZGlyZWN0b3J5KSk7CiB9CiAKKy8qKgorICogd2Via2l0X3dlYl9zZXR0aW5nc19nZXRf
c3BlbGxfbGFuZ3VhZ2VzOgorICogQHdlYl92aWV3OiBhICNXZWJLaXRXZWJWaWV3CisgKgorICog
SW50ZXJuYWwgdXNlIG9ubHkuIFJldHJpZXZlcyBhIEdTTGlzdCBvZiBTcGVsbExhbmd1YWdlcyBm
cm9tIHRoZQorICogI1dlYktpdFdlYlNldHRpbmdzIG9mIEB3ZWJfdmlldy4KKyAqCisgKiBTaW5j
ZTogMS4xLjUKKyAqLworR1NMaXN0KiB3ZWJraXRfd2ViX3NldHRpbmdzX2dldF9zcGVsbF9sYW5n
dWFnZXMoV2ViS2l0V2ViVmlldyAqd2ViX3ZpZXcpCit7CisgICAgZ19yZXR1cm5fdmFsX2lmX2Zh
aWwoV0VCS0lUX0lTX1dFQl9WSUVXKHdlYl92aWV3KSwgMCk7CisKKyAgICBXZWJLaXRXZWJTZXR0
aW5ncyogc2V0dGluZ3M7CisgICAgV2ViS2l0V2ViU2V0dGluZ3NQcml2YXRlKiBwcml2OworICAg
IEdTTGlzdCAqbGlzdDsKKworICAgIHNldHRpbmdzID0gd2Via2l0X3dlYl92aWV3X2dldF9zZXR0
aW5ncyh3ZWJfdmlldyk7CisgICAgcHJpdiA9IFdFQktJVF9XRUJfU0VUVElOR1NfR0VUX1BSSVZB
VEUgKHNldHRpbmdzKTsKKworICAgIGxpc3QgPSBwcml2LT5zcGVsbF9jaGVja2luZ19sYW5ndWFn
ZXNfbGlzdDsKKyAgICByZXR1cm4gbGlzdDsKK30KKwogfQotLSAKMS42LjAuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29383</attachid>
            <date>2009-04-09 17:21:32 -0700</date>
            <delta_ts>2009-04-09 21:50:59 -0700</delta_ts>
            <desc>implement checkSpellingOfString()</desc>
            <filename>0003-Pango-based-spell-checking.patch</filename>
            <type>text/plain</type>
            <size>5473</size>
            <attacher name="Diego Escalante Urrelo">diegoe</attacher>
            
              <data encoding="base64">RnJvbSAyOTMwOWVlNGViMmE5ZTVhMDgwZWRlNGJhZWVlYTYwOTU4ZmE4NWNiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEaWVnbyBFc2NhbGFudGUgVXJyZWxvIDxkaWVnb2VAZ25vbWUu
b3JnPgpEYXRlOiBGcmksIDIwIE1hciAyMDA5IDIwOjAyOjEwIC0wNTAwClN1YmplY3Q6IFtQQVRD
SF0gUGFuZ28gYmFzZWQgc3BlbGwgY2hlY2tpbmcKCi0tLQogR05VbWFrZWZpbGUuYW0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMiArCiBXZWJLaXQvZ3RrL1dlYkNvcmVTdXBw
b3J0L0VkaXRvckNsaWVudEd0ay5jcHAgfCAgIDY4ICsrKysrKysrKysrKysrKysrKysrKysrKy0K
IFdlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmggICB8ICAgIDEgKwog
Y29uZmlndXJlLmFjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNCArKwog
NCBmaWxlcyBjaGFuZ2VkLCA3MyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAt
LWdpdCBhL0dOVW1ha2VmaWxlLmFtIGIvR05VbWFrZWZpbGUuYW0KaW5kZXggMTNjZjVlZS4uNTJm
ZGQ0ZiAxMDA2NDQKLS0tIGEvR05VbWFrZWZpbGUuYW0KKysrIGIvR05VbWFrZWZpbGUuYW0KQEAg
LTE4Myw2ICsxODMsNyBAQCBsaWJXZWJDb3JlX2xhX0NGTEFHUyA9IFwKIAkkKExJQlhTTFRfQ0ZM
QUdTKSBcCiAJJChDT1ZFUkFHRV9DRkxBR1MpIFwKIAkkKEhJTERPTl9DRkxBR1MpIFwKKwkkKEVO
Q0hBTlRfQ0ZMQUdTKSBcCiAJJChHRU9DTFVFX0NGTEFHUykKIAogbGliV2ViQ29yZV9sYV9DUFBG
TEFHUyA9IFwKQEAgLTI1Miw2ICsyNTMsNyBAQCBsaWJ3ZWJraXRfMV8wX2xhX0xERkxBR1MgPSBc
CiAKIGxpYndlYmtpdF8xXzBfbGFfTElCQUREID0gXAogCWxpYldlYkNvcmUubGEgXAorCSQoRU5D
SEFOVF9MSUJTKSBcCiAJJChHTk9NRUtFWVJJTkdfTElCUykKIAogIwpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwIGIvV2ViS2l0L2d0ay9X
ZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwCmluZGV4IDc4OWEwMjcuLjc4M2I1ZTUg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNw
cAorKysgYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHAKQEAg
LTEsNiArMSw4IEBACisvKiB2aW06IHNldCBzdz00IHRzPTQgc3RzPTQgZXQ6ICovCiAvKgogICog
IENvcHlyaWdodCAoQykgMjAwNyBBbHAgVG9rZXIgPGFscEBhdG9rZXIuY29tPgogICogIENvcHly
aWdodCAoQykgMjAwOCBOdWFudGkgTHRkLgorICogIENvcHlyaWdodCAoQykgMjAwOSBEaWVnbyBF
c2NhbGFudGUgVXJyZWxvIDxkaWVnb2VAZ25vbWUub3JnPgogICoKICAqICBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiAgbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwpA
QCAtMjMsNiArMjUsNyBAQAogI2luY2x1ZGUgIkNTdHJpbmcuaCIKICNpbmNsdWRlICJFZGl0Q29t
bWFuZC5oIgogI2luY2x1ZGUgIkVkaXRvci5oIgorI2luY2x1ZGUgPGVuY2hhbnQuaD4KICNpbmNs
dWRlICJGb2N1c0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIktl
eWJvYXJkQ29kZXMuaCIKQEAgLTUyOSw5ICs1MzIsNzAgQEAgdm9pZCBFZGl0b3JDbGllbnQ6Omxl
YXJuV29yZChjb25zdCBTdHJpbmcmKQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLXZvaWQg
RWRpdG9yQ2xpZW50OjpjaGVja1NwZWxsaW5nT2ZTdHJpbmcoY29uc3QgVUNoYXIqLCBpbnQsIGlu
dCosIGludCopCit2b2lkIEVkaXRvckNsaWVudDo6Y2hlY2tTcGVsbGluZ09mU3RyaW5nKGNvbnN0
IFVDaGFyKiB0ZXh0LCBpbnQgbGVuZ3RoLCBpbnQqIG1pc3NwZWxsaW5nTG9jYXRpb24sIGludCog
bWlzc3BlbGxpbmdMZW5ndGgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBnY2hhciog
Y3RleHQ7CisKKyAgICBjdGV4dCA9IGdfdXRmMTZfdG9fdXRmOChjb25zdF9jYXN0PGd1bmljaGFy
Mio+KHRleHQpLCBsZW5ndGgsIDAsIDAsIDApOworCisgICAgZ19kZWJ1ZygiY2hlY2tpbmcgc3Bl
bGxpbmcgb2Ygc3RyaW5nIC0lcy0sICVkIiwgY3RleHQsIGxlbmd0aCk7CisKKyAgICBQYW5nb0xh
bmd1YWdlKiBsYW5ndWFnZTsKKyAgICBQYW5nb0xvZ0F0dHIqIGF0dHJzID0gZ19uZXcoUGFuZ29M
b2dBdHRyLCBsZW5ndGgrMSk7CisKKyAgICBsYW5ndWFnZSA9IHBhbmdvX2xhbmd1YWdlX2dldF9k
ZWZhdWx0KCk7CisgICAgcGFuZ29fZ2V0X2xvZ19hdHRycyhjdGV4dCwgbGVuZ3RoLCAtMSwgbGFu
Z3VhZ2UsIGF0dHJzLCBsZW5ndGgrMSk7CisKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IGxlbmd0
aCsxOyBpKyspCisgICAgeworICAgICAgICBnX2RlYnVnKCIlcyBpcyB3b3JkX3N0YXJ0OiAlZCB3
b3JkX2VuZDogJWQiLAorICAgICAgICAgICAgICAgIGN0ZXh0K2ksCisgICAgICAgICAgICAgICAg
YXR0cnNbaV0uaXNfd29yZF9zdGFydCwKKyAgICAgICAgICAgICAgICBhdHRyc1tpXS5pc193b3Jk
X2VuZCk7CisgICAgICAgIC8qIFdlIGdvIHRocm91Z2ggZWFjaCBjaGFyYWN0ZXIgdW50aWwgd2Ug
ZmluZCBhbiBpc193b3JkX3N0YXJ0LAorICAgICAgICAgKiB0aGVuIHdlIGdldCBpbnRvIGFuIGlu
bmVyIGxvb3AgdG8gZmluZCB0aGUgaXNfd29yZF9lbmQgY29ycmVzcG9uZGluZworICAgICAgICAg
KiB0byBpdC4KKyAgICAgICAgICovCisgICAgICAgIGlmIChhdHRyc1tpXS5pc193b3JkX3N0YXJ0
KQorICAgICAgICB7CisgICAgICAgICAgICBpbnQgc3RhcnQ7CisgICAgICAgICAgICBpbnQgZW5k
OworICAgICAgICAgICAgaW50IHdvcmRfbGVuZ3RoOworCisgICAgICAgICAgICBmb3IgKGVuZCA9
IGk7IGF0dHJzW2VuZF0uaXNfd29yZF9lbmQgPCAxOyBlbmQrKykKKyAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgc3RhcnQgPSBpOworICAgICAgICAgICAgd29yZF9s
ZW5ndGggPSBlbmQgLSBzdGFydDsKKyAgICAgICAgICAgIC8qIFNldCB0aGUgaXRlcmF0b3IgdG8g
YmUgYXQgdGhlIGN1cnJlbnQgd29yZCBlbmQsIHNvIHdlIGRvbid0CisgICAgICAgICAgICAgKiBj
aGVjayBjaGFyYWN0ZXJzIHR3aWNlLgorICAgICAgICAgICAgICovCisgICAgICAgICAgICBpID0g
ZW5kOworCisgICAgICAgICAgICBHU0xpc3QqIGxhbmdzOworICAgICAgICAgICAgbGFuZ3MgPSB3
ZWJraXRfd2ViX3NldHRpbmdzX2dldF9zcGVsbF9sYW5ndWFnZXMobV93ZWJWaWV3KTsKKworICAg
ICAgICAgICAgZm9yICg7IGxhbmdzOyBsYW5ncyA9IGxhbmdzLT5uZXh0KQorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgIFNwZWxsTGFuZ3VhZ2UqIGxhbmc7CisgICAgICAgICAgICAgICAg
aW50IHJlc3VsdDsKKworICAgICAgICAgICAgICAgIGxhbmcgPSAoU3BlbGxMYW5ndWFnZSopIGxh
bmdzLT5kYXRhOworCisgICAgICAgICAgICAgICAgcmVzdWx0ID0gZW5jaGFudF9kaWN0X2NoZWNr
KGxhbmctPnNwZWxsZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGN0ZXh0K3N0YXJ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB3b3JkX2xlbmd0aCk7CisKKyAgICAgICAgICAgICAgICBpZiAocmVzdWx0ID4gMCkKKyAg
ICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICptaXNzcGVsbGluZ0xvY2F0aW9u
ID0gc3RhcnQ7CisgICAgICAgICAgICAgICAgICAgICptaXNzcGVsbGluZ0xlbmd0aCA9IHdvcmRf
bGVuZ3RoOworICAgICAgICAgICAgICAgICAgICBnX2RlYnVnKCJtaXNzcGVsbCBkZXRlY3RlZCAt
PiBsb2NhdGlvbjogJWQgbGVuZ3RoOiAlZCIsICptaXNzcGVsbGluZ0xvY2F0aW9uLCAqbWlzc3Bl
bGxpbmdMZW5ndGgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorICAgIH0KIH0KIAogdm9pZCBFZGl0b3JDbGllbnQ6OmNoZWNrR3JhbW1hck9mU3RyaW5nKGNv
bnN0IFVDaGFyKiwgaW50LCBWZWN0b3I8R3JhbW1hckRldGFpbD4mLCBpbnQqLCBpbnQqKQpkaWZm
IC0tZ2l0IGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuaCBiL1dl
YktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmgKaW5kZXggMTQ1MTRmNS4u
YzU5MWJlNSAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGll
bnRHdGsuaAorKysgYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5o
CkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiRWRpdG9yQ2xpZW50LmgiCiAKICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPGdsaWIuaD4KIAogdHlwZWRlZiBzdHJ1Y3QgX1dl
YktpdFdlYlZpZXcgV2ViS2l0V2ViVmlldzsKIApkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIv
Y29uZmlndXJlLmFjCmluZGV4IDc0MDlkMjYuLjYwZWU3NDkgMTAwNjQ0Ci0tLSBhL2NvbmZpZ3Vy
ZS5hYworKysgYi9jb25maWd1cmUuYWMKQEAgLTE5MSw2ICsxOTEsNyBAQCBMSUJYU0xUX1JFUVVJ
UkVEX1ZFUlNJT049MS4xLjcKIFNRTElURV9SRVFVSVJFRF9WRVJTSU9OPTMuMAogR1NUUkVBTUVS
X1JFUVVJUkVEX1ZFUlNJT049MC4xMAogR05PTUVfS0VZUklOR19SRVFVSVJFRF9WRVJTSU9OPTIu
MjYuMAorRU5DSEFOVF9SRVFVSVJFRF9WRVJTSU9OPTAuMjIKIAogIyBBdmFpbGFibGUgbW9kdWxl
cwogIwpAQCAtMjE4LDYgKzIxOSw3IEBAIGlmIHRlc3QgIiR3aXRoX3RhcmdldCIgPSAiZGlyZWN0
ZmIiOyB0aGVuCiBlbHNlCiAgICBQS0dfQ0hFQ0tfTU9EVUxFUyhDQUlSTywgY2Fpcm8gPj0gJENB
SVJPX1JFUVVJUkVEX1ZFUlNJT04pCiAgICBQS0dfQ0hFQ0tfTU9EVUxFUyhHVEssIGd0aystMi4w
ID49ICRHVEtfUkVRVUlSRURfVkVSU0lPTikKKyAgIFBLR19DSEVDS19NT0RVTEVTKEVOQ0hBTlQs
IGVuY2hhbnQgPj0gJEVOQ0hBTlRfUkVRVUlSRURfVkVSU0lPTikKIAogICAgaWYgdGVzdCAiJHdp
dGhfdGFyZ2V0IiA9ICJ4MTEiICYmIHRlc3QgIiRvc193aW4zMiIgPSAibm8iOyB0aGVuCiAgICAg
ICAjIGNoZWNrIGZvciBYVApAQCAtMjQ0LDYgKzI0Niw4IEBAIEFDX1NVQlNUKEdUS19DRkxBR1Mp
CiBBQ19TVUJTVChHVEtfTElCUykKIEFDX1NVQlNUKENBSVJPX0NGTEFHUykKIEFDX1NVQlNUKENB
SVJPX0xJQlMpCitBQ19TVUJTVChFTkNIQU5UX0NGTEFHUykKK0FDX1NVQlNUKEVOQ0hBTlRfTElC
UykKIAogIyBjaGVjayB3aGV0aGVyIHRvIGJ1aWxkIHdpdGggZGVidWdnaW5nIGVuYWJsZWQKIEFD
X01TR19DSEVDS0lORyhbd2hldGhlciB0byBkbyBhIGRlYnVnIGJ1aWxkXSkKLS0gCjEuNi4wLjQK
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29385</attachid>
            <date>2009-04-09 21:50:59 -0700</date>
            <delta_ts>2009-04-09 23:53:09 -0700</delta_ts>
            <desc>implement checkSpellingOfString() with utf8 friendliness</desc>
            <filename>0001-Pango-based-spell-checking.patch</filename>
            <type>text/plain</type>
            <size>5389</size>
            <attacher name="Diego Escalante Urrelo">diegoe</attacher>
            
              <data encoding="base64">RnJvbSBjYjk3ODMyNmViZjI5ODFmOWE0ZTBmZGVhZGIwMzFiMDZmODk2ODk0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEaWVnbyBFc2NhbGFudGUgVXJyZWxvIDxkaWVnb2VAZ25vbWUu
b3JnPgpEYXRlOiBGcmksIDIwIE1hciAyMDA5IDIwOjAyOjEwIC0wNTAwClN1YmplY3Q6IFtQQVRD
SF0gUGFuZ28gYmFzZWQgc3BlbGwgY2hlY2tpbmcKCldvcmtzIGNvcnJlY3RseSB3aXRoIHV0Zjgg
cGhyYXNlcwotLS0KIEdOVW1ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB8ICAgIDIgKwogV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3Bw
IHwgICA2NyArKysrKysrKysrKysrKysrKysrKysrKystCiBXZWJLaXQvZ3RrL1dlYkNvcmVTdXBw
b3J0L0VkaXRvckNsaWVudEd0ay5oICAgfCAgICAxICsKIGNvbmZpZ3VyZS5hYyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDQgKysKIDQgZmlsZXMgY2hhbmdlZCwgNzIgaW5z
ZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9HTlVtYWtlZmlsZS5hbSBi
L0dOVW1ha2VmaWxlLmFtCmluZGV4IDEzY2Y1ZWUuLjUyZmRkNGYgMTAwNjQ0Ci0tLSBhL0dOVW1h
a2VmaWxlLmFtCisrKyBiL0dOVW1ha2VmaWxlLmFtCkBAIC0xODMsNiArMTgzLDcgQEAgbGliV2Vi
Q29yZV9sYV9DRkxBR1MgPSBcCiAJJChMSUJYU0xUX0NGTEFHUykgXAogCSQoQ09WRVJBR0VfQ0ZM
QUdTKSBcCiAJJChISUxET05fQ0ZMQUdTKSBcCisJJChFTkNIQU5UX0NGTEFHUykgXAogCSQoR0VP
Q0xVRV9DRkxBR1MpCiAKIGxpYldlYkNvcmVfbGFfQ1BQRkxBR1MgPSBcCkBAIC0yNTIsNiArMjUz
LDcgQEAgbGlid2Via2l0XzFfMF9sYV9MREZMQUdTID0gXAogCiBsaWJ3ZWJraXRfMV8wX2xhX0xJ
QkFERCA9IFwKIAlsaWJXZWJDb3JlLmxhIFwKKwkkKEVOQ0hBTlRfTElCUykgXAogCSQoR05PTUVL
RVlSSU5HX0xJQlMpCiAKICMKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
RWRpdG9yQ2xpZW50R3RrLmNwcCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xp
ZW50R3RrLmNwcAppbmRleCA3ODlhMDI3Li4xMjYwYWUwIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3Rr
L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHAKKysrIGIvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwCkBAIC0xLDYgKzEsOCBAQAorLyogdmltOiBz
ZXQgc3c9NCB0cz00IHN0cz00IGV0OiAqLwogLyoKICAqICBDb3B5cmlnaHQgKEMpIDIwMDcgQWxw
IFRva2VyIDxhbHBAYXRva2VyLmNvbT4KICAqICBDb3B5cmlnaHQgKEMpIDIwMDggTnVhbnRpIEx0
ZC4KKyAqICBDb3B5cmlnaHQgKEMpIDIwMDkgRGllZ28gRXNjYWxhbnRlIFVycmVsbyA8ZGllZ29l
QGdub21lLm9yZz4KICAqCiAgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKQEAgLTIzLDYgKzI1LDcgQEAKICNpbmNs
dWRlICJDU3RyaW5nLmgiCiAjaW5jbHVkZSAiRWRpdENvbW1hbmQuaCIKICNpbmNsdWRlICJFZGl0
b3IuaCIKKyNpbmNsdWRlIDxlbmNoYW50Lmg+CiAjaW5jbHVkZSAiRm9jdXNDb250cm9sbGVyLmgi
CiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJLZXlib2FyZENvZGVzLmgiCkBAIC01Mjks
OSArNTMyLDY5IEBAIHZvaWQgRWRpdG9yQ2xpZW50OjpsZWFybldvcmQoY29uc3QgU3RyaW5nJikK
ICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIEVkaXRvckNsaWVudDo6Y2hlY2tTcGVs
bGluZ09mU3RyaW5nKGNvbnN0IFVDaGFyKiwgaW50LCBpbnQqLCBpbnQqKQordm9pZCBFZGl0b3JD
bGllbnQ6OmNoZWNrU3BlbGxpbmdPZlN0cmluZyhjb25zdCBVQ2hhciogdGV4dCwgaW50IGxlbmd0
aCwgaW50KiBtaXNzcGVsbGluZ0xvY2F0aW9uLCBpbnQqIG1pc3NwZWxsaW5nTGVuZ3RoKQogewot
ICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgZ2NoYXIqIGN0ZXh0OworICAgIGludCB1dGZsZW47
CisKKyAgICBjdGV4dCA9IGdfdXRmMTZfdG9fdXRmOChjb25zdF9jYXN0PGd1bmljaGFyMio+KHRl
eHQpLCBsZW5ndGgsIDAsIDAsIDApOworICAgIHV0ZmxlbiA9IGdfdXRmOF9zdHJsZW4oY3RleHQs
IC0xKTsKKworICAgIFBhbmdvTGFuZ3VhZ2UqIGxhbmd1YWdlOworICAgIFBhbmdvTG9nQXR0ciog
YXR0cnMgPSBnX25ldyhQYW5nb0xvZ0F0dHIsIHV0ZmxlbisxKTsKKworICAgIGxhbmd1YWdlID0g
cGFuZ29fbGFuZ3VhZ2VfZ2V0X2RlZmF1bHQoKTsKKyAgICBwYW5nb19nZXRfbG9nX2F0dHJzKGN0
ZXh0LCAtMSwgLTEsIGxhbmd1YWdlLCBhdHRycywgdXRmbGVuKzEpOworCisgICAgZm9yIChpbnQg
aSA9IDA7IGkgPCBsZW5ndGgrMTsgaSsrKQorICAgIHsKKyAgICAgICAgLyogV2UgZ28gdGhyb3Vn
aCBlYWNoIGNoYXJhY3RlciB1bnRpbCB3ZSBmaW5kIGFuIGlzX3dvcmRfc3RhcnQsCisgICAgICAg
ICAqIHRoZW4gd2UgZ2V0IGludG8gYW4gaW5uZXIgbG9vcCB0byBmaW5kIHRoZSBpc193b3JkX2Vu
ZCBjb3JyZXNwb25kaW5nCisgICAgICAgICAqIHRvIGl0LgorICAgICAgICAgKi8KKyAgICAgICAg
aWYgKGF0dHJzW2ldLmlzX3dvcmRfc3RhcnQpCisgICAgICAgIHsKKyAgICAgICAgICAgIGludCBz
dGFydDsKKyAgICAgICAgICAgIGludCBlbmQ7CisgICAgICAgICAgICBpbnQgd29yZF9sZW5ndGg7
CisgICAgICAgICAgICBHU0xpc3QqIGxhbmdzOworCisgICAgICAgICAgICBlbmQgPSBpOworICAg
ICAgICAgICAgd2hpbGUgKGF0dHJzW2VuZF0uaXNfd29yZF9lbmQgPCAxKQorICAgICAgICAgICAg
ICAgIGVuZCsrOworCisgICAgICAgICAgICBzdGFydCA9IGk7CisgICAgICAgICAgICB3b3JkX2xl
bmd0aCA9IGVuZCAtIHN0YXJ0OworICAgICAgICAgICAgLyogU2V0IHRoZSBpdGVyYXRvciB0byBi
ZSBhdCB0aGUgY3VycmVudCB3b3JkIGVuZCwgc28gd2UgZG9uJ3QKKyAgICAgICAgICAgICAqIGNo
ZWNrIGNoYXJhY3RlcnMgdHdpY2UuCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIGkgPSBl
bmQ7CisKKyAgICAgICAgICAgIGxhbmdzID0gd2Via2l0X3dlYl9zZXR0aW5nc19nZXRfc3BlbGxf
bGFuZ3VhZ2VzKG1fd2ViVmlldyk7CisKKyAgICAgICAgICAgIGZvciAoOyBsYW5nczsgbGFuZ3Mg
PSBsYW5ncy0+bmV4dCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBTcGVsbExhbmd1
YWdlKiBsYW5nOworICAgICAgICAgICAgICAgIGdjaGFyKiB3b3JkOworICAgICAgICAgICAgICAg
IGdjaGFyKiBjc3RhcnQ7CisgICAgICAgICAgICAgICAgZ2ludCBieXRlczsKKworICAgICAgICAg
ICAgICAgIGxhbmcgPSAoU3BlbGxMYW5ndWFnZSopIGxhbmdzLT5kYXRhOworCisgICAgICAgICAg
ICAgICAgY3N0YXJ0ID0gZ191dGY4X29mZnNldF90b19wb2ludGVyKGN0ZXh0LCBzdGFydCk7Cisg
ICAgICAgICAgICAgICAgYnl0ZXMgPSAoZ2ludCkgKGdfdXRmOF9vZmZzZXRfdG9fcG9pbnRlcihj
dGV4dCwgZW5kKSAtIGNzdGFydCk7CisKKyAgICAgICAgICAgICAgICB3b3JkID0gZ19uZXcwKGdj
aGFyLCBieXRlcysxKTsKKyAgICAgICAgICAgICAgICBnX3V0Zjhfc3RybmNweSh3b3JkLCBjc3Rh
cnQsIGVuZCAtIHN0YXJ0KTsKKworICAgICAgICAgICAgICAgIGlmIChlbmNoYW50X2RpY3RfY2hl
Y2sobGFuZy0+c3BlbGxlciwgd29yZCwgLTEpID4gMCkKKyAgICAgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgICAgICptaXNzcGVsbGluZ0xvY2F0aW9uID0gc3RhcnQ7CisgICAgICAgICAg
ICAgICAgICAgICptaXNzcGVsbGluZ0xlbmd0aCA9IHdvcmRfbGVuZ3RoOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KIH0KIAogdm9pZCBFZGl0b3JD
bGllbnQ6OmNoZWNrR3JhbW1hck9mU3RyaW5nKGNvbnN0IFVDaGFyKiwgaW50LCBWZWN0b3I8R3Jh
bW1hckRldGFpbD4mLCBpbnQqLCBpbnQqKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuaCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRp
dG9yQ2xpZW50R3RrLmgKaW5kZXggMTQ1MTRmNS4uYzU5MWJlNSAxMDA2NDQKLS0tIGEvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuaAorKysgYi9XZWJLaXQvZ3RrL1dl
YkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5oCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVk
ZSAiRWRpdG9yQ2xpZW50LmgiCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUg
PGdsaWIuaD4KIAogdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFdlYlZpZXcgV2ViS2l0V2ViVmlldzsK
IApkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCmluZGV4IDc0MDlkMjYu
LjYwZWU3NDkgMTAwNjQ0Ci0tLSBhL2NvbmZpZ3VyZS5hYworKysgYi9jb25maWd1cmUuYWMKQEAg
LTE5MSw2ICsxOTEsNyBAQCBMSUJYU0xUX1JFUVVJUkVEX1ZFUlNJT049MS4xLjcKIFNRTElURV9S
RVFVSVJFRF9WRVJTSU9OPTMuMAogR1NUUkVBTUVSX1JFUVVJUkVEX1ZFUlNJT049MC4xMAogR05P
TUVfS0VZUklOR19SRVFVSVJFRF9WRVJTSU9OPTIuMjYuMAorRU5DSEFOVF9SRVFVSVJFRF9WRVJT
SU9OPTAuMjIKIAogIyBBdmFpbGFibGUgbW9kdWxlcwogIwpAQCAtMjE4LDYgKzIxOSw3IEBAIGlm
IHRlc3QgIiR3aXRoX3RhcmdldCIgPSAiZGlyZWN0ZmIiOyB0aGVuCiBlbHNlCiAgICBQS0dfQ0hF
Q0tfTU9EVUxFUyhDQUlSTywgY2Fpcm8gPj0gJENBSVJPX1JFUVVJUkVEX1ZFUlNJT04pCiAgICBQ
S0dfQ0hFQ0tfTU9EVUxFUyhHVEssIGd0aystMi4wID49ICRHVEtfUkVRVUlSRURfVkVSU0lPTikK
KyAgIFBLR19DSEVDS19NT0RVTEVTKEVOQ0hBTlQsIGVuY2hhbnQgPj0gJEVOQ0hBTlRfUkVRVUlS
RURfVkVSU0lPTikKIAogICAgaWYgdGVzdCAiJHdpdGhfdGFyZ2V0IiA9ICJ4MTEiICYmIHRlc3Qg
IiRvc193aW4zMiIgPSAibm8iOyB0aGVuCiAgICAgICAjIGNoZWNrIGZvciBYVApAQCAtMjQ0LDYg
KzI0Niw4IEBAIEFDX1NVQlNUKEdUS19DRkxBR1MpCiBBQ19TVUJTVChHVEtfTElCUykKIEFDX1NV
QlNUKENBSVJPX0NGTEFHUykKIEFDX1NVQlNUKENBSVJPX0xJQlMpCitBQ19TVUJTVChFTkNIQU5U
X0NGTEFHUykKK0FDX1NVQlNUKEVOQ0hBTlRfTElCUykKIAogIyBjaGVjayB3aGV0aGVyIHRvIGJ1
aWxkIHdpdGggZGVidWdnaW5nIGVuYWJsZWQKIEFDX01TR19DSEVDS0lORyhbd2hldGhlciB0byBk
byBhIGRlYnVnIGJ1aWxkXSkKLS0gCjEuNi4wLjQKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29387</attachid>
            <date>2009-04-09 23:51:13 -0700</date>
            <delta_ts>2009-04-22 19:27:16 -0700</delta_ts>
            <desc>Implement-ignore-learn-and-guesses</desc>
            <filename>0001-Implement-ignore-learn-and-guesses.patch</filename>
            <type>text/plain</type>
            <size>2779</size>
            <attacher name="Diego Escalante Urrelo">diegoe</attacher>
            
              <data encoding="base64">RnJvbSA1NmQ0NzQ2NWE4MWE5YTYxODNlNzhlMTY1ZmQ1Y2EwZGQ2MDFhYjY2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEaWVnbyBFc2NhbGFudGUgVXJyZWxvIDxkaWVnb2VAZ25vbWUu
b3JnPgpEYXRlOiBGcmksIDEwIEFwciAyMDA5IDAxOjMwOjIxIC0wNTAwClN1YmplY3Q6IFtQQVRD
SF0gSW1wbGVtZW50IGlnbm9yZSwgbGVhcm4gYW5kIGd1ZXNzZXMKCmlnbm9yZVdvcmRJblNwZWxs
RG9jdW1lbnQ7IGxlYXJuV29yZDsgZ2V0R3Vlc3Nlc0ZvcldvcmQuCi0tLQogV2ViS2l0L2d0ay9X
ZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwIHwgICA1MiArKysrKysrKysrKysrKysr
KysrKysrLS0tCiAxIGZpbGVzIGNoYW5nZWQsIDQ2IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25z
KC0pCgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRH
dGsuY3BwIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwCmlu
ZGV4IDBhNDQ5ZmQuLjQ0ODYxMjMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBv
cnQvRWRpdG9yQ2xpZW50R3RrLmNwcAorKysgYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Vk
aXRvckNsaWVudEd0ay5jcHAKQEAgLTUyMiwxNCArNTIyLDMyIEBAIHZvaWQgRWRpdG9yQ2xpZW50
Ojp0ZXh0RGlkQ2hhbmdlSW5UZXh0QXJlYShFbGVtZW50KikKICAgICBub3RJbXBsZW1lbnRlZCgp
OwogfQogCi12b2lkIEVkaXRvckNsaWVudDo6aWdub3JlV29yZEluU3BlbGxEb2N1bWVudChjb25z
dCBTdHJpbmcmKQordm9pZCBFZGl0b3JDbGllbnQ6Omlnbm9yZVdvcmRJblNwZWxsRG9jdW1lbnQo
Y29uc3QgU3RyaW5nJiB0ZXh0KQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgR1NMaXN0
KiBsYW5nczsKKyAgICBsYW5ncyA9IHdlYmtpdF93ZWJfc2V0dGluZ3NfZ2V0X3NwZWxsX2xhbmd1
YWdlcyhtX3dlYlZpZXcpOworCisgICAgZm9yICg7IGxhbmdzOyBsYW5ncyA9IGxhbmdzLT5uZXh0
KQorICAgIHsKKyAgICAgICAgU3BlbGxMYW5ndWFnZSogbGFuZzsKKworICAgICAgICBsYW5nID0g
KFNwZWxsTGFuZ3VhZ2UqKSBsYW5ncy0+ZGF0YTsKKyAgICAgICAgZW5jaGFudF9kaWN0X2FkZF90
b19zZXNzaW9uKGxhbmctPnNwZWxsZXIsIHRleHQudXRmOCgpLmRhdGEoKSwgLTEpOworICAgIH0K
IH0KIAotdm9pZCBFZGl0b3JDbGllbnQ6OmxlYXJuV29yZChjb25zdCBTdHJpbmcmKQordm9pZCBF
ZGl0b3JDbGllbnQ6OmxlYXJuV29yZChjb25zdCBTdHJpbmcmIHRleHQpCiB7Ci0gICAgbm90SW1w
bGVtZW50ZWQoKTsKKyAgICBHU0xpc3QqIGxhbmdzOworICAgIGxhbmdzID0gd2Via2l0X3dlYl9z
ZXR0aW5nc19nZXRfc3BlbGxfbGFuZ3VhZ2VzKG1fd2ViVmlldyk7CisKKyAgICBmb3IgKDsgbGFu
Z3M7IGxhbmdzID0gbGFuZ3MtPm5leHQpCisgICAgeworICAgICAgICBTcGVsbExhbmd1YWdlKiBs
YW5nOworCisgICAgICAgIGxhbmcgPSAoU3BlbGxMYW5ndWFnZSopIGxhbmdzLT5kYXRhOworICAg
ICAgICBlbmNoYW50X2RpY3RfYWRkX3RvX3BlcnNvbmFsKGxhbmctPnNwZWxsZXIsIHRleHQudXRm
OCgpLmRhdGEoKSwgLTEpOworICAgIH0KIH0KIAogdm9pZCBFZGl0b3JDbGllbnQ6OmNoZWNrU3Bl
bGxpbmdPZlN0cmluZyhjb25zdCBVQ2hhciogdGV4dCwgaW50IGxlbmd0aCwgaW50KiBtaXNzcGVs
bGluZ0xvY2F0aW9uLCBpbnQqIG1pc3NwZWxsaW5nTGVuZ3RoKQpAQCAtNjM1LDkgKzY1MywzMSBA
QCBib29sIEVkaXRvckNsaWVudDo6c3BlbGxpbmdVSUlzU2hvd2luZygpCiAgICAgcmV0dXJuIGZh
bHNlOwogfQogCi12b2lkIEVkaXRvckNsaWVudDo6Z2V0R3Vlc3Nlc0ZvcldvcmQoY29uc3QgU3Ry
aW5nJiwgVmVjdG9yPFN0cmluZz4mKQordm9pZCBFZGl0b3JDbGllbnQ6OmdldEd1ZXNzZXNGb3JX
b3JkKGNvbnN0IFN0cmluZyYgd29yZCwgV1RGOjpWZWN0b3I8U3RyaW5nPiYgZ3Vlc3NlcykKIHsK
LSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIEdTTGlzdCogbGFuZ3M7CisKKyAgICBsYW5ncyA9
IHdlYmtpdF93ZWJfc2V0dGluZ3NfZ2V0X3NwZWxsX2xhbmd1YWdlcyhtX3dlYlZpZXcpOworICAg
IGd1ZXNzZXMuY2xlYXIoKTsKKyAgICBmb3IgKDsgbGFuZ3M7IGxhbmdzID0gbGFuZ3MtPm5leHQp
CisgICAgeworICAgICAgICBTcGVsbExhbmd1YWdlKiBsYW5nOworICAgICAgICBnY2hhcioqIHN1
Z2dlc3Rpb25zOworICAgICAgICBzaXplX3Qgbl9zdWdnZXN0aW9uczsKKyAgICAgICAgc2l6ZV90
IGk7CisKKyAgICAgICAgbGFuZyA9IChTcGVsbExhbmd1YWdlKikgbGFuZ3MtPmRhdGE7CisgICAg
ICAgIHN1Z2dlc3Rpb25zID0gZW5jaGFudF9kaWN0X3N1Z2dlc3QobGFuZy0+c3BlbGxlciwgd29y
ZC51dGY4KCkuZGF0YSgpLCAtMSwgJm5fc3VnZ2VzdGlvbnMpOworICAgICAgICBpZiAobl9zdWdn
ZXN0aW9ucyA+IDApCisgICAgICAgIHsKKyAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBuX3N1
Z2dlc3Rpb25zICYmIGkgPCAxMDsgaSsrKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
IFN0cmluZyBzdHJpbmcgPSBTdHJpbmc6OmZyb21VVEY4KHN1Z2dlc3Rpb25zW2ldKTsKKyAgICAg
ICAgICAgICAgICBndWVzc2VzLmFwcGVuZChzdHJpbmcpOworICAgICAgICAgICAgfQorICAgICAg
ICB9CisgICAgICAgIGVuY2hhbnRfZGljdF9mcmVlX3N1Z2dlc3Rpb25zKGxhbmctPnNwZWxsZXIs
IHN1Z2dlc3Rpb25zKTsKKyAgICB9CiB9CiAKIH0KLS0gCjEuNi4wLjQKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29388</attachid>
            <date>2009-04-09 23:53:09 -0700</date>
            <delta_ts>2009-04-22 19:27:08 -0700</delta_ts>
            <desc>Small update to checkSpellingOfString patch</desc>
            <filename>0001-Pango-based-spell-checking.patch</filename>
            <type>text/plain</type>
            <size>5880</size>
            <attacher name="Diego Escalante Urrelo">diegoe</attacher>
            
              <data encoding="base64">RnJvbSBjY2NiNDUyMzNmNDE0NmVkYjQ0NjA1ZDBiOTczZDU4YzRmODkxOGUxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEaWVnbyBFc2NhbGFudGUgVXJyZWxvIDxkaWVnb2VAZ25vbWUu
b3JnPgpEYXRlOiBGcmksIDIwIE1hciAyMDA5IDIwOjAyOjEwIC0wNTAwClN1YmplY3Q6IFtQQVRD
SF0gUGFuZ28gYmFzZWQgc3BlbGwgY2hlY2tpbmcKCldvcmtzIGNvcnJlY3RseSB3aXRoIHV0Zjgg
cGhyYXNlcwotLS0KIEdOVW1ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB8ICAgIDIgKwogV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3Bw
IHwgICA4MSArKysrKysrKysrKysrKysrKysrKysrKystCiBXZWJLaXQvZ3RrL1dlYkNvcmVTdXBw
b3J0L0VkaXRvckNsaWVudEd0ay5oICAgfCAgICAxICsKIGNvbmZpZ3VyZS5hYyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDQgKwogNCBmaWxlcyBjaGFuZ2VkLCA4NSBpbnNl
cnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0dOVW1ha2VmaWxlLmFtIGIv
R05VbWFrZWZpbGUuYW0KaW5kZXggMTNjZjVlZS4uNTJmZGQ0ZiAxMDA2NDQKLS0tIGEvR05VbWFr
ZWZpbGUuYW0KKysrIGIvR05VbWFrZWZpbGUuYW0KQEAgLTE4Myw2ICsxODMsNyBAQCBsaWJXZWJD
b3JlX2xhX0NGTEFHUyA9IFwKIAkkKExJQlhTTFRfQ0ZMQUdTKSBcCiAJJChDT1ZFUkFHRV9DRkxB
R1MpIFwKIAkkKEhJTERPTl9DRkxBR1MpIFwKKwkkKEVOQ0hBTlRfQ0ZMQUdTKSBcCiAJJChHRU9D
TFVFX0NGTEFHUykKIAogbGliV2ViQ29yZV9sYV9DUFBGTEFHUyA9IFwKQEAgLTI1Miw2ICsyNTMs
NyBAQCBsaWJ3ZWJraXRfMV8wX2xhX0xERkxBR1MgPSBcCiAKIGxpYndlYmtpdF8xXzBfbGFfTElC
QUREID0gXAogCWxpYldlYkNvcmUubGEgXAorCSQoRU5DSEFOVF9MSUJTKSBcCiAJJChHTk9NRUtF
WVJJTkdfTElCUykKIAogIwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9F
ZGl0b3JDbGllbnRHdGsuY3BwIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGll
bnRHdGsuY3BwCmluZGV4IDc4OWEwMjcuLjBhNDQ5ZmQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNwcAorKysgYi9XZWJLaXQvZ3RrL1dlYkNv
cmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHAKQEAgLTEsNiArMSw4IEBACisvKiB2aW06IHNl
dCBzdz00IHRzPTQgc3RzPTQgZXQ6ICovCiAvKgogICogIENvcHlyaWdodCAoQykgMjAwNyBBbHAg
VG9rZXIgPGFscEBhdG9rZXIuY29tPgogICogIENvcHlyaWdodCAoQykgMjAwOCBOdWFudGkgTHRk
LgorICogIENvcHlyaWdodCAoQykgMjAwOSBEaWVnbyBFc2NhbGFudGUgVXJyZWxvIDxkaWVnb2VA
Z25vbWUub3JnPgogICoKICAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwpAQCAtMjMsNiArMjUsNyBAQAogI2luY2x1
ZGUgIkNTdHJpbmcuaCIKICNpbmNsdWRlICJFZGl0Q29tbWFuZC5oIgogI2luY2x1ZGUgIkVkaXRv
ci5oIgorI2luY2x1ZGUgPGVuY2hhbnQuaD4KICNpbmNsdWRlICJGb2N1c0NvbnRyb2xsZXIuaCIK
ICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIktleWJvYXJkQ29kZXMuaCIKQEAgLTUyOSw5
ICs1MzIsODEgQEAgdm9pZCBFZGl0b3JDbGllbnQ6OmxlYXJuV29yZChjb25zdCBTdHJpbmcmKQog
ICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLXZvaWQgRWRpdG9yQ2xpZW50OjpjaGVja1NwZWxs
aW5nT2ZTdHJpbmcoY29uc3QgVUNoYXIqLCBpbnQsIGludCosIGludCopCi17Ci0gICAgbm90SW1w
bGVtZW50ZWQoKTsKK3ZvaWQgRWRpdG9yQ2xpZW50OjpjaGVja1NwZWxsaW5nT2ZTdHJpbmcoY29u
c3QgVUNoYXIqIHRleHQsIGludCBsZW5ndGgsIGludCogbWlzc3BlbGxpbmdMb2NhdGlvbiwgaW50
KiBtaXNzcGVsbGluZ0xlbmd0aCkKK3sKKyAgICBnY2hhciogY3RleHQ7CisgICAgaW50IHV0Zmxl
bjsKKworICAgIGN0ZXh0ID0gZ191dGYxNl90b191dGY4KGNvbnN0X2Nhc3Q8Z3VuaWNoYXIyKj4o
dGV4dCksIGxlbmd0aCwgMCwgMCwgMCk7CisgICAgdXRmbGVuID0gZ191dGY4X3N0cmxlbihjdGV4
dCwgLTEpOworCisgICAgUGFuZ29MYW5ndWFnZSogbGFuZ3VhZ2U7CisgICAgUGFuZ29Mb2dBdHRy
KiBhdHRycyA9IGdfbmV3KFBhbmdvTG9nQXR0ciwgdXRmbGVuKzEpOworCisgICAgbGFuZ3VhZ2Ug
PSBwYW5nb19sYW5ndWFnZV9nZXRfZGVmYXVsdCgpOworICAgIHBhbmdvX2dldF9sb2dfYXR0cnMo
Y3RleHQsIC0xLCAtMSwgbGFuZ3VhZ2UsIGF0dHJzLCB1dGZsZW4rMSk7CisKKyAgICBpbnQgb3Jp
Z19taXNwZWxsaW5nTG9jYXRpb24gPSAqbWlzc3BlbGxpbmdMb2NhdGlvbjsKKyAgICBpbnQgb3Jp
Z19taXNwZWxsaW5nTGVuZ3RoID0gKm1pc3NwZWxsaW5nTGVuZ3RoOworCisgICAgZm9yIChpbnQg
aSA9IDA7IGkgPCBsZW5ndGgrMTsgaSsrKQorICAgIHsKKyAgICAgICAgLyogV2UgZ28gdGhyb3Vn
aCBlYWNoIGNoYXJhY3RlciB1bnRpbCB3ZSBmaW5kIGFuIGlzX3dvcmRfc3RhcnQsCisgICAgICAg
ICAqIHRoZW4gd2UgZ2V0IGludG8gYW4gaW5uZXIgbG9vcCB0byBmaW5kIHRoZSBpc193b3JkX2Vu
ZCBjb3JyZXNwb25kaW5nCisgICAgICAgICAqIHRvIGl0LgorICAgICAgICAgKi8KKyAgICAgICAg
aWYgKGF0dHJzW2ldLmlzX3dvcmRfc3RhcnQpCisgICAgICAgIHsKKyAgICAgICAgICAgIGludCBz
dGFydDsKKyAgICAgICAgICAgIGludCBlbmQ7CisgICAgICAgICAgICBpbnQgd29yZF9sZW5ndGg7
CisgICAgICAgICAgICBHU0xpc3QqIGxhbmdzOworCisgICAgICAgICAgICBlbmQgPSBpOworICAg
ICAgICAgICAgd2hpbGUgKGF0dHJzW2VuZF0uaXNfd29yZF9lbmQgPCAxKQorICAgICAgICAgICAg
ICAgIGVuZCsrOworCisgICAgICAgICAgICBzdGFydCA9IGk7CisgICAgICAgICAgICB3b3JkX2xl
bmd0aCA9IGVuZCAtIHN0YXJ0OworICAgICAgICAgICAgLyogU2V0IHRoZSBpdGVyYXRvciB0byBi
ZSBhdCB0aGUgY3VycmVudCB3b3JkIGVuZCwgc28gd2UgZG9uJ3QKKyAgICAgICAgICAgICAqIGNo
ZWNrIGNoYXJhY3RlcnMgdHdpY2UuCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIGkgPSBl
bmQ7CisKKyAgICAgICAgICAgIGxhbmdzID0gd2Via2l0X3dlYl9zZXR0aW5nc19nZXRfc3BlbGxf
bGFuZ3VhZ2VzKG1fd2ViVmlldyk7CisKKyAgICAgICAgICAgIGZvciAoOyBsYW5nczsgbGFuZ3Mg
PSBsYW5ncy0+bmV4dCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBTcGVsbExhbmd1
YWdlKiBsYW5nOworICAgICAgICAgICAgICAgIGdjaGFyKiB3b3JkOworICAgICAgICAgICAgICAg
IGdjaGFyKiBjc3RhcnQ7CisgICAgICAgICAgICAgICAgZ2ludCBieXRlczsKKyAgICAgICAgICAg
ICAgICBpbnQgcmVzdWx0OworCisgICAgICAgICAgICAgICAgbGFuZyA9IChTcGVsbExhbmd1YWdl
KikgbGFuZ3MtPmRhdGE7CisKKyAgICAgICAgICAgICAgICBjc3RhcnQgPSBnX3V0Zjhfb2Zmc2V0
X3RvX3BvaW50ZXIoY3RleHQsIHN0YXJ0KTsKKyAgICAgICAgICAgICAgICBieXRlcyA9IChnaW50
KSAoZ191dGY4X29mZnNldF90b19wb2ludGVyKGN0ZXh0LCBlbmQpIC0gY3N0YXJ0KTsKKworICAg
ICAgICAgICAgICAgIHdvcmQgPSBnX25ldzAoZ2NoYXIsIGJ5dGVzKzEpOworICAgICAgICAgICAg
ICAgIGdfdXRmOF9zdHJuY3B5KHdvcmQsIGNzdGFydCwgZW5kIC0gc3RhcnQpOworCisgICAgICAg
ICAgICAgICAgcmVzdWx0ID0gZW5jaGFudF9kaWN0X2NoZWNrKGxhbmctPnNwZWxsZXIsIHdvcmQs
IC0xKTsKKyAgICAgICAgICAgICAgICBpZiAocmVzdWx0ID4gMCkKKyAgICAgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgICAgICptaXNzcGVsbGluZ0xvY2F0aW9uID0gc3RhcnQ7CisgICAg
ICAgICAgICAgICAgICAgICptaXNzcGVsbGluZ0xlbmd0aCA9IHdvcmRfbGVuZ3RoOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAocmVzdWx0ID09IDApCisgICAgICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgICAgICAvKiBTdG9wIGNoZWNraW5nLCB0aGlzIHdvcmQg
aXMgb2sgaW4gYXQgbGVhc3Qgb25lIGRpY3QuICovCisgICAgICAgICAgICAgICAgICAgICptaXNz
cGVsbGluZ0xvY2F0aW9uID0gb3JpZ19taXNwZWxsaW5nTG9jYXRpb247CisgICAgICAgICAgICAg
ICAgICAgICptaXNzcGVsbGluZ0xlbmd0aCA9IG9yaWdfbWlzcGVsbGluZ0xlbmd0aDsKKyAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgfQogfQogCiB2b2lkIEVkaXRvckNsaWVudDo6Y2hlY2tHcmFtbWFyT2ZT
dHJpbmcoY29uc3QgVUNoYXIqLCBpbnQsIFZlY3RvcjxHcmFtbWFyRGV0YWlsPiYsIGludCosIGlu
dCopCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0
ay5oIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuaAppbmRleCAx
NDUxNGY1Li5jNTkxYmU1IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Vk
aXRvckNsaWVudEd0ay5oCisrKyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xp
ZW50R3RrLmgKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJFZGl0b3JDbGllbnQuaCIKIAog
I2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8Z2xpYi5oPgogCiB0eXBlZGVmIHN0
cnVjdCBfV2ViS2l0V2ViVmlldyBXZWJLaXRXZWJWaWV3OwogCmRpZmYgLS1naXQgYS9jb25maWd1
cmUuYWMgYi9jb25maWd1cmUuYWMKaW5kZXggNzQwOWQyNi4uNjBlZTc0OSAxMDA2NDQKLS0tIGEv
Y29uZmlndXJlLmFjCisrKyBiL2NvbmZpZ3VyZS5hYwpAQCAtMTkxLDYgKzE5MSw3IEBAIExJQlhT
TFRfUkVRVUlSRURfVkVSU0lPTj0xLjEuNwogU1FMSVRFX1JFUVVJUkVEX1ZFUlNJT049My4wCiBH
U1RSRUFNRVJfUkVRVUlSRURfVkVSU0lPTj0wLjEwCiBHTk9NRV9LRVlSSU5HX1JFUVVJUkVEX1ZF
UlNJT049Mi4yNi4wCitFTkNIQU5UX1JFUVVJUkVEX1ZFUlNJT049MC4yMgogCiAjIEF2YWlsYWJs
ZSBtb2R1bGVzCiAjCkBAIC0yMTgsNiArMjE5LDcgQEAgaWYgdGVzdCAiJHdpdGhfdGFyZ2V0IiA9
ICJkaXJlY3RmYiI7IHRoZW4KIGVsc2UKICAgIFBLR19DSEVDS19NT0RVTEVTKENBSVJPLCBjYWly
byA+PSAkQ0FJUk9fUkVRVUlSRURfVkVSU0lPTikKICAgIFBLR19DSEVDS19NT0RVTEVTKEdUSywg
Z3RrKy0yLjAgPj0gJEdUS19SRVFVSVJFRF9WRVJTSU9OKQorICAgUEtHX0NIRUNLX01PRFVMRVMo
RU5DSEFOVCwgZW5jaGFudCA+PSAkRU5DSEFOVF9SRVFVSVJFRF9WRVJTSU9OKQogCiAgICBpZiB0
ZXN0ICIkd2l0aF90YXJnZXQiID0gIngxMSIgJiYgdGVzdCAiJG9zX3dpbjMyIiA9ICJubyI7IHRo
ZW4KICAgICAgICMgY2hlY2sgZm9yIFhUCkBAIC0yNDQsNiArMjQ2LDggQEAgQUNfU1VCU1QoR1RL
X0NGTEFHUykKIEFDX1NVQlNUKEdUS19MSUJTKQogQUNfU1VCU1QoQ0FJUk9fQ0ZMQUdTKQogQUNf
U1VCU1QoQ0FJUk9fTElCUykKK0FDX1NVQlNUKEVOQ0hBTlRfQ0ZMQUdTKQorQUNfU1VCU1QoRU5D
SEFOVF9MSUJTKQogCiAjIGNoZWNrIHdoZXRoZXIgdG8gYnVpbGQgd2l0aCBkZWJ1Z2dpbmcgZW5h
YmxlZAogQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIHRvIGRvIGEgZGVidWcgYnVpbGRdKQotLSAK
MS42LjAuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29700</attachid>
            <date>2009-04-22 19:28:23 -0700</date>
            <delta_ts>2009-04-23 21:11:57 -0700</delta_ts>
            <desc>0001-Add-enable-spell-checking-property.patch</desc>
            <filename>0001-Add-enable-spell-checking-property.patch</filename>
            <type>text/plain</type>
            <size>4780</size>
            <attacher name="Diego Escalante Urrelo">diegoe</attacher>
            
              <data encoding="base64">RnJvbSAwYTljYjE1ODMxNWE3YmU0OWMxYzk2NGIwODlhYjcwZGEyNGUxMzUyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEaWVnbyBFc2NhbGFudGUgVXJyZWxvIDxkaWVnb2VAZ25vbWUu
b3JnPgpEYXRlOiBTYXQsIDIxIE1hciAyMDA5IDEzOjQ4OjMwIC0wNTAwClN1YmplY3Q6IFtQQVRD
SCAxLzRdIEFkZCBlbmFibGUtc3BlbGwtY2hlY2tpbmcgcHJvcGVydHkKCkFsc28gaW1wbGVtZW50
IEVkaXRvckNsaWVudDo6aXNDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQgYW5kCkVkaXRv
ckNsaWVudDo6dG9nZ2xlQ29udGludW91c1NwZWxsQ2hlY2tpbmcgdG8gYWxsb3cgdGhlIFVJIHRv
IGVuYWJsZSBjaGVjayBhcwp5b3UgdHlwZSBzcGVsbCBjaGVja2luZy4KLS0tCiBXZWJLaXQvZ3Rr
L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHAgfCAgIDE2ICsrKysrKysrKysrKy0t
CiBXZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5jcHAgICAgICAgfCAgIDI3ICsr
KysrKysrKysrKysrKysrKysrKysrKy0KIDIgZmlsZXMgY2hhbmdlZCwgMzkgaW5zZXJ0aW9ucygr
KSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0
L0VkaXRvckNsaWVudEd0ay5jcHAgYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNs
aWVudEd0ay5jcHAKaW5kZXggYzJkMzdhZS4uZTA1N2FiOCAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwCisrKyBiL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNwcApAQCAtMTAyLDggKzEwMiwxMyBAQCBib29s
IEVkaXRvckNsaWVudDo6c2hvdWxkU2hvd0RlbGV0ZUludGVyZmFjZShIVE1MRWxlbWVudCopCiAK
IGJvb2wgRWRpdG9yQ2xpZW50Ojppc0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCgpCiB7
Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgV2ViS2l0V2Vi
U2V0dGluZ3MqIHNldHRpbmdzOworICAgIGdib29sZWFuIGVuYWJsZWQ7CisKKyAgICBzZXR0aW5n
cyA9IHdlYmtpdF93ZWJfdmlld19nZXRfc2V0dGluZ3MobV93ZWJWaWV3KTsKKyAgICBnX29iamVj
dF9nZXQoc2V0dGluZ3MsICJlbmFibGUtc3BlbGwtY2hlY2tpbmciLCAmZW5hYmxlZCwgTlVMTCk7
CisKKyAgICByZXR1cm4gZW5hYmxlZDsKIH0KIAogYm9vbCBFZGl0b3JDbGllbnQ6OmlzR3JhbW1h
ckNoZWNraW5nRW5hYmxlZCgpCkBAIC0zMDUsNyArMzEwLDEyIEBAIGJvb2wgRWRpdG9yQ2xpZW50
Ojppc1NlbGVjdFRyYWlsaW5nV2hpdGVzcGFjZUVuYWJsZWQoKQogCiB2b2lkIEVkaXRvckNsaWVu
dDo6dG9nZ2xlQ29udGludW91c1NwZWxsQ2hlY2tpbmcoKQogewotICAgIG5vdEltcGxlbWVudGVk
KCk7CisgICAgV2ViS2l0V2ViU2V0dGluZ3MqIHNldHRpbmdzOworICAgIGdib29sZWFuIGVuYWJs
ZWQ7CisKKyAgICBzZXR0aW5ncyA9IHdlYmtpdF93ZWJfdmlld19nZXRfc2V0dGluZ3MobV93ZWJW
aWV3KTsKKyAgICBnX29iamVjdF9nZXQoc2V0dGluZ3MsICJlbmFibGUtc3BlbGwtY2hlY2tpbmci
LCAmZW5hYmxlZCwgTlVMTCk7CisgICAgZ19vYmplY3Rfc2V0KHNldHRpbmdzLCAiZW5hYmxlLXNw
ZWxsLWNoZWNraW5nIiwgIWVuYWJsZWQsIE5VTEwpOwogfQogCiB2b2lkIEVkaXRvckNsaWVudDo6
dG9nZ2xlR3JhbW1hckNoZWNraW5nKCkKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dl
YmtpdHdlYnNldHRpbmdzLmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdz
LmNwcAppbmRleCBiOWUwZmEzLi4wNTAyM2Y2IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXR3ZWJzZXR0aW5ncy5jcHAKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vi
c2V0dGluZ3MuY3BwCkBAIC03Niw2ICs3Niw3IEBAIHN0cnVjdCBfV2ViS2l0V2ViU2V0dGluZ3NQ
cml2YXRlIHsKICAgICBnZmxvYXQgem9vbV9zdGVwOwogICAgIGdib29sZWFuIGVuYWJsZV9kZXZl
bG9wZXJfZXh0cmFzOwogICAgIGdib29sZWFuIGVuYWJsZV9wcml2YXRlX2Jyb3dzaW5nOworICAg
IGdib29sZWFuIGVuYWJsZV9zcGVsbF9jaGVja2luZzsKIH07CiAKICNkZWZpbmUgV0VCS0lUX1dF
Ql9TRVRUSU5HU19HRVRfUFJJVkFURShvYmopIChHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUo
KG9iaiksIFdFQktJVF9UWVBFX1dFQl9TRVRUSU5HUywgV2ViS2l0V2ViU2V0dGluZ3NQcml2YXRl
KSkKQEAgLTEwNCw3ICsxMDUsOCBAQCBlbnVtIHsKICAgICBQUk9QX1VTRVJfU1RZTEVTSEVFVF9V
UkksCiAgICAgUFJPUF9aT09NX1NURVAsCiAgICAgUFJPUF9FTkFCTEVfREVWRUxPUEVSX0VYVFJB
UywKLSAgICBQUk9QX0VOQUJMRV9QUklWQVRFX0JST1dTSU5HCisgICAgUFJPUF9FTkFCTEVfUFJJ
VkFURV9CUk9XU0lORywKKyAgICBQUk9QX0VOQUJMRV9TUEVMTF9DSEVDS0lORwogfTsKIAogc3Rh
dGljIHZvaWQgd2Via2l0X3dlYl9zZXR0aW5nc19maW5hbGl6ZShHT2JqZWN0KiBvYmplY3QpOwpA
QCAtMzU5LDYgKzM2MSwyMiBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3NldHRpbmdzX2NsYXNz
X2luaXQoV2ViS2l0V2ViU2V0dGluZ3NDbGFzcyoga2xhc3MpCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBGQUxTRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGZsYWdzKSk7CiAKKyAgICAvKioKKyAgICAqIFdlYktpdFdlYlNldHRpbmdzOmVuYWJsZS1z
cGVsbC1jaGVja2luZzoKKyAgICAqCisgICAgKiBXaGV0aGVyIHRvIGVuYWJsZSBjaGVjay1hcy15
b3UtdHlwZSBzcGVsbCBjaGVja2luZy4KKyAgICAqCisgICAgKiBTaW5jZSAxLjEuNQorICAgICov
CisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnb2JqZWN0X2NsYXNzLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPUF9FTkFCTEVfU1BFTExfQ0hFQ0tJ
TkcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3BhcmFtX3NwZWNfYm9v
bGVhbigKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbmFibGUtc3BlbGwt
Y2hlY2tpbmciLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXygiRW5hYmxl
IFNwZWxsIENoZWNraW5nIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBf
KCJFbmFibGVzIGNoZWNrLWFzLXlvdS10eXBlIHNwZWxsIGNoZWNraW5nIiksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGZsYWdzKSk7CisKICAgICBnX3R5cGVfY2xhc3NfYWRkX3ByaXZhdGUoa2xh
c3MsIHNpemVvZihXZWJLaXRXZWJTZXR0aW5nc1ByaXZhdGUpKTsKIH0KIApAQCAtNDY0LDYgKzQ4
Miw5IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfc2V0dGluZ3Nfc2V0X3Byb3BlcnR5KEdPYmpl
Y3QqIG9iamVjdCwgZ3VpbnQgcHJvcF9pZCwgY29uCiAgICAgY2FzZSBQUk9QX0VOQUJMRV9QUklW
QVRFX0JST1dTSU5HOgogICAgICAgICBwcml2LT5lbmFibGVfcHJpdmF0ZV9icm93c2luZyA9IGdf
dmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFBST1Bf
RU5BQkxFX1NQRUxMX0NIRUNLSU5HOgorICAgICAgICBwcml2LT5lbmFibGVfc3BlbGxfY2hlY2tp
bmcgPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKTsKKyAgICAgICAgYnJlYWs7CiAgICAgZGVm
YXVsdDoKICAgICAgICAgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEKG9iamVjdCwg
cHJvcF9pZCwgcHNwZWMpOwogICAgICAgICBicmVhazsKQEAgLTU0Miw2ICs1NjMsOSBAQCBzdGF0
aWMgdm9pZCB3ZWJraXRfd2ViX3NldHRpbmdzX2dldF9wcm9wZXJ0eShHT2JqZWN0KiBvYmplY3Qs
IGd1aW50IHByb3BfaWQsIEdWYQogICAgIGNhc2UgUFJPUF9FTkFCTEVfUFJJVkFURV9CUk9XU0lO
RzoKICAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+ZW5hYmxlX3ByaXZh
dGVfYnJvd3NpbmcpOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFBST1BfRU5BQkxFX1NQRUxM
X0NIRUNLSU5HOgorICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5lbmFi
bGVfc3BlbGxfY2hlY2tpbmcpOworICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAg
ICBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQob2JqZWN0LCBwcm9wX2lkLCBwc3Bl
Yyk7CiAgICAgICAgIGJyZWFrOwpAQCAtNTk0LDYgKzYxOCw3IEBAIFdlYktpdFdlYlNldHRpbmdz
KiB3ZWJraXRfd2ViX3NldHRpbmdzX2NvcHkoV2ViS2l0V2ViU2V0dGluZ3MqIHdlYl9zZXR0aW5n
cykKICAgICAgICAgICAgICAgICAgInpvb20tc3RlcCIsIHByaXYtPnpvb21fc3RlcCwKICAgICAg
ICAgICAgICAgICAgImVuYWJsZS1kZXZlbG9wZXItZXh0cmFzIiwgcHJpdi0+ZW5hYmxlX2RldmVs
b3Blcl9leHRyYXMsCiAgICAgICAgICAgICAgICAgICJlbmFibGUtcHJpdmF0ZS1icm93c2luZyIs
IHByaXYtPmVuYWJsZV9wcml2YXRlX2Jyb3dzaW5nLAorICAgICAgICAgICAgICAgICAiZW5hYmxl
LXNwZWxsLWNoZWNraW5nIiwgcHJpdi0+ZW5hYmxlX3NwZWxsX2NoZWNraW5nLAogICAgICAgICAg
ICAgICAgICBOVUxMKSk7CiAKICAgICByZXR1cm4gY29weTsKLS0gCjEuNi4yLjMKCg==
</data>
<flag name="review"
          id="14866"
          type_id="1"
          status="-"
          setter="gustavo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29701</attachid>
            <date>2009-04-22 19:28:45 -0700</date>
            <delta_ts>2009-04-23 21:12:18 -0700</delta_ts>
            <desc>0002-Add-spell-checking-languages-property.patch</desc>
            <filename>0002-Add-spell-checking-languages-property.patch</filename>
            <type>text/plain</type>
            <size>8594</size>
            <attacher name="Diego Escalante Urrelo">diegoe</attacher>
            
              <data encoding="base64">RnJvbSA5MmZhZTg2MjZjNWE5MmQ2NWUzNmE2MDk4ZDBlYjRhYjVhOGU0MDJmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEaWVnbyBFc2NhbGFudGUgVXJyZWxvIDxkaWVnb2VAZ25vbWUu
b3JnPgpEYXRlOiBUaHUsIDkgQXByIDIwMDkgMTU6NTU6MTIgLTA1MDAKU3ViamVjdDogW1BBVENI
IDIvNF0gQWRkIHNwZWxsLWNoZWNraW5nLWxhbmd1YWdlcyBwcm9wZXJ0eQoKLS0tCiBHTlVtYWtl
ZmlsZS5hbSAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAyICsKIFdlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdHByaXZhdGUuaCAgICAgICB8ICAgIDkgKysrCiBXZWJLaXQvZ3RrL3dlYmtpdC93
ZWJraXR3ZWJzZXR0aW5ncy5jcHAgfCAgIDg2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr
Ky0KIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDQgKysKIDQg
ZmlsZXMgY2hhbmdlZCwgMTAwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCgpkaWZmIC0t
Z2l0IGEvR05VbWFrZWZpbGUuYW0gYi9HTlVtYWtlZmlsZS5hbQppbmRleCAwOTIyZWYxLi41MDBl
NGJhIDEwMDY0NAotLS0gYS9HTlVtYWtlZmlsZS5hbQorKysgYi9HTlVtYWtlZmlsZS5hbQpAQCAt
MTg4LDYgKzE4OCw3IEBAIGxpYldlYkNvcmVfbGFfQ0ZMQUdTID0gXAogCSQoTElCWFNMVF9DRkxB
R1MpIFwKIAkkKENPVkVSQUdFX0NGTEFHUykgXAogCSQoSElMRE9OX0NGTEFHUykgXAorCSQoRU5D
SEFOVF9DRkxBR1MpIFwKIAkkKEdFT0NMVUVfQ0ZMQUdTKQogCiBsaWJXZWJDb3JlX2xhX0NQUEZM
QUdTID0gXApAQCAtMjU3LDYgKzI1OCw3IEBAIGxpYndlYmtpdF8xXzBfbGFfTERGTEFHUyA9IFwK
IAogbGlid2Via2l0XzFfMF9sYV9MSUJBREQgPSBcCiAJbGliV2ViQ29yZS5sYSBcCisJJChFTkNI
QU5UX0xJQlMpIFwKIAkkKEdOT01FS0VZUklOR19MSUJTKQogCiAjCmRpZmYgLS1naXQgYS9XZWJL
aXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2YXRlLmggYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRw
cml2YXRlLmgKaW5kZXggODIzMGI4Ni4uZThlYThmNiAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay93
ZWJraXQvd2Via2l0cHJpdmF0ZS5oCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZh
dGUuaApAQCAtNDksNiArNDksNyBAQAogI2luY2x1ZGUgIldpbmRvd0ZlYXR1cmVzLmgiCiAKICNp
bmNsdWRlIDxnbGliLmg+CisjaW5jbHVkZSA8ZW5jaGFudC5oPgogCiBjbGFzcyBEb3dubG9hZENs
aWVudDsKIApAQCAtNzAsNiArNzEsMTEgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAgICAgV2ViQ29y
ZTo6TmF2aWdhdGlvblR5cGUgY29yZShXZWJLaXRXZWJOYXZpZ2F0aW9uUmVhc29uIHJlYXNvbik7
CiB9CiAKK3R5cGVkZWYgc3RydWN0IHsKKyAgICBFbmNoYW50QnJva2VyKiBjb25maWc7CisgICAg
RW5jaGFudERpY3QqIHNwZWxsZXI7Cit9IFNwZWxsTGFuZ3VhZ2U7CisKIGV4dGVybiAiQyIgewog
ICAgIHZvaWQgd2Via2l0X2luaXQoKTsKIApAQCAtMTkzLDYgKzE5OSw5IEBAIGV4dGVybiAiQyIg
ewogCiAgICAgV0VCS0lUX0FQSSB2b2lkCiAgICAgd2Via2l0X3dlYl9zZXR0aW5nc19hZGRfZXh0
cmFfcGx1Z2luX2RpcmVjdG9yeSAoV2ViS2l0V2ViVmlldyAqd2ViX3ZpZXcsIGNvbnN0IGdjaGFy
KiBkaXJlY3RvcnkpOworCisgICAgR1NMaXN0KgorICAgIHdlYmtpdF93ZWJfc2V0dGluZ3NfZ2V0
X3NwZWxsX2xhbmd1YWdlcyAoV2ViS2l0V2ViVmlldyAqd2ViX3ZpZXcpOwogfQogCiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcCBiL1dl
YktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcAppbmRleCAwNTAyM2Y2Li4xNTcz
MWExIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5jcHAK
KysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwCkBAIC03Nyw2ICs3
Nyw4IEBAIHN0cnVjdCBfV2ViS2l0V2ViU2V0dGluZ3NQcml2YXRlIHsKICAgICBnYm9vbGVhbiBl
bmFibGVfZGV2ZWxvcGVyX2V4dHJhczsKICAgICBnYm9vbGVhbiBlbmFibGVfcHJpdmF0ZV9icm93
c2luZzsKICAgICBnYm9vbGVhbiBlbmFibGVfc3BlbGxfY2hlY2tpbmc7CisgICAgZ2NoYXIqIHNw
ZWxsX2NoZWNraW5nX2xhbmd1YWdlczsKKyAgICBHU0xpc3QqIHNwZWxsX2NoZWNraW5nX2xhbmd1
YWdlc19saXN0OwogfTsKIAogI2RlZmluZSBXRUJLSVRfV0VCX1NFVFRJTkdTX0dFVF9QUklWQVRF
KG9iaikgKEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURSgob2JqKSwgV0VCS0lUX1RZUEVfV0VC
X1NFVFRJTkdTLCBXZWJLaXRXZWJTZXR0aW5nc1ByaXZhdGUpKQpAQCAtMTA2LDcgKzEwOCw4IEBA
IGVudW0gewogICAgIFBST1BfWk9PTV9TVEVQLAogICAgIFBST1BfRU5BQkxFX0RFVkVMT1BFUl9F
WFRSQVMsCiAgICAgUFJPUF9FTkFCTEVfUFJJVkFURV9CUk9XU0lORywKLSAgICBQUk9QX0VOQUJM
RV9TUEVMTF9DSEVDS0lORworICAgIFBST1BfRU5BQkxFX1NQRUxMX0NIRUNLSU5HLAorICAgIFBS
T1BfU1BFTExfQ0hFQ0tJTkdfTEFOR1VBR0VTCiB9OwogCiBzdGF0aWMgdm9pZCB3ZWJraXRfd2Vi
X3NldHRpbmdzX2ZpbmFsaXplKEdPYmplY3QqIG9iamVjdCk7CkBAIC0zNzcsMTIgKzM4MCwyOSBA
QCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3NldHRpbmdzX2NsYXNzX2luaXQoV2ViS2l0V2ViU2V0
dGluZ3NDbGFzcyoga2xhc3MpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBG
QUxTRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdzKSk7CiAKKyAg
ICAvKioKKyAgICAqIFdlYktpdFdlYlNldHRpbmdzOnNwZWxsLWNoZWNraW5nLWxhbmd1YWdlczoK
KyAgICAqCisgICAgKiBUaGUgbGFuZ3VhZ2VzIHRvIGJlIHVzZWQgZm9yIHNwZWxsIGNoZWNraW5n
LCBzZXBhcmF0ZWQgYnkgY29tbWFzLgorICAgICoKKyAgICAqIFNpbmNlIDEuMS41CisgICAgKi8K
KyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KGdvYmplY3RfY2xhc3MsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX1NQRUxMX0NIRUNLSU5HX0xBTkdV
QUdFUywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19z
dHJpbmcoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BlbGwtY2hlY2tp
bmctbGFuZ3VhZ2VzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8oIkxh
bmd1YWdlcyB0byB1c2UgZm9yIHNwZWxsIGNoZWNraW5nIiksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBfKCJDb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBsYW5ndWFnZXMgdG8g
dXNlIGZvciBzcGVsbCBjaGVja2luZyIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdzKSk7CisK
ICAgICBnX3R5cGVfY2xhc3NfYWRkX3ByaXZhdGUoa2xhc3MsIHNpemVvZihXZWJLaXRXZWJTZXR0
aW5nc1ByaXZhdGUpKTsKIH0KIAogc3RhdGljIHZvaWQgd2Via2l0X3dlYl9zZXR0aW5nc19pbml0
KFdlYktpdFdlYlNldHRpbmdzKiB3ZWJfc2V0dGluZ3MpCiB7CiAgICAgd2ViX3NldHRpbmdzLT5w
cml2ID0gV0VCS0lUX1dFQl9TRVRUSU5HU19HRVRfUFJJVkFURSh3ZWJfc2V0dGluZ3MpOworICAg
IHdlYl9zZXR0aW5ncy0+cHJpdi0+c3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2VzX2xpc3QgPSAwOwog
fQogCiBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3NldHRpbmdzX2ZpbmFsaXplKEdPYmplY3QqIG9i
amVjdCkKQEAgLTM5OCw2ICs0MTgsOSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3NldHRpbmdz
X2ZpbmFsaXplKEdPYmplY3QqIG9iamVjdCkKICAgICBnX2ZyZWUocHJpdi0+c2Fuc19zZXJpZl9m
b250X2ZhbWlseSk7CiAgICAgZ19mcmVlKHByaXYtPnNlcmlmX2ZvbnRfZmFtaWx5KTsKICAgICBn
X2ZyZWUocHJpdi0+dXNlcl9zdHlsZXNoZWV0X3VyaSk7CisgICAgZ19mcmVlKHByaXYtPnNwZWxs
X2NoZWNraW5nX2xhbmd1YWdlcyk7CisKKyAgICBnX3NsaXN0X2ZyZWUocHJpdi0+c3BlbGxfY2hl
Y2tpbmdfbGFuZ3VhZ2VzX2xpc3QpOwogCiAgICAgR19PQkpFQ1RfQ0xBU1Mod2Via2l0X3dlYl9z
ZXR0aW5nc19wYXJlbnRfY2xhc3MpLT5maW5hbGl6ZShvYmplY3QpOwogfQpAQCAtNDg1LDYgKzUw
OCwzOCBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3NldHRpbmdzX3NldF9wcm9wZXJ0eShHT2Jq
ZWN0KiBvYmplY3QsIGd1aW50IHByb3BfaWQsIGNvbgogICAgIGNhc2UgUFJPUF9FTkFCTEVfU1BF
TExfQ0hFQ0tJTkc6CiAgICAgICAgIHByaXYtPmVuYWJsZV9zcGVsbF9jaGVja2luZyA9IGdfdmFs
dWVfZ2V0X2Jvb2xlYW4odmFsdWUpOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFBST1BfU1BF
TExfQ0hFQ0tJTkdfTEFOR1VBR0VTOgorICAgICAgICB7CisgICAgICAgIHByaXYtPnNwZWxsX2No
ZWNraW5nX2xhbmd1YWdlcyA9IGdfc3RyZHVwKGdfdmFsdWVfZ2V0X3N0cmluZyh2YWx1ZSkpOwor
CisgICAgICAgIFNwZWxsTGFuZ3VhZ2UqIGxhbmc7CisgICAgICAgIEdTTGlzdCogc3BlbGxfbGFu
Z3VhZ2VzID0gMDsKKyAgICAgICAgaWYgKHByaXYtPnNwZWxsX2NoZWNraW5nX2xhbmd1YWdlcykK
KyAgICAgICAgeworICAgICAgICAgICAgY2hhciAqKmxhbmdzOworICAgICAgICAgICAgbGFuZ3Mg
PSBnX3N0cnNwbGl0KHByaXYtPnNwZWxsX2NoZWNraW5nX2xhbmd1YWdlcywgIiwiLCAtMSk7Cisg
ICAgICAgICAgICBmb3IgKGludCBpID0gMDsgbGFuZ3NbaV07IGkrKykKKyAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICBsYW5nID0gZ19zbGljZV9uZXcwKFNwZWxsTGFuZ3VhZ2UpOworICAg
ICAgICAgICAgICAgIGxhbmctPmNvbmZpZyA9IGVuY2hhbnRfYnJva2VyX2luaXQoKTsKKyAgICAg
ICAgICAgICAgICBsYW5nLT5zcGVsbGVyID0gZW5jaGFudF9icm9rZXJfcmVxdWVzdF9kaWN0KGxh
bmctPmNvbmZpZywgbGFuZ3NbaV0pOworCisgICAgICAgICAgICAgICAgc3BlbGxfbGFuZ3VhZ2Vz
ID0gZ19zbGlzdF9wcmVwZW5kKHNwZWxsX2xhbmd1YWdlcywgbGFuZyk7CisgICAgICAgICAgICB9
CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBjb25zdCBjaGFyKiBsYW5ndWFnZTsKKyAg
ICAgICAgICAgIGxhbmd1YWdlID0gcGFuZ29fbGFuZ3VhZ2VfdG9fc3RyaW5nKGd0a19nZXRfZGVm
YXVsdF9sYW5ndWFnZSgpKTsKKworICAgICAgICAgICAgbGFuZyA9IGdfc2xpY2VfbmV3MChTcGVs
bExhbmd1YWdlKTsKKyAgICAgICAgICAgIGxhbmctPmNvbmZpZyA9IGVuY2hhbnRfYnJva2VyX2lu
aXQoKTsKKyAgICAgICAgICAgIGxhbmctPnNwZWxsZXIgPSBlbmNoYW50X2Jyb2tlcl9yZXF1ZXN0
X2RpY3QobGFuZy0+Y29uZmlnLCBsYW5ndWFnZSk7CisKKyAgICAgICAgICAgIHNwZWxsX2xhbmd1
YWdlcyA9IGdfc2xpc3RfcHJlcGVuZChzcGVsbF9sYW5ndWFnZXMsIGxhbmcpOworICAgICAgICB9
CisgICAgICAgIGdfc2xpc3RfZnJlZShwcml2LT5zcGVsbF9jaGVja2luZ19sYW5ndWFnZXNfbGlz
dCk7CisgICAgICAgIHByaXYtPnNwZWxsX2NoZWNraW5nX2xhbmd1YWdlc19saXN0ID0gc3BlbGxf
bGFuZ3VhZ2VzOworICAgICAgICB9CisgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAg
ICAgIEdfT0JKRUNUX1dBUk5fSU5WQUxJRF9QUk9QRVJUWV9JRChvYmplY3QsIHByb3BfaWQsIHBz
cGVjKTsKICAgICAgICAgYnJlYWs7CkBAIC01NjYsNiArNjIxLDkgQEAgc3RhdGljIHZvaWQgd2Vi
a2l0X3dlYl9zZXR0aW5nc19nZXRfcHJvcGVydHkoR09iamVjdCogb2JqZWN0LCBndWludCBwcm9w
X2lkLCBHVmEKICAgICBjYXNlIFBST1BfRU5BQkxFX1NQRUxMX0NIRUNLSU5HOgogICAgICAgICBn
X3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5lbmFibGVfc3BlbGxfY2hlY2tpbmcpOwog
ICAgICAgICBicmVhazsKKyAgICBjYXNlIFBST1BfU1BFTExfQ0hFQ0tJTkdfTEFOR1VBR0VTOgor
ICAgICAgICBnX3ZhbHVlX3NldF9zdHJpbmcodmFsdWUsIHByaXYtPnNwZWxsX2NoZWNraW5nX2xh
bmd1YWdlcyk7CisgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEdfT0JKRUNU
X1dBUk5fSU5WQUxJRF9QUk9QRVJUWV9JRChvYmplY3QsIHByb3BfaWQsIHBzcGVjKTsKICAgICAg
ICAgYnJlYWs7CkBAIC02MTksNiArNjc3LDggQEAgV2ViS2l0V2ViU2V0dGluZ3MqIHdlYmtpdF93
ZWJfc2V0dGluZ3NfY29weShXZWJLaXRXZWJTZXR0aW5ncyogd2ViX3NldHRpbmdzKQogICAgICAg
ICAgICAgICAgICAiZW5hYmxlLWRldmVsb3Blci1leHRyYXMiLCBwcml2LT5lbmFibGVfZGV2ZWxv
cGVyX2V4dHJhcywKICAgICAgICAgICAgICAgICAgImVuYWJsZS1wcml2YXRlLWJyb3dzaW5nIiwg
cHJpdi0+ZW5hYmxlX3ByaXZhdGVfYnJvd3NpbmcsCiAgICAgICAgICAgICAgICAgICJlbmFibGUt
c3BlbGwtY2hlY2tpbmciLCBwcml2LT5lbmFibGVfc3BlbGxfY2hlY2tpbmcsCisgICAgICAgICAg
ICAgICAgICJzcGVsbC1jaGVja2luZy1sYW5ndWFnZXMiLCBwcml2LT5zcGVsbF9jaGVja2luZ19s
YW5ndWFnZXMsCisgICAgICAgICAgICAgICAgICJzcGVsbC1jaGVja2luZy1sYW5ndWFnZXMtbGlz
dCIsIHByaXYtPnNwZWxsX2NoZWNraW5nX2xhbmd1YWdlc19saXN0LAogICAgICAgICAgICAgICAg
ICBOVUxMKSk7CiAKICAgICByZXR1cm4gY29weTsKQEAgLTY0MCw0ICs3MDAsMjggQEAgdm9pZCB3
ZWJraXRfd2ViX3NldHRpbmdzX2FkZF9leHRyYV9wbHVnaW5fZGlyZWN0b3J5KFdlYktpdFdlYlZp
ZXcqIHdlYlZpZXcsIGNvbnMKICAgICBQbHVnaW5EYXRhYmFzZTo6aW5zdGFsbGVkUGx1Z2lucygp
LT5hZGRFeHRyYVBsdWdpbkRpcmVjdG9yeShmaWxlbmFtZVRvU3RyaW5nKGRpcmVjdG9yeSkpOwog
fQogCisvKioKKyAqIHdlYmtpdF93ZWJfc2V0dGluZ3NfZ2V0X3NwZWxsX2xhbmd1YWdlczoKKyAq
IEB3ZWJfdmlldzogYSAjV2ViS2l0V2ViVmlldworICoKKyAqIEludGVybmFsIHVzZSBvbmx5LiBS
ZXRyaWV2ZXMgYSBHU0xpc3Qgb2YgU3BlbGxMYW5ndWFnZXMgZnJvbSB0aGUKKyAqICNXZWJLaXRX
ZWJTZXR0aW5ncyBvZiBAd2ViX3ZpZXcuCisgKgorICogU2luY2U6IDEuMS41CisgKi8KK0dTTGlz
dCogd2Via2l0X3dlYl9zZXR0aW5nc19nZXRfc3BlbGxfbGFuZ3VhZ2VzKFdlYktpdFdlYlZpZXcg
KndlYl92aWV3KQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19XRUJfVklF
Vyh3ZWJfdmlldyksIDApOworCisgICAgV2ViS2l0V2ViU2V0dGluZ3MqIHNldHRpbmdzOworICAg
IFdlYktpdFdlYlNldHRpbmdzUHJpdmF0ZSogcHJpdjsKKyAgICBHU0xpc3QgKmxpc3Q7CisKKyAg
ICBzZXR0aW5ncyA9IHdlYmtpdF93ZWJfdmlld19nZXRfc2V0dGluZ3Mod2ViX3ZpZXcpOworICAg
IHByaXYgPSBXRUJLSVRfV0VCX1NFVFRJTkdTX0dFVF9QUklWQVRFIChzZXR0aW5ncyk7CisKKyAg
ICBsaXN0ID0gcHJpdi0+c3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2VzX2xpc3Q7CisgICAgcmV0dXJu
IGxpc3Q7Cit9CisKIH0KZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwpp
bmRleCBjOTY2N2RkLi40YjI1ZjZiIDEwMDY0NAotLS0gYS9jb25maWd1cmUuYWMKKysrIGIvY29u
ZmlndXJlLmFjCkBAIC0xOTEsNiArMTkxLDcgQEAgTElCWFNMVF9SRVFVSVJFRF9WRVJTSU9OPTEu
MS43CiBTUUxJVEVfUkVRVUlSRURfVkVSU0lPTj0zLjAKIEdTVFJFQU1FUl9SRVFVSVJFRF9WRVJT
SU9OPTAuMTAKIEdOT01FX0tFWVJJTkdfUkVRVUlSRURfVkVSU0lPTj0yLjI2LjAKK0VOQ0hBTlRf
UkVRVUlSRURfVkVSU0lPTj0wLjIyCiAKICMgQXZhaWxhYmxlIG1vZHVsZXMKICMKQEAgLTIyMyw2
ICsyMjQsNyBAQCBpZiB0ZXN0ICIkd2l0aF90YXJnZXQiID0gImRpcmVjdGZiIjsgdGhlbgogZWxz
ZQogICAgUEtHX0NIRUNLX01PRFVMRVMoQ0FJUk8sIGNhaXJvID49ICRDQUlST19SRVFVSVJFRF9W
RVJTSU9OKQogICAgUEtHX0NIRUNLX01PRFVMRVMoR1RLLCBndGsrLTIuMCA+PSAkR1RLX1JFUVVJ
UkVEX1ZFUlNJT04pCisgICBQS0dfQ0hFQ0tfTU9EVUxFUyhFTkNIQU5ULCBlbmNoYW50ID49ICRF
TkNIQU5UX1JFUVVJUkVEX1ZFUlNJT04pCiAKICAgIGlmIHRlc3QgIiR3aXRoX3RhcmdldCIgPSAi
eDExIiAmJiB0ZXN0ICIkb3Nfd2luMzIiID0gIm5vIjsgdGhlbgogICAgICAgIyBjaGVjayBmb3Ig
WFQKQEAgLTI0OSw2ICsyNTEsOCBAQCBBQ19TVUJTVChHVEtfQ0ZMQUdTKQogQUNfU1VCU1QoR1RL
X0xJQlMpCiBBQ19TVUJTVChDQUlST19DRkxBR1MpCiBBQ19TVUJTVChDQUlST19MSUJTKQorQUNf
U1VCU1QoRU5DSEFOVF9DRkxBR1MpCitBQ19TVUJTVChFTkNIQU5UX0xJQlMpCiAKICMgY2hlY2sg
d2hldGhlciB0byBidWlsZCB3aXRoIGRlYnVnZ2luZyBlbmFibGVkCiBBQ19NU0dfQ0hFQ0tJTkco
W3doZXRoZXIgdG8gZG8gYSBkZWJ1ZyBidWlsZF0pCi0tIAoxLjYuMi4zCgo=
</data>
<flag name="review"
          id="14867"
          type_id="1"
          status="-"
          setter="gustavo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29702</attachid>
            <date>2009-04-22 19:29:00 -0700</date>
            <delta_ts>2009-04-23 21:12:47 -0700</delta_ts>
            <desc>0003-Implement-checkSpellingOfString.patch</desc>
            <filename>0003-Implement-checkSpellingOfString.patch</filename>
            <type>text/plain</type>
            <size>4424</size>
            <attacher name="Diego Escalante Urrelo">diegoe</attacher>
            
              <data encoding="base64">RnJvbSAwNTcyYTU2ZjZhNmYwNTFjNWIxM2VmZjlmZjc2YmM5MmFkYjM5MmQyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEaWVnbyBFc2NhbGFudGUgVXJyZWxvIDxkaWVnb2VAZ25vbWUu
b3JnPgpEYXRlOiBGcmksIDIwIE1hciAyMDA5IDIwOjAyOjEwIC0wNTAwClN1YmplY3Q6IFtQQVRD
SCAzLzRdIEltcGxlbWVudCBjaGVja1NwZWxsaW5nT2ZTdHJpbmcKClRoaXMgaXMgdGhlIGJhc2Ug
b2YgYWxsIHNwZWxsIGNoZWNraW5nLiB1dGY4IGZyaWVuZGx5LgotLS0KIFdlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNwcCB8ICAgODEgKysrKysrKysrKysrKysrKysr
KysrKysrLQogV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuaCAgIHwg
ICAgMSArCiAyIGZpbGVzIGNoYW5nZWQsIDc5IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0p
CgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsu
Y3BwIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwCmluZGV4
IGUwNTdhYjguLjAyMTM5MzQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
RWRpdG9yQ2xpZW50R3RrLmNwcAorKysgYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRv
ckNsaWVudEd0ay5jcHAKQEAgLTEsNiArMSw4IEBACisvKiB2aW06IHNldCBzdz00IHRzPTQgc3Rz
PTQgZXQ6ICovCiAvKgogICogIENvcHlyaWdodCAoQykgMjAwNyBBbHAgVG9rZXIgPGFscEBhdG9r
ZXIuY29tPgogICogIENvcHlyaWdodCAoQykgMjAwOCBOdWFudGkgTHRkLgorICogIENvcHlyaWdo
dCAoQykgMjAwOSBEaWVnbyBFc2NhbGFudGUgVXJyZWxvIDxkaWVnb2VAZ25vbWUub3JnPgogICoK
ICAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCiAgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3Nl
ciBHZW5lcmFsIFB1YmxpYwpAQCAtMjMsNiArMjUsNyBAQAogI2luY2x1ZGUgIkNTdHJpbmcuaCIK
ICNpbmNsdWRlICJFZGl0Q29tbWFuZC5oIgogI2luY2x1ZGUgIkVkaXRvci5oIgorI2luY2x1ZGUg
PGVuY2hhbnQuaD4KICNpbmNsdWRlICJGb2N1c0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJGcmFt
ZS5oIgogI2luY2x1ZGUgIktleWJvYXJkQ29kZXMuaCIKQEAgLTUyNSw5ICs1MjgsODEgQEAgdm9p
ZCBFZGl0b3JDbGllbnQ6OmxlYXJuV29yZChjb25zdCBTdHJpbmcmKQogICAgIG5vdEltcGxlbWVu
dGVkKCk7CiB9CiAKLXZvaWQgRWRpdG9yQ2xpZW50OjpjaGVja1NwZWxsaW5nT2ZTdHJpbmcoY29u
c3QgVUNoYXIqLCBpbnQsIGludCosIGludCopCi17Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKK3Zv
aWQgRWRpdG9yQ2xpZW50OjpjaGVja1NwZWxsaW5nT2ZTdHJpbmcoY29uc3QgVUNoYXIqIHRleHQs
IGludCBsZW5ndGgsIGludCogbWlzc3BlbGxpbmdMb2NhdGlvbiwgaW50KiBtaXNzcGVsbGluZ0xl
bmd0aCkKK3sKKyAgICBnY2hhciogY3RleHQ7CisgICAgaW50IHV0ZmxlbjsKKworICAgIGN0ZXh0
ID0gZ191dGYxNl90b191dGY4KGNvbnN0X2Nhc3Q8Z3VuaWNoYXIyKj4odGV4dCksIGxlbmd0aCwg
MCwgMCwgMCk7CisgICAgdXRmbGVuID0gZ191dGY4X3N0cmxlbihjdGV4dCwgLTEpOworCisgICAg
UGFuZ29MYW5ndWFnZSogbGFuZ3VhZ2U7CisgICAgUGFuZ29Mb2dBdHRyKiBhdHRycyA9IGdfbmV3
KFBhbmdvTG9nQXR0ciwgdXRmbGVuKzEpOworCisgICAgbGFuZ3VhZ2UgPSBwYW5nb19sYW5ndWFn
ZV9nZXRfZGVmYXVsdCgpOworICAgIHBhbmdvX2dldF9sb2dfYXR0cnMoY3RleHQsIC0xLCAtMSwg
bGFuZ3VhZ2UsIGF0dHJzLCB1dGZsZW4rMSk7CisKKyAgICBpbnQgb3JpZ19taXNwZWxsaW5nTG9j
YXRpb24gPSAqbWlzc3BlbGxpbmdMb2NhdGlvbjsKKyAgICBpbnQgb3JpZ19taXNwZWxsaW5nTGVu
Z3RoID0gKm1pc3NwZWxsaW5nTGVuZ3RoOworCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBsZW5n
dGgrMTsgaSsrKQorICAgIHsKKyAgICAgICAgLyogV2UgZ28gdGhyb3VnaCBlYWNoIGNoYXJhY3Rl
ciB1bnRpbCB3ZSBmaW5kIGFuIGlzX3dvcmRfc3RhcnQsCisgICAgICAgICAqIHRoZW4gd2UgZ2V0
IGludG8gYW4gaW5uZXIgbG9vcCB0byBmaW5kIHRoZSBpc193b3JkX2VuZCBjb3JyZXNwb25kaW5n
CisgICAgICAgICAqIHRvIGl0LgorICAgICAgICAgKi8KKyAgICAgICAgaWYgKGF0dHJzW2ldLmlz
X3dvcmRfc3RhcnQpCisgICAgICAgIHsKKyAgICAgICAgICAgIGludCBzdGFydDsKKyAgICAgICAg
ICAgIGludCBlbmQ7CisgICAgICAgICAgICBpbnQgd29yZF9sZW5ndGg7CisgICAgICAgICAgICBH
U0xpc3QqIGxhbmdzOworCisgICAgICAgICAgICBlbmQgPSBpOworICAgICAgICAgICAgd2hpbGUg
KGF0dHJzW2VuZF0uaXNfd29yZF9lbmQgPCAxKQorICAgICAgICAgICAgICAgIGVuZCsrOworCisg
ICAgICAgICAgICBzdGFydCA9IGk7CisgICAgICAgICAgICB3b3JkX2xlbmd0aCA9IGVuZCAtIHN0
YXJ0OworICAgICAgICAgICAgLyogU2V0IHRoZSBpdGVyYXRvciB0byBiZSBhdCB0aGUgY3VycmVu
dCB3b3JkIGVuZCwgc28gd2UgZG9uJ3QKKyAgICAgICAgICAgICAqIGNoZWNrIGNoYXJhY3RlcnMg
dHdpY2UuCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIGkgPSBlbmQ7CisKKyAgICAgICAg
ICAgIGxhbmdzID0gd2Via2l0X3dlYl9zZXR0aW5nc19nZXRfc3BlbGxfbGFuZ3VhZ2VzKG1fd2Vi
Vmlldyk7CisKKyAgICAgICAgICAgIGZvciAoOyBsYW5nczsgbGFuZ3MgPSBsYW5ncy0+bmV4dCkK
KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBTcGVsbExhbmd1YWdlKiBsYW5nOworICAg
ICAgICAgICAgICAgIGdjaGFyKiB3b3JkOworICAgICAgICAgICAgICAgIGdjaGFyKiBjc3RhcnQ7
CisgICAgICAgICAgICAgICAgZ2ludCBieXRlczsKKyAgICAgICAgICAgICAgICBpbnQgcmVzdWx0
OworCisgICAgICAgICAgICAgICAgbGFuZyA9IChTcGVsbExhbmd1YWdlKikgbGFuZ3MtPmRhdGE7
CisKKyAgICAgICAgICAgICAgICBjc3RhcnQgPSBnX3V0Zjhfb2Zmc2V0X3RvX3BvaW50ZXIoY3Rl
eHQsIHN0YXJ0KTsKKyAgICAgICAgICAgICAgICBieXRlcyA9IChnaW50KSAoZ191dGY4X29mZnNl
dF90b19wb2ludGVyKGN0ZXh0LCBlbmQpIC0gY3N0YXJ0KTsKKworICAgICAgICAgICAgICAgIHdv
cmQgPSBnX25ldzAoZ2NoYXIsIGJ5dGVzKzEpOworICAgICAgICAgICAgICAgIGdfdXRmOF9zdHJu
Y3B5KHdvcmQsIGNzdGFydCwgZW5kIC0gc3RhcnQpOworCisgICAgICAgICAgICAgICAgcmVzdWx0
ID0gZW5jaGFudF9kaWN0X2NoZWNrKGxhbmctPnNwZWxsZXIsIHdvcmQsIC0xKTsKKyAgICAgICAg
ICAgICAgICBpZiAocmVzdWx0ID4gMCkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgICAgICptaXNzcGVsbGluZ0xvY2F0aW9uID0gc3RhcnQ7CisgICAgICAgICAgICAgICAgICAg
ICptaXNzcGVsbGluZ0xlbmd0aCA9IHdvcmRfbGVuZ3RoOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICBpZiAocmVzdWx0ID09IDApCisgICAgICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgICAgICAvKiBTdG9wIGNoZWNraW5nLCB0aGlzIHdvcmQgaXMgb2sgaW4gYXQgbGVh
c3Qgb25lIGRpY3QuICovCisgICAgICAgICAgICAgICAgICAgICptaXNzcGVsbGluZ0xvY2F0aW9u
ID0gb3JpZ19taXNwZWxsaW5nTG9jYXRpb247CisgICAgICAgICAgICAgICAgICAgICptaXNzcGVs
bGluZ0xlbmd0aCA9IG9yaWdfbWlzcGVsbGluZ0xlbmd0aDsKKyAgICAgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAg
fQogfQogCiB2b2lkIEVkaXRvckNsaWVudDo6Y2hlY2tHcmFtbWFyT2ZTdHJpbmcoY29uc3QgVUNo
YXIqLCBpbnQsIFZlY3RvcjxHcmFtbWFyRGV0YWlsPiYsIGludCosIGludCopCmRpZmYgLS1naXQg
YS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5oIGIvV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuaAppbmRleCAxNDUxNGY1Li5jNTkxYmU1
IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5o
CisrKyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmgKQEAgLTMz
LDYgKzMzLDcgQEAKICNpbmNsdWRlICJFZGl0b3JDbGllbnQuaCIKIAogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+CisjaW5jbHVkZSA8Z2xpYi5oPgogCiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0V2Vi
VmlldyBXZWJLaXRXZWJWaWV3OwogCi0tIAoxLjYuMi4zCgo=
</data>
<flag name="review"
          id="14868"
          type_id="1"
          status="-"
          setter="gustavo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29703</attachid>
            <date>2009-04-22 19:29:14 -0700</date>
            <delta_ts>2009-04-23 21:23:14 -0700</delta_ts>
            <desc>0004-Implement-ignore-learn-and-guesses.patch</desc>
            <filename>0004-Implement-ignore-learn-and-guesses.patch</filename>
            <type>text/plain</type>
            <size>2783</size>
            <attacher name="Diego Escalante Urrelo">diegoe</attacher>
            
              <data encoding="base64">RnJvbSBmM2Y4NzlmMDA2ZGM1ODE5Njk5ZmQ2ZDQ5MDNjYWRjYTQzNWFhZDkyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEaWVnbyBFc2NhbGFudGUgVXJyZWxvIDxkaWVnb2VAZ25vbWUu
b3JnPgpEYXRlOiBGcmksIDEwIEFwciAyMDA5IDAxOjMwOjIxIC0wNTAwClN1YmplY3Q6IFtQQVRD
SCA0LzRdIEltcGxlbWVudCBpZ25vcmUsIGxlYXJuIGFuZCBndWVzc2VzCgppZ25vcmVXb3JkSW5T
cGVsbERvY3VtZW50OyBsZWFybldvcmQ7IGdldEd1ZXNzZXNGb3JXb3JkLgotLS0KIFdlYktpdC9n
dGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNwcCB8ICAgNTIgKysrKysrKysrKysr
KysrKysrKysrKy0tLQogMSBmaWxlcyBjaGFuZ2VkLCA0NiBpbnNlcnRpb25zKCspLCA2IGRlbGV0
aW9ucygtKQoKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xp
ZW50R3RrLmNwcCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNw
cAppbmRleCAwMjEzOTM0Li43M2RlYThkIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL1dlYkNvcmVT
dXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHAKKysrIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9y
dC9FZGl0b3JDbGllbnRHdGsuY3BwCkBAIC01MTgsMTQgKzUxOCwzMiBAQCB2b2lkIEVkaXRvckNs
aWVudDo6dGV4dERpZENoYW5nZUluVGV4dEFyZWEoRWxlbWVudCopCiAgICAgbm90SW1wbGVtZW50
ZWQoKTsKIH0KIAotdm9pZCBFZGl0b3JDbGllbnQ6Omlnbm9yZVdvcmRJblNwZWxsRG9jdW1lbnQo
Y29uc3QgU3RyaW5nJikKK3ZvaWQgRWRpdG9yQ2xpZW50OjppZ25vcmVXb3JkSW5TcGVsbERvY3Vt
ZW50KGNvbnN0IFN0cmluZyYgdGV4dCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIEdT
TGlzdCogbGFuZ3M7CisgICAgbGFuZ3MgPSB3ZWJraXRfd2ViX3NldHRpbmdzX2dldF9zcGVsbF9s
YW5ndWFnZXMobV93ZWJWaWV3KTsKKworICAgIGZvciAoOyBsYW5nczsgbGFuZ3MgPSBsYW5ncy0+
bmV4dCkKKyAgICB7CisgICAgICAgIFNwZWxsTGFuZ3VhZ2UqIGxhbmc7CisKKyAgICAgICAgbGFu
ZyA9IChTcGVsbExhbmd1YWdlKikgbGFuZ3MtPmRhdGE7CisgICAgICAgIGVuY2hhbnRfZGljdF9h
ZGRfdG9fc2Vzc2lvbihsYW5nLT5zcGVsbGVyLCB0ZXh0LnV0ZjgoKS5kYXRhKCksIC0xKTsKKyAg
ICB9CiB9CiAKLXZvaWQgRWRpdG9yQ2xpZW50OjpsZWFybldvcmQoY29uc3QgU3RyaW5nJikKK3Zv
aWQgRWRpdG9yQ2xpZW50OjpsZWFybldvcmQoY29uc3QgU3RyaW5nJiB0ZXh0KQogewotICAgIG5v
dEltcGxlbWVudGVkKCk7CisgICAgR1NMaXN0KiBsYW5nczsKKyAgICBsYW5ncyA9IHdlYmtpdF93
ZWJfc2V0dGluZ3NfZ2V0X3NwZWxsX2xhbmd1YWdlcyhtX3dlYlZpZXcpOworCisgICAgZm9yICg7
IGxhbmdzOyBsYW5ncyA9IGxhbmdzLT5uZXh0KQorICAgIHsKKyAgICAgICAgU3BlbGxMYW5ndWFn
ZSogbGFuZzsKKworICAgICAgICBsYW5nID0gKFNwZWxsTGFuZ3VhZ2UqKSBsYW5ncy0+ZGF0YTsK
KyAgICAgICAgZW5jaGFudF9kaWN0X2FkZF90b19wZXJzb25hbChsYW5nLT5zcGVsbGVyLCB0ZXh0
LnV0ZjgoKS5kYXRhKCksIC0xKTsKKyAgICB9CiB9CiAKIHZvaWQgRWRpdG9yQ2xpZW50OjpjaGVj
a1NwZWxsaW5nT2ZTdHJpbmcoY29uc3QgVUNoYXIqIHRleHQsIGludCBsZW5ndGgsIGludCogbWlz
c3BlbGxpbmdMb2NhdGlvbiwgaW50KiBtaXNzcGVsbGluZ0xlbmd0aCkKQEAgLTYzMSw5ICs2NDks
MzEgQEAgYm9vbCBFZGl0b3JDbGllbnQ6OnNwZWxsaW5nVUlJc1Nob3dpbmcoKQogICAgIHJldHVy
biBmYWxzZTsKIH0KIAotdm9pZCBFZGl0b3JDbGllbnQ6OmdldEd1ZXNzZXNGb3JXb3JkKGNvbnN0
IFN0cmluZyYsIFZlY3RvcjxTdHJpbmc+JikKK3ZvaWQgRWRpdG9yQ2xpZW50OjpnZXRHdWVzc2Vz
Rm9yV29yZChjb25zdCBTdHJpbmcmIHdvcmQsIFdURjo6VmVjdG9yPFN0cmluZz4mIGd1ZXNzZXMp
CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBHU0xpc3QqIGxhbmdzOworCisgICAgbGFu
Z3MgPSB3ZWJraXRfd2ViX3NldHRpbmdzX2dldF9zcGVsbF9sYW5ndWFnZXMobV93ZWJWaWV3KTsK
KyAgICBndWVzc2VzLmNsZWFyKCk7CisgICAgZm9yICg7IGxhbmdzOyBsYW5ncyA9IGxhbmdzLT5u
ZXh0KQorICAgIHsKKyAgICAgICAgU3BlbGxMYW5ndWFnZSogbGFuZzsKKyAgICAgICAgZ2NoYXIq
KiBzdWdnZXN0aW9uczsKKyAgICAgICAgc2l6ZV90IG5fc3VnZ2VzdGlvbnM7CisgICAgICAgIHNp
emVfdCBpOworCisgICAgICAgIGxhbmcgPSAoU3BlbGxMYW5ndWFnZSopIGxhbmdzLT5kYXRhOwor
ICAgICAgICBzdWdnZXN0aW9ucyA9IGVuY2hhbnRfZGljdF9zdWdnZXN0KGxhbmctPnNwZWxsZXIs
IHdvcmQudXRmOCgpLmRhdGEoKSwgLTEsICZuX3N1Z2dlc3Rpb25zKTsKKyAgICAgICAgaWYgKG5f
c3VnZ2VzdGlvbnMgPiAwKQorICAgICAgICB7CisgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwg
bl9zdWdnZXN0aW9ucyAmJiBpIDwgMTA7IGkrKykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICBTdHJpbmcgc3RyaW5nID0gU3RyaW5nOjpmcm9tVVRGOChzdWdnZXN0aW9uc1tpXSk7Cisg
ICAgICAgICAgICAgICAgZ3Vlc3Nlcy5hcHBlbmQoc3RyaW5nKTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfQorICAgICAgICBlbmNoYW50X2RpY3RfZnJlZV9zdWdnZXN0aW9ucyhsYW5nLT5zcGVs
bGVyLCBzdWdnZXN0aW9ucyk7CisgICAgfQogfQogCiB9Ci0tIAoxLjYuMi4zCgo=
</data>
<flag name="review"
          id="14869"
          type_id="1"
          status="-"
          setter="gustavo"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29726</attachid>
            <date>2009-04-23 21:11:57 -0700</date>
            <delta_ts>2009-04-24 05:15:51 -0700</delta_ts>
            <desc>0001-Add-enable-spell-checking-property.patch</desc>
            <filename>0001-2009-04-23-Diego-Escalante-Urrelo-diegoe-gnome.or.patch</filename>
            <type>text/plain</type>
            <size>6819</size>
            <attacher name="Diego Escalante Urrelo">diegoe</attacher>
            
              <data encoding="base64">RnJvbSA0YmNlOTM3YzlmOWYyZWY2YzU2NjAwNTdhYzZjNjI4MmQyN2I4ZjEwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEaWVnbyBFc2NhbGFudGUgVXJyZWxvIDxkaWVnb2VAZ25vbWUu
b3JnPgpEYXRlOiBTYXQsIDIxIE1hciAyMDA5IDEzOjQ4OjMwIC0wNTAwClN1YmplY3Q6IFtQQVRD
SCAxLzRdIDIwMDktMDQtMjMgIERpZWdvIEVzY2FsYW50ZSBVcnJlbG8gIDxkaWVnb2VAZ25vbWUu
b3JnPgoKICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NjE2CiAgICAgICAgW0dUS10gQWRk
IHNwZWxsIGNoZWNraW5nCgogICAgICAgIEFkZCBlbmFibGUtc3BlbGwtY2hlY2tpbmcgcHJvcGVy
dHkgdG8gV2ViS2l0V2ViU2V0dGluZ3MgYW5kIGltcGxlbWVudAogICAgICAgIEVkaXRvckNsaWVu
dDo6aXNDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQgYW5kCiAgICAgICAgRWRpdG9yQ2xp
ZW50Ojp0b2dnbGVDb250aW51b3VzU3BlbGxDaGVja2luZyB0byBhbGxvdyB0aGUgVUkgdG8KICAg
ICAgICBlbmFibGUgY2hlY2sgYXMgeW91IHR5cGUgc3BlbGwgY2hlY2tpbmcuCgogICAgICAgICog
V2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNwcDoKICAgICAgICAoV2ViS2l0OjpFZGl0
b3JDbGllbnQ6OmlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKToKICAgICAgICAoV2Vi
S2l0OjpFZGl0b3JDbGllbnQ6OnRvZ2dsZUNvbnRpbnVvdXNTcGVsbENoZWNraW5nKToKICAgICAg
ICAqIHdlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5jcHA6CiAgICAgICAgKF9XZWJLaXRXZWJTZXR0
aW5nc1ByaXZhdGU6Oik6CiAgICAgICAgKF9XZWJLaXRXZWJTZXR0aW5nc1ByaXZhdGU6OndlYmtp
dF93ZWJfc2V0dGluZ3NfY2xhc3NfaW5pdCk6CiAgICAgICAgKF9XZWJLaXRXZWJTZXR0aW5nc1By
aXZhdGU6OndlYmtpdF93ZWJfc2V0dGluZ3Nfc2V0X3Byb3BlcnR5KToKICAgICAgICAoX1dlYktp
dFdlYlNldHRpbmdzUHJpdmF0ZTo6d2Via2l0X3dlYl9zZXR0aW5nc19nZXRfcHJvcGVydHkpOgog
ICAgICAgIChfV2ViS2l0V2ViU2V0dGluZ3NQcml2YXRlOjp3ZWJraXRfd2ViX3NldHRpbmdzX2Nv
cHkpOgotLS0KIFdlYktpdC9ndGsvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICB8
ICAgMjIgKysrKysrKysrKysrKysrKysrKysKIFdlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRp
dG9yQ2xpZW50R3RrLmNwcCB8ICAgMTUgKysrKysrKysrKystLQogV2ViS2l0L2d0ay93ZWJraXQv
d2Via2l0d2Vic2V0dGluZ3MuY3BwICAgICAgIHwgICAyNyArKysrKysrKysrKysrKysrKysrKysr
KystCiAzIGZpbGVzIGNoYW5nZWQsIDYwIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpk
aWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpp
bmRleCAxYjlkOGRjLi4wYzdiZTM3IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwor
KysgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDA5LTA0LTIzICBE
aWVnbyBFc2NhbGFudGUgVXJyZWxvICA8ZGllZ29lQGdub21lLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTU2MTYKKyAgICAgICAgW0dUS10gQWRkIHNwZWxsIGNoZWNraW5n
CisKKyAgICAgICAgQWRkIGVuYWJsZS1zcGVsbC1jaGVja2luZyBwcm9wZXJ0eSB0byBXZWJLaXRX
ZWJTZXR0aW5ncyBhbmQgaW1wbGVtZW50CisgICAgICAgIEVkaXRvckNsaWVudDo6aXNDb250aW51
b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQgYW5kCisgICAgICAgIEVkaXRvckNsaWVudDo6dG9nZ2xl
Q29udGludW91c1NwZWxsQ2hlY2tpbmcgdG8gYWxsb3cgdGhlIFVJIHRvCisgICAgICAgIGVuYWJs
ZSBjaGVjayBhcyB5b3UgdHlwZSBzcGVsbCBjaGVja2luZy4KKworICAgICAgICAqIFdlYkNvcmVT
dXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OkVkaXRvckNsaWVu
dDo6aXNDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQpOgorICAgICAgICAoV2ViS2l0OjpF
ZGl0b3JDbGllbnQ6OnRvZ2dsZUNvbnRpbnVvdXNTcGVsbENoZWNraW5nKToKKyAgICAgICAgKiB3
ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwOgorICAgICAgICAoX1dlYktpdFdlYlNldHRpbmdz
UHJpdmF0ZTo6KToKKyAgICAgICAgKF9XZWJLaXRXZWJTZXR0aW5nc1ByaXZhdGU6OndlYmtpdF93
ZWJfc2V0dGluZ3NfY2xhc3NfaW5pdCk6CisgICAgICAgIChfV2ViS2l0V2ViU2V0dGluZ3NQcml2
YXRlOjp3ZWJraXRfd2ViX3NldHRpbmdzX3NldF9wcm9wZXJ0eSk6CisgICAgICAgIChfV2ViS2l0
V2ViU2V0dGluZ3NQcml2YXRlOjp3ZWJraXRfd2ViX3NldHRpbmdzX2dldF9wcm9wZXJ0eSk6Cisg
ICAgICAgIChfV2ViS2l0V2ViU2V0dGluZ3NQcml2YXRlOjp3ZWJraXRfd2ViX3NldHRpbmdzX2Nv
cHkpOgorCiAyMDA5LTA0LTIxICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBHdXN0YXZvIE5vcm9uaGEuCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3Rr
L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHAgYi9XZWJLaXQvZ3RrL1dlYkNvcmVT
dXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHAKaW5kZXggYzJkMzdhZS4uOTA3MjAzMiAxMDA2NDQK
LS0tIGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwCisrKyBi
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNwcApAQCAtMTAyLDgg
KzEwMiwxMiBAQCBib29sIEVkaXRvckNsaWVudDo6c2hvdWxkU2hvd0RlbGV0ZUludGVyZmFjZShI
VE1MRWxlbWVudCopCiAKIGJvb2wgRWRpdG9yQ2xpZW50Ojppc0NvbnRpbnVvdXNTcGVsbENoZWNr
aW5nRW5hYmxlZCgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gZmFsc2U7
CisgICAgV2ViS2l0V2ViU2V0dGluZ3MqIHNldHRpbmdzID0gd2Via2l0X3dlYl92aWV3X2dldF9z
ZXR0aW5ncyhtX3dlYlZpZXcpOworCisgICAgZ2Jvb2xlYW4gZW5hYmxlZDsKKyAgICBnX29iamVj
dF9nZXQoc2V0dGluZ3MsICJlbmFibGUtc3BlbGwtY2hlY2tpbmciLCAmZW5hYmxlZCwgTlVMTCk7
CisKKyAgICByZXR1cm4gZW5hYmxlZDsKIH0KIAogYm9vbCBFZGl0b3JDbGllbnQ6OmlzR3JhbW1h
ckNoZWNraW5nRW5hYmxlZCgpCkBAIC0zMDUsNyArMzA5LDEyIEBAIGJvb2wgRWRpdG9yQ2xpZW50
Ojppc1NlbGVjdFRyYWlsaW5nV2hpdGVzcGFjZUVuYWJsZWQoKQogCiB2b2lkIEVkaXRvckNsaWVu
dDo6dG9nZ2xlQ29udGludW91c1NwZWxsQ2hlY2tpbmcoKQogewotICAgIG5vdEltcGxlbWVudGVk
KCk7CisgICAgV2ViS2l0V2ViU2V0dGluZ3MqIHNldHRpbmdzID0gd2Via2l0X3dlYl92aWV3X2dl
dF9zZXR0aW5ncyhtX3dlYlZpZXcpOworCisgICAgZ2Jvb2xlYW4gZW5hYmxlZDsKKyAgICBnX29i
amVjdF9nZXQoc2V0dGluZ3MsICJlbmFibGUtc3BlbGwtY2hlY2tpbmciLCAmZW5hYmxlZCwgTlVM
TCk7CisKKyAgICBnX29iamVjdF9zZXQoc2V0dGluZ3MsICJlbmFibGUtc3BlbGwtY2hlY2tpbmci
LCAhZW5hYmxlZCwgTlVMTCk7CiB9CiAKIHZvaWQgRWRpdG9yQ2xpZW50Ojp0b2dnbGVHcmFtbWFy
Q2hlY2tpbmcoKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGlu
Z3MuY3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwCmluZGV4IGI5
ZTBmYTMuLjAxMjY3MjIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNl
dHRpbmdzLmNwcAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5jcHAK
QEAgLTc2LDYgKzc2LDcgQEAgc3RydWN0IF9XZWJLaXRXZWJTZXR0aW5nc1ByaXZhdGUgewogICAg
IGdmbG9hdCB6b29tX3N0ZXA7CiAgICAgZ2Jvb2xlYW4gZW5hYmxlX2RldmVsb3Blcl9leHRyYXM7
CiAgICAgZ2Jvb2xlYW4gZW5hYmxlX3ByaXZhdGVfYnJvd3Npbmc7CisgICAgZ2Jvb2xlYW4gZW5h
YmxlX3NwZWxsX2NoZWNraW5nOwogfTsKIAogI2RlZmluZSBXRUJLSVRfV0VCX1NFVFRJTkdTX0dF
VF9QUklWQVRFKG9iaikgKEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURSgob2JqKSwgV0VCS0lU
X1RZUEVfV0VCX1NFVFRJTkdTLCBXZWJLaXRXZWJTZXR0aW5nc1ByaXZhdGUpKQpAQCAtMTA0LDcg
KzEwNSw4IEBAIGVudW0gewogICAgIFBST1BfVVNFUl9TVFlMRVNIRUVUX1VSSSwKICAgICBQUk9Q
X1pPT01fU1RFUCwKICAgICBQUk9QX0VOQUJMRV9ERVZFTE9QRVJfRVhUUkFTLAotICAgIFBST1Bf
RU5BQkxFX1BSSVZBVEVfQlJPV1NJTkcKKyAgICBQUk9QX0VOQUJMRV9QUklWQVRFX0JST1dTSU5H
LAorICAgIFBST1BfRU5BQkxFX1NQRUxMX0NIRUNLSU5HCiB9OwogCiBzdGF0aWMgdm9pZCB3ZWJr
aXRfd2ViX3NldHRpbmdzX2ZpbmFsaXplKEdPYmplY3QqIG9iamVjdCk7CkBAIC0zNTksNiArMzYx
LDIyIEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfc2V0dGluZ3NfY2xhc3NfaW5pdChXZWJLaXRX
ZWJTZXR0aW5nc0NsYXNzKiBrbGFzcykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEZBTFNFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ3MpKTsK
IAorICAgIC8qKgorICAgICogV2ViS2l0V2ViU2V0dGluZ3M6ZW5hYmxlLXNwZWxsLWNoZWNraW5n
OgorICAgICoKKyAgICAqIFdoZXRoZXIgdG8gZW5hYmxlIGNoZWNrLWFzLXlvdS10eXBlIHNwZWxs
IGNoZWNraW5nLgorICAgICoKKyAgICAqIFNpbmNlIDEuMS42CisgICAgKi8KKyAgICBnX29iamVj
dF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KGdvYmplY3RfY2xhc3MsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBQUk9QX0VOQUJMRV9TUEVMTF9DSEVDS0lORywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19ib29sZWFuKAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVuYWJsZS1zcGVsbC1jaGVja2luZyIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfKCJFbmFibGUgU3BlbGwgQ2hlY2tp
bmciKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8oIkVuYWJsZXMgY2hl
Y2stYXMteW91LXR5cGUgc3BlbGwgY2hlY2tpbmciKSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEZBTFNFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZmxhZ3MpKTsKKwogICAgIGdfdHlwZV9jbGFzc19hZGRfcHJpdmF0ZShrbGFzcywgc2l6ZW9mKFdl
YktpdFdlYlNldHRpbmdzUHJpdmF0ZSkpOwogfQogCkBAIC00NjQsNiArNDgyLDkgQEAgc3RhdGlj
IHZvaWQgd2Via2l0X3dlYl9zZXR0aW5nc19zZXRfcHJvcGVydHkoR09iamVjdCogb2JqZWN0LCBn
dWludCBwcm9wX2lkLCBjb24KICAgICBjYXNlIFBST1BfRU5BQkxFX1BSSVZBVEVfQlJPV1NJTkc6
CiAgICAgICAgIHByaXYtPmVuYWJsZV9wcml2YXRlX2Jyb3dzaW5nID0gZ192YWx1ZV9nZXRfYm9v
bGVhbih2YWx1ZSk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgUFJPUF9FTkFCTEVfU1BFTExf
Q0hFQ0tJTkc6CisgICAgICAgIHByaXYtPmVuYWJsZV9zcGVsbF9jaGVja2luZyA9IGdfdmFsdWVf
Z2V0X2Jvb2xlYW4odmFsdWUpOworICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAg
ICBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQob2JqZWN0LCBwcm9wX2lkLCBwc3Bl
Yyk7CiAgICAgICAgIGJyZWFrOwpAQCAtNTQyLDYgKzU2Myw5IEBAIHN0YXRpYyB2b2lkIHdlYmtp
dF93ZWJfc2V0dGluZ3NfZ2V0X3Byb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcF9p
ZCwgR1ZhCiAgICAgY2FzZSBQUk9QX0VOQUJMRV9QUklWQVRFX0JST1dTSU5HOgogICAgICAgICBn
X3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5lbmFibGVfcHJpdmF0ZV9icm93c2luZyk7
CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgUFJPUF9FTkFCTEVfU1BFTExfQ0hFQ0tJTkc6Cisg
ICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPmVuYWJsZV9zcGVsbF9jaGVj
a2luZyk7CisgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEdfT0JKRUNUX1dB
Uk5fSU5WQUxJRF9QUk9QRVJUWV9JRChvYmplY3QsIHByb3BfaWQsIHBzcGVjKTsKICAgICAgICAg
YnJlYWs7CkBAIC01OTQsNiArNjE4LDcgQEAgV2ViS2l0V2ViU2V0dGluZ3MqIHdlYmtpdF93ZWJf
c2V0dGluZ3NfY29weShXZWJLaXRXZWJTZXR0aW5ncyogd2ViX3NldHRpbmdzKQogICAgICAgICAg
ICAgICAgICAiem9vbS1zdGVwIiwgcHJpdi0+em9vbV9zdGVwLAogICAgICAgICAgICAgICAgICAi
ZW5hYmxlLWRldmVsb3Blci1leHRyYXMiLCBwcml2LT5lbmFibGVfZGV2ZWxvcGVyX2V4dHJhcywK
ICAgICAgICAgICAgICAgICAgImVuYWJsZS1wcml2YXRlLWJyb3dzaW5nIiwgcHJpdi0+ZW5hYmxl
X3ByaXZhdGVfYnJvd3NpbmcsCisgICAgICAgICAgICAgICAgICJlbmFibGUtc3BlbGwtY2hlY2tp
bmciLCBwcml2LT5lbmFibGVfc3BlbGxfY2hlY2tpbmcsCiAgICAgICAgICAgICAgICAgIE5VTEwp
KTsKIAogICAgIHJldHVybiBjb3B5OwotLSAKMS42LjIuNAoK
</data>
<flag name="review"
          id="14873"
          type_id="1"
          status="+"
          setter="gustavo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29727</attachid>
            <date>2009-04-23 21:12:18 -0700</date>
            <delta_ts>2009-04-23 21:23:14 -0700</delta_ts>
            <desc>0002-Add-spell-checking-languages-property.patch</desc>
            <filename>0002-2009-04-23-Diego-Escalante-Urrelo-diegoe-gnome.or.patch</filename>
            <type>text/plain</type>
            <size>11751</size>
            <attacher name="Diego Escalante Urrelo">diegoe</attacher>
            
              <data encoding="base64">RnJvbSA0YjYyMTc2NGVkYzBlNmJkOWQ3Y2U0MDViZDI3MGFlMDdmYzlkZjk3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEaWVnbyBFc2NhbGFudGUgVXJyZWxvIDxkaWVnb2VAZ25vbWUu
b3JnPgpEYXRlOiBUaHUsIDkgQXByIDIwMDkgMTU6NTU6MTIgLTA1MDAKU3ViamVjdDogW1BBVENI
IDIvNF0gMjAwOS0wNC0yMyAgRGllZ28gRXNjYWxhbnRlIFVycmVsbyAgPGRpZWdvZUBnbm9tZS5v
cmc+CgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU2MTYKICAgICAgICBbR1RLXSBBZGQg
c3BlbGwgY2hlY2tpbmcKCiAgICAgICAgQWRkIHNwZWxsLWNoZWNraW5nLWxhbmd1YWdlcyBwcm9w
ZXJ0eSB0byBXZWJLaXRXZWJTZXR0aW5ncy4KCiAgICAgICAgKiB3ZWJraXQvd2Via2l0cHJpdmF0
ZS5oOgogICAgICAgICogd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcDoKICAgICAgICAoX1dl
YktpdFdlYlNldHRpbmdzUHJpdmF0ZTo6KToKICAgICAgICAoX1dlYktpdFdlYlNldHRpbmdzUHJp
dmF0ZTo6d2Via2l0X3dlYl9zZXR0aW5nc19jbGFzc19pbml0KToKICAgICAgICAoX1dlYktpdFdl
YlNldHRpbmdzUHJpdmF0ZTo6d2Via2l0X3dlYl9zZXR0aW5nc19pbml0KToKICAgICAgICAoX1dl
YktpdFdlYlNldHRpbmdzUHJpdmF0ZTo6d2Via2l0X3dlYl9zZXR0aW5nc19maW5hbGl6ZSk6CiAg
ICAgICAgKF9XZWJLaXRXZWJTZXR0aW5nc1ByaXZhdGU6OndlYmtpdF93ZWJfc2V0dGluZ3Nfc2V0
X3Byb3BlcnR5KToKICAgICAgICAoX1dlYktpdFdlYlNldHRpbmdzUHJpdmF0ZTo6d2Via2l0X3dl
Yl9zZXR0aW5nc19nZXRfcHJvcGVydHkpOgogICAgICAgIChfV2ViS2l0V2ViU2V0dGluZ3NQcml2
YXRlOjp3ZWJraXRfd2ViX3NldHRpbmdzX2NvcHkpOgogICAgICAgIChfV2ViS2l0V2ViU2V0dGlu
Z3NQcml2YXRlOjp3ZWJraXRfd2ViX3NldHRpbmdzX2dldF9zcGVsbF9sYW5ndWFnZXMpOgotLS0K
IENoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTMgKysrKysKIEdO
VW1ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDIgKwogV2ViS2l0L2d0
ay9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgIHwgICAyMCArKysrKysrCiBXZWJLaXQvZ3Rr
L3dlYmtpdC93ZWJraXRwcml2YXRlLmggICAgICAgfCAgICA5ICsrKwogV2ViS2l0L2d0ay93ZWJr
aXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwIHwgICA4NSArKysrKysrKysrKysrKysrKysrKysrKysr
KysrKystCiBjb25maWd1cmUuYWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA0ICsr
CiA2IGZpbGVzIGNoYW5nZWQsIDEzMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQoKZGlm
ZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAyNzZiMzAxLi41NzZiZDlhIDEw
MDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIw
MDktMDQtMjMgIERpZWdvIEVzY2FsYW50ZSBVcnJlbG8gIDxkaWVnb2VAZ25vbWUub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTYxNgorICAgICAgICBbR1RLXSBBZGQgc3Bl
bGwgY2hlY2tpbmcKKworICAgICAgICBBZGQgZW5jaGFudCBzdXBwb3J0IGZvciBzcGVsbC1jaGVj
a2luZy1sYW5ndWFnZXMgcHJvcGVydHkgdG8gd29yaworICAgICAgICBwcm9wZXJseS4KKworICAg
ICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIGNvbmZpZ3VyZS5hYzoKKwogMjAwOS0w
NC0xNCAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCB2ZXJzaW9uIGJ1bXAgaW4gcHJlcGFyYXRpb24gZm9yIDEuMS41IHJlbGVhc2UuCmRpZmYgLS1n
aXQgYS9HTlVtYWtlZmlsZS5hbSBiL0dOVW1ha2VmaWxlLmFtCmluZGV4IDA5MjJlZjEuLjUwMGU0
YmEgMTAwNjQ0Ci0tLSBhL0dOVW1ha2VmaWxlLmFtCisrKyBiL0dOVW1ha2VmaWxlLmFtCkBAIC0x
ODgsNiArMTg4LDcgQEAgbGliV2ViQ29yZV9sYV9DRkxBR1MgPSBcCiAJJChMSUJYU0xUX0NGTEFH
UykgXAogCSQoQ09WRVJBR0VfQ0ZMQUdTKSBcCiAJJChISUxET05fQ0ZMQUdTKSBcCisJJChFTkNI
QU5UX0NGTEFHUykgXAogCSQoR0VPQ0xVRV9DRkxBR1MpCiAKIGxpYldlYkNvcmVfbGFfQ1BQRkxB
R1MgPSBcCkBAIC0yNTcsNiArMjU4LDcgQEAgbGlid2Via2l0XzFfMF9sYV9MREZMQUdTID0gXAog
CiBsaWJ3ZWJraXRfMV8wX2xhX0xJQkFERCA9IFwKIAlsaWJXZWJDb3JlLmxhIFwKKwkkKEVOQ0hB
TlRfTElCUykgXAogCSQoR05PTUVLRVlSSU5HX0xJQlMpCiAKICMKZGlmZiAtLWdpdCBhL1dlYktp
dC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggMGM3YmUzNy4uZjhk
YTJiOCAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2d0ay9D
aGFuZ2VMb2cKQEAgLTUsNiArNSwyNiBAQAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTU2MTYKICAgICAgICAgW0dUS10gQWRkIHNwZWxsIGNoZWNraW5n
CiAKKyAgICAgICAgQWRkIHNwZWxsLWNoZWNraW5nLWxhbmd1YWdlcyBwcm9wZXJ0eSB0byBXZWJL
aXRXZWJTZXR0aW5ncy4KKworICAgICAgICAqIHdlYmtpdC93ZWJraXRwcml2YXRlLmg6CisgICAg
ICAgICogd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcDoKKyAgICAgICAgKF9XZWJLaXRXZWJT
ZXR0aW5nc1ByaXZhdGU6Oik6CisgICAgICAgIChfV2ViS2l0V2ViU2V0dGluZ3NQcml2YXRlOjp3
ZWJraXRfd2ViX3NldHRpbmdzX2NsYXNzX2luaXQpOgorICAgICAgICAoX1dlYktpdFdlYlNldHRp
bmdzUHJpdmF0ZTo6d2Via2l0X3dlYl9zZXR0aW5nc19pbml0KToKKyAgICAgICAgKF9XZWJLaXRX
ZWJTZXR0aW5nc1ByaXZhdGU6OndlYmtpdF93ZWJfc2V0dGluZ3NfZmluYWxpemUpOgorICAgICAg
ICAoX1dlYktpdFdlYlNldHRpbmdzUHJpdmF0ZTo6d2Via2l0X3dlYl9zZXR0aW5nc19zZXRfcHJv
cGVydHkpOgorICAgICAgICAoX1dlYktpdFdlYlNldHRpbmdzUHJpdmF0ZTo6d2Via2l0X3dlYl9z
ZXR0aW5nc19nZXRfcHJvcGVydHkpOgorICAgICAgICAoX1dlYktpdFdlYlNldHRpbmdzUHJpdmF0
ZTo6d2Via2l0X3dlYl9zZXR0aW5nc19jb3B5KToKKyAgICAgICAgKF9XZWJLaXRXZWJTZXR0aW5n
c1ByaXZhdGU6OndlYmtpdF93ZWJfc2V0dGluZ3NfZ2V0X3NwZWxsX2xhbmd1YWdlcyk6CisKKzIw
MDktMDQtMjMgIERpZWdvIEVzY2FsYW50ZSBVcnJlbG8gIDxkaWVnb2VAZ25vbWUub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTYxNgorICAgICAgICBbR1RLXSBBZGQgc3Bl
bGwgY2hlY2tpbmcKKwogICAgICAgICBBZGQgZW5hYmxlLXNwZWxsLWNoZWNraW5nIHByb3BlcnR5
IHRvIFdlYktpdFdlYlNldHRpbmdzIGFuZCBpbXBsZW1lbnQKICAgICAgICAgRWRpdG9yQ2xpZW50
Ojppc0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCBhbmQKICAgICAgICAgRWRpdG9yQ2xp
ZW50Ojp0b2dnbGVDb250aW51b3VzU3BlbGxDaGVja2luZyB0byBhbGxvdyB0aGUgVUkgdG8KZGlm
ZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZhdGUuaCBiL1dlYktpdC9ndGsv
d2Via2l0L3dlYmtpdHByaXZhdGUuaAppbmRleCA4MjMwYjg2Li5lNTcwZGE5IDEwMDY0NAotLS0g
YS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2YXRlLmgKKysrIGIvV2ViS2l0L2d0ay93ZWJr
aXQvd2Via2l0cHJpdmF0ZS5oCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSA8d2Via2l0L3dl
YmtpdHdlYmJhY2tmb3J3YXJkbGlzdC5oPgogCiAjaW5jbHVkZSAiQmFja0ZvcndhcmRMaXN0Lmgi
CisjaW5jbHVkZSA8ZW5jaGFudC5oPgogI2luY2x1ZGUgIkhpc3RvcnlJdGVtLmgiCiAjaW5jbHVk
ZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJQYWdlLmgiCkBAIC03MCw2ICs3MSwxMSBAQCBuYW1l
c3BhY2UgV2ViS2l0IHsKICAgICBXZWJDb3JlOjpOYXZpZ2F0aW9uVHlwZSBjb3JlKFdlYktpdFdl
Yk5hdmlnYXRpb25SZWFzb24gcmVhc29uKTsKIH0KIAordHlwZWRlZiBzdHJ1Y3QgeworICAgIEVu
Y2hhbnRCcm9rZXIqIGNvbmZpZzsKKyAgICBFbmNoYW50RGljdCogc3BlbGxlcjsKK30gU3BlbGxM
YW5ndWFnZTsKKwogZXh0ZXJuICJDIiB7CiAgICAgdm9pZCB3ZWJraXRfaW5pdCgpOwogCkBAIC0x
OTMsNiArMTk5LDkgQEAgZXh0ZXJuICJDIiB7CiAKICAgICBXRUJLSVRfQVBJIHZvaWQKICAgICB3
ZWJraXRfd2ViX3NldHRpbmdzX2FkZF9leHRyYV9wbHVnaW5fZGlyZWN0b3J5IChXZWJLaXRXZWJW
aWV3ICp3ZWJfdmlldywgY29uc3QgZ2NoYXIqIGRpcmVjdG9yeSk7CisKKyAgICBHU0xpc3QqCisg
ICAgd2Via2l0X3dlYl9zZXR0aW5nc19nZXRfc3BlbGxfbGFuZ3VhZ2VzKFdlYktpdFdlYlZpZXcq
IHdlYl92aWV3KTsKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93
ZWJraXR3ZWJzZXR0aW5ncy5jcHAgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5n
cy5jcHAKaW5kZXggMDEyNjcyMi4uOWIxNjFhNiAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay93ZWJr
aXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdl
YnNldHRpbmdzLmNwcApAQCAtNzcsNiArNzcsOCBAQCBzdHJ1Y3QgX1dlYktpdFdlYlNldHRpbmdz
UHJpdmF0ZSB7CiAgICAgZ2Jvb2xlYW4gZW5hYmxlX2RldmVsb3Blcl9leHRyYXM7CiAgICAgZ2Jv
b2xlYW4gZW5hYmxlX3ByaXZhdGVfYnJvd3Npbmc7CiAgICAgZ2Jvb2xlYW4gZW5hYmxlX3NwZWxs
X2NoZWNraW5nOworICAgIGdjaGFyKiBzcGVsbF9jaGVja2luZ19sYW5ndWFnZXM7CisgICAgR1NM
aXN0KiBzcGVsbF9jaGVja2luZ19sYW5ndWFnZXNfbGlzdDsKIH07CiAKICNkZWZpbmUgV0VCS0lU
X1dFQl9TRVRUSU5HU19HRVRfUFJJVkFURShvYmopIChHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZB
VEUoKG9iaiksIFdFQktJVF9UWVBFX1dFQl9TRVRUSU5HUywgV2ViS2l0V2ViU2V0dGluZ3NQcml2
YXRlKSkKQEAgLTEwNiw3ICsxMDgsOCBAQCBlbnVtIHsKICAgICBQUk9QX1pPT01fU1RFUCwKICAg
ICBQUk9QX0VOQUJMRV9ERVZFTE9QRVJfRVhUUkFTLAogICAgIFBST1BfRU5BQkxFX1BSSVZBVEVf
QlJPV1NJTkcsCi0gICAgUFJPUF9FTkFCTEVfU1BFTExfQ0hFQ0tJTkcKKyAgICBQUk9QX0VOQUJM
RV9TUEVMTF9DSEVDS0lORywKKyAgICBQUk9QX1NQRUxMX0NIRUNLSU5HX0xBTkdVQUdFUwogfTsK
IAogc3RhdGljIHZvaWQgd2Via2l0X3dlYl9zZXR0aW5nc19maW5hbGl6ZShHT2JqZWN0KiBvYmpl
Y3QpOwpAQCAtMzc3LDYgKzM4MCwzMCBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3NldHRpbmdz
X2NsYXNzX2luaXQoV2ViS2l0V2ViU2V0dGluZ3NDbGFzcyoga2xhc3MpCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGZsYWdzKSk7CiAKKyAgICAvKioKKyAgICAqIFdlYktpdFdlYlNldHRpbmdzOnNw
ZWxsLWNoZWNraW5nLWxhbmd1YWdlczoKKyAgICAqCisgICAgKiBUaGUgbGFuZ3VhZ2VzIHRvIGJl
IHVzZWQgZm9yIHNwZWxsIGNoZWNraW5nLCBzZXBhcmF0ZWQgYnkgY29tbWFzLgorICAgICoKKyAg
ICAqIFRoZSBsb2NhbGUgc3RyaW5nIHR5cGljYWxseSBpcyBpbiB0aGUgZm9ybSBsYW5nX0NPVU5U
UlksIHdoZXJlIGxhbmcKKyAgICAqIGlzIGFuIElTTy02MzkgbGFuZ3VhZ2UgY29kZSwgYW5kIENP
VU5UUlkgaXMgYW4gSVNPLTMxNjYgY291bnRyeSBjb2RlLgorICAgICogRm9yIGluc3RhbmNlLCBz
dl9GSSBmb3IgU3dlZGlzaCBhcyB3cml0dGVuIGluIEZpbmxhbmQgb3IgcHRfQlIKKyAgICAqIGZv
ciBQb3J0dWd1ZXNlIGFzIHdyaXR0ZW4gaW4gQnJhemlsLgorICAgICoKKyAgICAqIElmIG5vIHZh
bHVlIGlzIHNwZWNpZmllZCB0aGVuIHRoZSB2YWx1ZSByZXR1cm5lZCBieSAKKyAgICAqIHBhbmdv
X2xhbmd1YWdlX2dldF9kZWZhdWx0IHdpbGwgYmUgdXNlZC4KKyAgICAqCisgICAgKiBTaW5jZSAx
LjEuNgorICAgICovCisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnb2JqZWN0
X2NsYXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPUF9TUEVMTF9D
SEVDS0lOR19MQU5HVUFHRVMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn
X3BhcmFtX3NwZWNfc3RyaW5nKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
InNwZWxsLWNoZWNraW5nLWxhbmd1YWdlcyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBfKCJMYW5ndWFnZXMgdG8gdXNlIGZvciBzcGVsbCBjaGVja2luZyIpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXygiQ29tbWEgc2VwYXJhdGVkIGxpc3Qgb2Yg
bGFuZ3VhZ2VzIHRvIHVzZSBmb3Igc3BlbGwgY2hlY2tpbmciKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBmbGFncykpOworCiAgICAgZ190eXBlX2NsYXNzX2FkZF9wcml2YXRlKGtsYXNzLCBzaXplb2Yo
V2ViS2l0V2ViU2V0dGluZ3NQcml2YXRlKSk7CiB9CiAKQEAgLTM5OCw2ICs0MjUsOSBAQCBzdGF0
aWMgdm9pZCB3ZWJraXRfd2ViX3NldHRpbmdzX2ZpbmFsaXplKEdPYmplY3QqIG9iamVjdCkKICAg
ICBnX2ZyZWUocHJpdi0+c2Fuc19zZXJpZl9mb250X2ZhbWlseSk7CiAgICAgZ19mcmVlKHByaXYt
PnNlcmlmX2ZvbnRfZmFtaWx5KTsKICAgICBnX2ZyZWUocHJpdi0+dXNlcl9zdHlsZXNoZWV0X3Vy
aSk7CisgICAgZ19mcmVlKHByaXYtPnNwZWxsX2NoZWNraW5nX2xhbmd1YWdlcyk7CisKKyAgICBn
X3NsaXN0X2ZyZWUocHJpdi0+c3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2VzX2xpc3QpOwogCiAgICAg
R19PQkpFQ1RfQ0xBU1Mod2Via2l0X3dlYl9zZXR0aW5nc19wYXJlbnRfY2xhc3MpLT5maW5hbGl6
ZShvYmplY3QpOwogfQpAQCAtNDA2LDYgKzQzNiw4IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJf
c2V0dGluZ3Nfc2V0X3Byb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcF9pZCwgY29u
CiB7CiAgICAgV2ViS2l0V2ViU2V0dGluZ3MqIHdlYl9zZXR0aW5ncyA9IFdFQktJVF9XRUJfU0VU
VElOR1Mob2JqZWN0KTsKICAgICBXZWJLaXRXZWJTZXR0aW5nc1ByaXZhdGUqIHByaXYgPSB3ZWJf
c2V0dGluZ3MtPnByaXY7CisgICAgU3BlbGxMYW5ndWFnZSogbGFuZzsKKyAgICBHU0xpc3QqIHNw
ZWxsTGFuZ3VhZ2VzOwogCiAgICAgc3dpdGNoKHByb3BfaWQpIHsKICAgICBjYXNlIFBST1BfREVG
QVVMVF9FTkNPRElORzoKQEAgLTQ4NSw2ICs1MTcsMzIgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dl
Yl9zZXR0aW5nc19zZXRfcHJvcGVydHkoR09iamVjdCogb2JqZWN0LCBndWludCBwcm9wX2lkLCBj
b24KICAgICBjYXNlIFBST1BfRU5BQkxFX1NQRUxMX0NIRUNLSU5HOgogICAgICAgICBwcml2LT5l
bmFibGVfc3BlbGxfY2hlY2tpbmcgPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKTsKICAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBQUk9QX1NQRUxMX0NIRUNLSU5HX0xBTkdVQUdFUzoKKyAgICAg
ICAgcHJpdi0+c3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2VzID0gZ19zdHJkdXAoZ192YWx1ZV9nZXRf
c3RyaW5nKHZhbHVlKSk7CisKKyAgICAgICAgaWYgKHByaXYtPnNwZWxsX2NoZWNraW5nX2xhbmd1
YWdlcykKKyAgICAgICAgeworICAgICAgICAgICAgY2hhcioqIGxhbmdzID0gZ19zdHJzcGxpdChw
cml2LT5zcGVsbF9jaGVja2luZ19sYW5ndWFnZXMsICIsIiwgLTEpOworICAgICAgICAgICAgZm9y
IChpbnQgaSA9IDA7IGxhbmdzW2ldOyBpKyspCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgbGFuZyA9IGdfc2xpY2VfbmV3MChTcGVsbExhbmd1YWdlKTsKKyAgICAgICAgICAgICAgICBs
YW5nLT5jb25maWcgPSBlbmNoYW50X2Jyb2tlcl9pbml0KCk7CisgICAgICAgICAgICAgICAgbGFu
Zy0+c3BlbGxlciA9IGVuY2hhbnRfYnJva2VyX3JlcXVlc3RfZGljdChsYW5nLT5jb25maWcsIGxh
bmdzW2ldKTsKKworICAgICAgICAgICAgICAgIHNwZWxsTGFuZ3VhZ2VzID0gZ19zbGlzdF9wcmVw
ZW5kKHNwZWxsTGFuZ3VhZ2VzLCBsYW5nKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNl
IHsKKyAgICAgICAgICAgIGNvbnN0IGNoYXIqIGxhbmd1YWdlID0gcGFuZ29fbGFuZ3VhZ2VfdG9f
c3RyaW5nKGd0a19nZXRfZGVmYXVsdF9sYW5ndWFnZSgpKTsKKworICAgICAgICAgICAgbGFuZyA9
IGdfc2xpY2VfbmV3MChTcGVsbExhbmd1YWdlKTsKKyAgICAgICAgICAgIGxhbmctPmNvbmZpZyA9
IGVuY2hhbnRfYnJva2VyX2luaXQoKTsKKyAgICAgICAgICAgIGxhbmctPnNwZWxsZXIgPSBlbmNo
YW50X2Jyb2tlcl9yZXF1ZXN0X2RpY3QobGFuZy0+Y29uZmlnLCBsYW5ndWFnZSk7CisKKyAgICAg
ICAgICAgIHNwZWxsTGFuZ3VhZ2VzID0gZ19zbGlzdF9wcmVwZW5kKHNwZWxsTGFuZ3VhZ2VzLCBs
YW5nKTsKKyAgICAgICAgfQorICAgICAgICBnX3NsaXN0X2ZyZWUocHJpdi0+c3BlbGxfY2hlY2tp
bmdfbGFuZ3VhZ2VzX2xpc3QpOworICAgICAgICBwcml2LT5zcGVsbF9jaGVja2luZ19sYW5ndWFn
ZXNfbGlzdCA9IHNwZWxsTGFuZ3VhZ2VzOworICAgICAgICBicmVhazsKICAgICBkZWZhdWx0Ogog
ICAgICAgICBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQob2JqZWN0LCBwcm9wX2lk
LCBwc3BlYyk7CiAgICAgICAgIGJyZWFrOwpAQCAtNTY2LDYgKzYyNCw5IEBAIHN0YXRpYyB2b2lk
IHdlYmtpdF93ZWJfc2V0dGluZ3NfZ2V0X3Byb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQg
cHJvcF9pZCwgR1ZhCiAgICAgY2FzZSBQUk9QX0VOQUJMRV9TUEVMTF9DSEVDS0lORzoKICAgICAg
ICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+ZW5hYmxlX3NwZWxsX2NoZWNraW5n
KTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQUk9QX1NQRUxMX0NIRUNLSU5HX0xBTkdVQUdF
UzoKKyAgICAgICAgZ192YWx1ZV9zZXRfc3RyaW5nKHZhbHVlLCBwcml2LT5zcGVsbF9jaGVja2lu
Z19sYW5ndWFnZXMpOworICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICBHX09C
SkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQob2JqZWN0LCBwcm9wX2lkLCBwc3BlYyk7CiAg
ICAgICAgIGJyZWFrOwpAQCAtNjE5LDYgKzY4MCw4IEBAIFdlYktpdFdlYlNldHRpbmdzKiB3ZWJr
aXRfd2ViX3NldHRpbmdzX2NvcHkoV2ViS2l0V2ViU2V0dGluZ3MqIHdlYl9zZXR0aW5ncykKICAg
ICAgICAgICAgICAgICAgImVuYWJsZS1kZXZlbG9wZXItZXh0cmFzIiwgcHJpdi0+ZW5hYmxlX2Rl
dmVsb3Blcl9leHRyYXMsCiAgICAgICAgICAgICAgICAgICJlbmFibGUtcHJpdmF0ZS1icm93c2lu
ZyIsIHByaXYtPmVuYWJsZV9wcml2YXRlX2Jyb3dzaW5nLAogICAgICAgICAgICAgICAgICAiZW5h
YmxlLXNwZWxsLWNoZWNraW5nIiwgcHJpdi0+ZW5hYmxlX3NwZWxsX2NoZWNraW5nLAorICAgICAg
ICAgICAgICAgICAic3BlbGwtY2hlY2tpbmctbGFuZ3VhZ2VzIiwgcHJpdi0+c3BlbGxfY2hlY2tp
bmdfbGFuZ3VhZ2VzLAorICAgICAgICAgICAgICAgICAic3BlbGwtY2hlY2tpbmctbGFuZ3VhZ2Vz
LWxpc3QiLCBwcml2LT5zcGVsbF9jaGVja2luZ19sYW5ndWFnZXNfbGlzdCwKICAgICAgICAgICAg
ICAgICAgTlVMTCkpOwogCiAgICAgcmV0dXJuIGNvcHk7CkBAIC02NDAsNCArNzAzLDI0IEBAIHZv
aWQgd2Via2l0X3dlYl9zZXR0aW5nc19hZGRfZXh0cmFfcGx1Z2luX2RpcmVjdG9yeShXZWJLaXRX
ZWJWaWV3KiB3ZWJWaWV3LCBjb25zCiAgICAgUGx1Z2luRGF0YWJhc2U6Omluc3RhbGxlZFBsdWdp
bnMoKS0+YWRkRXh0cmFQbHVnaW5EaXJlY3RvcnkoZmlsZW5hbWVUb1N0cmluZyhkaXJlY3Rvcnkp
KTsKIH0KIAorLyoqCisgKiB3ZWJraXRfd2ViX3NldHRpbmdzX2dldF9zcGVsbF9sYW5ndWFnZXM6
CisgKiBAd2ViX3ZpZXc6IGEgI1dlYktpdFdlYlZpZXcKKyAqCisgKiBJbnRlcm5hbCB1c2Ugb25s
eS4gUmV0cmlldmVzIGEgR1NMaXN0IG9mIFNwZWxsTGFuZ3VhZ2VzIGZyb20gdGhlCisgKiAjV2Vi
S2l0V2ViU2V0dGluZ3Mgb2YgQHdlYl92aWV3LgorICoKKyAqIFNpbmNlOiAxLjEuNgorICovCitH
U0xpc3QqIHdlYmtpdF93ZWJfc2V0dGluZ3NfZ2V0X3NwZWxsX2xhbmd1YWdlcyhXZWJLaXRXZWJW
aWV3ICp3ZWJfdmlldykKK3sKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRfSVNfV0VC
X1ZJRVcod2ViX3ZpZXcpLCAwKTsKKworICAgIFdlYktpdFdlYlNldHRpbmdzKiBzZXR0aW5ncyA9
IHdlYmtpdF93ZWJfdmlld19nZXRfc2V0dGluZ3Mod2ViX3ZpZXcpOworICAgIFdlYktpdFdlYlNl
dHRpbmdzUHJpdmF0ZSogcHJpdiA9IFdFQktJVF9XRUJfU0VUVElOR1NfR0VUX1BSSVZBVEUgKHNl
dHRpbmdzKTsKKyAgICBHU0xpc3QqIGxpc3QgPSBwcml2LT5zcGVsbF9jaGVja2luZ19sYW5ndWFn
ZXNfbGlzdDsKKworICAgIHJldHVybiBsaXN0OworfQorCiB9CmRpZmYgLS1naXQgYS9jb25maWd1
cmUuYWMgYi9jb25maWd1cmUuYWMKaW5kZXggYzk2NjdkZC4uNGIyNWY2YiAxMDA2NDQKLS0tIGEv
Y29uZmlndXJlLmFjCisrKyBiL2NvbmZpZ3VyZS5hYwpAQCAtMTkxLDYgKzE5MSw3IEBAIExJQlhT
TFRfUkVRVUlSRURfVkVSU0lPTj0xLjEuNwogU1FMSVRFX1JFUVVJUkVEX1ZFUlNJT049My4wCiBH
U1RSRUFNRVJfUkVRVUlSRURfVkVSU0lPTj0wLjEwCiBHTk9NRV9LRVlSSU5HX1JFUVVJUkVEX1ZF
UlNJT049Mi4yNi4wCitFTkNIQU5UX1JFUVVJUkVEX1ZFUlNJT049MC4yMgogCiAjIEF2YWlsYWJs
ZSBtb2R1bGVzCiAjCkBAIC0yMjMsNiArMjI0LDcgQEAgaWYgdGVzdCAiJHdpdGhfdGFyZ2V0IiA9
ICJkaXJlY3RmYiI7IHRoZW4KIGVsc2UKICAgIFBLR19DSEVDS19NT0RVTEVTKENBSVJPLCBjYWly
byA+PSAkQ0FJUk9fUkVRVUlSRURfVkVSU0lPTikKICAgIFBLR19DSEVDS19NT0RVTEVTKEdUSywg
Z3RrKy0yLjAgPj0gJEdUS19SRVFVSVJFRF9WRVJTSU9OKQorICAgUEtHX0NIRUNLX01PRFVMRVMo
RU5DSEFOVCwgZW5jaGFudCA+PSAkRU5DSEFOVF9SRVFVSVJFRF9WRVJTSU9OKQogCiAgICBpZiB0
ZXN0ICIkd2l0aF90YXJnZXQiID0gIngxMSIgJiYgdGVzdCAiJG9zX3dpbjMyIiA9ICJubyI7IHRo
ZW4KICAgICAgICMgY2hlY2sgZm9yIFhUCkBAIC0yNDksNiArMjUxLDggQEAgQUNfU1VCU1QoR1RL
X0NGTEFHUykKIEFDX1NVQlNUKEdUS19MSUJTKQogQUNfU1VCU1QoQ0FJUk9fQ0ZMQUdTKQogQUNf
U1VCU1QoQ0FJUk9fTElCUykKK0FDX1NVQlNUKEVOQ0hBTlRfQ0ZMQUdTKQorQUNfU1VCU1QoRU5D
SEFOVF9MSUJTKQogCiAjIGNoZWNrIHdoZXRoZXIgdG8gYnVpbGQgd2l0aCBkZWJ1Z2dpbmcgZW5h
YmxlZAogQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIHRvIGRvIGEgZGVidWcgYnVpbGRdKQotLSAK
MS42LjIuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29728</attachid>
            <date>2009-04-23 21:12:47 -0700</date>
            <delta_ts>2009-04-24 05:16:35 -0700</delta_ts>
            <desc>0003-Implement-checkSpellingOfString.patch</desc>
            <filename>0003-2009-04-23-Diego-Escalante-Urrelo-diegoe-gnome.or.patch</filename>
            <type>text/plain</type>
            <size>4866</size>
            <attacher name="Diego Escalante Urrelo">diegoe</attacher>
            
              <data encoding="base64">RnJvbSA1ZTBmZDFjNjUwMWY4MmJjY2EyMTFiNWNiNWE0MWYzNGZmNjdiMzc4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEaWVnbyBFc2NhbGFudGUgVXJyZWxvIDxkaWVnb2VAZ25vbWUu
b3JnPgpEYXRlOiBGcmksIDIwIE1hciAyMDA5IDIwOjAyOjEwIC0wNTAwClN1YmplY3Q6IFtQQVRD
SCAzLzRdIDIwMDktMDQtMjMgIERpZWdvIEVzY2FsYW50ZSBVcnJlbG8gIDxkaWVnb2VAZ25vbWUu
b3JnPgoKICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NjE2CiAgICAgICAgW0dUS10gQWRk
IHNwZWxsIGNoZWNraW5nCgogICAgICAgIEltcGxlbWVudCBFZGl0b3JDbGllbnQ6OmNoZWNrU3Bl
bGxpbmdPZlN0cmluZzsgZW5hYmxpbmcgc3BlbGwgY2hlY2tpbmcKICAgICAgICB0byBhY3R1YWxs
eSBoYXBwZW4sIHRoaXMgaXMgdGhlIGJhc2lzIGZvciBvdGhlciBzcGVsbGluZyBmdW5jdGlvbnMu
CgogICAgICAgICogV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNwcDoKICAgICAgICAo
V2ViS2l0OjpFZGl0b3JDbGllbnQ6OmNoZWNrU3BlbGxpbmdPZlN0cmluZyk6Ci0tLQogV2ViS2l0
L2d0ay9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMyArKysrKysKIFdl
YktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNwcCB8ICAgNTUgKysrKysr
KysrKysrKysrKysrKysrKysrLQogMiBmaWxlcyBjaGFuZ2VkLCA2NiBpbnNlcnRpb25zKCspLCAy
IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0
L2d0ay9DaGFuZ2VMb2cKaW5kZXggZjhkYTJiOC4uYmJhY2UwZSAxMDA2NDQKLS0tIGEvV2ViS2l0
L2d0ay9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTUsNiArNSwxOSBA
QAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU2MTYK
ICAgICAgICAgW0dUS10gQWRkIHNwZWxsIGNoZWNraW5nCiAKKyAgICAgICAgSW1wbGVtZW50IEVk
aXRvckNsaWVudDo6Y2hlY2tTcGVsbGluZ09mU3RyaW5nOyBlbmFibGluZyBzcGVsbCBjaGVja2lu
ZworICAgICAgICB0byBhY3R1YWxseSBoYXBwZW4sIHRoaXMgaXMgdGhlIGJhc2lzIGZvciBvdGhl
ciBzcGVsbGluZyBmdW5jdGlvbnMuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9FZGl0b3JD
bGllbnRHdGsuY3BwOgorICAgICAgICAoV2ViS2l0OjpFZGl0b3JDbGllbnQ6OmNoZWNrU3BlbGxp
bmdPZlN0cmluZyk6CisKKzIwMDktMDQtMjMgIERpZWdvIEVzY2FsYW50ZSBVcnJlbG8gIDxkaWVn
b2VAZ25vbWUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTYxNgorICAg
ICAgICBbR1RLXSBBZGQgc3BlbGwgY2hlY2tpbmcKKwogICAgICAgICBBZGQgc3BlbGwtY2hlY2tp
bmctbGFuZ3VhZ2VzIHByb3BlcnR5IHRvIFdlYktpdFdlYlNldHRpbmdzLgogCiAgICAgICAgICog
d2Via2l0L3dlYmtpdHByaXZhdGUuaDoKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNwcCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRp
dG9yQ2xpZW50R3RrLmNwcAppbmRleCA5MDcyMDMyLi45MTE0YjQ4IDEwMDY0NAotLS0gYS9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHAKKysrIGIvV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwCkBAIC0xLDYgKzEsNyBAQAogLyoK
ICAqICBDb3B5cmlnaHQgKEMpIDIwMDcgQWxwIFRva2VyIDxhbHBAYXRva2VyLmNvbT4KICAqICBD
b3B5cmlnaHQgKEMpIDIwMDggTnVhbnRpIEx0ZC4KKyAqICBDb3B5cmlnaHQgKEMpIDIwMDkgRGll
Z28gRXNjYWxhbnRlIFVycmVsbyA8ZGllZ29lQGdub21lLm9yZz4KICAqCiAgKiAgVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICog
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJs
aWMKQEAgLTIzLDggKzI0LDEwIEBACiAjaW5jbHVkZSAiQ1N0cmluZy5oIgogI2luY2x1ZGUgIkVk
aXRDb21tYW5kLmgiCiAjaW5jbHVkZSAiRWRpdG9yLmgiCisjaW5jbHVkZSA8ZW5jaGFudC5oPgog
I2luY2x1ZGUgIkZvY3VzQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVk
ZSA8Z2xpYi5oPgogI2luY2x1ZGUgIktleWJvYXJkQ29kZXMuaCIKICNpbmNsdWRlICJLZXlib2Fy
ZEV2ZW50LmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKQEAgLTUyNCw5ICs1MjcsNTcg
QEAgdm9pZCBFZGl0b3JDbGllbnQ6OmxlYXJuV29yZChjb25zdCBTdHJpbmcmKQogICAgIG5vdElt
cGxlbWVudGVkKCk7CiB9CiAKLXZvaWQgRWRpdG9yQ2xpZW50OjpjaGVja1NwZWxsaW5nT2ZTdHJp
bmcoY29uc3QgVUNoYXIqLCBpbnQsIGludCosIGludCopCit2b2lkIEVkaXRvckNsaWVudDo6Y2hl
Y2tTcGVsbGluZ09mU3RyaW5nKGNvbnN0IFVDaGFyKiB0ZXh0LCBpbnQgbGVuZ3RoLCBpbnQqIG1p
c3NwZWxsaW5nTG9jYXRpb24sIGludCogbWlzc3BlbGxpbmdMZW5ndGgpCiB7Ci0gICAgbm90SW1w
bGVtZW50ZWQoKTsKKyAgICBnY2hhciogY3RleHQgPSBnX3V0ZjE2X3RvX3V0ZjgoY29uc3RfY2Fz
dDxndW5pY2hhcjIqPih0ZXh0KSwgbGVuZ3RoLCAwLCAwLCAwKTsKKyAgICBpbnQgdXRmbGVuID0g
Z191dGY4X3N0cmxlbihjdGV4dCwgLTEpOworCisgICAgUGFuZ29MYW5ndWFnZSogbGFuZ3VhZ2Ug
PSBwYW5nb19sYW5ndWFnZV9nZXRfZGVmYXVsdCgpOworICAgIFBhbmdvTG9nQXR0ciogYXR0cnMg
PSBnX25ldyhQYW5nb0xvZ0F0dHIsIHV0ZmxlbisxKTsKKworICAgIC8vIHBhbmdvX2dldF9sb2df
YXR0cnMgdXNlcyBhbiBhZGl0aW9uYWwgcG9zaXRpb24gYXQgdGhlIGVuZCBvZiB0aGUgdGV4dC4K
KyAgICBwYW5nb19nZXRfbG9nX2F0dHJzKGN0ZXh0LCAtMSwgLTEsIGxhbmd1YWdlLCBhdHRycywg
dXRmbGVuKzEpOworCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBsZW5ndGgrMTsgaSsrKSB7Cisg
ICAgICAgIC8vIFdlIGdvIHRocm91Z2ggZWFjaCBjaGFyYWN0ZXIgdW50aWwgd2UgZmluZCBhbiBp
c193b3JkX3N0YXJ0LAorICAgICAgICAvLyB0aGVuIHdlIGdldCBpbnRvIGFuIGlubmVyIGxvb3Ag
dG8gZmluZCB0aGUgaXNfd29yZF9lbmQgY29ycmVzcG9uZGluZworICAgICAgICAvLyB0byBpdC4K
KyAgICAgICAgaWYgKGF0dHJzW2ldLmlzX3dvcmRfc3RhcnQpIHsKKyAgICAgICAgICAgIGludCBz
dGFydCA9IGk7CisgICAgICAgICAgICBpbnQgZW5kID0gaTsKKyAgICAgICAgICAgIGludCB3b3Jk
TGVuZ3RoOworICAgICAgICAgICAgR1NMaXN0KiBsYW5ncyA9IHdlYmtpdF93ZWJfc2V0dGluZ3Nf
Z2V0X3NwZWxsX2xhbmd1YWdlcyhtX3dlYlZpZXcpOworCisgICAgICAgICAgICB3aGlsZSAoYXR0
cnNbZW5kXS5pc193b3JkX2VuZCA8IDEpCisgICAgICAgICAgICAgICAgZW5kKys7CisKKyAgICAg
ICAgICAgIHdvcmRMZW5ndGggPSBlbmQgLSBzdGFydDsKKyAgICAgICAgICAgIC8vIFNldCB0aGUg
aXRlcmF0b3IgdG8gYmUgYXQgdGhlIGN1cnJlbnQgd29yZCBlbmQsIHNvIHdlIGRvbid0CisgICAg
ICAgICAgICAvLyBjaGVjayBjaGFyYWN0ZXJzIHR3aWNlLgorICAgICAgICAgICAgaSA9IGVuZDsK
KworICAgICAgICAgICAgZm9yICg7IGxhbmdzOyBsYW5ncyA9IGxhbmdzLT5uZXh0KSB7CisgICAg
ICAgICAgICAgICAgU3BlbGxMYW5ndWFnZSogbGFuZyA9IHN0YXRpY19jYXN0PFNwZWxsTGFuZ3Vh
Z2UqPihsYW5ncy0+ZGF0YSk7CisgICAgICAgICAgICAgICAgZ2NoYXIqIGNzdGFydCA9IGdfdXRm
OF9vZmZzZXRfdG9fcG9pbnRlcihjdGV4dCwgc3RhcnQpOworICAgICAgICAgICAgICAgIGdpbnQg
Ynl0ZXMgPSBzdGF0aWNfY2FzdDxnaW50PihnX3V0Zjhfb2Zmc2V0X3RvX3BvaW50ZXIoY3RleHQs
IGVuZCkgLSBjc3RhcnQpOworICAgICAgICAgICAgICAgIGdjaGFyKiB3b3JkID0gZ19uZXcwKGdj
aGFyLCBieXRlcysxKTsKKyAgICAgICAgICAgICAgICBpbnQgcmVzdWx0OworCisgICAgICAgICAg
ICAgICAgZ191dGY4X3N0cm5jcHkod29yZCwgY3N0YXJ0LCBlbmQgLSBzdGFydCk7CisKKyAgICAg
ICAgICAgICAgICByZXN1bHQgPSBlbmNoYW50X2RpY3RfY2hlY2sobGFuZy0+c3BlbGxlciwgd29y
ZCwgLTEpOworICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpIHsKKyAgICAgICAgICAgICAgICAg
ICAgKm1pc3NwZWxsaW5nTG9jYXRpb24gPSBzdGFydDsKKyAgICAgICAgICAgICAgICAgICAgKm1p
c3NwZWxsaW5nTGVuZ3RoID0gd29yZExlbmd0aDsKKyAgICAgICAgICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgICAgICAgICAvLyBTdG9wIGNoZWNraW5nLCB0aGlzIHdvcmQgaXMgb2sgaW4g
YXQgbGVhc3Qgb25lIGRpY3QuCisgICAgICAgICAgICAgICAgICAgICptaXNzcGVsbGluZ0xvY2F0
aW9uID0gLTE7CisgICAgICAgICAgICAgICAgICAgICptaXNzcGVsbGluZ0xlbmd0aCA9IDA7Cisg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0KKyAgICAgICAgfQorICAgIH0KIH0KIAogdm9pZCBFZGl0b3JDbGllbnQ6OmNoZWNrR3JhbW1h
ck9mU3RyaW5nKGNvbnN0IFVDaGFyKiwgaW50LCBWZWN0b3I8R3JhbW1hckRldGFpbD4mLCBpbnQq
LCBpbnQqKQotLSAKMS42LjIuNAoK
</data>
<flag name="review"
          id="14875"
          type_id="1"
          status="+"
          setter="gustavo"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29729</attachid>
            <date>2009-04-23 21:13:07 -0700</date>
            <delta_ts>2009-04-24 05:17:04 -0700</delta_ts>
            <desc>0004-Implement-ignore-learn-and-guesses.patch</desc>
            <filename>0004-2009-04-23-Diego-Escalante-Urrelo-diegoe-gnome.or.patch</filename>
            <type>text/plain</type>
            <size>4152</size>
            <attacher name="Diego Escalante Urrelo">diegoe</attacher>
            
              <data encoding="base64">RnJvbSBmZmQ3NTZhMTViNjNmMGY5ZWIzZmM3ZmVmODAyMzE3NDUyMWM4OWQ1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEaWVnbyBFc2NhbGFudGUgVXJyZWxvIDxkaWVnb2VAZ25vbWUu
b3JnPgpEYXRlOiBGcmksIDEwIEFwciAyMDA5IDAxOjMwOjIxIC0wNTAwClN1YmplY3Q6IFtQQVRD
SCA0LzRdIDIwMDktMDQtMjMgIERpZWdvIEVzY2FsYW50ZSBVcnJlbG8gIDxkaWVnb2VAZ25vbWUu
b3JnPgoKICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NjE2CiAgICAgICAgW0dUS10gQWRk
IHNwZWxsIGNoZWNraW5nCgogICAgICAgIEltcGxlbWVudCBFZGl0b3JDbGllbnQ6Omlnbm9yZVdv
cmRJblNwZWxsRG9jdW1lbnQsCiAgICAgICAgRWRpdG9yQ2xpZW50OjpsZWFybldvcmQgYW5kIEVk
aXRvckNsaWVudDo6Z2V0R3Vlc3Nlc0ZvcldvcmQuIFRoaXMKICAgICAgICBlbmFibGVzIHRoZSBj
b3JyZXNwb25kaW5nIHVzZXIgYWN0aW9ucy4KCiAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9FZGl0
b3JDbGllbnRHdGsuY3BwOgogICAgICAgIChXZWJLaXQ6OkVkaXRvckNsaWVudDo6aWdub3JlV29y
ZEluU3BlbGxEb2N1bWVudCk6CiAgICAgICAgKFdlYktpdDo6RWRpdG9yQ2xpZW50OjpsZWFybldv
cmQpOgogICAgICAgIChXZWJLaXQ6OkVkaXRvckNsaWVudDo6Z2V0R3Vlc3Nlc0ZvcldvcmQpOgot
LS0KIFdlYktpdC9ndGsvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTYg
KysrKysrKysrKwogV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3Bw
IHwgICAzOSArKysrKysrKysrKysrKysrKysrKystLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDQ5IGlu
c2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9DaGFu
Z2VMb2cgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCBiYmFjZTBlLi44ZjM5ZjdhIDEwMDY0
NAotLS0gYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpA
QCAtNSw2ICs1LDIyIEBACiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNTYxNgogICAgICAgICBbR1RLXSBBZGQgc3BlbGwgY2hlY2tpbmcKIAorICAgICAg
ICBJbXBsZW1lbnQgRWRpdG9yQ2xpZW50OjppZ25vcmVXb3JkSW5TcGVsbERvY3VtZW50LAorICAg
ICAgICBFZGl0b3JDbGllbnQ6OmxlYXJuV29yZCBhbmQgRWRpdG9yQ2xpZW50OjpnZXRHdWVzc2Vz
Rm9yV29yZC4gVGhpcworICAgICAgICBlbmFibGVzIHRoZSBjb3JyZXNwb25kaW5nIHVzZXIgYWN0
aW9ucy4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OkVkaXRvckNsaWVudDo6aWdub3JlV29yZEluU3BlbGxEb2N1bWVudCk6
CisgICAgICAgIChXZWJLaXQ6OkVkaXRvckNsaWVudDo6bGVhcm5Xb3JkKToKKyAgICAgICAgKFdl
YktpdDo6RWRpdG9yQ2xpZW50OjpnZXRHdWVzc2VzRm9yV29yZCk6CisKKzIwMDktMDQtMjMgIERp
ZWdvIEVzY2FsYW50ZSBVcnJlbG8gIDxkaWVnb2VAZ25vbWUub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNTYxNgorICAgICAgICBbR1RLXSBBZGQgc3BlbGwgY2hlY2tpbmcK
KwogICAgICAgICBJbXBsZW1lbnQgRWRpdG9yQ2xpZW50OjpjaGVja1NwZWxsaW5nT2ZTdHJpbmc7
IGVuYWJsaW5nIHNwZWxsIGNoZWNraW5nCiAgICAgICAgIHRvIGFjdHVhbGx5IGhhcHBlbiwgdGhp
cyBpcyB0aGUgYmFzaXMgZm9yIG90aGVyIHNwZWxsaW5nIGZ1bmN0aW9ucy4KIApkaWZmIC0tZ2l0
IGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwIGIvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwCmluZGV4IDkxMTRiNDguLjk2
ZjMzYmMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50
R3RrLmNwcAorKysgYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5j
cHAKQEAgLTUxNywxNCArNTE3LDI2IEBAIHZvaWQgRWRpdG9yQ2xpZW50Ojp0ZXh0RGlkQ2hhbmdl
SW5UZXh0QXJlYShFbGVtZW50KikKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIEVk
aXRvckNsaWVudDo6aWdub3JlV29yZEluU3BlbGxEb2N1bWVudChjb25zdCBTdHJpbmcmKQordm9p
ZCBFZGl0b3JDbGllbnQ6Omlnbm9yZVdvcmRJblNwZWxsRG9jdW1lbnQoY29uc3QgU3RyaW5nJiB0
ZXh0KQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgR1NMaXN0KiBsYW5ncyA9IHdlYmtp
dF93ZWJfc2V0dGluZ3NfZ2V0X3NwZWxsX2xhbmd1YWdlcyhtX3dlYlZpZXcpOworCisgICAgZm9y
ICg7IGxhbmdzOyBsYW5ncyA9IGxhbmdzLT5uZXh0KSB7CisgICAgICAgIFNwZWxsTGFuZ3VhZ2Uq
IGxhbmcgPSBzdGF0aWNfY2FzdDxTcGVsbExhbmd1YWdlKj4obGFuZ3MtPmRhdGEpOworCisgICAg
ICAgIGVuY2hhbnRfZGljdF9hZGRfdG9fc2Vzc2lvbihsYW5nLT5zcGVsbGVyLCB0ZXh0LnV0Zjgo
KS5kYXRhKCksIC0xKTsKKyAgICB9CiB9CiAKLXZvaWQgRWRpdG9yQ2xpZW50OjpsZWFybldvcmQo
Y29uc3QgU3RyaW5nJikKK3ZvaWQgRWRpdG9yQ2xpZW50OjpsZWFybldvcmQoY29uc3QgU3RyaW5n
JiB0ZXh0KQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgR1NMaXN0KiBsYW5ncyA9IHdl
YmtpdF93ZWJfc2V0dGluZ3NfZ2V0X3NwZWxsX2xhbmd1YWdlcyhtX3dlYlZpZXcpOworCisgICAg
Zm9yICg7IGxhbmdzOyBsYW5ncyA9IGxhbmdzLT5uZXh0KSB7CisgICAgICAgIFNwZWxsTGFuZ3Vh
Z2UqIGxhbmcgPSBzdGF0aWNfY2FzdDxTcGVsbExhbmd1YWdlKj4obGFuZ3MtPmRhdGEpOworCisg
ICAgICAgIGVuY2hhbnRfZGljdF9hZGRfdG9fcGVyc29uYWwobGFuZy0+c3BlbGxlciwgdGV4dC51
dGY4KCkuZGF0YSgpLCAtMSk7CisgICAgfQogfQogCiB2b2lkIEVkaXRvckNsaWVudDo6Y2hlY2tT
cGVsbGluZ09mU3RyaW5nKGNvbnN0IFVDaGFyKiB0ZXh0LCBpbnQgbGVuZ3RoLCBpbnQqIG1pc3Nw
ZWxsaW5nTG9jYXRpb24sIGludCogbWlzc3BlbGxpbmdMZW5ndGgpCkBAIC02MDYsOSArNjE4LDI0
IEBAIGJvb2wgRWRpdG9yQ2xpZW50OjpzcGVsbGluZ1VJSXNTaG93aW5nKCkKICAgICByZXR1cm4g
ZmFsc2U7CiB9CiAKLXZvaWQgRWRpdG9yQ2xpZW50OjpnZXRHdWVzc2VzRm9yV29yZChjb25zdCBT
dHJpbmcmLCBWZWN0b3I8U3RyaW5nPiYpCit2b2lkIEVkaXRvckNsaWVudDo6Z2V0R3Vlc3Nlc0Zv
cldvcmQoY29uc3QgU3RyaW5nJiB3b3JkLCBXVEY6OlZlY3RvcjxTdHJpbmc+JiBndWVzc2VzKQog
ewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgR1NMaXN0KiBsYW5ncyA9IHdlYmtpdF93ZWJf
c2V0dGluZ3NfZ2V0X3NwZWxsX2xhbmd1YWdlcyhtX3dlYlZpZXcpOworICAgIGd1ZXNzZXMuY2xl
YXIoKTsKKworICAgIGZvciAoOyBsYW5nczsgbGFuZ3MgPSBsYW5ncy0+bmV4dCkgeworICAgICAg
ICBzaXplX3QgbnVtYmVyT2ZTdWdnZXN0aW9uczsKKyAgICAgICAgc2l6ZV90IGk7CisKKyAgICAg
ICAgU3BlbGxMYW5ndWFnZSogbGFuZyA9IHN0YXRpY19jYXN0PFNwZWxsTGFuZ3VhZ2UqPihsYW5n
cy0+ZGF0YSk7CisgICAgICAgIGdjaGFyKiogc3VnZ2VzdGlvbnMgPSBlbmNoYW50X2RpY3Rfc3Vn
Z2VzdChsYW5nLT5zcGVsbGVyLCB3b3JkLnV0ZjgoKS5kYXRhKCksIC0xLCAmbnVtYmVyT2ZTdWdn
ZXN0aW9ucyk7CisKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IG51bWJlck9mU3VnZ2VzdGlvbnMg
JiYgaSA8IDEwOyBpKyspCisgICAgICAgICAgICBndWVzc2VzLmFwcGVuZChTdHJpbmc6OmZyb21V
VEY4KHN1Z2dlc3Rpb25zW2ldKSk7CisKKyAgICAgICAgaWYgKG51bWJlck9mU3VnZ2VzdGlvbnMg
PiAwKQorICAgICAgICAgICAgZW5jaGFudF9kaWN0X2ZyZWVfc3VnZ2VzdGlvbnMobGFuZy0+c3Bl
bGxlciwgc3VnZ2VzdGlvbnMpOworICAgIH0KIH0KIAogfQotLSAKMS42LjIuNAoK
</data>
<flag name="review"
          id="14876"
          type_id="1"
          status="+"
          setter="gustavo"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29730</attachid>
            <date>2009-04-23 21:23:14 -0700</date>
            <delta_ts>2009-04-24 05:15:57 -0700</delta_ts>
            <desc>0002-Add-spell-checking-languages-property.patch</desc>
            <filename>0002-2009-04-23-Diego-Escalante-Urrelo-diegoe-gnome.or.patch</filename>
            <type>text/plain</type>
            <size>11755</size>
            <attacher name="Diego Escalante Urrelo">diegoe</attacher>
            
              <data encoding="base64">RnJvbSA2MzUzYjc5ZTQ1OTFmMzFiNGJhMWE4MzMyNDNiYzMzODliZWU3NjdiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEaWVnbyBFc2NhbGFudGUgVXJyZWxvIDxkaWVnb2VAZ25vbWUu
b3JnPgpEYXRlOiBUaHUsIDkgQXByIDIwMDkgMTU6NTU6MTIgLTA1MDAKU3ViamVjdDogW1BBVENI
IDIvNF0gMjAwOS0wNC0yMyAgRGllZ28gRXNjYWxhbnRlIFVycmVsbyAgPGRpZWdvZUBnbm9tZS5v
cmc+CgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU2MTYKICAgICAgICBbR1RLXSBBZGQg
c3BlbGwgY2hlY2tpbmcKCiAgICAgICAgQWRkIHNwZWxsLWNoZWNraW5nLWxhbmd1YWdlcyBwcm9w
ZXJ0eSB0byBXZWJLaXRXZWJTZXR0aW5ncy4KCiAgICAgICAgKiB3ZWJraXQvd2Via2l0cHJpdmF0
ZS5oOgogICAgICAgICogd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcDoKICAgICAgICAoX1dl
YktpdFdlYlNldHRpbmdzUHJpdmF0ZTo6KToKICAgICAgICAoX1dlYktpdFdlYlNldHRpbmdzUHJp
dmF0ZTo6d2Via2l0X3dlYl9zZXR0aW5nc19jbGFzc19pbml0KToKICAgICAgICAoX1dlYktpdFdl
YlNldHRpbmdzUHJpdmF0ZTo6d2Via2l0X3dlYl9zZXR0aW5nc19pbml0KToKICAgICAgICAoX1dl
YktpdFdlYlNldHRpbmdzUHJpdmF0ZTo6d2Via2l0X3dlYl9zZXR0aW5nc19maW5hbGl6ZSk6CiAg
ICAgICAgKF9XZWJLaXRXZWJTZXR0aW5nc1ByaXZhdGU6OndlYmtpdF93ZWJfc2V0dGluZ3Nfc2V0
X3Byb3BlcnR5KToKICAgICAgICAoX1dlYktpdFdlYlNldHRpbmdzUHJpdmF0ZTo6d2Via2l0X3dl
Yl9zZXR0aW5nc19nZXRfcHJvcGVydHkpOgogICAgICAgIChfV2ViS2l0V2ViU2V0dGluZ3NQcml2
YXRlOjp3ZWJraXRfd2ViX3NldHRpbmdzX2NvcHkpOgogICAgICAgIChfV2ViS2l0V2ViU2V0dGlu
Z3NQcml2YXRlOjp3ZWJraXRfd2ViX3NldHRpbmdzX2dldF9zcGVsbF9sYW5ndWFnZXMpOgotLS0K
IENoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTMgKysrKysKIEdO
VW1ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDIgKwogV2ViS2l0L2d0
ay9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgIHwgICAyMCArKysrKysrCiBXZWJLaXQvZ3Rr
L3dlYmtpdC93ZWJraXRwcml2YXRlLmggICAgICAgfCAgICA5ICsrKwogV2ViS2l0L2d0ay93ZWJr
aXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwIHwgICA4NSArKysrKysrKysrKysrKysrKysrKysrKysr
KysrKystCiBjb25maWd1cmUuYWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA0ICsr
CiA2IGZpbGVzIGNoYW5nZWQsIDEzMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQoKZGlm
ZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAyNzZiMzAxLi41NzZiZDlhIDEw
MDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIw
MDktMDQtMjMgIERpZWdvIEVzY2FsYW50ZSBVcnJlbG8gIDxkaWVnb2VAZ25vbWUub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTYxNgorICAgICAgICBbR1RLXSBBZGQgc3Bl
bGwgY2hlY2tpbmcKKworICAgICAgICBBZGQgZW5jaGFudCBzdXBwb3J0IGZvciBzcGVsbC1jaGVj
a2luZy1sYW5ndWFnZXMgcHJvcGVydHkgdG8gd29yaworICAgICAgICBwcm9wZXJseS4KKworICAg
ICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIGNvbmZpZ3VyZS5hYzoKKwogMjAwOS0w
NC0xNCAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCB2ZXJzaW9uIGJ1bXAgaW4gcHJlcGFyYXRpb24gZm9yIDEuMS41IHJlbGVhc2UuCmRpZmYgLS1n
aXQgYS9HTlVtYWtlZmlsZS5hbSBiL0dOVW1ha2VmaWxlLmFtCmluZGV4IDA5MjJlZjEuLjUwMGU0
YmEgMTAwNjQ0Ci0tLSBhL0dOVW1ha2VmaWxlLmFtCisrKyBiL0dOVW1ha2VmaWxlLmFtCkBAIC0x
ODgsNiArMTg4LDcgQEAgbGliV2ViQ29yZV9sYV9DRkxBR1MgPSBcCiAJJChMSUJYU0xUX0NGTEFH
UykgXAogCSQoQ09WRVJBR0VfQ0ZMQUdTKSBcCiAJJChISUxET05fQ0ZMQUdTKSBcCisJJChFTkNI
QU5UX0NGTEFHUykgXAogCSQoR0VPQ0xVRV9DRkxBR1MpCiAKIGxpYldlYkNvcmVfbGFfQ1BQRkxB
R1MgPSBcCkBAIC0yNTcsNiArMjU4LDcgQEAgbGlid2Via2l0XzFfMF9sYV9MREZMQUdTID0gXAog
CiBsaWJ3ZWJraXRfMV8wX2xhX0xJQkFERCA9IFwKIAlsaWJXZWJDb3JlLmxhIFwKKwkkKEVOQ0hB
TlRfTElCUykgXAogCSQoR05PTUVLRVlSSU5HX0xJQlMpCiAKICMKZGlmZiAtLWdpdCBhL1dlYktp
dC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggMGM3YmUzNy4uZjhk
YTJiOCAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2d0ay9D
aGFuZ2VMb2cKQEAgLTUsNiArNSwyNiBAQAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTU2MTYKICAgICAgICAgW0dUS10gQWRkIHNwZWxsIGNoZWNraW5n
CiAKKyAgICAgICAgQWRkIHNwZWxsLWNoZWNraW5nLWxhbmd1YWdlcyBwcm9wZXJ0eSB0byBXZWJL
aXRXZWJTZXR0aW5ncy4KKworICAgICAgICAqIHdlYmtpdC93ZWJraXRwcml2YXRlLmg6CisgICAg
ICAgICogd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcDoKKyAgICAgICAgKF9XZWJLaXRXZWJT
ZXR0aW5nc1ByaXZhdGU6Oik6CisgICAgICAgIChfV2ViS2l0V2ViU2V0dGluZ3NQcml2YXRlOjp3
ZWJraXRfd2ViX3NldHRpbmdzX2NsYXNzX2luaXQpOgorICAgICAgICAoX1dlYktpdFdlYlNldHRp
bmdzUHJpdmF0ZTo6d2Via2l0X3dlYl9zZXR0aW5nc19pbml0KToKKyAgICAgICAgKF9XZWJLaXRX
ZWJTZXR0aW5nc1ByaXZhdGU6OndlYmtpdF93ZWJfc2V0dGluZ3NfZmluYWxpemUpOgorICAgICAg
ICAoX1dlYktpdFdlYlNldHRpbmdzUHJpdmF0ZTo6d2Via2l0X3dlYl9zZXR0aW5nc19zZXRfcHJv
cGVydHkpOgorICAgICAgICAoX1dlYktpdFdlYlNldHRpbmdzUHJpdmF0ZTo6d2Via2l0X3dlYl9z
ZXR0aW5nc19nZXRfcHJvcGVydHkpOgorICAgICAgICAoX1dlYktpdFdlYlNldHRpbmdzUHJpdmF0
ZTo6d2Via2l0X3dlYl9zZXR0aW5nc19jb3B5KToKKyAgICAgICAgKF9XZWJLaXRXZWJTZXR0aW5n
c1ByaXZhdGU6OndlYmtpdF93ZWJfc2V0dGluZ3NfZ2V0X3NwZWxsX2xhbmd1YWdlcyk6CisKKzIw
MDktMDQtMjMgIERpZWdvIEVzY2FsYW50ZSBVcnJlbG8gIDxkaWVnb2VAZ25vbWUub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTYxNgorICAgICAgICBbR1RLXSBBZGQgc3Bl
bGwgY2hlY2tpbmcKKwogICAgICAgICBBZGQgZW5hYmxlLXNwZWxsLWNoZWNraW5nIHByb3BlcnR5
IHRvIFdlYktpdFdlYlNldHRpbmdzIGFuZCBpbXBsZW1lbnQKICAgICAgICAgRWRpdG9yQ2xpZW50
Ojppc0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCBhbmQKICAgICAgICAgRWRpdG9yQ2xp
ZW50Ojp0b2dnbGVDb250aW51b3VzU3BlbGxDaGVja2luZyB0byBhbGxvdyB0aGUgVUkgdG8KZGlm
ZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZhdGUuaCBiL1dlYktpdC9ndGsv
d2Via2l0L3dlYmtpdHByaXZhdGUuaAppbmRleCA4MjMwYjg2Li5lNTcwZGE5IDEwMDY0NAotLS0g
YS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2YXRlLmgKKysrIGIvV2ViS2l0L2d0ay93ZWJr
aXQvd2Via2l0cHJpdmF0ZS5oCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSA8d2Via2l0L3dl
YmtpdHdlYmJhY2tmb3J3YXJkbGlzdC5oPgogCiAjaW5jbHVkZSAiQmFja0ZvcndhcmRMaXN0Lmgi
CisjaW5jbHVkZSA8ZW5jaGFudC5oPgogI2luY2x1ZGUgIkhpc3RvcnlJdGVtLmgiCiAjaW5jbHVk
ZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJQYWdlLmgiCkBAIC03MCw2ICs3MSwxMSBAQCBuYW1l
c3BhY2UgV2ViS2l0IHsKICAgICBXZWJDb3JlOjpOYXZpZ2F0aW9uVHlwZSBjb3JlKFdlYktpdFdl
Yk5hdmlnYXRpb25SZWFzb24gcmVhc29uKTsKIH0KIAordHlwZWRlZiBzdHJ1Y3QgeworICAgIEVu
Y2hhbnRCcm9rZXIqIGNvbmZpZzsKKyAgICBFbmNoYW50RGljdCogc3BlbGxlcjsKK30gU3BlbGxM
YW5ndWFnZTsKKwogZXh0ZXJuICJDIiB7CiAgICAgdm9pZCB3ZWJraXRfaW5pdCgpOwogCkBAIC0x
OTMsNiArMTk5LDkgQEAgZXh0ZXJuICJDIiB7CiAKICAgICBXRUJLSVRfQVBJIHZvaWQKICAgICB3
ZWJraXRfd2ViX3NldHRpbmdzX2FkZF9leHRyYV9wbHVnaW5fZGlyZWN0b3J5IChXZWJLaXRXZWJW
aWV3ICp3ZWJfdmlldywgY29uc3QgZ2NoYXIqIGRpcmVjdG9yeSk7CisKKyAgICBHU0xpc3QqCisg
ICAgd2Via2l0X3dlYl9zZXR0aW5nc19nZXRfc3BlbGxfbGFuZ3VhZ2VzKFdlYktpdFdlYlZpZXcq
IHdlYl92aWV3KTsKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93
ZWJraXR3ZWJzZXR0aW5ncy5jcHAgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5n
cy5jcHAKaW5kZXggMDEyNjcyMi4uYTBiNGY5MSAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay93ZWJr
aXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdl
YnNldHRpbmdzLmNwcApAQCAtNzcsNiArNzcsOCBAQCBzdHJ1Y3QgX1dlYktpdFdlYlNldHRpbmdz
UHJpdmF0ZSB7CiAgICAgZ2Jvb2xlYW4gZW5hYmxlX2RldmVsb3Blcl9leHRyYXM7CiAgICAgZ2Jv
b2xlYW4gZW5hYmxlX3ByaXZhdGVfYnJvd3Npbmc7CiAgICAgZ2Jvb2xlYW4gZW5hYmxlX3NwZWxs
X2NoZWNraW5nOworICAgIGdjaGFyKiBzcGVsbF9jaGVja2luZ19sYW5ndWFnZXM7CisgICAgR1NM
aXN0KiBzcGVsbF9jaGVja2luZ19sYW5ndWFnZXNfbGlzdDsKIH07CiAKICNkZWZpbmUgV0VCS0lU
X1dFQl9TRVRUSU5HU19HRVRfUFJJVkFURShvYmopIChHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZB
VEUoKG9iaiksIFdFQktJVF9UWVBFX1dFQl9TRVRUSU5HUywgV2ViS2l0V2ViU2V0dGluZ3NQcml2
YXRlKSkKQEAgLTEwNiw3ICsxMDgsOCBAQCBlbnVtIHsKICAgICBQUk9QX1pPT01fU1RFUCwKICAg
ICBQUk9QX0VOQUJMRV9ERVZFTE9QRVJfRVhUUkFTLAogICAgIFBST1BfRU5BQkxFX1BSSVZBVEVf
QlJPV1NJTkcsCi0gICAgUFJPUF9FTkFCTEVfU1BFTExfQ0hFQ0tJTkcKKyAgICBQUk9QX0VOQUJM
RV9TUEVMTF9DSEVDS0lORywKKyAgICBQUk9QX1NQRUxMX0NIRUNLSU5HX0xBTkdVQUdFUwogfTsK
IAogc3RhdGljIHZvaWQgd2Via2l0X3dlYl9zZXR0aW5nc19maW5hbGl6ZShHT2JqZWN0KiBvYmpl
Y3QpOwpAQCAtMzc3LDYgKzM4MCwzMCBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3NldHRpbmdz
X2NsYXNzX2luaXQoV2ViS2l0V2ViU2V0dGluZ3NDbGFzcyoga2xhc3MpCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGZsYWdzKSk7CiAKKyAgICAvKioKKyAgICAqIFdlYktpdFdlYlNldHRpbmdzOnNw
ZWxsLWNoZWNraW5nLWxhbmd1YWdlczoKKyAgICAqCisgICAgKiBUaGUgbGFuZ3VhZ2VzIHRvIGJl
IHVzZWQgZm9yIHNwZWxsIGNoZWNraW5nLCBzZXBhcmF0ZWQgYnkgY29tbWFzLgorICAgICoKKyAg
ICAqIFRoZSBsb2NhbGUgc3RyaW5nIHR5cGljYWxseSBpcyBpbiB0aGUgZm9ybSBsYW5nX0NPVU5U
UlksIHdoZXJlIGxhbmcKKyAgICAqIGlzIGFuIElTTy02MzkgbGFuZ3VhZ2UgY29kZSwgYW5kIENP
VU5UUlkgaXMgYW4gSVNPLTMxNjYgY291bnRyeSBjb2RlLgorICAgICogRm9yIGluc3RhbmNlLCBz
dl9GSSBmb3IgU3dlZGlzaCBhcyB3cml0dGVuIGluIEZpbmxhbmQgb3IgcHRfQlIKKyAgICAqIGZv
ciBQb3J0dWd1ZXNlIGFzIHdyaXR0ZW4gaW4gQnJhemlsLgorICAgICoKKyAgICAqIElmIG5vIHZh
bHVlIGlzIHNwZWNpZmllZCB0aGVuIHRoZSB2YWx1ZSByZXR1cm5lZCBieSAKKyAgICAqIHBhbmdv
X2xhbmd1YWdlX2dldF9kZWZhdWx0IHdpbGwgYmUgdXNlZC4KKyAgICAqCisgICAgKiBTaW5jZSAx
LjEuNgorICAgICovCisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnb2JqZWN0
X2NsYXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPUF9TUEVMTF9D
SEVDS0lOR19MQU5HVUFHRVMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn
X3BhcmFtX3NwZWNfc3RyaW5nKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
InNwZWxsLWNoZWNraW5nLWxhbmd1YWdlcyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBfKCJMYW5ndWFnZXMgdG8gdXNlIGZvciBzcGVsbCBjaGVja2luZyIpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXygiQ29tbWEgc2VwYXJhdGVkIGxpc3Qgb2Yg
bGFuZ3VhZ2VzIHRvIHVzZSBmb3Igc3BlbGwgY2hlY2tpbmciKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBmbGFncykpOworCiAgICAgZ190eXBlX2NsYXNzX2FkZF9wcml2YXRlKGtsYXNzLCBzaXplb2Yo
V2ViS2l0V2ViU2V0dGluZ3NQcml2YXRlKSk7CiB9CiAKQEAgLTM5OCw2ICs0MjUsOSBAQCBzdGF0
aWMgdm9pZCB3ZWJraXRfd2ViX3NldHRpbmdzX2ZpbmFsaXplKEdPYmplY3QqIG9iamVjdCkKICAg
ICBnX2ZyZWUocHJpdi0+c2Fuc19zZXJpZl9mb250X2ZhbWlseSk7CiAgICAgZ19mcmVlKHByaXYt
PnNlcmlmX2ZvbnRfZmFtaWx5KTsKICAgICBnX2ZyZWUocHJpdi0+dXNlcl9zdHlsZXNoZWV0X3Vy
aSk7CisgICAgZ19mcmVlKHByaXYtPnNwZWxsX2NoZWNraW5nX2xhbmd1YWdlcyk7CisKKyAgICBn
X3NsaXN0X2ZyZWUocHJpdi0+c3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2VzX2xpc3QpOwogCiAgICAg
R19PQkpFQ1RfQ0xBU1Mod2Via2l0X3dlYl9zZXR0aW5nc19wYXJlbnRfY2xhc3MpLT5maW5hbGl6
ZShvYmplY3QpOwogfQpAQCAtNDA2LDYgKzQzNiw4IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJf
c2V0dGluZ3Nfc2V0X3Byb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcF9pZCwgY29u
CiB7CiAgICAgV2ViS2l0V2ViU2V0dGluZ3MqIHdlYl9zZXR0aW5ncyA9IFdFQktJVF9XRUJfU0VU
VElOR1Mob2JqZWN0KTsKICAgICBXZWJLaXRXZWJTZXR0aW5nc1ByaXZhdGUqIHByaXYgPSB3ZWJf
c2V0dGluZ3MtPnByaXY7CisgICAgU3BlbGxMYW5ndWFnZSogbGFuZzsKKyAgICBHU0xpc3QqIHNw
ZWxsTGFuZ3VhZ2VzID0gMDsKIAogICAgIHN3aXRjaChwcm9wX2lkKSB7CiAgICAgY2FzZSBQUk9Q
X0RFRkFVTFRfRU5DT0RJTkc6CkBAIC00ODUsNiArNTE3LDMyIEBAIHN0YXRpYyB2b2lkIHdlYmtp
dF93ZWJfc2V0dGluZ3Nfc2V0X3Byb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcF9p
ZCwgY29uCiAgICAgY2FzZSBQUk9QX0VOQUJMRV9TUEVMTF9DSEVDS0lORzoKICAgICAgICAgcHJp
di0+ZW5hYmxlX3NwZWxsX2NoZWNraW5nID0gZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7CiAg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgUFJPUF9TUEVMTF9DSEVDS0lOR19MQU5HVUFHRVM6Cisg
ICAgICAgIHByaXYtPnNwZWxsX2NoZWNraW5nX2xhbmd1YWdlcyA9IGdfc3RyZHVwKGdfdmFsdWVf
Z2V0X3N0cmluZyh2YWx1ZSkpOworCisgICAgICAgIGlmIChwcml2LT5zcGVsbF9jaGVja2luZ19s
YW5ndWFnZXMpCisgICAgICAgIHsKKyAgICAgICAgICAgIGNoYXIqKiBsYW5ncyA9IGdfc3Ryc3Bs
aXQocHJpdi0+c3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2VzLCAiLCIsIC0xKTsKKyAgICAgICAgICAg
IGZvciAoaW50IGkgPSAwOyBsYW5nc1tpXTsgaSsrKQorICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIGxhbmcgPSBnX3NsaWNlX25ldzAoU3BlbGxMYW5ndWFnZSk7CisgICAgICAgICAgICAg
ICAgbGFuZy0+Y29uZmlnID0gZW5jaGFudF9icm9rZXJfaW5pdCgpOworICAgICAgICAgICAgICAg
IGxhbmctPnNwZWxsZXIgPSBlbmNoYW50X2Jyb2tlcl9yZXF1ZXN0X2RpY3QobGFuZy0+Y29uZmln
LCBsYW5nc1tpXSk7CisKKyAgICAgICAgICAgICAgICBzcGVsbExhbmd1YWdlcyA9IGdfc2xpc3Rf
cHJlcGVuZChzcGVsbExhbmd1YWdlcywgbGFuZyk7CisgICAgICAgICAgICB9CisgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICBjb25zdCBjaGFyKiBsYW5ndWFnZSA9IHBhbmdvX2xhbmd1YWdl
X3RvX3N0cmluZyhndGtfZ2V0X2RlZmF1bHRfbGFuZ3VhZ2UoKSk7CisKKyAgICAgICAgICAgIGxh
bmcgPSBnX3NsaWNlX25ldzAoU3BlbGxMYW5ndWFnZSk7CisgICAgICAgICAgICBsYW5nLT5jb25m
aWcgPSBlbmNoYW50X2Jyb2tlcl9pbml0KCk7CisgICAgICAgICAgICBsYW5nLT5zcGVsbGVyID0g
ZW5jaGFudF9icm9rZXJfcmVxdWVzdF9kaWN0KGxhbmctPmNvbmZpZywgbGFuZ3VhZ2UpOworCisg
ICAgICAgICAgICBzcGVsbExhbmd1YWdlcyA9IGdfc2xpc3RfcHJlcGVuZChzcGVsbExhbmd1YWdl
cywgbGFuZyk7CisgICAgICAgIH0KKyAgICAgICAgZ19zbGlzdF9mcmVlKHByaXYtPnNwZWxsX2No
ZWNraW5nX2xhbmd1YWdlc19saXN0KTsKKyAgICAgICAgcHJpdi0+c3BlbGxfY2hlY2tpbmdfbGFu
Z3VhZ2VzX2xpc3QgPSBzcGVsbExhbmd1YWdlczsKKyAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVs
dDoKICAgICAgICAgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEKG9iamVjdCwgcHJv
cF9pZCwgcHNwZWMpOwogICAgICAgICBicmVhazsKQEAgLTU2Niw2ICs2MjQsOSBAQCBzdGF0aWMg
dm9pZCB3ZWJraXRfd2ViX3NldHRpbmdzX2dldF9wcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1
aW50IHByb3BfaWQsIEdWYQogICAgIGNhc2UgUFJPUF9FTkFCTEVfU1BFTExfQ0hFQ0tJTkc6CiAg
ICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPmVuYWJsZV9zcGVsbF9jaGVj
a2luZyk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgUFJPUF9TUEVMTF9DSEVDS0lOR19MQU5H
VUFHRVM6CisgICAgICAgIGdfdmFsdWVfc2V0X3N0cmluZyh2YWx1ZSwgcHJpdi0+c3BlbGxfY2hl
Y2tpbmdfbGFuZ3VhZ2VzKTsKKyAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAg
R19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEKG9iamVjdCwgcHJvcF9pZCwgcHNwZWMp
OwogICAgICAgICBicmVhazsKQEAgLTYxOSw2ICs2ODAsOCBAQCBXZWJLaXRXZWJTZXR0aW5ncyog
d2Via2l0X3dlYl9zZXR0aW5nc19jb3B5KFdlYktpdFdlYlNldHRpbmdzKiB3ZWJfc2V0dGluZ3Mp
CiAgICAgICAgICAgICAgICAgICJlbmFibGUtZGV2ZWxvcGVyLWV4dHJhcyIsIHByaXYtPmVuYWJs
ZV9kZXZlbG9wZXJfZXh0cmFzLAogICAgICAgICAgICAgICAgICAiZW5hYmxlLXByaXZhdGUtYnJv
d3NpbmciLCBwcml2LT5lbmFibGVfcHJpdmF0ZV9icm93c2luZywKICAgICAgICAgICAgICAgICAg
ImVuYWJsZS1zcGVsbC1jaGVja2luZyIsIHByaXYtPmVuYWJsZV9zcGVsbF9jaGVja2luZywKKyAg
ICAgICAgICAgICAgICAgInNwZWxsLWNoZWNraW5nLWxhbmd1YWdlcyIsIHByaXYtPnNwZWxsX2No
ZWNraW5nX2xhbmd1YWdlcywKKyAgICAgICAgICAgICAgICAgInNwZWxsLWNoZWNraW5nLWxhbmd1
YWdlcy1saXN0IiwgcHJpdi0+c3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2VzX2xpc3QsCiAgICAgICAg
ICAgICAgICAgIE5VTEwpKTsKIAogICAgIHJldHVybiBjb3B5OwpAQCAtNjQwLDQgKzcwMywyNCBA
QCB2b2lkIHdlYmtpdF93ZWJfc2V0dGluZ3NfYWRkX2V4dHJhX3BsdWdpbl9kaXJlY3RvcnkoV2Vi
S2l0V2ViVmlldyogd2ViVmlldywgY29ucwogICAgIFBsdWdpbkRhdGFiYXNlOjppbnN0YWxsZWRQ
bHVnaW5zKCktPmFkZEV4dHJhUGx1Z2luRGlyZWN0b3J5KGZpbGVuYW1lVG9TdHJpbmcoZGlyZWN0
b3J5KSk7CiB9CiAKKy8qKgorICogd2Via2l0X3dlYl9zZXR0aW5nc19nZXRfc3BlbGxfbGFuZ3Vh
Z2VzOgorICogQHdlYl92aWV3OiBhICNXZWJLaXRXZWJWaWV3CisgKgorICogSW50ZXJuYWwgdXNl
IG9ubHkuIFJldHJpZXZlcyBhIEdTTGlzdCBvZiBTcGVsbExhbmd1YWdlcyBmcm9tIHRoZQorICog
I1dlYktpdFdlYlNldHRpbmdzIG9mIEB3ZWJfdmlldy4KKyAqCisgKiBTaW5jZTogMS4xLjYKKyAq
LworR1NMaXN0KiB3ZWJraXRfd2ViX3NldHRpbmdzX2dldF9zcGVsbF9sYW5ndWFnZXMoV2ViS2l0
V2ViVmlldyAqd2ViX3ZpZXcpCit7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lT
X1dFQl9WSUVXKHdlYl92aWV3KSwgMCk7CisKKyAgICBXZWJLaXRXZWJTZXR0aW5ncyogc2V0dGlu
Z3MgPSB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3NldHRpbmdzKHdlYl92aWV3KTsKKyAgICBXZWJLaXRX
ZWJTZXR0aW5nc1ByaXZhdGUqIHByaXYgPSBXRUJLSVRfV0VCX1NFVFRJTkdTX0dFVF9QUklWQVRF
IChzZXR0aW5ncyk7CisgICAgR1NMaXN0KiBsaXN0ID0gcHJpdi0+c3BlbGxfY2hlY2tpbmdfbGFu
Z3VhZ2VzX2xpc3Q7CisKKyAgICByZXR1cm4gbGlzdDsKK30KKwogfQpkaWZmIC0tZ2l0IGEvY29u
ZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCmluZGV4IGM5NjY3ZGQuLjRiMjVmNmIgMTAwNjQ0Ci0t
LSBhL2NvbmZpZ3VyZS5hYworKysgYi9jb25maWd1cmUuYWMKQEAgLTE5MSw2ICsxOTEsNyBAQCBM
SUJYU0xUX1JFUVVJUkVEX1ZFUlNJT049MS4xLjcKIFNRTElURV9SRVFVSVJFRF9WRVJTSU9OPTMu
MAogR1NUUkVBTUVSX1JFUVVJUkVEX1ZFUlNJT049MC4xMAogR05PTUVfS0VZUklOR19SRVFVSVJF
RF9WRVJTSU9OPTIuMjYuMAorRU5DSEFOVF9SRVFVSVJFRF9WRVJTSU9OPTAuMjIKIAogIyBBdmFp
bGFibGUgbW9kdWxlcwogIwpAQCAtMjIzLDYgKzIyNCw3IEBAIGlmIHRlc3QgIiR3aXRoX3Rhcmdl
dCIgPSAiZGlyZWN0ZmIiOyB0aGVuCiBlbHNlCiAgICBQS0dfQ0hFQ0tfTU9EVUxFUyhDQUlSTywg
Y2Fpcm8gPj0gJENBSVJPX1JFUVVJUkVEX1ZFUlNJT04pCiAgICBQS0dfQ0hFQ0tfTU9EVUxFUyhH
VEssIGd0aystMi4wID49ICRHVEtfUkVRVUlSRURfVkVSU0lPTikKKyAgIFBLR19DSEVDS19NT0RV
TEVTKEVOQ0hBTlQsIGVuY2hhbnQgPj0gJEVOQ0hBTlRfUkVRVUlSRURfVkVSU0lPTikKIAogICAg
aWYgdGVzdCAiJHdpdGhfdGFyZ2V0IiA9ICJ4MTEiICYmIHRlc3QgIiRvc193aW4zMiIgPSAibm8i
OyB0aGVuCiAgICAgICAjIGNoZWNrIGZvciBYVApAQCAtMjQ5LDYgKzI1MSw4IEBAIEFDX1NVQlNU
KEdUS19DRkxBR1MpCiBBQ19TVUJTVChHVEtfTElCUykKIEFDX1NVQlNUKENBSVJPX0NGTEFHUykK
IEFDX1NVQlNUKENBSVJPX0xJQlMpCitBQ19TVUJTVChFTkNIQU5UX0NGTEFHUykKK0FDX1NVQlNU
KEVOQ0hBTlRfTElCUykKIAogIyBjaGVjayB3aGV0aGVyIHRvIGJ1aWxkIHdpdGggZGVidWdnaW5n
IGVuYWJsZWQKIEFDX01TR19DSEVDS0lORyhbd2hldGhlciB0byBkbyBhIGRlYnVnIGJ1aWxkXSkK
LS0gCjEuNi4yLjQKCg==
</data>
<flag name="review"
          id="14874"
          type_id="1"
          status="+"
          setter="gustavo"
    />
          </attachment>
      

    </bug>

</bugzilla>