<?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>112122</bug_id>
          
          <creation_ts>2013-03-12 02:49:00 -0700</creation_ts>
          <short_desc>[EFL][MiniBrowser] Add a search field to the MiniBrowser</short_desc>
          <delta_ts>2013-03-19 06:15:23 -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>1</everconfirmed>
          <reporter name="Jinwoo Song">jinwoo7.song</reporter>
          <assigned_to name="Jinwoo Song">jinwoo7.song</assigned_to>
          <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>mikhail.pozdnyakov</cc>
    
    <cc>naginenis</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>853245</commentid>
    <comment_count>0</comment_count>
    <who name="Jinwoo Song">jinwoo7.song</who>
    <bug_when>2013-03-12 02:49:00 -0700</bug_when>
    <thetext>Add a search field to test API ewk_view_text_find().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853246</commentid>
    <comment_count>1</comment_count>
    <who name="Jinwoo Song">jinwoo7.song</who>
    <bug_when>2013-03-12 02:50:29 -0700</bug_when>
    <thetext>change the component to WebKit EFL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853252</commentid>
    <comment_count>2</comment_count>
      <attachid>192686</attachid>
    <who name="Jinwoo Song">jinwoo7.song</who>
    <bug_when>2013-03-12 02:53:41 -0700</bug_when>
    <thetext>Created attachment 192686
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853579</commentid>
    <comment_count>3</comment_count>
      <attachid>192686</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-12 10:20:46 -0700</bug_when>
    <thetext>Comment on attachment 192686
Patch

Attachment 192686 did not pass mac-ews (mac):
Output: http://webkit-commit-queue.appspot.com/results/17155178

New failing tests:
editing/selection/selection-modify-crash.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853975</commentid>
    <comment_count>4</comment_count>
      <attachid>192851</attachid>
    <who name="Jinwoo Song">jinwoo7.song</who>
    <bug_when>2013-03-12 18:28:26 -0700</bug_when>
    <thetext>Created attachment 192851
Patch

Add EWK_FIND_OPTIONS_WRAP_AROUND option in finding text.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854091</commentid>
    <comment_count>5</comment_count>
      <attachid>192851</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-03-13 00:13:59 -0700</bug_when>
    <thetext>Comment on attachment 192851
Patch

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

Patch needs to be rebased.

&gt; Tools/MiniBrowser/efl/main.c:96
&gt; +    Evas_Object *search_bar;

Could we group all those 4 members in a &quot;search&quot; sub struct?

&gt; Tools/MiniBrowser/efl/main.c:98
&gt; +    Evas_Object *search_up_button;

search_backward_button?

&gt; Tools/MiniBrowser/efl/main.c:99
&gt; +    Evas_Object *search_down_button;

search_forward_button?

&gt; Tools/MiniBrowser/efl/main.c:280
&gt; +    elm_object_focus_set(elm_object_top_widget_get(window-&gt;elm_window), EINA_FALSE);

Is this line really needed?

&gt; Tools/MiniBrowser/efl/main.c:356
&gt; +        search_box_hide(window);

I would exit fullscreen OR hide search but not both at the same time. How about the following:
1. If search box is displayed, hide it and abort.
2. If search box is hidden and window is fullscreen, exit fullscreen.

&gt; Tools/MiniBrowser/efl/main.c:671
&gt; +    ewk_view_text_find(window-&gt;ewk_view, text, EWK_FIND_OPTIONS_SHOW_HIGHLIGHT | EWK_FIND_OPTIONS_CASE_INSENSITIVE | EWK_FIND_OPTIONS_WRAP_AROUND, 100);

Maybe we could add a global constant for this 100 magic value.
Also maybe we could keep &quot;EWK_FIND_OPTIONS_SHOW_HIGHLIGHT | EWK_FIND_OPTIONS_CASE_INSENSITIVE | EWK_FIND_OPTIONS_WRAP_AROUND&quot; in a global &quot;DEFAULT_SEARCH_FLAGS&quot; constant to simplify the code a bit.

&gt; Tools/MiniBrowser/efl/main.c:710
&gt; +on_search_up_button_clicked(void *user_data, Evas_Object *search_up_button, void *event_info)

on_search_backward_button_clicked?

&gt; Tools/MiniBrowser/efl/main.c:720
&gt; +on_search_down_button_clicked(void *user_data, Evas_Object *search_down_button, void *event_info)

on_search_forward_button_clicked?

&gt; Tools/MiniBrowser/efl/main.c:1160
&gt; +on_window_resize(void *user_data, Evas *e, Evas_Object *elm_window, void *event_info)

This should really not be needed if we do the layout properly.

&gt; Tools/MiniBrowser/efl/main.c:1203
&gt; +    evas_object_event_callback_add(window-&gt;elm_window, EVAS_CALLBACK_RESIZE, on_window_resize, window);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855090</commentid>
    <comment_count>6</comment_count>
      <attachid>193095</attachid>
    <who name="Jinwoo Song">jinwoo7.song</who>
    <bug_when>2013-03-14 02:39:39 -0700</bug_when>
    <thetext>Created attachment 193095
Patch

Rebased the patch and applied Christophe&apos;s comments. Thanks for review. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855476</commentid>
    <comment_count>7</comment_count>
      <attachid>193095</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2013-03-14 14:06:06 -0700</bug_when>
    <thetext>Comment on attachment 193095
Patch

r=me but check with chris before landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855483</commentid>
    <comment_count>8</comment_count>
      <attachid>193095</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-03-14 14:13:46 -0700</bug_when>
    <thetext>Comment on attachment 193095
Patch

Looks fine, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855610</commentid>
    <comment_count>9</comment_count>
      <attachid>193095</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-14 17:55:02 -0700</bug_when>
    <thetext>Comment on attachment 193095
Patch

Clearing flags on attachment: 193095

Committed r145863: &lt;http://trac.webkit.org/changeset/145863&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855611</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-14 17:55:06 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858199</commentid>
    <comment_count>11</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2013-03-19 05:54:22 -0700</bug_when>
    <thetext>Looks like it brings regression: a Gray stripe at the bottom of the window when launch mini browser. Will look at this to find more details..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858207</commentid>
    <comment_count>12</comment_count>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2013-03-19 06:15:23 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; Looks like it brings regression: a Gray stripe at the bottom of the window when launch mini browser. Will look at this to find more details..

I also noticed the same issue. Created a bug about it bug# 112687.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192686</attachid>
            <date>2013-03-12 02:53:41 -0700</date>
            <delta_ts>2013-03-12 18:28:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112122-20130312184938.patch</filename>
            <type>text/plain</type>
            <size>11247</size>
            <attacher name="Jinwoo Song">jinwoo7.song</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NTg1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjM4NjIwMmU4MjFmMjUxZjQ5NmZmYzI4ZjkwZTUxNjEz
NTgwN2VlNC4uMTVlMmVmMmZmNGE4NDBlOTY3OGNiMTAxMjVhMjVkYTBhMWZkZjFlMyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2
IEBACisyMDEzLTAzLTEyICBKaW53b28gU29uZyAgPGppbndvbzcuc29uZ0BzYW1zdW5nLmNvbT4K
KworICAgICAgICBbRUZMXVtNaW5pQnJvd3Nlcl0gQWRkIGEgc2VhcmNoIGZpZWxkIHRvIHRoZSBN
aW5pQnJvd3NlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTEyMTIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgSW1wbGVtZW50IGEgc2VhcmNoIGZpZWxkIHRvIHRlc3QgQVBJIGV3a192aWV3X3RleHRfZmlu
ZCgpIGFuZCBhZGQgYSBzaG9ydGN1dCAnY3RybCcgKyBmLgorCisgICAgICAgICogTWluaUJyb3dz
ZXIvZWZsL21haW4uYzoKKyAgICAgICAgKF9Ccm93c2VyX1dpbmRvdyk6CisgICAgICAgIChzZWFy
Y2hfYm94X3Nob3cpOgorICAgICAgICAoc2VhcmNoX2JveF9oaWRlKToKKyAgICAgICAgKG9uX2tl
eV9kb3duKToKKyAgICAgICAgKG9uX3VybF9jaGFuZ2VkKToKKyAgICAgICAgKG9uX3NlYXJjaF9m
aWVsZF9hYm9ydGVkKToKKyAgICAgICAgKG9uX3NlYXJjaF9maWVsZF9hY3RpdmF0ZWQpOgorICAg
ICAgICAob25fc2VhcmNoX2ZpZWxkX2NsaWNrZWQpOgorICAgICAgICAob25fc2VhcmNoX3VwX2J1
dHRvbl9jbGlja2VkKToKKyAgICAgICAgKG9uX3NlYXJjaF9kb3duX2J1dHRvbl9jbGlja2VkKToK
KyAgICAgICAgKG9uX3dpbmRvd19yZXNpemUpOgorICAgICAgICAod2luZG93X2NyZWF0ZSk6CisK
IDIwMTMtMDMtMDMgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
U29tZSBwZXJmLiB0ZXN0cyBoYXZlIHZhcmlhbmNlcyB0aGF0IGRpZmZlciBncmVhdGx5IGJldHdl
ZW4gcnVucwpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYyBiL1Rvb2xz
L01pbmlCcm93c2VyL2VmbC9tYWluLmMKaW5kZXggY2U4MTZlZWE4ZTJhYTc3YWUzZDNiNjA3NTcz
NmNkOTgxMWUxYzQzOS4uNWM4NDczZTBjMmJhNjA4M2UzMjU1YTQzM2VjYzczYmZmYWNlM2RiMyAx
MDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYworKysgYi9Ub29scy9NaW5p
QnJvd3Nlci9lZmwvbWFpbi5jCkBAIC0zMCw2ICszMCw4IEBAIHN0YXRpYyBjb25zdCBjaGFyIERF
RkFVTFRfVVJMW10gPSAiaHR0cDovL3d3dy5nb29nbGUuY29tLyI7CiBzdGF0aWMgY29uc3QgY2hh
ciBBUFBfTkFNRVtdID0gIkVGTCBNaW5pQnJvd3NlciI7CiBzdGF0aWMgY29uc3QgaW50IFRPT0xf
QkFSX0lDT05fU0laRSA9IDI0Owogc3RhdGljIGNvbnN0IGludCBUT09MX0JBUl9CVVRUT05fU0la
RSA9IDMyOworc3RhdGljIGNvbnN0IGludCBTRUFSQ0hfRklFTERfU0laRSA9IDIwMDsKK3N0YXRp
YyBjb25zdCBpbnQgU0VBUkNIX0JVVFRPTl9TSVpFID0gMjU7CiBzdGF0aWMgY29uc3QgZG91Ymxl
IFRPT0xUSVBfREVMQVlfU0VDT05EUyA9IDEuMDsKIAogI2RlZmluZSBpbmZvKGZvcm1hdCwgYXJn
cy4uLikgICAgICAgXApAQCAtOTEsNiArOTMsMTAgQEAgdHlwZWRlZiBzdHJ1Y3QgX0Jyb3dzZXJf
V2luZG93IHsKICAgICBFdmFzX09iamVjdCAqdXJsX2JhcjsKICAgICBFdmFzX09iamVjdCAqYmFj
a19idXR0b247CiAgICAgRXZhc19PYmplY3QgKmZvcndhcmRfYnV0dG9uOworICAgIEV2YXNfT2Jq
ZWN0ICpzZWFyY2hfYmFyOworICAgIEV2YXNfT2JqZWN0ICpzZWFyY2hfZmllbGQ7CisgICAgRXZh
c19PYmplY3QgKnNlYXJjaF91cF9idXR0b247CisgICAgRXZhc19PYmplY3QgKnNlYXJjaF9kb3du
X2J1dHRvbjsKICAgICBpbnQgY3VycmVudF96b29tX2xldmVsOyAKICAgICBUb29sdGlwX0luZm9y
bWF0aW9uIHRvb2x0aXA7CiB9IEJyb3dzZXJfV2luZG93OwpAQCAtMjYzLDYgKzI2OSwzMSBAQCBz
dGF0aWMgdm9pZCB3aW5kb3dfY2xvc2UoQnJvd3Nlcl9XaW5kb3cgKndpbmRvdykKIH0KIAogc3Rh
dGljIHZvaWQKK3NlYXJjaF9ib3hfc2hvdyhCcm93c2VyX1dpbmRvdyAqd2luZG93KQoreworICAg
IGV2YXNfb2JqZWN0X3Nob3cod2luZG93LT5zZWFyY2hfYmFyKTsKKyAgICBldmFzX29iamVjdF9z
aG93KHdpbmRvdy0+c2VhcmNoX2ZpZWxkKTsKKyAgICBldmFzX29iamVjdF9zaG93KHdpbmRvdy0+
c2VhcmNoX3VwX2J1dHRvbik7CisgICAgZXZhc19vYmplY3Rfc2hvdyh3aW5kb3ctPnNlYXJjaF9k
b3duX2J1dHRvbik7CisKKyAgICAvKiBHcmFiIGZvY3VzIGZyb20gdGhlIHZpZXcgKi8KKyAgICBl
bG1fb2JqZWN0X2ZvY3VzX3NldChlbG1fb2JqZWN0X3RvcF93aWRnZXRfZ2V0KHdpbmRvdy0+ZWxt
X3dpbmRvdyksIEVJTkFfRkFMU0UpOworICAgIGV2YXNfb2JqZWN0X2ZvY3VzX3NldCh3aW5kb3ct
PmV3a192aWV3LCBFSU5BX0ZBTFNFKTsKKyAgICBlbG1fb2JqZWN0X2ZvY3VzX3NldCh3aW5kb3ct
PnNlYXJjaF9maWVsZCwgRUlOQV9UUlVFKTsKK30KKworc3RhdGljIHZvaWQKK3NlYXJjaF9ib3hf
aGlkZShCcm93c2VyX1dpbmRvdyAqd2luZG93KQoreworICAgIGV3a192aWV3X3RleHRfZmluZF9o
aWdobGlnaHRfY2xlYXIod2luZG93LT5ld2tfdmlldyk7CisKKyAgICBldmFzX29iamVjdF9oaWRl
KHdpbmRvdy0+c2VhcmNoX2Jhcik7CisgICAgZXZhc19vYmplY3RfaGlkZSh3aW5kb3ctPnNlYXJj
aF9maWVsZCk7CisgICAgZXZhc19vYmplY3RfaGlkZSh3aW5kb3ctPnNlYXJjaF91cF9idXR0b24p
OworICAgIGV2YXNfb2JqZWN0X2hpZGUod2luZG93LT5zZWFyY2hfZG93bl9idXR0b24pOworfQor
CitzdGF0aWMgdm9pZAogb25fa2V5X2Rvd24odm9pZCAqdXNlcl9kYXRhLCBFdmFzICplLCBFdmFz
X09iamVjdCAqZXdrX3ZpZXcsIHZvaWQgKmV2ZW50X2luZm8pCiB7CiAgICAgQnJvd3Nlcl9XaW5k
b3cgKndpbmRvdyA9IChCcm93c2VyX1dpbmRvdyAqKXVzZXJfZGF0YTsKQEAgLTMxNiw5ICszNDcs
MTMgQEAgb25fa2V5X2Rvd24odm9pZCAqdXNlcl9kYXRhLCBFdmFzICplLCBFdmFzX09iamVjdCAq
ZXdrX3ZpZXcsIHZvaWQgKmV2ZW50X2luZm8pCiAgICAgfSBlbHNlIGlmICghc3RyY21wKGV2LT5r
ZXksICJpIikgJiYgY3RybFByZXNzZWQpIHsKICAgICAgICAgaW5mbygiU2hvdyBJbnNwZWN0b3Ig
KEN0cmwraSkgd2FzIHByZXNzZWQuXG4iKTsKICAgICAgICAgZXdrX3ZpZXdfaW5zcGVjdG9yX3No
b3coZXdrX3ZpZXcpOworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChldi0+a2V5LCAiZiIpICYmIGN0
cmxQcmVzc2VkKSB7CisgICAgICAgIGluZm8oIlNob3cgU2VhcmNoIEJveCAoQ3RybCtmKSB3YXMg
cHJlc3NlZC5cbiIpOworICAgICAgICBzZWFyY2hfYm94X3Nob3cod2luZG93KTsKICAgICB9IGVs
c2UgaWYgKCFzdHJjbXAoZXYtPmtleSwgIkVzY2FwZSIpKSB7CiAgICAgICAgIGlmIChlbG1fd2lu
X2Z1bGxzY3JlZW5fZ2V0KHdpbmRvdy0+ZWxtX3dpbmRvdykpCiAgICAgICAgICAgICBld2tfdmll
d19mdWxsc2NyZWVuX2V4aXQoZXdrX3ZpZXcpOworICAgICAgICBzZWFyY2hfYm94X2hpZGUod2lu
ZG93KTsKICAgICB9IGVsc2UgaWYgKGN0cmxQcmVzc2VkICYmICghc3RyY21wKGV2LT5rZXksICJt
aW51cyIpIHx8ICFzdHJjbXAoZXYtPmtleSwgIktQX1N1YnRyYWN0IikpKSB7CiAgICAgICAgIGlm
ICh6b29tX2xldmVsX3NldChld2tfdmlldywgd2luZG93LT5jdXJyZW50X3pvb21fbGV2ZWwgLSAx
KSkKICAgICAgICAgICAgIHdpbmRvdy0+Y3VycmVudF96b29tX2xldmVsLS07CkBAIC0zOTcsNiAr
NDMyLDggQEAgb25fdXJsX2NoYW5nZWQodm9pZCAqdXNlcl9kYXRhLCBFdmFzX09iamVjdCAqZXdr
X3ZpZXcsIHZvaWQgKmV2ZW50X2luZm8pCiAgICAgZWxtX2VudHJ5X2VudHJ5X3NldCh3aW5kb3ct
PnVybF9iYXIsIHVybCk7CiAKICAgICBmcmVlKHVybCk7CisKKyAgICBzZWFyY2hfYm94X2hpZGUo
d2luZG93KTsKIH0KIAogc3RhdGljIHZvaWQKQEAgLTYxNSw2ICs2NTIsNDEgQEAgb25fdXJsX2Jh
cl9jbGlja2VkKHZvaWQgKnVzZXJfZGF0YSwgRXZhc19PYmplY3QgKnVybF9iYXIsIHZvaWQgKmV2
ZW50X2luZm8pCiB9CiAKIHN0YXRpYyB2b2lkCitvbl9zZWFyY2hfZmllbGRfYWJvcnRlZCh2b2lk
ICp1c2VyX2RhdGEsIEV2YXNfT2JqZWN0ICpzZWFyY2hfZmllbGQsIHZvaWQgKmV2ZW50X2luZm8p
Cit7CisgICAgQnJvd3Nlcl9XaW5kb3cgKndpbmRvdyA9IChCcm93c2VyX1dpbmRvdyAqKXVzZXJf
ZGF0YTsKKyAgICBzZWFyY2hfYm94X2hpZGUod2luZG93KTsKKworICAgIC8qIEdpdmUgZm9jdXMg
YmFjayB0byB0aGUgdmlldyAqLworICAgIHZpZXdfZm9jdXNfc2V0KHdpbmRvdywgRUlOQV9UUlVF
KTsKK30KKworc3RhdGljIHZvaWQKK29uX3NlYXJjaF9maWVsZF9hY3RpdmF0ZWQodm9pZCAqdXNl
cl9kYXRhLCBFdmFzX09iamVjdCAqc2VhcmNoX2ZpZWxkLCB2b2lkICpldmVudF9pbmZvKQorewor
ICAgIEJyb3dzZXJfV2luZG93ICp3aW5kb3cgPSAoQnJvd3Nlcl9XaW5kb3cgKil1c2VyX2RhdGE7
CisKKyAgICBjb25zdCBjaGFyICptYXJrdXBfdGV4dCA9IGVsbV9lbnRyeV9lbnRyeV9nZXQoc2Vh
cmNoX2ZpZWxkKTsKKyAgICBjaGFyICp0ZXh0ID0gZWxtX2VudHJ5X21hcmt1cF90b191dGY4KG1h
cmt1cF90ZXh0KTsKKyAgICBld2tfdmlld190ZXh0X2ZpbmQod2luZG93LT5ld2tfdmlldywgdGV4
dCwgRVdLX0ZJTkRfT1BUSU9OU19TSE9XX0hJR0hMSUdIVCB8IEVXS19GSU5EX09QVElPTlNfQ0FT
RV9JTlNFTlNJVElWRSwgMTAwKTsKKyAgICBmcmVlKHRleHQpOworCisgICAgLyogR3JhYiBmb2N1
cyBmcm9tIHRoZSB2aWV3ICovCisgICAgZXZhc19vYmplY3RfZm9jdXNfc2V0KHdpbmRvdy0+ZXdr
X3ZpZXcsIEVJTkFfRkFMU0UpOworICAgIGVsbV9vYmplY3RfZm9jdXNfc2V0KHNlYXJjaF9maWVs
ZCwgRUlOQV9UUlVFKTsKK30KKworc3RhdGljIHZvaWQKK29uX3NlYXJjaF9maWVsZF9jbGlja2Vk
KHZvaWQgKnVzZXJfZGF0YSwgRXZhc19PYmplY3QgKnNlYXJjaF9maWVsZCwgdm9pZCAqZXZlbnRf
aW5mbykKK3sKKyAgICBCcm93c2VyX1dpbmRvdyAqd2luZG93ID0gKEJyb3dzZXJfV2luZG93ICop
dXNlcl9kYXRhOworCisgICAgLyogR3JhYiBmb2N1cyBmcm9tIHRoZSB2aWV3ICovCisgICAgZXZh
c19vYmplY3RfZm9jdXNfc2V0KHdpbmRvdy0+ZXdrX3ZpZXcsIEVJTkFfRkFMU0UpOworICAgIGVs
bV9vYmplY3RfZm9jdXNfc2V0KHNlYXJjaF9maWVsZCwgRUlOQV9UUlVFKTsKK30KKworc3RhdGlj
IHZvaWQKIG9uX2JhY2tfYnV0dG9uX2NsaWNrZWQodm9pZCAqdXNlcl9kYXRhLCBFdmFzX09iamVj
dCAqYmFja19idXR0b24sIHZvaWQgKmV2ZW50X2luZm8pCiB7CiAgICAgQnJvd3Nlcl9XaW5kb3cg
KndpbmRvdyA9IChCcm93c2VyX1dpbmRvdyAqKXVzZXJfZGF0YTsKQEAgLTYzNSw2ICs3MDcsMjYg
QEAgb25fZm9yd2FyZF9idXR0b25fY2xpY2tlZCh2b2lkICp1c2VyX2RhdGEsIEV2YXNfT2JqZWN0
ICpmb3J3YXJkX2J1dHRvbiwgdm9pZCAqZXYKIH0KIAogc3RhdGljIHZvaWQKK29uX3NlYXJjaF91
cF9idXR0b25fY2xpY2tlZCh2b2lkICp1c2VyX2RhdGEsIEV2YXNfT2JqZWN0ICpzZWFyY2hfdXBf
YnV0dG9uLCB2b2lkICpldmVudF9pbmZvKQoreworICAgIEJyb3dzZXJfV2luZG93ICp3aW5kb3cg
PSAoQnJvd3Nlcl9XaW5kb3cgKil1c2VyX2RhdGE7CisKKyAgICBjaGFyICp0ZXh0ID0gZWxtX2Vu
dHJ5X21hcmt1cF90b191dGY4KGVsbV9lbnRyeV9lbnRyeV9nZXQod2luZG93LT5zZWFyY2hfZmll
bGQpKTsKKyAgICBld2tfdmlld190ZXh0X2ZpbmQod2luZG93LT5ld2tfdmlldywgdGV4dCwgRVdL
X0ZJTkRfT1BUSU9OU19TSE9XX0hJR0hMSUdIVCB8IEVXS19GSU5EX09QVElPTlNfQ0FTRV9JTlNF
TlNJVElWRSB8IEVXS19GSU5EX09QVElPTlNfQkFDS1dBUkRTLCAxMDApOworICAgIGZyZWUodGV4
dCk7Cit9CisKK3N0YXRpYyB2b2lkCitvbl9zZWFyY2hfZG93bl9idXR0b25fY2xpY2tlZCh2b2lk
ICp1c2VyX2RhdGEsIEV2YXNfT2JqZWN0ICpzZWFyY2hfZG93bl9idXR0b24sIHZvaWQgKmV2ZW50
X2luZm8pCit7CisgICAgQnJvd3Nlcl9XaW5kb3cgKndpbmRvdyA9IChCcm93c2VyX1dpbmRvdyAq
KXVzZXJfZGF0YTsKKworICAgIGNoYXIgKnRleHQgPSBlbG1fZW50cnlfbWFya3VwX3RvX3V0Zjgo
ZWxtX2VudHJ5X2VudHJ5X2dldCh3aW5kb3ctPnNlYXJjaF9maWVsZCkpOworICAgIGV3a192aWV3
X3RleHRfZmluZCh3aW5kb3ctPmV3a192aWV3LCB0ZXh0LCBFV0tfRklORF9PUFRJT05TX1NIT1df
SElHSExJR0hUIHwgRVdLX0ZJTkRfT1BUSU9OU19DQVNFX0lOU0VOU0lUSVZFLCAxMDApOworICAg
IGZyZWUodGV4dCk7Cit9CisKK3N0YXRpYyB2b2lkCiBvbl9yZWZyZXNoX2J1dHRvbl9jbGlja2Vk
KHZvaWQgKnVzZXJfZGF0YSwgRXZhc19PYmplY3QgKnJlZnJlc2hfYnV0dG9uLCB2b2lkICpldmVu
dF9pbmZvKQogewogICAgIEJyb3dzZXJfV2luZG93ICp3aW5kb3cgPSAoQnJvd3Nlcl9XaW5kb3cg
Kil1c2VyX2RhdGE7CkBAIC0xMDY0LDYgKzExNTYsMTYgQEAgb25fd2luZG93X2RlbGV0aW9uKHZv
aWQgKnVzZXJfZGF0YSwgRXZhc19PYmplY3QgKmVsbV93aW5kb3csIHZvaWQgKmV2ZW50X2luZm8p
CiAgICAgd2luZG93X2Nsb3NlKHdpbmRvd19maW5kX3dpdGhfZWxtX3dpbmRvdyhlbG1fd2luZG93
KSk7CiB9CiAKK3N0YXRpYyB2b2lkCitvbl93aW5kb3dfcmVzaXplKHZvaWQgKnVzZXJfZGF0YSwg
RXZhcyAqZSwgRXZhc19PYmplY3QgKmVsbV93aW5kb3csIHZvaWQgKmV2ZW50X2luZm8pCit7Cisg
ICAgQnJvd3Nlcl9XaW5kb3cgKndpbmRvdyA9IChCcm93c2VyX1dpbmRvdyAqKXVzZXJfZGF0YTsK
KworICAgIEV2YXNfQ29vcmQgeCwgeSwgd2lkdGgsIGhlaWdodDsKKyAgICBldmFzX29iamVjdF9n
ZW9tZXRyeV9nZXQoZWxtX3dpbmRvdywgJngsICZ5LCAmd2lkdGgsICZoZWlnaHQpOworICAgIGV2
YXNfb2JqZWN0X21vdmUod2luZG93LT5zZWFyY2hfYmFyLCB3aWR0aCAtIFNFQVJDSF9GSUVMRF9T
SVpFIC0gMiAqIFNFQVJDSF9CVVRUT05fU0laRSwgVE9PTF9CQVJfQlVUVE9OX1NJWkUpOworfQor
CiBzdGF0aWMgRXZhc19PYmplY3QgKgogY3JlYXRlX3Rvb2xiYXJfYnV0dG9uKEV2YXNfT2JqZWN0
ICplbG1fd2luZG93LCBjb25zdCBjaGFyICppY29uX25hbWUpCiB7CkBAIC0xMDk4LDYgKzEyMDAs
NyBAQCBzdGF0aWMgQnJvd3Nlcl9XaW5kb3cgKndpbmRvd19jcmVhdGUoRXZhc19PYmplY3QgKm9w
ZW5lciwgY29uc3QgY2hhciAqdXJsLCBpbnQgdwogICAgIHdpbmRvdy0+ZWxtX3dpbmRvdyA9IGVs
bV93aW5fYWRkKE5VTEwsICJtaW5pYnJvd3Nlci13aW5kb3ciLCBFTE1fV0lOX0JBU0lDKTsKICAg
ICBlbG1fd2luX3RpdGxlX3NldCh3aW5kb3ctPmVsbV93aW5kb3csIEFQUF9OQU1FKTsKICAgICBl
dmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQod2luZG93LT5lbG1fd2luZG93LCAiZGVsZXRl
LHJlcXVlc3QiLCBvbl93aW5kb3dfZGVsZXRpb24sICZ3aW5kb3cpOworICAgIGV2YXNfb2JqZWN0
X2V2ZW50X2NhbGxiYWNrX2FkZCh3aW5kb3ctPmVsbV93aW5kb3csIEVWQVNfQ0FMTEJBQ0tfUkVT
SVpFLCBvbl93aW5kb3dfcmVzaXplLCB3aW5kb3cpOwogCiAgICAgLyogQ3JlYXRlIHdpbmRvdyBi
YWNrZ3JvdW5kICovCiAgICAgRXZhc19PYmplY3QgKmJnID0gZWxtX2JnX2FkZCh3aW5kb3ctPmVs
bV93aW5kb3cpOwpAQCAtMTE2OSw2ICsxMjcyLDQ3IEBAIHN0YXRpYyBCcm93c2VyX1dpbmRvdyAq
d2luZG93X2NyZWF0ZShFdmFzX09iamVjdCAqb3BlbmVyLCBjb25zdCBjaGFyICp1cmwsIGludCB3
CiAgICAgZWxtX2JveF9wYWNrX2VuZChob3Jpem9udGFsX2xheW91dCwgaG9tZV9idXR0b24pOwog
ICAgIGV2YXNfb2JqZWN0X3Nob3coaG9tZV9idXR0b24pOwogCisgICAgLyogQ3JlYXRlIFNlYXJj
aCBiYXIgKi8KKyAgICB3aW5kb3ctPnNlYXJjaF9iYXIgPSBlbG1fYm94X2FkZCh3aW5kb3ctPmVs
bV93aW5kb3cpOworICAgIGVsbV9ib3hfaG9yaXpvbnRhbF9zZXQod2luZG93LT5zZWFyY2hfYmFy
LCBFSU5BX1RSVUUpOworICAgIGV2YXNfb2JqZWN0X3NpemVfaGludF9taW5fc2V0KHdpbmRvdy0+
c2VhcmNoX2JhciwgU0VBUkNIX0ZJRUxEX1NJWkUsIFNFQVJDSF9CVVRUT05fU0laRSk7CisgICAg
ZXZhc19vYmplY3Rfc2l6ZV9oaW50X21heF9zZXQod2luZG93LT5zZWFyY2hfYmFyLCBTRUFSQ0hf
RklFTERfU0laRSwgU0VBUkNIX0JVVFRPTl9TSVpFKTsKKyAgICBldmFzX29iamVjdF9tb3ZlKHdp
bmRvdy0+c2VhcmNoX2Jhciwgd2lkdGggLSBTRUFSQ0hfRklFTERfU0laRSAtIDIgKiBTRUFSQ0hf
QlVUVE9OX1NJWkUsIFRPT0xfQkFSX0JVVFRPTl9TSVpFKTsKKworICAgIC8qIENyZWF0ZSBTZWFy
Y2ggZmllbGQgKi8KKyAgICB3aW5kb3ctPnNlYXJjaF9maWVsZCA9IGVsbV9lbnRyeV9hZGQod2lu
ZG93LT5lbG1fd2luZG93KTsKKyAgICBlbG1fZW50cnlfc2Nyb2xsYWJsZV9zZXQod2luZG93LT5z
ZWFyY2hfZmllbGQsIEVJTkFfVFJVRSk7CisgICAgZWxtX2VudHJ5X3Njcm9sbGJhcl9wb2xpY3lf
c2V0KHdpbmRvdy0+c2VhcmNoX2ZpZWxkLCBFTE1fU0NST0xMRVJfUE9MSUNZX09GRiwgRUxNX1ND
Uk9MTEVSX1BPTElDWV9PRkYpOworICAgIGVsbV9lbnRyeV9zaW5nbGVfbGluZV9zZXQod2luZG93
LT5zZWFyY2hfZmllbGQsIEVJTkFfVFJVRSk7CisgICAgZWxtX2VudHJ5X2NucF9tb2RlX3NldCh3
aW5kb3ctPnNlYXJjaF9maWVsZCwgRUxNX0NOUF9NT0RFX1BMQUlOVEVYVCk7CisgICAgZWxtX2Vu
dHJ5X3RleHRfc3R5bGVfdXNlcl9wdXNoKHdpbmRvdy0+c2VhcmNoX2ZpZWxkLCAiREVGQVVMVD0n
Zm9udF9zaXplPTE0JyIpOworICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh3aW5k
b3ctPnNlYXJjaF9maWVsZCwgImFjdGl2YXRlZCIsIG9uX3NlYXJjaF9maWVsZF9hY3RpdmF0ZWQs
IHdpbmRvdyk7CisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHdpbmRvdy0+c2Vh
cmNoX2ZpZWxkLCAiY2hhbmdlZCIsIG9uX3NlYXJjaF9maWVsZF9hY3RpdmF0ZWQsIHdpbmRvdyk7
CisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHdpbmRvdy0+c2VhcmNoX2ZpZWxk
LCAiYWJvcnRlZCIsIG9uX3NlYXJjaF9maWVsZF9hYm9ydGVkLCB3aW5kb3cpOworICAgIGV2YXNf
b2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh3aW5kb3ctPnNlYXJjaF9maWVsZCwgImNsaWNrZWQi
LCBvbl9zZWFyY2hfZmllbGRfY2xpY2tlZCwgd2luZG93KTsKKyAgICBldmFzX29iamVjdF9zaXpl
X2hpbnRfd2VpZ2h0X3NldCh3aW5kb3ctPnNlYXJjaF9maWVsZCwgRVZBU19ISU5UX0VYUEFORCwg
RVZBU19ISU5UX0VYUEFORCk7CisgICAgZXZhc19vYmplY3Rfc2l6ZV9oaW50X2FsaWduX3NldCh3
aW5kb3ctPnNlYXJjaF9maWVsZCwgRVZBU19ISU5UX0ZJTEwsIEVWQVNfSElOVF9GSUxMKTsKKyAg
ICBldmFzX29iamVjdF9zaXplX2hpbnRfbWluX3NldCh3aW5kb3ctPnNlYXJjaF9maWVsZCwgU0VB
UkNIX0ZJRUxEX1NJWkUsIFNFQVJDSF9CVVRUT05fU0laRSk7CisgICAgZWxtX2JveF9wYWNrX2Vu
ZCh3aW5kb3ctPnNlYXJjaF9iYXIsIHdpbmRvdy0+c2VhcmNoX2ZpZWxkKTsKKworICAgIC8qIENy
ZWF0ZSBTZWFyY2ggdXAgYnV0dG9uICovCisgICAgd2luZG93LT5zZWFyY2hfdXBfYnV0dG9uID0g
Y3JlYXRlX3Rvb2xiYXJfYnV0dG9uKHdpbmRvdy0+ZWxtX3dpbmRvdywgImFycm93X3VwIik7Cisg
ICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHdpbmRvdy0+c2VhcmNoX3VwX2J1dHRv
biwgImNsaWNrZWQiLCBvbl9zZWFyY2hfdXBfYnV0dG9uX2NsaWNrZWQsIHdpbmRvdyk7CisgICAg
ZWxtX29iamVjdF9kaXNhYmxlZF9zZXQod2luZG93LT5zZWFyY2hfdXBfYnV0dG9uLCBFSU5BX0ZB
TFNFKTsKKyAgICBldmFzX29iamVjdF9zaXplX2hpbnRfd2VpZ2h0X3NldCh3aW5kb3ctPnNlYXJj
aF91cF9idXR0b24sIDAuMCwgRVZBU19ISU5UX0VYUEFORCk7CisgICAgZXZhc19vYmplY3Rfc2l6
ZV9oaW50X2FsaWduX3NldCh3aW5kb3ctPnNlYXJjaF91cF9idXR0b24sIDEuMCwgMC41KTsKKyAg
ICBldmFzX29iamVjdF9zaXplX2hpbnRfbWluX3NldCh3aW5kb3ctPnNlYXJjaF91cF9idXR0b24s
IFNFQVJDSF9CVVRUT05fU0laRSwgU0VBUkNIX0JVVFRPTl9TSVpFKTsKKyAgICBlbG1fYm94X3Bh
Y2tfZW5kKHdpbmRvdy0+c2VhcmNoX2Jhciwgd2luZG93LT5zZWFyY2hfdXBfYnV0dG9uKTsKKwor
ICAgIC8qIENyZWF0ZSBTZWFyY2ggZG93biBidXR0b24gKi8KKyAgICB3aW5kb3ctPnNlYXJjaF9k
b3duX2J1dHRvbiA9IGNyZWF0ZV90b29sYmFyX2J1dHRvbih3aW5kb3ctPmVsbV93aW5kb3csICJh
cnJvd19kb3duIik7CisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHdpbmRvdy0+
c2VhcmNoX2Rvd25fYnV0dG9uLCAiY2xpY2tlZCIsIG9uX3NlYXJjaF9kb3duX2J1dHRvbl9jbGlj
a2VkLCB3aW5kb3cpOworICAgIGVsbV9vYmplY3RfZGlzYWJsZWRfc2V0KHdpbmRvdy0+c2VhcmNo
X2Rvd25fYnV0dG9uLCBFSU5BX0ZBTFNFKTsKKyAgICBldmFzX29iamVjdF9zaXplX2hpbnRfd2Vp
Z2h0X3NldCh3aW5kb3ctPnNlYXJjaF9kb3duX2J1dHRvbiwgMC4wLCBFVkFTX0hJTlRfRVhQQU5E
KTsKKyAgICBldmFzX29iamVjdF9zaXplX2hpbnRfYWxpZ25fc2V0KHdpbmRvdy0+c2VhcmNoX2Rv
d25fYnV0dG9uLCAxLjAsIDAuNSk7CisgICAgZXZhc19vYmplY3Rfc2l6ZV9oaW50X21pbl9zZXQo
d2luZG93LT5zZWFyY2hfZG93bl9idXR0b24sIFNFQVJDSF9CVVRUT05fU0laRSwgU0VBUkNIX0JV
VFRPTl9TSVpFKTsKKyAgICBlbG1fYm94X3BhY2tfZW5kKHdpbmRvdy0+c2VhcmNoX2Jhciwgd2lu
ZG93LT5zZWFyY2hfZG93bl9idXR0b24pOworCiAgICAgLyogQ3JlYXRlIGV3a192aWV3ICovCiAg
ICAgRXdrX1ZpZXdfU21hcnRfQ2xhc3MgKmV3a1ZpZXdDbGFzcyA9IG1pbmlCcm93c2VyVmlld1Nt
YXJ0Q2xhc3MoKTsKICAgICBld2tWaWV3Q2xhc3MtPnJ1bl9qYXZhc2NyaXB0X2FsZXJ0ID0gb25f
amF2YXNjcmlwdF9hbGVydDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192851</attachid>
            <date>2013-03-12 18:28:26 -0700</date>
            <delta_ts>2013-03-14 02:39:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112122-20130313102418.patch</filename>
            <type>text/plain</type>
            <size>11340</size>
            <attacher name="Jinwoo Song">jinwoo7.song</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NTg1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjM4NjIwMmU4MjFmMjUxZjQ5NmZmYzI4ZjkwZTUxNjEz
NTgwN2VlNC4uMTVlMmVmMmZmNGE4NDBlOTY3OGNiMTAxMjVhMjVkYTBhMWZkZjFlMyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2
IEBACisyMDEzLTAzLTEyICBKaW53b28gU29uZyAgPGppbndvbzcuc29uZ0BzYW1zdW5nLmNvbT4K
KworICAgICAgICBbRUZMXVtNaW5pQnJvd3Nlcl0gQWRkIGEgc2VhcmNoIGZpZWxkIHRvIHRoZSBN
aW5pQnJvd3NlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTEyMTIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgSW1wbGVtZW50IGEgc2VhcmNoIGZpZWxkIHRvIHRlc3QgQVBJIGV3a192aWV3X3RleHRfZmlu
ZCgpIGFuZCBhZGQgYSBzaG9ydGN1dCAnY3RybCcgKyBmLgorCisgICAgICAgICogTWluaUJyb3dz
ZXIvZWZsL21haW4uYzoKKyAgICAgICAgKF9Ccm93c2VyX1dpbmRvdyk6CisgICAgICAgIChzZWFy
Y2hfYm94X3Nob3cpOgorICAgICAgICAoc2VhcmNoX2JveF9oaWRlKToKKyAgICAgICAgKG9uX2tl
eV9kb3duKToKKyAgICAgICAgKG9uX3VybF9jaGFuZ2VkKToKKyAgICAgICAgKG9uX3NlYXJjaF9m
aWVsZF9hYm9ydGVkKToKKyAgICAgICAgKG9uX3NlYXJjaF9maWVsZF9hY3RpdmF0ZWQpOgorICAg
ICAgICAob25fc2VhcmNoX2ZpZWxkX2NsaWNrZWQpOgorICAgICAgICAob25fc2VhcmNoX3VwX2J1
dHRvbl9jbGlja2VkKToKKyAgICAgICAgKG9uX3NlYXJjaF9kb3duX2J1dHRvbl9jbGlja2VkKToK
KyAgICAgICAgKG9uX3dpbmRvd19yZXNpemUpOgorICAgICAgICAod2luZG93X2NyZWF0ZSk6CisK
IDIwMTMtMDMtMDMgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
U29tZSBwZXJmLiB0ZXN0cyBoYXZlIHZhcmlhbmNlcyB0aGF0IGRpZmZlciBncmVhdGx5IGJldHdl
ZW4gcnVucwpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYyBiL1Rvb2xz
L01pbmlCcm93c2VyL2VmbC9tYWluLmMKaW5kZXggY2U4MTZlZWE4ZTJhYTc3YWUzZDNiNjA3NTcz
NmNkOTgxMWUxYzQzOS4uMGVjODUwODFmOGVjODlmODAzZWI5MTFmNTdiODE0YWQ4MWQzMTBkOSAx
MDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYworKysgYi9Ub29scy9NaW5p
QnJvd3Nlci9lZmwvbWFpbi5jCkBAIC0zMCw2ICszMCw4IEBAIHN0YXRpYyBjb25zdCBjaGFyIERF
RkFVTFRfVVJMW10gPSAiaHR0cDovL3d3dy5nb29nbGUuY29tLyI7CiBzdGF0aWMgY29uc3QgY2hh
ciBBUFBfTkFNRVtdID0gIkVGTCBNaW5pQnJvd3NlciI7CiBzdGF0aWMgY29uc3QgaW50IFRPT0xf
QkFSX0lDT05fU0laRSA9IDI0Owogc3RhdGljIGNvbnN0IGludCBUT09MX0JBUl9CVVRUT05fU0la
RSA9IDMyOworc3RhdGljIGNvbnN0IGludCBTRUFSQ0hfRklFTERfU0laRSA9IDIwMDsKK3N0YXRp
YyBjb25zdCBpbnQgU0VBUkNIX0JVVFRPTl9TSVpFID0gMjU7CiBzdGF0aWMgY29uc3QgZG91Ymxl
IFRPT0xUSVBfREVMQVlfU0VDT05EUyA9IDEuMDsKIAogI2RlZmluZSBpbmZvKGZvcm1hdCwgYXJn
cy4uLikgICAgICAgXApAQCAtOTEsNiArOTMsMTAgQEAgdHlwZWRlZiBzdHJ1Y3QgX0Jyb3dzZXJf
V2luZG93IHsKICAgICBFdmFzX09iamVjdCAqdXJsX2JhcjsKICAgICBFdmFzX09iamVjdCAqYmFj
a19idXR0b247CiAgICAgRXZhc19PYmplY3QgKmZvcndhcmRfYnV0dG9uOworICAgIEV2YXNfT2Jq
ZWN0ICpzZWFyY2hfYmFyOworICAgIEV2YXNfT2JqZWN0ICpzZWFyY2hfZmllbGQ7CisgICAgRXZh
c19PYmplY3QgKnNlYXJjaF91cF9idXR0b247CisgICAgRXZhc19PYmplY3QgKnNlYXJjaF9kb3du
X2J1dHRvbjsKICAgICBpbnQgY3VycmVudF96b29tX2xldmVsOyAKICAgICBUb29sdGlwX0luZm9y
bWF0aW9uIHRvb2x0aXA7CiB9IEJyb3dzZXJfV2luZG93OwpAQCAtMjYzLDYgKzI2OSwzMSBAQCBz
dGF0aWMgdm9pZCB3aW5kb3dfY2xvc2UoQnJvd3Nlcl9XaW5kb3cgKndpbmRvdykKIH0KIAogc3Rh
dGljIHZvaWQKK3NlYXJjaF9ib3hfc2hvdyhCcm93c2VyX1dpbmRvdyAqd2luZG93KQoreworICAg
IGV2YXNfb2JqZWN0X3Nob3cod2luZG93LT5zZWFyY2hfYmFyKTsKKyAgICBldmFzX29iamVjdF9z
aG93KHdpbmRvdy0+c2VhcmNoX2ZpZWxkKTsKKyAgICBldmFzX29iamVjdF9zaG93KHdpbmRvdy0+
c2VhcmNoX3VwX2J1dHRvbik7CisgICAgZXZhc19vYmplY3Rfc2hvdyh3aW5kb3ctPnNlYXJjaF9k
b3duX2J1dHRvbik7CisKKyAgICAvKiBHcmFiIGZvY3VzIGZyb20gdGhlIHZpZXcgKi8KKyAgICBl
bG1fb2JqZWN0X2ZvY3VzX3NldChlbG1fb2JqZWN0X3RvcF93aWRnZXRfZ2V0KHdpbmRvdy0+ZWxt
X3dpbmRvdyksIEVJTkFfRkFMU0UpOworICAgIGV2YXNfb2JqZWN0X2ZvY3VzX3NldCh3aW5kb3ct
PmV3a192aWV3LCBFSU5BX0ZBTFNFKTsKKyAgICBlbG1fb2JqZWN0X2ZvY3VzX3NldCh3aW5kb3ct
PnNlYXJjaF9maWVsZCwgRUlOQV9UUlVFKTsKK30KKworc3RhdGljIHZvaWQKK3NlYXJjaF9ib3hf
aGlkZShCcm93c2VyX1dpbmRvdyAqd2luZG93KQoreworICAgIGV3a192aWV3X3RleHRfZmluZF9o
aWdobGlnaHRfY2xlYXIod2luZG93LT5ld2tfdmlldyk7CisKKyAgICBldmFzX29iamVjdF9oaWRl
KHdpbmRvdy0+c2VhcmNoX2Jhcik7CisgICAgZXZhc19vYmplY3RfaGlkZSh3aW5kb3ctPnNlYXJj
aF9maWVsZCk7CisgICAgZXZhc19vYmplY3RfaGlkZSh3aW5kb3ctPnNlYXJjaF91cF9idXR0b24p
OworICAgIGV2YXNfb2JqZWN0X2hpZGUod2luZG93LT5zZWFyY2hfZG93bl9idXR0b24pOworfQor
CitzdGF0aWMgdm9pZAogb25fa2V5X2Rvd24odm9pZCAqdXNlcl9kYXRhLCBFdmFzICplLCBFdmFz
X09iamVjdCAqZXdrX3ZpZXcsIHZvaWQgKmV2ZW50X2luZm8pCiB7CiAgICAgQnJvd3Nlcl9XaW5k
b3cgKndpbmRvdyA9IChCcm93c2VyX1dpbmRvdyAqKXVzZXJfZGF0YTsKQEAgLTMxNiw5ICszNDcs
MTMgQEAgb25fa2V5X2Rvd24odm9pZCAqdXNlcl9kYXRhLCBFdmFzICplLCBFdmFzX09iamVjdCAq
ZXdrX3ZpZXcsIHZvaWQgKmV2ZW50X2luZm8pCiAgICAgfSBlbHNlIGlmICghc3RyY21wKGV2LT5r
ZXksICJpIikgJiYgY3RybFByZXNzZWQpIHsKICAgICAgICAgaW5mbygiU2hvdyBJbnNwZWN0b3Ig
KEN0cmwraSkgd2FzIHByZXNzZWQuXG4iKTsKICAgICAgICAgZXdrX3ZpZXdfaW5zcGVjdG9yX3No
b3coZXdrX3ZpZXcpOworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChldi0+a2V5LCAiZiIpICYmIGN0
cmxQcmVzc2VkKSB7CisgICAgICAgIGluZm8oIlNob3cgU2VhcmNoIEJveCAoQ3RybCtmKSB3YXMg
cHJlc3NlZC5cbiIpOworICAgICAgICBzZWFyY2hfYm94X3Nob3cod2luZG93KTsKICAgICB9IGVs
c2UgaWYgKCFzdHJjbXAoZXYtPmtleSwgIkVzY2FwZSIpKSB7CiAgICAgICAgIGlmIChlbG1fd2lu
X2Z1bGxzY3JlZW5fZ2V0KHdpbmRvdy0+ZWxtX3dpbmRvdykpCiAgICAgICAgICAgICBld2tfdmll
d19mdWxsc2NyZWVuX2V4aXQoZXdrX3ZpZXcpOworICAgICAgICBzZWFyY2hfYm94X2hpZGUod2lu
ZG93KTsKICAgICB9IGVsc2UgaWYgKGN0cmxQcmVzc2VkICYmICghc3RyY21wKGV2LT5rZXksICJt
aW51cyIpIHx8ICFzdHJjbXAoZXYtPmtleSwgIktQX1N1YnRyYWN0IikpKSB7CiAgICAgICAgIGlm
ICh6b29tX2xldmVsX3NldChld2tfdmlldywgd2luZG93LT5jdXJyZW50X3pvb21fbGV2ZWwgLSAx
KSkKICAgICAgICAgICAgIHdpbmRvdy0+Y3VycmVudF96b29tX2xldmVsLS07CkBAIC0zOTcsNiAr
NDMyLDggQEAgb25fdXJsX2NoYW5nZWQodm9pZCAqdXNlcl9kYXRhLCBFdmFzX09iamVjdCAqZXdr
X3ZpZXcsIHZvaWQgKmV2ZW50X2luZm8pCiAgICAgZWxtX2VudHJ5X2VudHJ5X3NldCh3aW5kb3ct
PnVybF9iYXIsIHVybCk7CiAKICAgICBmcmVlKHVybCk7CisKKyAgICBzZWFyY2hfYm94X2hpZGUo
d2luZG93KTsKIH0KIAogc3RhdGljIHZvaWQKQEAgLTYxNSw2ICs2NTIsNDEgQEAgb25fdXJsX2Jh
cl9jbGlja2VkKHZvaWQgKnVzZXJfZGF0YSwgRXZhc19PYmplY3QgKnVybF9iYXIsIHZvaWQgKmV2
ZW50X2luZm8pCiB9CiAKIHN0YXRpYyB2b2lkCitvbl9zZWFyY2hfZmllbGRfYWJvcnRlZCh2b2lk
ICp1c2VyX2RhdGEsIEV2YXNfT2JqZWN0ICpzZWFyY2hfZmllbGQsIHZvaWQgKmV2ZW50X2luZm8p
Cit7CisgICAgQnJvd3Nlcl9XaW5kb3cgKndpbmRvdyA9IChCcm93c2VyX1dpbmRvdyAqKXVzZXJf
ZGF0YTsKKyAgICBzZWFyY2hfYm94X2hpZGUod2luZG93KTsKKworICAgIC8qIEdpdmUgZm9jdXMg
YmFjayB0byB0aGUgdmlldyAqLworICAgIHZpZXdfZm9jdXNfc2V0KHdpbmRvdywgRUlOQV9UUlVF
KTsKK30KKworc3RhdGljIHZvaWQKK29uX3NlYXJjaF9maWVsZF9hY3RpdmF0ZWQodm9pZCAqdXNl
cl9kYXRhLCBFdmFzX09iamVjdCAqc2VhcmNoX2ZpZWxkLCB2b2lkICpldmVudF9pbmZvKQorewor
ICAgIEJyb3dzZXJfV2luZG93ICp3aW5kb3cgPSAoQnJvd3Nlcl9XaW5kb3cgKil1c2VyX2RhdGE7
CisKKyAgICBjb25zdCBjaGFyICptYXJrdXBfdGV4dCA9IGVsbV9lbnRyeV9lbnRyeV9nZXQoc2Vh
cmNoX2ZpZWxkKTsKKyAgICBjaGFyICp0ZXh0ID0gZWxtX2VudHJ5X21hcmt1cF90b191dGY4KG1h
cmt1cF90ZXh0KTsKKyAgICBld2tfdmlld190ZXh0X2ZpbmQod2luZG93LT5ld2tfdmlldywgdGV4
dCwgRVdLX0ZJTkRfT1BUSU9OU19TSE9XX0hJR0hMSUdIVCB8IEVXS19GSU5EX09QVElPTlNfQ0FT
RV9JTlNFTlNJVElWRSB8IEVXS19GSU5EX09QVElPTlNfV1JBUF9BUk9VTkQsIDEwMCk7CisgICAg
ZnJlZSh0ZXh0KTsKKworICAgIC8qIEdyYWIgZm9jdXMgZnJvbSB0aGUgdmlldyAqLworICAgIGV2
YXNfb2JqZWN0X2ZvY3VzX3NldCh3aW5kb3ctPmV3a192aWV3LCBFSU5BX0ZBTFNFKTsKKyAgICBl
bG1fb2JqZWN0X2ZvY3VzX3NldChzZWFyY2hfZmllbGQsIEVJTkFfVFJVRSk7Cit9CisKK3N0YXRp
YyB2b2lkCitvbl9zZWFyY2hfZmllbGRfY2xpY2tlZCh2b2lkICp1c2VyX2RhdGEsIEV2YXNfT2Jq
ZWN0ICpzZWFyY2hfZmllbGQsIHZvaWQgKmV2ZW50X2luZm8pCit7CisgICAgQnJvd3Nlcl9XaW5k
b3cgKndpbmRvdyA9IChCcm93c2VyX1dpbmRvdyAqKXVzZXJfZGF0YTsKKworICAgIC8qIEdyYWIg
Zm9jdXMgZnJvbSB0aGUgdmlldyAqLworICAgIGV2YXNfb2JqZWN0X2ZvY3VzX3NldCh3aW5kb3ct
PmV3a192aWV3LCBFSU5BX0ZBTFNFKTsKKyAgICBlbG1fb2JqZWN0X2ZvY3VzX3NldChzZWFyY2hf
ZmllbGQsIEVJTkFfVFJVRSk7Cit9CisKK3N0YXRpYyB2b2lkCiBvbl9iYWNrX2J1dHRvbl9jbGlj
a2VkKHZvaWQgKnVzZXJfZGF0YSwgRXZhc19PYmplY3QgKmJhY2tfYnV0dG9uLCB2b2lkICpldmVu
dF9pbmZvKQogewogICAgIEJyb3dzZXJfV2luZG93ICp3aW5kb3cgPSAoQnJvd3Nlcl9XaW5kb3cg
Kil1c2VyX2RhdGE7CkBAIC02MzUsNiArNzA3LDI2IEBAIG9uX2ZvcndhcmRfYnV0dG9uX2NsaWNr
ZWQodm9pZCAqdXNlcl9kYXRhLCBFdmFzX09iamVjdCAqZm9yd2FyZF9idXR0b24sIHZvaWQgKmV2
CiB9CiAKIHN0YXRpYyB2b2lkCitvbl9zZWFyY2hfdXBfYnV0dG9uX2NsaWNrZWQodm9pZCAqdXNl
cl9kYXRhLCBFdmFzX09iamVjdCAqc2VhcmNoX3VwX2J1dHRvbiwgdm9pZCAqZXZlbnRfaW5mbykK
K3sKKyAgICBCcm93c2VyX1dpbmRvdyAqd2luZG93ID0gKEJyb3dzZXJfV2luZG93ICopdXNlcl9k
YXRhOworCisgICAgY2hhciAqdGV4dCA9IGVsbV9lbnRyeV9tYXJrdXBfdG9fdXRmOChlbG1fZW50
cnlfZW50cnlfZ2V0KHdpbmRvdy0+c2VhcmNoX2ZpZWxkKSk7CisgICAgZXdrX3ZpZXdfdGV4dF9m
aW5kKHdpbmRvdy0+ZXdrX3ZpZXcsIHRleHQsIEVXS19GSU5EX09QVElPTlNfU0hPV19ISUdITElH
SFQgfCBFV0tfRklORF9PUFRJT05TX0NBU0VfSU5TRU5TSVRJVkUgfCBFV0tfRklORF9PUFRJT05T
X1dSQVBfQVJPVU5EIHwgRVdLX0ZJTkRfT1BUSU9OU19CQUNLV0FSRFMsIDEwMCk7CisgICAgZnJl
ZSh0ZXh0KTsKK30KKworc3RhdGljIHZvaWQKK29uX3NlYXJjaF9kb3duX2J1dHRvbl9jbGlja2Vk
KHZvaWQgKnVzZXJfZGF0YSwgRXZhc19PYmplY3QgKnNlYXJjaF9kb3duX2J1dHRvbiwgdm9pZCAq
ZXZlbnRfaW5mbykKK3sKKyAgICBCcm93c2VyX1dpbmRvdyAqd2luZG93ID0gKEJyb3dzZXJfV2lu
ZG93ICopdXNlcl9kYXRhOworCisgICAgY2hhciAqdGV4dCA9IGVsbV9lbnRyeV9tYXJrdXBfdG9f
dXRmOChlbG1fZW50cnlfZW50cnlfZ2V0KHdpbmRvdy0+c2VhcmNoX2ZpZWxkKSk7CisgICAgZXdr
X3ZpZXdfdGV4dF9maW5kKHdpbmRvdy0+ZXdrX3ZpZXcsIHRleHQsIEVXS19GSU5EX09QVElPTlNf
U0hPV19ISUdITElHSFQgfCBFV0tfRklORF9PUFRJT05TX0NBU0VfSU5TRU5TSVRJVkUgfCBFV0tf
RklORF9PUFRJT05TX1dSQVBfQVJPVU5ELCAxMDApOworICAgIGZyZWUodGV4dCk7Cit9CisKK3N0
YXRpYyB2b2lkCiBvbl9yZWZyZXNoX2J1dHRvbl9jbGlja2VkKHZvaWQgKnVzZXJfZGF0YSwgRXZh
c19PYmplY3QgKnJlZnJlc2hfYnV0dG9uLCB2b2lkICpldmVudF9pbmZvKQogewogICAgIEJyb3dz
ZXJfV2luZG93ICp3aW5kb3cgPSAoQnJvd3Nlcl9XaW5kb3cgKil1c2VyX2RhdGE7CkBAIC0xMDY0
LDYgKzExNTYsMTYgQEAgb25fd2luZG93X2RlbGV0aW9uKHZvaWQgKnVzZXJfZGF0YSwgRXZhc19P
YmplY3QgKmVsbV93aW5kb3csIHZvaWQgKmV2ZW50X2luZm8pCiAgICAgd2luZG93X2Nsb3NlKHdp
bmRvd19maW5kX3dpdGhfZWxtX3dpbmRvdyhlbG1fd2luZG93KSk7CiB9CiAKK3N0YXRpYyB2b2lk
Citvbl93aW5kb3dfcmVzaXplKHZvaWQgKnVzZXJfZGF0YSwgRXZhcyAqZSwgRXZhc19PYmplY3Qg
KmVsbV93aW5kb3csIHZvaWQgKmV2ZW50X2luZm8pCit7CisgICAgQnJvd3Nlcl9XaW5kb3cgKndp
bmRvdyA9IChCcm93c2VyX1dpbmRvdyAqKXVzZXJfZGF0YTsKKworICAgIEV2YXNfQ29vcmQgeCwg
eSwgd2lkdGgsIGhlaWdodDsKKyAgICBldmFzX29iamVjdF9nZW9tZXRyeV9nZXQoZWxtX3dpbmRv
dywgJngsICZ5LCAmd2lkdGgsICZoZWlnaHQpOworICAgIGV2YXNfb2JqZWN0X21vdmUod2luZG93
LT5zZWFyY2hfYmFyLCB3aWR0aCAtIFNFQVJDSF9GSUVMRF9TSVpFIC0gMiAqIFNFQVJDSF9CVVRU
T05fU0laRSwgVE9PTF9CQVJfQlVUVE9OX1NJWkUpOworfQorCiBzdGF0aWMgRXZhc19PYmplY3Qg
KgogY3JlYXRlX3Rvb2xiYXJfYnV0dG9uKEV2YXNfT2JqZWN0ICplbG1fd2luZG93LCBjb25zdCBj
aGFyICppY29uX25hbWUpCiB7CkBAIC0xMDk4LDYgKzEyMDAsNyBAQCBzdGF0aWMgQnJvd3Nlcl9X
aW5kb3cgKndpbmRvd19jcmVhdGUoRXZhc19PYmplY3QgKm9wZW5lciwgY29uc3QgY2hhciAqdXJs
LCBpbnQgdwogICAgIHdpbmRvdy0+ZWxtX3dpbmRvdyA9IGVsbV93aW5fYWRkKE5VTEwsICJtaW5p
YnJvd3Nlci13aW5kb3ciLCBFTE1fV0lOX0JBU0lDKTsKICAgICBlbG1fd2luX3RpdGxlX3NldCh3
aW5kb3ctPmVsbV93aW5kb3csIEFQUF9OQU1FKTsKICAgICBldmFzX29iamVjdF9zbWFydF9jYWxs
YmFja19hZGQod2luZG93LT5lbG1fd2luZG93LCAiZGVsZXRlLHJlcXVlc3QiLCBvbl93aW5kb3df
ZGVsZXRpb24sICZ3aW5kb3cpOworICAgIGV2YXNfb2JqZWN0X2V2ZW50X2NhbGxiYWNrX2FkZCh3
aW5kb3ctPmVsbV93aW5kb3csIEVWQVNfQ0FMTEJBQ0tfUkVTSVpFLCBvbl93aW5kb3dfcmVzaXpl
LCB3aW5kb3cpOwogCiAgICAgLyogQ3JlYXRlIHdpbmRvdyBiYWNrZ3JvdW5kICovCiAgICAgRXZh
c19PYmplY3QgKmJnID0gZWxtX2JnX2FkZCh3aW5kb3ctPmVsbV93aW5kb3cpOwpAQCAtMTE2OSw2
ICsxMjcyLDQ3IEBAIHN0YXRpYyBCcm93c2VyX1dpbmRvdyAqd2luZG93X2NyZWF0ZShFdmFzX09i
amVjdCAqb3BlbmVyLCBjb25zdCBjaGFyICp1cmwsIGludCB3CiAgICAgZWxtX2JveF9wYWNrX2Vu
ZChob3Jpem9udGFsX2xheW91dCwgaG9tZV9idXR0b24pOwogICAgIGV2YXNfb2JqZWN0X3Nob3co
aG9tZV9idXR0b24pOwogCisgICAgLyogQ3JlYXRlIFNlYXJjaCBiYXIgKi8KKyAgICB3aW5kb3ct
PnNlYXJjaF9iYXIgPSBlbG1fYm94X2FkZCh3aW5kb3ctPmVsbV93aW5kb3cpOworICAgIGVsbV9i
b3hfaG9yaXpvbnRhbF9zZXQod2luZG93LT5zZWFyY2hfYmFyLCBFSU5BX1RSVUUpOworICAgIGV2
YXNfb2JqZWN0X3NpemVfaGludF9taW5fc2V0KHdpbmRvdy0+c2VhcmNoX2JhciwgU0VBUkNIX0ZJ
RUxEX1NJWkUsIFNFQVJDSF9CVVRUT05fU0laRSk7CisgICAgZXZhc19vYmplY3Rfc2l6ZV9oaW50
X21heF9zZXQod2luZG93LT5zZWFyY2hfYmFyLCBTRUFSQ0hfRklFTERfU0laRSwgU0VBUkNIX0JV
VFRPTl9TSVpFKTsKKyAgICBldmFzX29iamVjdF9tb3ZlKHdpbmRvdy0+c2VhcmNoX2Jhciwgd2lk
dGggLSBTRUFSQ0hfRklFTERfU0laRSAtIDIgKiBTRUFSQ0hfQlVUVE9OX1NJWkUsIFRPT0xfQkFS
X0JVVFRPTl9TSVpFKTsKKworICAgIC8qIENyZWF0ZSBTZWFyY2ggZmllbGQgKi8KKyAgICB3aW5k
b3ctPnNlYXJjaF9maWVsZCA9IGVsbV9lbnRyeV9hZGQod2luZG93LT5lbG1fd2luZG93KTsKKyAg
ICBlbG1fZW50cnlfc2Nyb2xsYWJsZV9zZXQod2luZG93LT5zZWFyY2hfZmllbGQsIEVJTkFfVFJV
RSk7CisgICAgZWxtX2VudHJ5X3Njcm9sbGJhcl9wb2xpY3lfc2V0KHdpbmRvdy0+c2VhcmNoX2Zp
ZWxkLCBFTE1fU0NST0xMRVJfUE9MSUNZX09GRiwgRUxNX1NDUk9MTEVSX1BPTElDWV9PRkYpOwor
ICAgIGVsbV9lbnRyeV9zaW5nbGVfbGluZV9zZXQod2luZG93LT5zZWFyY2hfZmllbGQsIEVJTkFf
VFJVRSk7CisgICAgZWxtX2VudHJ5X2NucF9tb2RlX3NldCh3aW5kb3ctPnNlYXJjaF9maWVsZCwg
RUxNX0NOUF9NT0RFX1BMQUlOVEVYVCk7CisgICAgZWxtX2VudHJ5X3RleHRfc3R5bGVfdXNlcl9w
dXNoKHdpbmRvdy0+c2VhcmNoX2ZpZWxkLCAiREVGQVVMVD0nZm9udF9zaXplPTE0JyIpOworICAg
IGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh3aW5kb3ctPnNlYXJjaF9maWVsZCwgImFj
dGl2YXRlZCIsIG9uX3NlYXJjaF9maWVsZF9hY3RpdmF0ZWQsIHdpbmRvdyk7CisgICAgZXZhc19v
YmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHdpbmRvdy0+c2VhcmNoX2ZpZWxkLCAiY2hhbmdlZCIs
IG9uX3NlYXJjaF9maWVsZF9hY3RpdmF0ZWQsIHdpbmRvdyk7CisgICAgZXZhc19vYmplY3Rfc21h
cnRfY2FsbGJhY2tfYWRkKHdpbmRvdy0+c2VhcmNoX2ZpZWxkLCAiYWJvcnRlZCIsIG9uX3NlYXJj
aF9maWVsZF9hYm9ydGVkLCB3aW5kb3cpOworICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNr
X2FkZCh3aW5kb3ctPnNlYXJjaF9maWVsZCwgImNsaWNrZWQiLCBvbl9zZWFyY2hfZmllbGRfY2xp
Y2tlZCwgd2luZG93KTsKKyAgICBldmFzX29iamVjdF9zaXplX2hpbnRfd2VpZ2h0X3NldCh3aW5k
b3ctPnNlYXJjaF9maWVsZCwgRVZBU19ISU5UX0VYUEFORCwgRVZBU19ISU5UX0VYUEFORCk7Cisg
ICAgZXZhc19vYmplY3Rfc2l6ZV9oaW50X2FsaWduX3NldCh3aW5kb3ctPnNlYXJjaF9maWVsZCwg
RVZBU19ISU5UX0ZJTEwsIEVWQVNfSElOVF9GSUxMKTsKKyAgICBldmFzX29iamVjdF9zaXplX2hp
bnRfbWluX3NldCh3aW5kb3ctPnNlYXJjaF9maWVsZCwgU0VBUkNIX0ZJRUxEX1NJWkUsIFNFQVJD
SF9CVVRUT05fU0laRSk7CisgICAgZWxtX2JveF9wYWNrX2VuZCh3aW5kb3ctPnNlYXJjaF9iYXIs
IHdpbmRvdy0+c2VhcmNoX2ZpZWxkKTsKKworICAgIC8qIENyZWF0ZSBTZWFyY2ggdXAgYnV0dG9u
ICovCisgICAgd2luZG93LT5zZWFyY2hfdXBfYnV0dG9uID0gY3JlYXRlX3Rvb2xiYXJfYnV0dG9u
KHdpbmRvdy0+ZWxtX3dpbmRvdywgImFycm93X3VwIik7CisgICAgZXZhc19vYmplY3Rfc21hcnRf
Y2FsbGJhY2tfYWRkKHdpbmRvdy0+c2VhcmNoX3VwX2J1dHRvbiwgImNsaWNrZWQiLCBvbl9zZWFy
Y2hfdXBfYnV0dG9uX2NsaWNrZWQsIHdpbmRvdyk7CisgICAgZWxtX29iamVjdF9kaXNhYmxlZF9z
ZXQod2luZG93LT5zZWFyY2hfdXBfYnV0dG9uLCBFSU5BX0ZBTFNFKTsKKyAgICBldmFzX29iamVj
dF9zaXplX2hpbnRfd2VpZ2h0X3NldCh3aW5kb3ctPnNlYXJjaF91cF9idXR0b24sIDAuMCwgRVZB
U19ISU5UX0VYUEFORCk7CisgICAgZXZhc19vYmplY3Rfc2l6ZV9oaW50X2FsaWduX3NldCh3aW5k
b3ctPnNlYXJjaF91cF9idXR0b24sIDEuMCwgMC41KTsKKyAgICBldmFzX29iamVjdF9zaXplX2hp
bnRfbWluX3NldCh3aW5kb3ctPnNlYXJjaF91cF9idXR0b24sIFNFQVJDSF9CVVRUT05fU0laRSwg
U0VBUkNIX0JVVFRPTl9TSVpFKTsKKyAgICBlbG1fYm94X3BhY2tfZW5kKHdpbmRvdy0+c2VhcmNo
X2Jhciwgd2luZG93LT5zZWFyY2hfdXBfYnV0dG9uKTsKKworICAgIC8qIENyZWF0ZSBTZWFyY2gg
ZG93biBidXR0b24gKi8KKyAgICB3aW5kb3ctPnNlYXJjaF9kb3duX2J1dHRvbiA9IGNyZWF0ZV90
b29sYmFyX2J1dHRvbih3aW5kb3ctPmVsbV93aW5kb3csICJhcnJvd19kb3duIik7CisgICAgZXZh
c19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHdpbmRvdy0+c2VhcmNoX2Rvd25fYnV0dG9uLCAi
Y2xpY2tlZCIsIG9uX3NlYXJjaF9kb3duX2J1dHRvbl9jbGlja2VkLCB3aW5kb3cpOworICAgIGVs
bV9vYmplY3RfZGlzYWJsZWRfc2V0KHdpbmRvdy0+c2VhcmNoX2Rvd25fYnV0dG9uLCBFSU5BX0ZB
TFNFKTsKKyAgICBldmFzX29iamVjdF9zaXplX2hpbnRfd2VpZ2h0X3NldCh3aW5kb3ctPnNlYXJj
aF9kb3duX2J1dHRvbiwgMC4wLCBFVkFTX0hJTlRfRVhQQU5EKTsKKyAgICBldmFzX29iamVjdF9z
aXplX2hpbnRfYWxpZ25fc2V0KHdpbmRvdy0+c2VhcmNoX2Rvd25fYnV0dG9uLCAxLjAsIDAuNSk7
CisgICAgZXZhc19vYmplY3Rfc2l6ZV9oaW50X21pbl9zZXQod2luZG93LT5zZWFyY2hfZG93bl9i
dXR0b24sIFNFQVJDSF9CVVRUT05fU0laRSwgU0VBUkNIX0JVVFRPTl9TSVpFKTsKKyAgICBlbG1f
Ym94X3BhY2tfZW5kKHdpbmRvdy0+c2VhcmNoX2Jhciwgd2luZG93LT5zZWFyY2hfZG93bl9idXR0
b24pOworCiAgICAgLyogQ3JlYXRlIGV3a192aWV3ICovCiAgICAgRXdrX1ZpZXdfU21hcnRfQ2xh
c3MgKmV3a1ZpZXdDbGFzcyA9IG1pbmlCcm93c2VyVmlld1NtYXJ0Q2xhc3MoKTsKICAgICBld2tW
aWV3Q2xhc3MtPnJ1bl9qYXZhc2NyaXB0X2FsZXJ0ID0gb25famF2YXNjcmlwdF9hbGVydDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193095</attachid>
            <date>2013-03-14 02:39:39 -0700</date>
            <delta_ts>2013-03-14 17:55:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112122-20130314183534.patch</filename>
            <type>text/plain</type>
            <size>11286</size>
            <attacher name="Jinwoo Song">jinwoo7.song</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1NzAwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDgxYWQ1YWE5MWJhNDA0OTkxZDcyYTk4MTJjYjhiYmM3
MDQ4MjZmZC4uZjVjNmVlODcxODhiNTJiY2RlMDZkYzE0NjgyNDZiMDhkNWE1MGJlNCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1
IEBACisyMDEzLTAzLTE0ICBKaW53b28gU29uZyAgPGppbndvbzcuc29uZ0BzYW1zdW5nLmNvbT4K
KworICAgICAgICBbRUZMXVtNaW5pQnJvd3Nlcl0gQWRkIGEgc2VhcmNoIGZpZWxkIHRvIHRoZSBN
aW5pQnJvd3NlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTEyMTIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgSW1wbGVtZW50IGEgc2VhcmNoIGZpZWxkIHRvIHRlc3QgQVBJIGV3a192aWV3X3RleHRfZmlu
ZCgpIGFuZCBhZGQgYSBzaG9ydGN1dCAnY3RybCcgKyBmLgorCisgICAgICAgICogTWluaUJyb3dz
ZXIvZWZsL21haW4uYzoKKyAgICAgICAgKF9Ccm93c2VyX1dpbmRvdyk6CisgICAgICAgIChzZWFy
Y2hfYm94X3Nob3cpOgorICAgICAgICAoc2VhcmNoX2JveF9oaWRlKToKKyAgICAgICAgKG9uX2tl
eV9kb3duKToKKyAgICAgICAgKG9uX3VybF9jaGFuZ2VkKToKKyAgICAgICAgKG9uX3NlYXJjaF9m
aWVsZF9hYm9ydGVkKToKKyAgICAgICAgKG9uX3NlYXJjaF9maWVsZF9hY3RpdmF0ZWQpOgorICAg
ICAgICAob25fc2VhcmNoX2ZpZWxkX2NsaWNrZWQpOgorICAgICAgICAob25fc2VhcmNoX2JhY2t3
YXJkX2J1dHRvbl9jbGlja2VkKToKKyAgICAgICAgKG9uX3NlYXJjaF9mb3J3YXJkX2J1dHRvbl9j
bGlja2VkKToKKyAgICAgICAgKHdpbmRvd19jcmVhdGUpOgorCiAyMDEzLTAzLTEyICBKdWxpZSBQ
YXJlbnQgIDxqcGFyZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBDbGVhbnVwOiBNb3ZlIGZs
YXR0ZW4tdHJpZSB0byBsb2FkZXIuCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9lZmwv
bWFpbi5jIGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYwppbmRleCAwYWViMjY0MDM4ZGZl
ZDhhZDdkNWI4OTExYzZmMjkwY2YwYjI0M2E4Li5hMjJjYjFjZjEyYmFhMzRhNDcxYmE4MDUwZjE0
Zjc0YjMwMThlNTcxIDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jCisr
KyBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMKQEAgLTMwLDYgKzMwLDEwIEBAIHN0YXRp
YyBjb25zdCBjaGFyIERFRkFVTFRfVVJMW10gPSAiaHR0cDovL3d3dy5nb29nbGUuY29tLyI7CiBz
dGF0aWMgY29uc3QgY2hhciBBUFBfTkFNRVtdID0gIkVGTCBNaW5pQnJvd3NlciI7CiBzdGF0aWMg
Y29uc3QgaW50IFRPT0xfQkFSX0lDT05fU0laRSA9IDI0Owogc3RhdGljIGNvbnN0IGludCBUT09M
X0JBUl9CVVRUT05fU0laRSA9IDMyOworc3RhdGljIGNvbnN0IGludCBTRUFSQ0hfRklFTERfU0la
RSA9IDIwMDsKK3N0YXRpYyBjb25zdCBpbnQgU0VBUkNIX0JVVFRPTl9TSVpFID0gMjU7CitzdGF0
aWMgY29uc3QgaW50IE1BWF9TRUFSQ0hfQ09VTlQgPSAxMDA7CitzdGF0aWMgY29uc3QgaW50IERF
RkFVTFRfU0VBUkNIX0ZMQUdTID0gRVdLX0ZJTkRfT1BUSU9OU19TSE9XX0hJR0hMSUdIVCB8IEVX
S19GSU5EX09QVElPTlNfQ0FTRV9JTlNFTlNJVElWRSB8IEVXS19GSU5EX09QVElPTlNfV1JBUF9B
Uk9VTkQ7CiBzdGF0aWMgY29uc3QgZG91YmxlIFRPT0xUSVBfREVMQVlfU0VDT05EUyA9IDEuMDsK
IAogI2RlZmluZSBpbmZvKGZvcm1hdCwgYXJncy4uLikgICAgICAgXApAQCAtOTUsNiArOTksMTIg
QEAgdHlwZWRlZiBzdHJ1Y3QgX0Jyb3dzZXJfV2luZG93IHsKICAgICAgICAgRXZhc19PYmplY3Qg
KmVsbV9tZW51OwogICAgICAgICBFd2tfUG9wdXBfTWVudSAqZXdrX21lbnU7CiAgICAgfSBwb3B1
cDsKKyAgICBzdHJ1Y3QgeworICAgICAgICBFdmFzX09iamVjdCAqc2VhcmNoX2JhcjsKKyAgICAg
ICAgRXZhc19PYmplY3QgKnNlYXJjaF9maWVsZDsKKyAgICAgICAgRXZhc19PYmplY3QgKmJhY2t3
YXJkX2J1dHRvbjsKKyAgICAgICAgRXZhc19PYmplY3QgKmZvcndhcmRfYnV0dG9uOworICAgIH0g
c2VhcmNoOwogICAgIGludCBjdXJyZW50X3pvb21fbGV2ZWw7IAogICAgIFRvb2x0aXBfSW5mb3Jt
YXRpb24gdG9vbHRpcDsKIH0gQnJvd3Nlcl9XaW5kb3c7CkBAIC0yNjcsNiArMjc3LDM3IEBAIHN0
YXRpYyB2b2lkIHdpbmRvd19jbG9zZShCcm93c2VyX1dpbmRvdyAqd2luZG93KQogfQogCiBzdGF0
aWMgdm9pZAorc2VhcmNoX2JveF9zaG93KEJyb3dzZXJfV2luZG93ICp3aW5kb3cpCit7CisgICAg
ZXZhc19vYmplY3Rfc2l6ZV9oaW50X21pbl9zZXQod2luZG93LT5zZWFyY2guc2VhcmNoX2Jhciwg
U0VBUkNIX0ZJRUxEX1NJWkUgKyAyICogU0VBUkNIX0JVVFRPTl9TSVpFLCBTRUFSQ0hfQlVUVE9O
X1NJWkUpOworCisgICAgZXZhc19vYmplY3Rfc2hvdyh3aW5kb3ctPnNlYXJjaC5zZWFyY2hfYmFy
KTsKKyAgICBldmFzX29iamVjdF9zaG93KHdpbmRvdy0+c2VhcmNoLnNlYXJjaF9maWVsZCk7Cisg
ICAgZXZhc19vYmplY3Rfc2hvdyh3aW5kb3ctPnNlYXJjaC5iYWNrd2FyZF9idXR0b24pOworICAg
IGV2YXNfb2JqZWN0X3Nob3cod2luZG93LT5zZWFyY2guZm9yd2FyZF9idXR0b24pOworCisgICAg
LyogR3JhYiBmb2N1cyBmcm9tIHRoZSB2aWV3ICovCisgICAgZXZhc19vYmplY3RfZm9jdXNfc2V0
KHdpbmRvdy0+ZXdrX3ZpZXcsIEVJTkFfRkFMU0UpOworICAgIGVsbV9vYmplY3RfZm9jdXNfc2V0
KHdpbmRvdy0+c2VhcmNoLnNlYXJjaF9maWVsZCwgRUlOQV9UUlVFKTsKK30KKworc3RhdGljIHZv
aWQKK3NlYXJjaF9ib3hfaGlkZShCcm93c2VyX1dpbmRvdyAqd2luZG93KQoreworICAgIGV3a192
aWV3X3RleHRfZmluZF9oaWdobGlnaHRfY2xlYXIod2luZG93LT5ld2tfdmlldyk7CisKKyAgICBl
dmFzX29iamVjdF9zaXplX2hpbnRfbWluX3NldCh3aW5kb3ctPnNlYXJjaC5zZWFyY2hfYmFyLCBT
RUFSQ0hfRklFTERfU0laRSArIDIgKiBTRUFSQ0hfQlVUVE9OX1NJWkUsIDApOworICAgIGV2YXNf
b2JqZWN0X2hpZGUod2luZG93LT5zZWFyY2guc2VhcmNoX2Jhcik7CisgICAgZXZhc19vYmplY3Rf
aGlkZSh3aW5kb3ctPnNlYXJjaC5zZWFyY2hfZmllbGQpOworICAgIGV2YXNfb2JqZWN0X2hpZGUo
d2luZG93LT5zZWFyY2guYmFja3dhcmRfYnV0dG9uKTsKKyAgICBldmFzX29iamVjdF9oaWRlKHdp
bmRvdy0+c2VhcmNoLmZvcndhcmRfYnV0dG9uKTsKKworICAgIC8qIEdpdmUgZm9jdXMgYmFjayB0
byB0aGUgdmlldyAqLworICAgIGVsbV9vYmplY3RfZm9jdXNfc2V0KHdpbmRvdy0+c2VhcmNoLnNl
YXJjaF9maWVsZCwgRUlOQV9GQUxTRSk7CisgICAgZXZhc19vYmplY3RfZm9jdXNfc2V0KHdpbmRv
dy0+ZXdrX3ZpZXcsIEVJTkFfVFJVRSk7Cit9CisKK3N0YXRpYyB2b2lkCiBvbl9rZXlfZG93bih2
b2lkICp1c2VyX2RhdGEsIEV2YXMgKmUsIEV2YXNfT2JqZWN0ICpld2tfdmlldywgdm9pZCAqZXZl
bnRfaW5mbykKIHsKICAgICBCcm93c2VyX1dpbmRvdyAqd2luZG93ID0gKEJyb3dzZXJfV2luZG93
ICopdXNlcl9kYXRhOwpAQCAtMzIwLDggKzM2MSwxMyBAQCBvbl9rZXlfZG93bih2b2lkICp1c2Vy
X2RhdGEsIEV2YXMgKmUsIEV2YXNfT2JqZWN0ICpld2tfdmlldywgdm9pZCAqZXZlbnRfaW5mbykK
ICAgICB9IGVsc2UgaWYgKCFzdHJjbXAoZXYtPmtleSwgImkiKSAmJiBjdHJsUHJlc3NlZCkgewog
ICAgICAgICBpbmZvKCJTaG93IEluc3BlY3RvciAoQ3RybCtpKSB3YXMgcHJlc3NlZC5cbiIpOwog
ICAgICAgICBld2tfdmlld19pbnNwZWN0b3Jfc2hvdyhld2tfdmlldyk7CisgICAgfSBlbHNlIGlm
ICghc3RyY21wKGV2LT5rZXksICJmIikgJiYgY3RybFByZXNzZWQpIHsKKyAgICAgICAgaW5mbygi
U2hvdyBTZWFyY2ggQm94IChDdHJsK2YpIHdhcyBwcmVzc2VkLlxuIik7CisgICAgICAgIHNlYXJj
aF9ib3hfc2hvdyh3aW5kb3cpOwogICAgIH0gZWxzZSBpZiAoIXN0cmNtcChldi0+a2V5LCAiRXNj
YXBlIikpIHsKLSAgICAgICAgaWYgKGVsbV93aW5fZnVsbHNjcmVlbl9nZXQod2luZG93LT5lbG1f
d2luZG93KSkKKyAgICAgICAgaWYgKGV2YXNfb2JqZWN0X3Zpc2libGVfZ2V0KHdpbmRvdy0+c2Vh
cmNoLnNlYXJjaF9iYXIpKQorICAgICAgICAgICAgc2VhcmNoX2JveF9oaWRlKHdpbmRvdyk7Cisg
ICAgICAgIGVsc2UgaWYgKGVsbV93aW5fZnVsbHNjcmVlbl9nZXQod2luZG93LT5lbG1fd2luZG93
KSkKICAgICAgICAgICAgIGV3a192aWV3X2Z1bGxzY3JlZW5fZXhpdChld2tfdmlldyk7CiAgICAg
fSBlbHNlIGlmIChjdHJsUHJlc3NlZCAmJiAoIXN0cmNtcChldi0+a2V5LCAibWludXMiKSB8fCAh
c3RyY21wKGV2LT5rZXksICJLUF9TdWJ0cmFjdCIpKSkgewogICAgICAgICBpZiAoem9vbV9sZXZl
bF9zZXQoZXdrX3ZpZXcsIHdpbmRvdy0+Y3VycmVudF96b29tX2xldmVsIC0gMSkpCkBAIC00MDEs
NiArNDQ3LDggQEAgb25fdXJsX2NoYW5nZWQodm9pZCAqdXNlcl9kYXRhLCBFdmFzX09iamVjdCAq
ZXdrX3ZpZXcsIHZvaWQgKmV2ZW50X2luZm8pCiAgICAgZWxtX2VudHJ5X2VudHJ5X3NldCh3aW5k
b3ctPnVybF9iYXIsIHVybCk7CiAKICAgICBmcmVlKHVybCk7CisKKyAgICBzZWFyY2hfYm94X2hp
ZGUod2luZG93KTsKIH0KIAogc3RhdGljIHZvaWQKQEAgLTYxOSw2ICs2NjcsNDEgQEAgb25fdXJs
X2Jhcl9jbGlja2VkKHZvaWQgKnVzZXJfZGF0YSwgRXZhc19PYmplY3QgKnVybF9iYXIsIHZvaWQg
KmV2ZW50X2luZm8pCiB9CiAKIHN0YXRpYyB2b2lkCitvbl9zZWFyY2hfZmllbGRfYWJvcnRlZCh2
b2lkICp1c2VyX2RhdGEsIEV2YXNfT2JqZWN0ICpzZWFyY2hfZmllbGQsIHZvaWQgKmV2ZW50X2lu
Zm8pCit7CisgICAgQnJvd3Nlcl9XaW5kb3cgKndpbmRvdyA9IChCcm93c2VyX1dpbmRvdyAqKXVz
ZXJfZGF0YTsKKyAgICBzZWFyY2hfYm94X2hpZGUod2luZG93KTsKKworICAgIC8qIEdpdmUgZm9j
dXMgYmFjayB0byB0aGUgdmlldyAqLworICAgIHZpZXdfZm9jdXNfc2V0KHdpbmRvdywgRUlOQV9U
UlVFKTsKK30KKworc3RhdGljIHZvaWQKK29uX3NlYXJjaF9maWVsZF9hY3RpdmF0ZWQodm9pZCAq
dXNlcl9kYXRhLCBFdmFzX09iamVjdCAqc2VhcmNoX2ZpZWxkLCB2b2lkICpldmVudF9pbmZvKQor
eworICAgIEJyb3dzZXJfV2luZG93ICp3aW5kb3cgPSAoQnJvd3Nlcl9XaW5kb3cgKil1c2VyX2Rh
dGE7CisKKyAgICBjb25zdCBjaGFyICptYXJrdXBfdGV4dCA9IGVsbV9lbnRyeV9lbnRyeV9nZXQo
c2VhcmNoX2ZpZWxkKTsKKyAgICBjaGFyICp0ZXh0ID0gZWxtX2VudHJ5X21hcmt1cF90b191dGY4
KG1hcmt1cF90ZXh0KTsKKyAgICBld2tfdmlld190ZXh0X2ZpbmQod2luZG93LT5ld2tfdmlldywg
dGV4dCwgREVGQVVMVF9TRUFSQ0hfRkxBR1MsIE1BWF9TRUFSQ0hfQ09VTlQpOworICAgIGZyZWUo
dGV4dCk7CisKKyAgICAvKiBHcmFiIGZvY3VzIGZyb20gdGhlIHZpZXcgKi8KKyAgICBldmFzX29i
amVjdF9mb2N1c19zZXQod2luZG93LT5ld2tfdmlldywgRUlOQV9GQUxTRSk7CisgICAgZWxtX29i
amVjdF9mb2N1c19zZXQoc2VhcmNoX2ZpZWxkLCBFSU5BX1RSVUUpOworfQorCitzdGF0aWMgdm9p
ZAorb25fc2VhcmNoX2ZpZWxkX2NsaWNrZWQodm9pZCAqdXNlcl9kYXRhLCBFdmFzX09iamVjdCAq
c2VhcmNoX2ZpZWxkLCB2b2lkICpldmVudF9pbmZvKQoreworICAgIEJyb3dzZXJfV2luZG93ICp3
aW5kb3cgPSAoQnJvd3Nlcl9XaW5kb3cgKil1c2VyX2RhdGE7CisKKyAgICAvKiBHcmFiIGZvY3Vz
IGZyb20gdGhlIHZpZXcgKi8KKyAgICBldmFzX29iamVjdF9mb2N1c19zZXQod2luZG93LT5ld2tf
dmlldywgRUlOQV9GQUxTRSk7CisgICAgZWxtX29iamVjdF9mb2N1c19zZXQoc2VhcmNoX2ZpZWxk
LCBFSU5BX1RSVUUpOworfQorCitzdGF0aWMgdm9pZAogb25fYmFja19idXR0b25fY2xpY2tlZCh2
b2lkICp1c2VyX2RhdGEsIEV2YXNfT2JqZWN0ICpiYWNrX2J1dHRvbiwgdm9pZCAqZXZlbnRfaW5m
bykKIHsKICAgICBCcm93c2VyX1dpbmRvdyAqd2luZG93ID0gKEJyb3dzZXJfV2luZG93ICopdXNl
cl9kYXRhOwpAQCAtNjM5LDYgKzcyMiwyNiBAQCBvbl9mb3J3YXJkX2J1dHRvbl9jbGlja2VkKHZv
aWQgKnVzZXJfZGF0YSwgRXZhc19PYmplY3QgKmZvcndhcmRfYnV0dG9uLCB2b2lkICpldgogfQog
CiBzdGF0aWMgdm9pZAorb25fc2VhcmNoX2JhY2t3YXJkX2J1dHRvbl9jbGlja2VkKHZvaWQgKnVz
ZXJfZGF0YSwgRXZhc19PYmplY3QgKnNlYXJjaF9iYWNrd2FyZF9idXR0b24sIHZvaWQgKmV2ZW50
X2luZm8pCit7CisgICAgQnJvd3Nlcl9XaW5kb3cgKndpbmRvdyA9IChCcm93c2VyX1dpbmRvdyAq
KXVzZXJfZGF0YTsKKworICAgIGNoYXIgKnRleHQgPSBlbG1fZW50cnlfbWFya3VwX3RvX3V0Zjgo
ZWxtX2VudHJ5X2VudHJ5X2dldCh3aW5kb3ctPnNlYXJjaC5zZWFyY2hfZmllbGQpKTsKKyAgICBl
d2tfdmlld190ZXh0X2ZpbmQod2luZG93LT5ld2tfdmlldywgdGV4dCwgREVGQVVMVF9TRUFSQ0hf
RkxBR1MgfCBFV0tfRklORF9PUFRJT05TX0JBQ0tXQVJEUywgTUFYX1NFQVJDSF9DT1VOVCk7Cisg
ICAgZnJlZSh0ZXh0KTsKK30KKworc3RhdGljIHZvaWQKK29uX3NlYXJjaF9mb3J3YXJkX2J1dHRv
bl9jbGlja2VkKHZvaWQgKnVzZXJfZGF0YSwgRXZhc19PYmplY3QgKnNlYXJjaF9mb3J3YXJkX2J1
dHRvbiwgdm9pZCAqZXZlbnRfaW5mbykKK3sKKyAgICBCcm93c2VyX1dpbmRvdyAqd2luZG93ID0g
KEJyb3dzZXJfV2luZG93ICopdXNlcl9kYXRhOworCisgICAgY2hhciAqdGV4dCA9IGVsbV9lbnRy
eV9tYXJrdXBfdG9fdXRmOChlbG1fZW50cnlfZW50cnlfZ2V0KHdpbmRvdy0+c2VhcmNoLnNlYXJj
aF9maWVsZCkpOworICAgIGV3a192aWV3X3RleHRfZmluZCh3aW5kb3ctPmV3a192aWV3LCB0ZXh0
LCBERUZBVUxUX1NFQVJDSF9GTEFHUywgTUFYX1NFQVJDSF9DT1VOVCk7CisgICAgZnJlZSh0ZXh0
KTsKK30KKworc3RhdGljIHZvaWQKIG9uX3JlZnJlc2hfYnV0dG9uX2NsaWNrZWQodm9pZCAqdXNl
cl9kYXRhLCBFdmFzX09iamVjdCAqcmVmcmVzaF9idXR0b24sIHZvaWQgKmV2ZW50X2luZm8pCiB7
CiAgICAgQnJvd3Nlcl9XaW5kb3cgKndpbmRvdyA9IChCcm93c2VyX1dpbmRvdyAqKXVzZXJfZGF0
YTsKQEAgLTEyNjAsNiArMTM2Myw0NiBAQCBzdGF0aWMgQnJvd3Nlcl9XaW5kb3cgKndpbmRvd19j
cmVhdGUoRXZhc19PYmplY3QgKm9wZW5lciwgY29uc3QgY2hhciAqdXJsLCBpbnQgdwogICAgIGVs
bV9ib3hfcGFja19lbmQoaG9yaXpvbnRhbF9sYXlvdXQsIGhvbWVfYnV0dG9uKTsKICAgICBldmFz
X29iamVjdF9zaG93KGhvbWVfYnV0dG9uKTsKIAorICAgIC8qIENyZWF0ZSBTZWFyY2ggYmFyICov
CisgICAgd2luZG93LT5zZWFyY2guc2VhcmNoX2JhciA9IGVsbV9ib3hfYWRkKHdpbmRvdy0+ZWxt
X3dpbmRvdyk7CisgICAgZWxtX2JveF9ob3Jpem9udGFsX3NldCh3aW5kb3ctPnNlYXJjaC5zZWFy
Y2hfYmFyLCBFSU5BX1RSVUUpOworICAgIGV2YXNfb2JqZWN0X3NpemVfaGludF9taW5fc2V0KHdp
bmRvdy0+c2VhcmNoLnNlYXJjaF9iYXIsIFNFQVJDSF9GSUVMRF9TSVpFICsgMiAqIFNFQVJDSF9C
VVRUT05fU0laRSwgMCk7CisgICAgZXZhc19vYmplY3Rfc2l6ZV9oaW50X2FsaWduX3NldCh3aW5k
b3ctPnNlYXJjaC5zZWFyY2hfYmFyLCAwLjAsIEVWQVNfSElOVF9GSUxMKTsKKyAgICBlbG1fYm94
X3BhY2tfZW5kKHZlcnRpY2FsX2xheW91dCwgd2luZG93LT5zZWFyY2guc2VhcmNoX2Jhcik7CisK
KyAgICAvKiBDcmVhdGUgU2VhcmNoIGZpZWxkICovCisgICAgd2luZG93LT5zZWFyY2guc2VhcmNo
X2ZpZWxkID0gZWxtX2VudHJ5X2FkZCh3aW5kb3ctPmVsbV93aW5kb3cpOworICAgIGVsbV9lbnRy
eV9zY3JvbGxhYmxlX3NldCh3aW5kb3ctPnNlYXJjaC5zZWFyY2hfZmllbGQsIEVJTkFfVFJVRSk7
CisgICAgZWxtX2VudHJ5X3Njcm9sbGJhcl9wb2xpY3lfc2V0KHdpbmRvdy0+c2VhcmNoLnNlYXJj
aF9maWVsZCwgRUxNX1NDUk9MTEVSX1BPTElDWV9PRkYsIEVMTV9TQ1JPTExFUl9QT0xJQ1lfT0ZG
KTsKKyAgICBlbG1fZW50cnlfc2luZ2xlX2xpbmVfc2V0KHdpbmRvdy0+c2VhcmNoLnNlYXJjaF9m
aWVsZCwgRUlOQV9UUlVFKTsKKyAgICBlbG1fZW50cnlfY25wX21vZGVfc2V0KHdpbmRvdy0+c2Vh
cmNoLnNlYXJjaF9maWVsZCwgRUxNX0NOUF9NT0RFX1BMQUlOVEVYVCk7CisgICAgZWxtX2VudHJ5
X3RleHRfc3R5bGVfdXNlcl9wdXNoKHdpbmRvdy0+c2VhcmNoLnNlYXJjaF9maWVsZCwgIkRFRkFV
TFQ9J2ZvbnRfc2l6ZT0xNCciKTsKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQo
d2luZG93LT5zZWFyY2guc2VhcmNoX2ZpZWxkLCAiYWN0aXZhdGVkIiwgb25fc2VhcmNoX2ZpZWxk
X2FjdGl2YXRlZCwgd2luZG93KTsKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQo
d2luZG93LT5zZWFyY2guc2VhcmNoX2ZpZWxkLCAiY2hhbmdlZCIsIG9uX3NlYXJjaF9maWVsZF9h
Y3RpdmF0ZWQsIHdpbmRvdyk7CisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHdp
bmRvdy0+c2VhcmNoLnNlYXJjaF9maWVsZCwgImFib3J0ZWQiLCBvbl9zZWFyY2hfZmllbGRfYWJv
cnRlZCwgd2luZG93KTsKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQod2luZG93
LT5zZWFyY2guc2VhcmNoX2ZpZWxkLCAiY2xpY2tlZCIsIG9uX3NlYXJjaF9maWVsZF9jbGlja2Vk
LCB3aW5kb3cpOworICAgIGV2YXNfb2JqZWN0X3NpemVfaGludF93ZWlnaHRfc2V0KHdpbmRvdy0+
c2VhcmNoLnNlYXJjaF9maWVsZCwgRVZBU19ISU5UX0VYUEFORCwgRVZBU19ISU5UX0VYUEFORCk7
CisgICAgZXZhc19vYmplY3Rfc2l6ZV9oaW50X2FsaWduX3NldCh3aW5kb3ctPnNlYXJjaC5zZWFy
Y2hfZmllbGQsIEVWQVNfSElOVF9GSUxMLCBFVkFTX0hJTlRfRklMTCk7CisgICAgZWxtX2JveF9w
YWNrX2VuZCh3aW5kb3ctPnNlYXJjaC5zZWFyY2hfYmFyLCB3aW5kb3ctPnNlYXJjaC5zZWFyY2hf
ZmllbGQpOworCisgICAgLyogQ3JlYXRlIFNlYXJjaCBiYWNrd2FyZCBidXR0b24gKi8KKyAgICB3
aW5kb3ctPnNlYXJjaC5iYWNrd2FyZF9idXR0b24gPSBjcmVhdGVfdG9vbGJhcl9idXR0b24od2lu
ZG93LT5lbG1fd2luZG93LCAiYXJyb3dfdXAiKTsKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxs
YmFja19hZGQod2luZG93LT5zZWFyY2guYmFja3dhcmRfYnV0dG9uLCAiY2xpY2tlZCIsIG9uX3Nl
YXJjaF9iYWNrd2FyZF9idXR0b25fY2xpY2tlZCwgd2luZG93KTsKKyAgICBlbG1fb2JqZWN0X2Rp
c2FibGVkX3NldCh3aW5kb3ctPnNlYXJjaC5iYWNrd2FyZF9idXR0b24sIEVJTkFfRkFMU0UpOwor
ICAgIGV2YXNfb2JqZWN0X3NpemVfaGludF93ZWlnaHRfc2V0KHdpbmRvdy0+c2VhcmNoLmJhY2t3
YXJkX2J1dHRvbiwgMC4wLCBFVkFTX0hJTlRfRVhQQU5EKTsKKyAgICBldmFzX29iamVjdF9zaXpl
X2hpbnRfYWxpZ25fc2V0KHdpbmRvdy0+c2VhcmNoLmJhY2t3YXJkX2J1dHRvbiwgMS4wLCAwLjUp
OworICAgIGV2YXNfb2JqZWN0X3NpemVfaGludF9taW5fc2V0KHdpbmRvdy0+c2VhcmNoLmJhY2t3
YXJkX2J1dHRvbiwgU0VBUkNIX0JVVFRPTl9TSVpFLCBTRUFSQ0hfQlVUVE9OX1NJWkUpOworICAg
IGVsbV9ib3hfcGFja19lbmQod2luZG93LT5zZWFyY2guc2VhcmNoX2Jhciwgd2luZG93LT5zZWFy
Y2guYmFja3dhcmRfYnV0dG9uKTsKKworICAgIC8qIENyZWF0ZSBTZWFyY2ggZm9yd2FyZHdhcmQg
YnV0dG9uICovCisgICAgd2luZG93LT5zZWFyY2guZm9yd2FyZF9idXR0b24gPSBjcmVhdGVfdG9v
bGJhcl9idXR0b24od2luZG93LT5lbG1fd2luZG93LCAiYXJyb3dfZG93biIpOworICAgIGV2YXNf
b2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh3aW5kb3ctPnNlYXJjaC5mb3J3YXJkX2J1dHRvbiwg
ImNsaWNrZWQiLCBvbl9zZWFyY2hfZm9yd2FyZF9idXR0b25fY2xpY2tlZCwgd2luZG93KTsKKyAg
ICBlbG1fb2JqZWN0X2Rpc2FibGVkX3NldCh3aW5kb3ctPnNlYXJjaC5mb3J3YXJkX2J1dHRvbiwg
RUlOQV9GQUxTRSk7CisgICAgZXZhc19vYmplY3Rfc2l6ZV9oaW50X3dlaWdodF9zZXQod2luZG93
LT5zZWFyY2guZm9yd2FyZF9idXR0b24sIDAuMCwgRVZBU19ISU5UX0VYUEFORCk7CisgICAgZXZh
c19vYmplY3Rfc2l6ZV9oaW50X2FsaWduX3NldCh3aW5kb3ctPnNlYXJjaC5mb3J3YXJkX2J1dHRv
biwgMS4wLCAwLjUpOworICAgIGV2YXNfb2JqZWN0X3NpemVfaGludF9taW5fc2V0KHdpbmRvdy0+
c2VhcmNoLmZvcndhcmRfYnV0dG9uLCBTRUFSQ0hfQlVUVE9OX1NJWkUsIFNFQVJDSF9CVVRUT05f
U0laRSk7CisgICAgZWxtX2JveF9wYWNrX2VuZCh3aW5kb3ctPnNlYXJjaC5zZWFyY2hfYmFyLCB3
aW5kb3ctPnNlYXJjaC5mb3J3YXJkX2J1dHRvbik7CisKICAgICAvKiBDcmVhdGUgZXdrX3ZpZXcg
Ki8KICAgICBFd2tfVmlld19TbWFydF9DbGFzcyAqZXdrVmlld0NsYXNzID0gbWluaUJyb3dzZXJW
aWV3U21hcnRDbGFzcygpOwogICAgIGV3a1ZpZXdDbGFzcy0+cnVuX2phdmFzY3JpcHRfYWxlcnQg
PSBvbl9qYXZhc2NyaXB0X2FsZXJ0OwpAQCAtMTMyMCw3ICsxNDYzLDcgQEAgc3RhdGljIEJyb3dz
ZXJfV2luZG93ICp3aW5kb3dfY3JlYXRlKEV2YXNfT2JqZWN0ICpvcGVuZXIsIGNvbnN0IGNoYXIg
KnVybCwgaW50IHcKIAogICAgIGV2YXNfb2JqZWN0X3NpemVfaGludF93ZWlnaHRfc2V0KHdpbmRv
dy0+ZXdrX3ZpZXcsIEVWQVNfSElOVF9FWFBBTkQsIEVWQVNfSElOVF9FWFBBTkQpOwogICAgIGV2
YXNfb2JqZWN0X3NpemVfaGludF9hbGlnbl9zZXQod2luZG93LT5ld2tfdmlldywgRVZBU19ISU5U
X0ZJTEwsIEVWQVNfSElOVF9GSUxMKTsKLSAgICBlbG1fYm94X3BhY2tfZW5kKHZlcnRpY2FsX2xh
eW91dCwgd2luZG93LT5ld2tfdmlldyk7CisgICAgZWxtX2JveF9wYWNrX2JlZm9yZSh2ZXJ0aWNh
bF9sYXlvdXQsIHdpbmRvdy0+ZXdrX3ZpZXcsIHdpbmRvdy0+c2VhcmNoLnNlYXJjaF9iYXIpOwog
ICAgIGV2YXNfb2JqZWN0X3Nob3cod2luZG93LT5ld2tfdmlldyk7CiAKICAgICBpZiAodXJsICYm
IHN0cmNtcCh1cmwsICJhYm91dDpibGFuayIpKSAvLyBEbyBub3QgcmVzZXQgJ2Fib3V0OmJsYW5r
JyBhcyBpdCB3b3VsZCBlcmFzZSBhbGwgcHJldmlvdXMgZG9jdW1lbnQgbW9kaWZpY2F0aW9ucy4K
</data>

          </attachment>
      

    </bug>

</bugzilla>