<?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>54116</bug_id>
          
          <creation_ts>2011-02-09 10:10:45 -0800</creation_ts>
          <short_desc>[GTK] Add support in DRT to log &quot;accessibility events&quot;</short_desc>
          <delta_ts>2011-02-10 01:03:55 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>53146</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mario Sanchez Prada">mario</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cfleizach</cc>
    
    <cc>mrobinson</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>348344</commentid>
    <comment_count>0</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2011-02-09 10:10:45 -0800</bug_when>
    <thetext>At the moment, there&apos;s no easy way to check, from a Layout Test, that some accessibility-related events happen when the user interacts with the content of an HTML file.

In the case of the GTK port, it would be very helpful if we could combine the usage of the eventSender, to simulate user interaction, with checking that the right (ATK specific) signals are emitted by WebKitGTK, which is something that can&apos;t be done right now. In this case (GTK), those signals would be the &quot;accessibility events&quot; mentioned in the title, but those could be something else for other platforms, or even extended to other stuff (not just signals) in the GTK port if needed.

As an example to showcase what I&apos;m talking about, this could be the actual output (GTK specific) for a layout test using this new stuff:

   Accessibility object emitted &quot;focus-event = 0&quot; / Name: &quot;baz&quot; / Role: 34
   Accessibility object emitted &quot;state-change:focused = 0&quot; / Name: &quot;baz&quot; / Role: 34
   Accessibility object emitted &quot;state-change:selected = 1&quot; / Name: &quot;bar&quot; / Role: 34
   Accessibility object emitted &quot;focus-event = 1&quot; / Name: &quot;bar&quot; / Role: 34
   Accessibility object emitted &quot;state-change:focused = 1&quot; / Name: &quot;bar&quot; / Role: 34
   Accessibility object emitted &quot;focus-event = 1&quot; / Name: &quot;foo&quot; / Role: 11
   Accessibility object emitted &quot;state-change:focused = 1&quot; / Name: &quot;foo&quot; / Role: 11
   Accessibility object emitted &quot;focus-event = 0&quot; / Name: &quot;bar&quot; / Role: 34
   Accessibility object emitted &quot;state-change:focused = 0&quot; / Name: &quot;bar&quot; / Role: 34
   Accessibility object emitted &quot;state-change:selected = 1&quot; / Name: &quot;foo&quot; / Role: 34
   Accessibility object emitted &quot;focus-event = 1&quot; / Name: &quot;foo&quot; / Role: 34
   Accessibility object emitted &quot;state-change:focused = 1&quot; / Name: &quot;foo&quot; / Role: 34
  
   Bla bla bla.

   On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.


   PASS successfullyParsed is true

   TEST COMPLETE


Last but not least, this is very important addition for WebKitGTK since it blocks the proper implementation of tests (e.g. it would be needed to test the patch for bug 53146) involving the emission of signal, which is something we were working around by implementing unit tests instead of layout tests. But this is not always possible (as for bug 53146) so something like this would be really helpful indeed.

Chris, I adding you to CC because I guess you might be interested on this stuff. Feel free to ignore it otherwise :-)

Attaching a patch I&apos;ve been working this afternoon in some minutes...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348345</commentid>
    <comment_count>1</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2011-02-09 10:11:39 -0800</bug_when>
    <thetext>Blocking bug 53146, as this stuff (or something similar) would be required to implement a proper test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348387</commentid>
    <comment_count>2</comment_count>
      <attachid>81837</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2011-02-09 11:00:38 -0800</bug_when>
    <thetext>Created attachment 81837
Patch proposal

Attaching a patch proposal, with a specific implementation for GTK and dummy ones for Mac and Win.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348546</commentid>
    <comment_count>3</comment_count>
      <attachid>81867</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2011-02-09 13:59:34 -0800</bug_when>
    <thetext>Created attachment 81867
Patch proposal

Sorry, this is the right one to review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348831</commentid>
    <comment_count>4</comment_count>
      <attachid>81867</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-02-09 23:03:27 -0800</bug_when>
    <thetext>Comment on attachment 81867
Patch proposal

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

r=me

&gt; Tools/DumpRenderTree/AccessibilityController.cpp:86
&gt; +

Seems like this should take an argument (true/false) so you can turn this on or off</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348865</commentid>
    <comment_count>5</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2011-02-10 00:49:59 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 81867 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=81867&amp;action=review
&gt; 
&gt; r=me
&gt;

Thanks for the quick review!

&gt; &gt; Tools/DumpRenderTree/AccessibilityController.cpp:86
&gt; &gt; +
&gt; 
&gt; Seems like this should take an argument (true/false) so you can turn this on or off

I just followed the same pattern I&apos;ve seen for other functions, such as logFocusEvents and logValueChangeEvents: you just enable the feature once per test (with accessibilityController.logAccessibilityEvents()) and it gets always reset in the AccessibilityController::resetToConsistentState() method.

I think that&apos;s enough for this cases, but if you (well, or somebody else) think it would be better to add that extra flexibility just file a bug, or ask me to do it so, and I gladly add that feature as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348872</commentid>
    <comment_count>6</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2011-02-10 01:03:55 -0800</bug_when>
    <thetext>Committed r78179: &lt;http://trac.webkit.org/changeset/78179&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81837</attachid>
            <date>2011-02-09 11:00:38 -0800</date>
            <delta_ts>2011-02-09 13:59:34 -0800</delta_ts>
            <desc>Patch proposal</desc>
            <filename>0001-2011-02-09-Mario-Sanchez-Prada-msanchez-igalia.com.patch</filename>
            <type>text/plain</type>
            <size>11958</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSBkYjUwN2E3ZWU2MGFkZGZkMWM4NjQyNWQ1MDhmNjdiYWQ4ZTc3MmE4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtc2FuY2hlekBpZ2FsaWEu
Y29tPgpEYXRlOiBXZWQsIDkgRmViIDIwMTEgMTk6NTg6MTkgKzAxMDAKU3ViamVjdDogW1BBVENI
XSAyMDExLTAyLTA5ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4K
CiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgIFtHVEtdIEFkZCBz
dXBwb3J0IGluIERSVCB0byBsb2cgImFjY2Vzc2liaWxpdHkgZXZlbnRzIgogICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDExNgoKICAgICAgICBBZGRlZCBh
IHdheSB0byBsb2cgYWNjZXNzaWJpbGl0eSByZWxhdGVkIGV2ZW50cywgaW4gYQogICAgICAgIHBs
YXRmb3JtLWRlcGVuZGFudCB3YXkuCgogICAgICAgIEFkZCBuZXcgZnVuY3Rpb24gdG8gQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIuCgogICAgICAgICogRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIuaDoKICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmNwcDoKICAgICAgICAobG9nQWNjZXNzaWJpbGl0eUV2ZW50c0NhbGxiYWNrKTogTmV3
IGNhbGxiYWNrLgogICAgICAgIChBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6Z2V0SlNDbGFzcyk6
IEFkZGVkIG5ldyBmdW5jdGlvbi4KICAgICAgICAoQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnJl
c2V0VG9Db25zaXN0ZW50U3RhdGUpOiBJbml0aWFsaXplZAogICAgICAgIGNhbGxpbmcgc2V0TG9n
QWNjZXNzaWJpbGl0eUV2ZW50cyhmYWxzZSkuCgogICAgICAgIFByb3ZpZGVkIGltcGxlbWVudGF0
aW9uIGZvciB0aGUgR1RLIHBvcnQuCgogICAgICAgICogRHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vz
c2liaWxpdHlDb250cm9sbGVyR3RrLmNwcDoKICAgICAgICAoYWNjZXNzaWJpbGl0eV9ldmVudF9s
aXN0ZW5lcik6IENvbW1vbiBsaXN0ZW5lciBmb3IgbG9nZ2luZwogICAgICAgIGluZm9ybWF0aW9u
IGFib3V0IGFsbCB0aGUgc2lnbmFscyBlbWl0dGVkIGJ5IGFueSBBdGtPYmplY3QuCiAgICAgICAg
KEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpzZXRMb2dBY2Nlc3NpYmlsaXR5RXZlbnRzKTogQWRk
IG9yCiAgICAgICAgcmVtb3ZlIGxpc3RlbmVycyBmb3Igc2lnbmFscywgYXMgc3BlY2lmaWVkIGJ5
IHRoZSBwYXJhbWV0ZXIuCgogICAgICAgIFByb3ZpZGUgZHVtbXkgaW1wbGVtZW50YXRpb25zIGZv
ciBtYWMgYW5kIHdpbiBwb3J0cy4KCiAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXJNYWMubW06CiAgICAgICAgKEFjY2Vzc2liaWxpdHlDb250cm9sbGVy
OjpzZXRMb2dBY2Nlc3NpYmlsaXR5RXZlbnRzKToKICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dp
bi9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlcldpbi5jcHA6CiAgICAgICAgKEFjY2Vzc2liaWxpdHlD
b250cm9sbGVyOjpzZXRMb2dBY2Nlc3NpYmlsaXR5RXZlbnRzKToKLS0tCiBUb29scy9DaGFuZ2VM
b2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMzQgKysrKysrKwogVG9v
bHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3BwICAgfCAgICA5ICsr
CiBUb29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oICAgICB8ICAg
IDEgKwogLi4uL2d0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckd0ay5jcHAgICAgICAgICAgICAg
fCAgIDk1ICsrKysrKysrKysrKysrKysrKysrCiAuLi4vbWFjL0FjY2Vzc2liaWxpdHlDb250cm9s
bGVyTWFjLm1tICAgICAgICAgICAgICB8ICAgIDQgKwogLi4uL3dpbi9BY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlcldpbi5jcHAgICAgICAgICAgICAgfCAgICA0ICsKIDYgZmlsZXMgY2hhbmdlZCwgMTQ3
IGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdl
TG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDQ2NzM4ODAuLjc3OTlhZDAgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNyBAQAor
MjAxMS0wMi0wOSAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0dUS10gQWRk
IHN1cHBvcnQgaW4gRFJUIHRvIGxvZyAiYWNjZXNzaWJpbGl0eSBldmVudHMiCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDExNgorCisgICAgICAgIEFk
ZGVkIGEgd2F5IHRvIGxvZyBhY2Nlc3NpYmlsaXR5IHJlbGF0ZWQgZXZlbnRzLCBpbiBhCisgICAg
ICAgIHBsYXRmb3JtLWRlcGVuZGFudCB3YXkuCisKKyAgICAgICAgQWRkIG5ldyBmdW5jdGlvbiB0
byBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlci4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0Fj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAobG9nQWNjZXNzaWJpbGl0eUV2ZW50c0Nh
bGxiYWNrKTogTmV3IGNhbGxiYWNrLgorICAgICAgICAoQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6
OmdldEpTQ2xhc3MpOiBBZGRlZCBuZXcgZnVuY3Rpb24uCisgICAgICAgIChBY2Nlc3NpYmlsaXR5
Q29udHJvbGxlcjo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSk6IEluaXRpYWxpemVkCisgICAgICAg
IGNhbGxpbmcgc2V0TG9nQWNjZXNzaWJpbGl0eUV2ZW50cyhmYWxzZSkuCisKKyAgICAgICAgUHJv
dmlkZWQgaW1wbGVtZW50YXRpb24gZm9yIHRoZSBHVEsgcG9ydC4KKworICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckd0ay5jcHA6CisgICAgICAgIChh
Y2Nlc3NpYmlsaXR5X2V2ZW50X2xpc3RlbmVyKTogQ29tbW9uIGxpc3RlbmVyIGZvciBsb2dnaW5n
CisgICAgICAgIGluZm9ybWF0aW9uIGFib3V0IGFsbCB0aGUgc2lnbmFscyBlbWl0dGVkIGJ5IGFu
eSBBdGtPYmplY3QuCisgICAgICAgIChBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6c2V0TG9nQWNj
ZXNzaWJpbGl0eUV2ZW50cyk6IEFkZCBvcgorICAgICAgICByZW1vdmUgbGlzdGVuZXJzIGZvciBz
aWduYWxzLCBhcyBzcGVjaWZpZWQgYnkgdGhlIHBhcmFtZXRlci4KKworICAgICAgICBQcm92aWRl
IGR1bW15IGltcGxlbWVudGF0aW9ucyBmb3IgbWFjIGFuZCB3aW4gcG9ydHMuCisKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJNYWMubW06CisgICAg
ICAgIChBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6c2V0TG9nQWNjZXNzaWJpbGl0eUV2ZW50cyk6
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyV2lu
LmNwcDoKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpzZXRMb2dBY2Nlc3NpYmls
aXR5RXZlbnRzKToKKwogMjAxMS0wMi0wOCAgS3VuZHUgU3VjaGlzbWl0YSAgPHN1Y2hpLmt1bmR1
QG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBMYXN6bG8gR29tYm9zLgpkaWZmIC0t
Z2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3BwIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3BwCmluZGV4IDc5
ODM4OWYuLjRmY2Q0ZjUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2li
aWxpdHlDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmls
aXR5Q29udHJvbGxlci5jcHAKQEAgLTc3LDYgKzc3LDEzIEBAIHN0YXRpYyBKU1ZhbHVlUmVmIGxv
Z1Njcm9sbGluZ1N0YXJ0RXZlbnRzQ2FsbGJhY2soSlNDb250ZXh0UmVmIGN0eCwgSlNPYmplY3RS
ZWYsCiAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGN0eCk7CiB9CiAKK3N0YXRpYyBK
U1ZhbHVlUmVmIGxvZ0FjY2Vzc2liaWxpdHlFdmVudHNDYWxsYmFjayhKU0NvbnRleHRSZWYgY3R4
LCBKU09iamVjdFJlZiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90LCBjb25zdCBKU1Zh
bHVlUmVmW10sIEpTVmFsdWVSZWYqKQoreworICAgIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyKiBj
b250cm9sbGVyID0gc3RhdGljX2Nhc3Q8QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIqPihKU09iamVj
dEdldFByaXZhdGUodGhpc09iamVjdCkpOworICAgIGNvbnRyb2xsZXItPnNldExvZ0FjY2Vzc2li
aWxpdHlFdmVudHModHJ1ZSk7CisgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGN0eCk7
Cit9CisKIHN0YXRpYyBKU1ZhbHVlUmVmIGdldEVsZW1lbnRBdFBvaW50Q2FsbGJhY2soSlNDb250
ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2Jq
ZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwg
SlNWYWx1ZVJlZiogZXhjZXB0aW9uKQogewogICAgIGludCB4ID0gMDsKQEAgLTk2LDYgKzEwMyw3
IEBAIEpTQ2xhc3NSZWYgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmdldEpTQ2xhc3MoKQogICAg
ICAgICB7ICJsb2dGb2N1c0V2ZW50cyIsIGxvZ0ZvY3VzRXZlbnRzQ2FsbGJhY2ssIGtKU1Byb3Bl
cnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwK
ICAgICAgICAgeyAibG9nVmFsdWVDaGFuZ2VFdmVudHMiLCBsb2dWYWx1ZUNoYW5nZUV2ZW50c0Nh
bGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1
dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgImxvZ1Njcm9sbGluZ1N0YXJ0RXZlbnRzIiwgbG9n
U2Nyb2xsaW5nU3RhcnRFdmVudHNDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25s
eSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAorICAgICAgICB7ICJsb2dBY2Nl
c3NpYmlsaXR5RXZlbnRzIiwgbG9nQWNjZXNzaWJpbGl0eUV2ZW50c0NhbGxiYWNrLCBrSlNQcm9w
ZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0s
CiAgICAgICAgIHsgImVsZW1lbnRBdFBvaW50IiwgZ2V0RWxlbWVudEF0UG9pbnRDYWxsYmFjaywg
a0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERl
bGV0ZSB9LAogICAgICAgICB7IDAsIDAsIDAgfQogICAgIH07CkBAIC0xMTksNCArMTI3LDUgQEAg
dm9pZCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpCiAg
ICAgc2V0TG9nRm9jdXNFdmVudHMoZmFsc2UpOwogICAgIHNldExvZ1ZhbHVlQ2hhbmdlRXZlbnRz
KGZhbHNlKTsKICAgICBzZXRMb2dTY3JvbGxpbmdTdGFydEV2ZW50cyhmYWxzZSk7CisgICAgc2V0
TG9nQWNjZXNzaWJpbGl0eUV2ZW50cyhmYWxzZSk7CiB9CmRpZmYgLS1naXQgYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuaAppbmRleCA1YTZjYTEzLi40NjJjNDg0IDEwMDY0
NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oCisr
KyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmgKQEAgLTUw
LDYgKzUwLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0TG9nRm9jdXNFdmVudHMoYm9vbCk7CiAg
ICAgdm9pZCBzZXRMb2dWYWx1ZUNoYW5nZUV2ZW50cyhib29sKTsKICAgICB2b2lkIHNldExvZ1Nj
cm9sbGluZ1N0YXJ0RXZlbnRzKGJvb2wpOworICAgIHZvaWQgc2V0TG9nQWNjZXNzaWJpbGl0eUV2
ZW50cyhib29sKTsKIAogICAgIHZvaWQgcmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOwogCmRpZmYg
LS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJH
dGsuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVy
R3RrLmNwcAppbmRleCBjNTcyNjMzLi5lNTY2ODY5IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJHdGsuY3BwCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckd0ay5jcHAKQEAgLTM1LDYg
KzM1LDE1IEBACiAjaW5jbHVkZSA8Z3RrL2d0ay5oPgogI2luY2x1ZGUgPHdlYmtpdC93ZWJraXQu
aD4KIAorc3RhdGljIGJvb2wgbG9nQWNjZXNzaWJpbGl0eUV2ZW50cyA9IGZhbHNlOworCitzdGF0
aWMgZ3VpbnQgc3RhdGVfY2hhbmdlX2xpc3RlbmVyX2lkID0gMDsKK3N0YXRpYyBndWludCBmb2N1
c19ldmVudF9saXN0ZW5lcl9pZCA9IDA7CitzdGF0aWMgZ3VpbnQgYWN0aXZlX2Rlc2NlbmRhbnRf
Y2hhbmdlZF9saXN0ZW5lcl9pZCA9IDA7CitzdGF0aWMgZ3VpbnQgY2hpbGRyZW5fY2hhbmdlZF9s
aXN0ZW5lcl9pZCA9IDA7CitzdGF0aWMgZ3VpbnQgcHJvcGVydHlfY2hhbmdlZF9saXN0ZW5lcl9p
ZCA9IDA7CitzdGF0aWMgZ3VpbnQgdmlzaWJsZV9kYXRhX2NoYW5nZWRfbGlzdGVuZXJfaWQgPSAw
OworCiBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIoKQog
ewogfQpAQCAtNzksNiArODgsOTIgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6c2V0
TG9nVmFsdWVDaGFuZ2VFdmVudHMoYm9vbCkKIHsKIH0KIAorc3RhdGljIGdib29sZWFuIGFjY2Vz
c2liaWxpdHlfZXZlbnRfbGlzdGVuZXIoR1NpZ25hbEludm9jYXRpb25IaW50ICpzaWduYWxfaGlu
dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3VpbnQgbl9w
YXJhbV92YWx1ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IEdWYWx1ZSAqcGFyYW1fdmFsdWVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBncG9pbnRlciBkYXRhKQoreworICAgIC8vIERpc2Nvbm5lY3QgdGhl
IGhhbmRsZXIgaWYgbm8gbG9uZ2VyIGxvZ2dpbmcgZXZlbnRzLgorICAgIGlmICghbG9nQWNjZXNz
aWJpbGl0eUV2ZW50cykKKyAgICAgICAgcmV0dXJuIEZBTFNFOworCisgICAgLy8gQXQgbGVhc3Qg
d2Ugc2hvdWxkIHJlY2VpdmUgdGhlIGluc3RhbmNlIGVtaXR0aW5nIHRoZSBzaWduYWwuCisgICAg
aWYgKG5fcGFyYW1fdmFsdWVzIDwgMSkKKyAgICAgICAgcmV0dXJuIFRSVUU7CisKKyAgICBBdGtP
YmplY3QqIGFjY2Vzc2libGUgPSBBVEtfT0JKRUNUKGdfdmFsdWVfZ2V0X29iamVjdCgmcGFyYW1f
dmFsdWVzWzBdKSk7CisgICAgY29uc3QgZ2NoYXIqIGF4T2JqZWN0TmFtZSA9IDA7CisgICAgZ3Vp
bnQgYXhPYmplY3RSb2xlID0gMDsKKyAgICBpZiAoYWNjZXNzaWJsZSkgeworICAgICAgICBheE9i
amVjdE5hbWUgPSBhdGtfb2JqZWN0X2dldF9uYW1lKGFjY2Vzc2libGUpOworICAgICAgICBheE9i
amVjdFJvbGUgPSBhdGtfb2JqZWN0X2dldF9yb2xlKGFjY2Vzc2libGUpOworICAgIH0KKworICAg
IEdTaWduYWxRdWVyeSBzaWduYWxfcXVlcnk7CisgICAgZ2NoYXIqIHNpZ25hbE5hbWUgPSAwOwor
CisgICAgZ19zaWduYWxfcXVlcnkoc2lnbmFsX2hpbnQtPnNpZ25hbF9pZCwgJnNpZ25hbF9xdWVy
eSk7CisKKyAgICBpZiAoIWdfc3RyY21wMChzaWduYWxfcXVlcnkuc2lnbmFsX25hbWUsICJzdGF0
ZS1jaGFuZ2UiKSkgeworICAgICAgICBzaWduYWxOYW1lID0gZ19zdHJkdXBfcHJpbnRmKCJzdGF0
ZS1jaGFuZ2U6JXMgPSAlZCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Z192YWx1ZV9nZXRfc3RyaW5nKCZwYXJhbV92YWx1ZXNbMV0pLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGdfdmFsdWVfZ2V0X2Jvb2xlYW4oJnBhcmFtX3ZhbHVlc1syXSkp
OworICAgIH0gZWxzZSBpZiAoIWdfc3RyY21wMChzaWduYWxfcXVlcnkuc2lnbmFsX25hbWUsICJm
b2N1cy1ldmVudCIpKSB7CisgICAgICAgIHNpZ25hbE5hbWUgPSBnX3N0cmR1cF9wcmludGYoImZv
Y3VzLWV2ZW50ID0gJWQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdf
dmFsdWVfZ2V0X2Jvb2xlYW4oJnBhcmFtX3ZhbHVlc1sxXSkpOworICAgIH0gZWxzZSBpZiAoIWdf
c3RyY21wMChzaWduYWxfcXVlcnkuc2lnbmFsX25hbWUsICJjaGlsZHJlbi1jaGFuZ2VkIikpIHsK
KyAgICAgICAgc2lnbmFsTmFtZSA9IGdfc3RyZHVwX3ByaW50ZigiY2hpbGRyZW4tY2hhbmdlZCA9
ICVkIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3ZhbHVlX2dldF91
aW50KCZwYXJhbV92YWx1ZXNbMV0pKTsKKyAgICB9IGVsc2UgeworICAgICAgICBzaWduYWxOYW1l
ID0gZ19zdHJkdXAoc2lnbmFsX3F1ZXJ5LnNpZ25hbF9uYW1lKTsKKyAgICB9CisKKyAgICAvLyBU
cnkgdG8gcHJvdmlkZSBhbHdheXMgYSBuYW1lIHRvIGJlIGxvZ2dlZCBmb3IgdGhlIG9iamVjdC4K
KyAgICBnY2hhciogb2JqZWN0TmFtZSA9IDA7CisgICAgaWYgKCFheE9iamVjdE5hbWUgfHwgKmF4
T2JqZWN0TmFtZSA9PSAnXDAnKQorICAgICAgICBvYmplY3ROYW1lID0gZ19zdHJkdXAoIihObyBu
YW1lKSIpOworICAgIGVsc2UKKyAgICAgICAgb2JqZWN0TmFtZSA9IGdfc3RyZHVwKGF4T2JqZWN0
TmFtZSk7CisKKyAgICBwcmludGYoIkFjY2Vzc2liaWxpdHkgb2JqZWN0IGVtaXR0ZWQgXCIlc1wi
IC8gTmFtZTogXCIlc1wiIC8gUm9sZTogJWRcbiIsIHNpZ25hbE5hbWUsIG9iamVjdE5hbWUsIGF4
T2JqZWN0Um9sZSk7CisgICAgZ19mcmVlKHNpZ25hbE5hbWUpOworICAgIGdfZnJlZShvYmplY3RO
YW1lKTsKKworICAgIHJldHVybiBUUlVFOworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlDb250cm9s
bGVyOjpzZXRMb2dBY2Nlc3NpYmlsaXR5RXZlbnRzKGJvb2wgdmFsdWUpCit7CisgICAgaWYgKGxv
Z0FjY2Vzc2liaWxpdHlFdmVudHMgPT0gdmFsdWUpCisgICAgICAgIHJldHVybjsKKworICAgIGlm
ICghdmFsdWUpIHsKKyAgICAgICAgYXRrX3JlbW92ZV9nbG9iYWxfZXZlbnRfbGlzdGVuZXIoc3Rh
dGVfY2hhbmdlX2xpc3RlbmVyX2lkKTsKKyAgICAgICAgYXRrX3JlbW92ZV9nbG9iYWxfZXZlbnRf
bGlzdGVuZXIoZm9jdXNfZXZlbnRfbGlzdGVuZXJfaWQpOworICAgICAgICBhdGtfcmVtb3ZlX2ds
b2JhbF9ldmVudF9saXN0ZW5lcihhY3RpdmVfZGVzY2VuZGFudF9jaGFuZ2VkX2xpc3RlbmVyX2lk
KTsKKyAgICAgICAgYXRrX3JlbW92ZV9nbG9iYWxfZXZlbnRfbGlzdGVuZXIoY2hpbGRyZW5fY2hh
bmdlZF9saXN0ZW5lcl9pZCk7CisgICAgICAgIGF0a19yZW1vdmVfZ2xvYmFsX2V2ZW50X2xpc3Rl
bmVyKHByb3BlcnR5X2NoYW5nZWRfbGlzdGVuZXJfaWQpOworICAgICAgICBhdGtfcmVtb3ZlX2ds
b2JhbF9ldmVudF9saXN0ZW5lcih2aXNpYmxlX2RhdGFfY2hhbmdlZF9saXN0ZW5lcl9pZCk7CisK
KyAgICAgICAgbG9nQWNjZXNzaWJpbGl0eUV2ZW50cyA9IGZhbHNlOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgLy8gRW5zdXJlIHRoYXQgYWNjZXNzaWJpbGl0eSBpcyBpbml0aWFsaXpl
ZCBmb3IgdGhlIFdlYlZpZXcgYnkgcXVlcnlpbmcgZm9yCisgICAgLy8gdGhlIHJvb3QgYWNjZXNz
aWJsZSBvYmplY3QuCisgICAgcm9vdEVsZW1lbnQoKTsKKworICAgIC8vIEFkZCBnbG9iYWwgbGlz
dGVuZXJzCisgICAgc3RhdGVfY2hhbmdlX2xpc3RlbmVyX2lkID0gYXRrX2FkZF9nbG9iYWxfZXZl
bnRfbGlzdGVuZXIoYWNjZXNzaWJpbGl0eV9ldmVudF9saXN0ZW5lciwgIkd0azpBdGtPYmplY3Q6
c3RhdGUtY2hhbmdlIik7CisgICAgZm9jdXNfZXZlbnRfbGlzdGVuZXJfaWQgPSBhdGtfYWRkX2ds
b2JhbF9ldmVudF9saXN0ZW5lcihhY2Nlc3NpYmlsaXR5X2V2ZW50X2xpc3RlbmVyLCAiR3RrOkF0
a09iamVjdDpmb2N1cy1ldmVudCIpOworICAgIGFjdGl2ZV9kZXNjZW5kYW50X2NoYW5nZWRfbGlz
dGVuZXJfaWQgPSBhdGtfYWRkX2dsb2JhbF9ldmVudF9saXN0ZW5lcihhY2Nlc3NpYmlsaXR5X2V2
ZW50X2xpc3RlbmVyLCAiR3RrOkF0a09iamVjdDphY3RpdmUtZGVzY2VuZGFudC1jaGFuZ2VkIik7
CisgICAgY2hpbGRyZW5fY2hhbmdlZF9saXN0ZW5lcl9pZCA9IGF0a19hZGRfZ2xvYmFsX2V2ZW50
X2xpc3RlbmVyKGFjY2Vzc2liaWxpdHlfZXZlbnRfbGlzdGVuZXIsICJHdGs6QXRrT2JqZWN0OmNo
aWxkcmVuLWNoYW5nZWQiKTsKKyAgICBwcm9wZXJ0eV9jaGFuZ2VkX2xpc3RlbmVyX2lkID0gYXRr
X2FkZF9nbG9iYWxfZXZlbnRfbGlzdGVuZXIoYWNjZXNzaWJpbGl0eV9ldmVudF9saXN0ZW5lciwg
Ikd0azpBdGtPYmplY3Q6cHJvcGVydHktY2hhbmdlIik7CisgICAgdmlzaWJsZV9kYXRhX2NoYW5n
ZWRfbGlzdGVuZXJfaWQgPSBhdGtfYWRkX2dsb2JhbF9ldmVudF9saXN0ZW5lcihhY2Nlc3NpYmls
aXR5X2V2ZW50X2xpc3RlbmVyLCAiR3RrOkF0a09iamVjdDp2aXNpYmxlLWRhdGEtY2hhbmdlZCIp
OworCisgICAgbG9nQWNjZXNzaWJpbGl0eUV2ZW50cyA9IHRydWU7Cit9CisKIHZvaWQgQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXI6OmFkZE5vdGlmaWNhdGlvbkxpc3RlbmVyKFBsYXRmb3JtVUlFbGVt
ZW50LCBKU09iamVjdFJlZikKIHsKIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L21hYy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlck1hYy5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L21hYy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlck1hYy5tbQppbmRleCAxYTlmOWM5Li5kNDFmMDFk
IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXJNYWMubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0FjY2Vzc2liaWxpdHlD
b250cm9sbGVyTWFjLm1tCkBAIC03NCw2ICs3NCwxMCBAQCB2b2lkIEFjY2Vzc2liaWxpdHlDb250
cm9sbGVyOjpzZXRMb2dWYWx1ZUNoYW5nZUV2ZW50cyhib29sKQogewogfQogCit2b2lkIEFjY2Vz
c2liaWxpdHlDb250cm9sbGVyOjpzZXRMb2dBY2Nlc3NpYmlsaXR5RXZlbnRzKGJvb2wpCit7Cit9
CisKIHZvaWQgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmFkZE5vdGlmaWNhdGlvbkxpc3RlbmVy
KFBsYXRmb3JtVUlFbGVtZW50LCBKU09iamVjdFJlZikKIHsKIH0KZGlmZiAtLWdpdCBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL3dpbi9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlcldpbi5jcHAgYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJXaW4uY3BwCmluZGV4
IGYwM2MxMDIuLjZlNGVlNDYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9B
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlcldpbi5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
d2luL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyV2luLmNwcApAQCAtMjEzLDYgKzIxMywxMCBAQCB2
b2lkIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpzZXRMb2dTY3JvbGxpbmdTdGFydEV2ZW50cyhi
b29sIGxvZ1Njcm9sbGluZ1N0YXJ0RQogICAgIEFTU0VSVChtX3Njcm9sbGluZ1N0YXJ0RXZlbnRI
b29rKTsKIH0KIAordm9pZCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6c2V0TG9nQWNjZXNzaWJp
bGl0eUV2ZW50cyhib29sKQoreworfQorCiBzdGF0aWMgc3RyaW5nIHN0cmluZ0V2ZW50KERXT1JE
IGV2ZW50KQogewogICAgIHN3aXRjaChldmVudCkgewotLSAKMS43LjMuNQoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81867</attachid>
            <date>2011-02-09 13:59:34 -0800</date>
            <delta_ts>2011-02-09 23:03:27 -0800</delta_ts>
            <desc>Patch proposal</desc>
            <filename>0001-2011-02-09-Mario-Sanchez-Prada-msanchez-igalia.com.patch</filename>
            <type>text/plain</type>
            <size>12460</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSAwMDMyMDc2OWI5YzRlNjkwOWNlYTllNGJlM2RiNGE4OTQ0ZWY0YjJlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtc2FuY2hlekBpZ2FsaWEu
Y29tPgpEYXRlOiBXZWQsIDkgRmViIDIwMTEgMTk6NTg6MTkgKzAxMDAKU3ViamVjdDogW1BBVENI
XSAyMDExLTAyLTA5ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4K
CiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgIFtHVEtdIEFkZCBz
dXBwb3J0IGluIERSVCB0byBsb2cgImFjY2Vzc2liaWxpdHkgZXZlbnRzIgogICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDExNgoKICAgICAgICBBZGRlZCBh
IHdheSB0byBsb2cgYWNjZXNzaWJpbGl0eSByZWxhdGVkIGV2ZW50cywgaW4gYQogICAgICAgIHBs
YXRmb3JtLWRlcGVuZGFudCB3YXkuCgogICAgICAgIEFkZCBuZXcgZnVuY3Rpb24gdG8gQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIuCgogICAgICAgICogRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIuaDoKICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmNwcDoKICAgICAgICAobG9nQWNjZXNzaWJpbGl0eUV2ZW50c0NhbGxiYWNrKTogTmV3
IGNhbGxiYWNrLgogICAgICAgIChBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6Z2V0SlNDbGFzcyk6
IEFkZGVkIG5ldyBmdW5jdGlvbi4KICAgICAgICAoQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnJl
c2V0VG9Db25zaXN0ZW50U3RhdGUpOiBJbml0aWFsaXplZAogICAgICAgIGNhbGxpbmcgc2V0TG9n
QWNjZXNzaWJpbGl0eUV2ZW50cyhmYWxzZSkuCgogICAgICAgIFByb3ZpZGVkIGltcGxlbWVudGF0
aW9uIGZvciB0aGUgR1RLIHBvcnQuCgogICAgICAgICogRHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vz
c2liaWxpdHlDb250cm9sbGVyR3RrLmNwcDoKICAgICAgICAoYWNjZXNzaWJpbGl0eV9ldmVudF9s
aXN0ZW5lcik6IENvbW1vbiBsaXN0ZW5lciBmb3IgbG9nZ2luZwogICAgICAgIGluZm9ybWF0aW9u
IGFib3V0IGFsbCB0aGUgc2lnbmFscyBlbWl0dGVkIGJ5IGFueSBBdGtPYmplY3QuCiAgICAgICAg
KEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpzZXRMb2dBY2Nlc3NpYmlsaXR5RXZlbnRzKTogQWRk
IG9yCiAgICAgICAgcmVtb3ZlIGxpc3RlbmVycyBmb3Igc2lnbmFscywgYXMgc3BlY2lmaWVkIGJ5
IHRoZSBwYXJhbWV0ZXIuCgogICAgICAgIFByb3ZpZGUgZHVtbXkgaW1wbGVtZW50YXRpb25zIGZv
ciBtYWMgYW5kIHdpbiBwb3J0cy4KCiAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXJNYWMubW06CiAgICAgICAgKEFjY2Vzc2liaWxpdHlDb250cm9sbGVy
OjpzZXRMb2dBY2Nlc3NpYmlsaXR5RXZlbnRzKToKICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dp
bi9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlcldpbi5jcHA6CiAgICAgICAgKEFjY2Vzc2liaWxpdHlD
b250cm9sbGVyOjpzZXRMb2dBY2Nlc3NpYmlsaXR5RXZlbnRzKToKLS0tCiBUb29scy9DaGFuZ2VM
b2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMzQgKysrKysrCiBUb29s
cy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5jcHAgICB8ICAgIDkgKysK
IFRvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmggICAgIHwgICAg
MSArCiAuLi4vZ3RrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyR3RrLmNwcCAgICAgICAgICAgICB8
ICAxMDkgKysrKysrKysrKysrKysrKysrKysKIC4uLi9tYWMvQWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXJNYWMubW0gICAgICAgICAgICAgIHwgICAgNCArCiAuLi4vd2luL0FjY2Vzc2liaWxpdHlDb250
cm9sbGVyV2luLmNwcCAgICAgICAgICAgICB8ICAgIDQgKwogNiBmaWxlcyBjaGFuZ2VkLCAxNjEg
aW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNDY3Mzg4MC4uNzc5OWFkMCAxMDA2NDQKLS0tIGEv
VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisy
MDExLTAyLTA5ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbR1RLXSBBZGQg
c3VwcG9ydCBpbiBEUlQgdG8gbG9nICJhY2Nlc3NpYmlsaXR5IGV2ZW50cyIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0MTE2CisKKyAgICAgICAgQWRk
ZWQgYSB3YXkgdG8gbG9nIGFjY2Vzc2liaWxpdHkgcmVsYXRlZCBldmVudHMsIGluIGEKKyAgICAg
ICAgcGxhdGZvcm0tZGVwZW5kYW50IHdheS4KKworICAgICAgICBBZGQgbmV3IGZ1bmN0aW9uIHRv
IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvQWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9BY2Nlc3Np
YmlsaXR5Q29udHJvbGxlci5jcHA6CisgICAgICAgIChsb2dBY2Nlc3NpYmlsaXR5RXZlbnRzQ2Fs
bGJhY2spOiBOZXcgY2FsbGJhY2suCisgICAgICAgIChBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6
Z2V0SlNDbGFzcyk6IEFkZGVkIG5ldyBmdW5jdGlvbi4KKyAgICAgICAgKEFjY2Vzc2liaWxpdHlD
b250cm9sbGVyOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlKTogSW5pdGlhbGl6ZWQKKyAgICAgICAg
Y2FsbGluZyBzZXRMb2dBY2Nlc3NpYmlsaXR5RXZlbnRzKGZhbHNlKS4KKworICAgICAgICBQcm92
aWRlZCBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIEdUSyBwb3J0LgorCisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyR3RrLmNwcDoKKyAgICAgICAgKGFj
Y2Vzc2liaWxpdHlfZXZlbnRfbGlzdGVuZXIpOiBDb21tb24gbGlzdGVuZXIgZm9yIGxvZ2dpbmcK
KyAgICAgICAgaW5mb3JtYXRpb24gYWJvdXQgYWxsIHRoZSBzaWduYWxzIGVtaXR0ZWQgYnkgYW55
IEF0a09iamVjdC4KKyAgICAgICAgKEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpzZXRMb2dBY2Nl
c3NpYmlsaXR5RXZlbnRzKTogQWRkIG9yCisgICAgICAgIHJlbW92ZSBsaXN0ZW5lcnMgZm9yIHNp
Z25hbHMsIGFzIHNwZWNpZmllZCBieSB0aGUgcGFyYW1ldGVyLgorCisgICAgICAgIFByb3ZpZGUg
ZHVtbXkgaW1wbGVtZW50YXRpb25zIGZvciBtYWMgYW5kIHdpbiBwb3J0cy4KKworICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlck1hYy5tbToKKyAgICAg
ICAgKEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpzZXRMb2dBY2Nlc3NpYmlsaXR5RXZlbnRzKToK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJXaW4u
Y3BwOgorICAgICAgICAoQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnNldExvZ0FjY2Vzc2liaWxp
dHlFdmVudHMpOgorCiAyMDExLTAyLTA4ICBLdW5kdSBTdWNoaXNtaXRhICA8c3VjaGkua3VuZHVA
bm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IExhc3psbyBHb21ib3MuCmRpZmYgLS1n
aXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5jcHAgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5jcHAKaW5kZXggNzk4
Mzg5Zi4uNGZjZDRmNSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxp
dHlDb250cm9sbGVyLmNwcApAQCAtNzcsNiArNzcsMTMgQEAgc3RhdGljIEpTVmFsdWVSZWYgbG9n
U2Nyb2xsaW5nU3RhcnRFdmVudHNDYWxsYmFjayhKU0NvbnRleHRSZWYgY3R4LCBKU09iamVjdFJl
ZiwKICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY3R4KTsKIH0KIAorc3RhdGljIEpT
VmFsdWVSZWYgbG9nQWNjZXNzaWJpbGl0eUV2ZW50c0NhbGxiYWNrKEpTQ29udGV4dFJlZiBjdHgs
IEpTT2JqZWN0UmVmLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QsIGNvbnN0IEpTVmFs
dWVSZWZbXSwgSlNWYWx1ZVJlZiopCit7CisgICAgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIqIGNv
bnRyb2xsZXIgPSBzdGF0aWNfY2FzdDxBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcio+KEpTT2JqZWN0
R2V0UHJpdmF0ZSh0aGlzT2JqZWN0KSk7CisgICAgY29udHJvbGxlci0+c2V0TG9nQWNjZXNzaWJp
bGl0eUV2ZW50cyh0cnVlKTsKKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY3R4KTsK
K30KKwogc3RhdGljIEpTVmFsdWVSZWYgZ2V0RWxlbWVudEF0UG9pbnRDYWxsYmFjayhKU0NvbnRl
eHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmpl
Y3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBK
U1ZhbHVlUmVmKiBleGNlcHRpb24pCiB7CiAgICAgaW50IHggPSAwOwpAQCAtOTYsNiArMTAzLDcg
QEAgSlNDbGFzc1JlZiBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6Z2V0SlNDbGFzcygpCiAgICAg
ICAgIHsgImxvZ0ZvY3VzRXZlbnRzIiwgbG9nRm9jdXNFdmVudHNDYWxsYmFjaywga0pTUHJvcGVy
dHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAog
ICAgICAgICB7ICJsb2dWYWx1ZUNoYW5nZUV2ZW50cyIsIGxvZ1ZhbHVlQ2hhbmdlRXZlbnRzQ2Fs
bGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAibG9nU2Nyb2xsaW5nU3RhcnRFdmVudHMiLCBsb2dT
Y3JvbGxpbmdTdGFydEV2ZW50c0NhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5
IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCisgICAgICAgIHsgImxvZ0FjY2Vz
c2liaWxpdHlFdmVudHMiLCBsb2dBY2Nlc3NpYmlsaXR5RXZlbnRzQ2FsbGJhY2ssIGtKU1Byb3Bl
cnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwK
ICAgICAgICAgeyAiZWxlbWVudEF0UG9pbnQiLCBnZXRFbGVtZW50QXRQb2ludENhbGxiYWNrLCBr
SlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVs
ZXRlIH0sCiAgICAgICAgIHsgMCwgMCwgMCB9CiAgICAgfTsKQEAgLTExOSw0ICsxMjcsNSBAQCB2
b2lkIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlKCkKICAg
ICBzZXRMb2dGb2N1c0V2ZW50cyhmYWxzZSk7CiAgICAgc2V0TG9nVmFsdWVDaGFuZ2VFdmVudHMo
ZmFsc2UpOwogICAgIHNldExvZ1Njcm9sbGluZ1N0YXJ0RXZlbnRzKGZhbHNlKTsKKyAgICBzZXRM
b2dBY2Nlc3NpYmlsaXR5RXZlbnRzKGZhbHNlKTsKIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmggYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oCmluZGV4IDVhNmNhMTMuLjQ2MmM0ODQgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmgKKysr
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuaApAQCAtNTAs
NiArNTAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRMb2dGb2N1c0V2ZW50cyhib29sKTsKICAg
ICB2b2lkIHNldExvZ1ZhbHVlQ2hhbmdlRXZlbnRzKGJvb2wpOwogICAgIHZvaWQgc2V0TG9nU2Ny
b2xsaW5nU3RhcnRFdmVudHMoYm9vbCk7CisgICAgdm9pZCBzZXRMb2dBY2Nlc3NpYmlsaXR5RXZl
bnRzKGJvb2wpOwogCiAgICAgdm9pZCByZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CiAKZGlmZiAt
LWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckd0
ay5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJH
dGsuY3BwCmluZGV4IGM1NzI2MzMuLjE5NzZlNTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckd0ay5jcHAKKysrIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyR3RrLmNwcApAQCAtMzUsNiAr
MzUsMTUgQEAKICNpbmNsdWRlIDxndGsvZ3RrLmg+CiAjaW5jbHVkZSA8d2Via2l0L3dlYmtpdC5o
PgogCitzdGF0aWMgYm9vbCBsb2dnaW5nQWNjZXNzaWJpbGl0eUV2ZW50cyA9IGZhbHNlOworCitz
dGF0aWMgZ3VpbnQgc3RhdGVfY2hhbmdlX2xpc3RlbmVyX2lkID0gMDsKK3N0YXRpYyBndWludCBm
b2N1c19ldmVudF9saXN0ZW5lcl9pZCA9IDA7CitzdGF0aWMgZ3VpbnQgYWN0aXZlX2Rlc2NlbmRh
bnRfY2hhbmdlZF9saXN0ZW5lcl9pZCA9IDA7CitzdGF0aWMgZ3VpbnQgY2hpbGRyZW5fY2hhbmdl
ZF9saXN0ZW5lcl9pZCA9IDA7CitzdGF0aWMgZ3VpbnQgcHJvcGVydHlfY2hhbmdlZF9saXN0ZW5l
cl9pZCA9IDA7CitzdGF0aWMgZ3VpbnQgdmlzaWJsZV9kYXRhX2NoYW5nZWRfbGlzdGVuZXJfaWQg
PSAwOworCiBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIo
KQogewogfQpAQCAtNzksNiArODgsMTA2IEBAIHZvaWQgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6
OnNldExvZ1ZhbHVlQ2hhbmdlRXZlbnRzKGJvb2wpCiB7CiB9CiAKK3N0YXRpYyBnYm9vbGVhbiBh
Y2Nlc3NpYmlsaXR5X2V2ZW50X2xpc3RlbmVyKEdTaWduYWxJbnZvY2F0aW9uSGludCAqc2lnbmFs
X2hpbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1aW50
IG5fcGFyYW1fdmFsdWVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBHVmFsdWUgKnBhcmFtX3ZhbHVlcywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZ3BvaW50ZXIgZGF0YSkKK3sKKyAgICAvLyBBdCBsZWFzdCB3
ZSBzaG91bGQgcmVjZWl2ZSB0aGUgaW5zdGFuY2UgZW1pdHRpbmcgdGhlIHNpZ25hbC4KKyAgICBp
ZiAobl9wYXJhbV92YWx1ZXMgPCAxKQorICAgICAgICByZXR1cm4gVFJVRTsKKworICAgIEF0a09i
amVjdCogYWNjZXNzaWJsZSA9IEFUS19PQkpFQ1QoZ192YWx1ZV9nZXRfb2JqZWN0KCZwYXJhbV92
YWx1ZXNbMF0pKTsKKyAgICBjb25zdCBnY2hhciogYXhPYmplY3ROYW1lID0gMDsKKyAgICBndWlu
dCBheE9iamVjdFJvbGUgPSAwOworICAgIGlmIChhY2Nlc3NpYmxlKSB7CisgICAgICAgIGF4T2Jq
ZWN0TmFtZSA9IGF0a19vYmplY3RfZ2V0X25hbWUoYWNjZXNzaWJsZSk7CisgICAgICAgIGF4T2Jq
ZWN0Um9sZSA9IGF0a19vYmplY3RfZ2V0X3JvbGUoYWNjZXNzaWJsZSk7CisgICAgfQorCisgICAg
R1NpZ25hbFF1ZXJ5IHNpZ25hbF9xdWVyeTsKKyAgICBnY2hhciogc2lnbmFsTmFtZSA9IDA7CisK
KyAgICBnX3NpZ25hbF9xdWVyeShzaWduYWxfaGludC0+c2lnbmFsX2lkLCAmc2lnbmFsX3F1ZXJ5
KTsKKworICAgIGlmICghZ19zdHJjbXAwKHNpZ25hbF9xdWVyeS5zaWduYWxfbmFtZSwgInN0YXRl
LWNoYW5nZSIpKSB7CisgICAgICAgIHNpZ25hbE5hbWUgPSBnX3N0cmR1cF9wcmludGYoInN0YXRl
LWNoYW5nZTolcyA9ICVkIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn
X3ZhbHVlX2dldF9zdHJpbmcoJnBhcmFtX3ZhbHVlc1sxXSksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZ192YWx1ZV9nZXRfYm9vbGVhbigmcGFyYW1fdmFsdWVzWzJdKSk7
CisgICAgfSBlbHNlIGlmICghZ19zdHJjbXAwKHNpZ25hbF9xdWVyeS5zaWduYWxfbmFtZSwgImZv
Y3VzLWV2ZW50IikpIHsKKyAgICAgICAgc2lnbmFsTmFtZSA9IGdfc3RyZHVwX3ByaW50ZigiZm9j
dXMtZXZlbnQgPSAlZCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ192
YWx1ZV9nZXRfYm9vbGVhbigmcGFyYW1fdmFsdWVzWzFdKSk7CisgICAgfSBlbHNlIGlmICghZ19z
dHJjbXAwKHNpZ25hbF9xdWVyeS5zaWduYWxfbmFtZSwgImNoaWxkcmVuLWNoYW5nZWQiKSkgewor
ICAgICAgICBzaWduYWxOYW1lID0gZ19zdHJkdXBfcHJpbnRmKCJjaGlsZHJlbi1jaGFuZ2VkID0g
JWQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfdmFsdWVfZ2V0X3Vp
bnQoJnBhcmFtX3ZhbHVlc1sxXSkpOworICAgIH0gZWxzZSB7CisgICAgICAgIHNpZ25hbE5hbWUg
PSBnX3N0cmR1cChzaWduYWxfcXVlcnkuc2lnbmFsX25hbWUpOworICAgIH0KKworICAgIC8vIFRy
eSB0byBwcm92aWRlIGFsd2F5cyBhIG5hbWUgdG8gYmUgbG9nZ2VkIGZvciB0aGUgb2JqZWN0Lgor
ICAgIGdjaGFyKiBvYmplY3ROYW1lID0gMDsKKyAgICBpZiAoIWF4T2JqZWN0TmFtZSB8fCAqYXhP
YmplY3ROYW1lID09ICdcMCcpCisgICAgICAgIG9iamVjdE5hbWUgPSBnX3N0cmR1cCgiKE5vIG5h
bWUpIik7CisgICAgZWxzZQorICAgICAgICBvYmplY3ROYW1lID0gZ19zdHJkdXAoYXhPYmplY3RO
YW1lKTsKKworICAgIHByaW50ZigiQWNjZXNzaWJpbGl0eSBvYmplY3QgZW1pdHRlZCBcIiVzXCIg
LyBOYW1lOiBcIiVzXCIgLyBSb2xlOiAlZFxuIiwgc2lnbmFsTmFtZSwgb2JqZWN0TmFtZSwgYXhP
YmplY3RSb2xlKTsKKyAgICBnX2ZyZWUoc2lnbmFsTmFtZSk7CisgICAgZ19mcmVlKG9iamVjdE5h
bWUpOworCisgICAgcmV0dXJuIFRSVUU7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXI6OnNldExvZ0FjY2Vzc2liaWxpdHlFdmVudHMoYm9vbCBsb2dBY2Nlc3NpYmlsaXR5RXZlbnRz
KQoreworICAgIGlmIChsb2dBY2Nlc3NpYmlsaXR5RXZlbnRzID09IGxvZ2dpbmdBY2Nlc3NpYmls
aXR5RXZlbnRzKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoc3RhdGVfY2hhbmdlX2xpc3Rl
bmVyX2lkKSB7CisgICAgICAgIGF0a19yZW1vdmVfZ2xvYmFsX2V2ZW50X2xpc3RlbmVyKHN0YXRl
X2NoYW5nZV9saXN0ZW5lcl9pZCk7CisgICAgICAgIHN0YXRlX2NoYW5nZV9saXN0ZW5lcl9pZCA9
IDA7CisgICAgfQorICAgIGlmIChmb2N1c19ldmVudF9saXN0ZW5lcl9pZCkgeworICAgICAgICBh
dGtfcmVtb3ZlX2dsb2JhbF9ldmVudF9saXN0ZW5lcihmb2N1c19ldmVudF9saXN0ZW5lcl9pZCk7
CisgICAgICAgIGZvY3VzX2V2ZW50X2xpc3RlbmVyX2lkID0gMDsKKyAgICB9CisgICAgaWYgKGFj
dGl2ZV9kZXNjZW5kYW50X2NoYW5nZWRfbGlzdGVuZXJfaWQpIHsKKyAgICAgICAgYXRrX3JlbW92
ZV9nbG9iYWxfZXZlbnRfbGlzdGVuZXIoYWN0aXZlX2Rlc2NlbmRhbnRfY2hhbmdlZF9saXN0ZW5l
cl9pZCk7CisgICAgICAgIGFjdGl2ZV9kZXNjZW5kYW50X2NoYW5nZWRfbGlzdGVuZXJfaWQgPSAw
OworICAgIH0KKyAgICBpZiAoY2hpbGRyZW5fY2hhbmdlZF9saXN0ZW5lcl9pZCkgeworICAgICAg
ICBhdGtfcmVtb3ZlX2dsb2JhbF9ldmVudF9saXN0ZW5lcihjaGlsZHJlbl9jaGFuZ2VkX2xpc3Rl
bmVyX2lkKTsKKyAgICAgICAgY2hpbGRyZW5fY2hhbmdlZF9saXN0ZW5lcl9pZCA9IDA7CisgICAg
fQorICAgIGlmIChwcm9wZXJ0eV9jaGFuZ2VkX2xpc3RlbmVyX2lkKSB7CisgICAgICAgIGF0a19y
ZW1vdmVfZ2xvYmFsX2V2ZW50X2xpc3RlbmVyKHByb3BlcnR5X2NoYW5nZWRfbGlzdGVuZXJfaWQp
OworICAgICAgICBwcm9wZXJ0eV9jaGFuZ2VkX2xpc3RlbmVyX2lkID0gMDsKKyAgICB9CisgICAg
aWYgKHZpc2libGVfZGF0YV9jaGFuZ2VkX2xpc3RlbmVyX2lkKSB7CisgICAgICAgIGF0a19yZW1v
dmVfZ2xvYmFsX2V2ZW50X2xpc3RlbmVyKHZpc2libGVfZGF0YV9jaGFuZ2VkX2xpc3RlbmVyX2lk
KTsKKyAgICAgICAgdmlzaWJsZV9kYXRhX2NoYW5nZWRfbGlzdGVuZXJfaWQgPSAwOworICAgIH0K
KworICAgIGlmICghbG9nQWNjZXNzaWJpbGl0eUV2ZW50cykgeworICAgICAgICBsb2dnaW5nQWNj
ZXNzaWJpbGl0eUV2ZW50cyA9IGZhbHNlOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
Ly8gRW5zdXJlIHRoYXQgYWNjZXNzaWJpbGl0eSBpcyBpbml0aWFsaXplZCBmb3IgdGhlIFdlYlZp
ZXcgYnkgcXVlcnlpbmcgZm9yCisgICAgLy8gdGhlIHJvb3QgYWNjZXNzaWJsZSBvYmplY3QuCisg
ICAgcm9vdEVsZW1lbnQoKTsKKworICAgIC8vIEFkZCBnbG9iYWwgbGlzdGVuZXJzCisgICAgc3Rh
dGVfY2hhbmdlX2xpc3RlbmVyX2lkID0gYXRrX2FkZF9nbG9iYWxfZXZlbnRfbGlzdGVuZXIoYWNj
ZXNzaWJpbGl0eV9ldmVudF9saXN0ZW5lciwgIkd0azpBdGtPYmplY3Q6c3RhdGUtY2hhbmdlIik7
CisgICAgZm9jdXNfZXZlbnRfbGlzdGVuZXJfaWQgPSBhdGtfYWRkX2dsb2JhbF9ldmVudF9saXN0
ZW5lcihhY2Nlc3NpYmlsaXR5X2V2ZW50X2xpc3RlbmVyLCAiR3RrOkF0a09iamVjdDpmb2N1cy1l
dmVudCIpOworICAgIGFjdGl2ZV9kZXNjZW5kYW50X2NoYW5nZWRfbGlzdGVuZXJfaWQgPSBhdGtf
YWRkX2dsb2JhbF9ldmVudF9saXN0ZW5lcihhY2Nlc3NpYmlsaXR5X2V2ZW50X2xpc3RlbmVyLCAi
R3RrOkF0a09iamVjdDphY3RpdmUtZGVzY2VuZGFudC1jaGFuZ2VkIik7CisgICAgY2hpbGRyZW5f
Y2hhbmdlZF9saXN0ZW5lcl9pZCA9IGF0a19hZGRfZ2xvYmFsX2V2ZW50X2xpc3RlbmVyKGFjY2Vz
c2liaWxpdHlfZXZlbnRfbGlzdGVuZXIsICJHdGs6QXRrT2JqZWN0OmNoaWxkcmVuLWNoYW5nZWQi
KTsKKyAgICBwcm9wZXJ0eV9jaGFuZ2VkX2xpc3RlbmVyX2lkID0gYXRrX2FkZF9nbG9iYWxfZXZl
bnRfbGlzdGVuZXIoYWNjZXNzaWJpbGl0eV9ldmVudF9saXN0ZW5lciwgIkd0azpBdGtPYmplY3Q6
cHJvcGVydHktY2hhbmdlIik7CisgICAgdmlzaWJsZV9kYXRhX2NoYW5nZWRfbGlzdGVuZXJfaWQg
PSBhdGtfYWRkX2dsb2JhbF9ldmVudF9saXN0ZW5lcihhY2Nlc3NpYmlsaXR5X2V2ZW50X2xpc3Rl
bmVyLCAiR3RrOkF0a09iamVjdDp2aXNpYmxlLWRhdGEtY2hhbmdlZCIpOworCisgICAgbG9nZ2lu
Z0FjY2Vzc2liaWxpdHlFdmVudHMgPSB0cnVlOworfQorCiB2b2lkIEFjY2Vzc2liaWxpdHlDb250
cm9sbGVyOjphZGROb3RpZmljYXRpb25MaXN0ZW5lcihQbGF0Zm9ybVVJRWxlbWVudCwgSlNPYmpl
Y3RSZWYpCiB7CiB9CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXJNYWMubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXJNYWMubW0KaW5kZXggMWE5ZjljOS4uZDQxZjAxZCAxMDA2NDQKLS0t
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyTWFjLm1t
CisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlck1h
Yy5tbQpAQCAtNzQsNiArNzQsMTAgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6c2V0
TG9nVmFsdWVDaGFuZ2VFdmVudHMoYm9vbCkKIHsKIH0KIAordm9pZCBBY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlcjo6c2V0TG9nQWNjZXNzaWJpbGl0eUV2ZW50cyhib29sKQoreworfQorCiB2b2lkIEFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyOjphZGROb3RpZmljYXRpb25MaXN0ZW5lcihQbGF0Zm9ybVVJ
RWxlbWVudCwgSlNPYmplY3RSZWYpCiB7CiB9CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS93aW4vQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJXaW4uY3BwIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvd2luL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyV2luLmNwcAppbmRleCBmMDNjMTAyLi42
ZTRlZTQ2IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXJXaW4uY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9BY2Nlc3Np
YmlsaXR5Q29udHJvbGxlcldpbi5jcHAKQEAgLTIxMyw2ICsyMTMsMTAgQEAgdm9pZCBBY2Nlc3Np
YmlsaXR5Q29udHJvbGxlcjo6c2V0TG9nU2Nyb2xsaW5nU3RhcnRFdmVudHMoYm9vbCBsb2dTY3Jv
bGxpbmdTdGFydEUKICAgICBBU1NFUlQobV9zY3JvbGxpbmdTdGFydEV2ZW50SG9vayk7CiB9CiAK
K3ZvaWQgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnNldExvZ0FjY2Vzc2liaWxpdHlFdmVudHMo
Ym9vbCkKK3sKK30KKwogc3RhdGljIHN0cmluZyBzdHJpbmdFdmVudChEV09SRCBldmVudCkKIHsK
ICAgICBzd2l0Y2goZXZlbnQpIHsKLS0gCjEuNy4zLjUKCg==
</data>
<flag name="review"
          id="73478"
          type_id="1"
          status="+"
          setter="cfleizach"
    />
          </attachment>
      

    </bug>

</bugzilla>