<?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>67938</bug_id>
          
          <creation_ts>2011-09-12 09:48:34 -0700</creation_ts>
          <short_desc>[Qt] [WK2] Implement popup menus in QDesktopWebView using QComboBox</short_desc>
          <delta_ts>2011-09-19 10:13:37 -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>New Bugs</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>62191</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Caio Marcelo de Oliveira Filho">cmarcelo</reporter>
          <assigned_to name="Caio Marcelo de Oliveira Filho">cmarcelo</assigned_to>
          <cc>benjamin</cc>
    
    <cc>igor.oliveira</cc>
    
    <cc>kling</cc>
    
    <cc>luiz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>465638</commentid>
    <comment_count>0</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-09-12 09:48:34 -0700</bug_when>
    <thetext>[Qt] [WK2] Implement popup menus in QDesktopWebView using QComboBox</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465646</commentid>
    <comment_count>1</comment_count>
      <attachid>107058</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-09-12 09:56:19 -0700</bug_when>
    <thetext>Created attachment 107058
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465649</commentid>
    <comment_count>2</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-09-12 09:58:45 -0700</bug_when>
    <thetext>Less general than the bug 62191, but I see it as a starting point. With this patch QDesktopWebView will have a working combobox.

Then we can figure out the best way to allow this to be customized by API users (or decide whether we want that).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467111</commentid>
    <comment_count>3</comment_count>
      <attachid>107058</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-09-14 10:25:33 -0700</bug_when>
    <thetext>Comment on attachment 107058
Patch

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

&gt; Source/WebKit2/ChangeLog:10
&gt; +        explicitly avoid running a nested mainloop.

avoid -&gt; avoids

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:2308
&gt; +#if !PLATFORM(QT)
&gt;      protectedActivePopupMenu-&gt;invalidate();
&gt; +#endif

We need a comment here, explaining that we need to hang on to the pointer since this is a 2-step process on Qt.

&gt; Source/WebKit2/UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:48
&gt; +    QWidget* parentWidget = m_webViewItem-&gt;canvas();
&gt; +    comboBox-&gt;setParent(parentWidget);

No need for the parentWidget variable here.

&gt; Source/WebKit2/UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:95
&gt; +    for (int i = 0; i &lt; items.size(); ++i) {

int i -&gt; size_t i

&gt; Source/WebKit2/UIProcess/qt/WebPopupMenuProxyQtDesktop.h:44
&gt; +    Q_DISABLE_COPY(WebPopupMenuProxyQtDesktop)

Is this necessary?

&gt; Source/WebKit2/UIProcess/qt/WebPopupMenuProxyQtDesktop.h:58
&gt; +    void selectIndex(int index);

I&apos;d call this &quot;setSelectedIndex(int)&quot;

&gt; Source/WebKit2/UIProcess/qt/WebPopupMenuProxyQtDesktop.h:69
&gt; +    int32_t m_selectedIndex;
&gt; +    QSGItem* m_webViewItem;

Nit: Reverse the order of these two members, since QSGItem* is bigger than int32_t on 64-bit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467241</commentid>
    <comment_count>4</comment_count>
      <attachid>107374</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-09-14 12:30:44 -0700</bug_when>
    <thetext>Created attachment 107374
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467244</commentid>
    <comment_count>5</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-09-14 12:33:41 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; &gt; Source/WebKit2/UIProcess/qt/WebPopupMenuProxyQtDesktop.h:44
&gt; &gt; +    Q_DISABLE_COPY(WebPopupMenuProxyQtDesktop)
&gt; 
&gt; Is this necessary?

Not strictly. I took it off since it seems to cause more noise than benefit.

All the other comments were addressed by the new attached patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469441</commentid>
    <comment_count>6</comment_count>
      <attachid>107374</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-09-19 09:16:29 -0700</bug_when>
    <thetext>Comment on attachment 107374
Patch

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

Looks good, let&apos;s start with this!
r=me with this tiny (perhaps personal) style nit:

&gt; Source/WebKit2/UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:87
&gt; +    Q_ASSERT(comboBox);

Q_ASSERT -&gt; ASSERT

&gt; Source/WebKit2/UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:92
&gt; +    Q_ASSERT(model);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469477</commentid>
    <comment_count>7</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-09-19 10:13:37 -0700</bug_when>
    <thetext>Committed r95436: &lt;http://trac.webkit.org/changeset/95436&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107058</attachid>
            <date>2011-09-12 09:56:19 -0700</date>
            <delta_ts>2011-09-14 12:30:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67938-20110912135612.patch</filename>
            <type>text/plain</type>
            <size>14166</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ5NTQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA3NDljZDk4NTAxYTRmOTk5
NGJlNjVhNmM1NWJlZDIxZTRmNDM1YjdjLi5lMWVlYjdiYzdhMjlhZDY0YjYyZDVlN2E3YTkxNWMw
MmJhZTc1MDlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTEtMDktMTIgIENhaW8g
TWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3BlbmJvc3NhLm9yZz4K
KworICAgICAgICBbUXRdIFtXSzJdIEltcGxlbWVudCBwb3B1cCBtZW51cyBpbiBRRGVza3RvcFdl
YlZpZXcgdXNpbmcgUUNvbWJvQm94CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02NzkzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEltcGxlbWVudCBhIFdlYlBvcHVwTWVudVByb3h5IHRoYXQgdXNlcyBRdFdl
YkNvbWJvQm94IChhIFFDb21ib0JveCBzdWJjbGFzcyB3ZQorICAgICAgICBoYXZlIGZvciBXSzEp
LiBUaGVuIHVzZSB0aGlzIFdlYlBvcHVwTWVudVByb3h5IGluIFFEZXNrdG9wV2ViVmlldy4gVGhl
IGltcGxlbWVudGF0aW9uCisgICAgICAgIGV4cGxpY2l0bHkgYXZvaWQgcnVubmluZyBhIG5lc3Rl
ZCBtYWlubG9vcC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNob3dQb3B1cE1lbnUpOgorICAgICAgICBTaW5j
ZSB3ZSBkb24ndCBydW4gYSBuZXN0ZWQgbWFpbmxvb3AsIHdlIG5lZWQgdG8ga2VlcCB0aGUgY2xp
ZW50IHBvaW50ZXIgdG8gY2FsbAorICAgICAgICB2YWx1ZUNoYW5nZWRGb3JQb3B1cE1lbnUoKS4K
KworICAgICAgICAqIFVJUHJvY2Vzcy9xdC9XZWJQb3B1cE1lbnVQcm94eVF0RGVza3RvcC5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94eVF0RGVza3RvcDo6V2Vi
UG9wdXBNZW51UHJveHlRdERlc2t0b3ApOgorICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnVQ
cm94eVF0RGVza3RvcDo6fldlYlBvcHVwTWVudVByb3h5UXREZXNrdG9wKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUG9wdXBNZW51UHJveHlRdERlc2t0b3A6OnNob3dQb3B1cE1lbnUpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94eVF0RGVza3RvcDo6aGlkZVBvcHVwTWVudSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudVByb3h5UXREZXNrdG9wOjpzZWxlY3RJbmRleCk6
CisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudVByb3h5UXREZXNrdG9wOjpvblBvcHVwTWVu
dUhpZGRlbik6CisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudVByb3h5UXREZXNrdG9wOjpw
b3B1bGF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1dlYlBvcHVwTWVudVByb3h5UXREZXNr
dG9wLmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94eVF0RGVza3Rv
cDo6Y3JlYXRlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvcWRlc2t0b3B3ZWJwYWdlcHJveHku
Y3BwOgorICAgICAgICAoUURlc2t0b3BXZWJQYWdlUHJveHk6OmNyZWF0ZVBvcHVwTWVudVByb3h5
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvcWRlc2t0b3B3ZWJwYWdlcHJveHkuaDoKKyAgICAg
ICAgKiBXZWJLaXQyLnBybzoKKwogMjAxMS0wOS0xMSAgTWFyayBSb3dlICA8bXJvd2VAYXBwbGUu
Y29tPgogCiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS85ODc4MjY4PiBQcmVzc2luZyBjYXBzIGxv
Y2sgYWZ0ZXIgY2xvc2luZyBhIHNob3dNb2RhbERpYWxvZyB3aW5kb3cgcmVzdWx0cyBpbiBXZWJQ
cm9jZXNzIGV4aXRpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAK
aW5kZXggZGU0OTFkODc3MjE4N2EyOGU5Njg4Y2ZjMDZhNTI5YmM0ZTlmZGMxOS4uODE2YzllNzA3
YWQzMjc2MWRmOTUzODkxOGZmZGIyM2U5YjMzMWI2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTIzMDMsNyArMjMwMyw5IEBAIHZvaWQgV2ViUGFnZVBy
b3h5OjpzaG93UG9wdXBNZW51KGNvbnN0IEludFJlY3QmIHJlY3QsIHVpbnQ2NF90IHRleHREaXJl
Y3Rpb24sIGNvCiAgICAgUmVmUHRyPFdlYlBvcHVwTWVudVByb3h5PiBwcm90ZWN0ZWRBY3RpdmVQ
b3B1cE1lbnUgPSBtX2FjdGl2ZVBvcHVwTWVudTsKIAogICAgIHByb3RlY3RlZEFjdGl2ZVBvcHVw
TWVudS0+c2hvd1BvcHVwTWVudShyZWN0LCBzdGF0aWNfY2FzdDxUZXh0RGlyZWN0aW9uPih0ZXh0
RGlyZWN0aW9uKSwgbV9wYWdlU2NhbGVGYWN0b3IsIGl0ZW1zLCBkYXRhLCBzZWxlY3RlZEluZGV4
KTsKKyNpZiAhUExBVEZPUk0oUVQpCiAgICAgcHJvdGVjdGVkQWN0aXZlUG9wdXBNZW51LT5pbnZh
bGlkYXRlKCk7CisjZW5kaWYKICAgICBwcm90ZWN0ZWRBY3RpdmVQb3B1cE1lbnUgPSAwOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViUG9wdXBNZW51UHJv
eHlRdERlc2t0b3AuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1dlYlBvcHVwTWVu
dVByb3h5UXREZXNrdG9wLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNThhZjYwMzdjMTcwMTkyN2JmYzJiOTY2
NzAxZTBkNjljMzY0ZmMzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL3F0L1dlYlBvcHVwTWVudVByb3h5UXREZXNrdG9wLmNwcApAQCAtMCwwICsxLDEwOSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1
YnNpZGlhcnkoLWllcykuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJXZWJQb3B1cE1lbnVQcm94eVF0RGVza3RvcC5oIgorCisjaW5jbHVkZSAiUGxhdGZvcm1Qb3B1
cE1lbnVEYXRhLmgiCisjaW5jbHVkZSAiV2ViUG9wdXBJdGVtLmgiCisjaW5jbHVkZSA8UXREZWNs
YXJhdGl2ZS9RU0dDYW52YXM+CisjaW5jbHVkZSA8UXREZWNsYXJhdGl2ZS9RU0dJdGVtPgorI2lu
Y2x1ZGUgPFF0R3VpL1FTdGFuZGFyZEl0ZW1Nb2RlbD4KKwordXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitXZWJQb3B1cE1lbnVQcm94eVF0RGVza3RvcDo6
V2ViUG9wdXBNZW51UHJveHlRdERlc2t0b3AoV2ViUG9wdXBNZW51UHJveHk6OkNsaWVudCogY2xp
ZW50LCBRU0dJdGVtKiB3ZWJWaWV3SXRlbSkKKyAgICA6IFFPYmplY3QoKQorICAgICwgV2ViUG9w
dXBNZW51UHJveHkoY2xpZW50KQorICAgICwgbV9jb21ib0JveChuZXcgUXRXZWJDb21ib0JveCkK
KyAgICAsIG1fc2VsZWN0ZWRJbmRleCgtMSkKKyAgICAsIG1fd2ViVmlld0l0ZW0od2ViVmlld0l0
ZW0pCit7CisgICAgUXRXZWJDb21ib0JveCogY29tYm9Cb3ggPSBtX2NvbWJvQm94LmRhdGEoKTsK
KyAgICBRV2lkZ2V0KiBwYXJlbnRXaWRnZXQgPSBtX3dlYlZpZXdJdGVtLT5jYW52YXMoKTsKKyAg
ICBjb21ib0JveC0+c2V0UGFyZW50KHBhcmVudFdpZGdldCk7CisgICAgY29ubmVjdChjb21ib0Jv
eCwgU0lHTkFMKGFjdGl2YXRlZChpbnQpKSwgU0xPVChzZWxlY3RJbmRleChpbnQpKSk7CisgICAg
Y29ubmVjdChjb21ib0JveCwgU0lHTkFMKGRpZEhpZGUoKSksIFNMT1Qob25Qb3B1cE1lbnVIaWRk
ZW4oKSksIFF0OjpRdWV1ZWRDb25uZWN0aW9uKTsKK30KKworV2ViUG9wdXBNZW51UHJveHlRdERl
c2t0b3A6On5XZWJQb3B1cE1lbnVQcm94eVF0RGVza3RvcCgpCit7CisgICAgZGVsZXRlIG1fY29t
Ym9Cb3guZGF0YSgpOworfQorCit2b2lkIFdlYlBvcHVwTWVudVByb3h5UXREZXNrdG9wOjpzaG93
UG9wdXBNZW51KGNvbnN0IEludFJlY3QmIHJlY3QsIFdlYkNvcmU6OlRleHREaXJlY3Rpb24sIGRv
dWJsZSwgY29uc3QgVmVjdG9yPFdlYlBvcHVwSXRlbT4mIGl0ZW1zLCBjb25zdCBQbGF0Zm9ybVBv
cHVwTWVudURhdGEmLCBpbnQzMl90IHNlbGVjdGVkSW5kZXgpCit7CisgICAgUXRXZWJDb21ib0Jv
eCogY29tYm9Cb3ggPSBtX2NvbWJvQm94LmRhdGEoKTsKKyAgICBtX3NlbGVjdGVkSW5kZXggPSBz
ZWxlY3RlZEluZGV4OworICAgIHBvcHVsYXRlKGl0ZW1zKTsKKyAgICBjb21ib0JveC0+c2V0Q3Vy
cmVudEluZGV4KHNlbGVjdGVkSW5kZXgpOworICAgIGNvbWJvQm94LT5zZXRHZW9tZXRyeShtX3dl
YlZpZXdJdGVtLT5tYXBSZWN0VG9TY2VuZShRUmVjdChyZWN0KSkudG9SZWN0KCkpOworICAgIGNv
bWJvQm94LT5zaG93UG9wdXBBdEN1cnNvclBvc2l0aW9uKCk7Cit9CisKK3ZvaWQgV2ViUG9wdXBN
ZW51UHJveHlRdERlc2t0b3A6OmhpZGVQb3B1cE1lbnUoKQoreworICAgIGlmIChtX2NvbWJvQm94
KQorICAgICAgICBtX2NvbWJvQm94LmRhdGEoKS0+aGlkZVBvcHVwKCk7Cit9CisKK3ZvaWQgV2Vi
UG9wdXBNZW51UHJveHlRdERlc2t0b3A6OnNlbGVjdEluZGV4KGludCBpbmRleCkKK3sKKyAgICBt
X3NlbGVjdGVkSW5kZXggPSBpbmRleDsKK30KKwordm9pZCBXZWJQb3B1cE1lbnVQcm94eVF0RGVz
a3RvcDo6b25Qb3B1cE1lbnVIaWRkZW4oKQoreworICAgIGlmIChtX2NsaWVudCkKKyAgICAgICAg
bV9jbGllbnQtPnZhbHVlQ2hhbmdlZEZvclBvcHVwTWVudSh0aGlzLCBtX3NlbGVjdGVkSW5kZXgp
OworfQorCit2b2lkIFdlYlBvcHVwTWVudVByb3h5UXREZXNrdG9wOjpwb3B1bGF0ZShjb25zdCBW
ZWN0b3I8V2ViUG9wdXBJdGVtPiYgaXRlbXMpCit7CisgICAgUXRXZWJDb21ib0JveCogY29tYm9C
b3ggPSBtX2NvbWJvQm94LmRhdGEoKTsKKyAgICBRX0FTU0VSVChjb21ib0JveCk7CisKKyAgICBj
b21ib0JveC0+Y2xlYXIoKTsKKworICAgIFFTdGFuZGFyZEl0ZW1Nb2RlbCogbW9kZWwgPSBxb2Jq
ZWN0X2Nhc3Q8UVN0YW5kYXJkSXRlbU1vZGVsKj4oY29tYm9Cb3gtPm1vZGVsKCkpOworICAgIFFf
QVNTRVJUKG1vZGVsKTsKKworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgaXRlbXMuc2l6ZSgpOyAr
K2kpIHsKKyAgICAgICAgY29uc3QgV2ViUG9wdXBJdGVtJiBpdGVtID0gaXRlbXMuYXQoaSk7Cisg
ICAgICAgIGlmIChpdGVtLm1fdHlwZSA9PSBXZWJQb3B1cEl0ZW06OlNlcGFyYXRvcikgeworICAg
ICAgICAgICAgY29tYm9Cb3gtPmluc2VydFNlcGFyYXRvcihpKTsKKyAgICAgICAgICAgIGNvbnRp
bnVlOworICAgICAgICB9CisgICAgICAgIGNvbWJvQm94LT5pbnNlcnRJdGVtKGksIGl0ZW0ubV90
ZXh0KTsKKyAgICAgICAgbW9kZWwtPml0ZW0oaSktPnNldFRvb2xUaXAoaXRlbS5tX3Rvb2xUaXAp
OworICAgICAgICBtb2RlbC0+aXRlbShpKS0+c2V0RW5hYmxlZChpdGVtLm1faXNFbmFibGVkKTsK
KyAgICB9Cit9CisKKyNpbmNsdWRlICJtb2NfV2ViUG9wdXBNZW51UHJveHlRdERlc2t0b3AuY3Bw
IgorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9xdC9XZWJQb3B1cE1lbnVQcm94eVF0RGVza3RvcC5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL3F0L1dlYlBvcHVwTWVudVByb3h5UXREZXNrdG9wLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjNm
OWYyODQ5MTkxZTQxNjEzZWFhOGVhZGM2N2ZmMzhjZmFlNzJkMwotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJQb3B1cE1lbnVQcm94eVF0RGVza3RvcC5o
CkBAIC0wLDAgKzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgTm9raWEgQ29ycG9y
YXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdl
YlBvcHVwTWVudVByb3h5UXREZXNrdG9wX2gKKyNkZWZpbmUgV2ViUG9wdXBNZW51UHJveHlRdERl
c2t0b3BfaAorCisjaW5jbHVkZSAiUXRXZWJDb21ib0JveC5oIgorI2luY2x1ZGUgIldlYlBvcHVw
TWVudVByb3h5LmgiCisjaW5jbHVkZSA8UXRDb3JlL1FPYmplY3Q+CisjaW5jbHVkZSA8UXRDb3Jl
L1FXZWFrUG9pbnRlcj4KKworY2xhc3MgUVNHSXRlbTsKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
Y2xhc3MgUXRXZWJDb21ib0JveDsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdl
YlBvcHVwTWVudVByb3h5UXREZXNrdG9wIDogcHVibGljIFFPYmplY3QsIHB1YmxpYyBXZWJQb3B1
cE1lbnVQcm94eSB7CisgICAgUV9PQkpFQ1QKKyAgICBRX0RJU0FCTEVfQ09QWShXZWJQb3B1cE1l
bnVQcm94eVF0RGVza3RvcCkKKworcHVibGljOgorICAgIHZpcnR1YWwgfldlYlBvcHVwTWVudVBy
b3h5UXREZXNrdG9wKCk7CisKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJQb3B1cE1lbnVQcm94
eVF0RGVza3RvcD4gY3JlYXRlKFdlYlBvcHVwTWVudVByb3h5OjpDbGllbnQqIGNsaWVudCwgUVNH
SXRlbSogd2ViVmlld0l0ZW0pCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdl
YlBvcHVwTWVudVByb3h5UXREZXNrdG9wKGNsaWVudCwgd2ViVmlld0l0ZW0pKTsKKyAgICB9CisK
KyAgICB2aXJ0dWFsIHZvaWQgc2hvd1BvcHVwTWVudShjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jiwg
V2ViQ29yZTo6VGV4dERpcmVjdGlvbiwgZG91YmxlIHBhZ2VTY2FsZUZhY3RvciwgY29uc3QgVmVj
dG9yPFdlYlBvcHVwSXRlbT4mLCBjb25zdCBQbGF0Zm9ybVBvcHVwTWVudURhdGEmLCBpbnQzMl90
IHNlbGVjdGVkSW5kZXgpOworICAgIHZpcnR1YWwgdm9pZCBoaWRlUG9wdXBNZW51KCk7CisKK3By
aXZhdGUgUV9TTE9UUzoKKyAgICB2b2lkIHNlbGVjdEluZGV4KGludCBpbmRleCk7CisgICAgdm9p
ZCBvblBvcHVwTWVudUhpZGRlbigpOworCitwcml2YXRlOgorICAgIFdlYlBvcHVwTWVudVByb3h5
UXREZXNrdG9wKFdlYlBvcHVwTWVudVByb3h5OjpDbGllbnQqLCBRU0dJdGVtKiB3ZWJWaWV3SXRl
bSk7CisgICAgdm9pZCBwb3B1bGF0ZShjb25zdCBWZWN0b3I8V2ViUG9wdXBJdGVtPiYpOworCisg
ICAgLy8gUXQgZ3VhcmRlZCBwb2ludGVyIGJlY2F1c2UgUVdpZGdldHMgaGF2ZSB0aGVpciBvd24g
bWVtb3J5IG1hbmFnZW1lbnQgYW5kCisgICAgLy8gd2hlbiBjbG9zaW5nIHRoZSBVSSB0aGUgY29t
Ym9ib3ggd2lsbCBiZSBkZWxldGVkIGJlZm9yZSB3ZSBhcmUuCisgICAgUVdlYWtQb2ludGVyPFdl
YkNvcmU6OlF0V2ViQ29tYm9Cb3g+IG1fY29tYm9Cb3g7CisgICAgaW50MzJfdCBtX3NlbGVjdGVk
SW5kZXg7CisgICAgUVNHSXRlbSogbV93ZWJWaWV3SXRlbTsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYktpdAorCisjZW5kaWYgLy8gV2ViUG9wdXBNZW51UHJveHlRdERlc2t0b3BfaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L3FkZXNrdG9wd2VicGFnZXByb3h5LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9xZGVza3RvcHdlYnBhZ2Vwcm94eS5jcHAK
aW5kZXggNDhiYzk4MDg4ZDVhY2U5NTJjODM3MDM0YjQwZjlkNGFlOTQ0MDUxNi4uMDRmOTBiZjMw
MmI0MzQ2MjIwNWQ4NWMyY2U0YWVkMTg5ZWM1ZGViZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL3F0L3FkZXNrdG9wd2VicGFnZXByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvcXQvcWRlc2t0b3B3ZWJwYWdlcHJveHkuY3BwCkBAIC0xOCwxMSArMTgs
MTQgQEAKICAqCiAgKi8KIAotI2luY2x1ZGUgInFkZXNrdG9wd2Vidmlld19wLmgiCiAjaW5jbHVk
ZSAicWRlc2t0b3B3ZWJwYWdlcHJveHkuaCIKKworI2luY2x1ZGUgInFkZXNrdG9wd2Vidmlldy5o
IgorI2luY2x1ZGUgInFkZXNrdG9wd2Vidmlld19wLmgiCiAjaW5jbHVkZSAiRHJhd2luZ0FyZWFQ
cm94eUltcGwuaCIKICNpbmNsdWRlICJOYXRpdmVXZWJNb3VzZUV2ZW50LmgiCiAjaW5jbHVkZSAi
TmF0aXZlV2ViV2hlZWxFdmVudC5oIgorI2luY2x1ZGUgIldlYlBvcHVwTWVudVByb3h5UXREZXNr
dG9wLmgiCiAjaW5jbHVkZSA8UUFwcGxpY2F0aW9uPgogI2luY2x1ZGUgPFFFdmVudD4KICNpbmNs
dWRlIDxRR3JhcGhpY3NTY2VuZURyYWdEcm9wRXZlbnQ+CkBAIC03OCw2ICs4MSwxMiBAQCB2b2lk
IFFEZXNrdG9wV2ViUGFnZVByb3h5Ojpkb25lV2l0aFRvdWNoRXZlbnQoY29uc3QgTmF0aXZlV2Vi
VG91Y2hFdmVudCYsIGJvb2wgdwogfQogI2VuZGlmCiAKK1Bhc3NSZWZQdHI8V2ViUG9wdXBNZW51
UHJveHk+IFFEZXNrdG9wV2ViUGFnZVByb3h5OjpjcmVhdGVQb3B1cE1lbnVQcm94eShXZWJQYWdl
UHJveHkqKQoreworICAgIFFTR0l0ZW0qIHdlYlZpZXdJdGVtID0gc3RhdGljX2Nhc3Q8UURlc2t0
b3BXZWJWaWV3UHJpdmF0ZSo+KG1fdmlld0ludGVyZmFjZSktPnE7CisgICAgcmV0dXJuIFdlYlBv
cHVwTWVudVByb3h5UXREZXNrdG9wOjpjcmVhdGUobV93ZWJQYWdlUHJveHkuZ2V0KCksIHdlYlZp
ZXdJdGVtKTsKK30KKwogYm9vbCBRRGVza3RvcFdlYlBhZ2VQcm94eTo6aGFuZGxlRXZlbnQoUUV2
ZW50KiBldikKIHsKICAgICBzd2l0Y2ggKGV2LT50eXBlKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9xZGVza3RvcHdlYnBhZ2Vwcm94eS5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL3F0L3FkZXNrdG9wd2VicGFnZXByb3h5LmgKaW5kZXggODNkMDczYTFj
ZDdjOWIxOTAxN2MxMTMyOWJiYTY3ODJhODJhZTQ2MC4uNzFkZTc2OTJiYzIwYWVkMjhmYTIxOTU4
MGY1YWY1MzVkNTFiZjg2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0
L3FkZXNrdG9wd2VicGFnZXByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0
L3FkZXNrdG9wd2VicGFnZXByb3h5LmgKQEAgLTQ3LDYgKzQ3LDggQEAgcHJpdmF0ZToKICAgICB2
aXJ0dWFsIHZvaWQgZG9uZVdpdGhUb3VjaEV2ZW50KGNvbnN0IE5hdGl2ZVdlYlRvdWNoRXZlbnQm
LCBib29sIHdhc0V2ZW50SGFuZGxlZCk7CiAjZW5kaWYKIAorICAgIHZpcnR1YWwgUGFzc1JlZlB0
cjxXZWJLaXQ6OldlYlBvcHVwTWVudVByb3h5PiBjcmVhdGVQb3B1cE1lbnVQcm94eShXZWJLaXQ6
OldlYlBhZ2VQcm94eSopOworCiAgICAgdmlydHVhbCB2b2lkIHRpbWVyRXZlbnQoUVRpbWVyRXZl
bnQqKTsKIAogICAgIGJvb2wgaGFuZGxlTW91c2VNb3ZlRXZlbnQoUUdyYXBoaWNzU2NlbmVNb3Vz
ZUV2ZW50Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnBybyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYktpdDIucHJvCmluZGV4IDJkMGU2ZGRjOTU3MzY2MmU1OWZlNDM2ZDJiYzBj
ZWQ2ZDAzN2Y4YTEuLmFiY2RkMDQyZjE1NjQ2NGNmNWVlZGMwYzhiNWRiODY5ZGQ1ZjA3OGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIucHJvCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYktpdDIucHJvCkBAIC0yMCw2ICsyMCwxMiBAQCBRVCArPSBkZWNsYXJhdGl2ZQogIyBCdWls
ZCBib3RoIGRlYnVnIGFuZCByZWxlYXNlIGNvbmZpZ3VyYXRpb25zCiBtYWM6IENPTkZJRyArPSBi
dWlsZF9hbGwKIAorV0VCS0lUMV9IRUFERVJTX1NIQVJFRF9XSVRIX1dFQktJVDI9IFwKKyAgICAk
JFBXRC8uLi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUXRXZWJDb21ib0JveC5oCisKK1dFQktJ
VDFfU09VUkNFU19TSEFSRURfV0lUSF9XRUJLSVQyID0gXAorICAgICQkUFdELy4uL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9RdFdlYkNvbWJvQm94LmNwcAorCiBXRUJLSVQyX0dFTkVSQVRFRF9I
RUFERVJTID0gXAogICAgICQkV0VCS0lUMl9HRU5FUkFURURfU09VUkNFU19ESVIvQXV0aGVudGlj
YXRpb25NYW5hZ2VyTWVzc2FnZXMuaCBcCiAgICAgJCRXRUJLSVQyX0dFTkVSQVRFRF9TT1VSQ0VT
X0RJUi9Eb3dubG9hZFByb3h5TWVzc2FnZXMuaCBcCkBAIC0yNTgsNiArMjY0LDcgQEAgSEVBREVS
UyArPSBcCiAgICAgVUlQcm9jZXNzL3F0L1dlYlVuZG9Db21tYW5kUXQuaCBcCiAgICAgVUlQcm9j
ZXNzL3F0L1dlYkNvbnRleHRNZW51UHJveHlRdC5oIFwKICAgICBVSVByb2Nlc3MvcXQvV2ViUG9w
dXBNZW51UHJveHlRdC5oIFwKKyAgICBVSVByb2Nlc3MvcXQvV2ViUG9wdXBNZW51UHJveHlRdERl
c2t0b3AuaCBcCiAgICAgV2ViUHJvY2Vzcy9BcHBsaWNhdGlvbkNhY2hlL1dlYkFwcGxpY2F0aW9u
Q2FjaGVNYW5hZ2VyLmggXAogICAgIFdlYlByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGlj
YXRpb25NYW5hZ2VyLmggXAogICAgIFdlYlByb2Nlc3MvQ29va2llcy9XZWJDb29raWVNYW5hZ2Vy
LmggXApAQCAtMzIyLDcgKzMyOSw4IEBAIEhFQURFUlMgKz0gXAogICAgIFdlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmggXAogICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlR3JvdXBQcm94
eS5oIFwKICAgICBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBcCi0gICAgJCRXRUJLSVQyX0dFTkVS
QVRFRF9IRUFERVJTCisgICAgJCRXRUJLSVQyX0dFTkVSQVRFRF9IRUFERVJTIFwKKyAgICAkJFdF
QktJVDFfSEVBREVSU19TSEFSRURfV0lUSF9XRUJLSVQyCiAKIFNPVVJDRVMgKz0gXAogICAgIFBs
YXRmb3JtL0NvcmVJUEMvQXJndW1lbnRDb2RlcnMuY3BwIFwKQEAgLTQ5MSw2ICs0OTksNyBAQCBT
T1VSQ0VTICs9IFwKICAgICBVSVByb2Nlc3MvcXQvV2ViSW5zcGVjdG9yUHJveHlRdC5jcHAgXAog
ICAgIFVJUHJvY2Vzcy9xdC9XZWJQYWdlUHJveHlRdC5jcHAgXAogICAgIFVJUHJvY2Vzcy9xdC9X
ZWJQb3B1cE1lbnVQcm94eVF0LmNwcCBcCisgICAgVUlQcm9jZXNzL3F0L1dlYlBvcHVwTWVudVBy
b3h5UXREZXNrdG9wLmNwcCBcCiAgICAgVUlQcm9jZXNzL3F0L1dlYlByZWZlcmVuY2VzUXQuY3Bw
IFwKICAgICBXZWJQcm9jZXNzL0FwcGxpY2F0aW9uQ2FjaGUvV2ViQXBwbGljYXRpb25DYWNoZU1h
bmFnZXIuY3BwIFwKICAgICBXZWJQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9u
TWFuYWdlci5jcHAgXApAQCAtNTc5LDcgKzU4OCw4IEBAIFNPVVJDRVMgKz0gXAogICAgIFdlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHAgXAogICAgIFdlYlByb2Nlc3MvcXQvV2ViUHJvY2Vzc01haW5R
dC5jcHAgXAogICAgIFdlYlByb2Nlc3MvcXQvV2ViUHJvY2Vzc1F0LmNwcCBcCi0gICAgJCRXRUJL
SVQyX0dFTkVSQVRFRF9TT1VSQ0VTCisgICAgJCRXRUJLSVQyX0dFTkVSQVRFRF9TT1VSQ0VTIFwK
KyAgICAkJFdFQktJVDFfU09VUkNFU19TSEFSRURfV0lUSF9XRUJLSVQyCiAKIGNvbnRhaW5zKERF
RklORVMsIEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJPTApIHsKICAgICBERUZJTkVTICs9IFBM
VUdJTl9BUkNISVRFQ1RVUkVfVU5TVVBQT1JURUQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107374</attachid>
            <date>2011-09-14 12:30:44 -0700</date>
            <delta_ts>2011-09-19 09:16:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67938-20110914163039.patch</filename>
            <type>text/plain</type>
            <size>14165</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTUxMDcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBhZTY1N2QyM2VkZDM3ZmQw
OGFkMDVjYjc4YTc5YWFmYWUwOGI3NTRlLi41OTVmNjMxNDFhYTU5OTQ0MWZhMWI1YmRhNDBiOWE3
MjZmYWI0NTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTEtMDktMTQgIENhaW8g
TWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3BlbmJvc3NhLm9yZz4K
KworICAgICAgICBbUXRdIFtXSzJdIEltcGxlbWVudCBwb3B1cCBtZW51cyBpbiBRRGVza3RvcFdl
YlZpZXcgdXNpbmcgUUNvbWJvQm94CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02NzkzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEltcGxlbWVudCBhIFdlYlBvcHVwTWVudVByb3h5IHRoYXQgdXNlcyBRdFdl
YkNvbWJvQm94IChhIFFDb21ib0JveCBzdWJjbGFzcyB3ZQorICAgICAgICBoYXZlIGZvciBXSzEp
LiBUaGVuIHVzZSB0aGlzIFdlYlBvcHVwTWVudVByb3h5IGluIFFEZXNrdG9wV2ViVmlldy4gVGhl
IGltcGxlbWVudGF0aW9uCisgICAgICAgIGV4cGxpY2l0bHkgYXZvaWRzIHJ1bm5pbmcgYSBuZXN0
ZWQgbWFpbmxvb3AuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpzaG93UG9wdXBNZW51KToKKyAgICAgICAgU2lu
Y2Ugd2UgZG9uJ3QgcnVuIGEgbmVzdGVkIG1haW5sb29wLCB3ZSBuZWVkIHRvIGtlZXAgdGhlIGNs
aWVudCBwb2ludGVyIHRvIGNhbGwKKyAgICAgICAgdmFsdWVDaGFuZ2VkRm9yUG9wdXBNZW51KCku
CisKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvV2ViUG9wdXBNZW51UHJveHlRdERlc2t0b3AuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51UHJveHlRdERlc2t0b3A6Oldl
YlBvcHVwTWVudVByb3h5UXREZXNrdG9wKToKKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51
UHJveHlRdERlc2t0b3A6On5XZWJQb3B1cE1lbnVQcm94eVF0RGVza3RvcCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBvcHVwTWVudVByb3h5UXREZXNrdG9wOjpzaG93UG9wdXBNZW51KToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUG9wdXBNZW51UHJveHlRdERlc2t0b3A6OmhpZGVQb3B1cE1lbnUpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94eVF0RGVza3RvcDo6c2V0U2VsZWN0ZWRJ
bmRleCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudVByb3h5UXREZXNrdG9wOjpvblBv
cHVwTWVudUhpZGRlbik6CisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudVByb3h5UXREZXNr
dG9wOjpwb3B1bGF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1dlYlBvcHVwTWVudVByb3h5
UXREZXNrdG9wLmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94eVF0
RGVza3RvcDo6Y3JlYXRlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvcWRlc2t0b3B3ZWJwYWdl
cHJveHkuY3BwOgorICAgICAgICAoUURlc2t0b3BXZWJQYWdlUHJveHk6OmNyZWF0ZVBvcHVwTWVu
dVByb3h5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvcWRlc2t0b3B3ZWJwYWdlcHJveHkuaDoK
KyAgICAgICAgKiBXZWJLaXQyLnBybzoKKwogMjAxMS0wOS0xMyAgRXJpYyBTZWlkZWwgIDxlcmlj
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3ZlIEVOQUJMRV9TVkdfVVNFIGFzIDx1c2U+IGlz
IHJlcXVpcmVkIGJ5IEhUTUw1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwCmluZGV4IGFmYjhjMzlhNDA3YmE4MDFmZTNkMjU0ZDg1OWIzYmI4M2Q5MDYyODMuLjY2MGFm
ZmJjNTY1Yjg3MDliOWEzNjMxYTFiNWVkODNlMDgxZmJhOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0yMzA5LDcgKzIzMDksMTEgQEAgdm9pZCBXZWJQ
YWdlUHJveHk6OnNob3dQb3B1cE1lbnUoY29uc3QgSW50UmVjdCYgcmVjdCwgdWludDY0X3QgdGV4
dERpcmVjdGlvbiwgY28KICAgICBSZWZQdHI8V2ViUG9wdXBNZW51UHJveHk+IHByb3RlY3RlZEFj
dGl2ZVBvcHVwTWVudSA9IG1fYWN0aXZlUG9wdXBNZW51OwogCiAgICAgcHJvdGVjdGVkQWN0aXZl
UG9wdXBNZW51LT5zaG93UG9wdXBNZW51KHJlY3QsIHN0YXRpY19jYXN0PFRleHREaXJlY3Rpb24+
KHRleHREaXJlY3Rpb24pLCBtX3BhZ2VTY2FsZUZhY3RvciwgaXRlbXMsIGRhdGEsIHNlbGVjdGVk
SW5kZXgpOworCisgICAgLy8gU2luY2UgUXQgZG9lc24ndCB1c2UgYSBuZXN0ZWQgbWFpbmxvb3Ag
dGhlIHNob3cgdGhlIHBvcHVwIGFuZCBnZXQgdGhlIGFuc3dlciwgd2UgbmVlZCB0byBrZWVwIHRo
ZSBjbGllbnQgcG9pbnRlciB2YWxpZC4KKyNpZiAhUExBVEZPUk0oUVQpCiAgICAgcHJvdGVjdGVk
QWN0aXZlUG9wdXBNZW51LT5pbnZhbGlkYXRlKCk7CisjZW5kaWYKICAgICBwcm90ZWN0ZWRBY3Rp
dmVQb3B1cE1lbnUgPSAwOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvcXQvV2ViUG9wdXBNZW51UHJveHlRdERlc2t0b3AuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL3F0L1dlYlBvcHVwTWVudVByb3h5UXREZXNrdG9wLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYzBm
MjA2MzNiNjQyZWFmYzcyNDdhOTFmNzI5ZTk5NjY0YjUxN2RkCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1dlYlBvcHVwTWVudVByb3h5UXREZXNrdG9wLmNw
cApAQCAtMCwwICsxLDEwOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBOb2tpYSBDb3Jw
b3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJQb3B1cE1lbnVQcm94eVF0RGVza3RvcC5oIgorCisj
aW5jbHVkZSAiUGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmgiCisjaW5jbHVkZSAiV2ViUG9wdXBJdGVt
LmgiCisjaW5jbHVkZSA8UXREZWNsYXJhdGl2ZS9RU0dDYW52YXM+CisjaW5jbHVkZSA8UXREZWNs
YXJhdGl2ZS9RU0dJdGVtPgorI2luY2x1ZGUgPFF0R3VpL1FTdGFuZGFyZEl0ZW1Nb2RlbD4KKwor
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitXZWJQb3B1
cE1lbnVQcm94eVF0RGVza3RvcDo6V2ViUG9wdXBNZW51UHJveHlRdERlc2t0b3AoV2ViUG9wdXBN
ZW51UHJveHk6OkNsaWVudCogY2xpZW50LCBRU0dJdGVtKiB3ZWJWaWV3SXRlbSkKKyAgICA6IFFP
YmplY3QoKQorICAgICwgV2ViUG9wdXBNZW51UHJveHkoY2xpZW50KQorICAgICwgbV9jb21ib0Jv
eChuZXcgUXRXZWJDb21ib0JveCkKKyAgICAsIG1fd2ViVmlld0l0ZW0od2ViVmlld0l0ZW0pCisg
ICAgLCBtX3NlbGVjdGVkSW5kZXgoLTEpCit7CisgICAgUXRXZWJDb21ib0JveCogY29tYm9Cb3gg
PSBtX2NvbWJvQm94LmRhdGEoKTsKKyAgICBjb21ib0JveC0+c2V0UGFyZW50KG1fd2ViVmlld0l0
ZW0tPmNhbnZhcygpKTsKKyAgICBjb25uZWN0KGNvbWJvQm94LCBTSUdOQUwoYWN0aXZhdGVkKGlu
dCkpLCBTTE9UKHNldFNlbGVjdGVkSW5kZXgoaW50KSkpOworICAgIGNvbm5lY3QoY29tYm9Cb3gs
IFNJR05BTChkaWRIaWRlKCkpLCBTTE9UKG9uUG9wdXBNZW51SGlkZGVuKCkpLCBRdDo6UXVldWVk
Q29ubmVjdGlvbik7Cit9CisKK1dlYlBvcHVwTWVudVByb3h5UXREZXNrdG9wOjp+V2ViUG9wdXBN
ZW51UHJveHlRdERlc2t0b3AoKQoreworICAgIGRlbGV0ZSBtX2NvbWJvQm94LmRhdGEoKTsKK30K
Kwordm9pZCBXZWJQb3B1cE1lbnVQcm94eVF0RGVza3RvcDo6c2hvd1BvcHVwTWVudShjb25zdCBJ
bnRSZWN0JiByZWN0LCBXZWJDb3JlOjpUZXh0RGlyZWN0aW9uLCBkb3VibGUsIGNvbnN0IFZlY3Rv
cjxXZWJQb3B1cEl0ZW0+JiBpdGVtcywgY29uc3QgUGxhdGZvcm1Qb3B1cE1lbnVEYXRhJiwgaW50
MzJfdCBzZWxlY3RlZEluZGV4KQoreworICAgIFF0V2ViQ29tYm9Cb3gqIGNvbWJvQm94ID0gbV9j
b21ib0JveC5kYXRhKCk7CisgICAgbV9zZWxlY3RlZEluZGV4ID0gc2VsZWN0ZWRJbmRleDsKKyAg
ICBwb3B1bGF0ZShpdGVtcyk7CisgICAgY29tYm9Cb3gtPnNldEN1cnJlbnRJbmRleChzZWxlY3Rl
ZEluZGV4KTsKKyAgICBjb21ib0JveC0+c2V0R2VvbWV0cnkobV93ZWJWaWV3SXRlbS0+bWFwUmVj
dFRvU2NlbmUoUVJlY3QocmVjdCkpLnRvUmVjdCgpKTsKKyAgICBjb21ib0JveC0+c2hvd1BvcHVw
QXRDdXJzb3JQb3NpdGlvbigpOworfQorCit2b2lkIFdlYlBvcHVwTWVudVByb3h5UXREZXNrdG9w
OjpoaWRlUG9wdXBNZW51KCkKK3sKKyAgICBpZiAobV9jb21ib0JveCkKKyAgICAgICAgbV9jb21i
b0JveC5kYXRhKCktPmhpZGVQb3B1cCgpOworfQorCit2b2lkIFdlYlBvcHVwTWVudVByb3h5UXRE
ZXNrdG9wOjpzZXRTZWxlY3RlZEluZGV4KGludCBpbmRleCkKK3sKKyAgICBtX3NlbGVjdGVkSW5k
ZXggPSBpbmRleDsKK30KKwordm9pZCBXZWJQb3B1cE1lbnVQcm94eVF0RGVza3RvcDo6b25Qb3B1
cE1lbnVIaWRkZW4oKQoreworICAgIGlmIChtX2NsaWVudCkKKyAgICAgICAgbV9jbGllbnQtPnZh
bHVlQ2hhbmdlZEZvclBvcHVwTWVudSh0aGlzLCBtX3NlbGVjdGVkSW5kZXgpOworfQorCit2b2lk
IFdlYlBvcHVwTWVudVByb3h5UXREZXNrdG9wOjpwb3B1bGF0ZShjb25zdCBWZWN0b3I8V2ViUG9w
dXBJdGVtPiYgaXRlbXMpCit7CisgICAgUXRXZWJDb21ib0JveCogY29tYm9Cb3ggPSBtX2NvbWJv
Qm94LmRhdGEoKTsKKyAgICBRX0FTU0VSVChjb21ib0JveCk7CisKKyAgICBjb21ib0JveC0+Y2xl
YXIoKTsKKworICAgIFFTdGFuZGFyZEl0ZW1Nb2RlbCogbW9kZWwgPSBxb2JqZWN0X2Nhc3Q8UVN0
YW5kYXJkSXRlbU1vZGVsKj4oY29tYm9Cb3gtPm1vZGVsKCkpOworICAgIFFfQVNTRVJUKG1vZGVs
KTsKKworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgaXRlbXMuc2l6ZSgpOyArK2kpIHsKKyAg
ICAgICAgY29uc3QgV2ViUG9wdXBJdGVtJiBpdGVtID0gaXRlbXMuYXQoaSk7CisgICAgICAgIGlm
IChpdGVtLm1fdHlwZSA9PSBXZWJQb3B1cEl0ZW06OlNlcGFyYXRvcikgeworICAgICAgICAgICAg
Y29tYm9Cb3gtPmluc2VydFNlcGFyYXRvcihpKTsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAg
ICAgICB9CisgICAgICAgIGNvbWJvQm94LT5pbnNlcnRJdGVtKGksIGl0ZW0ubV90ZXh0KTsKKyAg
ICAgICAgbW9kZWwtPml0ZW0oaSktPnNldFRvb2xUaXAoaXRlbS5tX3Rvb2xUaXApOworICAgICAg
ICBtb2RlbC0+aXRlbShpKS0+c2V0RW5hYmxlZChpdGVtLm1faXNFbmFibGVkKTsKKyAgICB9Cit9
CisKKyNpbmNsdWRlICJtb2NfV2ViUG9wdXBNZW51UHJveHlRdERlc2t0b3AuY3BwIgorCit9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9x
dC9XZWJQb3B1cE1lbnVQcm94eVF0RGVza3RvcC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L3F0L1dlYlBvcHVwTWVudVByb3h5UXREZXNrdG9wLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODgzZWJjNzJmMTUx
NmY5MjQ1NWE1ZTRjNWQzNWQ1OTZiOTI1NTIyNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJQb3B1cE1lbnVQcm94eVF0RGVza3RvcC5oCkBAIC0wLDAg
KzEsNzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgTm9raWEgQ29ycG9yYXRpb24gYW5k
L29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYlBvcHVwTWVu
dVByb3h5UXREZXNrdG9wX2gKKyNkZWZpbmUgV2ViUG9wdXBNZW51UHJveHlRdERlc2t0b3BfaAor
CisjaW5jbHVkZSAiUXRXZWJDb21ib0JveC5oIgorI2luY2x1ZGUgIldlYlBvcHVwTWVudVByb3h5
LmgiCisjaW5jbHVkZSA8UXRDb3JlL1FPYmplY3Q+CisjaW5jbHVkZSA8UXRDb3JlL1FXZWFrUG9p
bnRlcj4KKworY2xhc3MgUVNHSXRlbTsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgUXRX
ZWJDb21ib0JveDsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYlBvcHVwTWVu
dVByb3h5UXREZXNrdG9wIDogcHVibGljIFFPYmplY3QsIHB1YmxpYyBXZWJQb3B1cE1lbnVQcm94
eSB7CisgICAgUV9PQkpFQ1QKKworcHVibGljOgorICAgIHZpcnR1YWwgfldlYlBvcHVwTWVudVBy
b3h5UXREZXNrdG9wKCk7CisKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJQb3B1cE1lbnVQcm94
eVF0RGVza3RvcD4gY3JlYXRlKFdlYlBvcHVwTWVudVByb3h5OjpDbGllbnQqIGNsaWVudCwgUVNH
SXRlbSogd2ViVmlld0l0ZW0pCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdl
YlBvcHVwTWVudVByb3h5UXREZXNrdG9wKGNsaWVudCwgd2ViVmlld0l0ZW0pKTsKKyAgICB9CisK
KyAgICB2aXJ0dWFsIHZvaWQgc2hvd1BvcHVwTWVudShjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jiwg
V2ViQ29yZTo6VGV4dERpcmVjdGlvbiwgZG91YmxlIHBhZ2VTY2FsZUZhY3RvciwgY29uc3QgVmVj
dG9yPFdlYlBvcHVwSXRlbT4mLCBjb25zdCBQbGF0Zm9ybVBvcHVwTWVudURhdGEmLCBpbnQzMl90
IHNlbGVjdGVkSW5kZXgpOworICAgIHZpcnR1YWwgdm9pZCBoaWRlUG9wdXBNZW51KCk7CisKK3By
aXZhdGUgUV9TTE9UUzoKKyAgICB2b2lkIHNldFNlbGVjdGVkSW5kZXgoaW50KTsKKyAgICB2b2lk
IG9uUG9wdXBNZW51SGlkZGVuKCk7CisKK3ByaXZhdGU6CisgICAgV2ViUG9wdXBNZW51UHJveHlR
dERlc2t0b3AoV2ViUG9wdXBNZW51UHJveHk6OkNsaWVudCosIFFTR0l0ZW0qIHdlYlZpZXdJdGVt
KTsKKyAgICB2b2lkIHBvcHVsYXRlKGNvbnN0IFZlY3RvcjxXZWJQb3B1cEl0ZW0+Jik7CisKKyAg
ICAvLyBRdCBndWFyZGVkIHBvaW50ZXIgYmVjYXVzZSBRV2lkZ2V0cyBoYXZlIHRoZWlyIG93biBt
ZW1vcnkgbWFuYWdlbWVudCBhbmQKKyAgICAvLyB3aGVuIGNsb3NpbmcgdGhlIFVJIHRoZSBjb21i
b2JveCB3aWxsIGJlIGRlbGV0ZWQgYmVmb3JlIHdlIGFyZS4KKyAgICBRV2Vha1BvaW50ZXI8V2Vi
Q29yZTo6UXRXZWJDb21ib0JveD4gbV9jb21ib0JveDsKKyAgICBRU0dJdGVtKiBtX3dlYlZpZXdJ
dGVtOworICAgIGludDMyX3QgbV9zZWxlY3RlZEluZGV4OworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CisKKyNlbmRpZiAvLyBXZWJQb3B1cE1lbnVQcm94eVF0RGVza3RvcF9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvcWRlc2t0b3B3ZWJwYWdlcHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L3FkZXNrdG9wd2VicGFnZXByb3h5LmNwcApp
bmRleCA0OGJjOTgwODhkNWFjZTk1MmM4MzcwMzRiNDBmOWQ0YWU5NDQwNTE2Li4wNGY5MGJmMzAy
YjQzNDYyMjA1ZDg1YzJjZTRhZWQxODllYzVkZWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvcXQvcWRlc2t0b3B3ZWJwYWdlcHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9xdC9xZGVza3RvcHdlYnBhZ2Vwcm94eS5jcHAKQEAgLTE4LDExICsxOCwx
NCBAQAogICoKICAqLwogCi0jaW5jbHVkZSAicWRlc2t0b3B3ZWJ2aWV3X3AuaCIKICNpbmNsdWRl
ICJxZGVza3RvcHdlYnBhZ2Vwcm94eS5oIgorCisjaW5jbHVkZSAicWRlc2t0b3B3ZWJ2aWV3Lmgi
CisjaW5jbHVkZSAicWRlc2t0b3B3ZWJ2aWV3X3AuaCIKICNpbmNsdWRlICJEcmF3aW5nQXJlYVBy
b3h5SW1wbC5oIgogI2luY2x1ZGUgIk5hdGl2ZVdlYk1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJO
YXRpdmVXZWJXaGVlbEV2ZW50LmgiCisjaW5jbHVkZSAiV2ViUG9wdXBNZW51UHJveHlRdERlc2t0
b3AuaCIKICNpbmNsdWRlIDxRQXBwbGljYXRpb24+CiAjaW5jbHVkZSA8UUV2ZW50PgogI2luY2x1
ZGUgPFFHcmFwaGljc1NjZW5lRHJhZ0Ryb3BFdmVudD4KQEAgLTc4LDYgKzgxLDEyIEBAIHZvaWQg
UURlc2t0b3BXZWJQYWdlUHJveHk6OmRvbmVXaXRoVG91Y2hFdmVudChjb25zdCBOYXRpdmVXZWJU
b3VjaEV2ZW50JiwgYm9vbCB3CiB9CiAjZW5kaWYKIAorUGFzc1JlZlB0cjxXZWJQb3B1cE1lbnVQ
cm94eT4gUURlc2t0b3BXZWJQYWdlUHJveHk6OmNyZWF0ZVBvcHVwTWVudVByb3h5KFdlYlBhZ2VQ
cm94eSopCit7CisgICAgUVNHSXRlbSogd2ViVmlld0l0ZW0gPSBzdGF0aWNfY2FzdDxRRGVza3Rv
cFdlYlZpZXdQcml2YXRlKj4obV92aWV3SW50ZXJmYWNlKS0+cTsKKyAgICByZXR1cm4gV2ViUG9w
dXBNZW51UHJveHlRdERlc2t0b3A6OmNyZWF0ZShtX3dlYlBhZ2VQcm94eS5nZXQoKSwgd2ViVmll
d0l0ZW0pOworfQorCiBib29sIFFEZXNrdG9wV2ViUGFnZVByb3h5OjpoYW5kbGVFdmVudChRRXZl
bnQqIGV2KQogewogICAgIHN3aXRjaCAoZXYtPnR5cGUoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL3F0L3FkZXNrdG9wd2VicGFnZXByb3h5LmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvcXQvcWRlc2t0b3B3ZWJwYWdlcHJveHkuaAppbmRleCA4M2QwNzNhMWNk
N2M5YjE5MDE3YzExMzI5YmJhNjc4MmE4MmFlNDYwLi43MWRlNzY5MmJjMjBhZWQyOGZhMjE5NTgw
ZjVhZjUzNWQ1MWJmODY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQv
cWRlc2t0b3B3ZWJwYWdlcHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQv
cWRlc2t0b3B3ZWJwYWdlcHJveHkuaApAQCAtNDcsNiArNDcsOCBAQCBwcml2YXRlOgogICAgIHZp
cnR1YWwgdm9pZCBkb25lV2l0aFRvdWNoRXZlbnQoY29uc3QgTmF0aXZlV2ViVG91Y2hFdmVudCYs
IGJvb2wgd2FzRXZlbnRIYW5kbGVkKTsKICNlbmRpZgogCisgICAgdmlydHVhbCBQYXNzUmVmUHRy
PFdlYktpdDo6V2ViUG9wdXBNZW51UHJveHk+IGNyZWF0ZVBvcHVwTWVudVByb3h5KFdlYktpdDo6
V2ViUGFnZVByb3h5Kik7CisKICAgICB2aXJ0dWFsIHZvaWQgdGltZXJFdmVudChRVGltZXJFdmVu
dCopOwogCiAgICAgYm9vbCBoYW5kbGVNb3VzZU1vdmVFdmVudChRR3JhcGhpY3NTY2VuZU1vdXNl
RXZlbnQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIucHJvIGIvU291cmNl
L1dlYktpdDIvV2ViS2l0Mi5wcm8KaW5kZXggMmQwZTZkZGM5NTczNjYyZTU5ZmU0MzZkMmJjMGNl
ZDZkMDM3ZjhhMS4uYWJjZGQwNDJmMTU2NDY0Y2Y1ZWVkYzBjOGI1ZGI4NjlkZDVmMDc4ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi5wcm8KKysrIGIvU291cmNlL1dlYktpdDIv
V2ViS2l0Mi5wcm8KQEAgLTIwLDYgKzIwLDEyIEBAIFFUICs9IGRlY2xhcmF0aXZlCiAjIEJ1aWxk
IGJvdGggZGVidWcgYW5kIHJlbGVhc2UgY29uZmlndXJhdGlvbnMKIG1hYzogQ09ORklHICs9IGJ1
aWxkX2FsbAogCitXRUJLSVQxX0hFQURFUlNfU0hBUkVEX1dJVEhfV0VCS0lUMj0gXAorICAgICQk
UFdELy4uL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RdFdlYkNvbWJvQm94LmgKKworV0VCS0lU
MV9TT1VSQ0VTX1NIQVJFRF9XSVRIX1dFQktJVDIgPSBcCisgICAgJCRQV0QvLi4vV2ViS2l0L3F0
L1dlYkNvcmVTdXBwb3J0L1F0V2ViQ29tYm9Cb3guY3BwCisKIFdFQktJVDJfR0VORVJBVEVEX0hF
QURFUlMgPSBcCiAgICAgJCRXRUJLSVQyX0dFTkVSQVRFRF9TT1VSQ0VTX0RJUi9BdXRoZW50aWNh
dGlvbk1hbmFnZXJNZXNzYWdlcy5oIFwKICAgICAkJFdFQktJVDJfR0VORVJBVEVEX1NPVVJDRVNf
RElSL0Rvd25sb2FkUHJveHlNZXNzYWdlcy5oIFwKQEAgLTI1OCw2ICsyNjQsNyBAQCBIRUFERVJT
ICs9IFwKICAgICBVSVByb2Nlc3MvcXQvV2ViVW5kb0NvbW1hbmRRdC5oIFwKICAgICBVSVByb2Nl
c3MvcXQvV2ViQ29udGV4dE1lbnVQcm94eVF0LmggXAogICAgIFVJUHJvY2Vzcy9xdC9XZWJQb3B1
cE1lbnVQcm94eVF0LmggXAorICAgIFVJUHJvY2Vzcy9xdC9XZWJQb3B1cE1lbnVQcm94eVF0RGVz
a3RvcC5oIFwKICAgICBXZWJQcm9jZXNzL0FwcGxpY2F0aW9uQ2FjaGUvV2ViQXBwbGljYXRpb25D
YWNoZU1hbmFnZXIuaCBcCiAgICAgV2ViUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNh
dGlvbk1hbmFnZXIuaCBcCiAgICAgV2ViUHJvY2Vzcy9Db29raWVzL1dlYkNvb2tpZU1hbmFnZXIu
aCBcCkBAIC0zMjIsNyArMzI5LDggQEAgSEVBREVSUyArPSBcCiAgICAgV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuaCBcCiAgICAgV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2VHcm91cFByb3h5
LmggXAogICAgIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIFwKLSAgICAkJFdFQktJVDJfR0VORVJB
VEVEX0hFQURFUlMKKyAgICAkJFdFQktJVDJfR0VORVJBVEVEX0hFQURFUlMgXAorICAgICQkV0VC
S0lUMV9IRUFERVJTX1NIQVJFRF9XSVRIX1dFQktJVDIKIAogU09VUkNFUyArPSBcCiAgICAgUGxh
dGZvcm0vQ29yZUlQQy9Bcmd1bWVudENvZGVycy5jcHAgXApAQCAtNDkxLDYgKzQ5OSw3IEBAIFNP
VVJDRVMgKz0gXAogICAgIFVJUHJvY2Vzcy9xdC9XZWJJbnNwZWN0b3JQcm94eVF0LmNwcCBcCiAg
ICAgVUlQcm9jZXNzL3F0L1dlYlBhZ2VQcm94eVF0LmNwcCBcCiAgICAgVUlQcm9jZXNzL3F0L1dl
YlBvcHVwTWVudVByb3h5UXQuY3BwIFwKKyAgICBVSVByb2Nlc3MvcXQvV2ViUG9wdXBNZW51UHJv
eHlRdERlc2t0b3AuY3BwIFwKICAgICBVSVByb2Nlc3MvcXQvV2ViUHJlZmVyZW5jZXNRdC5jcHAg
XAogICAgIFdlYlByb2Nlc3MvQXBwbGljYXRpb25DYWNoZS9XZWJBcHBsaWNhdGlvbkNhY2hlTWFu
YWdlci5jcHAgXAogICAgIFdlYlByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25N
YW5hZ2VyLmNwcCBcCkBAIC01NzksNyArNTg4LDggQEAgU09VUkNFUyArPSBcCiAgICAgV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmNwcCBcCiAgICAgV2ViUHJvY2Vzcy9xdC9XZWJQcm9jZXNzTWFpblF0
LmNwcCBcCiAgICAgV2ViUHJvY2Vzcy9xdC9XZWJQcm9jZXNzUXQuY3BwIFwKLSAgICAkJFdFQktJ
VDJfR0VORVJBVEVEX1NPVVJDRVMKKyAgICAkJFdFQktJVDJfR0VORVJBVEVEX1NPVVJDRVMgXAor
ICAgICQkV0VCS0lUMV9TT1VSQ0VTX1NIQVJFRF9XSVRIX1dFQktJVDIKIAogY29udGFpbnMoREVG
SU5FUywgRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEk9MCkgewogICAgIERFRklORVMgKz0gUExV
R0lOX0FSQ0hJVEVDVFVSRV9VTlNVUFBPUlRFRAo=
</data>
<flag name="review"
          id="104058"
          type_id="1"
          status="+"
          setter="kling"
    />
    <flag name="commit-queue"
          id="104678"
          type_id="3"
          status="-"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>