<?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>110967</bug_id>
          
          <creation_ts>2013-02-27 04:01:05 -0800</creation_ts>
          <short_desc>Add calendar header for new calendar picker</short_desc>
          <delta_ts>2013-02-28 05:08:03 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</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>
          
          <blocked>109439</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Keishi Hattori">keishi</reporter>
          <assigned_to name="Keishi Hattori">keishi</assigned_to>
          <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>842915</commentid>
    <comment_count>0</comment_count>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2013-02-27 04:01:05 -0800</bug_when>
    <thetext>Add calendar header for new calendar picker</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842930</commentid>
    <comment_count>1</comment_count>
      <attachid>190490</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2013-02-27 04:14:06 -0800</bug_when>
    <thetext>Created attachment 190490
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843005</commentid>
    <comment_count>2</comment_count>
      <attachid>190490</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2013-02-27 06:30:41 -0800</bug_when>
    <thetext>Comment on attachment 190490
Patch

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

&gt; Source/WebCore/Resources/pagepopups/calendarPicker.js:1925
&gt; +/**
&gt; + * @return {!boolean}
&gt; + */
&gt; +MonthPopupButton.prototype._shouldUseShortMonth = function(maxWidth) {

Need @param for maxWidth.

&gt; Source/WebCore/Resources/pagepopups/calendarPicker.js:1974
&gt; +CalendarNavigationButton.DefaultrepeatingClicksStartingThreshold = 600;
&gt; +CalendarNavigationButton.DefaultRepeatingClicksInterval = 300;

Ideally, these values should be synchronized with RenderTheme::initialAutoscrollTimerDelay and autoscrollTimerDelay.
You might want to change so later.

&gt; Source/WebCore/Resources/pagepopups/calendarPicker.js:2096
&gt; +        this.calendarPicker.setCurrentMonth(this.calendarPicker.currentMonth().previous(), true);
&gt; +    else if (sender === this._nextMonthButton)
&gt; +        this.calendarPicker.setCurrentMonth(this.calendarPicker.currentMonth().next(), true);

boolean argument isn&apos;t good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843991</commentid>
    <comment_count>3</comment_count>
      <attachid>190704</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2013-02-28 04:43:29 -0800</bug_when>
    <thetext>Created attachment 190704
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844003</commentid>
    <comment_count>4</comment_count>
      <attachid>190704</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-28 05:07:53 -0800</bug_when>
    <thetext>Comment on attachment 190704
Patch

Clearing flags on attachment: 190704

Committed r144298: &lt;http://trac.webkit.org/changeset/144298&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844004</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-28 05:08:03 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190490</attachid>
            <date>2013-02-27 04:14:06 -0800</date>
            <delta_ts>2013-02-28 04:43:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110967-20130227211019.patch</filename>
            <type>text/plain</type>
            <size>12193</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0MTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjAxZGVlODcyYjc0NDFk
NmRhYjY0MjU5YTM5NzZlMjRhYjdhMjFlNC4uYTAxZWIzYzViNmZhM2FjN2E4MzlkZTFkZjZkMjdl
ODg5NDc5YTQ1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEzLTAyLTI3ICBLZWlz
aGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBjYWxlbmRhciBo
ZWFkZXIgZm9yIG5ldyBjYWxlbmRhciBwaWNrZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDk2NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoZSBjYWxlbmRhciBoZWFkZXIgc2hvd2luZyB0aGUgY3Vy
cmVudCBtb250aCBhbmQgY29udGFpbmluZyBuYXZpZ2F0aW9uCisgICAgICAgIGJ1dHRvbnMsIHdo
aWNoIHdpbGwgYmUgcGFydCBvZiB0aGUgbmV3IGNhbGVuZGFyIHBpY2tlciAoQnVnIDEwOTQzOSku
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBDb2RlIGlzIG5vdCB5ZXQgdXNlZC4KKworICAgICAg
ICAqIFJlc291cmNlcy9wYWdlcG9wdXBzL2NhbGVuZGFyUGlja2VyLmpzOgorICAgICAgICAoTW9u
dGhQb3B1cEJ1dHRvbik6IEJ1dHRvbiB0aGF0IG9wZW5zIHRoZSBtb250aCBwb3B1cC4KKyAgICAg
ICAgKE1vbnRoUG9wdXBCdXR0b24ucHJvdG90eXBlLl9zaG91bGRVc2VTaG9ydE1vbnRoKTogUmV0
dXJucyB0cnVlIGlmIHdlIHNob3VsZCB1c2UgdGhlIHNob3J0IG1vbnRoIGZvcm1hdCBpbiBvcmRl
ciB0byBmaXQgaW4gdGhlIGF2YWlsYWJsZSB3aWR0aC4KKyAgICAgICAgKE1vbnRoUG9wdXBCdXR0
b24ucHJvdG90eXBlLnNldEN1cnJlbnRNb250aCk6IFNldHMgdGhlIG1vbnRoIHRvIHRoZSBidXR0
b24gbGFiZWwuCisgICAgICAgIChNb250aFBvcHVwQnV0dG9uLnByb3RvdHlwZS5vbkNsaWNrKTog
RGlzcGF0Y2hlcyBidXR0b25DbGljayBldmVudCB3aGljaCB3aWxsIHRlbGwgdGhlIGNhbGVuZGFy
IHBpY2tlciB0byBvcGVuIHRoZSBtb250aCBwb3B1cC4KKyAgICAgICAgKENhbGVuZGFyTmF2aWdh
dGlvbkJ1dHRvbik6IEEgc3F1YXJlIGJ1dHRvbiB0aGF0IGZpcmVzIHJlcGVhdGVkbHkgd2hpbGUg
dGhlIG1vdXNlIGlzIHByZXNzZWQgZG93bi4KKyAgICAgICAgKENhbGVuZGFyTmF2aWdhdGlvbkJ1
dHRvbi5wcm90b3R5cGUuc2V0RGlzYWJsZWQpOgorICAgICAgICAoQ2FsZW5kYXJOYXZpZ2F0aW9u
QnV0dG9uLnByb3RvdHlwZS5vbkNsaWNrKToKKyAgICAgICAgKENhbGVuZGFyTmF2aWdhdGlvbkJ1
dHRvbi5wcm90b3R5cGUub25Nb3VzZURvd24pOiBTZXRzIHRoZSB0aW1lciB0byBmaXJlIHdoaWxl
IHRoZSBtb3VzZSBpcyBwcmVzc2VkIGRvd24uCisgICAgICAgIChDYWxlbmRhck5hdmlnYXRpb25C
dXR0b24ucHJvdG90eXBlLm9uV2luZG93TW91c2VVcCk6CisgICAgICAgIChDYWxlbmRhck5hdmln
YXRpb25CdXR0b24ucHJvdG90eXBlLm9uUmVwZWF0aW5nQ2xpY2spOgorICAgICAgICAoQ2FsZW5k
YXJIZWFkZXJWaWV3KTogVmlldyBjb250YWluaW5nIG1vbnRoIHBvcHVwIGJ1dHRvbiBhbmQgdGhl
IG5hdmlnYXRpb24gYnV0dG9ucy4KKyAgICAgICAgKENhbGVuZGFySGVhZGVyVmlldy5wcm90b3R5
cGUub25DdXJyZW50TW9udGhDaGFuZ2VkKTogU2V0cyB0aGUgTW9udGhQb3B1cEJ1dHRvbiBsYWJl
bCBhbmQgY2hlY2tzIGlmIHRoZSBuYXZpZ2F0aW9uIGJ1dHRvbnMgc2hvdWxkIGJlIGRpc2FibGVk
LgorICAgICAgICAoQ2FsZW5kYXJIZWFkZXJWaWV3LnByb3RvdHlwZS5vbk5hdmlnYXRpb25CdXR0
b25DbGljayk6CisgICAgICAgIChDYWxlbmRhckhlYWRlclZpZXcucHJvdG90eXBlLnNldERpc2Fi
bGVkKTogVXNlZCB0byBkaXNhYmxlIGFsbCB0aGUgYnV0dG9ucyB3aGlsZSB0aGUgbW9udGggcG9w
dXAgaXMgb3Blbi4KKwogMjAxMy0wMi0yNyAgRXVnZW5lIEtseXVjaG5pa292ICA8ZXVzdGFzQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiB0aW1lbGluZSBzdG9wcyB3b3Jr
aW5nIG9uIGNlcnRhaW4gc2l0ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1Jlc291cmNl
cy9wYWdlcG9wdXBzL2NhbGVuZGFyUGlja2VyLmpzIGIvU291cmNlL1dlYkNvcmUvUmVzb3VyY2Vz
L3BhZ2Vwb3B1cHMvY2FsZW5kYXJQaWNrZXIuanMKaW5kZXggMzkzMTNiZjlkYzc1ZDdjY2MyOWI3
Y2NmZWI5N2NhMTU1NzQ5NWY5YS4uNDMyMGVhZjVjNDhiN2ViNThjOTIxNDBiN2EzN2JjZTBmZmM4
ZDg2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUmVzb3VyY2VzL3BhZ2Vwb3B1cHMvY2Fs
ZW5kYXJQaWNrZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvUmVzb3VyY2VzL3BhZ2Vwb3B1cHMv
Y2FsZW5kYXJQaWNrZXIuanMKQEAgLTE4ODEsNiArMTg4MSwyMzcgQEAgU2NydWJieVNjcm9sbEJh
ci5wcm90b3R5cGUub25TY3JvbGxUaW1lciA9IGZ1bmN0aW9uKCkgewogCiAvKioKICAqIEBjb25z
dHJ1Y3RvcgorICogQGV4dGVuZHMgVmlldworICogQHBhcmFtIHshbnVtYmVyfSBtYXhXaWR0aCBN
YXhpbXVtIHdpZHRoIGluIHBpeGVscy4KKyAqLworZnVuY3Rpb24gTW9udGhQb3B1cEJ1dHRvbiht
YXhXaWR0aCkgeworICAgIFZpZXcuY2FsbCh0aGlzLCBjcmVhdGVFbGVtZW50KCJidXR0b24iLCBN
b250aFBvcHVwQnV0dG9uLkNsYXNzTmFtZU1vbnRoUG9wdXBCdXR0b24pKTsKKworICAgIC8qKgor
ICAgICAqIEB0eXBlIHshRWxlbWVudH0KKyAgICAgKiBAY29uc3QKKyAgICAgKi8KKyAgICB0aGlz
LmxhYmVsRWxlbWVudCA9IGNyZWF0ZUVsZW1lbnQoInNwYW4iLCBNb250aFBvcHVwQnV0dG9uLkNs
YXNzTmFtZU1vbnRoUG9wdXBCdXR0b25MYWJlbCwgIi0tLS0tIik7CisgICAgdGhpcy5lbGVtZW50
LmFwcGVuZENoaWxkKHRoaXMubGFiZWxFbGVtZW50KTsKKworICAgIC8qKgorICAgICAqIEB0eXBl
IHshRWxlbWVudH0KKyAgICAgKiBAY29uc3QKKyAgICAgKi8KKyAgICB0aGlzLmRpc2Nsb3N1cmVU
cmlhbmdsZUljb24gPSBjcmVhdGVFbGVtZW50KCJzcGFuIiwgTW9udGhQb3B1cEJ1dHRvbi5DbGFz
c05hbWVEaXNjbG9zdXJlVHJpYW5nbGUpOworICAgIHRoaXMuZGlzY2xvc3VyZVRyaWFuZ2xlSWNv
bi5pbm5lckhUTUwgPSAiPHN2ZyB3aWR0aD0nNycgaGVpZ2h0PSc1Jz48cG9seWdvbiBwb2ludHM9
JzAsMSA3LDEgMy41LDUnIHN0eWxlPSdmaWxsOiMwMDAwMDA7JyAvPjwvc3ZnPiI7CisgICAgdGhp
cy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuZGlzY2xvc3VyZVRyaWFuZ2xlSWNvbik7CisKKyAg
ICAvKioKKyAgICAgKiBAdHlwZSB7IWJvb2xlYW59CisgICAgICogQHByb3RlY3RlZAorICAgICAq
LworICAgIHRoaXMuX3VzZVNob3J0TW9udGggPSB0aGlzLl9zaG91bGRVc2VTaG9ydE1vbnRoKG1h
eFdpZHRoKTsKKyAgICB0aGlzLmVsZW1lbnQuc3R5bGUubWF4V2lkdGggPSBtYXhXaWR0aCArICJw
eCI7CisKKyAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLm9u
Q2xpY2ssIGZhbHNlKTsKK30KKworTW9udGhQb3B1cEJ1dHRvbi5wcm90b3R5cGUgPSBPYmplY3Qu
Y3JlYXRlKFZpZXcucHJvdG90eXBlKTsKKworTW9udGhQb3B1cEJ1dHRvbi5DbGFzc05hbWVNb250
aFBvcHVwQnV0dG9uID0gIm1vbnRoLXBvcHVwLWJ1dHRvbiI7CitNb250aFBvcHVwQnV0dG9uLkNs
YXNzTmFtZU1vbnRoUG9wdXBCdXR0b25MYWJlbCA9ICJtb250aC1wb3B1cC1idXR0b24tbGFiZWwi
OworTW9udGhQb3B1cEJ1dHRvbi5DbGFzc05hbWVEaXNjbG9zdXJlVHJpYW5nbGUgPSAiZGlzY2xv
c3VyZS10cmlhbmdsZSI7CitNb250aFBvcHVwQnV0dG9uLkV2ZW50VHlwZUJ1dHRvbkNsaWNrID0g
ImJ1dHRvbkNsaWNrIjsKKworLyoqCisgKiBAcmV0dXJuIHshYm9vbGVhbn0KKyAqLworTW9udGhQ
b3B1cEJ1dHRvbi5wcm90b3R5cGUuX3Nob3VsZFVzZVNob3J0TW9udGggPSBmdW5jdGlvbihtYXhX
aWR0aCkgeworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5lbGVtZW50KTsKKyAg
ICB2YXIgbW9udGggPSBNb250aC5NYXhpbXVtOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTW9u
dGhzUGVyWWVhcjsgKytpKSB7CisgICAgICAgIHRoaXMubGFiZWxFbGVtZW50LnRleHRDb250ZW50
ID0gbW9udGgudG9Mb2NhbGVTdHJpbmcoKTsKKyAgICAgICAgaWYgKHRoaXMuZWxlbWVudC5vZmZz
ZXRXaWR0aCA+IG1heFdpZHRoKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIG1v
bnRoID0gbW9udGgucHJldmlvdXMoKTsKKyAgICB9CisgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVD
aGlsZCh0aGlzLmVsZW1lbnQpOworICAgIHJldHVybiBmYWxzZTsKK307CisKKy8qKgorICogQHBh
cmFtIHshTW9udGh9IG1vbnRoCisgKi8KK01vbnRoUG9wdXBCdXR0b24ucHJvdG90eXBlLnNldEN1
cnJlbnRNb250aCA9IGZ1bmN0aW9uKG1vbnRoKSB7CisgICAgdGhpcy5sYWJlbEVsZW1lbnQudGV4
dENvbnRlbnQgPSB0aGlzLl91c2VTaG9ydE1vbnRoID8gbW9udGgudG9TaG9ydExvY2FsZVN0cmlu
ZygpIDogbW9udGgudG9Mb2NhbGVTdHJpbmcoKTsKK307CisKKy8qKgorICogQHBhcmFtIHs/RXZl
bnR9IGV2ZW50CisgKi8KK01vbnRoUG9wdXBCdXR0b24ucHJvdG90eXBlLm9uQ2xpY2sgPSBmdW5j
dGlvbihldmVudCkgeworICAgIHRoaXMuZGlzcGF0Y2hFdmVudChNb250aFBvcHVwQnV0dG9uLkV2
ZW50VHlwZUJ1dHRvbkNsaWNrLCB0aGlzKTsKK307CisKKy8qKgorICogQGNvbnN0cnVjdG9yCisg
KiBAZXh0ZW5kcyBWaWV3CisgKi8KK2Z1bmN0aW9uIENhbGVuZGFyTmF2aWdhdGlvbkJ1dHRvbigp
IHsKKyAgICBWaWV3LmNhbGwodGhpcywgY3JlYXRlRWxlbWVudCgiYnV0dG9uIiwgQ2FsZW5kYXJO
YXZpZ2F0aW9uQnV0dG9uLkNsYXNzTmFtZUNhbGVuZGFyTmF2aWdhdGlvbkJ1dHRvbikpOworICAg
IC8qKgorICAgICAqIEB0eXBlIHtudW1iZXJ9IFRocmVzaG9sZCBmb3Igc3RhcnRpbmcgcmVwZWF0
aW5nIGNsaWNrcyBpbiBtaWxsaXNlY29uZHMuCisgICAgICovCisgICAgdGhpcy5yZXBlYXRpbmdD
bGlja3NTdGFydGluZ1RocmVzaG9sZCA9IENhbGVuZGFyTmF2aWdhdGlvbkJ1dHRvbi5EZWZhdWx0
cmVwZWF0aW5nQ2xpY2tzU3RhcnRpbmdUaHJlc2hvbGQ7CisgICAgLyoqCisgICAgICogQHR5cGUg
e251bWJlcn0gSW50ZXJ2YWwgYmV0d2VlbiByZWFwZWF0aW5nIGNsaWNrcyBpbiBtaWxsaXNlY29u
ZHMuCisgICAgICovCisgICAgdGhpcy5yZWFwZWF0aW5nQ2xpY2tzSW50ZXJ2YWwgPSBDYWxlbmRh
ck5hdmlnYXRpb25CdXR0b24uRGVmYXVsdFJlcGVhdGluZ0NsaWNrc0ludGVydmFsOworICAgIHRo
aXMuX3RpbWVyID0gbnVsbDsKKyAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCB0aGlzLm9uQ2xpY2ssIGZhbHNlKTsKKyAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0
ZW5lcigibW91c2Vkb3duIiwgdGhpcy5vbk1vdXNlRG93biwgZmFsc2UpOworfTsKKworQ2FsZW5k
YXJOYXZpZ2F0aW9uQnV0dG9uLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoVmlldy5wcm90b3R5
cGUpOworCitDYWxlbmRhck5hdmlnYXRpb25CdXR0b24uRGVmYXVsdHJlcGVhdGluZ0NsaWNrc1N0
YXJ0aW5nVGhyZXNob2xkID0gNjAwOworQ2FsZW5kYXJOYXZpZ2F0aW9uQnV0dG9uLkRlZmF1bHRS
ZXBlYXRpbmdDbGlja3NJbnRlcnZhbCA9IDMwMDsKK0NhbGVuZGFyTmF2aWdhdGlvbkJ1dHRvbi5M
ZWZ0TWFyZ2luID0gNDsKK0NhbGVuZGFyTmF2aWdhdGlvbkJ1dHRvbi5XaWR0aCA9IDI0OworQ2Fs
ZW5kYXJOYXZpZ2F0aW9uQnV0dG9uLkNsYXNzTmFtZUNhbGVuZGFyTmF2aWdhdGlvbkJ1dHRvbiA9
ICJjYWxlbmRhci1uYXZpZ2F0aW9uLWJ1dHRvbiI7CitDYWxlbmRhck5hdmlnYXRpb25CdXR0b24u
RXZlbnRUeXBlQnV0dG9uQ2xpY2sgPSAiYnV0dG9uQ2xpY2siOworQ2FsZW5kYXJOYXZpZ2F0aW9u
QnV0dG9uLkV2ZW50VHlwZVJlcGVhdGluZ0J1dHRvbkNsaWNrID0gInJlcGVhdGluZ0J1dHRvbkNs
aWNrIjsKKworLyoqCisgKiBAcGFyYW0geyFib29sZWFufSBkaXNhYmxlZAorICovCitDYWxlbmRh
ck5hdmlnYXRpb25CdXR0b24ucHJvdG90eXBlLnNldERpc2FibGVkID0gZnVuY3Rpb24oZGlzYWJs
ZWQpIHsKKyAgICB0aGlzLmVsZW1lbnQuZGlzYWJsZWQgPSBkaXNhYmxlZDsKK307CisKKy8qKgor
ICogQHBhcmFtIHs/RXZlbnR9IGV2ZW50CisgKi8KK0NhbGVuZGFyTmF2aWdhdGlvbkJ1dHRvbi5w
cm90b3R5cGUub25DbGljayA9IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgdGhpcy5kaXNwYXRjaEV2
ZW50KENhbGVuZGFyTmF2aWdhdGlvbkJ1dHRvbi5FdmVudFR5cGVCdXR0b25DbGljaywgdGhpcyk7
Cit9OworCisvKioKKyAqIEBwYXJhbSB7P0V2ZW50fSBldmVudAorICovCitDYWxlbmRhck5hdmln
YXRpb25CdXR0b24ucHJvdG90eXBlLm9uTW91c2VEb3duID0gZnVuY3Rpb24oZXZlbnQpIHsKKyAg
ICB0aGlzLl90aW1lciA9IHNldFRpbWVvdXQodGhpcy5vblJlcGVhdGluZ0NsaWNrLCB0aGlzLnJl
cGVhdGluZ0NsaWNrc1N0YXJ0aW5nVGhyZXNob2xkKTsKKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0
ZW5lcigibW91c2V1cCIsIHRoaXMub25XaW5kb3dNb3VzZVVwLCBmYWxzZSk7Cit9OworCisvKioK
KyAqIEBwYXJhbSB7P0V2ZW50fSBldmVudAorICovCitDYWxlbmRhck5hdmlnYXRpb25CdXR0b24u
cHJvdG90eXBlLm9uV2luZG93TW91c2VVcCA9IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgY2xlYXJU
aW1lb3V0KHRoaXMuX3RpbWVyKTsKKyAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91
c2V1cCIsIHRoaXMub25XaW5kb3dNb3VzZVVwLCBmYWxzZSk7Cit9OworCisvKioKKyAqIEBwYXJh
bSB7P0V2ZW50fSBldmVudAorICovCitDYWxlbmRhck5hdmlnYXRpb25CdXR0b24ucHJvdG90eXBl
Lm9uUmVwZWF0aW5nQ2xpY2sgPSBmdW5jdGlvbihldmVudCkgeworICAgIHRoaXMuZGlzcGF0Y2hF
dmVudChDYWxlbmRhck5hdmlnYXRpb25CdXR0b24uRXZlbnRUeXBlUmVwZWF0aW5nQnV0dG9uQ2xp
Y2ssIHRoaXMpOworICAgIHRoaXMuX3RpbWVyID0gc2V0VGltZW91dCh0aGlzLm9uUmVwZWF0aW5n
Q2xpY2ssIHRoaXMucmVhcGVhdGluZ0NsaWNrc0ludGVydmFsKTsKK307CisKKy8qKgorICogQGNv
bnN0cnVjdG9yCisgKiBAZXh0ZW5kcyBWaWV3CisgKiBAcGFyYW0geyFDYWxlbmRhclBpY2tlcn0g
Y2FsZW5kYXJQaWNrZXIKKyAqLworZnVuY3Rpb24gQ2FsZW5kYXJIZWFkZXJWaWV3KGNhbGVuZGFy
UGlja2VyKSB7CisgICAgVmlldy5jYWxsKHRoaXMsIGNyZWF0ZUVsZW1lbnQoImRpdiIsIENhbGVu
ZGFySGVhZGVyVmlldy5DbGFzc05hbWVDYWxlbmRhckhlYWRlclZpZXcpKTsKKyAgICB0aGlzLmNh
bGVuZGFyUGlja2VyID0gY2FsZW5kYXJQaWNrZXI7CisgICAgdGhpcy5jYWxlbmRhclBpY2tlci5v
bihDYWxlbmRhclBpY2tlci5FdmVudFR5cGVDdXJyZW50TW9udGhDaGFuZ2VkLCB0aGlzLm9uQ3Vy
cmVudE1vbnRoQ2hhbmdlZCk7CisgICAgCisgICAgdmFyIHRpdGxlRWxlbWVudCA9IGNyZWF0ZUVs
ZW1lbnQoImRpdiIsIENhbGVuZGFySGVhZGVyVmlldy5DbGFzc05hbWVDYWxlbmRhclRpdGxlKTsK
KyAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGl0bGVFbGVtZW50KTsKKworICAgIC8qKgor
ICAgICAqIEB0eXBlIHshTW9udGhQb3B1cEJ1dHRvbn0KKyAgICAgKi8KKyAgICB0aGlzLm1vbnRo
UG9wdXBCdXR0b24gPSBuZXcgTW9udGhQb3B1cEJ1dHRvbih0aGlzLmNhbGVuZGFyUGlja2VyLmNh
bGVuZGFyVGFibGVWaWV3LndpZHRoKCkgLSBDYWxlbmRhclRhYmxlVmlldy5Cb3JkZXJXaWR0aCAq
IDIgLSBDYWxlbmRhck5hdmlnYXRpb25CdXR0b24uV2lkdGggKiAzIC0gQ2FsZW5kYXJOYXZpZ2F0
aW9uQnV0dG9uLkxlZnRNYXJnaW4gKiAyKTsKKyAgICB0aGlzLm1vbnRoUG9wdXBCdXR0b24uYXR0
YWNoVG8odGl0bGVFbGVtZW50KTsKKworICAgIC8qKgorICAgICAqIEB0eXBlIHshQ2FsZW5kYXJO
YXZpZ2F0aW9uQnV0dG9ufQorICAgICAqIEBjb25zdAorICAgICAqLworICAgIHRoaXMuX3ByZXZp
b3VzTW9udGhCdXR0b24gPSBuZXcgQ2FsZW5kYXJOYXZpZ2F0aW9uQnV0dG9uKCk7CisgICAgdGhp
cy5fcHJldmlvdXNNb250aEJ1dHRvbi5hdHRhY2hUbyh0aGlzKTsKKyAgICB0aGlzLl9wcmV2aW91
c01vbnRoQnV0dG9uLm9uKENhbGVuZGFyTmF2aWdhdGlvbkJ1dHRvbi5FdmVudFR5cGVCdXR0b25D
bGljaywgdGhpcy5vbk5hdmlnYXRpb25CdXR0b25DbGljayk7CisgICAgdGhpcy5fcHJldmlvdXNN
b250aEJ1dHRvbi5vbihDYWxlbmRhck5hdmlnYXRpb25CdXR0b24uRXZlbnRUeXBlUmVwZWF0aW5n
QnV0dG9uQ2xpY2ssIHRoaXMub25OYXZpZ2F0aW9uQnV0dG9uQ2xpY2spOworCisgICAgLyoqCisg
ICAgICogQHR5cGUgeyFDYWxlbmRhck5hdmlnYXRpb25CdXR0b259CisgICAgICogQGNvbnN0Cisg
ICAgICovCisgICAgdGhpcy5fdG9kYXlCdXR0b24gPSBuZXcgQ2FsZW5kYXJOYXZpZ2F0aW9uQnV0
dG9uKCk7CisgICAgdGhpcy5fdG9kYXlCdXR0b24uYXR0YWNoVG8odGhpcyk7CisgICAgdGhpcy5f
dG9kYXlCdXR0b24ub24oQ2FsZW5kYXJOYXZpZ2F0aW9uQnV0dG9uLkV2ZW50VHlwZUJ1dHRvbkNs
aWNrLCB0aGlzLm9uTmF2aWdhdGlvbkJ1dHRvbkNsaWNrKTsKKyAgICB0aGlzLl90b2RheUJ1dHRv
bi5lbGVtZW50LmNsYXNzTGlzdC5hZGQoQ2FsZW5kYXJIZWFkZXJWaWV3LkNsYXNzTmFtZVRvZGF5
QnV0dG9uKTsKKyAgICB2YXIgbW9udGhDb250YWluaW5nVG9kYXkgPSBNb250aC5jcmVhdGVGcm9t
VG9kYXkoKTsKKyAgICB0aGlzLl90b2RheUJ1dHRvbi5zZXREaXNhYmxlZChtb250aENvbnRhaW5p
bmdUb2RheSA8IHRoaXMuY2FsZW5kYXJQaWNrZXIubWluaW11bU1vbnRoIHx8IG1vbnRoQ29udGFp
bmluZ1RvZGF5ID4gdGhpcy5jYWxlbmRhclBpY2tlci5tYXhpbXVtTW9udGgpOworCisgICAgLyoq
CisgICAgICogQHR5cGUgeyFDYWxlbmRhck5hdmlnYXRpb25CdXR0b259CisgICAgICogQGNvbnN0
CisgICAgICovCisgICAgdGhpcy5fbmV4dE1vbnRoQnV0dG9uID0gbmV3IENhbGVuZGFyTmF2aWdh
dGlvbkJ1dHRvbigpOworICAgIHRoaXMuX25leHRNb250aEJ1dHRvbi5hdHRhY2hUbyh0aGlzKTsK
KyAgICB0aGlzLl9uZXh0TW9udGhCdXR0b24ub24oQ2FsZW5kYXJOYXZpZ2F0aW9uQnV0dG9uLkV2
ZW50VHlwZUJ1dHRvbkNsaWNrLCB0aGlzLm9uTmF2aWdhdGlvbkJ1dHRvbkNsaWNrKTsKKyAgICB0
aGlzLl9uZXh0TW9udGhCdXR0b24ub24oQ2FsZW5kYXJOYXZpZ2F0aW9uQnV0dG9uLkV2ZW50VHlw
ZVJlcGVhdGluZ0J1dHRvbkNsaWNrLCB0aGlzLm9uTmF2aWdhdGlvbkJ1dHRvbkNsaWNrKTsKKwor
ICAgIGlmIChnbG9iYWwucGFyYW1zLmlzTG9jYWxlUlRMKSB7CisgICAgICAgIHRoaXMuX25leHRN
b250aEJ1dHRvbi5lbGVtZW50LmlubmVySFRNTCA9IENhbGVuZGFySGVhZGVyVmlldy5fQmFja3dh
cmRUcmlhbmdsZTsKKyAgICAgICAgdGhpcy5fcHJldmlvdXNNb250aEJ1dHRvbi5lbGVtZW50Lmlu
bmVySFRNTCA9IENhbGVuZGFySGVhZGVyVmlldy5fRm9yd2FyZFRyaWFuZ2xlOworICAgIH0gZWxz
ZSB7CisgICAgICAgIHRoaXMuX25leHRNb250aEJ1dHRvbi5lbGVtZW50LmlubmVySFRNTCA9IENh
bGVuZGFySGVhZGVyVmlldy5fRm9yd2FyZFRyaWFuZ2xlOworICAgICAgICB0aGlzLl9wcmV2aW91
c01vbnRoQnV0dG9uLmVsZW1lbnQuaW5uZXJIVE1MID0gQ2FsZW5kYXJIZWFkZXJWaWV3Ll9CYWNr
d2FyZFRyaWFuZ2xlOworICAgIH0KK30KKworQ2FsZW5kYXJIZWFkZXJWaWV3LnByb3RvdHlwZSA9
IE9iamVjdC5jcmVhdGUoVmlldy5wcm90b3R5cGUpOworCitDYWxlbmRhckhlYWRlclZpZXcuSGVp
Z2h0ID0gMjQ7CitDYWxlbmRhckhlYWRlclZpZXcuQm90dG9tTWFyZ2luID0gMTA7CitDYWxlbmRh
ckhlYWRlclZpZXcuX0ZvcndhcmRUcmlhbmdsZSA9ICI8c3ZnIHdpZHRoPSc0JyBoZWlnaHQ9Jzcn
Pjxwb2x5Z29uIHBvaW50cz0nMCw3IDAsMCwgNCwzLjUnIHN0eWxlPSdmaWxsOiM2ZTZlNmU7JyAv
Pjwvc3ZnPiI7CitDYWxlbmRhckhlYWRlclZpZXcuX0JhY2t3YXJkVHJpYW5nbGUgPSAiPHN2ZyB3
aWR0aD0nNCcgaGVpZ2h0PSc3Jz48cG9seWdvbiBwb2ludHM9JzAsMy41IDQsNyA0LDAnIHN0eWxl
PSdmaWxsOiM2ZTZlNmU7JyAvPjwvc3ZnPiI7CitDYWxlbmRhckhlYWRlclZpZXcuQ2xhc3NOYW1l
Q2FsZW5kYXJIZWFkZXJWaWV3ID0gImNhbGVuZGFyLWhlYWRlci12aWV3IjsKK0NhbGVuZGFySGVh
ZGVyVmlldy5DbGFzc05hbWVDYWxlbmRhclRpdGxlID0gImNhbGVuZGFyLXRpdGxlIjsKK0NhbGVu
ZGFySGVhZGVyVmlldy5DbGFzc05hbWVUb2RheUJ1dHRvbiA9ICJ0b2RheS1idXR0b24iOworCitD
YWxlbmRhckhlYWRlclZpZXcucHJvdG90eXBlLm9uQ3VycmVudE1vbnRoQ2hhbmdlZCA9IGZ1bmN0
aW9uKCkgeworICAgIHRoaXMubW9udGhQb3B1cEJ1dHRvbi5zZXRDdXJyZW50TW9udGgodGhpcy5j
YWxlbmRhclBpY2tlci5jdXJyZW50TW9udGgoKSk7CisgICAgdGhpcy5fcHJldmlvdXNNb250aEJ1
dHRvbi5zZXREaXNhYmxlZCh0aGlzLmRpc2FibGVkIHx8IHRoaXMuY2FsZW5kYXJQaWNrZXIuY3Vy
cmVudE1vbnRoKCkgPD0gdGhpcy5jYWxlbmRhclBpY2tlci5taW5pbXVtTW9udGgpOworICAgIHRo
aXMuX25leHRNb250aEJ1dHRvbi5zZXREaXNhYmxlZCh0aGlzLmRpc2FibGVkIHx8IHRoaXMuY2Fs
ZW5kYXJQaWNrZXIuY3VycmVudE1vbnRoKCkgPj0gdGhpcy5jYWxlbmRhclBpY2tlci5tYXhpbXVt
TW9udGgpOworfTsKKworQ2FsZW5kYXJIZWFkZXJWaWV3LnByb3RvdHlwZS5vbk5hdmlnYXRpb25C
dXR0b25DbGljayA9IGZ1bmN0aW9uKHNlbmRlcikgeworICAgIGlmIChzZW5kZXIgPT09IHRoaXMu
X3ByZXZpb3VzTW9udGhCdXR0b24pCisgICAgICAgIHRoaXMuY2FsZW5kYXJQaWNrZXIuc2V0Q3Vy
cmVudE1vbnRoKHRoaXMuY2FsZW5kYXJQaWNrZXIuY3VycmVudE1vbnRoKCkucHJldmlvdXMoKSwg
dHJ1ZSk7CisgICAgZWxzZSBpZiAoc2VuZGVyID09PSB0aGlzLl9uZXh0TW9udGhCdXR0b24pCisg
ICAgICAgIHRoaXMuY2FsZW5kYXJQaWNrZXIuc2V0Q3VycmVudE1vbnRoKHRoaXMuY2FsZW5kYXJQ
aWNrZXIuY3VycmVudE1vbnRoKCkubmV4dCgpLCB0cnVlKTsKKyAgICBlbHNlCisgICAgICAgIHRo
aXMuY2FsZW5kYXJQaWNrZXIuc2VsZWN0UmFuZ2VDb250YWluaW5nRGF5KERheS5jcmVhdGVGcm9t
VG9kYXkoKSk7Cit9OworCisvKioKKyAqIEBwYXJhbSB7IWJvb2xlYW59IGRpc2FibGVkCisgKi8K
K0NhbGVuZGFySGVhZGVyVmlldy5wcm90b3R5cGUuc2V0RGlzYWJsZWQgPSBmdW5jdGlvbihkaXNh
YmxlZCkgeworICAgIHRoaXMuZGlzYWJsZWQgPSBkaXNhYmxlZDsKKyAgICB0aGlzLm1vbnRoUG9w
dXBCdXR0b24uZWxlbWVudC5kaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQ7CisgICAgdGhpcy5fcHJl
dmlvdXNNb250aEJ1dHRvbi5zZXREaXNhYmxlZCh0aGlzLmRpc2FibGVkIHx8IHRoaXMuY2FsZW5k
YXJQaWNrZXIuY3VycmVudE1vbnRoKCkgPD0gdGhpcy5jYWxlbmRhclBpY2tlci5taW5pbXVtTW9u
dGgpOworICAgIHRoaXMuX25leHRNb250aEJ1dHRvbi5zZXREaXNhYmxlZCh0aGlzLmRpc2FibGVk
IHx8IHRoaXMuY2FsZW5kYXJQaWNrZXIuY3VycmVudE1vbnRoKCkgPj0gdGhpcy5jYWxlbmRhclBp
Y2tlci5tYXhpbXVtTW9udGgpOworICAgIHZhciBtb250aENvbnRhaW5pbmdUb2RheSA9IE1vbnRo
LmNyZWF0ZUZyb21Ub2RheSgpOworICAgIHRoaXMuX3RvZGF5QnV0dG9uLnNldERpc2FibGVkKHRo
aXMuZGlzYWJsZWQgfHwgbW9udGhDb250YWluaW5nVG9kYXkgPCB0aGlzLmNhbGVuZGFyUGlja2Vy
Lm1pbmltdW1Nb250aCB8fCBtb250aENvbnRhaW5pbmdUb2RheSA+IHRoaXMuY2FsZW5kYXJQaWNr
ZXIubWF4aW11bU1vbnRoKTsKK307CisKKy8qKgorICogQGNvbnN0cnVjdG9yCiAgKiBAcGFyYW0g
eyFFbGVtZW50fSBlbGVtZW50CiAgKiBAcGFyYW0geyFPYmplY3R9IGNvbmZpZwogICovCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190704</attachid>
            <date>2013-02-28 04:43:29 -0800</date>
            <delta_ts>2013-02-28 05:07:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110967-20130228213941.patch</filename>
            <type>text/plain</type>
            <size>12319</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0MjU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGRmNDMzZTE0ZDQ5NjA3
N2QzMjU1YTdhODNhZWEwYjJjOTQ3N2JkYi4uZTFkNWJiMmJiNjQ1NjBlZTBkN2JkZjFiMWJkYzVk
Nzk2MmY4NWQxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEzLTAyLTI4ICBLZWlz
aGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBjYWxlbmRhciBo
ZWFkZXIgZm9yIG5ldyBjYWxlbmRhciBwaWNrZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDk2NworCisgICAgICAgIFJldmlld2VkIGJ5IEtlbnQg
VGFtdXJhLgorCisgICAgICAgIFRoZSBjYWxlbmRhciBoZWFkZXIgc2hvd2luZyB0aGUgY3VycmVu
dCBtb250aCBhbmQgY29udGFpbmluZyBuYXZpZ2F0aW9uCisgICAgICAgIGJ1dHRvbnMsIHdoaWNo
IHdpbGwgYmUgcGFydCBvZiB0aGUgbmV3IGNhbGVuZGFyIHBpY2tlciAoQnVnIDEwOTQzOSkuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzLiBDb2RlIGlzIG5vdCB5ZXQgdXNlZC4KKworICAgICAgICAq
IFJlc291cmNlcy9wYWdlcG9wdXBzL2NhbGVuZGFyUGlja2VyLmpzOgorICAgICAgICAoTW9udGhQ
b3B1cEJ1dHRvbik6IEJ1dHRvbiB0aGF0IG9wZW5zIHRoZSBtb250aCBwb3B1cC4KKyAgICAgICAg
KE1vbnRoUG9wdXBCdXR0b24ucHJvdG90eXBlLl9zaG91bGRVc2VTaG9ydE1vbnRoKTogUmV0dXJu
cyB0cnVlIGlmIHdlIHNob3VsZCB1c2UgdGhlIHNob3J0IG1vbnRoIGZvcm1hdCBpbiBvcmRlciB0
byBmaXQgaW4gdGhlIGF2YWlsYWJsZSB3aWR0aC4KKyAgICAgICAgKE1vbnRoUG9wdXBCdXR0b24u
cHJvdG90eXBlLnNldEN1cnJlbnRNb250aCk6IFNldHMgdGhlIG1vbnRoIHRvIHRoZSBidXR0b24g
bGFiZWwuCisgICAgICAgIChNb250aFBvcHVwQnV0dG9uLnByb3RvdHlwZS5vbkNsaWNrKTogRGlz
cGF0Y2hlcyBidXR0b25DbGljayBldmVudCB3aGljaCB3aWxsIHRlbGwgdGhlIGNhbGVuZGFyIHBp
Y2tlciB0byBvcGVuIHRoZSBtb250aCBwb3B1cC4KKyAgICAgICAgKENhbGVuZGFyTmF2aWdhdGlv
bkJ1dHRvbik6IEEgc3F1YXJlIGJ1dHRvbiB0aGF0IGZpcmVzIHJlcGVhdGVkbHkgd2hpbGUgdGhl
IG1vdXNlIGlzIHByZXNzZWQgZG93bi4KKyAgICAgICAgKENhbGVuZGFyTmF2aWdhdGlvbkJ1dHRv
bi5wcm90b3R5cGUuc2V0RGlzYWJsZWQpOgorICAgICAgICAoQ2FsZW5kYXJOYXZpZ2F0aW9uQnV0
dG9uLnByb3RvdHlwZS5vbkNsaWNrKToKKyAgICAgICAgKENhbGVuZGFyTmF2aWdhdGlvbkJ1dHRv
bi5wcm90b3R5cGUub25Nb3VzZURvd24pOiBTZXRzIHRoZSB0aW1lciB0byBmaXJlIHdoaWxlIHRo
ZSBtb3VzZSBpcyBwcmVzc2VkIGRvd24uCisgICAgICAgIChDYWxlbmRhck5hdmlnYXRpb25CdXR0
b24ucHJvdG90eXBlLm9uV2luZG93TW91c2VVcCk6CisgICAgICAgIChDYWxlbmRhck5hdmlnYXRp
b25CdXR0b24ucHJvdG90eXBlLm9uUmVwZWF0aW5nQ2xpY2spOgorICAgICAgICAoQ2FsZW5kYXJI
ZWFkZXJWaWV3KTogVmlldyBjb250YWluaW5nIG1vbnRoIHBvcHVwIGJ1dHRvbiBhbmQgdGhlIG5h
dmlnYXRpb24gYnV0dG9ucy4KKyAgICAgICAgKENhbGVuZGFySGVhZGVyVmlldy5wcm90b3R5cGUu
b25DdXJyZW50TW9udGhDaGFuZ2VkKTogU2V0cyB0aGUgTW9udGhQb3B1cEJ1dHRvbiBsYWJlbCBh
bmQgY2hlY2tzIGlmIHRoZSBuYXZpZ2F0aW9uIGJ1dHRvbnMgc2hvdWxkIGJlIGRpc2FibGVkLgor
ICAgICAgICAoQ2FsZW5kYXJIZWFkZXJWaWV3LnByb3RvdHlwZS5vbk5hdmlnYXRpb25CdXR0b25D
bGljayk6CisgICAgICAgIChDYWxlbmRhckhlYWRlclZpZXcucHJvdG90eXBlLnNldERpc2FibGVk
KTogVXNlZCB0byBkaXNhYmxlIGFsbCB0aGUgYnV0dG9ucyB3aGlsZSB0aGUgbW9udGggcG9wdXAg
aXMgb3Blbi4KKwogMjAxMy0wMi0yNyAgS2Vpc2hpIEhhdHRvcmkgIDxrZWlzaGlAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBBZGQgbW9udGggcG9wdXAgZm9yIG5ldyBjYWxlbmRhciBwaWNrZXIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1Jlc291cmNlcy9wYWdlcG9wdXBzL2NhbGVuZGFyUGlj
a2VyLmpzIGIvU291cmNlL1dlYkNvcmUvUmVzb3VyY2VzL3BhZ2Vwb3B1cHMvY2FsZW5kYXJQaWNr
ZXIuanMKaW5kZXggZWQzZjQ2OTI2M2EyYjg0M2JhODkzM2M3MGVmNjJmZWNhMTM4MGMzNS4uZTYy
OWU0NmExYjFjMjE3MzUzNmJkNGFlMzRkYWU1YjA5ZTcxOGE5NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvUmVzb3VyY2VzL3BhZ2Vwb3B1cHMvY2FsZW5kYXJQaWNrZXIuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvUmVzb3VyY2VzL3BhZ2Vwb3B1cHMvY2FsZW5kYXJQaWNrZXIuanMKQEAgLTI1
MDMsNiArMjUwMywyMzggQEAgTW9udGhQb3B1cFZpZXcucHJvdG90eXBlLm9uQ2xpY2sgPSBmdW5j
dGlvbihldmVudCkgewogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgorICogQGV4dGVuZHMgVmlldwor
ICogQHBhcmFtIHshbnVtYmVyfSBtYXhXaWR0aCBNYXhpbXVtIHdpZHRoIGluIHBpeGVscy4KKyAq
LworZnVuY3Rpb24gTW9udGhQb3B1cEJ1dHRvbihtYXhXaWR0aCkgeworICAgIFZpZXcuY2FsbCh0
aGlzLCBjcmVhdGVFbGVtZW50KCJidXR0b24iLCBNb250aFBvcHVwQnV0dG9uLkNsYXNzTmFtZU1v
bnRoUG9wdXBCdXR0b24pKTsKKworICAgIC8qKgorICAgICAqIEB0eXBlIHshRWxlbWVudH0KKyAg
ICAgKiBAY29uc3QKKyAgICAgKi8KKyAgICB0aGlzLmxhYmVsRWxlbWVudCA9IGNyZWF0ZUVsZW1l
bnQoInNwYW4iLCBNb250aFBvcHVwQnV0dG9uLkNsYXNzTmFtZU1vbnRoUG9wdXBCdXR0b25MYWJl
bCwgIi0tLS0tIik7CisgICAgdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMubGFiZWxFbGVt
ZW50KTsKKworICAgIC8qKgorICAgICAqIEB0eXBlIHshRWxlbWVudH0KKyAgICAgKiBAY29uc3QK
KyAgICAgKi8KKyAgICB0aGlzLmRpc2Nsb3N1cmVUcmlhbmdsZUljb24gPSBjcmVhdGVFbGVtZW50
KCJzcGFuIiwgTW9udGhQb3B1cEJ1dHRvbi5DbGFzc05hbWVEaXNjbG9zdXJlVHJpYW5nbGUpOwor
ICAgIHRoaXMuZGlzY2xvc3VyZVRyaWFuZ2xlSWNvbi5pbm5lckhUTUwgPSAiPHN2ZyB3aWR0aD0n
NycgaGVpZ2h0PSc1Jz48cG9seWdvbiBwb2ludHM9JzAsMSA3LDEgMy41LDUnIHN0eWxlPSdmaWxs
OiMwMDAwMDA7JyAvPjwvc3ZnPiI7CisgICAgdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMu
ZGlzY2xvc3VyZVRyaWFuZ2xlSWNvbik7CisKKyAgICAvKioKKyAgICAgKiBAdHlwZSB7IWJvb2xl
YW59CisgICAgICogQHByb3RlY3RlZAorICAgICAqLworICAgIHRoaXMuX3VzZVNob3J0TW9udGgg
PSB0aGlzLl9zaG91bGRVc2VTaG9ydE1vbnRoKG1heFdpZHRoKTsKKyAgICB0aGlzLmVsZW1lbnQu
c3R5bGUubWF4V2lkdGggPSBtYXhXaWR0aCArICJweCI7CisKKyAgICB0aGlzLmVsZW1lbnQuYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLm9uQ2xpY2ssIGZhbHNlKTsKK30KKworTW9udGhQ
b3B1cEJ1dHRvbi5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKFZpZXcucHJvdG90eXBlKTsKKwor
TW9udGhQb3B1cEJ1dHRvbi5DbGFzc05hbWVNb250aFBvcHVwQnV0dG9uID0gIm1vbnRoLXBvcHVw
LWJ1dHRvbiI7CitNb250aFBvcHVwQnV0dG9uLkNsYXNzTmFtZU1vbnRoUG9wdXBCdXR0b25MYWJl
bCA9ICJtb250aC1wb3B1cC1idXR0b24tbGFiZWwiOworTW9udGhQb3B1cEJ1dHRvbi5DbGFzc05h
bWVEaXNjbG9zdXJlVHJpYW5nbGUgPSAiZGlzY2xvc3VyZS10cmlhbmdsZSI7CitNb250aFBvcHVw
QnV0dG9uLkV2ZW50VHlwZUJ1dHRvbkNsaWNrID0gImJ1dHRvbkNsaWNrIjsKKworLyoqCisgKiBA
cGFyYW0geyFudW1iZXJ9IG1heFdpZHRoIE1heGltdW0gYXZhaWxhYmxlIHdpZHRoIGluIHBpeGVs
cy4KKyAqIEByZXR1cm4geyFib29sZWFufQorICovCitNb250aFBvcHVwQnV0dG9uLnByb3RvdHlw
ZS5fc2hvdWxkVXNlU2hvcnRNb250aCA9IGZ1bmN0aW9uKG1heFdpZHRoKSB7CisgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLmVsZW1lbnQpOworICAgIHZhciBtb250aCA9IE1vbnRo
Lk1heGltdW07CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBNb250aHNQZXJZZWFyOyArK2kpIHsK
KyAgICAgICAgdGhpcy5sYWJlbEVsZW1lbnQudGV4dENvbnRlbnQgPSBtb250aC50b0xvY2FsZVN0
cmluZygpOworICAgICAgICBpZiAodGhpcy5lbGVtZW50Lm9mZnNldFdpZHRoID4gbWF4V2lkdGgp
CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgbW9udGggPSBtb250aC5wcmV2aW91
cygpOworICAgIH0KKyAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRoaXMuZWxlbWVudCk7
CisgICAgcmV0dXJuIGZhbHNlOworfTsKKworLyoqCisgKiBAcGFyYW0geyFNb250aH0gbW9udGgK
KyAqLworTW9udGhQb3B1cEJ1dHRvbi5wcm90b3R5cGUuc2V0Q3VycmVudE1vbnRoID0gZnVuY3Rp
b24obW9udGgpIHsKKyAgICB0aGlzLmxhYmVsRWxlbWVudC50ZXh0Q29udGVudCA9IHRoaXMuX3Vz
ZVNob3J0TW9udGggPyBtb250aC50b1Nob3J0TG9jYWxlU3RyaW5nKCkgOiBtb250aC50b0xvY2Fs
ZVN0cmluZygpOworfTsKKworLyoqCisgKiBAcGFyYW0gez9FdmVudH0gZXZlbnQKKyAqLworTW9u
dGhQb3B1cEJ1dHRvbi5wcm90b3R5cGUub25DbGljayA9IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAg
dGhpcy5kaXNwYXRjaEV2ZW50KE1vbnRoUG9wdXBCdXR0b24uRXZlbnRUeXBlQnV0dG9uQ2xpY2ss
IHRoaXMpOworfTsKKworLyoqCisgKiBAY29uc3RydWN0b3IKKyAqIEBleHRlbmRzIFZpZXcKKyAq
LworZnVuY3Rpb24gQ2FsZW5kYXJOYXZpZ2F0aW9uQnV0dG9uKCkgeworICAgIFZpZXcuY2FsbCh0
aGlzLCBjcmVhdGVFbGVtZW50KCJidXR0b24iLCBDYWxlbmRhck5hdmlnYXRpb25CdXR0b24uQ2xh
c3NOYW1lQ2FsZW5kYXJOYXZpZ2F0aW9uQnV0dG9uKSk7CisgICAgLyoqCisgICAgICogQHR5cGUg
e251bWJlcn0gVGhyZXNob2xkIGZvciBzdGFydGluZyByZXBlYXRpbmcgY2xpY2tzIGluIG1pbGxp
c2Vjb25kcy4KKyAgICAgKi8KKyAgICB0aGlzLnJlcGVhdGluZ0NsaWNrc1N0YXJ0aW5nVGhyZXNo
b2xkID0gQ2FsZW5kYXJOYXZpZ2F0aW9uQnV0dG9uLkRlZmF1bHRSZXBlYXRpbmdDbGlja3NTdGFy
dGluZ1RocmVzaG9sZDsKKyAgICAvKioKKyAgICAgKiBAdHlwZSB7bnVtYmVyfSBJbnRlcnZhbCBi
ZXR3ZWVuIHJlYXBlYXRpbmcgY2xpY2tzIGluIG1pbGxpc2Vjb25kcy4KKyAgICAgKi8KKyAgICB0
aGlzLnJlYXBlYXRpbmdDbGlja3NJbnRlcnZhbCA9IENhbGVuZGFyTmF2aWdhdGlvbkJ1dHRvbi5E
ZWZhdWx0UmVwZWF0aW5nQ2xpY2tzSW50ZXJ2YWw7CisgICAgdGhpcy5fdGltZXIgPSBudWxsOwor
ICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMub25DbGljaywg
ZmFsc2UpOworICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCB0
aGlzLm9uTW91c2VEb3duLCBmYWxzZSk7Cit9OworCitDYWxlbmRhck5hdmlnYXRpb25CdXR0b24u
cHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShWaWV3LnByb3RvdHlwZSk7CisKK0NhbGVuZGFyTmF2
aWdhdGlvbkJ1dHRvbi5EZWZhdWx0UmVwZWF0aW5nQ2xpY2tzU3RhcnRpbmdUaHJlc2hvbGQgPSA2
MDA7CitDYWxlbmRhck5hdmlnYXRpb25CdXR0b24uRGVmYXVsdFJlcGVhdGluZ0NsaWNrc0ludGVy
dmFsID0gMzAwOworQ2FsZW5kYXJOYXZpZ2F0aW9uQnV0dG9uLkxlZnRNYXJnaW4gPSA0OworQ2Fs
ZW5kYXJOYXZpZ2F0aW9uQnV0dG9uLldpZHRoID0gMjQ7CitDYWxlbmRhck5hdmlnYXRpb25CdXR0
b24uQ2xhc3NOYW1lQ2FsZW5kYXJOYXZpZ2F0aW9uQnV0dG9uID0gImNhbGVuZGFyLW5hdmlnYXRp
b24tYnV0dG9uIjsKK0NhbGVuZGFyTmF2aWdhdGlvbkJ1dHRvbi5FdmVudFR5cGVCdXR0b25DbGlj
ayA9ICJidXR0b25DbGljayI7CitDYWxlbmRhck5hdmlnYXRpb25CdXR0b24uRXZlbnRUeXBlUmVw
ZWF0aW5nQnV0dG9uQ2xpY2sgPSAicmVwZWF0aW5nQnV0dG9uQ2xpY2siOworCisvKioKKyAqIEBw
YXJhbSB7IWJvb2xlYW59IGRpc2FibGVkCisgKi8KK0NhbGVuZGFyTmF2aWdhdGlvbkJ1dHRvbi5w
cm90b3R5cGUuc2V0RGlzYWJsZWQgPSBmdW5jdGlvbihkaXNhYmxlZCkgeworICAgIHRoaXMuZWxl
bWVudC5kaXNhYmxlZCA9IGRpc2FibGVkOworfTsKKworLyoqCisgKiBAcGFyYW0gez9FdmVudH0g
ZXZlbnQKKyAqLworQ2FsZW5kYXJOYXZpZ2F0aW9uQnV0dG9uLnByb3RvdHlwZS5vbkNsaWNrID0g
ZnVuY3Rpb24oZXZlbnQpIHsKKyAgICB0aGlzLmRpc3BhdGNoRXZlbnQoQ2FsZW5kYXJOYXZpZ2F0
aW9uQnV0dG9uLkV2ZW50VHlwZUJ1dHRvbkNsaWNrLCB0aGlzKTsKK307CisKKy8qKgorICogQHBh
cmFtIHs/RXZlbnR9IGV2ZW50CisgKi8KK0NhbGVuZGFyTmF2aWdhdGlvbkJ1dHRvbi5wcm90b3R5
cGUub25Nb3VzZURvd24gPSBmdW5jdGlvbihldmVudCkgeworICAgIHRoaXMuX3RpbWVyID0gc2V0
VGltZW91dCh0aGlzLm9uUmVwZWF0aW5nQ2xpY2ssIHRoaXMucmVwZWF0aW5nQ2xpY2tzU3RhcnRp
bmdUaHJlc2hvbGQpOworICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIiwgdGhp
cy5vbldpbmRvd01vdXNlVXAsIGZhbHNlKTsKK307CisKKy8qKgorICogQHBhcmFtIHs/RXZlbnR9
IGV2ZW50CisgKi8KK0NhbGVuZGFyTmF2aWdhdGlvbkJ1dHRvbi5wcm90b3R5cGUub25XaW5kb3dN
b3VzZVVwID0gZnVuY3Rpb24oZXZlbnQpIHsKKyAgICBjbGVhclRpbWVvdXQodGhpcy5fdGltZXIp
OworICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIiwgdGhpcy5vbldpbmRv
d01vdXNlVXAsIGZhbHNlKTsKK307CisKKy8qKgorICogQHBhcmFtIHs/RXZlbnR9IGV2ZW50Cisg
Ki8KK0NhbGVuZGFyTmF2aWdhdGlvbkJ1dHRvbi5wcm90b3R5cGUub25SZXBlYXRpbmdDbGljayA9
IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgdGhpcy5kaXNwYXRjaEV2ZW50KENhbGVuZGFyTmF2aWdh
dGlvbkJ1dHRvbi5FdmVudFR5cGVSZXBlYXRpbmdCdXR0b25DbGljaywgdGhpcyk7CisgICAgdGhp
cy5fdGltZXIgPSBzZXRUaW1lb3V0KHRoaXMub25SZXBlYXRpbmdDbGljaywgdGhpcy5yZWFwZWF0
aW5nQ2xpY2tzSW50ZXJ2YWwpOworfTsKKworLyoqCisgKiBAY29uc3RydWN0b3IKKyAqIEBleHRl
bmRzIFZpZXcKKyAqIEBwYXJhbSB7IUNhbGVuZGFyUGlja2VyfSBjYWxlbmRhclBpY2tlcgorICov
CitmdW5jdGlvbiBDYWxlbmRhckhlYWRlclZpZXcoY2FsZW5kYXJQaWNrZXIpIHsKKyAgICBWaWV3
LmNhbGwodGhpcywgY3JlYXRlRWxlbWVudCgiZGl2IiwgQ2FsZW5kYXJIZWFkZXJWaWV3LkNsYXNz
TmFtZUNhbGVuZGFySGVhZGVyVmlldykpOworICAgIHRoaXMuY2FsZW5kYXJQaWNrZXIgPSBjYWxl
bmRhclBpY2tlcjsKKyAgICB0aGlzLmNhbGVuZGFyUGlja2VyLm9uKENhbGVuZGFyUGlja2VyLkV2
ZW50VHlwZUN1cnJlbnRNb250aENoYW5nZWQsIHRoaXMub25DdXJyZW50TW9udGhDaGFuZ2VkKTsK
KyAgICAKKyAgICB2YXIgdGl0bGVFbGVtZW50ID0gY3JlYXRlRWxlbWVudCgiZGl2IiwgQ2FsZW5k
YXJIZWFkZXJWaWV3LkNsYXNzTmFtZUNhbGVuZGFyVGl0bGUpOworICAgIHRoaXMuZWxlbWVudC5h
cHBlbmRDaGlsZCh0aXRsZUVsZW1lbnQpOworCisgICAgLyoqCisgICAgICogQHR5cGUgeyFNb250
aFBvcHVwQnV0dG9ufQorICAgICAqLworICAgIHRoaXMubW9udGhQb3B1cEJ1dHRvbiA9IG5ldyBN
b250aFBvcHVwQnV0dG9uKHRoaXMuY2FsZW5kYXJQaWNrZXIuY2FsZW5kYXJUYWJsZVZpZXcud2lk
dGgoKSAtIENhbGVuZGFyVGFibGVWaWV3LkJvcmRlcldpZHRoICogMiAtIENhbGVuZGFyTmF2aWdh
dGlvbkJ1dHRvbi5XaWR0aCAqIDMgLSBDYWxlbmRhck5hdmlnYXRpb25CdXR0b24uTGVmdE1hcmdp
biAqIDIpOworICAgIHRoaXMubW9udGhQb3B1cEJ1dHRvbi5hdHRhY2hUbyh0aXRsZUVsZW1lbnQp
OworCisgICAgLyoqCisgICAgICogQHR5cGUgeyFDYWxlbmRhck5hdmlnYXRpb25CdXR0b259Cisg
ICAgICogQGNvbnN0CisgICAgICovCisgICAgdGhpcy5fcHJldmlvdXNNb250aEJ1dHRvbiA9IG5l
dyBDYWxlbmRhck5hdmlnYXRpb25CdXR0b24oKTsKKyAgICB0aGlzLl9wcmV2aW91c01vbnRoQnV0
dG9uLmF0dGFjaFRvKHRoaXMpOworICAgIHRoaXMuX3ByZXZpb3VzTW9udGhCdXR0b24ub24oQ2Fs
ZW5kYXJOYXZpZ2F0aW9uQnV0dG9uLkV2ZW50VHlwZUJ1dHRvbkNsaWNrLCB0aGlzLm9uTmF2aWdh
dGlvbkJ1dHRvbkNsaWNrKTsKKyAgICB0aGlzLl9wcmV2aW91c01vbnRoQnV0dG9uLm9uKENhbGVu
ZGFyTmF2aWdhdGlvbkJ1dHRvbi5FdmVudFR5cGVSZXBlYXRpbmdCdXR0b25DbGljaywgdGhpcy5v
bk5hdmlnYXRpb25CdXR0b25DbGljayk7CisKKyAgICAvKioKKyAgICAgKiBAdHlwZSB7IUNhbGVu
ZGFyTmF2aWdhdGlvbkJ1dHRvbn0KKyAgICAgKiBAY29uc3QKKyAgICAgKi8KKyAgICB0aGlzLl90
b2RheUJ1dHRvbiA9IG5ldyBDYWxlbmRhck5hdmlnYXRpb25CdXR0b24oKTsKKyAgICB0aGlzLl90
b2RheUJ1dHRvbi5hdHRhY2hUbyh0aGlzKTsKKyAgICB0aGlzLl90b2RheUJ1dHRvbi5vbihDYWxl
bmRhck5hdmlnYXRpb25CdXR0b24uRXZlbnRUeXBlQnV0dG9uQ2xpY2ssIHRoaXMub25OYXZpZ2F0
aW9uQnV0dG9uQ2xpY2spOworICAgIHRoaXMuX3RvZGF5QnV0dG9uLmVsZW1lbnQuY2xhc3NMaXN0
LmFkZChDYWxlbmRhckhlYWRlclZpZXcuQ2xhc3NOYW1lVG9kYXlCdXR0b24pOworICAgIHZhciBt
b250aENvbnRhaW5pbmdUb2RheSA9IE1vbnRoLmNyZWF0ZUZyb21Ub2RheSgpOworICAgIHRoaXMu
X3RvZGF5QnV0dG9uLnNldERpc2FibGVkKG1vbnRoQ29udGFpbmluZ1RvZGF5IDwgdGhpcy5jYWxl
bmRhclBpY2tlci5taW5pbXVtTW9udGggfHwgbW9udGhDb250YWluaW5nVG9kYXkgPiB0aGlzLmNh
bGVuZGFyUGlja2VyLm1heGltdW1Nb250aCk7CisKKyAgICAvKioKKyAgICAgKiBAdHlwZSB7IUNh
bGVuZGFyTmF2aWdhdGlvbkJ1dHRvbn0KKyAgICAgKiBAY29uc3QKKyAgICAgKi8KKyAgICB0aGlz
Ll9uZXh0TW9udGhCdXR0b24gPSBuZXcgQ2FsZW5kYXJOYXZpZ2F0aW9uQnV0dG9uKCk7CisgICAg
dGhpcy5fbmV4dE1vbnRoQnV0dG9uLmF0dGFjaFRvKHRoaXMpOworICAgIHRoaXMuX25leHRNb250
aEJ1dHRvbi5vbihDYWxlbmRhck5hdmlnYXRpb25CdXR0b24uRXZlbnRUeXBlQnV0dG9uQ2xpY2ss
IHRoaXMub25OYXZpZ2F0aW9uQnV0dG9uQ2xpY2spOworICAgIHRoaXMuX25leHRNb250aEJ1dHRv
bi5vbihDYWxlbmRhck5hdmlnYXRpb25CdXR0b24uRXZlbnRUeXBlUmVwZWF0aW5nQnV0dG9uQ2xp
Y2ssIHRoaXMub25OYXZpZ2F0aW9uQnV0dG9uQ2xpY2spOworCisgICAgaWYgKGdsb2JhbC5wYXJh
bXMuaXNMb2NhbGVSVEwpIHsKKyAgICAgICAgdGhpcy5fbmV4dE1vbnRoQnV0dG9uLmVsZW1lbnQu
aW5uZXJIVE1MID0gQ2FsZW5kYXJIZWFkZXJWaWV3Ll9CYWNrd2FyZFRyaWFuZ2xlOworICAgICAg
ICB0aGlzLl9wcmV2aW91c01vbnRoQnV0dG9uLmVsZW1lbnQuaW5uZXJIVE1MID0gQ2FsZW5kYXJI
ZWFkZXJWaWV3Ll9Gb3J3YXJkVHJpYW5nbGU7CisgICAgfSBlbHNlIHsKKyAgICAgICAgdGhpcy5f
bmV4dE1vbnRoQnV0dG9uLmVsZW1lbnQuaW5uZXJIVE1MID0gQ2FsZW5kYXJIZWFkZXJWaWV3Ll9G
b3J3YXJkVHJpYW5nbGU7CisgICAgICAgIHRoaXMuX3ByZXZpb3VzTW9udGhCdXR0b24uZWxlbWVu
dC5pbm5lckhUTUwgPSBDYWxlbmRhckhlYWRlclZpZXcuX0JhY2t3YXJkVHJpYW5nbGU7CisgICAg
fQorfQorCitDYWxlbmRhckhlYWRlclZpZXcucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShWaWV3
LnByb3RvdHlwZSk7CisKK0NhbGVuZGFySGVhZGVyVmlldy5IZWlnaHQgPSAyNDsKK0NhbGVuZGFy
SGVhZGVyVmlldy5Cb3R0b21NYXJnaW4gPSAxMDsKK0NhbGVuZGFySGVhZGVyVmlldy5fRm9yd2Fy
ZFRyaWFuZ2xlID0gIjxzdmcgd2lkdGg9JzQnIGhlaWdodD0nNyc+PHBvbHlnb24gcG9pbnRzPScw
LDcgMCwwLCA0LDMuNScgc3R5bGU9J2ZpbGw6IzZlNmU2ZTsnIC8+PC9zdmc+IjsKK0NhbGVuZGFy
SGVhZGVyVmlldy5fQmFja3dhcmRUcmlhbmdsZSA9ICI8c3ZnIHdpZHRoPSc0JyBoZWlnaHQ9Jzcn
Pjxwb2x5Z29uIHBvaW50cz0nMCwzLjUgNCw3IDQsMCcgc3R5bGU9J2ZpbGw6IzZlNmU2ZTsnIC8+
PC9zdmc+IjsKK0NhbGVuZGFySGVhZGVyVmlldy5DbGFzc05hbWVDYWxlbmRhckhlYWRlclZpZXcg
PSAiY2FsZW5kYXItaGVhZGVyLXZpZXciOworQ2FsZW5kYXJIZWFkZXJWaWV3LkNsYXNzTmFtZUNh
bGVuZGFyVGl0bGUgPSAiY2FsZW5kYXItdGl0bGUiOworQ2FsZW5kYXJIZWFkZXJWaWV3LkNsYXNz
TmFtZVRvZGF5QnV0dG9uID0gInRvZGF5LWJ1dHRvbiI7CisKK0NhbGVuZGFySGVhZGVyVmlldy5w
cm90b3R5cGUub25DdXJyZW50TW9udGhDaGFuZ2VkID0gZnVuY3Rpb24oKSB7CisgICAgdGhpcy5t
b250aFBvcHVwQnV0dG9uLnNldEN1cnJlbnRNb250aCh0aGlzLmNhbGVuZGFyUGlja2VyLmN1cnJl
bnRNb250aCgpKTsKKyAgICB0aGlzLl9wcmV2aW91c01vbnRoQnV0dG9uLnNldERpc2FibGVkKHRo
aXMuZGlzYWJsZWQgfHwgdGhpcy5jYWxlbmRhclBpY2tlci5jdXJyZW50TW9udGgoKSA8PSB0aGlz
LmNhbGVuZGFyUGlja2VyLm1pbmltdW1Nb250aCk7CisgICAgdGhpcy5fbmV4dE1vbnRoQnV0dG9u
LnNldERpc2FibGVkKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5jYWxlbmRhclBpY2tlci5jdXJyZW50
TW9udGgoKSA+PSB0aGlzLmNhbGVuZGFyUGlja2VyLm1heGltdW1Nb250aCk7Cit9OworCitDYWxl
bmRhckhlYWRlclZpZXcucHJvdG90eXBlLm9uTmF2aWdhdGlvbkJ1dHRvbkNsaWNrID0gZnVuY3Rp
b24oc2VuZGVyKSB7CisgICAgaWYgKHNlbmRlciA9PT0gdGhpcy5fcHJldmlvdXNNb250aEJ1dHRv
bikKKyAgICAgICAgdGhpcy5jYWxlbmRhclBpY2tlci5zZXRDdXJyZW50TW9udGgodGhpcy5jYWxl
bmRhclBpY2tlci5jdXJyZW50TW9udGgoKS5wcmV2aW91cygpLCBDYWxlbmRhclBpY2tlci5OYXZp
Z2F0aW9uQmVoYXZpb3VyLldpdGhBbmltYXRpb24pOworICAgIGVsc2UgaWYgKHNlbmRlciA9PT0g
dGhpcy5fbmV4dE1vbnRoQnV0dG9uKQorICAgICAgICB0aGlzLmNhbGVuZGFyUGlja2VyLnNldEN1
cnJlbnRNb250aCh0aGlzLmNhbGVuZGFyUGlja2VyLmN1cnJlbnRNb250aCgpLm5leHQoKSwgQ2Fs
ZW5kYXJQaWNrZXIuTmF2aWdhdGlvbkJlaGF2aW91ci5XaXRoQW5pbWF0aW9uKTsKKyAgICBlbHNl
CisgICAgICAgIHRoaXMuY2FsZW5kYXJQaWNrZXIuc2VsZWN0UmFuZ2VDb250YWluaW5nRGF5KERh
eS5jcmVhdGVGcm9tVG9kYXkoKSk7Cit9OworCisvKioKKyAqIEBwYXJhbSB7IWJvb2xlYW59IGRp
c2FibGVkCisgKi8KK0NhbGVuZGFySGVhZGVyVmlldy5wcm90b3R5cGUuc2V0RGlzYWJsZWQgPSBm
dW5jdGlvbihkaXNhYmxlZCkgeworICAgIHRoaXMuZGlzYWJsZWQgPSBkaXNhYmxlZDsKKyAgICB0
aGlzLm1vbnRoUG9wdXBCdXR0b24uZWxlbWVudC5kaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQ7Cisg
ICAgdGhpcy5fcHJldmlvdXNNb250aEJ1dHRvbi5zZXREaXNhYmxlZCh0aGlzLmRpc2FibGVkIHx8
IHRoaXMuY2FsZW5kYXJQaWNrZXIuY3VycmVudE1vbnRoKCkgPD0gdGhpcy5jYWxlbmRhclBpY2tl
ci5taW5pbXVtTW9udGgpOworICAgIHRoaXMuX25leHRNb250aEJ1dHRvbi5zZXREaXNhYmxlZCh0
aGlzLmRpc2FibGVkIHx8IHRoaXMuY2FsZW5kYXJQaWNrZXIuY3VycmVudE1vbnRoKCkgPj0gdGhp
cy5jYWxlbmRhclBpY2tlci5tYXhpbXVtTW9udGgpOworICAgIHZhciBtb250aENvbnRhaW5pbmdU
b2RheSA9IE1vbnRoLmNyZWF0ZUZyb21Ub2RheSgpOworICAgIHRoaXMuX3RvZGF5QnV0dG9uLnNl
dERpc2FibGVkKHRoaXMuZGlzYWJsZWQgfHwgbW9udGhDb250YWluaW5nVG9kYXkgPCB0aGlzLmNh
bGVuZGFyUGlja2VyLm1pbmltdW1Nb250aCB8fCBtb250aENvbnRhaW5pbmdUb2RheSA+IHRoaXMu
Y2FsZW5kYXJQaWNrZXIubWF4aW11bU1vbnRoKTsKK307CisKKy8qKgorICogQGNvbnN0cnVjdG9y
CiAgKiBAcGFyYW0geyFFbGVtZW50fSBlbGVtZW50CiAgKiBAcGFyYW0geyFPYmplY3R9IGNvbmZp
ZwogICovCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>