<?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>49125</bug_id>
          
          <creation_ts>2010-11-05 22:31:48 -0700</creation_ts>
          <short_desc>[EFL] Add option to enable Touch Events.</short_desc>
          <delta_ts>2010-12-24 03:28:16 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Ryuan Choi">ryuan.choi</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>antognolli+webkit</cc>
    
    <cc>commit-queue</cc>
    
    <cc>kenneth</cc>
    
    <cc>leandro</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>305732</commentid>
    <comment_count>0</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2010-11-05 22:31:48 -0700</bug_when>
    <thetext>[CMake] Add option to enable Touch Events.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312708</commentid>
    <comment_count>1</comment_count>
      <attachid>74633</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2010-11-22 22:44:40 -0800</bug_when>
    <thetext>Created attachment 74633
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312719</commentid>
    <comment_count>2</comment_count>
      <attachid>74633</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-11-23 01:01:24 -0800</bug_when>
    <thetext>Comment on attachment 74633
Patch

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

&gt; WebCore/platform/efl/PlatformTouchEventEfl.cpp:36
&gt; +namespace WebCore {
&gt; +PlatformTouchEvent::PlatformTouchEvent(Eina_List* points, const IntPoint pos, TouchEventType type, int metaState)

Shouldn&apos;t there be some newline here?

&gt; WebCore/platform/efl/PlatformTouchEventEfl.cpp:68
&gt; +    // FIXME: We don&apos;t support metaState now.

&apos;for now&apos;

&gt; WebKit/efl/WebCoreSupport/ChromeClientEfl.h:126
&gt; +#if ENABLE(TOUCH_EVENTS)
&gt; +    virtual void needTouchEvents(bool) { }
&gt; +#endif
&gt; +

What is that bool for?

&gt; WebKit/efl/ewk/ewk_frame.cpp:1481
&gt; +#if ENABLE(TOUCH_EVENTS)

I would add a newline before this one</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312763</commentid>
    <comment_count>3</comment_count>
      <attachid>74645</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2010-11-23 04:54:09 -0800</bug_when>
    <thetext>Created attachment 74645
Updated patch fixing comments of Kenneth</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312772</commentid>
    <comment_count>4</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2010-11-23 05:05:27 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Created an attachment (id=74645) [details]
&gt; Updated patch fixing comments of Kenneth

Dear  Kenneth,
Thank you for you reviewing and I fixed all you mentioned.

&gt; &gt; WebKit/efl/WebCoreSupport/ChromeClientEfl.h:126
&gt; &gt; +#if ENABLE(TOUCH_EVENTS)
&gt; &gt; +    virtual void needTouchEvents(bool) { }
&gt; &gt; +#endif
&gt; &gt; +
&gt; 
&gt; What is that bool for?

This function is for WebCore to inform the platform when it needs touch events.
(https://bugs.webkit.org/show_bug.cgi?id=34215)

We probably need this, but not now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326570</commentid>
    <comment_count>5</comment_count>
      <attachid>74645</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-24 03:28:09 -0800</bug_when>
    <thetext>Comment on attachment 74645
Updated patch fixing comments of Kenneth

Clearing flags on attachment: 74645

Committed r74626: &lt;http://trac.webkit.org/changeset/74626&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326571</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-24 03:28:16 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74633</attachid>
            <date>2010-11-22 22:44:40 -0800</date>
            <delta_ts>2010-11-23 04:54:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-49125-20101123154437.patch</filename>
            <type>text/plain</type>
            <size>14813</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDcyNTg1
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMTEt
MjIgIFJ5dWFuIENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtFRkxdIEFkZCBvcHRpb24gdG8gZW5h
YmxlIFRvdWNoIEV2ZW50cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQ5MTI1CisKKyAgICAgICAgQWRkIEVOQUJMRV9UT1VDSF9FVkVOVFMgb3B0aW9u
LgorCisgICAgICAgICogY21ha2UvT3B0aW9uc0VmbC5jbWFrZToKKyAgICAgICAgKiBjbWFrZWNv
bmZpZy5oLmNtYWtlOgorCiAyMDEwLTExLTE5ICBNaWhhaSBQYXJwYXJpdGEgIDxtaWhhaXBAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIEFkZCByZWNlbnQgdXBzdHJlYW0gQ2hyb21pdW0gZGVwZW5k
ZW5jaWVzIHRvIC5naXRpZ25vcmUuCkluZGV4OiBjbWFrZWNvbmZpZy5oLmNtYWtlCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIGNtYWtlY29uZmlnLmguY21ha2UJKHJldmlzaW9uIDcyNTczKQorKysgY21ha2Vjb25m
aWcuaC5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAogI2RlZmluZSBFTkFC
TEVfU1ZHX0ZPTlRTIEBFTkFCTEVfU1ZHX0ZPTlRTX1ZBTFVFQAogI2RlZmluZSBFTkFCTEVfU1ZH
X0ZPUkVJR05fT0JKRUNUIEBFTkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUX1ZBTFVFQAogI2RlZmlu
ZSBFTkFCTEVfU1ZHX1VTRSBARU5BQkxFX1NWR19VU0VfVkFMVUVACisjZGVmaW5lIEVOQUJMRV9U
T1VDSF9FVkVOVFMgQEVOQUJMRV9UT1VDSF9FVkVOVFNfVkFMVUVACiAjZGVmaW5lIEVOQUJMRV9W
SURFTyBARU5BQkxFX1ZJREVPX1ZBTFVFQAogI2RlZmluZSBFTkFCTEVfV0VCX1NPQ0tFVFMgQEVO
QUJMRV9XRUJfU09DS0VUU19WQUxVRUAKICNkZWZpbmUgRU5BQkxFX1dNTCBARU5BQkxFX1dNTF9W
QUxVRUAKSW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hh
bmdlTG9nCShyZXZpc2lvbiA3MjU4NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTAtMTEtMjIgIFJ5dWFuIENob2kgIDxyeXVhbi5jaG9p
QHNhbXN1bmcuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFtFRkxdIEFkZCBvcHRpb24gdG8gZW5hYmxlIFRvdWNoIEV2ZW50cy4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5MTI1CisKKyAgICAgICAg
QWRkIGZpbGVzIGZvciBFRkwgdG8gc3VwcG9ydCBUT1VDSF9FVkVOVFMuCisKKyAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBDTWFrZUxpc3RzRWZsLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9QbGF0Zm9ybVRvdWNoRXZlbnQuaDogQWRkIEVGTCByZWxhdGVkIGNvbnN0cnVjdG9y
LgorICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3JtVG91Y2hQb2ludC5oOiBkaXR0by4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9lZmwvUGxhdGZvcm1Ub3VjaEV2ZW50RWZsLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpQbGF0Zm9ybVRvdWNoRXZlbnQ6OlBsYXRmb3JtVG91Y2hFdmVudCk6Cisg
ICAgICAgICogcGxhdGZvcm0vZWZsL1BsYXRmb3JtVG91Y2hQb2ludEVmbC5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1Ub3VjaFBvaW50OjpQbGF0Zm9ybVRvdWNoUG9pbnQp
OgorCiAyMDEwLTExLTIyICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gUm9iZW4uCkluZGV4OiBXZWJDb3JlL0NNYWtlTGlz
dHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDcy
NTczKQorKysgV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtODcxLDYg
Kzg3MSw5IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBkb20vVGFnTm9kZUxpc3QuY3BwCiAg
ICAgZG9tL1RleHQuY3BwCiAgICAgZG9tL1RleHRFdmVudC5jcHAKKyAgICBkb20vVG91Y2guY3Bw
CisgICAgZG9tL1RvdWNoRXZlbnQuY3BwCisgICAgZG9tL1RvdWNoTGlzdC5jcHAKICAgICBkb20v
VHJhbnNmb3JtU291cmNlTGlieHNsdC5jcHAKICAgICBkb20vVHJhdmVyc2FsLmNwcAogICAgIGRv
bS9UcmVlV2Fsa2VyLmNwcApJbmRleDogV2ViQ29yZS9DTWFrZUxpc3RzRWZsLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL0NNYWtlTGlzdHNFZmwudHh0CShyZXZpc2lvbiA3MjU3MykKKysrIFdl
YkNvcmUvQ01ha2VMaXN0c0VmbC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTM5LDYgKzM5LDggQEAg
TElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgIHBsYXRmb3JtL2VmbC9QbGF0Zm9ybUtleWJv
YXJkRXZlbnRFZmwuY3BwCiAgIHBsYXRmb3JtL2VmbC9QbGF0Zm9ybU1vdXNlRXZlbnRFZmwuY3Bw
CiAgIHBsYXRmb3JtL2VmbC9QbGF0Zm9ybVNjcmVlbkVmbC5jcHAKKyAgcGxhdGZvcm0vZWZsL1Bs
YXRmb3JtVG91Y2hFdmVudEVmbC5jcHAKKyAgcGxhdGZvcm0vZWZsL1BsYXRmb3JtVG91Y2hQb2lu
dEVmbC5jcHAKICAgcGxhdGZvcm0vZWZsL1BsYXRmb3JtV2hlZWxFdmVudEVmbC5jcHAKICAgcGxh
dGZvcm0vZWZsL1BvcHVwTWVudUVmbC5jcHAKICAgcGxhdGZvcm0vZWZsL1JlbmRlclRoZW1lRWZs
LmNwcApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVRvdWNoRXZlbnQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtVG91Y2hFdmVudC5oCShyZXZpc2lvbiA3
MjU3MykKKysrIFdlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1Ub3VjaEV2ZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTQxLDYgKzQxLDEwIEBAIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBpbnQgdWludDMy
OwogI2RlZmluZSBBRUVFdmVudCB1aW50MTYKICNlbmRpZgogCisjaWYgUExBVEZPUk0oRUZMKQor
dHlwZWRlZiBzdHJ1Y3QgX0VpbmFfTGlzdCBFaW5hX0xpc3Q7CisjZW5kaWYKKwogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBlbnVtIFRvdWNoRXZlbnRUeXBlIHsKQEAgLTY1LDYgKzY5LDggQEAgcHVi
bGljOgogICAgIFBsYXRmb3JtVG91Y2hFdmVudChjb25zdCBWZWN0b3I8SW50UG9pbnQ+JiwgVG91
Y2hFdmVudFR5cGUsIFBsYXRmb3JtVG91Y2hQb2ludDo6U3RhdGUsIGludCBtZXRhU3RhdGUpOwog
I2VsaWYgUExBVEZPUk0oQlJFV01QKQogICAgIFBsYXRmb3JtVG91Y2hFdmVudChBRUVFdmVudCwg
dWludDE2IHdQYXJhbSwgdWludDMyIGR3UGFyYW0pOworI2VsaWYgUExBVEZPUk0oRUZMKQorICAg
IFBsYXRmb3JtVG91Y2hFdmVudChFaW5hX0xpc3QqLCBjb25zdCBJbnRQb2ludCwgVG91Y2hFdmVu
dFR5cGUsIGludCBtZXRhU3RhdGUpOwogI2VuZGlmCiAKICAgICBUb3VjaEV2ZW50VHlwZSB0eXBl
KCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL1BsYXRm
b3JtVG91Y2hQb2ludC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1U
b3VjaFBvaW50LmgJKHJldmlzaW9uIDcyNTczKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9y
bVRvdWNoUG9pbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsOCBAQCBwdWJsaWM6CiAg
ICAgUGxhdGZvcm1Ub3VjaFBvaW50KHVuc2lnbmVkIGlkLCBjb25zdCBJbnRQb2ludCYgd2luZG93
UG9zLCBTdGF0ZSk7CiAjZWxpZiBQTEFURk9STShCUkVXTVApCiAgICAgUGxhdGZvcm1Ub3VjaFBv
aW50KGludCBpZCwgY29uc3QgSW50UG9pbnQmIHdpbmRvd1BvcywgU3RhdGUpOworI2VsaWYgUExB
VEZPUk0oRUZMKQorICAgIFBsYXRmb3JtVG91Y2hQb2ludCh1bnNpZ25lZCBpZCwgY29uc3QgSW50
UG9pbnQmIHdpbmRvd1BvcywgU3RhdGUpOwogI2VuZGlmCiAKICAgICB1bnNpZ25lZCBpZCgpIGNv
bnN0IHsgcmV0dXJuIG1faWQ7IH0KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZWZsL1BsYXRmb3Jt
VG91Y2hFdmVudEVmbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUGxh
dGZvcm1Ub3VjaEV2ZW50RWZsLmNwcAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0v
ZWZsL1BsYXRmb3JtVG91Y2hFdmVudEVmbC5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNzMg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDktMjAxMCBTYW1zdW5nIEVsZWN0cm9uaWNzCisg
KgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiUGxhdGZvcm1Ub3VjaEV2ZW50LmgiCisKKyNpbmNsdWRlICJld2tfZnJhbWUuaCIK
KworI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK1BsYXRm
b3JtVG91Y2hFdmVudDo6UGxhdGZvcm1Ub3VjaEV2ZW50KEVpbmFfTGlzdCogcG9pbnRzLCBjb25z
dCBJbnRQb2ludCBwb3MsIFRvdWNoRXZlbnRUeXBlIHR5cGUsIGludCBtZXRhU3RhdGUpCisgICAg
OiBtX3R5cGUodHlwZSkKKyAgICAsIG1fY3RybEtleShmYWxzZSkKKyAgICAsIG1fYWx0S2V5KGZh
bHNlKQorICAgICwgbV9zaGlmdEtleShmYWxzZSkKKyAgICAsIG1fbWV0YUtleShmYWxzZSkKK3sK
KyAgICB2b2lkKiBwb2ludDsKKworICAgIEVJTkFfTElTVF9GUkVFKHBvaW50cywgcG9pbnQpIHsK
KyAgICAgICAgRXdrX1RvdWNoX1BvaW50KiBwID0gc3RhdGljX2Nhc3Q8RXdrX1RvdWNoX1BvaW50
Kj4ocG9pbnQpOworICAgICAgICBJbnRQb2ludCBwbnQgPSBJbnRQb2ludChwLT54IC0gcG9zLngo
KSwgcC0+eSAtIHBvcy55KCkpOworCisgICAgICAgIFBsYXRmb3JtVG91Y2hQb2ludDo6U3RhdGUg
c3RhdGUgPSBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoUHJlc3NlZDsKKyAgICAgICAgc3dpdGNo
IChwLT5zdGF0ZSkgeworICAgICAgICBjYXNlIEVXS19UT1VDSF9QT0lOVF9QUkVTU0VEOgorICAg
ICAgICAgICAgc3RhdGUgPSBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoUHJlc3NlZDsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEVXS19UT1VDSF9QT0lOVF9SRUxFQVNFRDoKKyAg
ICAgICAgICAgIHN0YXRlID0gUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFJlbGVhc2VkOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgRVdLX1RPVUNIX1BPSU5UX01PVkVEOgorICAg
ICAgICAgICAgc3RhdGUgPSBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoTW92ZWQ7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgY2FzZSBFV0tfVE9VQ0hfUE9JTlRfQ0FOQ0VMTEVEOgorICAg
ICAgICAgICAgc3RhdGUgPSBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoQ2FuY2VsbGVkOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBtX3RvdWNoUG9pbnRzLmFwcGVu
ZChQbGF0Zm9ybVRvdWNoUG9pbnQocC0+aWQsIHBudCwgc3RhdGUpKTsKKyAgICB9CisKKyAgICAv
LyBGSVhNRTogV2UgZG9uJ3Qgc3VwcG9ydCBtZXRhU3RhdGUgbm93LgorfQorCit9CisKKyNlbmRp
ZgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUGxhdGZvcm1Ub3VjaFBvaW50RWZsLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2VmbC9QbGF0Zm9ybVRvdWNoUG9pbnRFZmwu
Y3BwCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUGxhdGZvcm1Ub3VjaFBv
aW50RWZsLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAwOS0yMDEwIFNhbXN1bmcgRWxlY3Ryb25pY3MKKyAqCisgKiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVRv
dWNoUG9pbnQuaCIKKworI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworUGxhdGZvcm1Ub3VjaFBvaW50OjpQbGF0Zm9ybVRvdWNoUG9pbnQodW5zaWduZWQg
aWQsIGNvbnN0IEludFBvaW50JiB3aW5kb3dQb3MsIFN0YXRlIHN0YXRlKQorICAgIDogbV9pZChp
ZCkKKyAgICAsIG1fc3RhdGUoc3RhdGUpCisgICAgLCBtX3NjcmVlblBvcyh3aW5kb3dQb3MpCisg
ICAgLCBtX3Bvcyh3aW5kb3dQb3MpIHsgfQorCit9CisKKyNlbmRpZgpJbmRleDogV2ViS2l0L2Vm
bC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2VmbC9DaGFuZ2VMb2cJKHJldmlzaW9u
IDcyNTg1KQorKysgV2ViS2l0L2VmbC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwxOSBAQAorMjAxMC0xMS0yMiAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNob2lAc2Ftc3VuZy5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0VGTF0g
QWRkIG9wdGlvbiB0byBlbmFibGUgVG91Y2ggRXZlbnRzLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDkxMjUKKworICAgICAgICBJbXBsZW1lbnQgZXdr
X2ZyYW1lX2ZlZWRfdG91Y2hfZXZlbnQgdG8gZmVlZCB0b3VjaCBldmVudHMuIEJlY2F1c2UgRUZM
CisgICAgICAgIGRvZXNuJ3QgaGF2ZSB0b3VjaCBldmVudHMsIEFwcGxpY2F0aW9uIHNob3VsZCBn
ZW5lcmF0ZSBhbmQgcGFzcyBpdC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudEVmbC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50RWZsOjpuZWVkVG91Y2hF
dmVudHMpOgorICAgICAgICAqIGV3ay9ld2tfZnJhbWUuY3BwOgorICAgICAgICAoZXdrX2ZyYW1l
X2ZlZWRfdG91Y2hfZXZlbnQpOgorICAgICAgICAqIGV3ay9ld2tfZnJhbWUuaDoKKwogMjAxMC0x
MS0yMiAgQWxleCBHcmlsbyAgPGFiZ3JpbG9AcHJvZnVzaW9uLm1vYmk+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCkluZGV4OiBXZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgJKHJldmlzaW9uIDcyNTczKQorKysgV2Vi
S2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaAkod29ya2luZyBjb3B5KQpA
QCAtMTIwLDYgKzEyMCwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNob3dDb250ZXh0
TWVudSgpIHsgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgIHZpcnR1
YWwgdm9pZCBuZWVkVG91Y2hFdmVudHMoYm9vbCkgeyB9CisjZW5kaWYKKwogICAgIHZpcnR1YWwg
dm9pZCBydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPik7CiAgICAg
dmlydHVhbCB2b2lkIGNob29zZUljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYsIEZp
bGVDaG9vc2VyKik7CiAgICAgdmlydHVhbCB2b2lkIGZvcm1TdGF0ZURpZENoYW5nZShjb25zdCBO
b2RlKik7CkluZGV4OiBXZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5jcHAJKHJldmlzaW9uIDcyNTczKQorKysgV2ViS2l0
L2VmbC9ld2svZXdrX2ZyYW1lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYsNiArMzYsNyBAQAog
I2luY2x1ZGUgIktVUkwuaCIKICNpbmNsdWRlICJQbGF0Zm9ybUtleWJvYXJkRXZlbnQuaCIKICNp
bmNsdWRlICJQbGF0Zm9ybU1vdXNlRXZlbnQuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVRvdWNoRXZl
bnQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVdoZWVsRXZlbnQuaCIKICNpbmNsdWRlICJQcm9ncmVz
c1RyYWNrZXIuaCIKICNpbmNsdWRlICJSZWZQdHIuaCIKQEAgLTE0NzQsNiArMTQ3NSw0MSBAQCBF
aW5hX0Jvb2wgZXdrX2ZyYW1lX2ZlZWRfbW91c2VfbW92ZShFdmFzCiAgICAgcmV0dXJuIHNkLT5m
cmFtZS0+ZXZlbnRIYW5kbGVyKCktPm1vdXNlTW92ZWQoZXZlbnQpOwogfQogCitFaW5hX0Jvb2wg
ZXdrX2ZyYW1lX2ZlZWRfdG91Y2hfZXZlbnQoRXZhc19PYmplY3QqIG8sIEV3a19Ub3VjaF9FdmVu
dF9UeXBlIGFjdGlvbiwgRWluYV9MaXN0KiBwb2ludHMsIGludCBtZXRhU3RhdGUpCit7CisgICAg
RWluYV9Cb29sIHJldCA9IEVJTkFfRkFMU0U7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAg
ICBFV0tfRlJBTUVfU0RfR0VUX09SX1JFVFVSTihvLCBzZCwgRUlOQV9GQUxTRSk7CisgICAgRUlO
QV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKHNkLT5mcmFtZSwgRUlOQV9GQUxTRSk7CisgICAg
RUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKHBvaW50cywgRUlOQV9GQUxTRSk7CisKKyAg
ICBFdmFzX0Nvb3JkIHgsIHk7CisgICAgZXZhc19vYmplY3RfZ2VvbWV0cnlfZ2V0KHNkLT52aWV3
LCAmeCwgJnksIDAsIDApOworCisgICAgV2ViQ29yZTo6VG91Y2hFdmVudFR5cGUgdHlwZSA9IFdl
YkNvcmU6OlRvdWNoU3RhcnQ7CisgICAgc3dpdGNoIChhY3Rpb24pIHsKKyAgICBjYXNlIEVXS19U
T1VDSF9TVEFSVDoKKyAgICAgICAgdHlwZSA9IFdlYkNvcmU6OlRvdWNoU3RhcnQ7CisgICAgICAg
IGJyZWFrOworICAgIGNhc2UgRVdLX1RPVUNIX0VORDoKKyAgICAgICAgdHlwZSA9IFdlYkNvcmU6
OlRvdWNoRW5kOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEVXS19UT1VDSF9NT1ZFOgorICAg
ICAgICB0eXBlID0gV2ViQ29yZTo6VG91Y2hNb3ZlOworICAgICAgICBicmVhazsKKyAgICBjYXNl
IEVXS19UT1VDSF9DQU5DRUw6CisgICAgICAgIHR5cGUgPSBXZWJDb3JlOjpUb3VjaENhbmNlbDsK
KyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIEVJTkFfRkFMU0U7
CisgICAgfQorCisgICAgV2ViQ29yZTo6UGxhdGZvcm1Ub3VjaEV2ZW50IHRlKHBvaW50cywgV2Vi
Q29yZTo6SW50UG9pbnQoeCwgeSksIHR5cGUsIG1ldGFTdGF0ZSk7CisgICAgcmV0ID0gc2QtPmZy
YW1lLT5ldmVudEhhbmRsZXIoKS0+aGFuZGxlVG91Y2hFdmVudCh0ZSk7CisjZW5kaWYKKyAgICBy
ZXR1cm4gcmV0OworfQorCiBzdGF0aWMgaW5saW5lIEVpbmFfQm9vbCBfZXdrX2ZyYW1lX2hhbmRs
ZV9rZXlfc2Nyb2xsaW5nKFdlYkNvcmU6OkZyYW1lKiBmcmFtZSwgY29uc3QgV2ViQ29yZTo6UGxh
dGZvcm1LZXlib2FyZEV2ZW50ICZldmVudCkKIHsKICAgICBXZWJDb3JlOjpTY3JvbGxEaXJlY3Rp
b24gZGlyZWN0aW9uOwpJbmRleDogV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmgJKHJldmlzaW9uIDcyNTczKQorKysgV2Vi
S2l0L2VmbC9ld2svZXdrX2ZyYW1lLmgJKHdvcmtpbmcgY29weSkKQEAgLTEzMCw2ICsxMzAsMjYg
QEAgc3RydWN0IF9Fd2tfSGl0X1Rlc3QgewogICAgIH0gZmxhZ3M7CiB9OwogCit0eXBlZGVmIGVu
dW0geworICAgIEVXS19UT1VDSF9TVEFSVCwKKyAgICBFV0tfVE9VQ0hfRU5ELAorICAgIEVXS19U
T1VDSF9NT1ZFLAorICAgIEVXS19UT1VDSF9DQU5DRUwKK30gRXdrX1RvdWNoX0V2ZW50X1R5cGU7
CisKK3R5cGVkZWYgZW51bSB7CisgICAgRVdLX1RPVUNIX1BPSU5UX1BSRVNTRUQsCisgICAgRVdL
X1RPVUNIX1BPSU5UX1JFTEVBU0VELAorICAgIEVXS19UT1VDSF9QT0lOVF9NT1ZFRCwKKyAgICBF
V0tfVE9VQ0hfUE9JTlRfQ0FOQ0VMTEVECit9IEV3a19Ub3VjaF9Qb2ludF9UeXBlOworCit0eXBl
ZGVmIHN0cnVjdCBfRXdrX1RvdWNoX1BvaW50IEV3a19Ub3VjaF9Qb2ludDsKK3N0cnVjdCBfRXdr
X1RvdWNoX1BvaW50IHsKKyAgICB1bnNpZ25lZCBpbnQgaWQ7CisgICAgaW50IHgsIHk7CisgICAg
RXdrX1RvdWNoX1BvaW50X1R5cGUgc3RhdGU7Cit9OwogCiBFQVBJIEV2YXNfT2JqZWN0ICpld2tf
ZnJhbWVfdmlld19nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pOwogRUFQSSB2b2lkICAgICAgICAg
ZXdrX2ZyYW1lX3RoZW1lX3NldChFdmFzX09iamVjdCAqbywgY29uc3QgY2hhciAqcGF0aCk7CkBA
IC0yMDAsNiArMjIwLDcgQEAgRUFQSSBFaW5hX0Jvb2wgICAgZXdrX2ZyYW1lX2ZlZWRfbW91c2Vf
dwogRUFQSSBFaW5hX0Jvb2wgICAgZXdrX2ZyYW1lX2ZlZWRfbW91c2VfZG93bihFdmFzX09iamVj
dCAqbywgY29uc3QgRXZhc19FdmVudF9Nb3VzZV9Eb3duICpldik7CiBFQVBJIEVpbmFfQm9vbCAg
ICBld2tfZnJhbWVfZmVlZF9tb3VzZV91cChFdmFzX09iamVjdCAqbywgY29uc3QgRXZhc19FdmVu
dF9Nb3VzZV9VcCAqZXYpOwogRUFQSSBFaW5hX0Jvb2wgICAgZXdrX2ZyYW1lX2ZlZWRfbW91c2Vf
bW92ZShFdmFzX09iamVjdCAqbywgY29uc3QgRXZhc19FdmVudF9Nb3VzZV9Nb3ZlICpldik7CitF
QVBJIEVpbmFfQm9vbCAgICBld2tfZnJhbWVfZmVlZF90b3VjaF9ldmVudChFdmFzX09iamVjdCog
bywgRXdrX1RvdWNoX0V2ZW50X1R5cGUgYWN0aW9uLCBFaW5hX0xpc3QqIHBvaW50cywgaW50IG1l
dGFTdGF0ZSk7CiBFQVBJIEVpbmFfQm9vbCAgICBld2tfZnJhbWVfZmVlZF9rZXlfZG93bihFdmFz
X09iamVjdCAqbywgY29uc3QgRXZhc19FdmVudF9LZXlfRG93biAqZXYpOwogRUFQSSBFaW5hX0Jv
b2wgICAgZXdrX2ZyYW1lX2ZlZWRfa2V5X3VwKEV2YXNfT2JqZWN0ICpvLCBjb25zdCBFdmFzX0V2
ZW50X0tleV9VcCAqZXYpOwogCkluZGV4OiBjbWFrZS9PcHRpb25zRWZsLmNtYWtlCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIGNtYWtlL09wdGlvbnNFZmwuY21ha2UJKHJldmlzaW9uIDcyNTczKQorKysgY21ha2Uv
T3B0aW9uc0VmbC5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtNzgsNiArNzgsNyBAQCBXRUJLSVRf
RkVBVFVSRShFTkFCTEVfU1ZHX0FOSU1BVElPTiAiRW5hCiBXRUJLSVRfRkVBVFVSRShFTkFCTEVf
U1ZHX0ZPTlRTICJFbmFibGUgU1ZHIGZvbnRzIiBERUZBVUxUIE9OIFNWRykKIFdFQktJVF9GRUFU
VVJFKEVOQUJMRV9TVkdfRk9SRUlHTl9PQkpFQ1QgIkVuYWJsZSBTVkcgZm9yZWlnbiBvYmplY3Qi
IERFRkFVTFQgT04gU1ZHKQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX1NWR19VU0UgIkVuYWJsZSBT
VkcgdXNlIiBERUZBVUxUIE9OIFNWRykKK1dFQktJVF9GRUFUVVJFKEVOQUJMRV9UT1VDSF9FVkVO
VFMgIkVuYWJsZSBUb3VjaCBFdmVudHMiIERFRkFVTFQgT0ZGKQogV0VCS0lUX0ZFQVRVUkUoRU5B
QkxFX1ZJREVPICJFbmFibGUgdmlkZW8iIERFRkFVTFQgT04gSFRNTCkKIFdFQktJVF9GRUFUVVJF
KEVOQUJMRV9XRUJfU09DS0VUUyAiRW5hYmxlIHdlYiBzb2NrZXRzIiBERUZBVUxUIE9GRikKIFdF
QktJVF9GRUFUVVJFKEVOQUJMRV9XTUwgIkVuYWJsZSBXTUwiIERFRkFVTFQgT0ZGKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74645</attachid>
            <date>2010-11-23 04:54:09 -0800</date>
            <delta_ts>2010-12-24 03:28:09 -0800</delta_ts>
            <desc>Updated patch fixing comments of Kenneth</desc>
            <filename>bug-49125-20101123215406.patch</filename>
            <type>text/plain</type>
            <size>14819</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDcyNTk0
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMTEt
MjMgIFJ5dWFuIENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtFRkxdIEFkZCBvcHRpb24gdG8gZW5h
YmxlIFRvdWNoIEV2ZW50cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQ5MTI1CisKKyAgICAgICAgQWRkIEVOQUJMRV9UT1VDSF9FVkVOVFMgb3B0aW9u
LgorCisgICAgICAgICogY21ha2UvT3B0aW9uc0VmbC5jbWFrZToKKyAgICAgICAgKiBjbWFrZWNv
bmZpZy5oLmNtYWtlOgorCiAyMDEwLTExLTE5ICBNaWhhaSBQYXJwYXJpdGEgIDxtaWhhaXBAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIEFkZCByZWNlbnQgdXBzdHJlYW0gQ2hyb21pdW0gZGVwZW5k
ZW5jaWVzIHRvIC5naXRpZ25vcmUuCkluZGV4OiBjbWFrZWNvbmZpZy5oLmNtYWtlCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIGNtYWtlY29uZmlnLmguY21ha2UJKHJldmlzaW9uIDcyNTkzKQorKysgY21ha2Vjb25m
aWcuaC5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAogI2RlZmluZSBFTkFC
TEVfU1ZHX0ZPTlRTIEBFTkFCTEVfU1ZHX0ZPTlRTX1ZBTFVFQAogI2RlZmluZSBFTkFCTEVfU1ZH
X0ZPUkVJR05fT0JKRUNUIEBFTkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUX1ZBTFVFQAogI2RlZmlu
ZSBFTkFCTEVfU1ZHX1VTRSBARU5BQkxFX1NWR19VU0VfVkFMVUVACisjZGVmaW5lIEVOQUJMRV9U
T1VDSF9FVkVOVFMgQEVOQUJMRV9UT1VDSF9FVkVOVFNfVkFMVUVACiAjZGVmaW5lIEVOQUJMRV9W
SURFTyBARU5BQkxFX1ZJREVPX1ZBTFVFQAogI2RlZmluZSBFTkFCTEVfV0VCX1NPQ0tFVFMgQEVO
QUJMRV9XRUJfU09DS0VUU19WQUxVRUAKICNkZWZpbmUgRU5BQkxFX1dNTCBARU5BQkxFX1dNTF9W
QUxVRUAKSW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hh
bmdlTG9nCShyZXZpc2lvbiA3MjU5NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTAtMTEtMjMgIFJ5dWFuIENob2kgIDxyeXVhbi5jaG9p
QHNhbXN1bmcuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFtFRkxdIEFkZCBvcHRpb24gdG8gZW5hYmxlIFRvdWNoIEV2ZW50cy4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5MTI1CisKKyAgICAgICAg
QWRkIGZpbGVzIGZvciBFRkwgdG8gc3VwcG9ydCBUT1VDSF9FVkVOVFMuCisKKyAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBDTWFrZUxpc3RzRWZsLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9QbGF0Zm9ybVRvdWNoRXZlbnQuaDogQWRkIEVGTCByZWxhdGVkIGNvbnN0cnVjdG9y
LgorICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3JtVG91Y2hQb2ludC5oOiBkaXR0by4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9lZmwvUGxhdGZvcm1Ub3VjaEV2ZW50RWZsLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpQbGF0Zm9ybVRvdWNoRXZlbnQ6OlBsYXRmb3JtVG91Y2hFdmVudCk6Cisg
ICAgICAgICogcGxhdGZvcm0vZWZsL1BsYXRmb3JtVG91Y2hQb2ludEVmbC5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1Ub3VjaFBvaW50OjpQbGF0Zm9ybVRvdWNoUG9pbnQp
OgorCiAyMDEwLTExLTIzICBKZXJlbXkgT3Jsb3cgIDxqb3Jsb3dAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IFN0ZXZlIEJsb2NrLgpJbmRleDogV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiA3MjU5
MykKKysrIFdlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTg4MSw2ICs4
ODEsOSBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgZG9tL1RhZ05vZGVMaXN0LmNwcAogICAg
IGRvbS9UZXh0LmNwcAogICAgIGRvbS9UZXh0RXZlbnQuY3BwCisgICAgZG9tL1RvdWNoLmNwcAor
ICAgIGRvbS9Ub3VjaEV2ZW50LmNwcAorICAgIGRvbS9Ub3VjaExpc3QuY3BwCiAgICAgZG9tL1Ry
YW5zZm9ybVNvdXJjZUxpYnhzbHQuY3BwCiAgICAgZG9tL1RyYXZlcnNhbC5jcHAKICAgICBkb20v
VHJlZVdhbGtlci5jcHAKSW5kZXg6IFdlYkNvcmUvQ01ha2VMaXN0c0VmbC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9DTWFrZUxpc3RzRWZsLnR4dAkocmV2aXNpb24gNzI1OTMpCisrKyBXZWJD
b3JlL0NNYWtlTGlzdHNFZmwudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zOSw2ICszOSw4IEBAIExJ
U1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICBwbGF0Zm9ybS9lZmwvUGxhdGZvcm1LZXlib2Fy
ZEV2ZW50RWZsLmNwcAogICBwbGF0Zm9ybS9lZmwvUGxhdGZvcm1Nb3VzZUV2ZW50RWZsLmNwcAog
ICBwbGF0Zm9ybS9lZmwvUGxhdGZvcm1TY3JlZW5FZmwuY3BwCisgIHBsYXRmb3JtL2VmbC9QbGF0
Zm9ybVRvdWNoRXZlbnRFZmwuY3BwCisgIHBsYXRmb3JtL2VmbC9QbGF0Zm9ybVRvdWNoUG9pbnRF
ZmwuY3BwCiAgIHBsYXRmb3JtL2VmbC9QbGF0Zm9ybVdoZWVsRXZlbnRFZmwuY3BwCiAgIHBsYXRm
b3JtL2VmbC9Qb3B1cE1lbnVFZmwuY3BwCiAgIHBsYXRmb3JtL2VmbC9SZW5kZXJUaGVtZUVmbC5j
cHAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1Ub3VjaEV2ZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVRvdWNoRXZlbnQuaAkocmV2aXNpb24gNzI1
OTMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtVG91Y2hFdmVudC5oCSh3b3JraW5nIGNv
cHkpCkBAIC00MSw2ICs0MSwxMCBAQCB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgaW50IHVpbnQzMjsK
ICNkZWZpbmUgQUVFRXZlbnQgdWludDE2CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKEVGTCkKK3R5
cGVkZWYgc3RydWN0IF9FaW5hX0xpc3QgRWluYV9MaXN0OworI2VuZGlmCisKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogZW51bSBUb3VjaEV2ZW50VHlwZSB7CkBAIC02NSw2ICs2OSw4IEBAIHB1Ymxp
YzoKICAgICBQbGF0Zm9ybVRvdWNoRXZlbnQoY29uc3QgVmVjdG9yPEludFBvaW50PiYsIFRvdWNo
RXZlbnRUeXBlLCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlN0YXRlLCBpbnQgbWV0YVN0YXRlKTsKICNl
bGlmIFBMQVRGT1JNKEJSRVdNUCkKICAgICBQbGF0Zm9ybVRvdWNoRXZlbnQoQUVFRXZlbnQsIHVp
bnQxNiB3UGFyYW0sIHVpbnQzMiBkd1BhcmFtKTsKKyNlbGlmIFBMQVRGT1JNKEVGTCkKKyAgICBQ
bGF0Zm9ybVRvdWNoRXZlbnQoRWluYV9MaXN0KiwgY29uc3QgSW50UG9pbnQsIFRvdWNoRXZlbnRU
eXBlLCBpbnQgbWV0YVN0YXRlKTsKICNlbmRpZgogCiAgICAgVG91Y2hFdmVudFR5cGUgdHlwZSgp
IGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9y
bVRvdWNoUG9pbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtVG91
Y2hQb2ludC5oCShyZXZpc2lvbiA3MjU5MykKKysrIFdlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1U
b3VjaFBvaW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTUwLDYgKzUwLDggQEAgcHVibGljOgogICAg
IFBsYXRmb3JtVG91Y2hQb2ludCh1bnNpZ25lZCBpZCwgY29uc3QgSW50UG9pbnQmIHdpbmRvd1Bv
cywgU3RhdGUpOwogI2VsaWYgUExBVEZPUk0oQlJFV01QKQogICAgIFBsYXRmb3JtVG91Y2hQb2lu
dChpbnQgaWQsIGNvbnN0IEludFBvaW50JiB3aW5kb3dQb3MsIFN0YXRlKTsKKyNlbGlmIFBMQVRG
T1JNKEVGTCkKKyAgICBQbGF0Zm9ybVRvdWNoUG9pbnQodW5zaWduZWQgaWQsIGNvbnN0IEludFBv
aW50JiB3aW5kb3dQb3MsIFN0YXRlKTsKICNlbmRpZgogCiAgICAgdW5zaWduZWQgaWQoKSBjb25z
dCB7IHJldHVybiBtX2lkOyB9CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2VmbC9QbGF0Zm9ybVRv
dWNoRXZlbnRFZmwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZWZsL1BsYXRm
b3JtVG91Y2hFdmVudEVmbC5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2Vm
bC9QbGF0Zm9ybVRvdWNoRXZlbnRFZmwuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDc0IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5LTIwMTAgU2Ftc3VuZyBFbGVjdHJvbmljcworICoK
KyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIlBsYXRmb3JtVG91Y2hFdmVudC5oIgorCisjaW5jbHVkZSAiZXdrX2ZyYW1lLmgiCisK
KyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1BsYXRm
b3JtVG91Y2hFdmVudDo6UGxhdGZvcm1Ub3VjaEV2ZW50KEVpbmFfTGlzdCogcG9pbnRzLCBjb25z
dCBJbnRQb2ludCBwb3MsIFRvdWNoRXZlbnRUeXBlIHR5cGUsIGludCBtZXRhU3RhdGUpCisgICAg
OiBtX3R5cGUodHlwZSkKKyAgICAsIG1fY3RybEtleShmYWxzZSkKKyAgICAsIG1fYWx0S2V5KGZh
bHNlKQorICAgICwgbV9zaGlmdEtleShmYWxzZSkKKyAgICAsIG1fbWV0YUtleShmYWxzZSkKK3sK
KyAgICB2b2lkKiBwb2ludDsKKworICAgIEVJTkFfTElTVF9GUkVFKHBvaW50cywgcG9pbnQpIHsK
KyAgICAgICAgRXdrX1RvdWNoX1BvaW50KiBwID0gc3RhdGljX2Nhc3Q8RXdrX1RvdWNoX1BvaW50
Kj4ocG9pbnQpOworICAgICAgICBJbnRQb2ludCBwbnQgPSBJbnRQb2ludChwLT54IC0gcG9zLngo
KSwgcC0+eSAtIHBvcy55KCkpOworCisgICAgICAgIFBsYXRmb3JtVG91Y2hQb2ludDo6U3RhdGUg
c3RhdGUgPSBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoUHJlc3NlZDsKKyAgICAgICAgc3dpdGNo
IChwLT5zdGF0ZSkgeworICAgICAgICBjYXNlIEVXS19UT1VDSF9QT0lOVF9QUkVTU0VEOgorICAg
ICAgICAgICAgc3RhdGUgPSBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoUHJlc3NlZDsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEVXS19UT1VDSF9QT0lOVF9SRUxFQVNFRDoKKyAg
ICAgICAgICAgIHN0YXRlID0gUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFJlbGVhc2VkOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgRVdLX1RPVUNIX1BPSU5UX01PVkVEOgorICAg
ICAgICAgICAgc3RhdGUgPSBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoTW92ZWQ7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgY2FzZSBFV0tfVE9VQ0hfUE9JTlRfQ0FOQ0VMTEVEOgorICAg
ICAgICAgICAgc3RhdGUgPSBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoQ2FuY2VsbGVkOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBtX3RvdWNoUG9pbnRzLmFwcGVu
ZChQbGF0Zm9ybVRvdWNoUG9pbnQocC0+aWQsIHBudCwgc3RhdGUpKTsKKyAgICB9CisKKyAgICAv
LyBGSVhNRTogV2UgZG9uJ3Qgc3VwcG9ydCBtZXRhU3RhdGUgZm9yIG5vdy4KK30KKworfQorCisj
ZW5kaWYKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZWZsL1BsYXRmb3JtVG91Y2hQb2ludEVmbC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUGxhdGZvcm1Ub3VjaFBvaW50
RWZsLmNwcAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZWZsL1BsYXRmb3JtVG91
Y2hQb2ludEVmbC5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDktMjAxMCBTYW1zdW5nIEVsZWN0cm9uaWNzCisgKgorICogQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGxhdGZv
cm1Ub3VjaFBvaW50LmgiCisKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK1BsYXRmb3JtVG91Y2hQb2ludDo6UGxhdGZvcm1Ub3VjaFBvaW50KHVuc2ln
bmVkIGlkLCBjb25zdCBJbnRQb2ludCYgd2luZG93UG9zLCBTdGF0ZSBzdGF0ZSkKKyAgICA6IG1f
aWQoaWQpCisgICAgLCBtX3N0YXRlKHN0YXRlKQorICAgICwgbV9zY3JlZW5Qb3Mod2luZG93UG9z
KQorICAgICwgbV9wb3Mod2luZG93UG9zKSB7IH0KKworfQorCisjZW5kaWYKSW5kZXg6IFdlYktp
dC9lZmwvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9lZmwvQ2hhbmdlTG9nCShyZXZp
c2lvbiA3MjU5NCkKKysrIFdlYktpdC9lZmwvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMTkgQEAKKzIwMTAtMTEtMjMgIFJ5dWFuIENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtF
RkxdIEFkZCBvcHRpb24gdG8gZW5hYmxlIFRvdWNoIEV2ZW50cy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5MTI1CisKKyAgICAgICAgSW1wbGVtZW50
IGV3a19mcmFtZV9mZWVkX3RvdWNoX2V2ZW50IHRvIGZlZWQgdG91Y2ggZXZlbnRzLiBCZWNhdXNl
IEVGTAorICAgICAgICBkb2Vzbid0IGhhdmUgdG91Y2ggZXZlbnRzLCBBcHBsaWNhdGlvbiBzaG91
bGQgZ2VuZXJhdGUgYW5kIHBhc3MgaXQuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRFZmwuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudEVmbDo6bmVlZFRv
dWNoRXZlbnRzKToKKyAgICAgICAgKiBld2svZXdrX2ZyYW1lLmNwcDoKKyAgICAgICAgKGV3a19m
cmFtZV9mZWVkX3RvdWNoX2V2ZW50KToKKyAgICAgICAgKiBld2svZXdrX2ZyYW1lLmg6CisKIDIw
MTAtMTEtMjIgIEFsZXggR3JpbG8gIDxhYmdyaWxvQHByb2Z1c2lvbi5tb2JpPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgpJbmRleDogV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCShyZXZpc2lvbiA3MjU5MykKKysr
IFdlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEyMCw2ICsxMjAsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzaG93Q29u
dGV4dE1lbnUoKSB7IH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICB2
aXJ0dWFsIHZvaWQgbmVlZFRvdWNoRXZlbnRzKGJvb2wpIHsgfQorI2VuZGlmCisKICAgICB2aXJ0
dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pOwog
ICAgIHZpcnR1YWwgdm9pZCBjaG9vc2VJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4m
LCBGaWxlQ2hvb3NlciopOwogICAgIHZpcnR1YWwgdm9pZCBmb3JtU3RhdGVEaWRDaGFuZ2UoY29u
c3QgTm9kZSopOwpJbmRleDogV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwCShyZXZpc2lvbiA3MjU5MykKKysrIFdl
YktpdC9lZmwvZXdrL2V3a19mcmFtZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDcg
QEAKICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1LZXlib2FyZEV2ZW50Lmgi
CiAjaW5jbHVkZSAiUGxhdGZvcm1Nb3VzZUV2ZW50LmgiCisjaW5jbHVkZSAiUGxhdGZvcm1Ub3Vj
aEV2ZW50LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1XaGVlbEV2ZW50LmgiCiAjaW5jbHVkZSAiUHJv
Z3Jlc3NUcmFja2VyLmgiCiAjaW5jbHVkZSAiUmVmUHRyLmgiCkBAIC0xNDc0LDYgKzE0NzUsNDIg
QEAgRWluYV9Cb29sIGV3a19mcmFtZV9mZWVkX21vdXNlX21vdmUoRXZhcwogICAgIHJldHVybiBz
ZC0+ZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5tb3VzZU1vdmVkKGV2ZW50KTsKIH0KIAorRWluYV9C
b29sIGV3a19mcmFtZV9mZWVkX3RvdWNoX2V2ZW50KEV2YXNfT2JqZWN0KiBvLCBFd2tfVG91Y2hf
RXZlbnRfVHlwZSBhY3Rpb24sIEVpbmFfTGlzdCogcG9pbnRzLCBpbnQgbWV0YVN0YXRlKQorewor
ICAgIEVpbmFfQm9vbCByZXQgPSBFSU5BX0ZBTFNFOworCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5U
UykKKyAgICBFV0tfRlJBTUVfU0RfR0VUX09SX1JFVFVSTihvLCBzZCwgRUlOQV9GQUxTRSk7Cisg
ICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKHNkLT5mcmFtZSwgRUlOQV9GQUxTRSk7
CisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKHBvaW50cywgRUlOQV9GQUxTRSk7
CisKKyAgICBFdmFzX0Nvb3JkIHgsIHk7CisgICAgZXZhc19vYmplY3RfZ2VvbWV0cnlfZ2V0KHNk
LT52aWV3LCAmeCwgJnksIDAsIDApOworCisgICAgV2ViQ29yZTo6VG91Y2hFdmVudFR5cGUgdHlw
ZSA9IFdlYkNvcmU6OlRvdWNoU3RhcnQ7CisgICAgc3dpdGNoIChhY3Rpb24pIHsKKyAgICBjYXNl
IEVXS19UT1VDSF9TVEFSVDoKKyAgICAgICAgdHlwZSA9IFdlYkNvcmU6OlRvdWNoU3RhcnQ7Cisg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgRVdLX1RPVUNIX0VORDoKKyAgICAgICAgdHlwZSA9IFdl
YkNvcmU6OlRvdWNoRW5kOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEVXS19UT1VDSF9NT1ZF
OgorICAgICAgICB0eXBlID0gV2ViQ29yZTo6VG91Y2hNb3ZlOworICAgICAgICBicmVhazsKKyAg
ICBjYXNlIEVXS19UT1VDSF9DQU5DRUw6CisgICAgICAgIHR5cGUgPSBXZWJDb3JlOjpUb3VjaENh
bmNlbDsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIEVJTkFf
RkFMU0U7CisgICAgfQorCisgICAgV2ViQ29yZTo6UGxhdGZvcm1Ub3VjaEV2ZW50IHRlKHBvaW50
cywgV2ViQ29yZTo6SW50UG9pbnQoeCwgeSksIHR5cGUsIG1ldGFTdGF0ZSk7CisgICAgcmV0ID0g
c2QtPmZyYW1lLT5ldmVudEhhbmRsZXIoKS0+aGFuZGxlVG91Y2hFdmVudCh0ZSk7CisjZW5kaWYK
KyAgICByZXR1cm4gcmV0OworfQorCiBzdGF0aWMgaW5saW5lIEVpbmFfQm9vbCBfZXdrX2ZyYW1l
X2hhbmRsZV9rZXlfc2Nyb2xsaW5nKFdlYkNvcmU6OkZyYW1lKiBmcmFtZSwgY29uc3QgV2ViQ29y
ZTo6UGxhdGZvcm1LZXlib2FyZEV2ZW50ICZldmVudCkKIHsKICAgICBXZWJDb3JlOjpTY3JvbGxE
aXJlY3Rpb24gZGlyZWN0aW9uOwpJbmRleDogV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmgJKHJldmlzaW9uIDcyNTkzKQor
KysgV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmgJKHdvcmtpbmcgY29weSkKQEAgLTEzMCw2ICsx
MzAsMjYgQEAgc3RydWN0IF9Fd2tfSGl0X1Rlc3QgewogICAgIH0gZmxhZ3M7CiB9OwogCit0eXBl
ZGVmIGVudW0geworICAgIEVXS19UT1VDSF9TVEFSVCwKKyAgICBFV0tfVE9VQ0hfRU5ELAorICAg
IEVXS19UT1VDSF9NT1ZFLAorICAgIEVXS19UT1VDSF9DQU5DRUwKK30gRXdrX1RvdWNoX0V2ZW50
X1R5cGU7CisKK3R5cGVkZWYgZW51bSB7CisgICAgRVdLX1RPVUNIX1BPSU5UX1BSRVNTRUQsCisg
ICAgRVdLX1RPVUNIX1BPSU5UX1JFTEVBU0VELAorICAgIEVXS19UT1VDSF9QT0lOVF9NT1ZFRCwK
KyAgICBFV0tfVE9VQ0hfUE9JTlRfQ0FOQ0VMTEVECit9IEV3a19Ub3VjaF9Qb2ludF9UeXBlOwor
Cit0eXBlZGVmIHN0cnVjdCBfRXdrX1RvdWNoX1BvaW50IEV3a19Ub3VjaF9Qb2ludDsKK3N0cnVj
dCBfRXdrX1RvdWNoX1BvaW50IHsKKyAgICB1bnNpZ25lZCBpbnQgaWQ7CisgICAgaW50IHgsIHk7
CisgICAgRXdrX1RvdWNoX1BvaW50X1R5cGUgc3RhdGU7Cit9OwogCiBFQVBJIEV2YXNfT2JqZWN0
ICpld2tfZnJhbWVfdmlld19nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pOwogRUFQSSB2b2lkICAg
ICAgICAgZXdrX2ZyYW1lX3RoZW1lX3NldChFdmFzX09iamVjdCAqbywgY29uc3QgY2hhciAqcGF0
aCk7CkBAIC0yMDAsNiArMjIwLDcgQEAgRUFQSSBFaW5hX0Jvb2wgICAgZXdrX2ZyYW1lX2ZlZWRf
bW91c2VfdwogRUFQSSBFaW5hX0Jvb2wgICAgZXdrX2ZyYW1lX2ZlZWRfbW91c2VfZG93bihFdmFz
X09iamVjdCAqbywgY29uc3QgRXZhc19FdmVudF9Nb3VzZV9Eb3duICpldik7CiBFQVBJIEVpbmFf
Qm9vbCAgICBld2tfZnJhbWVfZmVlZF9tb3VzZV91cChFdmFzX09iamVjdCAqbywgY29uc3QgRXZh
c19FdmVudF9Nb3VzZV9VcCAqZXYpOwogRUFQSSBFaW5hX0Jvb2wgICAgZXdrX2ZyYW1lX2ZlZWRf
bW91c2VfbW92ZShFdmFzX09iamVjdCAqbywgY29uc3QgRXZhc19FdmVudF9Nb3VzZV9Nb3ZlICpl
dik7CitFQVBJIEVpbmFfQm9vbCAgICBld2tfZnJhbWVfZmVlZF90b3VjaF9ldmVudChFdmFzX09i
amVjdCogbywgRXdrX1RvdWNoX0V2ZW50X1R5cGUgYWN0aW9uLCBFaW5hX0xpc3QqIHBvaW50cywg
aW50IG1ldGFTdGF0ZSk7CiBFQVBJIEVpbmFfQm9vbCAgICBld2tfZnJhbWVfZmVlZF9rZXlfZG93
bihFdmFzX09iamVjdCAqbywgY29uc3QgRXZhc19FdmVudF9LZXlfRG93biAqZXYpOwogRUFQSSBF
aW5hX0Jvb2wgICAgZXdrX2ZyYW1lX2ZlZWRfa2V5X3VwKEV2YXNfT2JqZWN0ICpvLCBjb25zdCBF
dmFzX0V2ZW50X0tleV9VcCAqZXYpOwogCkluZGV4OiBjbWFrZS9PcHRpb25zRWZsLmNtYWtlCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIGNtYWtlL09wdGlvbnNFZmwuY21ha2UJKHJldmlzaW9uIDcyNTkzKQorKysg
Y21ha2UvT3B0aW9uc0VmbC5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtNzgsNiArNzgsNyBAQCBX
RUJLSVRfRkVBVFVSRShFTkFCTEVfU1ZHX0FOSU1BVElPTiAiRW5hCiBXRUJLSVRfRkVBVFVSRShF
TkFCTEVfU1ZHX0ZPTlRTICJFbmFibGUgU1ZHIGZvbnRzIiBERUZBVUxUIE9OIFNWRykKIFdFQktJ
VF9GRUFUVVJFKEVOQUJMRV9TVkdfRk9SRUlHTl9PQkpFQ1QgIkVuYWJsZSBTVkcgZm9yZWlnbiBv
YmplY3QiIERFRkFVTFQgT04gU1ZHKQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX1NWR19VU0UgIkVu
YWJsZSBTVkcgdXNlIiBERUZBVUxUIE9OIFNWRykKK1dFQktJVF9GRUFUVVJFKEVOQUJMRV9UT1VD
SF9FVkVOVFMgIkVuYWJsZSBUb3VjaCBFdmVudHMiIERFRkFVTFQgT0ZGKQogV0VCS0lUX0ZFQVRV
UkUoRU5BQkxFX1ZJREVPICJFbmFibGUgdmlkZW8iIERFRkFVTFQgT04gSFRNTCkKIFdFQktJVF9G
RUFUVVJFKEVOQUJMRV9XRUJfU09DS0VUUyAiRW5hYmxlIHdlYiBzb2NrZXRzIiBERUZBVUxUIE9G
RikKIFdFQktJVF9GRUFUVVJFKEVOQUJMRV9XTUwgIkVuYWJsZSBXTUwiIERFRkFVTFQgT0ZGKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>