<?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>116683</bug_id>
          
          <creation_ts>2013-05-23 11:05:28 -0700</creation_ts>
          <short_desc>[WK2][CoordinatedGraphics][EFL] WKViewUserViewportToContents() function doesn&apos;t do what it says</short_desc>
          <delta_ts>2013-05-29 07:34:10 -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>WebKit2</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="Marcelo Lira">marcelo.lira</reporter>
          <assigned_to name="Marcelo Lira">marcelo.lira</assigned_to>
          <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hugo.lima</cc>
    
    <cc>jesus</cc>
    
    <cc>kenneth</cc>
    
    <cc>luiz</cc>
    
    <cc>noam</cc>
    
    <cc>rafael.lobo</cc>
    
    <cc>rakuco</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>892962</commentid>
    <comment_count>0</comment_count>
    <who name="Marcelo Lira">marcelo.lira</who>
    <bug_when>2013-05-23 11:05:28 -0700</bug_when>
    <thetext>One would expect WKViewUserViewportToContents to convert WebView coordinates to page contents coordinates, but currently it doesn&apos;t consider the page scale factor.

Examples of what should be the results of WKViewUserViewportToContents:

1. The viewport shows a page on position (0,0) and the scale factor is 0.0.
   viewport (10,10) -&gt; contents(10,10)
2. Using WKViewSetContentPosition we scroll the page under the viewport to show the contents in position (100,100).
   viewport(10,10) -&gt; contents(110,110)
3. Using WKViewSetContentScaleFactor we set the page scale to 2.0.
   viewport(10,10) -&gt; contents(105,105)

Elsewhere, EwkView::createGLSurface() uses WKViewUserViewportToContents, but it doesn&apos;t expect these scroll and scaling operations to go into the calculations. Just the translation of the WKView in relation to the GL surface where it is drawn. As it is now WKViewUserViewportToContents works for EwkView, but it shouldn&apos;t.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892967</commentid>
    <comment_count>1</comment_count>
      <attachid>202730</attachid>
    <who name="Marcelo Lira">marcelo.lira</who>
    <bug_when>2013-05-23 11:20:46 -0700</bug_when>
    <thetext>Created attachment 202730
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>893586</commentid>
    <comment_count>2</comment_count>
      <attachid>202730</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-05-25 01:52:24 -0700</bug_when>
    <thetext>Comment on attachment 202730
Patch

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

&gt; Source/WebKit2/ChangeLog:15
&gt; +        WKViewUserViewportToScene.

You mean WKViewUserViewportToContents.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894076</commentid>
    <comment_count>3</comment_count>
      <attachid>202992</attachid>
    <who name="Marcelo Lira">marcelo.lira</who>
    <bug_when>2013-05-27 09:46:44 -0700</bug_when>
    <thetext>Created attachment 202992
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894342</commentid>
    <comment_count>4</comment_count>
      <attachid>202992</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-05-28 07:05:31 -0700</bug_when>
    <thetext>Comment on attachment 202992
Patch

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

&gt; Source/WebKit2/ChangeLog:8
&gt; +        WKViewUserViewportToContents now convert WebView coordinates to

convert -&gt; converts

&gt; Source/WebKit2/UIProcess/API/C/CoordinatedGraphics/WKView.cpp:111
&gt; +    const WebCore::IntPoint&amp; result = toImpl(viewRef)-&gt;userViewportToScene(toIntPoint(point));

no need for a const&amp; when it&apos;s an IntPoint, it doesn&apos;t perform better (or worse) :)

&gt; Tools/TestWebKitAPI/Tests/WebKit2/WKViewUserViewportToContents.cpp:33
&gt; +TEST(WebKitNix, WKViewUserViewportToContents)

This is not really a WebKitNix test...
Also this doesn&apos;t feel like the right directory for this test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894352</commentid>
    <comment_count>5</comment_count>
      <attachid>203052</attachid>
    <who name="Marcelo Lira">marcelo.lira</who>
    <bug_when>2013-05-28 07:28:59 -0700</bug_when>
    <thetext>Created attachment 203052
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894359</commentid>
    <comment_count>6</comment_count>
      <attachid>202992</attachid>
    <who name="Marcelo Lira">marcelo.lira</who>
    <bug_when>2013-05-28 07:38:15 -0700</bug_when>
    <thetext>Comment on attachment 202992
Patch

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

&gt;&gt; Tools/TestWebKitAPI/Tests/WebKit2/WKViewUserViewportToContents.cpp:33
&gt;&gt; +TEST(WebKitNix, WKViewUserViewportToContents)
&gt; 
&gt; This is not really a WebKitNix test...
&gt; Also this doesn&apos;t feel like the right directory for this test.

At first I felt this was the best directory for the test, since it&apos;s not tied to a particular port.
But now you made me doubt. Should we have a CoordinatedGraphics directory under WebKit2?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894361</commentid>
    <comment_count>7</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-05-28 07:48:50 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 202992 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=202992&amp;action=review
&gt; 
&gt; &gt;&gt; Tools/TestWebKitAPI/Tests/WebKit2/WKViewUserViewportToContents.cpp:33
&gt; &gt;&gt; +TEST(WebKitNix, WKViewUserViewportToContents)
&gt; &gt; 
&gt; &gt; This is not really a WebKitNix test...
&gt; &gt; Also this doesn&apos;t feel like the right directory for this test.
&gt; 
&gt; At first I felt this was the best directory for the test, since it&apos;s not tied to a particular port.
&gt; But now you made me doubt. Should we have a CoordinatedGraphics directory under WebKit2?
Sounds right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894377</commentid>
    <comment_count>8</comment_count>
      <attachid>203060</attachid>
    <who name="Marcelo Lira">marcelo.lira</who>
    <bug_when>2013-05-28 09:15:55 -0700</bug_when>
    <thetext>Created attachment 203060
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894944</commentid>
    <comment_count>9</comment_count>
      <attachid>203060</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-29 07:34:06 -0700</bug_when>
    <thetext>Comment on attachment 203060
Patch

Clearing flags on attachment: 203060

Committed r150893: &lt;http://trac.webkit.org/changeset/150893&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894945</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-29 07:34:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>202730</attachid>
            <date>2013-05-23 11:20:46 -0700</date>
            <delta_ts>2013-05-27 09:46:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-116683-20130523151927.patch</filename>
            <type>text/plain</type>
            <size>13237</size>
            <attacher name="Marcelo Lira">marcelo.lira</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUwNTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYjU2YTA5Mjc4ZjAyMzAz
Y2JjMjc3MjdiOTA4YTRmYWQ5MjkzMWU4Mi4uYTg4ZWZmYzRkZDI2ZDIzMmJjYzFmYTczNzZjNWNl
M2NmY2FjMjFhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEzLTA1LTIzICBNYXJj
ZWxvIExpcmEgIDxtYXJjZWxvLmxpcmFAb3BlbmJvc3NhLm9yZz4KKworICAgICAgICBbV0syXVtF
RkxdIFdLVmlld1VzZXJWaWV3cG9ydFRvQ29udGVudHMoKSBmdW5jdGlvbiBkb2Vzbid0IGRvIHdo
YXQgaXQgc2F5cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTE2NjgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgV0tWaWV3VXNlclZpZXdwb3J0VG9Db250ZW50cyBub3cgY29udmVydCBXZWJWaWV3IGNvb3Jk
aW5hdGVzIHRvCisgICAgICAgIHBhZ2UgY29udGVudHMgY29vcmRpbmF0ZXMsIHRha2luZyBpbnRv
IGFjY291bnQgZmFjdG9ycyBhcyBjb250ZW50CisgICAgICAgIHNjYWxlIGFuZCBzY3JvbGwsIGFu
ZCBhbHNvIGRldmljZSBzY2FsZS4KKworICAgICAgICBUaGUgZnVuY3Rpb24gV0tWaWV3VXNlclZp
ZXdwb3J0VG9TY2VuZSB3YXMgYWRkZWQgdG8gY29udmVydCB2aWV3cG9ydAorICAgICAgICBjb29y
ZGluYXRlcyB0byB0aGUgY29vcmRpbmF0ZXMgb2YgdGhlIGNhbnZhcy9zY2VuZSB3aGVyZSB0aGUg
dmlldworICAgICAgICBpcyBkcmF3biwgYW5kIEV3a1ZpZXcgd2FzIGZpeGVkIHRvIHVzZSBpdCwg
aW5zdGVhZCBvZgorICAgICAgICBXS1ZpZXdVc2VyVmlld3BvcnRUb1NjZW5lLgorCisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tWaWV3LmNwcDoKKyAgICAg
ICAgKFdLVmlld1VzZXJWaWV3cG9ydFRvU2NlbmUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Qy9Db29yZGluYXRlZEdyYXBoaWNzL1dLVmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
ZWZsL0V3a1ZpZXcuY3BwOgorICAgICAgICAoRXdrVmlldzo6Y3JlYXRlR0xTdXJmYWNlKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViVmlldzo6dXNlclZpZXdwb3J0VG9Db250ZW50cyk6CisgICAgICAgIChX
ZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Ojp1c2VyVmlld3BvcnRUb1NjZW5lKToK
KyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6dHJhbnNmb3JtVG9TY2VuZSk6CisgICAgICAgICog
VUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlldy5oOgorICAgICAgICAoV2ViVmll
dyk6CisKIDIwMTMtMDUtMjMgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUu
Y29tPgogCiAgICAgICAgIE1vdmUgcG9zaXhfc3Bhd24gb250byBhIHplcm8gZGVsYXkgdGltZXIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9Db29yZGluYXRlZEdy
YXBoaWNzL1dLVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9XS1ZpZXcuY3BwCmluZGV4IDYwZjlkZDRmMDM5Mjk0MTYwOGViYWY5ZDJi
NWI2ZmJlMTgzODE1MTAuLjZiZTk5YmM1Yjg1ZGI3MWQyZWQxMmY2OGRjYjI0ZGQyNTQ2MTM0Yjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9Db29yZGluYXRlZEdy
YXBoaWNzL1dLVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvV0tWaWV3LmNwcApAQCAtMTA2LDYgKzEwNiwxMiBAQCBXS1BvaW50
IFdLVmlld1VzZXJWaWV3cG9ydFRvQ29udGVudHMoV0tWaWV3UmVmIHZpZXdSZWYsIFdLUG9pbnQg
cG9pbnQpCiAgICAgcmV0dXJuIFdLUG9pbnRNYWtlKHJlc3VsdC54KCksIHJlc3VsdC55KCkpOwog
fQogCitXS1BvaW50IFdLVmlld1VzZXJWaWV3cG9ydFRvU2NlbmUoV0tWaWV3UmVmIHZpZXdSZWYs
IFdLUG9pbnQgcG9pbnQpCit7CisgICAgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHJlc3VsdCA9
IHRvSW1wbCh2aWV3UmVmKS0+dXNlclZpZXdwb3J0VG9TY2VuZSh0b0ludFBvaW50KHBvaW50KSk7
CisgICAgcmV0dXJuIFdLUG9pbnRNYWtlKHJlc3VsdC54KCksIHJlc3VsdC55KCkpOworfQorCiB2
b2lkIFdLVmlld1BhaW50VG9DdXJyZW50R0xDb250ZXh0KFdLVmlld1JlZiB2aWV3UmVmKQogewog
ICAgIHRvSW1wbCh2aWV3UmVmKS0+cGFpbnRUb0N1cnJlbnRHTENvbnRleHQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9Db29yZGluYXRlZEdyYXBoaWNzL1dL
Vmlldy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvV0tWaWV3LmgKaW5kZXggZjY4OTI1NGQyMGE3Y2ZlYmJiN2YwMjBkNGM1ZWUwOGYxYjk1YjUz
Yy4uOWJmOTVkYmUxNmRlMjU1ODlmNWY4OGE3ZjQ2OWU2MzQ5MTQzZTE0MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tWaWV3
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvV0tWaWV3LmgKQEAgLTc5LDYgKzc5LDcgQEAgV0tfRVhQT1JUIHZvaWQgV0tWaWV3U2V0Q29u
dGVudFBvc2l0aW9uKFdLVmlld1JlZiwgV0tQb2ludCk7CiAKIFdLX0VYUE9SVCB2b2lkIFdLVmll
d1NldFVzZXJWaWV3cG9ydFRyYW5zbGF0aW9uKFdLVmlld1JlZiwgZG91YmxlIHR4LCBkb3VibGUg
dHkpOwogV0tfRVhQT1JUIFdLUG9pbnQgV0tWaWV3VXNlclZpZXdwb3J0VG9Db250ZW50cyhXS1Zp
ZXdSZWYsIFdLUG9pbnQpOworV0tfRVhQT1JUIFdLUG9pbnQgV0tWaWV3VXNlclZpZXdwb3J0VG9T
Y2VuZShXS1ZpZXdSZWYsIFdLUG9pbnQpOwogCiBXS19FWFBPUlQgdm9pZCBXS1ZpZXdQYWludFRv
Q3VycmVudEdMQ29udGV4dChXS1ZpZXdSZWYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL0V3a1ZpZXcuY3BwCmluZGV4IDA5ZjQ5YTY4MGI0ZTg4NmNjNjNmOWFhMjRmNzli
NjQzYWQ0ZDMzMWQuLmNhOWI4Mjc3Yjc5Y2U1NjYyOTdlMjc2Y2I3MjUwNjJiNWZiMjk4NzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCkBAIC03NzQs
NyArNzc0LDcgQEAgYm9vbCBFd2tWaWV3OjpjcmVhdGVHTFN1cmZhY2UoKQogCiAgICAgRXZhc19H
TF9BUEkqIGdsID0gZXZhc19nbF9hcGlfZ2V0KG1fZXZhc0dMLmdldCgpKTsKIAotICAgIGNvbnN0
IFdLUG9pbnQmIGJvdW5kc0VuZCA9IFdLVmlld1VzZXJWaWV3cG9ydFRvQ29udGVudHMod2tWaWV3
KCksIFdLUG9pbnRNYWtlKGRldmljZVNpemUoKS53aWR0aCgpLCBkZXZpY2VTaXplKCkuaGVpZ2h0
KCkpKTsKKyAgICBjb25zdCBXS1BvaW50JiBib3VuZHNFbmQgPSBXS1ZpZXdVc2VyVmlld3BvcnRU
b1NjZW5lKHdrVmlldygpLCBXS1BvaW50TWFrZShkZXZpY2VTaXplKCkud2lkdGgoKSwgZGV2aWNl
U2l6ZSgpLmhlaWdodCgpKSk7CiAgICAgZ2wtPmdsVmlld3BvcnQoMCwgMCwgYm91bmRzRW5kLngs
IGJvdW5kc0VuZC55KTsKICAgICBnbC0+Z2xDbGVhckNvbG9yKDEuMCwgMS4wLCAxLjAsIDApOwog
ICAgIGdsLT5nbENsZWFyKEdMX0NPTE9SX0JVRkZFUl9CSVQpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlldy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNwcAppbmRl
eCBhZmY5NjEzMGZhYzFkOGYzNGRjMzE1ZmUxZDg1YTk1NzA1YzRhYjk1Li5hNWI3NDFmZDUwOWMw
NjgyYjUzYmFjZTQxMmVmYTQyYWFlMGJkNzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNwcApAQCAtMTEwLDYg
KzExMCwxMSBAQCB2b2lkIFdlYlZpZXc6OnNldFVzZXJWaWV3cG9ydFRyYW5zbGF0aW9uKGRvdWJs
ZSB0eCwgZG91YmxlIHR5KQogCiBJbnRQb2ludCBXZWJWaWV3Ojp1c2VyVmlld3BvcnRUb0NvbnRl
bnRzKGNvbnN0IEludFBvaW50JiBwb2ludCkgY29uc3QKIHsKKyAgICByZXR1cm4gdHJhbnNmb3Jt
RnJvbVNjZW5lKCkubWFwUG9pbnQocG9pbnQpOworfQorCitJbnRQb2ludCBXZWJWaWV3Ojp1c2Vy
Vmlld3BvcnRUb1NjZW5lKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb2ludCkgY29uc3QKK3sK
ICAgICByZXR1cm4gbV91c2VyVmlld3BvcnRUcmFuc2Zvcm0ubWFwUG9pbnQocG9pbnQpOwogfQog
CkBAIC0xOTYsMTIgKzIwMSwxMyBAQCBBZmZpbmVUcmFuc2Zvcm0gV2ViVmlldzo6dHJhbnNmb3Jt
RnJvbVNjZW5lKCkgY29uc3QKIAogQWZmaW5lVHJhbnNmb3JtIFdlYlZpZXc6OnRyYW5zZm9ybVRv
U2NlbmUoKSBjb25zdAogewotICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IHRyYW5zZm9ybSA9IG1f
dXNlclZpZXdwb3J0VHJhbnNmb3JtOworICAgIEZsb2F0UG9pbnQgcG9zaXRpb24gPSAtbV9jb250
ZW50UG9zaXRpb247CisgICAgZmxvYXQgZWZmZWN0aXZlU2NhbGUgPSBtX2NvbnRlbnRTY2FsZUZh
Y3RvciAqIG1fcGFnZS0+ZGV2aWNlU2NhbGVGYWN0b3IoKTsKKyAgICBwb3NpdGlvbi5zY2FsZShl
ZmZlY3RpdmVTY2FsZSwgZWZmZWN0aXZlU2NhbGUpOwogCi0gICAgY29uc3QgRmxvYXRQb2ludCYg
cG9zaXRpb24gPSBjb250ZW50UG9zaXRpb24oKTsKLSAgICB0cmFuc2Zvcm0uc2NhbGUobV9wYWdl
LT5kZXZpY2VTY2FsZUZhY3RvcigpKTsKLSAgICB0cmFuc2Zvcm0udHJhbnNsYXRlKC1wb3NpdGlv
bi54KCksIC1wb3NpdGlvbi55KCkpOwotICAgIHRyYW5zZm9ybS5zY2FsZShjb250ZW50U2NhbGVG
YWN0b3IoKSk7CisgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggdHJhbnNmb3JtID0gbV91c2VyVmll
d3BvcnRUcmFuc2Zvcm07CisgICAgdHJhbnNmb3JtLnRyYW5zbGF0ZShwb3NpdGlvbi54KCksIHBv
c2l0aW9uLnkoKSk7CisgICAgdHJhbnNmb3JtLnNjYWxlKGVmZmVjdGl2ZVNjYWxlKTsKIAogICAg
IHJldHVybiB0cmFuc2Zvcm0udG9BZmZpbmVUcmFuc2Zvcm0oKTsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuaAppbmRl
eCA4MWFhY2Y3Y2U1MTI0MjZkY2VkMzdkYTFkNTA0YzM4OTdjYThkNzA2Li5lYTU2YjM1MTNhNjY1
ZDlkZTc3YmFlYjVkMzhiODkxYzJmMzJhMzUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmgKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlldy5oCkBAIC03MSw2ICs3MSw3
IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0VXNlclZpZXdwb3J0VHJhbnNsYXRpb24oZG91Ymxl
IHR4LCBkb3VibGUgdHkpOwogICAgIFdlYkNvcmU6OkludFBvaW50IHVzZXJWaWV3cG9ydFRvQ29u
dGVudHMoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKSBjb25zdDsKKyAgICBXZWJDb3JlOjpJbnRQ
b2ludCB1c2VyVmlld3BvcnRUb1NjZW5lKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JikgY29uc3Q7
CiAKICAgICB2b2lkIHBhaW50VG9DdXJyZW50R0xDb250ZXh0KCk7CiAKZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1YjEyODBjZjQzNzk1YjI2YTky
OGVmNGM2NDA0ODZjNzE0Mzk1YjdiLi4yMmNjOWM0Mzk5NjJmNmM5YzZjODNiMzA1MTg1OGVmY2Mz
NDk2NWU4IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTggQEAKKzIwMTMtMDUtMjMgIE1hcmNlbG8gTGlyYSAgPG1hcmNlbG8ubGly
YUBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIFtXSzJdW0VGTF0gV0tWaWV3VXNlclZpZXdwb3J0
VG9Db250ZW50cygpIGZ1bmN0aW9uIGRvZXNuJ3QgZG8gd2hhdCBpdCBzYXlzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTY2ODMKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBIGNvb3JkaW5hdGVzIGNvbnZl
cnNpb24gdGVzdCBmb3IgV0tWaWV3VXNlclZpZXdwb3J0VG9Db250ZW50cyAKKyAgICAgICAgd2Fz
IGFkZGVkIHRvIFdlYktpdDIgQVBJIHRlc3RzLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9Q
bGF0Zm9ybUVmbC5jbWFrZToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIv
V0tWaWV3VXNlclZpZXdwb3J0VG9Db250ZW50cy5jcHA6IEFkZGVkLgorICAgICAgICAoVGVzdFdl
YktpdEFQSSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAxMy0wNS0yMyAg
UGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBNYWtlIGRl
ZmF1bHQgYnVnIGxpbmtzIGluIGJ1aWxkYm90IGNsaWNrYWJsZQpkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9QbGF0Zm9ybUVmbC5jbWFrZSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxh
dGZvcm1FZmwuY21ha2UKaW5kZXggMWVlMDE0Mjg0NzNkMDQxN2NkMmQ1OTkxNjQ1ZTkwNDM3M2Ni
NGZmZC4uMTc5MGJlNmQ4MGRmYTIwOGYxYjNlZjEwMDNlZDcwYzY2ZDc2ZDI1OSAxMDA2NDQKLS0t
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC05Myw2ICs5Myw3IEBAIHNldCh0ZXN0X3dl
YmtpdDJfYXBpX0JJTkFSSUVTCiAgICAgV0tTdHJpbmcKICAgICBXS1N0cmluZ0pTU3RyaW5nCiAg
ICAgV0tVUkwKKyAgICBXS1ZpZXdVc2VyVmlld3BvcnRUb0NvbnRlbnRzCiAgICAgV2lsbFNlbmRT
dWJtaXRFdmVudAogICAgIGVmbC9XS1ZpZXdDbGllbnRXZWJQcm9jZXNzQ2FsbGJhY2tzCiApCmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvV0tWaWV3VXNlclZp
ZXdwb3J0VG9Db250ZW50cy5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIv
V0tWaWV3VXNlclZpZXdwb3J0VG9Db250ZW50cy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODM0NjczYjYxYmM0
YTA1ZDk3YjcyOTgwYjc2MzcwNDU5YjM1OTNhYwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9XS1ZpZXdVc2VyVmlld3BvcnRUb0NvbnRlbnRzLmNw
cApAQCAtMCwwICsxLDE0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBOb2tpYSBDb3Jw
b3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUlMgT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisKKyNpbmNsdWRlICJXZWJLaXQyL1dLVmlldy5oIgorI2luY2x1ZGUgIldlYktp
dDIvV0tSZXRhaW5QdHIuaCIKKworbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgeworCitURVNUKFdl
YktpdE5peCwgV0tWaWV3VXNlclZpZXdwb3J0VG9Db250ZW50cykKK3sKKyAgICAvLyBUaGlzIHRl
c3QgY3JlYXRlcyBhIFdLVmlldyBhbmQgdXNlcyB0aGUgV0tWaWV3VXNlclZpZXdwb3J0VG9Db250
ZW50cworICAgIC8vIGZ1bmN0aW9uIHRvIGNvbnZlcnQgdmlld3BvcnQgY29vcmRpbmF0ZXMgdG8g
Y29udGVudHMgKHBhZ2UpIGNvb3JkaW5hdGVzLgorICAgIC8vIEl0IHNjcm9sbHMgYW5kIHNjYWxl
cyBhcm91bmQgdGhlIGNvbnRlbnRzIGFuZCBjaGVjayBpZiB0aGUgY29vcmRpbmF0ZXMKKyAgICAv
LyBjb252ZXJzaW9uIG1hdGggaXMgcmlnaHQuCisKKyAgICBXS1JldGFpblB0cjxXS0NvbnRleHRS
ZWY+IGNvbnRleHQoQWRvcHRXSywgV0tDb250ZXh0Q3JlYXRlKCkpOworICAgIFdLUmV0YWluUHRy
PFdLVmlld1JlZj4gd2ViVmlldyhBZG9wdFdLLCBXS1ZpZXdDcmVhdGUoY29udGV4dC5nZXQoKSwg
MCkpOworCisgICAgV0tWaWV3SW5pdGlhbGl6ZSh3ZWJWaWV3LmdldCgpKTsKKyAgICBXS1BhZ2VT
ZXRVc2VGaXhlZExheW91dChXS1ZpZXdHZXRQYWdlKHdlYlZpZXcuZ2V0KCkpLCBmYWxzZSk7CisK
KyAgICBXS1BvaW50IG91dDsKKworICAgIC8vIEF0IHNjYWxlIDEuMCB0aGUgdmlld3BvcnQgYW5k
IGNvbnRlbnRzIGNvb3JkaW5hdGVzIHNob3VsZCBtYXRjaC4KKworICAgIFdLVmlld1NldENvbnRl
bnRTY2FsZUZhY3Rvcih3ZWJWaWV3LmdldCgpLCAxLjApOworICAgIFdLVmlld1NldENvbnRlbnRQ
b3NpdGlvbih3ZWJWaWV3LmdldCgpLCBXS1BvaW50TWFrZSgwLCAwKSk7CisKKyAgICBvdXQgPSBX
S1ZpZXdVc2VyVmlld3BvcnRUb0NvbnRlbnRzKHdlYlZpZXcuZ2V0KCksIFdLUG9pbnRNYWtlKDAs
IDApKTsKKyAgICBFWFBFQ1RfRVEob3V0LngsIDApOworICAgIEVYUEVDVF9FUShvdXQueSwgMCk7
CisKKyAgICBvdXQgPSBXS1ZpZXdVc2VyVmlld3BvcnRUb0NvbnRlbnRzKHdlYlZpZXcuZ2V0KCks
IFdLUG9pbnRNYWtlKDEwLCAxMCkpOworICAgIEVYUEVDVF9FUShvdXQueCwgMTApOworICAgIEVY
UEVDVF9FUShvdXQueSwgMTApOworCisgICAgV0tWaWV3U2V0Q29udGVudFBvc2l0aW9uKHdlYlZp
ZXcuZ2V0KCksIFdLUG9pbnRNYWtlKDIwLCAyMCkpOworCisgICAgb3V0ID0gV0tWaWV3VXNlclZp
ZXdwb3J0VG9Db250ZW50cyh3ZWJWaWV3LmdldCgpLCBXS1BvaW50TWFrZSgwLCAwKSk7CisgICAg
RVhQRUNUX0VRKG91dC54LCAyMCk7CisgICAgRVhQRUNUX0VRKG91dC55LCAyMCk7CisKKyAgICBv
dXQgPSBXS1ZpZXdVc2VyVmlld3BvcnRUb0NvbnRlbnRzKHdlYlZpZXcuZ2V0KCksIFdLUG9pbnRN
YWtlKDEwLCAxMCkpOworICAgIEVYUEVDVF9FUShvdXQueCwgMzApOworICAgIEVYUEVDVF9FUShv
dXQueSwgMzApOworCisgICAgLy8gQXQgc2NhbGUgMi4wIHRoZSB2aWV3cG9ydCBkaXN0YW5jZSB2
YWx1ZXMgd2lsbCBiZSBoYWxmCisgICAgLy8gdGhlIG9uZXMgc2VlbSBpbiB0aGUgY29udGVudHMu
CisKKyAgICBXS1ZpZXdTZXRDb250ZW50U2NhbGVGYWN0b3Iod2ViVmlldy5nZXQoKSwgMi4wKTsK
KyAgICBXS1ZpZXdTZXRDb250ZW50UG9zaXRpb24od2ViVmlldy5nZXQoKSwgV0tQb2ludE1ha2Uo
MCwgMCkpOworCisgICAgb3V0ID0gV0tWaWV3VXNlclZpZXdwb3J0VG9Db250ZW50cyh3ZWJWaWV3
LmdldCgpLCBXS1BvaW50TWFrZSgwLCAwKSk7CisgICAgRVhQRUNUX0VRKG91dC54LCAwKTsKKyAg
ICBFWFBFQ1RfRVEob3V0LnksIDApOworCisgICAgb3V0ID0gV0tWaWV3VXNlclZpZXdwb3J0VG9D
b250ZW50cyh3ZWJWaWV3LmdldCgpLCBXS1BvaW50TWFrZSgxMCwgMTApKTsKKyAgICBFWFBFQ1Rf
RVEob3V0LngsIDUpOworICAgIEVYUEVDVF9FUShvdXQueSwgNSk7CisKKyAgICBXS1ZpZXdTZXRD
b250ZW50UG9zaXRpb24od2ViVmlldy5nZXQoKSwgV0tQb2ludE1ha2UoMjAsIDIwKSk7CisKKyAg
ICBvdXQgPSBXS1ZpZXdVc2VyVmlld3BvcnRUb0NvbnRlbnRzKHdlYlZpZXcuZ2V0KCksIFdLUG9p
bnRNYWtlKDAsIDApKTsKKyAgICBFWFBFQ1RfRVEob3V0LngsIDIwKTsKKyAgICBFWFBFQ1RfRVEo
b3V0LnksIDIwKTsKKworICAgIG91dCA9IFdLVmlld1VzZXJWaWV3cG9ydFRvQ29udGVudHMod2Vi
Vmlldy5nZXQoKSwgV0tQb2ludE1ha2UoMTAsIDEwKSk7CisgICAgRVhQRUNUX0VRKG91dC54LCAy
NSk7CisgICAgRVhQRUNUX0VRKG91dC55LCAyNSk7CisKKyAgICAvLyBBdCBzY2FsZSAwLjUgdGhl
IHZpZXdwb3J0IGRpc3RhbmNlIHZhbHVlcyB3aWxsIGJlIHR3aWNlCisgICAgLy8gdGhlIG9uZXMg
c2VlbSBpbiB0aGUgY29udGVudHMuCisKKyAgICBXS1ZpZXdTZXRDb250ZW50U2NhbGVGYWN0b3Io
d2ViVmlldy5nZXQoKSwgMC41KTsKKyAgICBXS1ZpZXdTZXRDb250ZW50UG9zaXRpb24od2ViVmll
dy5nZXQoKSwgV0tQb2ludE1ha2UoMCwgMCkpOworCisgICAgb3V0ID0gV0tWaWV3VXNlclZpZXdw
b3J0VG9Db250ZW50cyh3ZWJWaWV3LmdldCgpLCBXS1BvaW50TWFrZSgwLCAwKSk7CisgICAgRVhQ
RUNUX0VRKG91dC54LCAwKTsKKyAgICBFWFBFQ1RfRVEob3V0LnksIDApOworCisgICAgb3V0ID0g
V0tWaWV3VXNlclZpZXdwb3J0VG9Db250ZW50cyh3ZWJWaWV3LmdldCgpLCBXS1BvaW50TWFrZSgx
MCwgMTApKTsKKyAgICBFWFBFQ1RfRVEob3V0LngsIDIwKTsKKyAgICBFWFBFQ1RfRVEob3V0Lnks
IDIwKTsKKworICAgIFdLVmlld1NldENvbnRlbnRQb3NpdGlvbih3ZWJWaWV3LmdldCgpLCBXS1Bv
aW50TWFrZSgyMCwgMjApKTsKKworICAgIG91dCA9IFdLVmlld1VzZXJWaWV3cG9ydFRvQ29udGVu
dHMod2ViVmlldy5nZXQoKSwgV0tQb2ludE1ha2UoMCwgMCkpOworICAgIEVYUEVDVF9FUShvdXQu
eCwgMjApOworICAgIEVYUEVDVF9FUShvdXQueSwgMjApOworCisgICAgb3V0ID0gV0tWaWV3VXNl
clZpZXdwb3J0VG9Db250ZW50cyh3ZWJWaWV3LmdldCgpLCBXS1BvaW50TWFrZSgxMCwgMTApKTsK
KyAgICBFWFBFQ1RfRVEob3V0LngsIDQwKTsKKyAgICBFWFBFQ1RfRVEob3V0LnksIDQwKTsKKwor
ICAgIC8vIExldCdzIGFkZCB0cmFuc2xhdGlvbiB0byB0aGUgdmlld3BvcnQuCisKKyAgICBjb25z
dCBpbnQgZGVsdGEgPSAxMDsKKyAgICBXS1ZpZXdTZXRVc2VyVmlld3BvcnRUcmFuc2xhdGlvbih3
ZWJWaWV3LmdldCgpLCBkZWx0YSwgZGVsdGEpOworCisgICAgV0tWaWV3U2V0Q29udGVudFBvc2l0
aW9uKHdlYlZpZXcuZ2V0KCksIFdLUG9pbnRNYWtlKDAsIDApKTsKKworICAgIG91dCA9IFdLVmll
d1VzZXJWaWV3cG9ydFRvQ29udGVudHMod2ViVmlldy5nZXQoKSwgV0tQb2ludE1ha2UoMCwgMCkp
OworICAgIEVYUEVDVF9FUShvdXQueCwgMCAtIGRlbHRhIC8gMC41KTsKKyAgICBFWFBFQ1RfRVEo
b3V0LnksIDAgLSBkZWx0YSAvIDAuNSk7CisKKyAgICBvdXQgPSBXS1ZpZXdVc2VyVmlld3BvcnRU
b0NvbnRlbnRzKHdlYlZpZXcuZ2V0KCksIFdLUG9pbnRNYWtlKDEwLCAxMCkpOworICAgIEVYUEVD
VF9FUShvdXQueCwgMjAgLSBkZWx0YSAvIDAuNSk7CisgICAgRVhQRUNUX0VRKG91dC55LCAyMCAt
IGRlbHRhIC8gMC41KTsKKworICAgIFdLVmlld1NldENvbnRlbnRQb3NpdGlvbih3ZWJWaWV3Lmdl
dCgpLCBXS1BvaW50TWFrZSgyMCwgMjApKTsKKworICAgIG91dCA9IFdLVmlld1VzZXJWaWV3cG9y
dFRvQ29udGVudHMod2ViVmlldy5nZXQoKSwgV0tQb2ludE1ha2UoMCwgMCkpOworICAgIEVYUEVD
VF9FUShvdXQueCwgMjAgLSBkZWx0YSAvIDAuNSk7CisgICAgRVhQRUNUX0VRKG91dC55LCAyMCAt
IGRlbHRhIC8gMC41KTsKKworICAgIG91dCA9IFdLVmlld1VzZXJWaWV3cG9ydFRvQ29udGVudHMo
d2ViVmlldy5nZXQoKSwgV0tQb2ludE1ha2UoMTAsIDEwKSk7CisgICAgRVhQRUNUX0VRKG91dC54
LCA0MCAtIGRlbHRhIC8gMC41KTsKKyAgICBFWFBFQ1RfRVEob3V0LnksIDQwIC0gZGVsdGEgLyAw
LjUpOworfQorCit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>202992</attachid>
            <date>2013-05-27 09:46:44 -0700</date>
            <delta_ts>2013-05-28 07:38:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-116683-20130527134524.patch</filename>
            <type>text/plain</type>
            <size>13339</size>
            <attacher name="Marcelo Lira">marcelo.lira</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUwNzYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOWFlOTQyNzk3ZGUwYmUw
NGMxMWVhYjQyNDY1MmNmYzFmYTI3ZjllNC4uN2ViYmJlN2RhNjJkNzYzMzk5NTA5ZDgzNDMzNGUy
Y2JiZGI3ODJjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEzLTA1LTI3ICBNYXJj
ZWxvIExpcmEgIDxtYXJjZWxvLmxpcmFAb3BlbmJvc3NhLm9yZz4KKworICAgICAgICBbV0syXVtD
b29yZGluYXRlZEdyYXBoaWNzXVtFRkxdIFdLVmlld1VzZXJWaWV3cG9ydFRvQ29udGVudHMoKSBm
dW5jdGlvbiBkb2Vzbid0IGRvIHdoYXQgaXQgc2F5cworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE2NjgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgV0tWaWV3VXNlclZpZXdwb3J0VG9Db250ZW50cyBub3cg
Y29udmVydCBXZWJWaWV3IGNvb3JkaW5hdGVzIHRvCisgICAgICAgIHBhZ2UgY29udGVudHMgY29v
cmRpbmF0ZXMsIHRha2luZyBpbnRvIGFjY291bnQgZmFjdG9ycyBhcyBjb250ZW50CisgICAgICAg
IHNjYWxlIGFuZCBzY3JvbGwsIGFuZCBhbHNvIGRldmljZSBzY2FsZS4KKworICAgICAgICBUaGUg
ZnVuY3Rpb24gV0tWaWV3VXNlclZpZXdwb3J0VG9TY2VuZSB3YXMgYWRkZWQgdG8gY29udmVydCB2
aWV3cG9ydAorICAgICAgICBjb29yZGluYXRlcyB0byB0aGUgY29vcmRpbmF0ZXMgb2YgdGhlIGNh
bnZhcy9zY2VuZSB3aGVyZSB0aGUgdmlldworICAgICAgICBpcyBkcmF3biwgYW5kIEV3a1ZpZXcg
d2FzIGZpeGVkIHRvIHVzZSBpdCwgaW5zdGVhZCBvZgorICAgICAgICBXS1ZpZXdVc2VyVmlld3Bv
cnRUb0NvbnRlbnRzLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvV0tWaWV3LmNwcDoKKyAgICAgICAgKFdLVmlld1VzZXJWaWV3cG9ydFRvU2NlbmUpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9Db29yZGluYXRlZEdyYXBoaWNzL1dLVmlldy5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwOgorICAgICAgICAoRXdrVmll
dzo6Y3JlYXRlR0xTdXJmYWNlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFw
aGljcy9XZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6dXNlclZpZXdwb3J0
VG9Db250ZW50cyk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3
Ojp1c2VyVmlld3BvcnRUb1NjZW5lKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6dHJhbnNm
b3JtVG9TY2VuZSk6CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2Vi
Vmlldy5oOgorICAgICAgICAoV2ViVmlldyk6CisKIDIwMTMtMDUtMjcgIENhcmxvcyBHYXJjaWEg
Q2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIFdlYktpdFdlYlZp
ZXcgY2hpbGQgd2lkZ2V0cyBhcmUgbm90IHJlbmRlcmVkIHdpdGggcmVjZW50IEdUSysKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9Db29yZGluYXRlZEdyYXBoaWNz
L1dLVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9XS1ZpZXcuY3BwCmluZGV4IDYwZjlkZDRmMDM5Mjk0MTYwOGViYWY5ZDJiNWI2ZmJl
MTgzODE1MTAuLjZiZTk5YmM1Yjg1ZGI3MWQyZWQxMmY2OGRjYjI0ZGQyNTQ2MTM0YjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9Db29yZGluYXRlZEdyYXBoaWNz
L1dLVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvV0tWaWV3LmNwcApAQCAtMTA2LDYgKzEwNiwxMiBAQCBXS1BvaW50IFdLVmll
d1VzZXJWaWV3cG9ydFRvQ29udGVudHMoV0tWaWV3UmVmIHZpZXdSZWYsIFdLUG9pbnQgcG9pbnQp
CiAgICAgcmV0dXJuIFdLUG9pbnRNYWtlKHJlc3VsdC54KCksIHJlc3VsdC55KCkpOwogfQogCitX
S1BvaW50IFdLVmlld1VzZXJWaWV3cG9ydFRvU2NlbmUoV0tWaWV3UmVmIHZpZXdSZWYsIFdLUG9p
bnQgcG9pbnQpCit7CisgICAgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHJlc3VsdCA9IHRvSW1w
bCh2aWV3UmVmKS0+dXNlclZpZXdwb3J0VG9TY2VuZSh0b0ludFBvaW50KHBvaW50KSk7CisgICAg
cmV0dXJuIFdLUG9pbnRNYWtlKHJlc3VsdC54KCksIHJlc3VsdC55KCkpOworfQorCiB2b2lkIFdL
Vmlld1BhaW50VG9DdXJyZW50R0xDb250ZXh0KFdLVmlld1JlZiB2aWV3UmVmKQogewogICAgIHRv
SW1wbCh2aWV3UmVmKS0+cGFpbnRUb0N1cnJlbnRHTENvbnRleHQoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9Db29yZGluYXRlZEdyYXBoaWNzL1dLVmlldy5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tW
aWV3LmgKaW5kZXggZjY4OTI1NGQyMGE3Y2ZlYmJiN2YwMjBkNGM1ZWUwOGYxYjk1YjUzYy4uOWJm
OTVkYmUxNmRlMjU1ODlmNWY4OGE3ZjQ2OWU2MzQ5MTQzZTE0MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tWaWV3LmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tW
aWV3LmgKQEAgLTc5LDYgKzc5LDcgQEAgV0tfRVhQT1JUIHZvaWQgV0tWaWV3U2V0Q29udGVudFBv
c2l0aW9uKFdLVmlld1JlZiwgV0tQb2ludCk7CiAKIFdLX0VYUE9SVCB2b2lkIFdLVmlld1NldFVz
ZXJWaWV3cG9ydFRyYW5zbGF0aW9uKFdLVmlld1JlZiwgZG91YmxlIHR4LCBkb3VibGUgdHkpOwog
V0tfRVhQT1JUIFdLUG9pbnQgV0tWaWV3VXNlclZpZXdwb3J0VG9Db250ZW50cyhXS1ZpZXdSZWYs
IFdLUG9pbnQpOworV0tfRVhQT1JUIFdLUG9pbnQgV0tWaWV3VXNlclZpZXdwb3J0VG9TY2VuZShX
S1ZpZXdSZWYsIFdLUG9pbnQpOwogCiBXS19FWFBPUlQgdm9pZCBXS1ZpZXdQYWludFRvQ3VycmVu
dEdMQ29udGV4dChXS1ZpZXdSZWYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL0V3a1ZpZXcuY3BwCmluZGV4IDA5ZjQ5YTY4MGI0ZTg4NmNjNjNmOWFhMjRmNzliNjQzYWQ0
ZDMzMWQuLmNhOWI4Mjc3Yjc5Y2U1NjYyOTdlMjc2Y2I3MjUwNjJiNWZiMjk4NzkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCkBAIC03NzQsNyArNzc0
LDcgQEAgYm9vbCBFd2tWaWV3OjpjcmVhdGVHTFN1cmZhY2UoKQogCiAgICAgRXZhc19HTF9BUEkq
IGdsID0gZXZhc19nbF9hcGlfZ2V0KG1fZXZhc0dMLmdldCgpKTsKIAotICAgIGNvbnN0IFdLUG9p
bnQmIGJvdW5kc0VuZCA9IFdLVmlld1VzZXJWaWV3cG9ydFRvQ29udGVudHMod2tWaWV3KCksIFdL
UG9pbnRNYWtlKGRldmljZVNpemUoKS53aWR0aCgpLCBkZXZpY2VTaXplKCkuaGVpZ2h0KCkpKTsK
KyAgICBjb25zdCBXS1BvaW50JiBib3VuZHNFbmQgPSBXS1ZpZXdVc2VyVmlld3BvcnRUb1NjZW5l
KHdrVmlldygpLCBXS1BvaW50TWFrZShkZXZpY2VTaXplKCkud2lkdGgoKSwgZGV2aWNlU2l6ZSgp
LmhlaWdodCgpKSk7CiAgICAgZ2wtPmdsVmlld3BvcnQoMCwgMCwgYm91bmRzRW5kLngsIGJvdW5k
c0VuZC55KTsKICAgICBnbC0+Z2xDbGVhckNvbG9yKDEuMCwgMS4wLCAxLjAsIDApOwogICAgIGds
LT5nbENsZWFyKEdMX0NPTE9SX0JVRkZFUl9CSVQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNwcAppbmRleCBhZmY5
NjEzMGZhYzFkOGYzNGRjMzE1ZmUxZDg1YTk1NzA1YzRhYjk1Li5hNWI3NDFmZDUwOWMwNjgyYjUz
YmFjZTQxMmVmYTQyYWFlMGJkNzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNwcApAQCAtMTEwLDYgKzExMCwx
MSBAQCB2b2lkIFdlYlZpZXc6OnNldFVzZXJWaWV3cG9ydFRyYW5zbGF0aW9uKGRvdWJsZSB0eCwg
ZG91YmxlIHR5KQogCiBJbnRQb2ludCBXZWJWaWV3Ojp1c2VyVmlld3BvcnRUb0NvbnRlbnRzKGNv
bnN0IEludFBvaW50JiBwb2ludCkgY29uc3QKIHsKKyAgICByZXR1cm4gdHJhbnNmb3JtRnJvbVNj
ZW5lKCkubWFwUG9pbnQocG9pbnQpOworfQorCitJbnRQb2ludCBXZWJWaWV3Ojp1c2VyVmlld3Bv
cnRUb1NjZW5lKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb2ludCkgY29uc3QKK3sKICAgICBy
ZXR1cm4gbV91c2VyVmlld3BvcnRUcmFuc2Zvcm0ubWFwUG9pbnQocG9pbnQpOwogfQogCkBAIC0x
OTYsMTIgKzIwMSwxMyBAQCBBZmZpbmVUcmFuc2Zvcm0gV2ViVmlldzo6dHJhbnNmb3JtRnJvbVNj
ZW5lKCkgY29uc3QKIAogQWZmaW5lVHJhbnNmb3JtIFdlYlZpZXc6OnRyYW5zZm9ybVRvU2NlbmUo
KSBjb25zdAogewotICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IHRyYW5zZm9ybSA9IG1fdXNlclZp
ZXdwb3J0VHJhbnNmb3JtOworICAgIEZsb2F0UG9pbnQgcG9zaXRpb24gPSAtbV9jb250ZW50UG9z
aXRpb247CisgICAgZmxvYXQgZWZmZWN0aXZlU2NhbGUgPSBtX2NvbnRlbnRTY2FsZUZhY3RvciAq
IG1fcGFnZS0+ZGV2aWNlU2NhbGVGYWN0b3IoKTsKKyAgICBwb3NpdGlvbi5zY2FsZShlZmZlY3Rp
dmVTY2FsZSwgZWZmZWN0aXZlU2NhbGUpOwogCi0gICAgY29uc3QgRmxvYXRQb2ludCYgcG9zaXRp
b24gPSBjb250ZW50UG9zaXRpb24oKTsKLSAgICB0cmFuc2Zvcm0uc2NhbGUobV9wYWdlLT5kZXZp
Y2VTY2FsZUZhY3RvcigpKTsKLSAgICB0cmFuc2Zvcm0udHJhbnNsYXRlKC1wb3NpdGlvbi54KCks
IC1wb3NpdGlvbi55KCkpOwotICAgIHRyYW5zZm9ybS5zY2FsZShjb250ZW50U2NhbGVGYWN0b3Io
KSk7CisgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggdHJhbnNmb3JtID0gbV91c2VyVmlld3BvcnRU
cmFuc2Zvcm07CisgICAgdHJhbnNmb3JtLnRyYW5zbGF0ZShwb3NpdGlvbi54KCksIHBvc2l0aW9u
LnkoKSk7CisgICAgdHJhbnNmb3JtLnNjYWxlKGVmZmVjdGl2ZVNjYWxlKTsKIAogICAgIHJldHVy
biB0cmFuc2Zvcm0udG9BZmZpbmVUcmFuc2Zvcm0oKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuaAppbmRleCA4MWFh
Y2Y3Y2U1MTI0MjZkY2VkMzdkYTFkNTA0YzM4OTdjYThkNzA2Li5lYTU2YjM1MTNhNjY1ZDlkZTc3
YmFlYjVkMzhiODkxYzJmMzJhMzUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlldy5oCkBAIC03MSw2ICs3MSw3IEBAIHB1
YmxpYzoKIAogICAgIHZvaWQgc2V0VXNlclZpZXdwb3J0VHJhbnNsYXRpb24oZG91YmxlIHR4LCBk
b3VibGUgdHkpOwogICAgIFdlYkNvcmU6OkludFBvaW50IHVzZXJWaWV3cG9ydFRvQ29udGVudHMo
Y29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKSBjb25zdDsKKyAgICBXZWJDb3JlOjpJbnRQb2ludCB1
c2VyVmlld3BvcnRUb1NjZW5lKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JikgY29uc3Q7CiAKICAg
ICB2b2lkIHBhaW50VG9DdXJyZW50R0xDb250ZXh0KCk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1ZWFhNzQ2ZjdjNGE5ZDZkMmJiMTQyNWE4
YjMxNjVlZjkxNGE0ZTllLi5hZmMyNjBlNmMxYjYxMDc5ZjJjMDEzM2YxMDBiNTY2ZjFjZjU2ZmJm
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTggQEAKKzIwMTMtMDUtMjcgIE1hcmNlbG8gTGlyYSAgPG1hcmNlbG8ubGlyYUBvcGVu
Ym9zc2Eub3JnPgorCisgICAgICAgIFtXSzJdW0Nvb3JkaW5hdGVkR3JhcGhpY3NdW0VGTF0gV0tW
aWV3VXNlclZpZXdwb3J0VG9Db250ZW50cygpIGZ1bmN0aW9uIGRvZXNuJ3QgZG8gd2hhdCBpdCBz
YXlzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTY2
ODMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBIGNv
b3JkaW5hdGVzIGNvbnZlcnNpb24gdGVzdCBmb3IgV0tWaWV3VXNlclZpZXdwb3J0VG9Db250ZW50
cyB3YXMKKyAgICAgICAgYWRkZWQgdG8gV2ViS2l0MiBBUEkgdGVzdHMuCisKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1BsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Mi9XS1ZpZXdVc2VyVmlld3BvcnRUb0NvbnRlbnRzLmNwcDogQWRkZWQuCisg
ICAgICAgIChUZXN0V2ViS2l0QVBJKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgor
CiAyMDEzLTA1LTI2ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAg
IFlldCBhbm90aGVyIFdLUiBidWlsZCBmaXguIFNvcnJ5IGZvciB0aGUgbWVzcy4gSXQgc2VlbXMg
bGlrZSBJIGNhbid0IHdpbiB0b2RheSA6KApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9QbGF0Zm9ybUVmbC5jbWFrZSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1FZmwuY21h
a2UKaW5kZXggMWVlMDE0Mjg0NzNkMDQxN2NkMmQ1OTkxNjQ1ZTkwNDM3M2NiNGZmZC4uMTc5MGJl
NmQ4MGRmYTIwOGYxYjNlZjEwMDNlZDcwYzY2ZDc2ZDI1OSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Bs
YXRmb3JtRWZsLmNtYWtlCkBAIC05Myw2ICs5Myw3IEBAIHNldCh0ZXN0X3dlYmtpdDJfYXBpX0JJ
TkFSSUVTCiAgICAgV0tTdHJpbmcKICAgICBXS1N0cmluZ0pTU3RyaW5nCiAgICAgV0tVUkwKKyAg
ICBXS1ZpZXdVc2VyVmlld3BvcnRUb0NvbnRlbnRzCiAgICAgV2lsbFNlbmRTdWJtaXRFdmVudAog
ICAgIGVmbC9XS1ZpZXdDbGllbnRXZWJQcm9jZXNzQ2FsbGJhY2tzCiApCmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvV0tWaWV3VXNlclZpZXdwb3J0VG9Db250
ZW50cy5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvV0tWaWV3VXNlclZp
ZXdwb3J0VG9Db250ZW50cy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODM0NjczYjYxYmM0YTA1ZDk3YjcyOTgw
Yjc2MzcwNDU5YjM1OTNhYwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Mi9XS1ZpZXdVc2VyVmlld3BvcnRUb0NvbnRlbnRzLmNwcApAQCAtMCwwICsx
LDE0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQv
b3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUlMgT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisK
KyNpbmNsdWRlICJXZWJLaXQyL1dLVmlldy5oIgorI2luY2x1ZGUgIldlYktpdDIvV0tSZXRhaW5Q
dHIuaCIKKworbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgeworCitURVNUKFdlYktpdE5peCwgV0tW
aWV3VXNlclZpZXdwb3J0VG9Db250ZW50cykKK3sKKyAgICAvLyBUaGlzIHRlc3QgY3JlYXRlcyBh
IFdLVmlldyBhbmQgdXNlcyB0aGUgV0tWaWV3VXNlclZpZXdwb3J0VG9Db250ZW50cworICAgIC8v
IGZ1bmN0aW9uIHRvIGNvbnZlcnQgdmlld3BvcnQgY29vcmRpbmF0ZXMgdG8gY29udGVudHMgKHBh
Z2UpIGNvb3JkaW5hdGVzLgorICAgIC8vIEl0IHNjcm9sbHMgYW5kIHNjYWxlcyBhcm91bmQgdGhl
IGNvbnRlbnRzIGFuZCBjaGVjayBpZiB0aGUgY29vcmRpbmF0ZXMKKyAgICAvLyBjb252ZXJzaW9u
IG1hdGggaXMgcmlnaHQuCisKKyAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQo
QWRvcHRXSywgV0tDb250ZXh0Q3JlYXRlKCkpOworICAgIFdLUmV0YWluUHRyPFdLVmlld1JlZj4g
d2ViVmlldyhBZG9wdFdLLCBXS1ZpZXdDcmVhdGUoY29udGV4dC5nZXQoKSwgMCkpOworCisgICAg
V0tWaWV3SW5pdGlhbGl6ZSh3ZWJWaWV3LmdldCgpKTsKKyAgICBXS1BhZ2VTZXRVc2VGaXhlZExh
eW91dChXS1ZpZXdHZXRQYWdlKHdlYlZpZXcuZ2V0KCkpLCBmYWxzZSk7CisKKyAgICBXS1BvaW50
IG91dDsKKworICAgIC8vIEF0IHNjYWxlIDEuMCB0aGUgdmlld3BvcnQgYW5kIGNvbnRlbnRzIGNv
b3JkaW5hdGVzIHNob3VsZCBtYXRjaC4KKworICAgIFdLVmlld1NldENvbnRlbnRTY2FsZUZhY3Rv
cih3ZWJWaWV3LmdldCgpLCAxLjApOworICAgIFdLVmlld1NldENvbnRlbnRQb3NpdGlvbih3ZWJW
aWV3LmdldCgpLCBXS1BvaW50TWFrZSgwLCAwKSk7CisKKyAgICBvdXQgPSBXS1ZpZXdVc2VyVmll
d3BvcnRUb0NvbnRlbnRzKHdlYlZpZXcuZ2V0KCksIFdLUG9pbnRNYWtlKDAsIDApKTsKKyAgICBF
WFBFQ1RfRVEob3V0LngsIDApOworICAgIEVYUEVDVF9FUShvdXQueSwgMCk7CisKKyAgICBvdXQg
PSBXS1ZpZXdVc2VyVmlld3BvcnRUb0NvbnRlbnRzKHdlYlZpZXcuZ2V0KCksIFdLUG9pbnRNYWtl
KDEwLCAxMCkpOworICAgIEVYUEVDVF9FUShvdXQueCwgMTApOworICAgIEVYUEVDVF9FUShvdXQu
eSwgMTApOworCisgICAgV0tWaWV3U2V0Q29udGVudFBvc2l0aW9uKHdlYlZpZXcuZ2V0KCksIFdL
UG9pbnRNYWtlKDIwLCAyMCkpOworCisgICAgb3V0ID0gV0tWaWV3VXNlclZpZXdwb3J0VG9Db250
ZW50cyh3ZWJWaWV3LmdldCgpLCBXS1BvaW50TWFrZSgwLCAwKSk7CisgICAgRVhQRUNUX0VRKG91
dC54LCAyMCk7CisgICAgRVhQRUNUX0VRKG91dC55LCAyMCk7CisKKyAgICBvdXQgPSBXS1ZpZXdV
c2VyVmlld3BvcnRUb0NvbnRlbnRzKHdlYlZpZXcuZ2V0KCksIFdLUG9pbnRNYWtlKDEwLCAxMCkp
OworICAgIEVYUEVDVF9FUShvdXQueCwgMzApOworICAgIEVYUEVDVF9FUShvdXQueSwgMzApOwor
CisgICAgLy8gQXQgc2NhbGUgMi4wIHRoZSB2aWV3cG9ydCBkaXN0YW5jZSB2YWx1ZXMgd2lsbCBi
ZSBoYWxmCisgICAgLy8gdGhlIG9uZXMgc2VlbSBpbiB0aGUgY29udGVudHMuCisKKyAgICBXS1Zp
ZXdTZXRDb250ZW50U2NhbGVGYWN0b3Iod2ViVmlldy5nZXQoKSwgMi4wKTsKKyAgICBXS1ZpZXdT
ZXRDb250ZW50UG9zaXRpb24od2ViVmlldy5nZXQoKSwgV0tQb2ludE1ha2UoMCwgMCkpOworCisg
ICAgb3V0ID0gV0tWaWV3VXNlclZpZXdwb3J0VG9Db250ZW50cyh3ZWJWaWV3LmdldCgpLCBXS1Bv
aW50TWFrZSgwLCAwKSk7CisgICAgRVhQRUNUX0VRKG91dC54LCAwKTsKKyAgICBFWFBFQ1RfRVEo
b3V0LnksIDApOworCisgICAgb3V0ID0gV0tWaWV3VXNlclZpZXdwb3J0VG9Db250ZW50cyh3ZWJW
aWV3LmdldCgpLCBXS1BvaW50TWFrZSgxMCwgMTApKTsKKyAgICBFWFBFQ1RfRVEob3V0LngsIDUp
OworICAgIEVYUEVDVF9FUShvdXQueSwgNSk7CisKKyAgICBXS1ZpZXdTZXRDb250ZW50UG9zaXRp
b24od2ViVmlldy5nZXQoKSwgV0tQb2ludE1ha2UoMjAsIDIwKSk7CisKKyAgICBvdXQgPSBXS1Zp
ZXdVc2VyVmlld3BvcnRUb0NvbnRlbnRzKHdlYlZpZXcuZ2V0KCksIFdLUG9pbnRNYWtlKDAsIDAp
KTsKKyAgICBFWFBFQ1RfRVEob3V0LngsIDIwKTsKKyAgICBFWFBFQ1RfRVEob3V0LnksIDIwKTsK
KworICAgIG91dCA9IFdLVmlld1VzZXJWaWV3cG9ydFRvQ29udGVudHMod2ViVmlldy5nZXQoKSwg
V0tQb2ludE1ha2UoMTAsIDEwKSk7CisgICAgRVhQRUNUX0VRKG91dC54LCAyNSk7CisgICAgRVhQ
RUNUX0VRKG91dC55LCAyNSk7CisKKyAgICAvLyBBdCBzY2FsZSAwLjUgdGhlIHZpZXdwb3J0IGRp
c3RhbmNlIHZhbHVlcyB3aWxsIGJlIHR3aWNlCisgICAgLy8gdGhlIG9uZXMgc2VlbSBpbiB0aGUg
Y29udGVudHMuCisKKyAgICBXS1ZpZXdTZXRDb250ZW50U2NhbGVGYWN0b3Iod2ViVmlldy5nZXQo
KSwgMC41KTsKKyAgICBXS1ZpZXdTZXRDb250ZW50UG9zaXRpb24od2ViVmlldy5nZXQoKSwgV0tQ
b2ludE1ha2UoMCwgMCkpOworCisgICAgb3V0ID0gV0tWaWV3VXNlclZpZXdwb3J0VG9Db250ZW50
cyh3ZWJWaWV3LmdldCgpLCBXS1BvaW50TWFrZSgwLCAwKSk7CisgICAgRVhQRUNUX0VRKG91dC54
LCAwKTsKKyAgICBFWFBFQ1RfRVEob3V0LnksIDApOworCisgICAgb3V0ID0gV0tWaWV3VXNlclZp
ZXdwb3J0VG9Db250ZW50cyh3ZWJWaWV3LmdldCgpLCBXS1BvaW50TWFrZSgxMCwgMTApKTsKKyAg
ICBFWFBFQ1RfRVEob3V0LngsIDIwKTsKKyAgICBFWFBFQ1RfRVEob3V0LnksIDIwKTsKKworICAg
IFdLVmlld1NldENvbnRlbnRQb3NpdGlvbih3ZWJWaWV3LmdldCgpLCBXS1BvaW50TWFrZSgyMCwg
MjApKTsKKworICAgIG91dCA9IFdLVmlld1VzZXJWaWV3cG9ydFRvQ29udGVudHMod2ViVmlldy5n
ZXQoKSwgV0tQb2ludE1ha2UoMCwgMCkpOworICAgIEVYUEVDVF9FUShvdXQueCwgMjApOworICAg
IEVYUEVDVF9FUShvdXQueSwgMjApOworCisgICAgb3V0ID0gV0tWaWV3VXNlclZpZXdwb3J0VG9D
b250ZW50cyh3ZWJWaWV3LmdldCgpLCBXS1BvaW50TWFrZSgxMCwgMTApKTsKKyAgICBFWFBFQ1Rf
RVEob3V0LngsIDQwKTsKKyAgICBFWFBFQ1RfRVEob3V0LnksIDQwKTsKKworICAgIC8vIExldCdz
IGFkZCB0cmFuc2xhdGlvbiB0byB0aGUgdmlld3BvcnQuCisKKyAgICBjb25zdCBpbnQgZGVsdGEg
PSAxMDsKKyAgICBXS1ZpZXdTZXRVc2VyVmlld3BvcnRUcmFuc2xhdGlvbih3ZWJWaWV3LmdldCgp
LCBkZWx0YSwgZGVsdGEpOworCisgICAgV0tWaWV3U2V0Q29udGVudFBvc2l0aW9uKHdlYlZpZXcu
Z2V0KCksIFdLUG9pbnRNYWtlKDAsIDApKTsKKworICAgIG91dCA9IFdLVmlld1VzZXJWaWV3cG9y
dFRvQ29udGVudHMod2ViVmlldy5nZXQoKSwgV0tQb2ludE1ha2UoMCwgMCkpOworICAgIEVYUEVD
VF9FUShvdXQueCwgMCAtIGRlbHRhIC8gMC41KTsKKyAgICBFWFBFQ1RfRVEob3V0LnksIDAgLSBk
ZWx0YSAvIDAuNSk7CisKKyAgICBvdXQgPSBXS1ZpZXdVc2VyVmlld3BvcnRUb0NvbnRlbnRzKHdl
YlZpZXcuZ2V0KCksIFdLUG9pbnRNYWtlKDEwLCAxMCkpOworICAgIEVYUEVDVF9FUShvdXQueCwg
MjAgLSBkZWx0YSAvIDAuNSk7CisgICAgRVhQRUNUX0VRKG91dC55LCAyMCAtIGRlbHRhIC8gMC41
KTsKKworICAgIFdLVmlld1NldENvbnRlbnRQb3NpdGlvbih3ZWJWaWV3LmdldCgpLCBXS1BvaW50
TWFrZSgyMCwgMjApKTsKKworICAgIG91dCA9IFdLVmlld1VzZXJWaWV3cG9ydFRvQ29udGVudHMo
d2ViVmlldy5nZXQoKSwgV0tQb2ludE1ha2UoMCwgMCkpOworICAgIEVYUEVDVF9FUShvdXQueCwg
MjAgLSBkZWx0YSAvIDAuNSk7CisgICAgRVhQRUNUX0VRKG91dC55LCAyMCAtIGRlbHRhIC8gMC41
KTsKKworICAgIG91dCA9IFdLVmlld1VzZXJWaWV3cG9ydFRvQ29udGVudHMod2ViVmlldy5nZXQo
KSwgV0tQb2ludE1ha2UoMTAsIDEwKSk7CisgICAgRVhQRUNUX0VRKG91dC54LCA0MCAtIGRlbHRh
IC8gMC41KTsKKyAgICBFWFBFQ1RfRVEob3V0LnksIDQwIC0gZGVsdGEgLyAwLjUpOworfQorCit9
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203052</attachid>
            <date>2013-05-28 07:28:59 -0700</date>
            <delta_ts>2013-05-28 09:15:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-116683-20130528112739.patch</filename>
            <type>text/plain</type>
            <size>13400</size>
            <attacher name="Marcelo Lira">marcelo.lira</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUwODAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNGE2ZDFkNzVjNDc1ZjYz
MzBmYThmOGFkNmMwNzE2MGE1Mzk0Nzk1Yy4uMWI0NzJlMjE5Y2Y1NGZhNWExOGJjODYzM2QyY2Zj
NmJhZTczNWQ4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM0IEBACiAyMDEzLTA1LTI4ICBNYXJj
ZWxvIExpcmEgIDxtYXJjZWxvLmxpcmFAb3BlbmJvc3NhLm9yZz4KIAorICAgICAgICBbV0syXVtD
b29yZGluYXRlZEdyYXBoaWNzXVtFRkxdIFdLVmlld1VzZXJWaWV3cG9ydFRvQ29udGVudHMoKSBm
dW5jdGlvbiBkb2Vzbid0IGRvIHdoYXQgaXQgc2F5cworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE2NjgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgV0tWaWV3VXNlclZpZXdwb3J0VG9Db250ZW50cyBub3cg
Y29udmVydHMgV2ViVmlldyBjb29yZGluYXRlcyB0bworICAgICAgICBwYWdlIGNvbnRlbnRzIGNv
b3JkaW5hdGVzLCB0YWtpbmcgaW50byBhY2NvdW50IGZhY3RvcnMgYXMgY29udGVudAorICAgICAg
ICBzY2FsZSBhbmQgc2Nyb2xsLCBhbmQgYWxzbyBkZXZpY2Ugc2NhbGUuCisKKyAgICAgICAgVGhl
IGZ1bmN0aW9uIFdLVmlld1VzZXJWaWV3cG9ydFRvU2NlbmUgd2FzIGFkZGVkIHRvIGNvbnZlcnQg
V2ViVmlldworICAgICAgICBjb29yZGluYXRlcyB0byB0aGUgY29vcmRpbmF0ZXMgb2YgdGhlIGNh
bnZhcy9zY2VuZSB3aGVyZSB0aGUgdmlldworICAgICAgICBpcyBkcmF3biwgYW5kIEV3a1ZpZXcg
d2FzIGZpeGVkIHRvIHVzZSBpdCwgaW5zdGVhZCBvZgorICAgICAgICBXS1ZpZXdVc2VyVmlld3Bv
cnRUb0NvbnRlbnRzLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvV0tWaWV3LmNwcDoKKyAgICAgICAgKFdLVmlld1VzZXJWaWV3cG9ydFRvU2NlbmUpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9Db29yZGluYXRlZEdyYXBoaWNzL1dLVmlldy5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwOgorICAgICAgICAoRXdrVmll
dzo6Y3JlYXRlR0xTdXJmYWNlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFw
aGljcy9XZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6dXNlclZpZXdwb3J0
VG9Db250ZW50cyk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3
Ojp1c2VyVmlld3BvcnRUb1NjZW5lKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6dHJhbnNm
b3JtVG9TY2VuZSk6CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2Vi
Vmlldy5oOgorICAgICAgICAoV2ViVmlldyk6CisKKzIwMTMtMDUtMjggIE1hcmNlbG8gTGlyYSAg
PG1hcmNlbG8ubGlyYUBvcGVuYm9zc2Eub3JnPgorCiAgICAgICAgIFtXSzJdW0Nvb3JkaW5hdGVk
R3JhcGhpY3NdIERyYXdpbmdBcmVhJ3MgdmlzaWJsZSBjb250ZW50IGFyZWEgbXVzdCBiZSB1cGRh
dGVkIHdoZW4gY29udGVudHMgc2l6ZSBjaGFuZ2VzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTY4NDUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tWaWV3LmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9Db29yZGluYXRlZEdyYXBoaWNzL1dLVmlldy5jcHAK
aW5kZXggNjBmOWRkNGYwMzkyOTQxNjA4ZWJhZjlkMmI1YjZmYmUxODM4MTUxMC4uYzI0MWRkOTI1
YmJiNjI2ZTdhMDg4YzE1ZjNlNzRjOGM4MmFhNGMwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tWaWV3LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XS1ZpZXcu
Y3BwCkBAIC0xMDYsNiArMTA2LDEyIEBAIFdLUG9pbnQgV0tWaWV3VXNlclZpZXdwb3J0VG9Db250
ZW50cyhXS1ZpZXdSZWYgdmlld1JlZiwgV0tQb2ludCBwb2ludCkKICAgICByZXR1cm4gV0tQb2lu
dE1ha2UocmVzdWx0LngoKSwgcmVzdWx0LnkoKSk7CiB9CiAKK1dLUG9pbnQgV0tWaWV3VXNlclZp
ZXdwb3J0VG9TY2VuZShXS1ZpZXdSZWYgdmlld1JlZiwgV0tQb2ludCBwb2ludCkKK3sKKyAgICBX
ZWJDb3JlOjpJbnRQb2ludCByZXN1bHQgPSB0b0ltcGwodmlld1JlZiktPnVzZXJWaWV3cG9ydFRv
U2NlbmUodG9JbnRQb2ludChwb2ludCkpOworICAgIHJldHVybiBXS1BvaW50TWFrZShyZXN1bHQu
eCgpLCByZXN1bHQueSgpKTsKK30KKwogdm9pZCBXS1ZpZXdQYWludFRvQ3VycmVudEdMQ29udGV4
dChXS1ZpZXdSZWYgdmlld1JlZikKIHsKICAgICB0b0ltcGwodmlld1JlZiktPnBhaW50VG9DdXJy
ZW50R0xDb250ZXh0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XS1ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9Db29yZGluYXRlZEdyYXBoaWNzL1dLVmlldy5oCmluZGV4IGY2ODkyNTRkMjBhN2Nm
ZWJiYjdmMDIwZDRjNWVlMDhmMWI5NWI1M2MuLjliZjk1ZGJlMTZkZTI1NTg5ZjVmODhhN2Y0Njll
NjM0OTE0M2UxNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9D
b29yZGluYXRlZEdyYXBoaWNzL1dLVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9Db29yZGluYXRlZEdyYXBoaWNzL1dLVmlldy5oCkBAIC03OSw2ICs3OSw3IEBAIFdL
X0VYUE9SVCB2b2lkIFdLVmlld1NldENvbnRlbnRQb3NpdGlvbihXS1ZpZXdSZWYsIFdLUG9pbnQp
OwogCiBXS19FWFBPUlQgdm9pZCBXS1ZpZXdTZXRVc2VyVmlld3BvcnRUcmFuc2xhdGlvbihXS1Zp
ZXdSZWYsIGRvdWJsZSB0eCwgZG91YmxlIHR5KTsKIFdLX0VYUE9SVCBXS1BvaW50IFdLVmlld1Vz
ZXJWaWV3cG9ydFRvQ29udGVudHMoV0tWaWV3UmVmLCBXS1BvaW50KTsKK1dLX0VYUE9SVCBXS1Bv
aW50IFdLVmlld1VzZXJWaWV3cG9ydFRvU2NlbmUoV0tWaWV3UmVmLCBXS1BvaW50KTsKIAogV0tf
RVhQT1JUIHZvaWQgV0tWaWV3UGFpbnRUb0N1cnJlbnRHTENvbnRleHQoV0tWaWV3UmVmKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcAppbmRleCAwOWY0
OWE2ODBiNGU4ODZjYzYzZjlhYTI0Zjc5YjY0M2FkNGQzMzFkLi43NjM1YTBmYTVkNTNiYzYwNmI5
NTFjZTBlYzA3NTlmOGE3ZDZkMjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9Fd2tWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9Fd2tWaWV3LmNwcApAQCAtNzc0LDcgKzc3NCw3IEBAIGJvb2wgRXdrVmlldzo6Y3JlYXRl
R0xTdXJmYWNlKCkKIAogICAgIEV2YXNfR0xfQVBJKiBnbCA9IGV2YXNfZ2xfYXBpX2dldChtX2V2
YXNHTC5nZXQoKSk7CiAKLSAgICBjb25zdCBXS1BvaW50JiBib3VuZHNFbmQgPSBXS1ZpZXdVc2Vy
Vmlld3BvcnRUb0NvbnRlbnRzKHdrVmlldygpLCBXS1BvaW50TWFrZShkZXZpY2VTaXplKCkud2lk
dGgoKSwgZGV2aWNlU2l6ZSgpLmhlaWdodCgpKSk7CisgICAgV0tQb2ludCBib3VuZHNFbmQgPSBX
S1ZpZXdVc2VyVmlld3BvcnRUb1NjZW5lKHdrVmlldygpLCBXS1BvaW50TWFrZShkZXZpY2VTaXpl
KCkud2lkdGgoKSwgZGV2aWNlU2l6ZSgpLmhlaWdodCgpKSk7CiAgICAgZ2wtPmdsVmlld3BvcnQo
MCwgMCwgYm91bmRzRW5kLngsIGJvdW5kc0VuZC55KTsKICAgICBnbC0+Z2xDbGVhckNvbG9yKDEu
MCwgMS4wLCAxLjAsIDApOwogICAgIGdsLT5nbENsZWFyKEdMX0NPTE9SX0JVRkZFUl9CSVQpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9XZWJWaWV3LmNwcAppbmRleCA0ZWE0NmNkZWQ5YzNlYzdkMzM3MTdhOGQ3YjI1ZDA3MzA3MWMz
YTQ0Li41N2U2MWZjNmZhNDkxY2VlNDg5YTk1YTAyNzlmZjcyY2MzYjYzNjA4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJW
aWV3LmNwcApAQCAtMTEwLDYgKzExMCwxMSBAQCB2b2lkIFdlYlZpZXc6OnNldFVzZXJWaWV3cG9y
dFRyYW5zbGF0aW9uKGRvdWJsZSB0eCwgZG91YmxlIHR5KQogCiBJbnRQb2ludCBXZWJWaWV3Ojp1
c2VyVmlld3BvcnRUb0NvbnRlbnRzKGNvbnN0IEludFBvaW50JiBwb2ludCkgY29uc3QKIHsKKyAg
ICByZXR1cm4gdHJhbnNmb3JtRnJvbVNjZW5lKCkubWFwUG9pbnQocG9pbnQpOworfQorCitJbnRQ
b2ludCBXZWJWaWV3Ojp1c2VyVmlld3BvcnRUb1NjZW5lKGNvbnN0IFdlYkNvcmU6OkludFBvaW50
JiBwb2ludCkgY29uc3QKK3sKICAgICByZXR1cm4gbV91c2VyVmlld3BvcnRUcmFuc2Zvcm0ubWFw
UG9pbnQocG9pbnQpOwogfQogCkBAIC0yMDIsMTIgKzIwNywxMyBAQCBBZmZpbmVUcmFuc2Zvcm0g
V2ViVmlldzo6dHJhbnNmb3JtRnJvbVNjZW5lKCkgY29uc3QKIAogQWZmaW5lVHJhbnNmb3JtIFdl
YlZpZXc6OnRyYW5zZm9ybVRvU2NlbmUoKSBjb25zdAogewotICAgIFRyYW5zZm9ybWF0aW9uTWF0
cml4IHRyYW5zZm9ybSA9IG1fdXNlclZpZXdwb3J0VHJhbnNmb3JtOworICAgIEZsb2F0UG9pbnQg
cG9zaXRpb24gPSAtbV9jb250ZW50UG9zaXRpb247CisgICAgZmxvYXQgZWZmZWN0aXZlU2NhbGUg
PSBtX2NvbnRlbnRTY2FsZUZhY3RvciAqIG1fcGFnZS0+ZGV2aWNlU2NhbGVGYWN0b3IoKTsKKyAg
ICBwb3NpdGlvbi5zY2FsZShlZmZlY3RpdmVTY2FsZSwgZWZmZWN0aXZlU2NhbGUpOwogCi0gICAg
Y29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24gPSBjb250ZW50UG9zaXRpb24oKTsKLSAgICB0cmFu
c2Zvcm0uc2NhbGUobV9wYWdlLT5kZXZpY2VTY2FsZUZhY3RvcigpKTsKLSAgICB0cmFuc2Zvcm0u
dHJhbnNsYXRlKC1wb3NpdGlvbi54KCksIC1wb3NpdGlvbi55KCkpOwotICAgIHRyYW5zZm9ybS5z
Y2FsZShjb250ZW50U2NhbGVGYWN0b3IoKSk7CisgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggdHJh
bnNmb3JtID0gbV91c2VyVmlld3BvcnRUcmFuc2Zvcm07CisgICAgdHJhbnNmb3JtLnRyYW5zbGF0
ZShwb3NpdGlvbi54KCksIHBvc2l0aW9uLnkoKSk7CisgICAgdHJhbnNmb3JtLnNjYWxlKGVmZmVj
dGl2ZVNjYWxlKTsKIAogICAgIHJldHVybiB0cmFuc2Zvcm0udG9BZmZpbmVUcmFuc2Zvcm0oKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBo
aWNzL1dlYlZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBo
aWNzL1dlYlZpZXcuaAppbmRleCBjNzcxOWNlZjgzYjA5ODYxN2RjMmFhYTQ3NDYwNTJmOTM2N2Jl
Y2NjLi5mOTgyODMyYjg5ODM2ZjdjMWM5NDQ4MWU0MTIzZjE2Yzk1M2VjOTVlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmll
dy5oCkBAIC03MSw2ICs3MSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0VXNlclZpZXdwb3J0
VHJhbnNsYXRpb24oZG91YmxlIHR4LCBkb3VibGUgdHkpOwogICAgIFdlYkNvcmU6OkludFBvaW50
IHVzZXJWaWV3cG9ydFRvQ29udGVudHMoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKSBjb25zdDsK
KyAgICBXZWJDb3JlOjpJbnRQb2ludCB1c2VyVmlld3BvcnRUb1NjZW5lKGNvbnN0IFdlYkNvcmU6
OkludFBvaW50JikgY29uc3Q7CiAKICAgICB2b2lkIHBhaW50VG9DdXJyZW50R0xDb250ZXh0KCk7
CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1
ZTkwNTkwM2UzOGMxOTY4ZTdmMWJkMzVhOTk2MWVmM2RhZWI0OGYyLi4xY2Y5ZjVmNzQwMjJmNzEy
NTkxZjAwYTNiZDZhZmYwZDMyODRjNzExIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTMtMDUtMjggIE1hcmNlbG8g
TGlyYSAgPG1hcmNlbG8ubGlyYUBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIFtXSzJdW0Nvb3Jk
aW5hdGVkR3JhcGhpY3NdW0VGTF0gV0tWaWV3VXNlclZpZXdwb3J0VG9Db250ZW50cygpIGZ1bmN0
aW9uIGRvZXNuJ3QgZG8gd2hhdCBpdCBzYXlzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMTY2ODMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBIGNvb3JkaW5hdGVzIGNvbnZlcnNpb24gdGVzdCBmb3IgV0tW
aWV3VXNlclZpZXdwb3J0VG9Db250ZW50cyB3YXMKKyAgICAgICAgYWRkZWQgdG8gV2ViS2l0MiBB
UEkgdGVzdHMuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1BsYXRmb3JtRWZsLmNtYWtlOgor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9XS1ZpZXdVc2VyVmlld3BvcnRU
b0NvbnRlbnRzLmNwcDogQWRkZWQuCisgICAgICAgIChUZXN0V2ViS2l0QVBJKToKKyAgICAgICAg
KFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDEzLTA1LTI4ICBaYW4gRG9iZXJzZWsgIDx6ZG9i
ZXJzZWtAaWdhbGlhLmNvbT4KIAogICAgICAgICBbd2Via2l0cHldIEV4cGxpY2l0bHkgc3BlY2lm
eSB0aGUgcmVmZXJlbmNlIGZpbGUgZXh0ZW5zaW9ucwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9QbGF0Zm9ybUVmbC5jbWFrZSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1F
ZmwuY21ha2UKaW5kZXggMWVlMDE0Mjg0NzNkMDQxN2NkMmQ1OTkxNjQ1ZTkwNDM3M2NiNGZmZC4u
MTc5MGJlNmQ4MGRmYTIwOGYxYjNlZjEwMDNlZDcwYzY2ZDc2ZDI1OSAxMDA2NDQKLS0tIGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC05Myw2ICs5Myw3IEBAIHNldCh0ZXN0X3dlYmtpdDJf
YXBpX0JJTkFSSUVTCiAgICAgV0tTdHJpbmcKICAgICBXS1N0cmluZ0pTU3RyaW5nCiAgICAgV0tV
UkwKKyAgICBXS1ZpZXdVc2VyVmlld3BvcnRUb0NvbnRlbnRzCiAgICAgV2lsbFNlbmRTdWJtaXRF
dmVudAogICAgIGVmbC9XS1ZpZXdDbGllbnRXZWJQcm9jZXNzQ2FsbGJhY2tzCiApCmRpZmYgLS1n
aXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvV0tWaWV3VXNlclZpZXdwb3J0
VG9Db250ZW50cy5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvV0tWaWV3
VXNlclZpZXdwb3J0VG9Db250ZW50cy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGU4MGY0NDM3YWYzZjU4ZWMz
ODY2N2QwODMyZWVkOTg2YzUwNzVlZAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Mi9XS1ZpZXdVc2VyVmlld3BvcnRUb0NvbnRlbnRzLmNwcApAQCAt
MCwwICsxLDE0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBOb2tpYSBDb3Jwb3JhdGlv
biBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUlMgT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisKKyNpbmNsdWRlICJXZWJLaXQyL1dLVmlldy5oIgorI2luY2x1ZGUgIldlYktpdDIvV0tS
ZXRhaW5QdHIuaCIKKworbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgeworCitURVNUKFdlYktpdDIs
IFdLVmlld1VzZXJWaWV3cG9ydFRvQ29udGVudHMpCit7CisgICAgLy8gVGhpcyB0ZXN0IGNyZWF0
ZXMgYSBXS1ZpZXcgYW5kIHVzZXMgdGhlIFdLVmlld1VzZXJWaWV3cG9ydFRvQ29udGVudHMKKyAg
ICAvLyBmdW5jdGlvbiB0byBjb252ZXJ0IHZpZXdwb3J0IGNvb3JkaW5hdGVzIHRvIGNvbnRlbnRz
IChwYWdlKSBjb29yZGluYXRlcy4KKyAgICAvLyBJdCBzY3JvbGxzIGFuZCBzY2FsZXMgYXJvdW5k
IHRoZSBjb250ZW50cyBhbmQgY2hlY2sgaWYgdGhlIGNvb3JkaW5hdGVzCisgICAgLy8gY29udmVy
c2lvbiBtYXRoIGlzIHJpZ2h0LgorCisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250
ZXh0KEFkb3B0V0ssIFdLQ29udGV4dENyZWF0ZSgpKTsKKyAgICBXS1JldGFpblB0cjxXS1ZpZXdS
ZWY+IHdlYlZpZXcoQWRvcHRXSywgV0tWaWV3Q3JlYXRlKGNvbnRleHQuZ2V0KCksIDApKTsKKwor
ICAgIFdLVmlld0luaXRpYWxpemUod2ViVmlldy5nZXQoKSk7CisgICAgV0tQYWdlU2V0VXNlRml4
ZWRMYXlvdXQoV0tWaWV3R2V0UGFnZSh3ZWJWaWV3LmdldCgpKSwgZmFsc2UpOworCisgICAgV0tQ
b2ludCBvdXQ7CisKKyAgICAvLyBBdCBzY2FsZSAxLjAgdGhlIHZpZXdwb3J0IGFuZCBjb250ZW50
cyBjb29yZGluYXRlcyBzaG91bGQgbWF0Y2guCisKKyAgICBXS1ZpZXdTZXRDb250ZW50U2NhbGVG
YWN0b3Iod2ViVmlldy5nZXQoKSwgMS4wKTsKKyAgICBXS1ZpZXdTZXRDb250ZW50UG9zaXRpb24o
d2ViVmlldy5nZXQoKSwgV0tQb2ludE1ha2UoMCwgMCkpOworCisgICAgb3V0ID0gV0tWaWV3VXNl
clZpZXdwb3J0VG9Db250ZW50cyh3ZWJWaWV3LmdldCgpLCBXS1BvaW50TWFrZSgwLCAwKSk7Cisg
ICAgRVhQRUNUX0VRKG91dC54LCAwKTsKKyAgICBFWFBFQ1RfRVEob3V0LnksIDApOworCisgICAg
b3V0ID0gV0tWaWV3VXNlclZpZXdwb3J0VG9Db250ZW50cyh3ZWJWaWV3LmdldCgpLCBXS1BvaW50
TWFrZSgxMCwgMTApKTsKKyAgICBFWFBFQ1RfRVEob3V0LngsIDEwKTsKKyAgICBFWFBFQ1RfRVEo
b3V0LnksIDEwKTsKKworICAgIFdLVmlld1NldENvbnRlbnRQb3NpdGlvbih3ZWJWaWV3LmdldCgp
LCBXS1BvaW50TWFrZSgyMCwgMjApKTsKKworICAgIG91dCA9IFdLVmlld1VzZXJWaWV3cG9ydFRv
Q29udGVudHMod2ViVmlldy5nZXQoKSwgV0tQb2ludE1ha2UoMCwgMCkpOworICAgIEVYUEVDVF9F
UShvdXQueCwgMjApOworICAgIEVYUEVDVF9FUShvdXQueSwgMjApOworCisgICAgb3V0ID0gV0tW
aWV3VXNlclZpZXdwb3J0VG9Db250ZW50cyh3ZWJWaWV3LmdldCgpLCBXS1BvaW50TWFrZSgxMCwg
MTApKTsKKyAgICBFWFBFQ1RfRVEob3V0LngsIDMwKTsKKyAgICBFWFBFQ1RfRVEob3V0LnksIDMw
KTsKKworICAgIC8vIEF0IHNjYWxlIDIuMCB0aGUgdmlld3BvcnQgZGlzdGFuY2UgdmFsdWVzIHdp
bGwgYmUgaGFsZgorICAgIC8vIHRoZSBvbmVzIHNlZW0gaW4gdGhlIGNvbnRlbnRzLgorCisgICAg
V0tWaWV3U2V0Q29udGVudFNjYWxlRmFjdG9yKHdlYlZpZXcuZ2V0KCksIDIuMCk7CisgICAgV0tW
aWV3U2V0Q29udGVudFBvc2l0aW9uKHdlYlZpZXcuZ2V0KCksIFdLUG9pbnRNYWtlKDAsIDApKTsK
KworICAgIG91dCA9IFdLVmlld1VzZXJWaWV3cG9ydFRvQ29udGVudHMod2ViVmlldy5nZXQoKSwg
V0tQb2ludE1ha2UoMCwgMCkpOworICAgIEVYUEVDVF9FUShvdXQueCwgMCk7CisgICAgRVhQRUNU
X0VRKG91dC55LCAwKTsKKworICAgIG91dCA9IFdLVmlld1VzZXJWaWV3cG9ydFRvQ29udGVudHMo
d2ViVmlldy5nZXQoKSwgV0tQb2ludE1ha2UoMTAsIDEwKSk7CisgICAgRVhQRUNUX0VRKG91dC54
LCA1KTsKKyAgICBFWFBFQ1RfRVEob3V0LnksIDUpOworCisgICAgV0tWaWV3U2V0Q29udGVudFBv
c2l0aW9uKHdlYlZpZXcuZ2V0KCksIFdLUG9pbnRNYWtlKDIwLCAyMCkpOworCisgICAgb3V0ID0g
V0tWaWV3VXNlclZpZXdwb3J0VG9Db250ZW50cyh3ZWJWaWV3LmdldCgpLCBXS1BvaW50TWFrZSgw
LCAwKSk7CisgICAgRVhQRUNUX0VRKG91dC54LCAyMCk7CisgICAgRVhQRUNUX0VRKG91dC55LCAy
MCk7CisKKyAgICBvdXQgPSBXS1ZpZXdVc2VyVmlld3BvcnRUb0NvbnRlbnRzKHdlYlZpZXcuZ2V0
KCksIFdLUG9pbnRNYWtlKDEwLCAxMCkpOworICAgIEVYUEVDVF9FUShvdXQueCwgMjUpOworICAg
IEVYUEVDVF9FUShvdXQueSwgMjUpOworCisgICAgLy8gQXQgc2NhbGUgMC41IHRoZSB2aWV3cG9y
dCBkaXN0YW5jZSB2YWx1ZXMgd2lsbCBiZSB0d2ljZQorICAgIC8vIHRoZSBvbmVzIHNlZW0gaW4g
dGhlIGNvbnRlbnRzLgorCisgICAgV0tWaWV3U2V0Q29udGVudFNjYWxlRmFjdG9yKHdlYlZpZXcu
Z2V0KCksIDAuNSk7CisgICAgV0tWaWV3U2V0Q29udGVudFBvc2l0aW9uKHdlYlZpZXcuZ2V0KCks
IFdLUG9pbnRNYWtlKDAsIDApKTsKKworICAgIG91dCA9IFdLVmlld1VzZXJWaWV3cG9ydFRvQ29u
dGVudHMod2ViVmlldy5nZXQoKSwgV0tQb2ludE1ha2UoMCwgMCkpOworICAgIEVYUEVDVF9FUShv
dXQueCwgMCk7CisgICAgRVhQRUNUX0VRKG91dC55LCAwKTsKKworICAgIG91dCA9IFdLVmlld1Vz
ZXJWaWV3cG9ydFRvQ29udGVudHMod2ViVmlldy5nZXQoKSwgV0tQb2ludE1ha2UoMTAsIDEwKSk7
CisgICAgRVhQRUNUX0VRKG91dC54LCAyMCk7CisgICAgRVhQRUNUX0VRKG91dC55LCAyMCk7CisK
KyAgICBXS1ZpZXdTZXRDb250ZW50UG9zaXRpb24od2ViVmlldy5nZXQoKSwgV0tQb2ludE1ha2Uo
MjAsIDIwKSk7CisKKyAgICBvdXQgPSBXS1ZpZXdVc2VyVmlld3BvcnRUb0NvbnRlbnRzKHdlYlZp
ZXcuZ2V0KCksIFdLUG9pbnRNYWtlKDAsIDApKTsKKyAgICBFWFBFQ1RfRVEob3V0LngsIDIwKTsK
KyAgICBFWFBFQ1RfRVEob3V0LnksIDIwKTsKKworICAgIG91dCA9IFdLVmlld1VzZXJWaWV3cG9y
dFRvQ29udGVudHMod2ViVmlldy5nZXQoKSwgV0tQb2ludE1ha2UoMTAsIDEwKSk7CisgICAgRVhQ
RUNUX0VRKG91dC54LCA0MCk7CisgICAgRVhQRUNUX0VRKG91dC55LCA0MCk7CisKKyAgICAvLyBM
ZXQncyBhZGQgdHJhbnNsYXRpb24gdG8gdGhlIHZpZXdwb3J0LgorCisgICAgY29uc3QgaW50IGRl
bHRhID0gMTA7CisgICAgV0tWaWV3U2V0VXNlclZpZXdwb3J0VHJhbnNsYXRpb24od2ViVmlldy5n
ZXQoKSwgZGVsdGEsIGRlbHRhKTsKKworICAgIFdLVmlld1NldENvbnRlbnRQb3NpdGlvbih3ZWJW
aWV3LmdldCgpLCBXS1BvaW50TWFrZSgwLCAwKSk7CisKKyAgICBvdXQgPSBXS1ZpZXdVc2VyVmll
d3BvcnRUb0NvbnRlbnRzKHdlYlZpZXcuZ2V0KCksIFdLUG9pbnRNYWtlKDAsIDApKTsKKyAgICBF
WFBFQ1RfRVEob3V0LngsIDAgLSBkZWx0YSAvIDAuNSk7CisgICAgRVhQRUNUX0VRKG91dC55LCAw
IC0gZGVsdGEgLyAwLjUpOworCisgICAgb3V0ID0gV0tWaWV3VXNlclZpZXdwb3J0VG9Db250ZW50
cyh3ZWJWaWV3LmdldCgpLCBXS1BvaW50TWFrZSgxMCwgMTApKTsKKyAgICBFWFBFQ1RfRVEob3V0
LngsIDIwIC0gZGVsdGEgLyAwLjUpOworICAgIEVYUEVDVF9FUShvdXQueSwgMjAgLSBkZWx0YSAv
IDAuNSk7CisKKyAgICBXS1ZpZXdTZXRDb250ZW50UG9zaXRpb24od2ViVmlldy5nZXQoKSwgV0tQ
b2ludE1ha2UoMjAsIDIwKSk7CisKKyAgICBvdXQgPSBXS1ZpZXdVc2VyVmlld3BvcnRUb0NvbnRl
bnRzKHdlYlZpZXcuZ2V0KCksIFdLUG9pbnRNYWtlKDAsIDApKTsKKyAgICBFWFBFQ1RfRVEob3V0
LngsIDIwIC0gZGVsdGEgLyAwLjUpOworICAgIEVYUEVDVF9FUShvdXQueSwgMjAgLSBkZWx0YSAv
IDAuNSk7CisKKyAgICBvdXQgPSBXS1ZpZXdVc2VyVmlld3BvcnRUb0NvbnRlbnRzKHdlYlZpZXcu
Z2V0KCksIFdLUG9pbnRNYWtlKDEwLCAxMCkpOworICAgIEVYUEVDVF9FUShvdXQueCwgNDAgLSBk
ZWx0YSAvIDAuNSk7CisgICAgRVhQRUNUX0VRKG91dC55LCA0MCAtIGRlbHRhIC8gMC41KTsKK30K
KworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203060</attachid>
            <date>2013-05-28 09:15:55 -0700</date>
            <delta_ts>2013-05-29 07:34:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-116683-20130528131435.patch</filename>
            <type>text/plain</type>
            <size>13488</size>
            <attacher name="Marcelo Lira">marcelo.lira</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUwODA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNGE2ZDFkNzVjNDc1ZjYz
MzBmYThmOGFkNmMwNzE2MGE1Mzk0Nzk1Yy4uMWI0NzJlMjE5Y2Y1NGZhNWExOGJjODYzM2QyY2Zj
NmJhZTczNWQ4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM0IEBACiAyMDEzLTA1LTI4ICBNYXJj
ZWxvIExpcmEgIDxtYXJjZWxvLmxpcmFAb3BlbmJvc3NhLm9yZz4KIAorICAgICAgICBbV0syXVtD
b29yZGluYXRlZEdyYXBoaWNzXVtFRkxdIFdLVmlld1VzZXJWaWV3cG9ydFRvQ29udGVudHMoKSBm
dW5jdGlvbiBkb2Vzbid0IGRvIHdoYXQgaXQgc2F5cworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE2NjgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgV0tWaWV3VXNlclZpZXdwb3J0VG9Db250ZW50cyBub3cg
Y29udmVydHMgV2ViVmlldyBjb29yZGluYXRlcyB0bworICAgICAgICBwYWdlIGNvbnRlbnRzIGNv
b3JkaW5hdGVzLCB0YWtpbmcgaW50byBhY2NvdW50IGZhY3RvcnMgYXMgY29udGVudAorICAgICAg
ICBzY2FsZSBhbmQgc2Nyb2xsLCBhbmQgYWxzbyBkZXZpY2Ugc2NhbGUuCisKKyAgICAgICAgVGhl
IGZ1bmN0aW9uIFdLVmlld1VzZXJWaWV3cG9ydFRvU2NlbmUgd2FzIGFkZGVkIHRvIGNvbnZlcnQg
V2ViVmlldworICAgICAgICBjb29yZGluYXRlcyB0byB0aGUgY29vcmRpbmF0ZXMgb2YgdGhlIGNh
bnZhcy9zY2VuZSB3aGVyZSB0aGUgdmlldworICAgICAgICBpcyBkcmF3biwgYW5kIEV3a1ZpZXcg
d2FzIGZpeGVkIHRvIHVzZSBpdCwgaW5zdGVhZCBvZgorICAgICAgICBXS1ZpZXdVc2VyVmlld3Bv
cnRUb0NvbnRlbnRzLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvV0tWaWV3LmNwcDoKKyAgICAgICAgKFdLVmlld1VzZXJWaWV3cG9ydFRvU2NlbmUpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9Db29yZGluYXRlZEdyYXBoaWNzL1dLVmlldy5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwOgorICAgICAgICAoRXdrVmll
dzo6Y3JlYXRlR0xTdXJmYWNlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFw
aGljcy9XZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6dXNlclZpZXdwb3J0
VG9Db250ZW50cyk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3
Ojp1c2VyVmlld3BvcnRUb1NjZW5lKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6dHJhbnNm
b3JtVG9TY2VuZSk6CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2Vi
Vmlldy5oOgorICAgICAgICAoV2ViVmlldyk6CisKKzIwMTMtMDUtMjggIE1hcmNlbG8gTGlyYSAg
PG1hcmNlbG8ubGlyYUBvcGVuYm9zc2Eub3JnPgorCiAgICAgICAgIFtXSzJdW0Nvb3JkaW5hdGVk
R3JhcGhpY3NdIERyYXdpbmdBcmVhJ3MgdmlzaWJsZSBjb250ZW50IGFyZWEgbXVzdCBiZSB1cGRh
dGVkIHdoZW4gY29udGVudHMgc2l6ZSBjaGFuZ2VzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTY4NDUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tWaWV3LmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9Db29yZGluYXRlZEdyYXBoaWNzL1dLVmlldy5jcHAK
aW5kZXggNjBmOWRkNGYwMzkyOTQxNjA4ZWJhZjlkMmI1YjZmYmUxODM4MTUxMC4uYzI0MWRkOTI1
YmJiNjI2ZTdhMDg4YzE1ZjNlNzRjOGM4MmFhNGMwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tWaWV3LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XS1ZpZXcu
Y3BwCkBAIC0xMDYsNiArMTA2LDEyIEBAIFdLUG9pbnQgV0tWaWV3VXNlclZpZXdwb3J0VG9Db250
ZW50cyhXS1ZpZXdSZWYgdmlld1JlZiwgV0tQb2ludCBwb2ludCkKICAgICByZXR1cm4gV0tQb2lu
dE1ha2UocmVzdWx0LngoKSwgcmVzdWx0LnkoKSk7CiB9CiAKK1dLUG9pbnQgV0tWaWV3VXNlclZp
ZXdwb3J0VG9TY2VuZShXS1ZpZXdSZWYgdmlld1JlZiwgV0tQb2ludCBwb2ludCkKK3sKKyAgICBX
ZWJDb3JlOjpJbnRQb2ludCByZXN1bHQgPSB0b0ltcGwodmlld1JlZiktPnVzZXJWaWV3cG9ydFRv
U2NlbmUodG9JbnRQb2ludChwb2ludCkpOworICAgIHJldHVybiBXS1BvaW50TWFrZShyZXN1bHQu
eCgpLCByZXN1bHQueSgpKTsKK30KKwogdm9pZCBXS1ZpZXdQYWludFRvQ3VycmVudEdMQ29udGV4
dChXS1ZpZXdSZWYgdmlld1JlZikKIHsKICAgICB0b0ltcGwodmlld1JlZiktPnBhaW50VG9DdXJy
ZW50R0xDb250ZXh0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XS1ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9Db29yZGluYXRlZEdyYXBoaWNzL1dLVmlldy5oCmluZGV4IGY2ODkyNTRkMjBhN2Nm
ZWJiYjdmMDIwZDRjNWVlMDhmMWI5NWI1M2MuLjliZjk1ZGJlMTZkZTI1NTg5ZjVmODhhN2Y0Njll
NjM0OTE0M2UxNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9D
b29yZGluYXRlZEdyYXBoaWNzL1dLVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9Db29yZGluYXRlZEdyYXBoaWNzL1dLVmlldy5oCkBAIC03OSw2ICs3OSw3IEBAIFdL
X0VYUE9SVCB2b2lkIFdLVmlld1NldENvbnRlbnRQb3NpdGlvbihXS1ZpZXdSZWYsIFdLUG9pbnQp
OwogCiBXS19FWFBPUlQgdm9pZCBXS1ZpZXdTZXRVc2VyVmlld3BvcnRUcmFuc2xhdGlvbihXS1Zp
ZXdSZWYsIGRvdWJsZSB0eCwgZG91YmxlIHR5KTsKIFdLX0VYUE9SVCBXS1BvaW50IFdLVmlld1Vz
ZXJWaWV3cG9ydFRvQ29udGVudHMoV0tWaWV3UmVmLCBXS1BvaW50KTsKK1dLX0VYUE9SVCBXS1Bv
aW50IFdLVmlld1VzZXJWaWV3cG9ydFRvU2NlbmUoV0tWaWV3UmVmLCBXS1BvaW50KTsKIAogV0tf
RVhQT1JUIHZvaWQgV0tWaWV3UGFpbnRUb0N1cnJlbnRHTENvbnRleHQoV0tWaWV3UmVmKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcAppbmRleCAwOWY0
OWE2ODBiNGU4ODZjYzYzZjlhYTI0Zjc5YjY0M2FkNGQzMzFkLi43NjM1YTBmYTVkNTNiYzYwNmI5
NTFjZTBlYzA3NTlmOGE3ZDZkMjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9Fd2tWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9Fd2tWaWV3LmNwcApAQCAtNzc0LDcgKzc3NCw3IEBAIGJvb2wgRXdrVmlldzo6Y3JlYXRl
R0xTdXJmYWNlKCkKIAogICAgIEV2YXNfR0xfQVBJKiBnbCA9IGV2YXNfZ2xfYXBpX2dldChtX2V2
YXNHTC5nZXQoKSk7CiAKLSAgICBjb25zdCBXS1BvaW50JiBib3VuZHNFbmQgPSBXS1ZpZXdVc2Vy
Vmlld3BvcnRUb0NvbnRlbnRzKHdrVmlldygpLCBXS1BvaW50TWFrZShkZXZpY2VTaXplKCkud2lk
dGgoKSwgZGV2aWNlU2l6ZSgpLmhlaWdodCgpKSk7CisgICAgV0tQb2ludCBib3VuZHNFbmQgPSBX
S1ZpZXdVc2VyVmlld3BvcnRUb1NjZW5lKHdrVmlldygpLCBXS1BvaW50TWFrZShkZXZpY2VTaXpl
KCkud2lkdGgoKSwgZGV2aWNlU2l6ZSgpLmhlaWdodCgpKSk7CiAgICAgZ2wtPmdsVmlld3BvcnQo
MCwgMCwgYm91bmRzRW5kLngsIGJvdW5kc0VuZC55KTsKICAgICBnbC0+Z2xDbGVhckNvbG9yKDEu
MCwgMS4wLCAxLjAsIDApOwogICAgIGdsLT5nbENsZWFyKEdMX0NPTE9SX0JVRkZFUl9CSVQpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9XZWJWaWV3LmNwcAppbmRleCA0ZWE0NmNkZWQ5YzNlYzdkMzM3MTdhOGQ3YjI1ZDA3MzA3MWMz
YTQ0Li41N2U2MWZjNmZhNDkxY2VlNDg5YTk1YTAyNzlmZjcyY2MzYjYzNjA4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJW
aWV3LmNwcApAQCAtMTEwLDYgKzExMCwxMSBAQCB2b2lkIFdlYlZpZXc6OnNldFVzZXJWaWV3cG9y
dFRyYW5zbGF0aW9uKGRvdWJsZSB0eCwgZG91YmxlIHR5KQogCiBJbnRQb2ludCBXZWJWaWV3Ojp1
c2VyVmlld3BvcnRUb0NvbnRlbnRzKGNvbnN0IEludFBvaW50JiBwb2ludCkgY29uc3QKIHsKKyAg
ICByZXR1cm4gdHJhbnNmb3JtRnJvbVNjZW5lKCkubWFwUG9pbnQocG9pbnQpOworfQorCitJbnRQ
b2ludCBXZWJWaWV3Ojp1c2VyVmlld3BvcnRUb1NjZW5lKGNvbnN0IFdlYkNvcmU6OkludFBvaW50
JiBwb2ludCkgY29uc3QKK3sKICAgICByZXR1cm4gbV91c2VyVmlld3BvcnRUcmFuc2Zvcm0ubWFw
UG9pbnQocG9pbnQpOwogfQogCkBAIC0yMDIsMTIgKzIwNywxMyBAQCBBZmZpbmVUcmFuc2Zvcm0g
V2ViVmlldzo6dHJhbnNmb3JtRnJvbVNjZW5lKCkgY29uc3QKIAogQWZmaW5lVHJhbnNmb3JtIFdl
YlZpZXc6OnRyYW5zZm9ybVRvU2NlbmUoKSBjb25zdAogewotICAgIFRyYW5zZm9ybWF0aW9uTWF0
cml4IHRyYW5zZm9ybSA9IG1fdXNlclZpZXdwb3J0VHJhbnNmb3JtOworICAgIEZsb2F0UG9pbnQg
cG9zaXRpb24gPSAtbV9jb250ZW50UG9zaXRpb247CisgICAgZmxvYXQgZWZmZWN0aXZlU2NhbGUg
PSBtX2NvbnRlbnRTY2FsZUZhY3RvciAqIG1fcGFnZS0+ZGV2aWNlU2NhbGVGYWN0b3IoKTsKKyAg
ICBwb3NpdGlvbi5zY2FsZShlZmZlY3RpdmVTY2FsZSwgZWZmZWN0aXZlU2NhbGUpOwogCi0gICAg
Y29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24gPSBjb250ZW50UG9zaXRpb24oKTsKLSAgICB0cmFu
c2Zvcm0uc2NhbGUobV9wYWdlLT5kZXZpY2VTY2FsZUZhY3RvcigpKTsKLSAgICB0cmFuc2Zvcm0u
dHJhbnNsYXRlKC1wb3NpdGlvbi54KCksIC1wb3NpdGlvbi55KCkpOwotICAgIHRyYW5zZm9ybS5z
Y2FsZShjb250ZW50U2NhbGVGYWN0b3IoKSk7CisgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggdHJh
bnNmb3JtID0gbV91c2VyVmlld3BvcnRUcmFuc2Zvcm07CisgICAgdHJhbnNmb3JtLnRyYW5zbGF0
ZShwb3NpdGlvbi54KCksIHBvc2l0aW9uLnkoKSk7CisgICAgdHJhbnNmb3JtLnNjYWxlKGVmZmVj
dGl2ZVNjYWxlKTsKIAogICAgIHJldHVybiB0cmFuc2Zvcm0udG9BZmZpbmVUcmFuc2Zvcm0oKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBo
aWNzL1dlYlZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBo
aWNzL1dlYlZpZXcuaAppbmRleCBjNzcxOWNlZjgzYjA5ODYxN2RjMmFhYTQ3NDYwNTJmOTM2N2Jl
Y2NjLi5mOTgyODMyYjg5ODM2ZjdjMWM5NDQ4MWU0MTIzZjE2Yzk1M2VjOTVlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmll
dy5oCkBAIC03MSw2ICs3MSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0VXNlclZpZXdwb3J0
VHJhbnNsYXRpb24oZG91YmxlIHR4LCBkb3VibGUgdHkpOwogICAgIFdlYkNvcmU6OkludFBvaW50
IHVzZXJWaWV3cG9ydFRvQ29udGVudHMoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKSBjb25zdDsK
KyAgICBXZWJDb3JlOjpJbnRQb2ludCB1c2VyVmlld3BvcnRUb1NjZW5lKGNvbnN0IFdlYkNvcmU6
OkludFBvaW50JikgY29uc3Q7CiAKICAgICB2b2lkIHBhaW50VG9DdXJyZW50R0xDb250ZXh0KCk7
CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1
ZTkwNTkwM2UzOGMxOTY4ZTdmMWJkMzVhOTk2MWVmM2RhZWI0OGYyLi5hYWEwMGExZGVhOWQwNzQ2
Yjg4MDE3NGI2OGY5YjY0ODRlODE5NTA1IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTMtMDUtMjggIE1hcmNlbG8g
TGlyYSAgPG1hcmNlbG8ubGlyYUBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIFtXSzJdW0Nvb3Jk
aW5hdGVkR3JhcGhpY3NdW0VGTF0gV0tWaWV3VXNlclZpZXdwb3J0VG9Db250ZW50cygpIGZ1bmN0
aW9uIGRvZXNuJ3QgZG8gd2hhdCBpdCBzYXlzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMTY2ODMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBIGNvb3JkaW5hdGVzIGNvbnZlcnNpb24gdGVzdCBmb3IgV0tW
aWV3VXNlclZpZXdwb3J0VG9Db250ZW50cyB3YXMKKyAgICAgICAgYWRkZWQgdG8gV2ViS2l0MiBB
UEkgdGVzdHMuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1BsYXRmb3JtRWZsLmNtYWtlOgor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9Db29yZGluYXRlZEdyYXBoaWNz
L1dLVmlld1VzZXJWaWV3cG9ydFRvQ29udGVudHMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFRlc3RX
ZWJLaXRBUEkpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMTMtMDUtMjgg
IFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFt3ZWJraXRw
eV0gRXhwbGljaXRseSBzcGVjaWZ5IHRoZSByZWZlcmVuY2UgZmlsZSBleHRlbnNpb25zCmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtRWZsLmNtYWtlIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCAxZWUwMTQyODQ3M2QwNDE3Y2QyZDU5
OTE2NDVlOTA0MzczY2I0ZmZkLi44NzBkYzFiNDAwNzljYmQ2OTBjYWJlNzY2ZGM0MDk1OTEwYWFm
YjBiIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtRWZsLmNtYWtlCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTk0LDYgKzk0LDcg
QEAgc2V0KHRlc3Rfd2Via2l0Ml9hcGlfQklOQVJJRVMKICAgICBXS1N0cmluZ0pTU3RyaW5nCiAg
ICAgV0tVUkwKICAgICBXaWxsU2VuZFN1Ym1pdEV2ZW50CisgICAgQ29vcmRpbmF0ZWRHcmFwaGlj
cy9XS1ZpZXdVc2VyVmlld3BvcnRUb0NvbnRlbnRzCiAgICAgZWZsL1dLVmlld0NsaWVudFdlYlBy
b2Nlc3NDYWxsYmFja3MKICkKIApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQyL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tWaWV3VXNlclZpZXdwb3J0VG9Db250ZW50
cy5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvQ29vcmRpbmF0ZWRHcmFw
aGljcy9XS1ZpZXdVc2VyVmlld3BvcnRUb0NvbnRlbnRzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZTgwZjQ0
MzdhZjNmNThlYzM4NjY3ZDA4MzJlZWQ5ODZjNTA3NWVkCi0tLSAvZGV2L251bGwKKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tWaWV3
VXNlclZpZXdwb3J0VG9Db250ZW50cy5jcHAKQEAgLTAsMCArMSwxNDUgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTMgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1p
ZXMpLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBIT0xERVJTIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSAiV2ViS2l0Mi9X
S1ZpZXcuaCIKKyNpbmNsdWRlICJXZWJLaXQyL1dLUmV0YWluUHRyLmgiCisKK25hbWVzcGFjZSBU
ZXN0V2ViS2l0QVBJIHsKKworVEVTVChXZWJLaXQyLCBXS1ZpZXdVc2VyVmlld3BvcnRUb0NvbnRl
bnRzKQoreworICAgIC8vIFRoaXMgdGVzdCBjcmVhdGVzIGEgV0tWaWV3IGFuZCB1c2VzIHRoZSBX
S1ZpZXdVc2VyVmlld3BvcnRUb0NvbnRlbnRzCisgICAgLy8gZnVuY3Rpb24gdG8gY29udmVydCB2
aWV3cG9ydCBjb29yZGluYXRlcyB0byBjb250ZW50cyAocGFnZSkgY29vcmRpbmF0ZXMuCisgICAg
Ly8gSXQgc2Nyb2xscyBhbmQgc2NhbGVzIGFyb3VuZCB0aGUgY29udGVudHMgYW5kIGNoZWNrIGlm
IHRoZSBjb29yZGluYXRlcworICAgIC8vIGNvbnZlcnNpb24gbWF0aCBpcyByaWdodC4KKworICAg
IFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dChBZG9wdFdLLCBXS0NvbnRleHRDcmVh
dGUoKSk7CisgICAgV0tSZXRhaW5QdHI8V0tWaWV3UmVmPiB3ZWJWaWV3KEFkb3B0V0ssIFdLVmll
d0NyZWF0ZShjb250ZXh0LmdldCgpLCAwKSk7CisKKyAgICBXS1ZpZXdJbml0aWFsaXplKHdlYlZp
ZXcuZ2V0KCkpOworICAgIFdLUGFnZVNldFVzZUZpeGVkTGF5b3V0KFdLVmlld0dldFBhZ2Uod2Vi
Vmlldy5nZXQoKSksIGZhbHNlKTsKKworICAgIFdLUG9pbnQgb3V0OworCisgICAgLy8gQXQgc2Nh
bGUgMS4wIHRoZSB2aWV3cG9ydCBhbmQgY29udGVudHMgY29vcmRpbmF0ZXMgc2hvdWxkIG1hdGNo
LgorCisgICAgV0tWaWV3U2V0Q29udGVudFNjYWxlRmFjdG9yKHdlYlZpZXcuZ2V0KCksIDEuMCk7
CisgICAgV0tWaWV3U2V0Q29udGVudFBvc2l0aW9uKHdlYlZpZXcuZ2V0KCksIFdLUG9pbnRNYWtl
KDAsIDApKTsKKworICAgIG91dCA9IFdLVmlld1VzZXJWaWV3cG9ydFRvQ29udGVudHMod2ViVmll
dy5nZXQoKSwgV0tQb2ludE1ha2UoMCwgMCkpOworICAgIEVYUEVDVF9FUShvdXQueCwgMCk7Cisg
ICAgRVhQRUNUX0VRKG91dC55LCAwKTsKKworICAgIG91dCA9IFdLVmlld1VzZXJWaWV3cG9ydFRv
Q29udGVudHMod2ViVmlldy5nZXQoKSwgV0tQb2ludE1ha2UoMTAsIDEwKSk7CisgICAgRVhQRUNU
X0VRKG91dC54LCAxMCk7CisgICAgRVhQRUNUX0VRKG91dC55LCAxMCk7CisKKyAgICBXS1ZpZXdT
ZXRDb250ZW50UG9zaXRpb24od2ViVmlldy5nZXQoKSwgV0tQb2ludE1ha2UoMjAsIDIwKSk7CisK
KyAgICBvdXQgPSBXS1ZpZXdVc2VyVmlld3BvcnRUb0NvbnRlbnRzKHdlYlZpZXcuZ2V0KCksIFdL
UG9pbnRNYWtlKDAsIDApKTsKKyAgICBFWFBFQ1RfRVEob3V0LngsIDIwKTsKKyAgICBFWFBFQ1Rf
RVEob3V0LnksIDIwKTsKKworICAgIG91dCA9IFdLVmlld1VzZXJWaWV3cG9ydFRvQ29udGVudHMo
d2ViVmlldy5nZXQoKSwgV0tQb2ludE1ha2UoMTAsIDEwKSk7CisgICAgRVhQRUNUX0VRKG91dC54
LCAzMCk7CisgICAgRVhQRUNUX0VRKG91dC55LCAzMCk7CisKKyAgICAvLyBBdCBzY2FsZSAyLjAg
dGhlIHZpZXdwb3J0IGRpc3RhbmNlIHZhbHVlcyB3aWxsIGJlIGhhbGYKKyAgICAvLyB0aGUgb25l
cyBzZWVtIGluIHRoZSBjb250ZW50cy4KKworICAgIFdLVmlld1NldENvbnRlbnRTY2FsZUZhY3Rv
cih3ZWJWaWV3LmdldCgpLCAyLjApOworICAgIFdLVmlld1NldENvbnRlbnRQb3NpdGlvbih3ZWJW
aWV3LmdldCgpLCBXS1BvaW50TWFrZSgwLCAwKSk7CisKKyAgICBvdXQgPSBXS1ZpZXdVc2VyVmll
d3BvcnRUb0NvbnRlbnRzKHdlYlZpZXcuZ2V0KCksIFdLUG9pbnRNYWtlKDAsIDApKTsKKyAgICBF
WFBFQ1RfRVEob3V0LngsIDApOworICAgIEVYUEVDVF9FUShvdXQueSwgMCk7CisKKyAgICBvdXQg
PSBXS1ZpZXdVc2VyVmlld3BvcnRUb0NvbnRlbnRzKHdlYlZpZXcuZ2V0KCksIFdLUG9pbnRNYWtl
KDEwLCAxMCkpOworICAgIEVYUEVDVF9FUShvdXQueCwgNSk7CisgICAgRVhQRUNUX0VRKG91dC55
LCA1KTsKKworICAgIFdLVmlld1NldENvbnRlbnRQb3NpdGlvbih3ZWJWaWV3LmdldCgpLCBXS1Bv
aW50TWFrZSgyMCwgMjApKTsKKworICAgIG91dCA9IFdLVmlld1VzZXJWaWV3cG9ydFRvQ29udGVu
dHMod2ViVmlldy5nZXQoKSwgV0tQb2ludE1ha2UoMCwgMCkpOworICAgIEVYUEVDVF9FUShvdXQu
eCwgMjApOworICAgIEVYUEVDVF9FUShvdXQueSwgMjApOworCisgICAgb3V0ID0gV0tWaWV3VXNl
clZpZXdwb3J0VG9Db250ZW50cyh3ZWJWaWV3LmdldCgpLCBXS1BvaW50TWFrZSgxMCwgMTApKTsK
KyAgICBFWFBFQ1RfRVEob3V0LngsIDI1KTsKKyAgICBFWFBFQ1RfRVEob3V0LnksIDI1KTsKKwor
ICAgIC8vIEF0IHNjYWxlIDAuNSB0aGUgdmlld3BvcnQgZGlzdGFuY2UgdmFsdWVzIHdpbGwgYmUg
dHdpY2UKKyAgICAvLyB0aGUgb25lcyBzZWVtIGluIHRoZSBjb250ZW50cy4KKworICAgIFdLVmll
d1NldENvbnRlbnRTY2FsZUZhY3Rvcih3ZWJWaWV3LmdldCgpLCAwLjUpOworICAgIFdLVmlld1Nl
dENvbnRlbnRQb3NpdGlvbih3ZWJWaWV3LmdldCgpLCBXS1BvaW50TWFrZSgwLCAwKSk7CisKKyAg
ICBvdXQgPSBXS1ZpZXdVc2VyVmlld3BvcnRUb0NvbnRlbnRzKHdlYlZpZXcuZ2V0KCksIFdLUG9p
bnRNYWtlKDAsIDApKTsKKyAgICBFWFBFQ1RfRVEob3V0LngsIDApOworICAgIEVYUEVDVF9FUShv
dXQueSwgMCk7CisKKyAgICBvdXQgPSBXS1ZpZXdVc2VyVmlld3BvcnRUb0NvbnRlbnRzKHdlYlZp
ZXcuZ2V0KCksIFdLUG9pbnRNYWtlKDEwLCAxMCkpOworICAgIEVYUEVDVF9FUShvdXQueCwgMjAp
OworICAgIEVYUEVDVF9FUShvdXQueSwgMjApOworCisgICAgV0tWaWV3U2V0Q29udGVudFBvc2l0
aW9uKHdlYlZpZXcuZ2V0KCksIFdLUG9pbnRNYWtlKDIwLCAyMCkpOworCisgICAgb3V0ID0gV0tW
aWV3VXNlclZpZXdwb3J0VG9Db250ZW50cyh3ZWJWaWV3LmdldCgpLCBXS1BvaW50TWFrZSgwLCAw
KSk7CisgICAgRVhQRUNUX0VRKG91dC54LCAyMCk7CisgICAgRVhQRUNUX0VRKG91dC55LCAyMCk7
CisKKyAgICBvdXQgPSBXS1ZpZXdVc2VyVmlld3BvcnRUb0NvbnRlbnRzKHdlYlZpZXcuZ2V0KCks
IFdLUG9pbnRNYWtlKDEwLCAxMCkpOworICAgIEVYUEVDVF9FUShvdXQueCwgNDApOworICAgIEVY
UEVDVF9FUShvdXQueSwgNDApOworCisgICAgLy8gTGV0J3MgYWRkIHRyYW5zbGF0aW9uIHRvIHRo
ZSB2aWV3cG9ydC4KKworICAgIGNvbnN0IGludCBkZWx0YSA9IDEwOworICAgIFdLVmlld1NldFVz
ZXJWaWV3cG9ydFRyYW5zbGF0aW9uKHdlYlZpZXcuZ2V0KCksIGRlbHRhLCBkZWx0YSk7CisKKyAg
ICBXS1ZpZXdTZXRDb250ZW50UG9zaXRpb24od2ViVmlldy5nZXQoKSwgV0tQb2ludE1ha2UoMCwg
MCkpOworCisgICAgb3V0ID0gV0tWaWV3VXNlclZpZXdwb3J0VG9Db250ZW50cyh3ZWJWaWV3Lmdl
dCgpLCBXS1BvaW50TWFrZSgwLCAwKSk7CisgICAgRVhQRUNUX0VRKG91dC54LCAwIC0gZGVsdGEg
LyAwLjUpOworICAgIEVYUEVDVF9FUShvdXQueSwgMCAtIGRlbHRhIC8gMC41KTsKKworICAgIG91
dCA9IFdLVmlld1VzZXJWaWV3cG9ydFRvQ29udGVudHMod2ViVmlldy5nZXQoKSwgV0tQb2ludE1h
a2UoMTAsIDEwKSk7CisgICAgRVhQRUNUX0VRKG91dC54LCAyMCAtIGRlbHRhIC8gMC41KTsKKyAg
ICBFWFBFQ1RfRVEob3V0LnksIDIwIC0gZGVsdGEgLyAwLjUpOworCisgICAgV0tWaWV3U2V0Q29u
dGVudFBvc2l0aW9uKHdlYlZpZXcuZ2V0KCksIFdLUG9pbnRNYWtlKDIwLCAyMCkpOworCisgICAg
b3V0ID0gV0tWaWV3VXNlclZpZXdwb3J0VG9Db250ZW50cyh3ZWJWaWV3LmdldCgpLCBXS1BvaW50
TWFrZSgwLCAwKSk7CisgICAgRVhQRUNUX0VRKG91dC54LCAyMCAtIGRlbHRhIC8gMC41KTsKKyAg
ICBFWFBFQ1RfRVEob3V0LnksIDIwIC0gZGVsdGEgLyAwLjUpOworCisgICAgb3V0ID0gV0tWaWV3
VXNlclZpZXdwb3J0VG9Db250ZW50cyh3ZWJWaWV3LmdldCgpLCBXS1BvaW50TWFrZSgxMCwgMTAp
KTsKKyAgICBFWFBFQ1RfRVEob3V0LngsIDQwIC0gZGVsdGEgLyAwLjUpOworICAgIEVYUEVDVF9F
UShvdXQueSwgNDAgLSBkZWx0YSAvIDAuNSk7Cit9CisKK30K
</data>

          </attachment>
      

    </bug>

</bugzilla>