<?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>118392</bug_id>
          
          <creation_ts>2013-07-04 06:47:11 -0700</creation_ts>
          <short_desc>[EFL][WK2] Implement unit test callbacks: onWordLearn and onWordIgnore</short_desc>
          <delta_ts>2013-07-05 03:30:02 -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>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Krzysztof Wolanski">k.wolanski</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>906158</commentid>
    <comment_count>0</comment_count>
    <who name="Krzysztof Wolanski">k.wolanski</who>
    <bug_when>2013-07-04 06:47:11 -0700</bug_when>
    <thetext>Simulate behavior of Learn and Ignore Word in the text field.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906159</commentid>
    <comment_count>1</comment_count>
      <attachid>206084</attachid>
    <who name="Krzysztof Wolanski">k.wolanski</who>
    <bug_when>2013-07-04 06:50:14 -0700</bug_when>
    <thetext>Created attachment 206084
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906172</commentid>
    <comment_count>2</comment_count>
      <attachid>206084</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-07-04 07:51:33 -0700</bug_when>
    <thetext>Comment on attachment 206084
proposed patch

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

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:807
&gt; +    knownWord = &quot;&quot;;

knownWord = String()?

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:839
&gt; +    knownWord = &quot;&quot;;

knownWord = String()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906174</commentid>
    <comment_count>3</comment_count>
      <attachid>206084</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2013-07-04 07:58:36 -0700</bug_when>
    <thetext>Comment on attachment 206084
proposed patch

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

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:55
&gt; +String knownWord;

why not static?

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:807
&gt;&gt; +    knownWord = &quot;&quot;;
&gt; 
&gt; knownWord = String()?

emptyString() ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906175</commentid>
    <comment_count>4</comment_count>
      <attachid>206088</attachid>
    <who name="Krzysztof Wolanski">k.wolanski</who>
    <bug_when>2013-07-04 08:02:36 -0700</bug_when>
    <thetext>Created attachment 206088
apply suggestions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906176</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-07-04 08:03:51 -0700</bug_when>
    <thetext>
&gt; &gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:807
&gt; &gt;&gt; +    knownWord = &quot;&quot;;
&gt; &gt; 
&gt; &gt; knownWord = String()?
&gt; 
&gt; emptyString() ?

Right, emptyString() is better indeed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906177</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-07-04 08:04:26 -0700</bug_when>
    <thetext>Why no review flag?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906180</commentid>
    <comment_count>7</comment_count>
      <attachid>206090</attachid>
    <who name="Krzysztof Wolanski">k.wolanski</who>
    <bug_when>2013-07-04 08:08:06 -0700</bug_when>
    <thetext>Created attachment 206090
apply suggestions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906181</commentid>
    <comment_count>8</comment_count>
      <attachid>206090</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-07-04 08:14:20 -0700</bug_when>
    <thetext>Comment on attachment 206090
apply suggestions

Ok, r=me but please let Grzegorz have a look before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906307</commentid>
    <comment_count>9</comment_count>
      <attachid>206090</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2013-07-05 00:07:46 -0700</bug_when>
    <thetext>Comment on attachment 206090
apply suggestions

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

I&apos;d love to see it in the trunk. Added one comments regarding to the spellchecking and one nit.

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:188
&gt; +    *misspellingLength = static_cast&lt;int32_t&gt;(knownWord.length());

As I understand correctly, this callback should treat known words as spelled correctly. Therefore, its length should be set to 0 to notify WebCore to don&apos;t create spelling marker for it. Additionally, the location should be set to -1 according to the doc.

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:813
&gt; +    mouseDoubleClick(10, 20, 1 /* Left button */);

Can we skip left button value and this comment here? mouseDoubleClick passes left button implicitly.

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:845
&gt; +    mouseDoubleClick(10, 20, 1 /* Left button */);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906333</commentid>
    <comment_count>10</comment_count>
      <attachid>206127</attachid>
    <who name="Krzysztof Wolanski">k.wolanski</who>
    <bug_when>2013-07-05 01:45:37 -0700</bug_when>
    <thetext>Created attachment 206127
apply suggestions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906343</commentid>
    <comment_count>11</comment_count>
      <attachid>206127</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2013-07-05 02:48:25 -0700</bug_when>
    <thetext>Comment on attachment 206127
apply suggestions

Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906351</commentid>
    <comment_count>12</comment_count>
      <attachid>206127</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-05 03:29:59 -0700</bug_when>
    <thetext>Comment on attachment 206127
apply suggestions

Clearing flags on attachment: 206127

Committed r152414: &lt;http://trac.webkit.org/changeset/152414&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906352</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-05 03:30:02 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206084</attachid>
            <date>2013-07-04 06:50:14 -0700</date>
            <delta_ts>2013-07-04 08:02:36 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>unit_test_onWordLearnIgnore.patch</filename>
            <type>text/plain</type>
            <size>8949</size>
            <attacher name="Krzysztof Wolanski">k.wolanski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA1MzlhMjk2Li5kMDg1NTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQg
QEAKKzIwMTMtMDctMDQgIEtyenlzenRvZiBXb2xhbnNraSAgPGsud29sYW5za2lAc2Ftc3VuZy5j
b20+CisKKyAgICAgICAgW0VGTF1bV0syXSBJbXBsZW1lbnQgdW5pdCB0ZXN0IGNhbGxiYWNrczog
b25Xb3JkTGVhcm4gYW5kIG9uV29yZElnbm9yZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExODM5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFNpbXVsYXRlIGJlaGF2aW9yIG9mIExlYXJuIGFuZCBJZ25v
cmUgV29yZCBpbiB0aGUgdGV4dCBmaWVsZC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZs
L3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5jcHA6CisgICAgICAgIChFV0sy
VW5pdFRlc3Q6OkVXSzJVbml0VGVzdEJhc2U6Om1vdXNlRG91YmxlQ2xpY2spOgorICAgICAgICBT
ZWxlY3QgdGhlIGVudGlyZSB3b3JkIGluIHRoZSB0ZXh0IGZpZWxkLgorCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX3RleHRfY2hlY2tlci5j
cHA6CisgICAgICAgIChvblNwZWxsaW5nRm9yS25vd25Xb3JkKToKKyAgICAgICAgKG9uV29yZExl
YXJuKToKKyAgICAgICAgKG9uV29yZElnbm9yZSk6CisgICAgICAgIChzZWxlY3RMZWFyblNwZWxs
aW5nKToKKyAgICAgICAgKHNlbGVjdElnbm9yZVNwZWxsaW5nKToKKwogMjAxMy0wNy0wMSAgQWxl
eGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBDbGVhbiB1cCBwcml2
YXRlIGJyb3dzaW5nIHNlc3Npb24gdHJhY2tpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxz
L0VXSzJVbml0VGVzdEJhc2UuY3BwCmluZGV4IDVmNDgyNTAuLmM2NzFjYjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdL
MlVuaXRUZXN0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
dGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmNwcApAQCAtMjQzLDYgKzI0Mywx
NCBAQCB2b2lkIEVXSzJVbml0VGVzdEJhc2U6Om1vdXNlQ2xpY2soaW50IHgsIGludCB5LCBpbnQg
YnV0dG9uKQogICAgIGV2YXNfZXZlbnRfZmVlZF9tb3VzZV91cChldmFzLCBidXR0b24sIEVWQVNf
QlVUVE9OX05PTkUsIDAsIDApOwogfQogCit2b2lkIEVXSzJVbml0VGVzdEJhc2U6Om1vdXNlRG91
YmxlQ2xpY2soaW50IHgsIGludCB5LCBpbnQgYnV0dG9uKQoreworICAgIEV2YXMqIGV2YXMgPSBl
dmFzX29iamVjdF9ldmFzX2dldChtX3dlYlZpZXcpOworICAgIGV2YXNfZXZlbnRfZmVlZF9tb3Vz
ZV9tb3ZlKGV2YXMsIHgsIHksIDAsIDApOworICAgIGV2YXNfZXZlbnRfZmVlZF9tb3VzZV9kb3du
KGV2YXMsIGJ1dHRvbiwgRVZBU19CVVRUT05fRE9VQkxFX0NMSUNLLCAwLCAwKTsKKyAgICBldmFz
X2V2ZW50X2ZlZWRfbW91c2VfdXAoZXZhcywgYnV0dG9uLCBFVkFTX0JVVFRPTl9OT05FLCAwLCAw
KTsKK30KKwogdm9pZCBFV0syVW5pdFRlc3RCYXNlOjptb3VzZURvd24oaW50IHgsIGludCB5LCBp
bnQgYnV0dG9uKQogewogICAgIEV2YXMqIGV2YXMgPSBldmFzX29iamVjdF9ldmFzX2dldChtX3dl
YlZpZXcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVz
dHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuaAppbmRl
eCA5OWYxZmE5Li4xM2VmYThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0
VGVzdEJhc2UuaApAQCAtNTMsNiArNTMsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgYm9vbCB3YWl0VW50
aWxUcnVlKGJvb2wgJmZsYWcsIGRvdWJsZSB0aW1lb3V0U2Vjb25kcyA9IGRlZmF1bHRUaW1lb3V0
U2Vjb25kcyk7CiAKICAgICB2b2lkIG1vdXNlQ2xpY2soaW50IHgsIGludCB5LCBpbnQgYnV0dG9u
ID0gMSAvKkxlZnQqLyk7CisgICAgdm9pZCBtb3VzZURvdWJsZUNsaWNrKGludCB4LCBpbnQgeSwg
aW50IGJ1dHRvbiA9IDEgLypMZWZ0Ki8pOwogICAgIHZvaWQgbW91c2VEb3duKGludCB4LCBpbnQg
eSwgaW50IGJ1dHRvbiA9IDEgLypMZWZ0Ki8pOwogICAgIHZvaWQgbW91c2VVcChpbnQgeCwgaW50
IHksIGludCBidXR0b24gPSAxIC8qTGVmdCovKTsKICAgICB2b2lkIG1vdXNlTW92ZShpbnQgeCwg
aW50IHkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVz
dHMvdGVzdF9ld2syX3RleHRfY2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdGV4dF9jaGVja2VyLmNwcAppbmRleCA3NGE4ZTdhLi5j
M2RhYTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0
cy90ZXN0X2V3azJfdGV4dF9jaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdGV4dF9jaGVja2VyLmNwcApAQCAtNTIsNiArNTIs
NyBAQCBzdGF0aWMgY29uc3QgY2hhciBsZWFyblNwZWxsaW5nU3RyaW5nW10gPSAiTGVhcm4gU3Bl
bGxpbmciOwogCiBzdGF0aWMgY29uc3QgY2hhciogY2xpZW50U3VnZ2VzdGlvbnNGb3JXb3JkW10g
PSB7ICJjbGllbnRTdWdnZXN0aW9uMSIsICJjbGllbnRTdWdnZXN0aW9uMiIsICJjbGllbnRTdWdn
ZXN0aW9uMyIgfTsKIHN0YXRpYyB1bnNpZ25lZCBjb250ZXh0TWVudUl0ZW1zTnVtYmVyID0gMDsK
K1N0cmluZyBrbm93bldvcmQ7CiAKIC8qKgogICogU3RydWN0dXJlIGtlZXBzIGluZm9ybWF0aW9u
IHdoaWNoIGNhbGxiYWNrcyB3ZXJlIGNhbGxlZC4KQEAgLTE2OCw2ICsxNjksMjggQEAgc3RhdGlj
IHZvaWQgb25TcGVsbGluZ0NoZWNrKHVpbnQ2NF90IHRhZywgY29uc3QgY2hhciogdGV4dCwgaW50
MzJfdCogbWlzc3BlbGxpbmcKIH0KIAogLyoqCisgKiBDaGVja3Mgc3BlbGxpbmcgZm9yIHRoZSBn
aXZlbiBAYSB0ZXh0IGFuZCBjb21wYXJlcyBpdCB3aXRoIHRoZSBrbm93bldvcmQuCisgKgorICog
QGludGVybmFsCisgKgorICogQHBhcmFtIHRleHQgdGhlIHRleHQgY29udGFpbmluZyB0aGUgd29y
ZHMgdG8gc3BlbGxjaGVjaworICogQHBhcmFtIG1pc3NwZWxsaW5nX2xvY2F0aW9uIGEgcG9pbnRl
ciB0byBzdG9yZSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBtaXNzcGVsbGVkIEBhIHRleHQsIEBjIC0x
IGlmIHRoZSBAYSB0ZXh0IGlzIGNvcnJlY3QKKyAqIEBwYXJhbSBtaXNzcGVsbGluZ19sZW5ndGgg
YSBwb2ludGVyIHRvIHN0b3JlIHRoZSBsZW5ndGggb2YgbWlzc3BlbGxlZCBAYSB0ZXh0LCBAYyAw
IGlmIHRoZSBAYSB0ZXh0IGlzIGNvcnJlY3QKKyAqLworc3RhdGljIHZvaWQgb25TcGVsbGluZ0Zv
cktub3duV29yZCh1aW50NjRfdCwgY29uc3QgY2hhciogdGV4dCwgaW50MzJfdCogbWlzc3BlbGxp
bmdMb2NhdGlvbiwgaW50MzJfdCogbWlzc3BlbGxpbmdMZW5ndGgpCit7CisgICAgQVNTRVJUX1NU
UkVRKGtub3duV29yZC51dGY4KCkuZGF0YSgpLCB0ZXh0KTsKKworICAgIEFTU0VSVF9UUlVFKG1p
c3NwZWxsaW5nTG9jYXRpb24pOworICAgIEFTU0VSVF9UUlVFKG1pc3NwZWxsaW5nTGVuZ3RoKTsK
KworICAgICptaXNzcGVsbGluZ0xvY2F0aW9uID0gMDsKKyAgICAqbWlzc3BlbGxpbmdMZW5ndGgg
PSBzdGF0aWNfY2FzdDxpbnQzMl90Pihrbm93bldvcmQubGVuZ3RoKCkpOworCisgICAgY2FsbGJh
Y2tzRXhlY3V0aW9uU3RhdHMuc3BlbGxpbmdDaGVjayA9IHRydWU7Cit9CisKKy8qKgogICogR2V0
cyBhIGxpc3Qgb2Ygc3VnZ2VzdGVkIHNwZWxsaW5ncyBmb3IgYSBtaXNzcGVsbGVkIEBhIHdvcmQu
CiAgKgogICogQGludGVybmFsCkBAIC0yMDMsNiArMjI2LDcgQEAgc3RhdGljIHZvaWQgb25Xb3Jk
TGVhcm4odWludDY0X3QgdGFnLCBjb25zdCBjaGFyKiB3b3JkKQogewogICAgIEFTU0VSVF9FUShk
ZWZhdWx0RG9jdW1lbnRUYWcsIHRhZyk7CiAgICAgQVNTRVJUX1NUUkVRKGV4cGVjdGVkTWlzc3Bl
bGxlZFdvcmQsIHdvcmQpOworICAgIGtub3duV29yZCA9IHdvcmQ7CiAgICAgY2FsbGJhY2tzRXhl
Y3V0aW9uU3RhdHMud29yZExlYXJuID0gdHJ1ZTsKIH0KIApAQCAtMjE4LDYgKzI0Miw3IEBAIHN0
YXRpYyB2b2lkIG9uV29yZElnbm9yZSh1aW50NjRfdCB0YWcsIGNvbnN0IGNoYXIqIHdvcmQpCiB7
CiAgICAgQVNTRVJUX0VRKGRlZmF1bHREb2N1bWVudFRhZywgdGFnKTsKICAgICBBU1NFUlRfU1RS
RVEoZXhwZWN0ZWRNaXNzcGVsbGVkV29yZCwgd29yZCk7CisgICAga25vd25Xb3JkID0gd29yZDsK
ICAgICBjYWxsYmFja3NFeGVjdXRpb25TdGF0cy53b3JkSWdub3JlID0gdHJ1ZTsKIH0KIApAQCAt
MzA1LDYgKzMzMCwxNiBAQCBzdGF0aWMgRWluYV9Cb29sIGNoZWNrQ2xpZW50U3VnZ2VzdGlvbnNG
b3JXb3JkKEV3a19WaWV3X1NtYXJ0X0RhdGEqLCBFdmFzX0Nvb3JkLAogICAgIHJldHVybiB0cnVl
OwogfQogCitzdGF0aWMgRWluYV9Cb29sIHNlbGVjdExlYXJuU3BlbGxpbmcoRXdrX1ZpZXdfU21h
cnRfRGF0YSosIEV2YXNfQ29vcmQsIEV2YXNfQ29vcmQsIEV3a19Db250ZXh0X01lbnUqIGNvbnRl
eHRNZW51KQoreworICAgIHJldHVybiBld2tfY29udGV4dF9tZW51X2l0ZW1fc2VsZWN0KGNvbnRl
eHRNZW51LCBmaW5kQ29udGV4dE1lbnVJdGVtKGNvbnRleHRNZW51LCBFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX0xFQVJOX1NQRUxMSU5HLCBFV0tfQUNUSU9OX1RZUEUpKTsKK30KKworc3RhdGlj
IEVpbmFfQm9vbCBzZWxlY3RJZ25vcmVTcGVsbGluZyhFd2tfVmlld19TbWFydF9EYXRhKiwgRXZh
c19Db29yZCwgRXZhc19Db29yZCwgRXdrX0NvbnRleHRfTWVudSogY29udGV4dE1lbnUpCit7Cisg
ICAgcmV0dXJuIGV3a19jb250ZXh0X21lbnVfaXRlbV9zZWxlY3QoY29udGV4dE1lbnUsIGZpbmRD
b250ZXh0TWVudUl0ZW0oY29udGV4dE1lbnUsIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfSUdO
T1JFX1NQRUxMSU5HLCBFV0tfQUNUSU9OX1RZUEUpKTsKK30KKwogLyoqCiAgKiBDb3VudCBudW1i
ZXIgb2YgZWxlbWVudHMgaW4gY29udGV4dCBtZW51LgogICovCkBAIC03NjMsNDAgKzc5OCw2NCBA
QCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX3RleHRfY2hlY2tlcl93b3JkX2d1ZXNzZXNf
Z2V0X2NiX3NldCkKIAogLyoqCiAgKiBUZXN0IHdoZXRoZXIgdGhlIGNsaWVudCdzIGNhbGxiYWNr
IChvbldvcmRMZWFybikgaXMgY2FsbGVkIHdoZW4KLSAqIHRoZSBjb250ZXh0IG1lbnUgb3B0aW9u
ICJMZWFybiBzcGVsbGluZyIgd2FzIGNob29zZW4uCisgKiB0aGUgY29udGV4dCBtZW51IG9wdGlv
biAiTGVhcm4gc3BlbGxpbmciIHdhcyBjaG9zZW4uIEluIHRoZSBuZXh0IHN0ZXAsCisgKiBjaGVj
ayB3aGV0aGVyIHRoZSBsZWFybmVkIHdvcmQgaXMgdHJlYXRlZCBhcyBzcGVsbGVkIGNvcnJlY3Rs
eSB3aGlsZSBzcGVsbCBjaGVja2luZy4KICAqLwogVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3
a190ZXh0X2NoZWNrZXJfd29yZF9sZWFybl9jYl9zZXQpCiB7CiAgICAgcmVzZXRDYWxsYmFja3NF
eGVjdXRpb25TdGF0cygpOworICAgIGtub3duV29yZCA9ICIiOwogICAgIGRlZmF1bHRWaWV3ID0g
d2ViVmlldygpOwotICAgIGV3a190ZXh0X2NoZWNrZXJfY29udGludW91c19zcGVsbF9jaGVja2lu
Z19lbmFibGVkX3NldCh0cnVlKTsKLQogICAgIGV3a190ZXh0X2NoZWNrZXJfd29yZF9sZWFybl9j
Yl9zZXQob25Xb3JkTGVhcm4pOworICAgIGV3a1ZpZXdDbGFzcygpLT5jb250ZXh0X21lbnVfc2hv
dyA9IHNlbGVjdExlYXJuU3BlbGxpbmc7CiAKICAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyhl
bnZpcm9ubWVudC0+dXJsRm9yUmVzb3VyY2UoInNwZWxsaW5nX3Rlc3QuaHRtbCIpLmRhdGEoKSkp
OworICAgIG1vdXNlRG91YmxlQ2xpY2soMTAsIDIwLCAxIC8qIExlZnQgYnV0dG9uICovKTsKKyAg
ICBtb3VzZUNsaWNrKDEwLCAyMCwgMyAvKiBSaWdodCBidXR0b24gLSBpbnZva2UgY29udGV4dCBt
ZW51ICovKTsKKworICAgIEFTU0VSVF9UUlVFKHdhaXRVbnRpbFRydWUoY2FsbGJhY2tzRXhlY3V0
aW9uU3RhdHMud29yZExlYXJuKSk7CisKKyAgICAvLyBPcGVuIGh0bWwgYWdhaW4gYW5kIGNoZWNr
IHdoZXRoZXIgdGhlIGxlYXJuZWQgd29yZAorICAgIC8vIGlzIHRyZWF0ZWQgYXMgc3BlbGxlZCBj
b3JyZWN0bHkgd2hpbGUgc3BlbGwgY2hlY2tpbmcuCisgICAgcmVzZXRDYWxsYmFja3NFeGVjdXRp
b25TdGF0cygpOworICAgIGV3a190ZXh0X2NoZWNrZXJfc3RyaW5nX3NwZWxsaW5nX2NoZWNrX2Ni
X3NldChvblNwZWxsaW5nRm9yS25vd25Xb3JkKTsKKworICAgIEFTU0VSVF9UUlVFKGxvYWRVcmxT
eW5jKGVudmlyb25tZW50LT51cmxGb3JSZXNvdXJjZSgic3BlbGxpbmdfdGVzdC5odG1sIikuZGF0
YSgpKSk7CisKKyAgICBBU1NFUlRfVFJVRShjYWxsYmFja3NFeGVjdXRpb25TdGF0cy5zcGVsbGlu
Z0NoZWNrKTsKIAotICAgIC8qIEZJWE1FOgotICAgICAgICAxKSBJbnZva2UgdGhlIGNvbnRleHQg
bWVudSBvbiB0aGUgbWlzc3BlbGxlZCB3b3JkIChub3QgaW1wbGVtZW50ZWQgZm9yIFdLMiksCi0g
ICAgICAgICAgIHRoZSB3b3JkIGhhcyB0byBiZSBzZWxlY3RlZCBmaXJzdC4KLSAgICAgICAgMikg
Q2hlY2sgd2hldGhlciB0aGUgY2FsbGJhY2sgd2FzIGNhbGxlZC4gKi8KKyAgICBld2tfdGV4dF9j
aGVja2VyX3N0cmluZ19zcGVsbGluZ19jaGVja19jYl9zZXQoMCk7CisgICAgZXdrX3RleHRfY2hl
Y2tlcl93b3JkX2xlYXJuX2NiX3NldCgwKTsKIH0KIAogLyoqCiAgKiBUZXN0IHdoZXRoZXIgdGhl
IGNsaWVudCdzIGNhbGxiYWNrIChvbldvcmRJZ25vcmUpIGlzIGNhbGxlZCB3aGVuCi0gKiB0aGUg
Y29udGV4dCBtZW51IG9wdGlvbiAiSWdub3JlIHNwZWxsaW5nIiB3YXMgY2hvb3Nlbi4KKyAqIHRo
ZSBjb250ZXh0IG1lbnUgb3B0aW9uICJJZ25vcmUgc3BlbGxpbmciIHdhcyBjaG9zZW4uIEluIHRo
ZSBuZXh0IHN0ZXAsCisgKiBjaGVjayB3aGV0aGVyIHRoZSBpZ25vcmVkIHdvcmQgaXMgdHJlYXRl
ZCBhcyBzcGVsbGVkIGNvcnJlY3RseSB3aGlsZSBzcGVsbCBjaGVja2luZy4KICAqLwogVEVTVF9G
KEVXSzJVbml0VGVzdEJhc2UsIGV3a190ZXh0X2NoZWNrZXJfd29yZF9pZ25vcmVfY2Jfc2V0KQog
ewogICAgIHJlc2V0Q2FsbGJhY2tzRXhlY3V0aW9uU3RhdHMoKTsKKyAgICBrbm93bldvcmQgPSAi
IjsKICAgICBkZWZhdWx0VmlldyA9IHdlYlZpZXcoKTsKLSAgICBld2tfdGV4dF9jaGVja2VyX2Nv
bnRpbnVvdXNfc3BlbGxfY2hlY2tpbmdfZW5hYmxlZF9zZXQodHJ1ZSk7Ci0KICAgICBld2tfdGV4
dF9jaGVja2VyX3dvcmRfaWdub3JlX2NiX3NldChvbldvcmRJZ25vcmUpOworICAgIGV3a1ZpZXdD
bGFzcygpLT5jb250ZXh0X21lbnVfc2hvdyA9IHNlbGVjdElnbm9yZVNwZWxsaW5nOwogCiAgICAg
QVNTRVJUX1RSVUUobG9hZFVybFN5bmMoZW52aXJvbm1lbnQtPnVybEZvclJlc291cmNlKCJzcGVs
bGluZ190ZXN0Lmh0bWwiKS5kYXRhKCkpKTsKKyAgICBtb3VzZURvdWJsZUNsaWNrKDEwLCAyMCwg
MSAvKiBMZWZ0IGJ1dHRvbiAqLyk7CisgICAgbW91c2VDbGljaygxMCwgMjAsIDMgLyogUmlnaHQg
YnV0dG9uIC0gaW52b2tlIGNvbnRleHQgbWVudSAqLyk7CisKKyAgICBBU1NFUlRfVFJVRSh3YWl0
VW50aWxUcnVlKGNhbGxiYWNrc0V4ZWN1dGlvblN0YXRzLndvcmRJZ25vcmUpKTsKKworICAgIC8v
IE9wZW4gaHRtbCBhZ2FpbiBhbmQgY2hlY2sgd2hldGhlciB0aGUgaWdub3JlZCB3b3JkCisgICAg
Ly8gaXMgdHJlYXRlZCBhcyBzcGVsbGVkIGNvcnJlY3RseSB3aGlsZSBzcGVsbCBjaGVja2luZy4K
KyAgICByZXNldENhbGxiYWNrc0V4ZWN1dGlvblN0YXRzKCk7CisgICAgZXdrX3RleHRfY2hlY2tl
cl9zdHJpbmdfc3BlbGxpbmdfY2hlY2tfY2Jfc2V0KG9uU3BlbGxpbmdGb3JLbm93bldvcmQpOwor
CisgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmMoZW52aXJvbm1lbnQtPnVybEZvclJlc291cmNl
KCJzcGVsbGluZ190ZXN0Lmh0bWwiKS5kYXRhKCkpKTsKKworICAgIEFTU0VSVF9UUlVFKGNhbGxi
YWNrc0V4ZWN1dGlvblN0YXRzLnNwZWxsaW5nQ2hlY2spOwogCi0gICAgLyogRklYTUU6Ci0gICAg
ICAgIDEpIEludm9rZSB0aGUgY29udGV4dCBtZW51IG9uIHRoZSBtaXNzcGVsbGVkIHdvcmQgKG5v
dCBpbXBsZW1lbnRlZCBmb3IgV0syKSwKLSAgICAgICAgICAgdGhlIHdvcmQgaGFzIHRvIGJlIHNl
bGVjdGVkIGZpcnN0LgotICAgICAgICAyKSBDaGVjayB3aGV0aGVyIHRoZSBjYWxsYmFjayB3YXMg
Y2FsbGVkLiAqLworICAgIGV3a190ZXh0X2NoZWNrZXJfc3RyaW5nX3NwZWxsaW5nX2NoZWNrX2Ni
X3NldCgwKTsKKyAgICBld2tfdGV4dF9jaGVja2VyX3dvcmRfaWdub3JlX2NiX3NldCgwKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206088</attachid>
            <date>2013-07-04 08:02:36 -0700</date>
            <delta_ts>2013-07-04 08:08:06 -0700</delta_ts>
            <desc>apply suggestions</desc>
            <filename>unit_test_onWordLearnIgnore.patch</filename>
            <type>text/plain</type>
            <size>8968</size>
            <attacher name="Krzysztof Wolanski">k.wolanski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA1MzlhMjk2Li5kMDg1NTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQg
QEAKKzIwMTMtMDctMDQgIEtyenlzenRvZiBXb2xhbnNraSAgPGsud29sYW5za2lAc2Ftc3VuZy5j
b20+CisKKyAgICAgICAgW0VGTF1bV0syXSBJbXBsZW1lbnQgdW5pdCB0ZXN0IGNhbGxiYWNrczog
b25Xb3JkTGVhcm4gYW5kIG9uV29yZElnbm9yZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExODM5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFNpbXVsYXRlIGJlaGF2aW9yIG9mIExlYXJuIGFuZCBJZ25v
cmUgV29yZCBpbiB0aGUgdGV4dCBmaWVsZC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZs
L3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5jcHA6CisgICAgICAgIChFV0sy
VW5pdFRlc3Q6OkVXSzJVbml0VGVzdEJhc2U6Om1vdXNlRG91YmxlQ2xpY2spOgorICAgICAgICBT
ZWxlY3QgdGhlIGVudGlyZSB3b3JkIGluIHRoZSB0ZXh0IGZpZWxkLgorCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX3RleHRfY2hlY2tlci5j
cHA6CisgICAgICAgIChvblNwZWxsaW5nRm9yS25vd25Xb3JkKToKKyAgICAgICAgKG9uV29yZExl
YXJuKToKKyAgICAgICAgKG9uV29yZElnbm9yZSk6CisgICAgICAgIChzZWxlY3RMZWFyblNwZWxs
aW5nKToKKyAgICAgICAgKHNlbGVjdElnbm9yZVNwZWxsaW5nKToKKwogMjAxMy0wNy0wMSAgQWxl
eGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBDbGVhbiB1cCBwcml2
YXRlIGJyb3dzaW5nIHNlc3Npb24gdHJhY2tpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxz
L0VXSzJVbml0VGVzdEJhc2UuY3BwCmluZGV4IDVmNDgyNTAuLmM2NzFjYjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdL
MlVuaXRUZXN0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
dGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmNwcApAQCAtMjQzLDYgKzI0Mywx
NCBAQCB2b2lkIEVXSzJVbml0VGVzdEJhc2U6Om1vdXNlQ2xpY2soaW50IHgsIGludCB5LCBpbnQg
YnV0dG9uKQogICAgIGV2YXNfZXZlbnRfZmVlZF9tb3VzZV91cChldmFzLCBidXR0b24sIEVWQVNf
QlVUVE9OX05PTkUsIDAsIDApOwogfQogCit2b2lkIEVXSzJVbml0VGVzdEJhc2U6Om1vdXNlRG91
YmxlQ2xpY2soaW50IHgsIGludCB5LCBpbnQgYnV0dG9uKQoreworICAgIEV2YXMqIGV2YXMgPSBl
dmFzX29iamVjdF9ldmFzX2dldChtX3dlYlZpZXcpOworICAgIGV2YXNfZXZlbnRfZmVlZF9tb3Vz
ZV9tb3ZlKGV2YXMsIHgsIHksIDAsIDApOworICAgIGV2YXNfZXZlbnRfZmVlZF9tb3VzZV9kb3du
KGV2YXMsIGJ1dHRvbiwgRVZBU19CVVRUT05fRE9VQkxFX0NMSUNLLCAwLCAwKTsKKyAgICBldmFz
X2V2ZW50X2ZlZWRfbW91c2VfdXAoZXZhcywgYnV0dG9uLCBFVkFTX0JVVFRPTl9OT05FLCAwLCAw
KTsKK30KKwogdm9pZCBFV0syVW5pdFRlc3RCYXNlOjptb3VzZURvd24oaW50IHgsIGludCB5LCBp
bnQgYnV0dG9uKQogewogICAgIEV2YXMqIGV2YXMgPSBldmFzX29iamVjdF9ldmFzX2dldChtX3dl
YlZpZXcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVz
dHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuaAppbmRl
eCA5OWYxZmE5Li4xM2VmYThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0
VGVzdEJhc2UuaApAQCAtNTMsNiArNTMsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgYm9vbCB3YWl0VW50
aWxUcnVlKGJvb2wgJmZsYWcsIGRvdWJsZSB0aW1lb3V0U2Vjb25kcyA9IGRlZmF1bHRUaW1lb3V0
U2Vjb25kcyk7CiAKICAgICB2b2lkIG1vdXNlQ2xpY2soaW50IHgsIGludCB5LCBpbnQgYnV0dG9u
ID0gMSAvKkxlZnQqLyk7CisgICAgdm9pZCBtb3VzZURvdWJsZUNsaWNrKGludCB4LCBpbnQgeSwg
aW50IGJ1dHRvbiA9IDEgLypMZWZ0Ki8pOwogICAgIHZvaWQgbW91c2VEb3duKGludCB4LCBpbnQg
eSwgaW50IGJ1dHRvbiA9IDEgLypMZWZ0Ki8pOwogICAgIHZvaWQgbW91c2VVcChpbnQgeCwgaW50
IHksIGludCBidXR0b24gPSAxIC8qTGVmdCovKTsKICAgICB2b2lkIG1vdXNlTW92ZShpbnQgeCwg
aW50IHkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVz
dHMvdGVzdF9ld2syX3RleHRfY2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdGV4dF9jaGVja2VyLmNwcAppbmRleCA3NGE4ZTdhLi5j
MTk5ZDFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0
cy90ZXN0X2V3azJfdGV4dF9jaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdGV4dF9jaGVja2VyLmNwcApAQCAtNTIsNiArNTIs
NyBAQCBzdGF0aWMgY29uc3QgY2hhciBsZWFyblNwZWxsaW5nU3RyaW5nW10gPSAiTGVhcm4gU3Bl
bGxpbmciOwogCiBzdGF0aWMgY29uc3QgY2hhciogY2xpZW50U3VnZ2VzdGlvbnNGb3JXb3JkW10g
PSB7ICJjbGllbnRTdWdnZXN0aW9uMSIsICJjbGllbnRTdWdnZXN0aW9uMiIsICJjbGllbnRTdWdn
ZXN0aW9uMyIgfTsKIHN0YXRpYyB1bnNpZ25lZCBjb250ZXh0TWVudUl0ZW1zTnVtYmVyID0gMDsK
K3N0YXRpYyBTdHJpbmcga25vd25Xb3JkOwogCiAvKioKICAqIFN0cnVjdHVyZSBrZWVwcyBpbmZv
cm1hdGlvbiB3aGljaCBjYWxsYmFja3Mgd2VyZSBjYWxsZWQuCkBAIC0xNjgsNiArMTY5LDI4IEBA
IHN0YXRpYyB2b2lkIG9uU3BlbGxpbmdDaGVjayh1aW50NjRfdCB0YWcsIGNvbnN0IGNoYXIqIHRl
eHQsIGludDMyX3QqIG1pc3NwZWxsaW5nCiB9CiAKIC8qKgorICogQ2hlY2tzIHNwZWxsaW5nIGZv
ciB0aGUgZ2l2ZW4gQGEgdGV4dCBhbmQgY29tcGFyZXMgaXQgd2l0aCB0aGUga25vd25Xb3JkLgor
ICoKKyAqIEBpbnRlcm5hbAorICoKKyAqIEBwYXJhbSB0ZXh0IHRoZSB0ZXh0IGNvbnRhaW5pbmcg
dGhlIHdvcmRzIHRvIHNwZWxsY2hlY2sKKyAqIEBwYXJhbSBtaXNzcGVsbGluZ19sb2NhdGlvbiBh
IHBvaW50ZXIgdG8gc3RvcmUgdGhlIGJlZ2lubmluZyBvZiB0aGUgbWlzc3BlbGxlZCBAYSB0ZXh0
LCBAYyAtMSBpZiB0aGUgQGEgdGV4dCBpcyBjb3JyZWN0CisgKiBAcGFyYW0gbWlzc3BlbGxpbmdf
bGVuZ3RoIGEgcG9pbnRlciB0byBzdG9yZSB0aGUgbGVuZ3RoIG9mIG1pc3NwZWxsZWQgQGEgdGV4
dCwgQGMgMCBpZiB0aGUgQGEgdGV4dCBpcyBjb3JyZWN0CisgKi8KK3N0YXRpYyB2b2lkIG9uU3Bl
bGxpbmdGb3JLbm93bldvcmQodWludDY0X3QsIGNvbnN0IGNoYXIqIHRleHQsIGludDMyX3QqIG1p
c3NwZWxsaW5nTG9jYXRpb24sIGludDMyX3QqIG1pc3NwZWxsaW5nTGVuZ3RoKQoreworICAgIEFT
U0VSVF9TVFJFUShrbm93bldvcmQudXRmOCgpLmRhdGEoKSwgdGV4dCk7CisKKyAgICBBU1NFUlRf
VFJVRShtaXNzcGVsbGluZ0xvY2F0aW9uKTsKKyAgICBBU1NFUlRfVFJVRShtaXNzcGVsbGluZ0xl
bmd0aCk7CisKKyAgICAqbWlzc3BlbGxpbmdMb2NhdGlvbiA9IDA7CisgICAgKm1pc3NwZWxsaW5n
TGVuZ3RoID0gc3RhdGljX2Nhc3Q8aW50MzJfdD4oa25vd25Xb3JkLmxlbmd0aCgpKTsKKworICAg
IGNhbGxiYWNrc0V4ZWN1dGlvblN0YXRzLnNwZWxsaW5nQ2hlY2sgPSB0cnVlOworfQorCisvKioK
ICAqIEdldHMgYSBsaXN0IG9mIHN1Z2dlc3RlZCBzcGVsbGluZ3MgZm9yIGEgbWlzc3BlbGxlZCBA
YSB3b3JkLgogICoKICAqIEBpbnRlcm5hbApAQCAtMjAzLDYgKzIyNiw3IEBAIHN0YXRpYyB2b2lk
IG9uV29yZExlYXJuKHVpbnQ2NF90IHRhZywgY29uc3QgY2hhciogd29yZCkKIHsKICAgICBBU1NF
UlRfRVEoZGVmYXVsdERvY3VtZW50VGFnLCB0YWcpOwogICAgIEFTU0VSVF9TVFJFUShleHBlY3Rl
ZE1pc3NwZWxsZWRXb3JkLCB3b3JkKTsKKyAgICBrbm93bldvcmQgPSB3b3JkOwogICAgIGNhbGxi
YWNrc0V4ZWN1dGlvblN0YXRzLndvcmRMZWFybiA9IHRydWU7CiB9CiAKQEAgLTIxOCw2ICsyNDIs
NyBAQCBzdGF0aWMgdm9pZCBvbldvcmRJZ25vcmUodWludDY0X3QgdGFnLCBjb25zdCBjaGFyKiB3
b3JkKQogewogICAgIEFTU0VSVF9FUShkZWZhdWx0RG9jdW1lbnRUYWcsIHRhZyk7CiAgICAgQVNT
RVJUX1NUUkVRKGV4cGVjdGVkTWlzc3BlbGxlZFdvcmQsIHdvcmQpOworICAgIGtub3duV29yZCA9
IHdvcmQ7CiAgICAgY2FsbGJhY2tzRXhlY3V0aW9uU3RhdHMud29yZElnbm9yZSA9IHRydWU7CiB9
CiAKQEAgLTMwNSw2ICszMzAsMTYgQEAgc3RhdGljIEVpbmFfQm9vbCBjaGVja0NsaWVudFN1Z2dl
c3Rpb25zRm9yV29yZChFd2tfVmlld19TbWFydF9EYXRhKiwgRXZhc19Db29yZCwKICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAorc3RhdGljIEVpbmFfQm9vbCBzZWxlY3RMZWFyblNwZWxsaW5nKEV3a19W
aWV3X1NtYXJ0X0RhdGEqLCBFdmFzX0Nvb3JkLCBFdmFzX0Nvb3JkLCBFd2tfQ29udGV4dF9NZW51
KiBjb250ZXh0TWVudSkKK3sKKyAgICByZXR1cm4gZXdrX2NvbnRleHRfbWVudV9pdGVtX3NlbGVj
dChjb250ZXh0TWVudSwgZmluZENvbnRleHRNZW51SXRlbShjb250ZXh0TWVudSwgRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19MRUFSTl9TUEVMTElORywgRVdLX0FDVElPTl9UWVBFKSk7Cit9CisK
K3N0YXRpYyBFaW5hX0Jvb2wgc2VsZWN0SWdub3JlU3BlbGxpbmcoRXdrX1ZpZXdfU21hcnRfRGF0
YSosIEV2YXNfQ29vcmQsIEV2YXNfQ29vcmQsIEV3a19Db250ZXh0X01lbnUqIGNvbnRleHRNZW51
KQoreworICAgIHJldHVybiBld2tfY29udGV4dF9tZW51X2l0ZW1fc2VsZWN0KGNvbnRleHRNZW51
LCBmaW5kQ29udGV4dE1lbnVJdGVtKGNvbnRleHRNZW51LCBFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX0lHTk9SRV9TUEVMTElORywgRVdLX0FDVElPTl9UWVBFKSk7Cit9CisKIC8qKgogICogQ291
bnQgbnVtYmVyIG9mIGVsZW1lbnRzIGluIGNvbnRleHQgbWVudS4KICAqLwpAQCAtNzYzLDQwICs3
OTgsNjQgQEAgVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a190ZXh0X2NoZWNrZXJfd29yZF9n
dWVzc2VzX2dldF9jYl9zZXQpCiAKIC8qKgogICogVGVzdCB3aGV0aGVyIHRoZSBjbGllbnQncyBj
YWxsYmFjayAob25Xb3JkTGVhcm4pIGlzIGNhbGxlZCB3aGVuCi0gKiB0aGUgY29udGV4dCBtZW51
IG9wdGlvbiAiTGVhcm4gc3BlbGxpbmciIHdhcyBjaG9vc2VuLgorICogdGhlIGNvbnRleHQgbWVu
dSBvcHRpb24gIkxlYXJuIHNwZWxsaW5nIiB3YXMgY2hvc2VuLiBJbiB0aGUgbmV4dCBzdGVwLAor
ICogY2hlY2sgd2hldGhlciB0aGUgbGVhcm5lZCB3b3JkIGlzIHRyZWF0ZWQgYXMgc3BlbGxlZCBj
b3JyZWN0bHkgd2hpbGUgc3BlbGwgY2hlY2tpbmcuCiAgKi8KIFRFU1RfRihFV0syVW5pdFRlc3RC
YXNlLCBld2tfdGV4dF9jaGVja2VyX3dvcmRfbGVhcm5fY2Jfc2V0KQogewogICAgIHJlc2V0Q2Fs
bGJhY2tzRXhlY3V0aW9uU3RhdHMoKTsKKyAgICBrbm93bldvcmQgPSBTdHJpbmcoKTsKICAgICBk
ZWZhdWx0VmlldyA9IHdlYlZpZXcoKTsKLSAgICBld2tfdGV4dF9jaGVja2VyX2NvbnRpbnVvdXNf
c3BlbGxfY2hlY2tpbmdfZW5hYmxlZF9zZXQodHJ1ZSk7Ci0KICAgICBld2tfdGV4dF9jaGVja2Vy
X3dvcmRfbGVhcm5fY2Jfc2V0KG9uV29yZExlYXJuKTsKKyAgICBld2tWaWV3Q2xhc3MoKS0+Y29u
dGV4dF9tZW51X3Nob3cgPSBzZWxlY3RMZWFyblNwZWxsaW5nOwogCiAgICAgQVNTRVJUX1RSVUUo
bG9hZFVybFN5bmMoZW52aXJvbm1lbnQtPnVybEZvclJlc291cmNlKCJzcGVsbGluZ190ZXN0Lmh0
bWwiKS5kYXRhKCkpKTsKKyAgICBtb3VzZURvdWJsZUNsaWNrKDEwLCAyMCwgMSAvKiBMZWZ0IGJ1
dHRvbiAqLyk7CisgICAgbW91c2VDbGljaygxMCwgMjAsIDMgLyogUmlnaHQgYnV0dG9uIC0gaW52
b2tlIGNvbnRleHQgbWVudSAqLyk7CisKKyAgICBBU1NFUlRfVFJVRSh3YWl0VW50aWxUcnVlKGNh
bGxiYWNrc0V4ZWN1dGlvblN0YXRzLndvcmRMZWFybikpOworCisgICAgLy8gT3BlbiBodG1sIGFn
YWluIGFuZCBjaGVjayB3aGV0aGVyIHRoZSBsZWFybmVkIHdvcmQKKyAgICAvLyBpcyB0cmVhdGVk
IGFzIHNwZWxsZWQgY29ycmVjdGx5IHdoaWxlIHNwZWxsIGNoZWNraW5nLgorICAgIHJlc2V0Q2Fs
bGJhY2tzRXhlY3V0aW9uU3RhdHMoKTsKKyAgICBld2tfdGV4dF9jaGVja2VyX3N0cmluZ19zcGVs
bGluZ19jaGVja19jYl9zZXQob25TcGVsbGluZ0Zvcktub3duV29yZCk7CisKKyAgICBBU1NFUlRf
VFJVRShsb2FkVXJsU3luYyhlbnZpcm9ubWVudC0+dXJsRm9yUmVzb3VyY2UoInNwZWxsaW5nX3Rl
c3QuaHRtbCIpLmRhdGEoKSkpOworCisgICAgQVNTRVJUX1RSVUUoY2FsbGJhY2tzRXhlY3V0aW9u
U3RhdHMuc3BlbGxpbmdDaGVjayk7CiAKLSAgICAvKiBGSVhNRToKLSAgICAgICAgMSkgSW52b2tl
IHRoZSBjb250ZXh0IG1lbnUgb24gdGhlIG1pc3NwZWxsZWQgd29yZCAobm90IGltcGxlbWVudGVk
IGZvciBXSzIpLAotICAgICAgICAgICB0aGUgd29yZCBoYXMgdG8gYmUgc2VsZWN0ZWQgZmlyc3Qu
Ci0gICAgICAgIDIpIENoZWNrIHdoZXRoZXIgdGhlIGNhbGxiYWNrIHdhcyBjYWxsZWQuICovCisg
ICAgZXdrX3RleHRfY2hlY2tlcl9zdHJpbmdfc3BlbGxpbmdfY2hlY2tfY2Jfc2V0KDApOworICAg
IGV3a190ZXh0X2NoZWNrZXJfd29yZF9sZWFybl9jYl9zZXQoMCk7CiB9CiAKIC8qKgogICogVGVz
dCB3aGV0aGVyIHRoZSBjbGllbnQncyBjYWxsYmFjayAob25Xb3JkSWdub3JlKSBpcyBjYWxsZWQg
d2hlbgotICogdGhlIGNvbnRleHQgbWVudSBvcHRpb24gIklnbm9yZSBzcGVsbGluZyIgd2FzIGNo
b29zZW4uCisgKiB0aGUgY29udGV4dCBtZW51IG9wdGlvbiAiSWdub3JlIHNwZWxsaW5nIiB3YXMg
Y2hvc2VuLiBJbiB0aGUgbmV4dCBzdGVwLAorICogY2hlY2sgd2hldGhlciB0aGUgaWdub3JlZCB3
b3JkIGlzIHRyZWF0ZWQgYXMgc3BlbGxlZCBjb3JyZWN0bHkgd2hpbGUgc3BlbGwgY2hlY2tpbmcu
CiAgKi8KIFRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfdGV4dF9jaGVja2VyX3dvcmRfaWdu
b3JlX2NiX3NldCkKIHsKICAgICByZXNldENhbGxiYWNrc0V4ZWN1dGlvblN0YXRzKCk7CisgICAg
a25vd25Xb3JkID0gU3RyaW5nKCk7CiAgICAgZGVmYXVsdFZpZXcgPSB3ZWJWaWV3KCk7Ci0gICAg
ZXdrX3RleHRfY2hlY2tlcl9jb250aW51b3VzX3NwZWxsX2NoZWNraW5nX2VuYWJsZWRfc2V0KHRy
dWUpOwotCiAgICAgZXdrX3RleHRfY2hlY2tlcl93b3JkX2lnbm9yZV9jYl9zZXQob25Xb3JkSWdu
b3JlKTsKKyAgICBld2tWaWV3Q2xhc3MoKS0+Y29udGV4dF9tZW51X3Nob3cgPSBzZWxlY3RJZ25v
cmVTcGVsbGluZzsKIAogICAgIEFTU0VSVF9UUlVFKGxvYWRVcmxTeW5jKGVudmlyb25tZW50LT51
cmxGb3JSZXNvdXJjZSgic3BlbGxpbmdfdGVzdC5odG1sIikuZGF0YSgpKSk7CisgICAgbW91c2VE
b3VibGVDbGljaygxMCwgMjAsIDEgLyogTGVmdCBidXR0b24gKi8pOworICAgIG1vdXNlQ2xpY2so
MTAsIDIwLCAzIC8qIFJpZ2h0IGJ1dHRvbiAtIGludm9rZSBjb250ZXh0IG1lbnUgKi8pOworCisg
ICAgQVNTRVJUX1RSVUUod2FpdFVudGlsVHJ1ZShjYWxsYmFja3NFeGVjdXRpb25TdGF0cy53b3Jk
SWdub3JlKSk7CisKKyAgICAvLyBPcGVuIGh0bWwgYWdhaW4gYW5kIGNoZWNrIHdoZXRoZXIgdGhl
IGlnbm9yZWQgd29yZAorICAgIC8vIGlzIHRyZWF0ZWQgYXMgc3BlbGxlZCBjb3JyZWN0bHkgd2hp
bGUgc3BlbGwgY2hlY2tpbmcuCisgICAgcmVzZXRDYWxsYmFja3NFeGVjdXRpb25TdGF0cygpOwor
ICAgIGV3a190ZXh0X2NoZWNrZXJfc3RyaW5nX3NwZWxsaW5nX2NoZWNrX2NiX3NldChvblNwZWxs
aW5nRm9yS25vd25Xb3JkKTsKKworICAgIEFTU0VSVF9UUlVFKGxvYWRVcmxTeW5jKGVudmlyb25t
ZW50LT51cmxGb3JSZXNvdXJjZSgic3BlbGxpbmdfdGVzdC5odG1sIikuZGF0YSgpKSk7CisKKyAg
ICBBU1NFUlRfVFJVRShjYWxsYmFja3NFeGVjdXRpb25TdGF0cy5zcGVsbGluZ0NoZWNrKTsKIAot
ICAgIC8qIEZJWE1FOgotICAgICAgICAxKSBJbnZva2UgdGhlIGNvbnRleHQgbWVudSBvbiB0aGUg
bWlzc3BlbGxlZCB3b3JkIChub3QgaW1wbGVtZW50ZWQgZm9yIFdLMiksCi0gICAgICAgICAgIHRo
ZSB3b3JkIGhhcyB0byBiZSBzZWxlY3RlZCBmaXJzdC4KLSAgICAgICAgMikgQ2hlY2sgd2hldGhl
ciB0aGUgY2FsbGJhY2sgd2FzIGNhbGxlZC4gKi8KKyAgICBld2tfdGV4dF9jaGVja2VyX3N0cmlu
Z19zcGVsbGluZ19jaGVja19jYl9zZXQoMCk7CisgICAgZXdrX3RleHRfY2hlY2tlcl93b3JkX2ln
bm9yZV9jYl9zZXQoMCk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206090</attachid>
            <date>2013-07-04 08:08:06 -0700</date>
            <delta_ts>2013-07-05 01:45:37 -0700</delta_ts>
            <desc>apply suggestions</desc>
            <filename>unit_test_onWordLearnIgnore.patch</filename>
            <type>text/plain</type>
            <size>8978</size>
            <attacher name="Krzysztof Wolanski">k.wolanski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA1MzlhMjk2Li5kMDg1NTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQg
QEAKKzIwMTMtMDctMDQgIEtyenlzenRvZiBXb2xhbnNraSAgPGsud29sYW5za2lAc2Ftc3VuZy5j
b20+CisKKyAgICAgICAgW0VGTF1bV0syXSBJbXBsZW1lbnQgdW5pdCB0ZXN0IGNhbGxiYWNrczog
b25Xb3JkTGVhcm4gYW5kIG9uV29yZElnbm9yZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExODM5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFNpbXVsYXRlIGJlaGF2aW9yIG9mIExlYXJuIGFuZCBJZ25v
cmUgV29yZCBpbiB0aGUgdGV4dCBmaWVsZC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZs
L3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5jcHA6CisgICAgICAgIChFV0sy
VW5pdFRlc3Q6OkVXSzJVbml0VGVzdEJhc2U6Om1vdXNlRG91YmxlQ2xpY2spOgorICAgICAgICBT
ZWxlY3QgdGhlIGVudGlyZSB3b3JkIGluIHRoZSB0ZXh0IGZpZWxkLgorCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX3RleHRfY2hlY2tlci5j
cHA6CisgICAgICAgIChvblNwZWxsaW5nRm9yS25vd25Xb3JkKToKKyAgICAgICAgKG9uV29yZExl
YXJuKToKKyAgICAgICAgKG9uV29yZElnbm9yZSk6CisgICAgICAgIChzZWxlY3RMZWFyblNwZWxs
aW5nKToKKyAgICAgICAgKHNlbGVjdElnbm9yZVNwZWxsaW5nKToKKwogMjAxMy0wNy0wMSAgQWxl
eGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBDbGVhbiB1cCBwcml2
YXRlIGJyb3dzaW5nIHNlc3Npb24gdHJhY2tpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxz
L0VXSzJVbml0VGVzdEJhc2UuY3BwCmluZGV4IDVmNDgyNTAuLmM2NzFjYjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdL
MlVuaXRUZXN0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
dGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmNwcApAQCAtMjQzLDYgKzI0Mywx
NCBAQCB2b2lkIEVXSzJVbml0VGVzdEJhc2U6Om1vdXNlQ2xpY2soaW50IHgsIGludCB5LCBpbnQg
YnV0dG9uKQogICAgIGV2YXNfZXZlbnRfZmVlZF9tb3VzZV91cChldmFzLCBidXR0b24sIEVWQVNf
QlVUVE9OX05PTkUsIDAsIDApOwogfQogCit2b2lkIEVXSzJVbml0VGVzdEJhc2U6Om1vdXNlRG91
YmxlQ2xpY2soaW50IHgsIGludCB5LCBpbnQgYnV0dG9uKQoreworICAgIEV2YXMqIGV2YXMgPSBl
dmFzX29iamVjdF9ldmFzX2dldChtX3dlYlZpZXcpOworICAgIGV2YXNfZXZlbnRfZmVlZF9tb3Vz
ZV9tb3ZlKGV2YXMsIHgsIHksIDAsIDApOworICAgIGV2YXNfZXZlbnRfZmVlZF9tb3VzZV9kb3du
KGV2YXMsIGJ1dHRvbiwgRVZBU19CVVRUT05fRE9VQkxFX0NMSUNLLCAwLCAwKTsKKyAgICBldmFz
X2V2ZW50X2ZlZWRfbW91c2VfdXAoZXZhcywgYnV0dG9uLCBFVkFTX0JVVFRPTl9OT05FLCAwLCAw
KTsKK30KKwogdm9pZCBFV0syVW5pdFRlc3RCYXNlOjptb3VzZURvd24oaW50IHgsIGludCB5LCBp
bnQgYnV0dG9uKQogewogICAgIEV2YXMqIGV2YXMgPSBldmFzX29iamVjdF9ldmFzX2dldChtX3dl
YlZpZXcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVz
dHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuaAppbmRl
eCA5OWYxZmE5Li4xM2VmYThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0
VGVzdEJhc2UuaApAQCAtNTMsNiArNTMsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgYm9vbCB3YWl0VW50
aWxUcnVlKGJvb2wgJmZsYWcsIGRvdWJsZSB0aW1lb3V0U2Vjb25kcyA9IGRlZmF1bHRUaW1lb3V0
U2Vjb25kcyk7CiAKICAgICB2b2lkIG1vdXNlQ2xpY2soaW50IHgsIGludCB5LCBpbnQgYnV0dG9u
ID0gMSAvKkxlZnQqLyk7CisgICAgdm9pZCBtb3VzZURvdWJsZUNsaWNrKGludCB4LCBpbnQgeSwg
aW50IGJ1dHRvbiA9IDEgLypMZWZ0Ki8pOwogICAgIHZvaWQgbW91c2VEb3duKGludCB4LCBpbnQg
eSwgaW50IGJ1dHRvbiA9IDEgLypMZWZ0Ki8pOwogICAgIHZvaWQgbW91c2VVcChpbnQgeCwgaW50
IHksIGludCBidXR0b24gPSAxIC8qTGVmdCovKTsKICAgICB2b2lkIG1vdXNlTW92ZShpbnQgeCwg
aW50IHkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVz
dHMvdGVzdF9ld2syX3RleHRfY2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdGV4dF9jaGVja2VyLmNwcAppbmRleCA3NGE4ZTdhLi5j
MjRhNmQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0
cy90ZXN0X2V3azJfdGV4dF9jaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdGV4dF9jaGVja2VyLmNwcApAQCAtNTIsNiArNTIs
NyBAQCBzdGF0aWMgY29uc3QgY2hhciBsZWFyblNwZWxsaW5nU3RyaW5nW10gPSAiTGVhcm4gU3Bl
bGxpbmciOwogCiBzdGF0aWMgY29uc3QgY2hhciogY2xpZW50U3VnZ2VzdGlvbnNGb3JXb3JkW10g
PSB7ICJjbGllbnRTdWdnZXN0aW9uMSIsICJjbGllbnRTdWdnZXN0aW9uMiIsICJjbGllbnRTdWdn
ZXN0aW9uMyIgfTsKIHN0YXRpYyB1bnNpZ25lZCBjb250ZXh0TWVudUl0ZW1zTnVtYmVyID0gMDsK
K3N0YXRpYyBTdHJpbmcga25vd25Xb3JkOwogCiAvKioKICAqIFN0cnVjdHVyZSBrZWVwcyBpbmZv
cm1hdGlvbiB3aGljaCBjYWxsYmFja3Mgd2VyZSBjYWxsZWQuCkBAIC0xNjgsNiArMTY5LDI4IEBA
IHN0YXRpYyB2b2lkIG9uU3BlbGxpbmdDaGVjayh1aW50NjRfdCB0YWcsIGNvbnN0IGNoYXIqIHRl
eHQsIGludDMyX3QqIG1pc3NwZWxsaW5nCiB9CiAKIC8qKgorICogQ2hlY2tzIHNwZWxsaW5nIGZv
ciB0aGUgZ2l2ZW4gQGEgdGV4dCBhbmQgY29tcGFyZXMgaXQgd2l0aCB0aGUga25vd25Xb3JkLgor
ICoKKyAqIEBpbnRlcm5hbAorICoKKyAqIEBwYXJhbSB0ZXh0IHRoZSB0ZXh0IGNvbnRhaW5pbmcg
dGhlIHdvcmRzIHRvIHNwZWxsY2hlY2sKKyAqIEBwYXJhbSBtaXNzcGVsbGluZ19sb2NhdGlvbiBh
IHBvaW50ZXIgdG8gc3RvcmUgdGhlIGJlZ2lubmluZyBvZiB0aGUgbWlzc3BlbGxlZCBAYSB0ZXh0
LCBAYyAtMSBpZiB0aGUgQGEgdGV4dCBpcyBjb3JyZWN0CisgKiBAcGFyYW0gbWlzc3BlbGxpbmdf
bGVuZ3RoIGEgcG9pbnRlciB0byBzdG9yZSB0aGUgbGVuZ3RoIG9mIG1pc3NwZWxsZWQgQGEgdGV4
dCwgQGMgMCBpZiB0aGUgQGEgdGV4dCBpcyBjb3JyZWN0CisgKi8KK3N0YXRpYyB2b2lkIG9uU3Bl
bGxpbmdGb3JLbm93bldvcmQodWludDY0X3QsIGNvbnN0IGNoYXIqIHRleHQsIGludDMyX3QqIG1p
c3NwZWxsaW5nTG9jYXRpb24sIGludDMyX3QqIG1pc3NwZWxsaW5nTGVuZ3RoKQoreworICAgIEFT
U0VSVF9TVFJFUShrbm93bldvcmQudXRmOCgpLmRhdGEoKSwgdGV4dCk7CisKKyAgICBBU1NFUlRf
VFJVRShtaXNzcGVsbGluZ0xvY2F0aW9uKTsKKyAgICBBU1NFUlRfVFJVRShtaXNzcGVsbGluZ0xl
bmd0aCk7CisKKyAgICAqbWlzc3BlbGxpbmdMb2NhdGlvbiA9IDA7CisgICAgKm1pc3NwZWxsaW5n
TGVuZ3RoID0gc3RhdGljX2Nhc3Q8aW50MzJfdD4oa25vd25Xb3JkLmxlbmd0aCgpKTsKKworICAg
IGNhbGxiYWNrc0V4ZWN1dGlvblN0YXRzLnNwZWxsaW5nQ2hlY2sgPSB0cnVlOworfQorCisvKioK
ICAqIEdldHMgYSBsaXN0IG9mIHN1Z2dlc3RlZCBzcGVsbGluZ3MgZm9yIGEgbWlzc3BlbGxlZCBA
YSB3b3JkLgogICoKICAqIEBpbnRlcm5hbApAQCAtMjAzLDYgKzIyNiw3IEBAIHN0YXRpYyB2b2lk
IG9uV29yZExlYXJuKHVpbnQ2NF90IHRhZywgY29uc3QgY2hhciogd29yZCkKIHsKICAgICBBU1NF
UlRfRVEoZGVmYXVsdERvY3VtZW50VGFnLCB0YWcpOwogICAgIEFTU0VSVF9TVFJFUShleHBlY3Rl
ZE1pc3NwZWxsZWRXb3JkLCB3b3JkKTsKKyAgICBrbm93bldvcmQgPSB3b3JkOwogICAgIGNhbGxi
YWNrc0V4ZWN1dGlvblN0YXRzLndvcmRMZWFybiA9IHRydWU7CiB9CiAKQEAgLTIxOCw2ICsyNDIs
NyBAQCBzdGF0aWMgdm9pZCBvbldvcmRJZ25vcmUodWludDY0X3QgdGFnLCBjb25zdCBjaGFyKiB3
b3JkKQogewogICAgIEFTU0VSVF9FUShkZWZhdWx0RG9jdW1lbnRUYWcsIHRhZyk7CiAgICAgQVNT
RVJUX1NUUkVRKGV4cGVjdGVkTWlzc3BlbGxlZFdvcmQsIHdvcmQpOworICAgIGtub3duV29yZCA9
IHdvcmQ7CiAgICAgY2FsbGJhY2tzRXhlY3V0aW9uU3RhdHMud29yZElnbm9yZSA9IHRydWU7CiB9
CiAKQEAgLTMwNSw2ICszMzAsMTYgQEAgc3RhdGljIEVpbmFfQm9vbCBjaGVja0NsaWVudFN1Z2dl
c3Rpb25zRm9yV29yZChFd2tfVmlld19TbWFydF9EYXRhKiwgRXZhc19Db29yZCwKICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAorc3RhdGljIEVpbmFfQm9vbCBzZWxlY3RMZWFyblNwZWxsaW5nKEV3a19W
aWV3X1NtYXJ0X0RhdGEqLCBFdmFzX0Nvb3JkLCBFdmFzX0Nvb3JkLCBFd2tfQ29udGV4dF9NZW51
KiBjb250ZXh0TWVudSkKK3sKKyAgICByZXR1cm4gZXdrX2NvbnRleHRfbWVudV9pdGVtX3NlbGVj
dChjb250ZXh0TWVudSwgZmluZENvbnRleHRNZW51SXRlbShjb250ZXh0TWVudSwgRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19MRUFSTl9TUEVMTElORywgRVdLX0FDVElPTl9UWVBFKSk7Cit9CisK
K3N0YXRpYyBFaW5hX0Jvb2wgc2VsZWN0SWdub3JlU3BlbGxpbmcoRXdrX1ZpZXdfU21hcnRfRGF0
YSosIEV2YXNfQ29vcmQsIEV2YXNfQ29vcmQsIEV3a19Db250ZXh0X01lbnUqIGNvbnRleHRNZW51
KQoreworICAgIHJldHVybiBld2tfY29udGV4dF9tZW51X2l0ZW1fc2VsZWN0KGNvbnRleHRNZW51
LCBmaW5kQ29udGV4dE1lbnVJdGVtKGNvbnRleHRNZW51LCBFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX0lHTk9SRV9TUEVMTElORywgRVdLX0FDVElPTl9UWVBFKSk7Cit9CisKIC8qKgogICogQ291
bnQgbnVtYmVyIG9mIGVsZW1lbnRzIGluIGNvbnRleHQgbWVudS4KICAqLwpAQCAtNzYzLDQwICs3
OTgsNjQgQEAgVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a190ZXh0X2NoZWNrZXJfd29yZF9n
dWVzc2VzX2dldF9jYl9zZXQpCiAKIC8qKgogICogVGVzdCB3aGV0aGVyIHRoZSBjbGllbnQncyBj
YWxsYmFjayAob25Xb3JkTGVhcm4pIGlzIGNhbGxlZCB3aGVuCi0gKiB0aGUgY29udGV4dCBtZW51
IG9wdGlvbiAiTGVhcm4gc3BlbGxpbmciIHdhcyBjaG9vc2VuLgorICogdGhlIGNvbnRleHQgbWVu
dSBvcHRpb24gIkxlYXJuIHNwZWxsaW5nIiB3YXMgY2hvc2VuLiBJbiB0aGUgbmV4dCBzdGVwLAor
ICogY2hlY2sgd2hldGhlciB0aGUgbGVhcm5lZCB3b3JkIGlzIHRyZWF0ZWQgYXMgc3BlbGxlZCBj
b3JyZWN0bHkgd2hpbGUgc3BlbGwgY2hlY2tpbmcuCiAgKi8KIFRFU1RfRihFV0syVW5pdFRlc3RC
YXNlLCBld2tfdGV4dF9jaGVja2VyX3dvcmRfbGVhcm5fY2Jfc2V0KQogewogICAgIHJlc2V0Q2Fs
bGJhY2tzRXhlY3V0aW9uU3RhdHMoKTsKKyAgICBrbm93bldvcmQgPSBlbXB0eVN0cmluZygpOwog
ICAgIGRlZmF1bHRWaWV3ID0gd2ViVmlldygpOwotICAgIGV3a190ZXh0X2NoZWNrZXJfY29udGlu
dW91c19zcGVsbF9jaGVja2luZ19lbmFibGVkX3NldCh0cnVlKTsKLQogICAgIGV3a190ZXh0X2No
ZWNrZXJfd29yZF9sZWFybl9jYl9zZXQob25Xb3JkTGVhcm4pOworICAgIGV3a1ZpZXdDbGFzcygp
LT5jb250ZXh0X21lbnVfc2hvdyA9IHNlbGVjdExlYXJuU3BlbGxpbmc7CiAKICAgICBBU1NFUlRf
VFJVRShsb2FkVXJsU3luYyhlbnZpcm9ubWVudC0+dXJsRm9yUmVzb3VyY2UoInNwZWxsaW5nX3Rl
c3QuaHRtbCIpLmRhdGEoKSkpOworICAgIG1vdXNlRG91YmxlQ2xpY2soMTAsIDIwLCAxIC8qIExl
ZnQgYnV0dG9uICovKTsKKyAgICBtb3VzZUNsaWNrKDEwLCAyMCwgMyAvKiBSaWdodCBidXR0b24g
LSBpbnZva2UgY29udGV4dCBtZW51ICovKTsKKworICAgIEFTU0VSVF9UUlVFKHdhaXRVbnRpbFRy
dWUoY2FsbGJhY2tzRXhlY3V0aW9uU3RhdHMud29yZExlYXJuKSk7CisKKyAgICAvLyBPcGVuIGh0
bWwgYWdhaW4gYW5kIGNoZWNrIHdoZXRoZXIgdGhlIGxlYXJuZWQgd29yZAorICAgIC8vIGlzIHRy
ZWF0ZWQgYXMgc3BlbGxlZCBjb3JyZWN0bHkgd2hpbGUgc3BlbGwgY2hlY2tpbmcuCisgICAgcmVz
ZXRDYWxsYmFja3NFeGVjdXRpb25TdGF0cygpOworICAgIGV3a190ZXh0X2NoZWNrZXJfc3RyaW5n
X3NwZWxsaW5nX2NoZWNrX2NiX3NldChvblNwZWxsaW5nRm9yS25vd25Xb3JkKTsKKworICAgIEFT
U0VSVF9UUlVFKGxvYWRVcmxTeW5jKGVudmlyb25tZW50LT51cmxGb3JSZXNvdXJjZSgic3BlbGxp
bmdfdGVzdC5odG1sIikuZGF0YSgpKSk7CisKKyAgICBBU1NFUlRfVFJVRShjYWxsYmFja3NFeGVj
dXRpb25TdGF0cy5zcGVsbGluZ0NoZWNrKTsKIAotICAgIC8qIEZJWE1FOgotICAgICAgICAxKSBJ
bnZva2UgdGhlIGNvbnRleHQgbWVudSBvbiB0aGUgbWlzc3BlbGxlZCB3b3JkIChub3QgaW1wbGVt
ZW50ZWQgZm9yIFdLMiksCi0gICAgICAgICAgIHRoZSB3b3JkIGhhcyB0byBiZSBzZWxlY3RlZCBm
aXJzdC4KLSAgICAgICAgMikgQ2hlY2sgd2hldGhlciB0aGUgY2FsbGJhY2sgd2FzIGNhbGxlZC4g
Ki8KKyAgICBld2tfdGV4dF9jaGVja2VyX3N0cmluZ19zcGVsbGluZ19jaGVja19jYl9zZXQoMCk7
CisgICAgZXdrX3RleHRfY2hlY2tlcl93b3JkX2xlYXJuX2NiX3NldCgwKTsKIH0KIAogLyoqCiAg
KiBUZXN0IHdoZXRoZXIgdGhlIGNsaWVudCdzIGNhbGxiYWNrIChvbldvcmRJZ25vcmUpIGlzIGNh
bGxlZCB3aGVuCi0gKiB0aGUgY29udGV4dCBtZW51IG9wdGlvbiAiSWdub3JlIHNwZWxsaW5nIiB3
YXMgY2hvb3Nlbi4KKyAqIHRoZSBjb250ZXh0IG1lbnUgb3B0aW9uICJJZ25vcmUgc3BlbGxpbmci
IHdhcyBjaG9zZW4uIEluIHRoZSBuZXh0IHN0ZXAsCisgKiBjaGVjayB3aGV0aGVyIHRoZSBpZ25v
cmVkIHdvcmQgaXMgdHJlYXRlZCBhcyBzcGVsbGVkIGNvcnJlY3RseSB3aGlsZSBzcGVsbCBjaGVj
a2luZy4KICAqLwogVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a190ZXh0X2NoZWNrZXJfd29y
ZF9pZ25vcmVfY2Jfc2V0KQogewogICAgIHJlc2V0Q2FsbGJhY2tzRXhlY3V0aW9uU3RhdHMoKTsK
KyAgICBrbm93bldvcmQgPSBlbXB0eVN0cmluZygpOwogICAgIGRlZmF1bHRWaWV3ID0gd2ViVmll
dygpOwotICAgIGV3a190ZXh0X2NoZWNrZXJfY29udGludW91c19zcGVsbF9jaGVja2luZ19lbmFi
bGVkX3NldCh0cnVlKTsKLQogICAgIGV3a190ZXh0X2NoZWNrZXJfd29yZF9pZ25vcmVfY2Jfc2V0
KG9uV29yZElnbm9yZSk7CisgICAgZXdrVmlld0NsYXNzKCktPmNvbnRleHRfbWVudV9zaG93ID0g
c2VsZWN0SWdub3JlU3BlbGxpbmc7CiAKICAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyhlbnZp
cm9ubWVudC0+dXJsRm9yUmVzb3VyY2UoInNwZWxsaW5nX3Rlc3QuaHRtbCIpLmRhdGEoKSkpOwor
ICAgIG1vdXNlRG91YmxlQ2xpY2soMTAsIDIwLCAxIC8qIExlZnQgYnV0dG9uICovKTsKKyAgICBt
b3VzZUNsaWNrKDEwLCAyMCwgMyAvKiBSaWdodCBidXR0b24gLSBpbnZva2UgY29udGV4dCBtZW51
ICovKTsKKworICAgIEFTU0VSVF9UUlVFKHdhaXRVbnRpbFRydWUoY2FsbGJhY2tzRXhlY3V0aW9u
U3RhdHMud29yZElnbm9yZSkpOworCisgICAgLy8gT3BlbiBodG1sIGFnYWluIGFuZCBjaGVjayB3
aGV0aGVyIHRoZSBpZ25vcmVkIHdvcmQKKyAgICAvLyBpcyB0cmVhdGVkIGFzIHNwZWxsZWQgY29y
cmVjdGx5IHdoaWxlIHNwZWxsIGNoZWNraW5nLgorICAgIHJlc2V0Q2FsbGJhY2tzRXhlY3V0aW9u
U3RhdHMoKTsKKyAgICBld2tfdGV4dF9jaGVja2VyX3N0cmluZ19zcGVsbGluZ19jaGVja19jYl9z
ZXQob25TcGVsbGluZ0Zvcktub3duV29yZCk7CisKKyAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3lu
YyhlbnZpcm9ubWVudC0+dXJsRm9yUmVzb3VyY2UoInNwZWxsaW5nX3Rlc3QuaHRtbCIpLmRhdGEo
KSkpOworCisgICAgQVNTRVJUX1RSVUUoY2FsbGJhY2tzRXhlY3V0aW9uU3RhdHMuc3BlbGxpbmdD
aGVjayk7CiAKLSAgICAvKiBGSVhNRToKLSAgICAgICAgMSkgSW52b2tlIHRoZSBjb250ZXh0IG1l
bnUgb24gdGhlIG1pc3NwZWxsZWQgd29yZCAobm90IGltcGxlbWVudGVkIGZvciBXSzIpLAotICAg
ICAgICAgICB0aGUgd29yZCBoYXMgdG8gYmUgc2VsZWN0ZWQgZmlyc3QuCi0gICAgICAgIDIpIENo
ZWNrIHdoZXRoZXIgdGhlIGNhbGxiYWNrIHdhcyBjYWxsZWQuICovCisgICAgZXdrX3RleHRfY2hl
Y2tlcl9zdHJpbmdfc3BlbGxpbmdfY2hlY2tfY2Jfc2V0KDApOworICAgIGV3a190ZXh0X2NoZWNr
ZXJfd29yZF9pZ25vcmVfY2Jfc2V0KDApOwogfQo=
</data>
<flag name="review"
          id="227750"
          type_id="1"
          status="+"
          setter="cdumez"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206127</attachid>
            <date>2013-07-05 01:45:37 -0700</date>
            <delta_ts>2013-07-05 03:29:59 -0700</delta_ts>
            <desc>apply suggestions</desc>
            <filename>unit_test_onWordLearnIgnore.patch</filename>
            <type>text/plain</type>
            <size>8900</size>
            <attacher name="Krzysztof Wolanski">k.wolanski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA1MzlhMjk2Li5mNWU5YmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQg
QEAKKzIwMTMtMDctMDUgIEtyenlzenRvZiBXb2xhbnNraSAgPGsud29sYW5za2lAc2Ftc3VuZy5j
b20+CisKKyAgICAgICAgW0VGTF1bV0syXSBJbXBsZW1lbnQgdW5pdCB0ZXN0IGNhbGxiYWNrczog
b25Xb3JkTGVhcm4gYW5kIG9uV29yZElnbm9yZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExODM5MgorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlz
dG9waGUgRHVtZXouCisKKyAgICAgICAgU2ltdWxhdGUgYmVoYXZpb3Igb2YgTGVhcm4gYW5kIEln
bm9yZSBXb3JkIGluIHRoZSB0ZXh0IGZpZWxkLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9l
ZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmNwcDoKKyAgICAgICAgKEVX
SzJVbml0VGVzdDo6RVdLMlVuaXRUZXN0QmFzZTo6bW91c2VEb3VibGVDbGljayk6CisgICAgICAg
IFNlbGVjdCB0aGUgZW50aXJlIHdvcmQgaW4gdGhlIHRleHQgZmllbGQuCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdGV4dF9jaGVja2Vy
LmNwcDoKKyAgICAgICAgKG9uU3BlbGxpbmdGb3JLbm93bldvcmQpOgorICAgICAgICAob25Xb3Jk
TGVhcm4pOgorICAgICAgICAob25Xb3JkSWdub3JlKToKKyAgICAgICAgKHNlbGVjdExlYXJuU3Bl
bGxpbmcpOgorICAgICAgICAoc2VsZWN0SWdub3JlU3BlbGxpbmcpOgorCiAyMDEzLTA3LTAxICBB
bGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFuIHVwIHBy
aXZhdGUgYnJvd3Npbmcgc2Vzc2lvbiB0cmFja2luZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNl
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRp
bHMvRVdLMlVuaXRUZXN0QmFzZS5jcHAKaW5kZXggNWY0ODI1MC4uYzY3MWNiNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9F
V0syVW5pdFRlc3RCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuY3BwCkBAIC0yNDMsNiArMjQz
LDE0IEBAIHZvaWQgRVdLMlVuaXRUZXN0QmFzZTo6bW91c2VDbGljayhpbnQgeCwgaW50IHksIGlu
dCBidXR0b24pCiAgICAgZXZhc19ldmVudF9mZWVkX21vdXNlX3VwKGV2YXMsIGJ1dHRvbiwgRVZB
U19CVVRUT05fTk9ORSwgMCwgMCk7CiB9CiAKK3ZvaWQgRVdLMlVuaXRUZXN0QmFzZTo6bW91c2VE
b3VibGVDbGljayhpbnQgeCwgaW50IHksIGludCBidXR0b24pCit7CisgICAgRXZhcyogZXZhcyA9
IGV2YXNfb2JqZWN0X2V2YXNfZ2V0KG1fd2ViVmlldyk7CisgICAgZXZhc19ldmVudF9mZWVkX21v
dXNlX21vdmUoZXZhcywgeCwgeSwgMCwgMCk7CisgICAgZXZhc19ldmVudF9mZWVkX21vdXNlX2Rv
d24oZXZhcywgYnV0dG9uLCBFVkFTX0JVVFRPTl9ET1VCTEVfQ0xJQ0ssIDAsIDApOworICAgIGV2
YXNfZXZlbnRfZmVlZF9tb3VzZV91cChldmFzLCBidXR0b24sIEVWQVNfQlVUVE9OX05PTkUsIDAs
IDApOworfQorCiB2b2lkIEVXSzJVbml0VGVzdEJhc2U6Om1vdXNlRG93bihpbnQgeCwgaW50IHks
IGludCBidXR0b24pCiB7CiAgICAgRXZhcyogZXZhcyA9IGV2YXNfb2JqZWN0X2V2YXNfZ2V0KG1f
d2ViVmlldyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90
ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5oCmlu
ZGV4IDk5ZjFmYTkuLjEzZWZhOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVu
aXRUZXN0QmFzZS5oCkBAIC01Myw2ICs1Myw3IEBAIHByb3RlY3RlZDoKICAgICBib29sIHdhaXRV
bnRpbFRydWUoYm9vbCAmZmxhZywgZG91YmxlIHRpbWVvdXRTZWNvbmRzID0gZGVmYXVsdFRpbWVv
dXRTZWNvbmRzKTsKIAogICAgIHZvaWQgbW91c2VDbGljayhpbnQgeCwgaW50IHksIGludCBidXR0
b24gPSAxIC8qTGVmdCovKTsKKyAgICB2b2lkIG1vdXNlRG91YmxlQ2xpY2soaW50IHgsIGludCB5
LCBpbnQgYnV0dG9uID0gMSAvKkxlZnQqLyk7CiAgICAgdm9pZCBtb3VzZURvd24oaW50IHgsIGlu
dCB5LCBpbnQgYnV0dG9uID0gMSAvKkxlZnQqLyk7CiAgICAgdm9pZCBtb3VzZVVwKGludCB4LCBp
bnQgeSwgaW50IGJ1dHRvbiA9IDEgLypMZWZ0Ki8pOwogICAgIHZvaWQgbW91c2VNb3ZlKGludCB4
LCBpbnQgeSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90
ZXN0cy90ZXN0X2V3azJfdGV4dF9jaGVja2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl90ZXh0X2NoZWNrZXIuY3BwCmluZGV4IDc0YThlN2Eu
LmIwOGJiODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rl
c3RzL3Rlc3RfZXdrMl90ZXh0X2NoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl90ZXh0X2NoZWNrZXIuY3BwCkBAIC01Miw2ICs1
Miw3IEBAIHN0YXRpYyBjb25zdCBjaGFyIGxlYXJuU3BlbGxpbmdTdHJpbmdbXSA9ICJMZWFybiBT
cGVsbGluZyI7CiAKIHN0YXRpYyBjb25zdCBjaGFyKiBjbGllbnRTdWdnZXN0aW9uc0ZvcldvcmRb
XSA9IHsgImNsaWVudFN1Z2dlc3Rpb24xIiwgImNsaWVudFN1Z2dlc3Rpb24yIiwgImNsaWVudFN1
Z2dlc3Rpb24zIiB9Owogc3RhdGljIHVuc2lnbmVkIGNvbnRleHRNZW51SXRlbXNOdW1iZXIgPSAw
Oworc3RhdGljIFN0cmluZyBrbm93bldvcmQ7CiAKIC8qKgogICogU3RydWN0dXJlIGtlZXBzIGlu
Zm9ybWF0aW9uIHdoaWNoIGNhbGxiYWNrcyB3ZXJlIGNhbGxlZC4KQEAgLTE2OCw2ICsxNjksMjgg
QEAgc3RhdGljIHZvaWQgb25TcGVsbGluZ0NoZWNrKHVpbnQ2NF90IHRhZywgY29uc3QgY2hhciog
dGV4dCwgaW50MzJfdCogbWlzc3BlbGxpbmcKIH0KIAogLyoqCisgKiBDaGVja3Mgc3BlbGxpbmcg
Zm9yIHRoZSBnaXZlbiBAYSB0ZXh0IGFuZCBjb21wYXJlcyBpdCB3aXRoIHRoZSBrbm93bldvcmQu
CisgKgorICogQGludGVybmFsCisgKgorICogQHBhcmFtIHRleHQgdGhlIHRleHQgY29udGFpbmlu
ZyB0aGUgd29yZHMgdG8gc3BlbGxjaGVjaworICogQHBhcmFtIG1pc3NwZWxsaW5nX2xvY2F0aW9u
IGEgcG9pbnRlciB0byBzdG9yZSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBtaXNzcGVsbGVkIEBhIHRl
eHQsIEBjIC0xIGlmIHRoZSBAYSB0ZXh0IGlzIGNvcnJlY3QKKyAqIEBwYXJhbSBtaXNzcGVsbGlu
Z19sZW5ndGggYSBwb2ludGVyIHRvIHN0b3JlIHRoZSBsZW5ndGggb2YgbWlzc3BlbGxlZCBAYSB0
ZXh0LCBAYyAwIGlmIHRoZSBAYSB0ZXh0IGlzIGNvcnJlY3QKKyAqLworc3RhdGljIHZvaWQgb25T
cGVsbGluZ0Zvcktub3duV29yZCh1aW50NjRfdCwgY29uc3QgY2hhciogdGV4dCwgaW50MzJfdCog
bWlzc3BlbGxpbmdMb2NhdGlvbiwgaW50MzJfdCogbWlzc3BlbGxpbmdMZW5ndGgpCit7CisgICAg
QVNTRVJUX1NUUkVRKGtub3duV29yZC51dGY4KCkuZGF0YSgpLCB0ZXh0KTsKKworICAgIEFTU0VS
VF9UUlVFKG1pc3NwZWxsaW5nTG9jYXRpb24pOworICAgIEFTU0VSVF9UUlVFKG1pc3NwZWxsaW5n
TGVuZ3RoKTsKKworICAgICptaXNzcGVsbGluZ0xvY2F0aW9uID0gLTE7CisgICAgKm1pc3NwZWxs
aW5nTGVuZ3RoID0gMDsKKworICAgIGNhbGxiYWNrc0V4ZWN1dGlvblN0YXRzLnNwZWxsaW5nQ2hl
Y2sgPSB0cnVlOworfQorCisvKioKICAqIEdldHMgYSBsaXN0IG9mIHN1Z2dlc3RlZCBzcGVsbGlu
Z3MgZm9yIGEgbWlzc3BlbGxlZCBAYSB3b3JkLgogICoKICAqIEBpbnRlcm5hbApAQCAtMjAzLDYg
KzIyNiw3IEBAIHN0YXRpYyB2b2lkIG9uV29yZExlYXJuKHVpbnQ2NF90IHRhZywgY29uc3QgY2hh
ciogd29yZCkKIHsKICAgICBBU1NFUlRfRVEoZGVmYXVsdERvY3VtZW50VGFnLCB0YWcpOwogICAg
IEFTU0VSVF9TVFJFUShleHBlY3RlZE1pc3NwZWxsZWRXb3JkLCB3b3JkKTsKKyAgICBrbm93bldv
cmQgPSB3b3JkOwogICAgIGNhbGxiYWNrc0V4ZWN1dGlvblN0YXRzLndvcmRMZWFybiA9IHRydWU7
CiB9CiAKQEAgLTIxOCw2ICsyNDIsNyBAQCBzdGF0aWMgdm9pZCBvbldvcmRJZ25vcmUodWludDY0
X3QgdGFnLCBjb25zdCBjaGFyKiB3b3JkKQogewogICAgIEFTU0VSVF9FUShkZWZhdWx0RG9jdW1l
bnRUYWcsIHRhZyk7CiAgICAgQVNTRVJUX1NUUkVRKGV4cGVjdGVkTWlzc3BlbGxlZFdvcmQsIHdv
cmQpOworICAgIGtub3duV29yZCA9IHdvcmQ7CiAgICAgY2FsbGJhY2tzRXhlY3V0aW9uU3RhdHMu
d29yZElnbm9yZSA9IHRydWU7CiB9CiAKQEAgLTMwNSw2ICszMzAsMTYgQEAgc3RhdGljIEVpbmFf
Qm9vbCBjaGVja0NsaWVudFN1Z2dlc3Rpb25zRm9yV29yZChFd2tfVmlld19TbWFydF9EYXRhKiwg
RXZhc19Db29yZCwKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorc3RhdGljIEVpbmFfQm9vbCBzZWxl
Y3RMZWFyblNwZWxsaW5nKEV3a19WaWV3X1NtYXJ0X0RhdGEqLCBFdmFzX0Nvb3JkLCBFdmFzX0Nv
b3JkLCBFd2tfQ29udGV4dF9NZW51KiBjb250ZXh0TWVudSkKK3sKKyAgICByZXR1cm4gZXdrX2Nv
bnRleHRfbWVudV9pdGVtX3NlbGVjdChjb250ZXh0TWVudSwgZmluZENvbnRleHRNZW51SXRlbShj
b250ZXh0TWVudSwgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19MRUFSTl9TUEVMTElORywgRVdL
X0FDVElPTl9UWVBFKSk7Cit9CisKK3N0YXRpYyBFaW5hX0Jvb2wgc2VsZWN0SWdub3JlU3BlbGxp
bmcoRXdrX1ZpZXdfU21hcnRfRGF0YSosIEV2YXNfQ29vcmQsIEV2YXNfQ29vcmQsIEV3a19Db250
ZXh0X01lbnUqIGNvbnRleHRNZW51KQoreworICAgIHJldHVybiBld2tfY29udGV4dF9tZW51X2l0
ZW1fc2VsZWN0KGNvbnRleHRNZW51LCBmaW5kQ29udGV4dE1lbnVJdGVtKGNvbnRleHRNZW51LCBF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0lHTk9SRV9TUEVMTElORywgRVdLX0FDVElPTl9UWVBF
KSk7Cit9CisKIC8qKgogICogQ291bnQgbnVtYmVyIG9mIGVsZW1lbnRzIGluIGNvbnRleHQgbWVu
dS4KICAqLwpAQCAtNzYzLDQwICs3OTgsNjQgQEAgVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3
a190ZXh0X2NoZWNrZXJfd29yZF9ndWVzc2VzX2dldF9jYl9zZXQpCiAKIC8qKgogICogVGVzdCB3
aGV0aGVyIHRoZSBjbGllbnQncyBjYWxsYmFjayAob25Xb3JkTGVhcm4pIGlzIGNhbGxlZCB3aGVu
Ci0gKiB0aGUgY29udGV4dCBtZW51IG9wdGlvbiAiTGVhcm4gc3BlbGxpbmciIHdhcyBjaG9vc2Vu
LgorICogdGhlIGNvbnRleHQgbWVudSBvcHRpb24gIkxlYXJuIHNwZWxsaW5nIiB3YXMgY2hvc2Vu
LiBJbiB0aGUgbmV4dCBzdGVwLAorICogY2hlY2sgd2hldGhlciB0aGUgbGVhcm5lZCB3b3JkIGlz
IHRyZWF0ZWQgYXMgc3BlbGxlZCBjb3JyZWN0bHkgd2hpbGUgc3BlbGwgY2hlY2tpbmcuCiAgKi8K
IFRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfdGV4dF9jaGVja2VyX3dvcmRfbGVhcm5fY2Jf
c2V0KQogewogICAgIHJlc2V0Q2FsbGJhY2tzRXhlY3V0aW9uU3RhdHMoKTsKKyAgICBrbm93bldv
cmQgPSBlbXB0eVN0cmluZygpOwogICAgIGRlZmF1bHRWaWV3ID0gd2ViVmlldygpOwotICAgIGV3
a190ZXh0X2NoZWNrZXJfY29udGludW91c19zcGVsbF9jaGVja2luZ19lbmFibGVkX3NldCh0cnVl
KTsKLQogICAgIGV3a190ZXh0X2NoZWNrZXJfd29yZF9sZWFybl9jYl9zZXQob25Xb3JkTGVhcm4p
OworICAgIGV3a1ZpZXdDbGFzcygpLT5jb250ZXh0X21lbnVfc2hvdyA9IHNlbGVjdExlYXJuU3Bl
bGxpbmc7CiAKICAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyhlbnZpcm9ubWVudC0+dXJsRm9y
UmVzb3VyY2UoInNwZWxsaW5nX3Rlc3QuaHRtbCIpLmRhdGEoKSkpOworICAgIG1vdXNlRG91Ymxl
Q2xpY2soMTAsIDIwKTsKKyAgICBtb3VzZUNsaWNrKDEwLCAyMCwgMyAvKiBSaWdodCBidXR0b24g
LSBpbnZva2UgY29udGV4dCBtZW51ICovKTsKKworICAgIEFTU0VSVF9UUlVFKHdhaXRVbnRpbFRy
dWUoY2FsbGJhY2tzRXhlY3V0aW9uU3RhdHMud29yZExlYXJuKSk7CisKKyAgICAvLyBPcGVuIGh0
bWwgYWdhaW4gYW5kIGNoZWNrIHdoZXRoZXIgdGhlIGxlYXJuZWQgd29yZAorICAgIC8vIGlzIHRy
ZWF0ZWQgYXMgc3BlbGxlZCBjb3JyZWN0bHkgd2hpbGUgc3BlbGwgY2hlY2tpbmcuCisgICAgcmVz
ZXRDYWxsYmFja3NFeGVjdXRpb25TdGF0cygpOworICAgIGV3a190ZXh0X2NoZWNrZXJfc3RyaW5n
X3NwZWxsaW5nX2NoZWNrX2NiX3NldChvblNwZWxsaW5nRm9yS25vd25Xb3JkKTsKKworICAgIEFT
U0VSVF9UUlVFKGxvYWRVcmxTeW5jKGVudmlyb25tZW50LT51cmxGb3JSZXNvdXJjZSgic3BlbGxp
bmdfdGVzdC5odG1sIikuZGF0YSgpKSk7CisKKyAgICBBU1NFUlRfVFJVRShjYWxsYmFja3NFeGVj
dXRpb25TdGF0cy5zcGVsbGluZ0NoZWNrKTsKIAotICAgIC8qIEZJWE1FOgotICAgICAgICAxKSBJ
bnZva2UgdGhlIGNvbnRleHQgbWVudSBvbiB0aGUgbWlzc3BlbGxlZCB3b3JkIChub3QgaW1wbGVt
ZW50ZWQgZm9yIFdLMiksCi0gICAgICAgICAgIHRoZSB3b3JkIGhhcyB0byBiZSBzZWxlY3RlZCBm
aXJzdC4KLSAgICAgICAgMikgQ2hlY2sgd2hldGhlciB0aGUgY2FsbGJhY2sgd2FzIGNhbGxlZC4g
Ki8KKyAgICBld2tfdGV4dF9jaGVja2VyX3N0cmluZ19zcGVsbGluZ19jaGVja19jYl9zZXQoMCk7
CisgICAgZXdrX3RleHRfY2hlY2tlcl93b3JkX2xlYXJuX2NiX3NldCgwKTsKIH0KIAogLyoqCiAg
KiBUZXN0IHdoZXRoZXIgdGhlIGNsaWVudCdzIGNhbGxiYWNrIChvbldvcmRJZ25vcmUpIGlzIGNh
bGxlZCB3aGVuCi0gKiB0aGUgY29udGV4dCBtZW51IG9wdGlvbiAiSWdub3JlIHNwZWxsaW5nIiB3
YXMgY2hvb3Nlbi4KKyAqIHRoZSBjb250ZXh0IG1lbnUgb3B0aW9uICJJZ25vcmUgc3BlbGxpbmci
IHdhcyBjaG9zZW4uIEluIHRoZSBuZXh0IHN0ZXAsCisgKiBjaGVjayB3aGV0aGVyIHRoZSBpZ25v
cmVkIHdvcmQgaXMgdHJlYXRlZCBhcyBzcGVsbGVkIGNvcnJlY3RseSB3aGlsZSBzcGVsbCBjaGVj
a2luZy4KICAqLwogVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a190ZXh0X2NoZWNrZXJfd29y
ZF9pZ25vcmVfY2Jfc2V0KQogewogICAgIHJlc2V0Q2FsbGJhY2tzRXhlY3V0aW9uU3RhdHMoKTsK
KyAgICBrbm93bldvcmQgPSBlbXB0eVN0cmluZygpOwogICAgIGRlZmF1bHRWaWV3ID0gd2ViVmll
dygpOwotICAgIGV3a190ZXh0X2NoZWNrZXJfY29udGludW91c19zcGVsbF9jaGVja2luZ19lbmFi
bGVkX3NldCh0cnVlKTsKLQogICAgIGV3a190ZXh0X2NoZWNrZXJfd29yZF9pZ25vcmVfY2Jfc2V0
KG9uV29yZElnbm9yZSk7CisgICAgZXdrVmlld0NsYXNzKCktPmNvbnRleHRfbWVudV9zaG93ID0g
c2VsZWN0SWdub3JlU3BlbGxpbmc7CisKKyAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyhlbnZp
cm9ubWVudC0+dXJsRm9yUmVzb3VyY2UoInNwZWxsaW5nX3Rlc3QuaHRtbCIpLmRhdGEoKSkpOwor
ICAgIG1vdXNlRG91YmxlQ2xpY2soMTAsIDIwKTsKKyAgICBtb3VzZUNsaWNrKDEwLCAyMCwgMyAv
KiBSaWdodCBidXR0b24gLSBpbnZva2UgY29udGV4dCBtZW51ICovKTsKKworICAgIEFTU0VSVF9U
UlVFKHdhaXRVbnRpbFRydWUoY2FsbGJhY2tzRXhlY3V0aW9uU3RhdHMud29yZElnbm9yZSkpOwor
CisgICAgLy8gT3BlbiBodG1sIGFnYWluIGFuZCBjaGVjayB3aGV0aGVyIHRoZSBpZ25vcmVkIHdv
cmQKKyAgICAvLyBpcyB0cmVhdGVkIGFzIHNwZWxsZWQgY29ycmVjdGx5IHdoaWxlIHNwZWxsIGNo
ZWNraW5nLgorICAgIHJlc2V0Q2FsbGJhY2tzRXhlY3V0aW9uU3RhdHMoKTsKKyAgICBld2tfdGV4
dF9jaGVja2VyX3N0cmluZ19zcGVsbGluZ19jaGVja19jYl9zZXQob25TcGVsbGluZ0Zvcktub3du
V29yZCk7CiAKICAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyhlbnZpcm9ubWVudC0+dXJsRm9y
UmVzb3VyY2UoInNwZWxsaW5nX3Rlc3QuaHRtbCIpLmRhdGEoKSkpOwogCi0gICAgLyogRklYTUU6
Ci0gICAgICAgIDEpIEludm9rZSB0aGUgY29udGV4dCBtZW51IG9uIHRoZSBtaXNzcGVsbGVkIHdv
cmQgKG5vdCBpbXBsZW1lbnRlZCBmb3IgV0syKSwKLSAgICAgICAgICAgdGhlIHdvcmQgaGFzIHRv
IGJlIHNlbGVjdGVkIGZpcnN0LgotICAgICAgICAyKSBDaGVjayB3aGV0aGVyIHRoZSBjYWxsYmFj
ayB3YXMgY2FsbGVkLiAqLworICAgIEFTU0VSVF9UUlVFKGNhbGxiYWNrc0V4ZWN1dGlvblN0YXRz
LnNwZWxsaW5nQ2hlY2spOworCisgICAgZXdrX3RleHRfY2hlY2tlcl9zdHJpbmdfc3BlbGxpbmdf
Y2hlY2tfY2Jfc2V0KDApOworICAgIGV3a190ZXh0X2NoZWNrZXJfd29yZF9pZ25vcmVfY2Jfc2V0
KDApOwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>