<?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>84951</bug_id>
          
          <creation_ts>2012-04-26 06:38:00 -0700</creation_ts>
          <short_desc>Move WebKit1 specific conversion of touch-events to WebKit1</short_desc>
          <delta_ts>2012-04-27 05:01:51 -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 Qt</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="Allan Sandfeld Jensen">allan.jensen</reporter>
          <assigned_to name="Allan Sandfeld Jensen">allan.jensen</assigned_to>
          <cc>kkristof</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>610538</commentid>
    <comment_count>0</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-04-26 06:38:00 -0700</bug_when>
    <thetext>The WebKit1 specific conversion of touch-events is currently residing in WebCore/platform/qt. It should be moved to WebKit1/WebCoreSupport/WebEventConversion.cpp where the similar conversion of mouse and wheel events have been moved.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610542</commentid>
    <comment_count>1</comment_count>
      <attachid>138988</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-04-26 06:42:30 -0700</bug_when>
    <thetext>Created attachment 138988
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610552</commentid>
    <comment_count>2</comment_count>
      <attachid>138988</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-04-26 06:52:47 -0700</bug_when>
    <thetext>Comment on attachment 138988
Patch

Makes sense</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610591</commentid>
    <comment_count>3</comment_count>
      <attachid>138988</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-26 07:29:32 -0700</bug_when>
    <thetext>Comment on attachment 138988
Patch

Clearing flags on attachment: 138988

Committed r115312: &lt;http://trac.webkit.org/changeset/115312&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610592</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-26 07:29:36 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610760</commentid>
    <comment_count>5</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-04-26 11:30:48 -0700</bug_when>
    <thetext>Reopen, because it broke the --minimal build:

../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:224: error: invalid use of incomplete type &apos;struct WebCore::PlatformTouchEvent&apos;
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.h:36: error: forward declaration of &apos;struct WebCore::PlatformTouchEvent&apos;
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:229: error: expected class-name before &apos;{&apos; token
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:231: error: &apos;State&apos; has not been declared
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp: In constructor &apos;WebCore::WebKitPlatformTouchEvent::WebKitPlatformTouchEvent(QTouchEvent*)&apos;:
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:238: error: &apos;m_type&apos; was not declared in this scope
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:238: error: &apos;TouchStart&apos; is not a member of &apos;WebCore::PlatformEvent&apos;
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:241: error: &apos;TouchMove&apos; is not a member of &apos;WebCore::PlatformEvent&apos;
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:244: error: &apos;TouchEnd&apos; is not a member of &apos;WebCore::PlatformEvent&apos;
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:255: error: &apos;PlatformTouchPoint&apos; has not been declared
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:255: error: expected &apos;;&apos; before &apos;state&apos;
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:259: error: &apos;state&apos; was not declared in this scope
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:259: error: &apos;PlatformTouchPoint&apos; has not been declared
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:262: error: &apos;PlatformTouchPoint&apos; has not been declared
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:265: error: &apos;PlatformTouchPoint&apos; has not been declared
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:268: error: &apos;PlatformTouchPoint&apos; has not been declared
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:274: error: &apos;m_type&apos; was not declared in this scope
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:274: error: &apos;TouchCancel&apos; is not a member of &apos;WebCore::PlatformEvent&apos;
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:275: error: &apos;state&apos; was not declared in this scope
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:275: error: &apos;PlatformTouchPoint&apos; has not been declared
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:277: error: &apos;m_touchPoints&apos; was not declared in this scope
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:277: error: &apos;state&apos; was not declared in this scope
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:280: error: &apos;m_modifiers&apos; was not declared in this scope
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:282: error: &apos;m_timestamp&apos; was not declared in this scope
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp: At global scope:
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:285: error: &apos;State&apos; has not been declared
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp: In constructor &apos;WebCore::WebKitPlatformTouchPoint::WebKitPlatformTouchPoint(const QTouchEvent::TouchPoint&amp;, int)&apos;:
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:288: error: &apos;m_id&apos; was not declared in this scope
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:289: error: &apos;m_state&apos; was not declared in this scope
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:290: error: &apos;m_screenPos&apos; was not declared in this scope
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:291: error: &apos;m_pos&apos; was not declared in this scope
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:295: error: &apos;m_radiusX&apos; was not declared in this scope
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:296: error: &apos;m_radiusY&apos; was not declared in this scope
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:299: error: &apos;m_radiusX&apos; was not declared in this scope
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:300: error: &apos;m_radiusY&apos; was not declared in this scope
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:302: error: &apos;m_force&apos; was not declared in this scope
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp: In function &apos;WebCore::PlatformTouchEvent WebCore::convertTouchEvent(QTouchEvent*)&apos;:
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:316: error: return type &apos;struct WebCore::PlatformTouchEvent&apos; is incomplete
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp:316: error: new declaration &apos;void WebCore::convertTouchEvent(QTouchEvent*)&apos;
../../../Source/WebKit/qt/WebCoreSupport/WebEventConversion.h:42: error: ambiguates old declaration &apos;WebCore::PlatformTouchEvent WebCore::convertTouchEvent(QTouchEvent*)&apos;


Could you check what happened?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>611328</commentid>
    <comment_count>6</comment_count>
      <attachid>139154</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-04-27 02:28:04 -0700</bug_when>
    <thetext>Created attachment 139154
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>611388</commentid>
    <comment_count>7</comment_count>
    <who name="Kristóf Kosztyó">kkristof</who>
    <bug_when>2012-04-27 05:01:51 -0700</bug_when>
    <thetext>Committed r115420: &lt;http://trac.webkit.org/changeset/115420&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138988</attachid>
            <date>2012-04-26 06:42:30 -0700</date>
            <delta_ts>2012-04-26 07:29:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84951-20120426154236.patch</filename>
            <type>text/plain</type>
            <size>14963</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1MTc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDFlMmFmMjc1OTM4ZTYx
YTkxOTJhNDY0NzI2MWVhNzFmNWU0ZGMzNy4uODg2MzU3MzZhZjJjNGFmNjhjYWJkMjk1NTk3Yzc3
MDY0YmE1ZGRkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA0LTI2ICBBbGxh
biBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5Abm9raWEuY29tPgorCisgICAgICAgIE1v
dmUgV2ViS2l0MSBzcGVjaWZpYyBjb252ZXJzaW9uIG9mIHRvdWNoLWV2ZW50cyB0byBXZWJLaXQx
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQ5NTEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBjaGFu
Z2UgaW4gZnVuY3Rpb25hbGl0eS4gTm8gbmV3IHRlc3RzLiAKKworICAgICAgICAqIFRhcmdldC5w
cmk6CisgICAgICAgICogcGxhdGZvcm0vUGxhdGZvcm1Ub3VjaEV2ZW50Lmg6CisgICAgICAgIChQ
bGF0Zm9ybVRvdWNoRXZlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3JtVG91Y2hQb2lu
dC5oOgorICAgICAgICAoUGxhdGZvcm1Ub3VjaFBvaW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9x
dC9QbGF0Zm9ybVRvdWNoRXZlbnRRdC5jcHA6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0v
cXQvUGxhdGZvcm1Ub3VjaFBvaW50UXQuY3BwOiBSZW1vdmVkLgorCiAyMDEyLTA0LTI1ICBBbmRy
ZWFzIEtsaW5nICA8a2xpbmdAd2Via2l0Lm9yZz4KIAogICAgICAgICBTaHJpbmsgUmVuZGVyVGV4
dCBieSA4IGJ5dGVzIG9uIDY0LWJpdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggOTg1NTM0NzY2MTk0YmU1
ODNhNmJjNDhmNDJmNjZhNThhYWU3MjZkMC4uOTExYzg1ZTE2YTgyYTgyNjJiMzc3YTJjN2M4YmM4
ZjIxMzBkNGFiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMi0wNC0yNiAg
QWxsYW4gU2FuZGZlbGQgSmVuc2VuICA8YWxsYW4uamVuc2VuQG5va2lhLmNvbT4KKworICAgICAg
ICBNb3ZlIFdlYktpdDEgc3BlY2lmaWMgY29udmVyc2lvbiBvZiB0b3VjaC1ldmVudHMgdG8gV2Vi
S2l0MS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg0
OTUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBB
cGkvcXdlYnBhZ2UuY3BwOgorICAgICAgICAoUVdlYlBhZ2VQcml2YXRlOjp0b3VjaEV2ZW50KToK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFdmVudENvbnZlcnNpb24uY3BwOgorICAgICAg
ICAoV2ViS2l0UGxhdGZvcm1Ub3VjaEV2ZW50KToKKyAgICAgICAgKFdlYktpdFBsYXRmb3JtVG91
Y2hQb2ludCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRQbGF0Zm9ybVRvdWNoRXZlbnQ6Oldl
YktpdFBsYXRmb3JtVG91Y2hFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRQbGF0Zm9y
bVRvdWNoUG9pbnQ6OldlYktpdFBsYXRmb3JtVG91Y2hQb2ludCk6CisgICAgICAgIChXZWJDb3Jl
Ojpjb252ZXJ0VG91Y2hFdmVudCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRXZlbnRD
b252ZXJzaW9uLmg6CisKIDIwMTItMDQtMjQgIEFsZXhpcyBNZW5hcmQgIDxhbGV4aXMubWVuYXJk
QG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgUmVwbGFjZSBvY2N1cmVuY2VzIG9mIHN0eWxlIHNl
bGVjdG9yIGZyb20gdmFyaWFibGVzIGFuZCBtZXRob2RzIG5hbWVzIGJ5IHN0eWxlIHJlc29sdmVy
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3Jl
L1RhcmdldC5wcmkKaW5kZXggMGNhYWEyNzgwMTU1M2IyMTQ1OGZjOTE5MGJmOGRlZjc1MWY0Y2Q3
Ni4uMmMwMGY3ZmFkYzI0OGIwODU5MDBjODU5YzdiZDhjMjcwODg5ZDgxOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJp
CkBAIC0yODkwLDggKzI4OTAsNiBAQCBTT1VSQ0VTICs9IFwKICAgICBwbGF0Zm9ybS9xdC9QYXN0
ZWJvYXJkUXQuY3BwIFwKICAgICBwbGF0Zm9ybS9xdC9QbGF0Zm9ybUtleWJvYXJkRXZlbnRRdC5j
cHAgXAogICAgIHBsYXRmb3JtL3F0L1BsYXRmb3JtU2NyZWVuUXQuY3BwIFwKLSAgICBwbGF0Zm9y
bS9xdC9QbGF0Zm9ybVRvdWNoRXZlbnRRdC5jcHAgXAotICAgIHBsYXRmb3JtL3F0L1BsYXRmb3Jt
VG91Y2hQb2ludFF0LmNwcCBcCiAgICAgcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAgXAog
ICAgIHBsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXRNb2JpbGUuY3BwIFwKICAgICBwbGF0Zm9ybS9x
dC9TY3JvbGxiYXJUaGVtZVF0LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9QbGF0Zm9ybVRvdWNoRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRm
b3JtVG91Y2hFdmVudC5oCmluZGV4IDMwNjI4NjA0MjQ0ZmNiOWVkOGFlNjc4MGJhMjVhNmNhZjRk
NzY0N2UuLjU5Y2JiMjA2ZGM1NmJmYmE1YzQ4NjBkMTY2M2RhNGRmMDhlMDA2MzEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtVG91Y2hFdmVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtVG91Y2hFdmVudC5oCkBAIC02MCw5ICs2MCw3
IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0jaWYgUExBVEZPUk0oUVQpCi0gICAgUGxhdGZv
cm1Ub3VjaEV2ZW50KFFUb3VjaEV2ZW50Kik7Ci0jZWxpZiBQTEFURk9STShFRkwpCisjaWYgUExB
VEZPUk0oRUZMKQogICAgIFBsYXRmb3JtVG91Y2hFdmVudChFaW5hX0xpc3QqLCBjb25zdCBJbnRQ
b2ludCwgUGxhdGZvcm1FdmVudDo6VHlwZSwgaW50IG1ldGFTdGF0ZSk7CiAjZWxpZiBQTEFURk9S
TShCTEFDS0JFUlJZKQogICAgIFBsYXRmb3JtVG91Y2hFdmVudChCbGFja0JlcnJ5OjpQbGF0Zm9y
bTo6VG91Y2hFdmVudCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxh
dGZvcm1Ub3VjaFBvaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVRvdWNo
UG9pbnQuaAppbmRleCAxMjcyZjNhNmQzYmUyODA3NGVkZTM5YTg2NjcxMGUxOGMyOWQzYzhiLi4w
YjY1MTQwNzNhMDc4NTg3ZjFmYjcwN2Q3M2RmMzA5ZjhmZDRhMTNlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVRvdWNoUG9pbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVRvdWNoUG9pbnQuaApAQCAtNjIsOSArNjIsNyBAQCBwdWJs
aWM6CiAgICAgewogICAgIH0KIAotI2lmIFBMQVRGT1JNKFFUKQotICAgIFBsYXRmb3JtVG91Y2hQ
b2ludChjb25zdCBRVG91Y2hFdmVudDo6VG91Y2hQb2ludCYsIFN0YXRlKTsKLSNlbGlmIFBMQVRG
T1JNKEVGTCkKKyNpZiBQTEFURk9STShFRkwpCiAgICAgUGxhdGZvcm1Ub3VjaFBvaW50KHVuc2ln
bmVkIGlkLCBjb25zdCBJbnRQb2ludCYgd2luZG93UG9zLCBTdGF0ZSk7CiAjZWxpZiBQTEFURk9S
TShCTEFDS0JFUlJZKQogICAgIFBsYXRmb3JtVG91Y2hQb2ludChjb25zdCBCbGFja0JlcnJ5OjpQ
bGF0Zm9ybTo6VG91Y2hQb2ludCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vcXQvUGxhdGZvcm1Ub3VjaEV2ZW50UXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
cXQvUGxhdGZvcm1Ub3VjaEV2ZW50UXQuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAxN2E1MWU5ZWQzY2VhODhiMWNhZGNkYzU1MjAxYmFmMTUyNDIxYThiLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3F0L1BsYXRmb3JtVG91Y2hFdmVudFF0LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDkyICswLDAg
QEAKLS8qCi0gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IHByb2plY3QuCi0gKgot
ICogQ29weXJpZ2h0IChDKSAyMDA5IE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lk
aWFyeSgtaWVzKQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0g
KiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICog
YWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5v
dCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVT
QS4KLSAqCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlBsYXRmb3JtVG91
Y2hFdmVudC5oIgotI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgotCi0jaWYgRU5BQkxFKFRP
VUNIX0VWRU5UUykKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1QbGF0Zm9ybVRvdWNoRXZlbnQ6
OlBsYXRmb3JtVG91Y2hFdmVudChRVG91Y2hFdmVudCogZXZlbnQpCi17Ci0gICAgc3dpdGNoIChl
dmVudC0+dHlwZSgpKSB7Ci0gICAgY2FzZSBRRXZlbnQ6OlRvdWNoQmVnaW46Ci0gICAgICAgIG1f
dHlwZSA9IFBsYXRmb3JtRXZlbnQ6OlRvdWNoU3RhcnQ7Ci0gICAgICAgIGJyZWFrOwotICAgIGNh
c2UgUUV2ZW50OjpUb3VjaFVwZGF0ZToKLSAgICAgICAgbV90eXBlID0gUGxhdGZvcm1FdmVudDo6
VG91Y2hNb3ZlOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFFFdmVudDo6VG91Y2hFbmQ6Ci0g
ICAgICAgIG1fdHlwZSA9IFBsYXRmb3JtRXZlbnQ6OlRvdWNoRW5kOwotICAgICAgICBicmVhazsK
LSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKLSAgICBjYXNlIFFF
dmVudDo6VG91Y2hDYW5jZWw6Ci0gICAgICAgIG1fdHlwZSA9IFBsYXRmb3JtRXZlbnQ6OlRvdWNo
Q2FuY2VsOwotICAgICAgICBicmVhazsKLSNlbmRpZgotICAgIH0KLQotICAgIGNvbnN0IFFMaXN0
PFFUb3VjaEV2ZW50OjpUb3VjaFBvaW50PiYgcG9pbnRzID0gZXZlbnQtPnRvdWNoUG9pbnRzKCk7
Ci0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCBwb2ludHMuY291bnQoKTsgKytpKSB7Ci0gICAgICAg
IFBsYXRmb3JtVG91Y2hQb2ludDo6U3RhdGUgc3RhdGUgPSBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRv
dWNoU3RhdGVFbmQ7Ci0KLSAgICAgICAgc3dpdGNoIChwb2ludHMuYXQoaSkuc3RhdGUoKSkgewot
ICAgICAgICBjYXNlIFF0OjpUb3VjaFBvaW50UmVsZWFzZWQ6Ci0gICAgICAgICAgICBzdGF0ZSA9
IFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hSZWxlYXNlZDsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBjYXNlIFF0OjpUb3VjaFBvaW50TW92ZWQ6Ci0gICAgICAgICAgICBzdGF0ZSA9IFBs
YXRmb3JtVG91Y2hQb2ludDo6VG91Y2hNb3ZlZDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICBjYXNlIFF0OjpUb3VjaFBvaW50UHJlc3NlZDoKLSAgICAgICAgICAgIHN0YXRlID0gUGxhdGZv
cm1Ub3VjaFBvaW50OjpUb3VjaFByZXNzZWQ7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
Y2FzZSBRdDo6VG91Y2hQb2ludFN0YXRpb25hcnk6Ci0gICAgICAgICAgICBzdGF0ZSA9IFBsYXRm
b3JtVG91Y2hQb2ludDo6VG91Y2hTdGF0aW9uYXJ5OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIH0KLQotICAgICAgICAvLyBRdCBkb2VzIG5vdCBoYXZlIGEgUXQ6OlRvdWNoUG9pbnRDYW5j
ZWxsZWQgcG9pbnQgc3RhdGUsIHNvIGlmIHdlIHJlY2VpdmUgYSB0b3VjaCBjYW5jZWwgZXZlbnQs
Ci0gICAgICAgIC8vIHNpbXBseSBjYW5jZWwgYWxsIHRvdWNoIHBvaW50cyBoZXJlLgotICAgICAg
ICBpZiAobV90eXBlID09IFBsYXRmb3JtRXZlbnQ6OlRvdWNoQ2FuY2VsKQotICAgICAgICAgICAg
c3RhdGUgPSBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoQ2FuY2VsbGVkOwotCi0gICAgICAgIG1f
dG91Y2hQb2ludHMuYXBwZW5kKFBsYXRmb3JtVG91Y2hQb2ludChwb2ludHMuYXQoaSksIHN0YXRl
KSk7Ci0gICAgfQotCi0gICAgbV9tb2RpZmllcnMgPSAwOwotICAgIGlmIChldmVudC0+bW9kaWZp
ZXJzKCkgICYgUXQ6OlNoaWZ0TW9kaWZpZXIpCi0gICAgICAgIG1fbW9kaWZpZXJzIHw9IFNoaWZ0
S2V5OwotICAgIGlmIChldmVudC0+bW9kaWZpZXJzKCkgICYgUXQ6OkNvbnRyb2xNb2RpZmllcikK
LSAgICAgICAgbV9tb2RpZmllcnMgfD0gQ3RybEtleTsKLSAgICBpZiAoZXZlbnQtPm1vZGlmaWVy
cygpICAmIFF0OjpBbHRNb2RpZmllcikKLSAgICAgICAgbV9tb2RpZmllcnMgfD0gQWx0S2V5Owot
ICAgIGlmIChldmVudC0+bW9kaWZpZXJzKCkgICYgUXQ6Ok1ldGFNb2RpZmllcikKLSAgICAgICAg
bV9tb2RpZmllcnMgfD0gTWV0YUtleTsKLQotICAgIG1fdGltZXN0YW1wID0gV1RGOjpjdXJyZW50
VGltZSgpOwotfQotCi19Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vcXQvUGxhdGZvcm1Ub3VjaFBvaW50UXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vcXQvUGxhdGZvcm1Ub3VjaFBvaW50UXQuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwZjlhZmE0OGUxZTI4OTc3YTU3ODNjY2IzMGYxMjU3OTQyYTM4NGMwLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3F0L1BsYXRmb3JtVG91Y2hQb2ludFF0LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDUzICsw
LDAgQEAKLS8qCi0gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IHByb2plY3QuCi0g
KgotICogQ29weXJpZ2h0IChDKSAyMDA5LDIwMTIgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0
cyBzdWJzaWRpYXJ5KC1pZXMpCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVi
bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lv
biAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElC
LiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j
LiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAt
MTMwMSwgVVNBLgotICoKLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiUGxh
dGZvcm1Ub3VjaFBvaW50LmgiCi0KLSNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQotCi1uYW1lc3Bh
Y2UgV2ViQ29yZSB7Ci0KLVBsYXRmb3JtVG91Y2hQb2ludDo6UGxhdGZvcm1Ub3VjaFBvaW50KGNv
bnN0IFFUb3VjaEV2ZW50OjpUb3VjaFBvaW50JiBwb2ludCwgU3RhdGUgc3RhdGUpCi0gICAgLy8g
VGhlIFFUb3VjaEV2ZW50OjpUb3VjaFBvaW50IEFQSSBzdGF0ZXMgdGhhdCBpZHMgd2lsbCBiZSA+
PSAwLgotICAgIDogbV9pZChwb2ludC5pZCgpKQotICAgICwgbV9zdGF0ZShzdGF0ZSkKLSAgICAs
IG1fc2NyZWVuUG9zKHBvaW50LnNjcmVlblBvcygpLnRvUG9pbnQoKSkKLSAgICAsIG1fcG9zKHBv
aW50LnBvcygpLnRvUG9pbnQoKSkKLXsKLSAgICAvLyBRdCByZXBvcnRzIHRvdWNoIHBvaW50IHNp
emUgYXMgcmVjdGFuZ2xlcywgYnV0IHdlIHdpbGwgcHJldGVuZCBpdCBpcyBhbiBvdmFsLgotICAg
IFFSZWN0IHRvdWNoUmVjdCA9IHBvaW50LnJlY3QoKS50b0FsaWduZWRSZWN0KCk7Ci0gICAgaWYg
KHRvdWNoUmVjdC5pc1ZhbGlkKCkpIHsKLSAgICAgICAgbV9yYWRpdXNYID0gcG9pbnQucmVjdCgp
LndpZHRoKCkgLyAyOwotICAgICAgICBtX3JhZGl1c1kgPSBwb2ludC5yZWN0KCkuaGVpZ2h0KCkg
LyAyOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIC8vIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTEv
V0QtdG91Y2gtZXZlbnRzLTIwMTEwNTA1OiAxIGlmIG5vIHZhbHVlIGlzIGtub3duLgotICAgICAg
ICBtX3JhZGl1c1ggPSAxOwotICAgICAgICBtX3JhZGl1c1kgPSAxOwotICAgIH0KLSAgICBtX2Zv
cmNlID0gcG9pbnQucHJlc3N1cmUoKTsKLSAgICAvLyBGSVhNRTogU3VwcG9ydCBtX3JvdGF0aW9u
QW5nbGUgaWYgUVRvdWNoRXZlbnQgYXQgc29tZSBwb2ludCBzdXBwb3J0cyBpdC4KLX0KLQotfQot
Ci0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCBi
L1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAppbmRleCA1MmM2NDU3NGJiOWJjZTg2
NGUzNjA2NzgwZDBjOGMwZTlhMDljZGYxLi5hYjRmODIxYzUwNDJiNzFhNGIzZjNjZjVhOTVlMTc2
Nzk2ZmRlYzE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCkBAIC0xMzQ3LDcgKzEzNDcs
NyBAQCBib29sIFFXZWJQYWdlUHJpdmF0ZTo6dG91Y2hFdmVudChRVG91Y2hFdmVudCogZXZlbnQp
CiAgICAgZXZlbnQtPnNldEFjY2VwdGVkKHRydWUpOwogCiAgICAgLy8gUmV0dXJuIHdoZXRoZXIg
dGhlIGRlZmF1bHQgYWN0aW9uIHdhcyBjYW5jZWxsZWQgaW4gdGhlIEpTIGV2ZW50IGhhbmRsZXIK
LSAgICByZXR1cm4gZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5oYW5kbGVUb3VjaEV2ZW50KFBsYXRm
b3JtVG91Y2hFdmVudChldmVudCkpOworICAgIHJldHVybiBmcmFtZS0+ZXZlbnRIYW5kbGVyKCkt
PmhhbmRsZVRvdWNoRXZlbnQoY29udmVydFRvdWNoRXZlbnQoZXZlbnQpKTsKICNlbHNlCiAgICAg
ZXZlbnQtPmlnbm9yZSgpOwogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvV2ViRXZlbnRDb252ZXJzaW9uLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvV2ViRXZlbnRDb252ZXJzaW9uLmNwcAppbmRleCAzZjNl
OWQ2Njc4NjVkMjE5OTRkNzFkYjNmMzFkMDJjZWZmNTRkNjk3Li43YTcwYWQwMGVmMTJhYTUyMzIw
ZDljNmQ1MWU4N2UxYjFlZjc4ZDI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L1dlYkV2ZW50Q29udmVyc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydC9XZWJFdmVudENvbnZlcnNpb24uY3BwCkBAIC0yMyw5ICsyMywxMiBAQAog
I2luY2x1ZGUgIldlYkV2ZW50Q29udmVyc2lvbi5oIgogCiAjaW5jbHVkZSAiUGxhdGZvcm1Nb3Vz
ZUV2ZW50LmgiCisjaW5jbHVkZSAiUGxhdGZvcm1Ub3VjaEV2ZW50LmgiCisjaW5jbHVkZSAiUGxh
dGZvcm1Ub3VjaFBvaW50LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1XaGVlbEV2ZW50LmgiCiAjaW5j
bHVkZSA8UUFwcGxpY2F0aW9uPgogI2luY2x1ZGUgPFFHcmFwaGljc1NjZW5lTW91c2VFdmVudD4K
KyNpbmNsdWRlIDxRVG91Y2hFdmVudD4KICNpbmNsdWRlIDxRV2hlZWxFdmVudD4KICNpbmNsdWRl
IDx3dGYvQ3VycmVudFRpbWUuaD4KIApAQCAtMjE4LDYgKzIyMSw4OCBAQCBXZWJLaXRQbGF0Zm9y
bVdoZWVsRXZlbnQ6OldlYktpdFBsYXRmb3JtV2hlZWxFdmVudChRV2hlZWxFdmVudCogZSkKIH0K
IAogCitjbGFzcyBXZWJLaXRQbGF0Zm9ybVRvdWNoRXZlbnQgOiBwdWJsaWMgUGxhdGZvcm1Ub3Vj
aEV2ZW50IHsKK3B1YmxpYzoKKyAgICBXZWJLaXRQbGF0Zm9ybVRvdWNoRXZlbnQoUVRvdWNoRXZl
bnQqKTsKK307CisKK2NsYXNzIFdlYktpdFBsYXRmb3JtVG91Y2hQb2ludCA6IHB1YmxpYyBQbGF0
Zm9ybVRvdWNoUG9pbnQgeworcHVibGljOgorICAgIFdlYktpdFBsYXRmb3JtVG91Y2hQb2ludChj
b25zdCBRVG91Y2hFdmVudDo6VG91Y2hQb2ludCYsIFN0YXRlKTsKK307CisKK1dlYktpdFBsYXRm
b3JtVG91Y2hFdmVudDo6V2ViS2l0UGxhdGZvcm1Ub3VjaEV2ZW50KFFUb3VjaEV2ZW50KiBldmVu
dCkKK3sKKyAgICBzd2l0Y2ggKGV2ZW50LT50eXBlKCkpIHsKKyAgICBjYXNlIFFFdmVudDo6VG91
Y2hCZWdpbjoKKyAgICAgICAgbV90eXBlID0gUGxhdGZvcm1FdmVudDo6VG91Y2hTdGFydDsKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBRRXZlbnQ6OlRvdWNoVXBkYXRlOgorICAgICAgICBtX3R5
cGUgPSBQbGF0Zm9ybUV2ZW50OjpUb3VjaE1vdmU7CisgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
UUV2ZW50OjpUb3VjaEVuZDoKKyAgICAgICAgbV90eXBlID0gUGxhdGZvcm1FdmVudDo6VG91Y2hF
bmQ7CisgICAgICAgIGJyZWFrOworI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1
LCAwLCAwKQorICAgIGNhc2UgUUV2ZW50OjpUb3VjaENhbmNlbDoKKyAgICAgICAgbV90eXBlID0g
UGxhdGZvcm1FdmVudDo6VG91Y2hDYW5jZWw7CisgICAgICAgIGJyZWFrOworI2VuZGlmCisgICAg
fQorCisgICAgY29uc3QgUUxpc3Q8UVRvdWNoRXZlbnQ6OlRvdWNoUG9pbnQ+JiBwb2ludHMgPSBl
dmVudC0+dG91Y2hQb2ludHMoKTsKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IHBvaW50cy5jb3Vu
dCgpOyArK2kpIHsKKyAgICAgICAgUGxhdGZvcm1Ub3VjaFBvaW50OjpTdGF0ZSBzdGF0ZSA9IFBs
YXRmb3JtVG91Y2hQb2ludDo6VG91Y2hTdGF0ZUVuZDsKKworICAgICAgICBzd2l0Y2ggKHBvaW50
cy5hdChpKS5zdGF0ZSgpKSB7CisgICAgICAgIGNhc2UgUXQ6OlRvdWNoUG9pbnRSZWxlYXNlZDoK
KyAgICAgICAgICAgIHN0YXRlID0gUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFJlbGVhc2VkOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgUXQ6OlRvdWNoUG9pbnRNb3ZlZDoKKyAg
ICAgICAgICAgIHN0YXRlID0gUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaE1vdmVkOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgUXQ6OlRvdWNoUG9pbnRQcmVzc2VkOgorICAgICAg
ICAgICAgc3RhdGUgPSBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoUHJlc3NlZDsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBjYXNlIFF0OjpUb3VjaFBvaW50U3RhdGlvbmFyeToKKyAgICAg
ICAgICAgIHN0YXRlID0gUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFN0YXRpb25hcnk7CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIC8vIFF0IGRvZXMgbm90IGhhdmUg
YSBRdDo6VG91Y2hQb2ludENhbmNlbGxlZCBwb2ludCBzdGF0ZSwgc28gaWYgd2UgcmVjZWl2ZSBh
IHRvdWNoIGNhbmNlbCBldmVudCwKKyAgICAgICAgLy8gc2ltcGx5IGNhbmNlbCBhbGwgdG91Y2gg
cG9pbnRzIGhlcmUuCisgICAgICAgIGlmIChtX3R5cGUgPT0gUGxhdGZvcm1FdmVudDo6VG91Y2hD
YW5jZWwpCisgICAgICAgICAgICBzdGF0ZSA9IFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hDYW5j
ZWxsZWQ7CisKKyAgICAgICAgbV90b3VjaFBvaW50cy5hcHBlbmQoV2ViS2l0UGxhdGZvcm1Ub3Vj
aFBvaW50KHBvaW50cy5hdChpKSwgc3RhdGUpKTsKKyAgICB9CisKKyAgICBtb3VzZUV2ZW50TW9k
aWZpZXJzRnJvbVF0S2V5Ym9hcmRNb2RpZmllcnMoZXZlbnQtPm1vZGlmaWVycygpLCBtX21vZGlm
aWVycyk7CisKKyAgICBtX3RpbWVzdGFtcCA9IFdURjo6Y3VycmVudFRpbWUoKTsKK30KKworV2Vi
S2l0UGxhdGZvcm1Ub3VjaFBvaW50OjpXZWJLaXRQbGF0Zm9ybVRvdWNoUG9pbnQoY29uc3QgUVRv
dWNoRXZlbnQ6OlRvdWNoUG9pbnQmIHBvaW50LCBTdGF0ZSBzdGF0ZSkKK3sKKyAgICAvLyBUaGUg
UVRvdWNoRXZlbnQ6OlRvdWNoUG9pbnQgQVBJIHN0YXRlcyB0aGF0IGlkcyB3aWxsIGJlID49IDAu
CisgICAgbV9pZCA9IHBvaW50LmlkKCk7CisgICAgbV9zdGF0ZSA9IHN0YXRlOworICAgIG1fc2Ny
ZWVuUG9zID0gcG9pbnQuc2NyZWVuUG9zKCkudG9Qb2ludCgpOworICAgIG1fcG9zID0gcG9pbnQu
cG9zKCkudG9Qb2ludCgpOworICAgIC8vIFF0IHJlcG9ydHMgdG91Y2ggcG9pbnQgc2l6ZSBhcyBy
ZWN0YW5nbGVzLCBidXQgd2Ugd2lsbCBwcmV0ZW5kIGl0IGlzIGFuIG92YWwuCisgICAgUVJlY3Qg
dG91Y2hSZWN0ID0gcG9pbnQucmVjdCgpLnRvQWxpZ25lZFJlY3QoKTsKKyAgICBpZiAodG91Y2hS
ZWN0LmlzVmFsaWQoKSkgeworICAgICAgICBtX3JhZGl1c1ggPSBwb2ludC5yZWN0KCkud2lkdGgo
KSAvIDI7CisgICAgICAgIG1fcmFkaXVzWSA9IHBvaW50LnJlY3QoKS5oZWlnaHQoKSAvIDI7Cisg
ICAgfSBlbHNlIHsKKyAgICAgICAgLy8gaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMS9XRC10b3Vj
aC1ldmVudHMtMjAxMTA1MDU6IDEgaWYgbm8gdmFsdWUgaXMga25vd24uCisgICAgICAgIG1fcmFk
aXVzWCA9IDE7CisgICAgICAgIG1fcmFkaXVzWSA9IDE7CisgICAgfQorICAgIG1fZm9yY2UgPSBw
b2ludC5wcmVzc3VyZSgpOworICAgIC8vIEZJWE1FOiBTdXBwb3J0IG1fcm90YXRpb25BbmdsZSBp
ZiBRVG91Y2hFdmVudCBhdCBzb21lIHBvaW50IHN1cHBvcnRzIGl0LgorfQorCiBQbGF0Zm9ybVdo
ZWVsRXZlbnQgY29udmVydFdoZWVsRXZlbnQoUVdoZWVsRXZlbnQqIGV2ZW50KQogewogICAgIHJl
dHVybiBXZWJLaXRQbGF0Zm9ybVdoZWVsRXZlbnQoZXZlbnQpOwpAQCAtMjI4LDQgKzMxMyw5IEBA
IFBsYXRmb3JtV2hlZWxFdmVudCBjb252ZXJ0V2hlZWxFdmVudChRR3JhcGhpY3NTY2VuZVdoZWVs
RXZlbnQqIGV2ZW50KQogICAgIHJldHVybiBXZWJLaXRQbGF0Zm9ybVdoZWVsRXZlbnQoZXZlbnQp
OwogfQogCitQbGF0Zm9ybVRvdWNoRXZlbnQgY29udmVydFRvdWNoRXZlbnQoUVRvdWNoRXZlbnQq
IGV2ZW50KQoreworICAgIHJldHVybiBXZWJLaXRQbGF0Zm9ybVRvdWNoRXZlbnQoZXZlbnQpOwor
fQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1dlYkV2
ZW50Q29udmVyc2lvbi5oIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9XZWJFdmVu
dENvbnZlcnNpb24uaAppbmRleCAyNWQwMmRmMjIxYzY4NTEyMmUyMTkyNjViNjQyNjIxNDNjNDRl
Y2UwLi5kMGFiYjgyNDJmZDJmMDJlMmQxYjc5NGU0ZjcyYzM1MTUxNzAxMDExIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1dlYkV2ZW50Q29udmVyc2lvbi5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvV2ViRXZlbnRDb252ZXJzaW9uLmgK
QEAgLTI2LDE2ICsyNiwxOSBAQCBjbGFzcyBRSW5wdXRFdmVudDsKIGNsYXNzIFFHcmFwaGljc1Nj
ZW5lTW91c2VFdmVudDsKIGNsYXNzIFFXaGVlbEV2ZW50OwogY2xhc3MgUUdyYXBoaWNzU2NlbmVX
aGVlbEV2ZW50OworY2xhc3MgUVRvdWNoRXZlbnQ7CiBRVF9FTkRfTkFNRVNQQUNFCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUGxhdGZvcm1Nb3VzZUV2ZW50OwogY2xhc3MgUGxhdGZv
cm1XaGVlbEV2ZW50OworY2xhc3MgUGxhdGZvcm1Ub3VjaEV2ZW50OwogCiBQbGF0Zm9ybU1vdXNl
RXZlbnQgY29udmVydE1vdXNlRXZlbnQoUUlucHV0RXZlbnQqLCBpbnQgY2xpY2tDb3VudCk7CiBQ
bGF0Zm9ybU1vdXNlRXZlbnQgY29udmVydE1vdXNlRXZlbnQoUUdyYXBoaWNzU2NlbmVNb3VzZUV2
ZW50KiwgaW50IGNsaWNrQ291bnQpOwogUGxhdGZvcm1XaGVlbEV2ZW50IGNvbnZlcnRXaGVlbEV2
ZW50KFFXaGVlbEV2ZW50Kik7CiBQbGF0Zm9ybVdoZWVsRXZlbnQgY29udmVydFdoZWVsRXZlbnQo
UUdyYXBoaWNzU2NlbmVXaGVlbEV2ZW50Kik7CitQbGF0Zm9ybVRvdWNoRXZlbnQgY29udmVydFRv
dWNoRXZlbnQoUVRvdWNoRXZlbnQqKTsKIAogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139154</attachid>
            <date>2012-04-27 02:28:04 -0700</date>
            <delta_ts>2012-04-27 03:30:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84951-20120427112810.patch</filename>
            <type>text/plain</type>
            <size>2940</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1MTc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDkxMWM4NWUxNmE4
MmE4MjYyYjM3N2EyYzdjOGJjOGYyMTMwZDRhYmIuLjliOGI4Nzc0NzBhZGMxNmM3MzI3NDI4Njk2
YmEzMDgyOGM3ZWZhMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDQt
MjcgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBub2tpYS5jb20+CisKKyAg
ICAgICAgTW92ZSBXZWJLaXQxIHNwZWNpZmljIGNvbnZlcnNpb24gb2YgdG91Y2gtZXZlbnRzIHRv
IFdlYktpdDEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg0OTUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Rml4IGNvbXBpbGUgd2hlbiB0b3VjaC1ldmVudHMgYXJlIGRpc2FibGVkLgorCisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvV2ViRXZlbnRDb252ZXJzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkV2ZW50Q29udmVyc2lvbi5oOgorICAgICAg
ICAoV2ViQ29yZSk6CisKIDIwMTItMDQtMjYgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFu
LmplbnNlbkBub2tpYS5jb20+CiAKICAgICAgICAgTW92ZSBXZWJLaXQxIHNwZWNpZmljIGNvbnZl
cnNpb24gb2YgdG91Y2gtZXZlbnRzIHRvIFdlYktpdDEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L1dlYkV2ZW50Q29udmVyc2lvbi5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L1dlYkV2ZW50Q29udmVyc2lvbi5jcHAKaW5kZXggN2E3MGFk
MDBlZjEyYWE1MjMyMGQ5YzZkNTFlODdlMWIxZWY3OGQyNC4uZDQ1ZjhjZTMxZmZhMjcyODFiNjY4
MjM2ZTJiYjJmYjIxNTIyNDk1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9XZWJFdmVudENvbnZlcnNpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvV2ViRXZlbnRDb252ZXJzaW9uLmNwcApAQCAtMjIwLDcgKzIyMCw3IEBAIFdl
YktpdFBsYXRmb3JtV2hlZWxFdmVudDo6V2ViS2l0UGxhdGZvcm1XaGVlbEV2ZW50KFFXaGVlbEV2
ZW50KiBlKQogICAgIGFwcGx5RGVsdGEoZS0+ZGVsdGEoKSwgZS0+b3JpZW50YXRpb24oKSk7CiB9
CiAKLQorI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiBjbGFzcyBXZWJLaXRQbGF0Zm9ybVRvdWNo
RXZlbnQgOiBwdWJsaWMgUGxhdGZvcm1Ub3VjaEV2ZW50IHsKIHB1YmxpYzoKICAgICBXZWJLaXRQ
bGF0Zm9ybVRvdWNoRXZlbnQoUVRvdWNoRXZlbnQqKTsKQEAgLTMwMiw2ICszMDIsNyBAQCBXZWJL
aXRQbGF0Zm9ybVRvdWNoUG9pbnQ6OldlYktpdFBsYXRmb3JtVG91Y2hQb2ludChjb25zdCBRVG91
Y2hFdmVudDo6VG91Y2hQb2ludAogICAgIG1fZm9yY2UgPSBwb2ludC5wcmVzc3VyZSgpOwogICAg
IC8vIEZJWE1FOiBTdXBwb3J0IG1fcm90YXRpb25BbmdsZSBpZiBRVG91Y2hFdmVudCBhdCBzb21l
IHBvaW50IHN1cHBvcnRzIGl0LgogfQorI2VuZGlmCiAKIFBsYXRmb3JtV2hlZWxFdmVudCBjb252
ZXJ0V2hlZWxFdmVudChRV2hlZWxFdmVudCogZXZlbnQpCiB7CkBAIC0zMTMsOSArMzE0LDExIEBA
IFBsYXRmb3JtV2hlZWxFdmVudCBjb252ZXJ0V2hlZWxFdmVudChRR3JhcGhpY3NTY2VuZVdoZWVs
RXZlbnQqIGV2ZW50KQogICAgIHJldHVybiBXZWJLaXRQbGF0Zm9ybVdoZWVsRXZlbnQoZXZlbnQp
OwogfQogCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKIFBsYXRmb3JtVG91Y2hFdmVudCBjb252
ZXJ0VG91Y2hFdmVudChRVG91Y2hFdmVudCogZXZlbnQpCiB7CiAgICAgcmV0dXJuIFdlYktpdFBs
YXRmb3JtVG91Y2hFdmVudChldmVudCk7CiB9CisjZW5kaWYKIAogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9XZWJFdmVudENvbnZlcnNpb24uaCBiL1NvdXJj
ZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvV2ViRXZlbnRDb252ZXJzaW9uLmgKaW5kZXggZDBh
YmI4MjQyZmQyZjAyZTJkMWI3OTRlNGY3MmMzNTE1MTcwMTAxMS4uMDljNjNkMTdjMmQzNDFjZjc1
MzY3OTA5MDBlMmM2N2JhNDI3OTI1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9XZWJFdmVudENvbnZlcnNpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dl
YkNvcmVTdXBwb3J0L1dlYkV2ZW50Q29udmVyc2lvbi5oCkBAIC0zMywxMiArMzMsMTUgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQbGF0Zm9ybU1vdXNlRXZlbnQ7CiBjbGFzcyBQbGF0
Zm9ybVdoZWVsRXZlbnQ7Ci1jbGFzcyBQbGF0Zm9ybVRvdWNoRXZlbnQ7CisKIAogUGxhdGZvcm1N
b3VzZUV2ZW50IGNvbnZlcnRNb3VzZUV2ZW50KFFJbnB1dEV2ZW50KiwgaW50IGNsaWNrQ291bnQp
OwogUGxhdGZvcm1Nb3VzZUV2ZW50IGNvbnZlcnRNb3VzZUV2ZW50KFFHcmFwaGljc1NjZW5lTW91
c2VFdmVudCosIGludCBjbGlja0NvdW50KTsKIFBsYXRmb3JtV2hlZWxFdmVudCBjb252ZXJ0V2hl
ZWxFdmVudChRV2hlZWxFdmVudCopOwogUGxhdGZvcm1XaGVlbEV2ZW50IGNvbnZlcnRXaGVlbEV2
ZW50KFFHcmFwaGljc1NjZW5lV2hlZWxFdmVudCopOwotUGxhdGZvcm1Ub3VjaEV2ZW50IGNvbnZl
cnRUb3VjaEV2ZW50KFFUb3VjaEV2ZW50Kik7CiAKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQor
Y2xhc3MgUGxhdGZvcm1Ub3VjaEV2ZW50OworUGxhdGZvcm1Ub3VjaEV2ZW50IGNvbnZlcnRUb3Vj
aEV2ZW50KFFUb3VjaEV2ZW50Kik7CisjZW5kaWYKIH0K
</data>
<flag name="review"
          id="144713"
          type_id="1"
          status="+"
          setter="kenneth"
    />
    <flag name="commit-queue"
          id="144714"
          type_id="3"
          status="+"
          setter="kenneth"
    />
          </attachment>
      

    </bug>

</bugzilla>