<?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>105638</bug_id>
          
          <creation_ts>2012-12-21 08:57:24 -0800</creation_ts>
          <short_desc>[GTK] accessibility/aria-labelledby-overrides-label.html requires a proper baseline</short_desc>
          <delta_ts>2013-01-09 16:11:08 -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>WebKitGTK</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>Gtk, LayoutTestFailure</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>98347</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Joanmarie Diggs">jdiggs</assigned_to>
          <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>jdiggs</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>796336</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-12-21 08:57:24 -0800</bug_when>
    <thetext>The accessibility/aria-labelledby-overrides-label.html layout test has been added in r138175 and is missing the platform-specific baseline.
http://trac.webkit.org/changeset/138175

This is the current output, seems to indicate a test failure:
Shut down computer after  minutes
This tests that if aria-labelledby is used, then label elements are not used

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


PASS text.description is &apos;AXDescription: Shut down computer after 10 minutes&apos;
FAIL text.titleUIElement() != null &amp;&amp; text.titleUIElement().isValid should be false. Was true.
Label element role is: AXRole: AXUnknown
PASS successfullyParsed is true

TEST COMPLETE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>797362</commentid>
    <comment_count>1</comment_count>
      <attachid>180760</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-12-26 11:51:30 -0800</bug_when>
    <thetext>Created attachment 180760
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>797373</commentid>
    <comment_count>2</comment_count>
      <attachid>180760</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-12-26 12:53:33 -0800</bug_when>
    <thetext>Comment on attachment 180760
Patch

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

So I really think we should be unskipping these tests for WebKit2 as well. Perhaps we can make the fix general enough for both ports?

&gt; Tools/DumpRenderTree/gtk/AccessibilityControllerGtk.cpp:79
&gt; +    AtkObject* accessible = DumpRenderTreeSupportGtk::accessibleElementById(mainFrame, id);
&gt; +    if (!accessible)
&gt; +        return 0;
&gt; +
&gt; +    return AccessibilityUIElement(accessible);

Hrm. I&apos;m not certain, but maybe one way to make this work for WebKit1 and WebKit2 (instead of using DumpRenderTree support) would be to embed an atk text attribute into the object and just walk the tree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>797378</commentid>
    <comment_count>3</comment_count>
      <attachid>180760</attachid>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2012-12-26 13:04:33 -0800</bug_when>
    <thetext>Comment on attachment 180760
Patch

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

&gt; Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp:308
&gt; +AtkObject* DumpRenderTreeSupportGtk::accessibleElementById(WebKitWebFrame* frame, JSStringRef id)

This implementation isn&apos;t exactly incorrect, but it&apos;s not what I intended - the way I implemented this for Mac and Chromium was to walk the accessibility tree from the top until we reach one with the right id. That way:

* It makes sure the element really is in the tree, reachable from the root
* It makes sure the element isn&apos;t ignored - I could be wrong, but I think this might return an ignored element (which can still have an AccessibleObject, but wouldn&apos;t be in the tree)
* It creates accessible objects for all other elements along the way - a side-effect that I know at least one of the tests might depend on
* Finally, the overall spirit of the tests is to test the external API - to just query the accessible tree directly - rather than reaching behind the scenes to convert a DOM node into an accessible object (something a screen reader could never do)

&gt;&gt; Tools/DumpRenderTree/gtk/AccessibilityControllerGtk.cpp:79
&gt;&gt; +    return AccessibilityUIElement(accessible);
&gt; 
&gt; Hrm. I&apos;m not certain, but maybe one way to make this work for WebKit1 and WebKit2 (instead of using DumpRenderTree support) would be to embed an atk text attribute into the object and just walk the tree.

Yep, a side benefit is that then it should work for both WK1 and WK2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>797560</commentid>
    <comment_count>4</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-12-27 07:51:01 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 180760 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=180760&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp:308
&gt; &gt; +AtkObject* DumpRenderTreeSupportGtk::accessibleElementById(WebKitWebFrame* frame, JSStringRef id)
&gt; 
&gt; This implementation isn&apos;t exactly incorrect, but it&apos;s not what I intended - the way I implemented this for Mac and Chromium was to walk the accessibility tree from the top until we reach one with the right id.

My bad. I didn&apos;t get that intent from the method name. I&apos;m happy to walk the tree for the reasons you specify and will do so.

I&apos;m less jazzed about adding an AtkObject Attribute whose purpose is not to support accessibility but to make it possible to run tests in WK2. ;) So if it is possible, I&apos;d prefer to not go that route. For instance, walk the accessible tree, doing an equality check for the accessible object resulting from the DOM node conversion. Would that be a BadIdea(tm)? If so, why? If not, is it something that you just cannot do in WK2?

Apologies if my questions are dumb. I know I really need to get up to speed on it and will make some time to do so. In the meantime, thanks in advance for shedding some light on the above. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>797683</commentid>
    <comment_count>5</comment_count>
      <attachid>180760</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-12-27 15:08:25 -0800</bug_when>
    <thetext>Comment on attachment 180760
Patch

So in chatting with Martin about this, I have learned that I cannot get an element by id in the UIProcess. Drat!

I continue to not like the idea of exposing something **which no assistive technology needs** (namely the HTML element&apos;s ID) as an accessible attribute. That just feels like a gross hack to me.

By the same token, the method in question seems to be used by a sufficient number of tests that the greater evil is the skippage. So patch with gross hack coming up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>797712</commentid>
    <comment_count>6</comment_count>
      <attachid>180832</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-12-27 17:37:37 -0800</bug_when>
    <thetext>Created attachment 180832
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>797718</commentid>
    <comment_count>7</comment_count>
      <attachid>180832</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-12-27 17:59:14 -0800</bug_when>
    <thetext>Comment on attachment 180832
Patch

I hadn&apos;t flagged this for review because I wanted to see if the EWS would spit up. EWS seems happy, so reviews would be appreciated. TIA!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>797946</commentid>
    <comment_count>8</comment_count>
      <attachid>180832</attachid>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2012-12-28 11:30:11 -0800</bug_when>
    <thetext>Comment on attachment 180832
Patch

Unofficial review, looks good.

View in context: https://bugs.webkit.org/attachment.cgi?id=180832&amp;action=review
&gt; Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp:451
&gt; +    // cannot be done from the UIProcess. Assistive technologies have no need

FWIW, Firefox has been exposing the &quot;id&quot; attribute to assistive technology on Windows for a while, it&apos;s documented here:

https://developer.mozilla.org/en-US/docs/Accessibility/AT-APIs/Gecko/Attrs

So maybe it&apos;s not *that* much of a hack. I totally understand your concern - one should be cautious about exposing interfaces that are only intended for testing.

I think the benefits outweigh the concerns in this case, still - because &apos;id&apos; is used as an accessibility attribute on some platforms, and also because we really needed some mechanism to uniquely identify an accessible node, in a cross-platform way, without using an attribute that could possibly modify the accessible tree!

Still, would it be possible to only expose this attribute when used for testing? Maybe DRT/WKTR could call some global function to enable unit testing support in WebKit/ATK, that way this extra attribute wouldn&apos;t be exposed under normal circumstances in a web browser?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803788</commentid>
    <comment_count>9</comment_count>
      <attachid>180832</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-01-09 15:44:23 -0800</bug_when>
    <thetext>Comment on attachment 180832
Patch

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

&gt; Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp:455
&gt; +        String id = toElement(node)-&gt;getIdAttribute().string();

I agree. AccessibilityObject should have a idAttribute() method on it that you can call. It&apos;s pretty gnarly for you to check the node of the core object</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803797</commentid>
    <comment_count>10</comment_count>
      <attachid>180832</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-09 16:11:04 -0800</bug_when>
    <thetext>Comment on attachment 180832
Patch

Clearing flags on attachment: 180832

Committed r139250: &lt;http://trac.webkit.org/changeset/139250&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803798</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-09 16:11:08 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180760</attachid>
            <date>2012-12-26 11:51:30 -0800</date>
            <delta_ts>2012-12-27 15:08:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105638-20121226144841.patch</filename>
            <type>text/plain</type>
            <size>9942</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4NDc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTY5ODBjYmYzYmFlZmM3
ZWUxYzEzY2E1YmUzYjMyZjU2NGViMTY5My4uNDc1ODYyMTM4NTExMmYyMjNiNThjMTZkN2M3MjZh
MWFlMTgzM2NhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTEyLTI2ICBKb2Fu
bWFyaWUgRGlnZ3MgIDxqZGlnZ3NAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBhY2Nlc3Np
YmlsaXR5L2FyaWEtbGFiZWxsZWRieS1vdmVycmlkZXMtbGFiZWwuaHRtbCByZXF1aXJlcyBhIHBy
b3BlciBiYXNlbGluZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTA1NjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhlIHRlc3Qgd2FzIGZhaWxpbmcgZm9yIHR3byByZWFzb25zOgorICAgICAgICAtIEFj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmNvcnJlc3BvbmRpbmdMYWJlbEZvckNvbnRyb2xFbGVt
ZW50KCkgd2FzCisgICAgICAgICAgbm90IGlnbm9yaW5nIHRoZSBBUklBIGxhYmVsbGVkLWJ5IHBy
b3BlcnR5CisgICAgICAgIC0gQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmFjY2Vzc2libGVFbGVt
ZW50QnlJZCgpIHdhcyBub3QgaW1wbGVtZW50ZWQKKworICAgICAgICBObyBuZXcgdGVzdHMuIElu
c3RlYWQsIHVuc2tpcHBlZCB0aGUgcHJldmlvdXNseS1mYWlsaW5nIHRlc3QgYW5kIGFkZGVkCisg
ICAgICAgIGEgcHJvcGVyIGJhc2VsaW5lLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3Q6OmNvcnJlc3BvbmRpbmdMYWJlbEZvckNvbnRyb2xFbGVtZW50KToKKyAg
ICAgICAgUmV0dXJuIG51bGwgZm9yIG9iamVjdHMgd2hlcmUgaGFzVGV4dEFsdGVybmF0aXZlKCkg
aXMgdHJ1ZS4KKwogMjAxMi0xMi0yNiAgUGFuIERlbmcgIDxwYW4uZGVuZ0BpbnRlbC5jb20+CiAK
ICAgICAgICAgW1dlYiBJbnNwZWN0b3JdUmVtb3ZlIFByZXZpZXcgYW5kIFJlc3BvbnNlIHRhYiBm
cm9tIG5ldHdvcmsgcGFuZWwgaW4gY2FzZSB3ZWJzb2NrZXQuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXgg
YmEzOWIwMDM5MWMyNDExOGI4ZDg0M2M0ZTU1N2EyMTNkZWQ3MjE5Mi4uZmM4MWRhNjYyMjAxNTc2
NWY1NjVkMmM1NzQyNTg5YjcxYTVkNzYwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIw
IEBACisyMDEyLTEyLTI2ICBKb2FubWFyaWUgRGlnZ3MgIDxqZGlnZ3NAaWdhbGlhLmNvbT4KKwor
ICAgICAgICBbR1RLXSBhY2Nlc3NpYmlsaXR5L2FyaWEtbGFiZWxsZWRieS1vdmVycmlkZXMtbGFi
ZWwuaHRtbCByZXF1aXJlcyBhIHByb3BlciBiYXNlbGluZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHRlc3Qgd2FzIGZhaWxpbmcgZm9yIHR3byBy
ZWFzb25zOgorICAgICAgICAtIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmNvcnJlc3BvbmRp
bmdMYWJlbEZvckNvbnRyb2xFbGVtZW50KCkgd2FzCisgICAgICAgICAgbm90IGlnbm9yaW5nIHRo
ZSBBUklBIGxhYmVsbGVkLWJ5IHByb3BlcnR5CisgICAgICAgIC0gQWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXI6OmFjY2Vzc2libGVFbGVtZW50QnlJZCgpIHdhcyBub3QgaW1wbGVtZW50ZWQKKworICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5jcHA6CisgICAg
ICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OmFjY2Vzc2libGVFbGVtZW50QnlJZCk6IEFk
ZGVkIG5ldyBtZXRob2QuCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVT
dXBwb3J0R3RrLmg6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGspOiBBZGRlZCBu
ZXcgbWV0aG9kLgorCiAyMDEyLTEyLTIzICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUu
Y29tPgogCiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjgwODM3Nz4gTmV0d29yayBwcm9jZXNz
IHNob3VsZCByZXNwZWN0IGNvb2tpZSBhY2NlcHQgcG9saWN5CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcApp
bmRleCA3OTMwN2E0ZDJhMGFjOGJhM2VjOGJjNmZmNTk1ZTk0MTE0ZDNhZjkxLi5iMGU2YmUwMDZj
MzJlZGRiMTcwYzQ5NTljZmI3M2I0YjVmODMyNjBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKQEAg
LTIzNDUsNiArMjM0NSwxMSBAQCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBY2Nlc3NpYmlsaXR5UmVu
ZGVyT2JqZWN0Ojpjb3JyZXNwb25kaW5nTGFiZWxGb3JDb250cm9sRWxlbQogICAgIGlmICghbV9y
ZW5kZXJlcikKICAgICAgICAgcmV0dXJuIDA7CiAKKyAgICAvLyBBUklBOiBzZWN0aW9uIDJBLCBi
dWxsZXQgIzMgc2F5cyBpZiBhcmlhLWxhYmVsZWRieSBvciBhcmlhLWxhYmVsIGFwcGVhcnMsIGl0
IHNob3VsZAorICAgIC8vIG92ZXJyaWRlIHRoZSAibGFiZWwiIGVsZW1lbnQgYXNzb2NpYXRpb24u
CisgICAgaWYgKGhhc1RleHRBbHRlcm5hdGl2ZSgpKQorICAgICAgICByZXR1cm4gMDsKKwogICAg
IE5vZGUqIG5vZGUgPSBtX3JlbmRlcmVyLT5ub2RlKCk7CiAgICAgaWYgKG5vZGUgJiYgbm9kZS0+
aXNIVE1MRWxlbWVudCgpKSB7CiAgICAgICAgIEhUTUxMYWJlbEVsZW1lbnQqIGxhYmVsID0gbGFi
ZWxGb3JFbGVtZW50KHN0YXRpY19jYXN0PEVsZW1lbnQqPihub2RlKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsu
Y3BwIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBw
b3J0R3RrLmNwcAppbmRleCAxOWFhOTQ3ZDE2ODIyZWRhNDA1YTdlZjNhNzBhMjEyZWIyYmIwYmJj
Li5jMjFiMmYzY2ZkYTc5M2ExNGZkMmUyZDI0ZTM1N2U5ZGQ1NWJhODRiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVl
U3VwcG9ydEd0ay5jcHAKQEAgLTMwNSw2ICszMDUsMzAgQEAgQXRrT2JqZWN0KiBEdW1wUmVuZGVy
VHJlZVN1cHBvcnRHdGs6OmdldEZvY3VzZWRBY2Nlc3NpYmxlRWxlbWVudChXZWJLaXRXZWJGcmFt
ZSoKICNlbmRpZgogfQogCitBdGtPYmplY3QqIER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6YWNj
ZXNzaWJsZUVsZW1lbnRCeUlkKFdlYktpdFdlYkZyYW1lKiBmcmFtZSwgSlNTdHJpbmdSZWYgaWQp
Cit7CisjaWYgSEFWRShBQ0NFU1NJQklMSVRZKQorICAgIEZyYW1lKiBjb3JlRnJhbWUgPSBjb3Jl
KGZyYW1lKTsKKyAgICBpZiAoIWNvcmVGcmFtZSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBE
b2N1bWVudCogZG9jdW1lbnQgPSBjb3JlRnJhbWUtPmRvY3VtZW50KCk7CisgICAgaWYgKCFkb2N1
bWVudCkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBzaXplX3QgYnVmZmVyU2l6ZSA9IEpTU3Ry
aW5nR2V0TWF4aW11bVVURjhDU3RyaW5nU2l6ZShpZCk7CisgICAgR093blB0cjxnY2hhcj4gaWRC
dWZmZXIoc3RhdGljX2Nhc3Q8Z2NoYXIqPihnX21hbGxvYyhidWZmZXJTaXplKSkpOworICAgIEpT
U3RyaW5nR2V0VVRGOENTdHJpbmcoaWQsIGlkQnVmZmVyLmdldCgpLCBidWZmZXJTaXplKTsKKyAg
ICBFbGVtZW50KiBlbGVtZW50ID0gZG9jdW1lbnQtPmdldEVsZW1lbnRCeUlkKFN0cmluZzo6ZnJv
bVVURjgoaWRCdWZmZXIuZ2V0KCkpKTsKKyAgICBpZiAoIWVsZW1lbnQpCisgICAgICAgIHJldHVy
biAwOworCisgICAgcmV0dXJuIGRvY3VtZW50LT5heE9iamVjdENhY2hlKCktPmdldE9yQ3JlYXRl
KGVsZW1lbnQpLT53cmFwcGVyKCk7CisjZWxzZQorICAgIHJldHVybiAwOworI2VuZGlmCit9CisK
IHZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpleGVjdXRlQ29yZUNvbW1hbmRCeU5hbWUo
V2ViS2l0V2ViVmlldyogd2ViVmlldywgY29uc3QgZ2NoYXIqIG5hbWUsIGNvbnN0IGdjaGFyKiB2
YWx1ZSkKIHsKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9JU19XRUJfVklFVyh3ZWJWaWV3
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVu
ZGVyVHJlZVN1cHBvcnRHdGsuaCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1
bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5oCmluZGV4IDNiMjRmNjU4ZmM0OGE0MTc5MmEzZTNkZGNm
MDVjZDAwNGQ5YjEzMDMuLmVlNmY5ODEzYTY0MmE1NDIxNWQ0MWFiNjI2NjRiMjczOTMwOGQ0MzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJU
cmVlU3VwcG9ydEd0ay5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1
bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5oCkBAIC02OSw2ICs2OSw3IEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgdm9pZCBjbGVhck1haW5GcmFtZU5hbWUoV2ViS2l0V2ViRnJhbWUqKTsKICAgICBzdGF0
aWMgQXRrT2JqZWN0KiBnZXRGb2N1c2VkQWNjZXNzaWJsZUVsZW1lbnQoV2ViS2l0V2ViRnJhbWUq
KTsKICAgICBzdGF0aWMgQXRrT2JqZWN0KiBnZXRSb290QWNjZXNzaWJsZUVsZW1lbnQoV2ViS2l0
V2ViRnJhbWUqKTsKKyAgICBzdGF0aWMgQXRrT2JqZWN0KiBhY2Nlc3NpYmxlRWxlbWVudEJ5SWQo
V2ViS2l0V2ViRnJhbWUqLCBKU1N0cmluZ1JlZik7CiAgICAgc3RhdGljIHZvaWQgbGF5b3V0RnJh
bWUoV2ViS2l0V2ViRnJhbWUqKTsKICAgICBzdGF0aWMgdm9pZCBzZXRBdXRvZmlsbGVkKEpTQ29u
dGV4dFJlZiwgSlNWYWx1ZVJlZiwgYm9vbCk7CiAgICAgc3RhdGljIHZvaWQgc2V0VmFsdWVGb3JV
c2VyKEpTQ29udGV4dFJlZiwgSlNWYWx1ZVJlZiwgSlNTdHJpbmdSZWYpOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDdmNDBkYjZlNDgyOTAzYjIx
MzQzZTIxOTYxMmYzNGY3MWY4MTdiMTUuLjliMWE5YzhjMTRkY2RkY2ZkZWNiOGFiMWE0YzE5MzY2
OTcxMzQ0YWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMi0xMi0yNiAgSm9hbm1hcmllIERpZ2dzICA8amRpZ2dz
QGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS10gYWNjZXNzaWJpbGl0eS9hcmlhLWxhYmVsbGVk
Ynktb3ZlcnJpZGVzLWxhYmVsLmh0bWwgcmVxdWlyZXMgYSBwcm9wZXIgYmFzZWxpbmUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTYzOAorCisgICAg
ICAgIFRoZSB0ZXN0IHdhcyBmYWlsaW5nIGZvciB0d28gcmVhc29uczoKKyAgICAgICAgLSBBY2Nl
c3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojpjb3JyZXNwb25kaW5nTGFiZWxGb3JDb250cm9sRWxlbWVu
dCgpIHdhcworICAgICAgICAgIG5vdCBpZ25vcmluZyB0aGUgQVJJQSBsYWJlbGxlZC1ieSBwcm9w
ZXJ0eQorICAgICAgICAtIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjphY2Nlc3NpYmxlRWxlbWVu
dEJ5SWQoKSB3YXMgbm90IGltcGxlbWVudGVkCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXJHdGsuY3BwOgorICAgICAgICAoQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmFjY2Vz
c2libGVFbGVtZW50QnlJZCk6IEltcGxlbWVudGVkCisKIDIwMTItMTItMjUgIENocmlzdG9waGUg
RHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXVtXSzJd
IFJlZmFjdG9yIHNuYXBzaG90IHRha2luZyBjb2RlCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJHdGsuY3BwIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyR3RrLmNwcAppbmRleCA0NjYxODJi
YjMwNWE2Njc2MDgwNmJlZjg0OGQ5NGM3NjIyZjg3NWNlLi4zODVhMWI1YmE4ZmM1YjFiYmNjODAy
NzBmZmFmNGMyMDkxZDRkYzYyIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsv
QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJHdGsuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2d0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckd0ay5jcHAKQEAgLTcyLDggKzcyLDExIEBAIEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnJvb3RFbGVtZW50
KCkKIAogQWNjZXNzaWJpbGl0eVVJRWxlbWVudCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6YWNj
ZXNzaWJsZUVsZW1lbnRCeUlkKEpTU3RyaW5nUmVmIGlkKQogewotICAgIC8vIEZJWE1FOiBpbXBs
ZW1lbnQKLSAgICByZXR1cm4gMDsKKyAgICBBdGtPYmplY3QqIGFjY2Vzc2libGUgPSBEdW1wUmVu
ZGVyVHJlZVN1cHBvcnRHdGs6OmFjY2Vzc2libGVFbGVtZW50QnlJZChtYWluRnJhbWUsIGlkKTsK
KyAgICBpZiAoIWFjY2Vzc2libGUpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQoYWNjZXNzaWJsZSk7CiB9CiAKIHZvaWQgQWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXI6OnNldExvZ0ZvY3VzRXZlbnRzKGJvb2wpCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDQ5OTU2MTg1MjJh
NTk5MjZhYmMzNzhmYTUwNmZmNDg4ZTRjNTc3Yi4uOGVlYWEyYmJlZmRlZjc1MzJmNzg1OTBmNmUx
YmJkOTQwYTkyZjI0NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTEyLTI2ICBKb2FubWFy
aWUgRGlnZ3MgIDxqZGlnZ3NAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBhY2Nlc3NpYmls
aXR5L2FyaWEtbGFiZWxsZWRieS1vdmVycmlkZXMtbGFiZWwuaHRtbCByZXF1aXJlcyBhIHByb3Bl
ciBiYXNlbGluZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTA1NjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVGhlIHRlc3Qgd2FzIGZhaWxpbmcgZm9yIHR3byByZWFzb25zOgorICAgICAgICAtIEFjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3Q6OmNvcnJlc3BvbmRpbmdMYWJlbEZvckNvbnRyb2xFbGVtZW50
KCkgd2FzCisgICAgICAgICAgbm90IGlnbm9yaW5nIHRoZSBBUklBIGxhYmVsbGVkLWJ5IHByb3Bl
cnR5CisgICAgICAgIC0gQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmFjY2Vzc2libGVFbGVtZW50
QnlJZCgpIHdhcyBub3QgaW1wbGVtZW50ZWQKKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0
RXhwZWN0YXRpb25zOiBVbnNraXBwZWQgcHJldmlvdXNseSBmYWlsaW5nIGFuZCBiYXNlbGluZS1s
ZXNzIHRlc3QuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvYXJpYS1sYWJl
bGxlZGJ5LW92ZXJyaWRlcy1sYWJlbC1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDEyLTEyLTI1
ICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2Vi
IEluc3BlY3RvcjogQ3Jhc2ggd2hlbiBtb2RpZnlpbmcgYSBydWxlIHRoYXQgaGFzIGJlZW4gcmVt
b3ZlZCB0aHJvdWdoIEphdmFTY3JpcHQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggZGU3NGE5MzI0YmFkYjNkMTEwMzk2ZjNmN2E2N2I2YWNlNjQ2ZjgzNC4u
MTA0MDkwNGY2MTFhN2M5M2Y1MDc3YmU2M2JjODdkMmE3YWQ0ZTI4MSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ3LDcgKzQ3LDYgQEAgd2Via2l0Lm9y
Zy9iLzg0MDQ1IGFjY2Vzc2liaWxpdHkvaW1hZ2UtbWFwMi5odG1sIFsgTWlzc2luZyBdCiB3ZWJr
aXQub3JnL2IvNzA2MDYgYWNjZXNzaWJpbGl0eS9tZW51LWxpc3Qtc2VuZHMtY2hhbmdlLW5vdGlm
aWNhdGlvbi5odG1sIFsgTWlzc2luZyBdCiB3ZWJraXQub3JnL2IvNzA2MDYgYWNjZXNzaWJpbGl0
eS9tdWx0aXNlbGVjdC1saXN0LXJlcG9ydHMtYWN0aXZlLW9wdGlvbi5odG1sIFsgTWlzc2luZyBd
CiB3ZWJraXQub3JnL2IvNzA2MDYgYWNjZXNzaWJpbGl0eS9ub3RpZmljYXRpb24tbGlzdGVuZXJz
Lmh0bWwgWyBNaXNzaW5nIF0KLXdlYmtpdC5vcmcvYi8xMDU2MzggYWNjZXNzaWJpbGl0eS9hcmlh
LWxhYmVsbGVkYnktb3ZlcnJpZGVzLWxhYmVsLmh0bWwgWyBNaXNzaW5nIF0KIAogd2Via2l0Lm9y
Zy9iLzEwNTYzOSBmYXN0L2lubGluZS9qdXN0aWZ5LWVtcGhhc2lzLWlubGluZS1ib3guaHRtbCBb
IE1pc3NpbmcgXQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNz
aWJpbGl0eS9hcmlhLWxhYmVsbGVkYnktb3ZlcnJpZGVzLWxhYmVsLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2FyaWEtbGFiZWxsZWRieS1vdmVy
cmlkZXMtbGFiZWwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMzE4NjhkZDU3YzkwNmU3M2Rh
ZWMwOGM2MDc1MWRjYWFkMTY5ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9hcmlhLWxhYmVsbGVkYnktb3ZlcnJpZGVzLWxhYmVsLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitTaHV0IGRvd24gY29tcHV0ZXIgYWZ0ZXIgIG1p
bnV0ZXMKK1RoaXMgdGVzdHMgdGhhdCBpZiBhcmlhLWxhYmVsbGVkYnkgaXMgdXNlZCwgdGhlbiBs
YWJlbCBlbGVtZW50cyBhcmUgbm90IHVzZWQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1BBU1MgdGV4dC5kZXNjcmlwdGlvbiBpcyAnQVhEZXNjcmlwdGlvbjogU2h1dCBkb3duIGNv
bXB1dGVyIGFmdGVyIDEwIG1pbnV0ZXMnCitQQVNTIHRleHQudGl0bGVVSUVsZW1lbnQoKSAhPSBu
dWxsICYmIHRleHQudGl0bGVVSUVsZW1lbnQoKS5pc1ZhbGlkIGlzIGZhbHNlCitMYWJlbCBlbGVt
ZW50IHJvbGUgaXM6IEFYUm9sZTogQVhMYWJlbAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180832</attachid>
            <date>2012-12-27 17:37:37 -0800</date>
            <delta_ts>2013-01-09 16:11:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105638-20121227203448.patch</filename>
            <type>text/plain</type>
            <size>19124</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4NDc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTY5ODBjYmYzYmFlZmM3
ZWUxYzEzY2E1YmUzYjMyZjU2NGViMTY5My4uMDkyOWYyNThlOGQ2OTdmZjcxYzcwMTY5NDk3NGQz
MmI5ZTc3OGI1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTEyLTI3ICBKb2Fu
bWFyaWUgRGlnZ3MgIDxqZGlnZ3NAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBhY2Nlc3Np
YmlsaXR5L2FyaWEtbGFiZWxsZWRieS1vdmVycmlkZXMtbGFiZWwuaHRtbCByZXF1aXJlcyBhIHBy
b3BlciBiYXNlbGluZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTA1NjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhlIHRlc3Qgd2FzIGZhaWxpbmcgZm9yIHR3byByZWFzb25zOgorICAgICAgICAtIEFj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmNvcnJlc3BvbmRpbmdMYWJlbEZvckNvbnRyb2xFbGVt
ZW50KCkgd2FzCisgICAgICAgICAgbm90IGlnbm9yaW5nIHRoZSBBUklBIGxhYmVsbGVkLWJ5IHBy
b3BlcnR5CisgICAgICAgIC0gQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmFjY2Vzc2libGVFbGVt
ZW50QnlJZCgpIHdhcyBub3QgaW1wbGVtZW50ZWQKKworICAgICAgICBCZWNhdXNlIGdldHRpbmcg
YW4gZWxlbWVudCBieSBJRCBjYW5ub3QgYmUgZG9uZSBpbiB0aGUgVUlQcm9jZXNzLCB0aGUKKyAg
ICAgICAgZGVjaXNpb24gd2FzIG1hZGUgdG8gZXhwb3NlIHRoZSBlbGVtZW50J3MgSUQgYXMgYW4g
YWNjZXNzaWJsZSBhdHRyaWJ1dGUKKyAgICAgICAgb2YgdGhlIG9iamVjdC4KKworICAgICAgICBJ
biBhZGRpdGlvbiwgZml4aW5nIHRoZSBidWcgaW4gQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdCBt
YWRlIGl0IHBvc3NpYmxlCisgICAgICAgIHRvIGVsaW1pbmF0ZSB0aGUgR3RrIHBsYXRmb3JtLXNw
ZWNpZmljIGV4cGVjdGF0aW9ucyBmb3IgYW5vdGhlciB0ZXN0LgorCisgICAgICAgIE5vIG5ldyB0
ZXN0czsgaW5zdGVhZCwgdGhlIGZhaWxpbmcgdGVzdCB3YXMgdW5za2lwcGVkIGFuZCBhIHByb3Bl
ciBiYXNlbGluZQorICAgICAgICBwcm92aWRlZC4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0Ojpjb3JyZXNwb25kaW5nTGFiZWxGb3JDb250cm9sRWxlbWVudCk6
CisgICAgICAgIFJldHVybiBudWxsIGZvciBvYmplY3RzIHdoZXJlIGhhc1RleHRBbHRlcm5hdGl2
ZSgpIGlzIHRydWUuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJs
ZVdyYXBwZXJBdGsuY3BwOgorICAgICAgICAod2Via2l0QWNjZXNzaWJsZUdldEF0dHJpYnV0ZXMp
OiBFeHBvc2UgdGhlIGVsZW1lbnQncyBJRCBhcyBhbiBhY2Nlc3NpYmxlCisgICAgICAgIGF0dHJp
YnV0ZS4KKwogMjAxMi0xMi0yNiAgUGFuIERlbmcgIDxwYW4uZGVuZ0BpbnRlbC5jb20+CiAKICAg
ICAgICAgW1dlYiBJbnNwZWN0b3JdUmVtb3ZlIFByZXZpZXcgYW5kIFJlc3BvbnNlIHRhYiBmcm9t
IG5ldHdvcmsgcGFuZWwgaW4gY2FzZSB3ZWJzb2NrZXQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAppbmRl
eCA3OTMwN2E0ZDJhMGFjOGJhM2VjOGJjNmZmNTk1ZTk0MTE0ZDNhZjkxLi5iMGU2YmUwMDZjMzJl
ZGRiMTcwYzQ5NTljZmI3M2I0YjVmODMyNjBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKQEAgLTIz
NDUsNiArMjM0NSwxMSBAQCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0Ojpjb3JyZXNwb25kaW5nTGFiZWxGb3JDb250cm9sRWxlbQogICAgIGlmICghbV9yZW5k
ZXJlcikKICAgICAgICAgcmV0dXJuIDA7CiAKKyAgICAvLyBBUklBOiBzZWN0aW9uIDJBLCBidWxs
ZXQgIzMgc2F5cyBpZiBhcmlhLWxhYmVsZWRieSBvciBhcmlhLWxhYmVsIGFwcGVhcnMsIGl0IHNo
b3VsZAorICAgIC8vIG92ZXJyaWRlIHRoZSAibGFiZWwiIGVsZW1lbnQgYXNzb2NpYXRpb24uCisg
ICAgaWYgKGhhc1RleHRBbHRlcm5hdGl2ZSgpKQorICAgICAgICByZXR1cm4gMDsKKwogICAgIE5v
ZGUqIG5vZGUgPSBtX3JlbmRlcmVyLT5ub2RlKCk7CiAgICAgaWYgKG5vZGUgJiYgbm9kZS0+aXNI
VE1MRWxlbWVudCgpKSB7CiAgICAgICAgIEhUTUxMYWJlbEVsZW1lbnQqIGxhYmVsID0gbGFiZWxG
b3JFbGVtZW50KHN0YXRpY19jYXN0PEVsZW1lbnQqPihub2RlKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlV3Jh
cHBlckF0ay5jcHAKaW5kZXggZDI5ZjE5MmMxNWEwZjY4MjU5N2IwYzljMTNmMzk1Njc5OGY4NWMw
NC4uZjI4NGIyNTM2Yzc4NWIzODRhNjQxM2E3ZmE2NzA2MjRmM2Y1NWVmMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZVdyYXBwZXJB
dGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vz
c2libGVXcmFwcGVyQXRrLmNwcApAQCAtNDQ3LDYgKzQ0NywxNiBAQCBzdGF0aWMgQXRrQXR0cmli
dXRlU2V0KiB3ZWJraXRBY2Nlc3NpYmxlR2V0QXR0cmlidXRlcyhBdGtPYmplY3QqIG9iamVjdCkK
ICAgICBpZiAoIWNvcmVPYmplY3QpCiAgICAgICAgIHJldHVybiBhdHRyaWJ1dGVTZXQ7CiAKKyAg
ICAvLyBIYWNrIG5lZWRlZCBmb3IgV2ViS2l0MiB0ZXN0cyBiZWNhdXNlIG9idGFpbmluZyBhbiBl
bGVtZW50IGJ5IGl0cyBJRAorICAgIC8vIGNhbm5vdCBiZSBkb25lIGZyb20gdGhlIFVJUHJvY2Vz
cy4gQXNzaXN0aXZlIHRlY2hub2xvZ2llcyBoYXZlIG5vIG5lZWQKKyAgICAvLyBmb3IgdGhpcyBp
bmZvcm1hdGlvbi4KKyAgICBOb2RlKiBub2RlID0gY29yZU9iamVjdC0+bm9kZSgpOworICAgIGlm
IChub2RlICYmIG5vZGUtPmlzRWxlbWVudE5vZGUoKSkgeworICAgICAgICBTdHJpbmcgaWQgPSB0
b0VsZW1lbnQobm9kZSktPmdldElkQXR0cmlidXRlKCkuc3RyaW5nKCk7CisgICAgICAgIGlmICgh
aWQuaXNFbXB0eSgpKQorICAgICAgICAgICAgYXR0cmlidXRlU2V0ID0gYWRkVG9BdGtBdHRyaWJ1
dGVTZXQoYXR0cmlidXRlU2V0LCAiaHRtbC1pZCIsIGlkLnV0ZjgoKS5kYXRhKCkpOworICAgIH0K
KwogICAgIGludCBoZWFkaW5nTGV2ZWwgPSBjb3JlT2JqZWN0LT5oZWFkaW5nTGV2ZWwoKTsKICAg
ICBpZiAoaGVhZGluZ0xldmVsKSB7CiAgICAgICAgIFN0cmluZyB2YWx1ZSA9IFN0cmluZzo6bnVt
YmVyKGhlYWRpbmdMZXZlbCk7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggN2Y0MGRiNmU0ODI5MDNiMjEzNDNlMjE5NjEyZjM0ZjcxZjgxN2IxNS4u
MTVjOTk1YmMyYmNhMzMxNTJmYmNkMDE2NTQzMDE4OWVhNGQ2YzE1YyAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEy
LTEyLTI3ICBKb2FubWFyaWUgRGlnZ3MgIDxqZGlnZ3NAaWdhbGlhLmNvbT4KKworICAgICAgICBb
R1RLXSBhY2Nlc3NpYmlsaXR5L2FyaWEtbGFiZWxsZWRieS1vdmVycmlkZXMtbGFiZWwuaHRtbCBy
ZXF1aXJlcyBhIHByb3BlciBiYXNlbGluZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhlIHRlc3Qgd2FzIGZhaWxpbmcgZm9yIHR3byByZWFzb25zOgor
ICAgICAgICAtIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmNvcnJlc3BvbmRpbmdMYWJlbEZv
ckNvbnRyb2xFbGVtZW50KCkgd2FzCisgICAgICAgICAgbm90IGlnbm9yaW5nIHRoZSBBUklBIGxh
YmVsbGVkLWJ5IHByb3BlcnR5CisgICAgICAgIC0gQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmFj
Y2Vzc2libGVFbGVtZW50QnlJZCgpIHdhcyBub3QgaW1wbGVtZW50ZWQKKworICAgICAgICBCZWNh
dXNlIGdldHRpbmcgYW4gZWxlbWVudCBieSBJRCBjYW5ub3QgYmUgZG9uZSBpbiB0aGUgVUlQcm9j
ZXNzLCB0aGUKKyAgICAgICAgZGVjaXNpb24gd2FzIG1hZGUgdG8gZXhwb3NlIHRoZSBlbGVtZW50
J3MgSUQgYXMgYW4gYWNjZXNzaWJsZSBhdHRyaWJ1dGUKKyAgICAgICAgb2YgdGhlIG9iamVjdC4K
KworICAgICAgICBJbiBhZGRpdGlvbiwgZml4aW5nIHRoZSBidWcgaW4gQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdCBtYWRlIGl0IHBvc3NpYmxlCisgICAgICAgIHRvIGVsaW1pbmF0ZSB0aGUgR3Rr
IHBsYXRmb3JtLXNwZWNpZmljIGV4cGVjdGF0aW9ucyBmb3IgYW5vdGhlciB0ZXN0LgorCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyR3RrLmNwcDoK
KyAgICAgICAgKGNoaWxkRWxlbWVudEJ5SWQpOiBBZGRlZC4gV2Fsa3MgdGhlIHRyZWUgbG9va2lu
ZyBmb3IgdGhlIEF0a09iamVjdAorICAgICAgICBBdHRyaWJ1dGUgd2hpY2ggZXhwb3NlcyB0aGUg
SFRNTCBlbGVtZW50J3MgSUQuCisgICAgICAgIChBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6YWNj
ZXNzaWJsZUVsZW1lbnRCeUlkKTogSW1wbGVtZW50ZWQuCisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvZ3RrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRHdGsuY3BwOgorICAgICAgICAoQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6dGl0bGUpOiBNb2RpZmllZCB0byBwcmludCBvdXQgIkFYVGl0bGU6ICIg
ZXZlbgorICAgICAgICB3aGVuIHRoZXJlIGlzIG5vIHRpdGxlLCBhcyBpcyBkb25lIHdpdGggdGhl
IE1hYyBwb3J0LgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSKToKKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0
ay5jcHA6CisgICAgICAgIChXVFI6OmNoaWxkRWxlbWVudEJ5SWQpOiBBZGRlZC4gV2Fsa3MgdGhl
IHRyZWUgbG9va2luZyBmb3IgdGhlIEF0a09iamVjdAorICAgICAgICBBdHRyaWJ1dGUgd2hpY2gg
ZXhwb3NlcyB0aGUgSFRNTCBlbGVtZW50J3MgSUQuCisgICAgICAgIChXVFIpOgorICAgICAgICAo
V1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6YWNjZXNzaWJsZUVsZW1lbnRCeUlkKTogSW1w
bGVtZW50ZWQuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsv
QWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHA6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OnRpdGxlKTogTW9kaWZpZWQgdG8gcHJpbnQgb3V0ICJBWFRpdGxlOiAiCisg
ICAgICAgIGV2ZW4gd2hlbiB0aGVyZSBpcyBubyB0aXRsZSwgYXMgaXMgZG9uZSB3aXRoIHRoZSBN
YWMgcG9ydC4KKwogMjAxMi0xMi0yNSAgQ2hyaXN0b3BoZSBEdW1leiAgPGNocmlzdG9waGUuZHVt
ZXpAaW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxdW1dLMl0gUmVmYWN0b3Igc25hcHNob3QgdGFr
aW5nIGNvZGUKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9BY2Nlc3NpYmls
aXR5Q29udHJvbGxlckd0ay5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXJHdGsuY3BwCmluZGV4IDQ2NjE4MmJiMzA1YTY2NzYwODA2YmVmODQ4ZDk0
Yzc2MjJmODc1Y2UuLjcwZjA4MWE5ZWY5MjYxODZiMzIxNDBkZjA3OTVhMzg0ZWM3YzBjODAgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxl
ckd0ay5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlDb250
cm9sbGVyR3RrLmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgPGF0ay9hdGsuaD4KICNp
bmNsdWRlIDxndGsvZ3RrLmg+CiAjaW5jbHVkZSA8d2Via2l0L3dlYmtpdC5oPgorI2luY2x1ZGUg
PHd0Zi9nb2JqZWN0L0dPd25QdHIuaD4KIAogc3RhdGljIGJvb2wgbG9nZ2luZ0FjY2Vzc2liaWxp
dHlFdmVudHMgPSBmYWxzZTsKIApAQCAtNzAsMTAgKzcxLDQ3IEBAIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnJvb3RFbGVtZW50KCkKICAgICByZXR1cm4g
QWNjZXNzaWJpbGl0eVVJRWxlbWVudChhY2Nlc3NpYmxlKTsKIH0KIAorc3RhdGljIEF0a09iamVj
dCogY2hpbGRFbGVtZW50QnlJZChBdGtPYmplY3QqIHBhcmVudCwgY29uc3QgY2hhciogaWQpCit7
CisgICAgaWYgKCFBVEtfSVNfT0JKRUNUKHBhcmVudCkpCisgICAgICAgIHJldHVybiAwOworCisg
ICAgQXRrQXR0cmlidXRlU2V0KiBhdHRyaWJ1dGVTZXQgPSBhdGtfb2JqZWN0X2dldF9hdHRyaWJ1
dGVzKHBhcmVudCk7CisgICAgZm9yIChHU0xpc3QqIGF0dHJpYnV0ZXMgPSBhdHRyaWJ1dGVTZXQ7
IGF0dHJpYnV0ZXM7IGF0dHJpYnV0ZXMgPSBhdHRyaWJ1dGVzLT5uZXh0KSB7CisgICAgICAgIEF0
a0F0dHJpYnV0ZSogYXR0cmlidXRlID0gc3RhdGljX2Nhc3Q8QXRrQXR0cmlidXRlKj4oYXR0cmli
dXRlcy0+ZGF0YSk7CisgICAgICAgIGlmICghc3RyY21wKGF0dHJpYnV0ZS0+bmFtZSwgImh0bWwt
aWQiKSkgeworICAgICAgICAgICAgaWYgKCFzdHJjbXAoYXR0cmlidXRlLT52YWx1ZSwgaWQpKQor
ICAgICAgICAgICAgICAgIHJldHVybiBwYXJlbnQ7CisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgfQorICAgIH0KKworICAgIGludCBjaGlsZENvdW50ID0gYXRrX29iamVjdF9nZXRfbl9hY2Nl
c3NpYmxlX2NoaWxkcmVuKHBhcmVudCk7CisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBjaGlsZENv
dW50OyBpKyspIHsKKyAgICAgICAgQXRrT2JqZWN0KiByZXN1bHQgPSBjaGlsZEVsZW1lbnRCeUlk
KGF0a19vYmplY3RfcmVmX2FjY2Vzc2libGVfY2hpbGQocGFyZW50LCBpKSwgaWQpOworICAgICAg
ICBpZiAoQVRLX0lTX09CSkVDVChyZXN1bHQpKQorICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsK
KyAgICB9CisKKyAgICByZXR1cm4gMDsKK30KKwogQWNjZXNzaWJpbGl0eVVJRWxlbWVudCBBY2Nl
c3NpYmlsaXR5Q29udHJvbGxlcjo6YWNjZXNzaWJsZUVsZW1lbnRCeUlkKEpTU3RyaW5nUmVmIGlk
KQogewotICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKKyAgICBBdGtPYmplY3QqIHJvb3QgPSBEdW1w
UmVuZGVyVHJlZVN1cHBvcnRHdGs6OmdldFJvb3RBY2Nlc3NpYmxlRWxlbWVudChtYWluRnJhbWUp
OworICAgIGlmICghcm9vdCkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBzaXplX3QgYnVmZmVy
U2l6ZSA9IEpTU3RyaW5nR2V0TWF4aW11bVVURjhDU3RyaW5nU2l6ZShpZCk7CisgICAgR093blB0
cjxnY2hhcj4gaWRCdWZmZXIoc3RhdGljX2Nhc3Q8Z2NoYXIqPihnX21hbGxvYyhidWZmZXJTaXpl
KSkpOworICAgIEpTU3RyaW5nR2V0VVRGOENTdHJpbmcoaWQsIGlkQnVmZmVyLmdldCgpLCBidWZm
ZXJTaXplKTsKKworICAgIEF0a09iamVjdCogcmVzdWx0ID0gY2hpbGRFbGVtZW50QnlJZChyb290
LCBpZEJ1ZmZlci5nZXQoKSk7CisgICAgaWYgKEFUS19JU19PQkpFQ1QocmVzdWx0KSkKKyAgICAg
ICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQocmVzdWx0KTsKKwogICAgIHJldHVybiAw
OworCiB9CiAKIHZvaWQgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnNldExvZ0ZvY3VzRXZlbnRz
KGJvb2wpCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudEd0ay5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudEd0ay5jcHAKaW5kZXggNWMxODgzMmZjZjcxMDE1ZThiMGEyZDRjNWRlMWY1Njhk
NDUzMDM3Mi4uNGFiOTk5NTUwODVkYzQ1OTU3ZDg3MmRlMGQ5YWZhMDVmYTgwYmYyNyAxMDA2NDQK
LS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRHdGsu
Y3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
R3RrLmNwcApAQCAtMzg4LDExICszODgsNyBAQCBKU1N0cmluZ1JlZiBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50Ojpyb2xlRGVzY3JpcHRpb24oKQogSlNTdHJpbmdSZWYgQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6dGl0bGUoKQogewogICAgIGNvbnN0IGdjaGFyKiBuYW1lID0gYXRrX29iamVjdF9nZXRf
bmFtZShBVEtfT0JKRUNUKG1fZWxlbWVudCkpOwotCi0gICAgaWYgKCFuYW1lKQotICAgICAgICBy
ZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKLQotICAgIEdPd25QdHI8
Z2NoYXI+IGF4VGl0bGUoZ19zdHJkdXBfcHJpbnRmKCJBWFRpdGxlOiAlcyIsIG5hbWUpKTsKKyAg
ICBHT3duUHRyPGdjaGFyPiBheFRpdGxlKGdfc3RyZHVwX3ByaW50ZigiQVhUaXRsZTogJXMiLCBu
YW1lID8gbmFtZSA6ICIiKSk7CiAKICAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENT
dHJpbmcoYXhUaXRsZS5nZXQoKSk7CiB9CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3Bw
CmluZGV4IDA5NjQwNjRmMTM4NWQ0ZDk3YzEwYWQwZDhlYjUxYzc2YTE1MDAzNTguLjZkZjAyNjk4
MzZhNmRkMzNmMTI2NWY2MjdmNzg3NGZkMzEzNjA2ZjEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3BwCisr
KyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuY3BwCkBAIC0xMDYsNiArMTA2LDkgQEAgUGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6ZWxlbWVudEF0UG9pbnQoaW50IHgK
ICNpZiAhUExBVEZPUk0oTUFDKQogYm9vbCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6YWRkTm90
aWZpY2F0aW9uTGlzdGVuZXIoSlNWYWx1ZVJlZikgeyByZXR1cm4gZmFsc2U7IH0KIGJvb2wgQWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnJlbW92ZU5vdGlmaWNhdGlvbkxpc3RlbmVyKCkgeyByZXR1
cm4gZmFsc2U7IH0KKyNlbmRpZgorCisjaWYgIVBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKEdU
SykgJiYgIVBMQVRGT1JNKEVGTCkKIFBhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4g
QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmFjY2Vzc2libGVFbGVtZW50QnlJZChKU1N0cmluZ1Jl
ZiBhdHRyaWJ1dGUpIHsgcmV0dXJuIDA7IH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxl
ckF0ay5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nl
c3NpYmlsaXR5Q29udHJvbGxlckF0ay5jcHAKaW5kZXggZDc3YWE5Y2JhMjA3NDE3ZWRhMzY5MzU0
NDZiMzExNjUzZDI5Yzk2Yy4uNDU4NDcyYmZhYTkyN2Y5OTg2ZGZjYjkxMzk3ZTY5YjBhYWYzODNm
OCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsv
QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJBdGsuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyQXRrLmNwcApAQCAt
MjksNiArMjksOSBAQAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmgiCiAKICNp
bmNsdWRlICJJbmplY3RlZEJ1bmRsZS5oIgorI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlUGFnZS5o
IgorCisjaW5jbHVkZSA8V2ViS2l0Mi9XS0J1bmRsZVBhZ2VQcml2YXRlLmg+CiAjaW5jbHVkZSA8
YXRrL2F0ay5oPgogI2luY2x1ZGUgPGNzdGRpbz4KICNpbmNsdWRlIDx3dGYvZ29iamVjdC9HT3du
UHRyLmg+CkBAIC0xNDcsNCArMTUwLDQ2IEBAIHZvaWQgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6
OnJlc2V0VG9Db25zaXN0ZW50U3RhdGUoKQogICAgIH0KIH0KIAorc3RhdGljIEF0a09iamVjdCog
Y2hpbGRFbGVtZW50QnlJZChBdGtPYmplY3QqIHBhcmVudCwgY29uc3QgY2hhciogaWQpCit7Cisg
ICAgaWYgKCFBVEtfSVNfT0JKRUNUKHBhcmVudCkpCisgICAgICAgIHJldHVybiAwOworCisgICAg
QXRrQXR0cmlidXRlU2V0KiBhdHRyaWJ1dGVTZXQgPSBhdGtfb2JqZWN0X2dldF9hdHRyaWJ1dGVz
KHBhcmVudCk7CisgICAgZm9yIChHU0xpc3QqIGF0dHJpYnV0ZXMgPSBhdHRyaWJ1dGVTZXQ7IGF0
dHJpYnV0ZXM7IGF0dHJpYnV0ZXMgPSBhdHRyaWJ1dGVzLT5uZXh0KSB7CisgICAgICAgIEF0a0F0
dHJpYnV0ZSogYXR0cmlidXRlID0gc3RhdGljX2Nhc3Q8QXRrQXR0cmlidXRlKj4oYXR0cmlidXRl
cy0+ZGF0YSk7CisgICAgICAgIGlmICghc3RyY21wKGF0dHJpYnV0ZS0+bmFtZSwgImh0bWwtaWQi
KSkgeworICAgICAgICAgICAgaWYgKCFzdHJjbXAoYXR0cmlidXRlLT52YWx1ZSwgaWQpKQorICAg
ICAgICAgICAgICAgIHJldHVybiBwYXJlbnQ7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
fQorICAgIH0KKworICAgIGludCBjaGlsZENvdW50ID0gYXRrX29iamVjdF9nZXRfbl9hY2Nlc3Np
YmxlX2NoaWxkcmVuKHBhcmVudCk7CisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBjaGlsZENvdW50
OyBpKyspIHsKKyAgICAgICAgQXRrT2JqZWN0KiByZXN1bHQgPSBjaGlsZEVsZW1lbnRCeUlkKGF0
a19vYmplY3RfcmVmX2FjY2Vzc2libGVfY2hpbGQocGFyZW50LCBpKSwgaWQpOworICAgICAgICBp
ZiAoQVRLX0lTX09CSkVDVChyZXN1bHQpKQorICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAg
ICB9CisKKyAgICByZXR1cm4gMDsKK30KKworUGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50PiBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6YWNjZXNzaWJsZUVsZW1lbnRCeUlkKEpTU3Ry
aW5nUmVmIGlkKQoreworICAgIEF0a09iamVjdCogcm9vdCA9IEFUS19PQkpFQ1QoV0tBY2Nlc3Np
YmlsaXR5Um9vdE9iamVjdChJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkucGFnZSgpLT5wYWdlKCkp
KTsKKyAgICBpZiAoIXJvb3QpCisgICAgICAgIHJldHVybiAwOworCisgICAgc2l6ZV90IGJ1ZmZl
clNpemUgPSBKU1N0cmluZ0dldE1heGltdW1VVEY4Q1N0cmluZ1NpemUoaWQpOworICAgIEdPd25Q
dHI8Z2NoYXI+IGlkQnVmZmVyKHN0YXRpY19jYXN0PGdjaGFyKj4oZ19tYWxsb2MoYnVmZmVyU2l6
ZSkpKTsKKyAgICBKU1N0cmluZ0dldFVURjhDU3RyaW5nKGlkLCBpZEJ1ZmZlci5nZXQoKSwgYnVm
ZmVyU2l6ZSk7CisKKyAgICBBdGtPYmplY3QqIHJlc3VsdCA9IGNoaWxkRWxlbWVudEJ5SWQocm9v
dCwgaWRCdWZmZXIuZ2V0KCkpOworICAgIGlmIChBVEtfSVNfT0JKRUNUKHJlc3VsdCkpCisgICAg
ICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjcmVhdGUocmVzdWx0KTsKKworICAg
IHJldHVybiAwOworfQorCiB9IC8vIG5hbWVzcGFjZSBXVFIKZGlmZiAtLWdpdCBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRB
dGsuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNz
aWJpbGl0eVVJRWxlbWVudEF0ay5jcHAKaW5kZXggMWNlMDljZGVmNWE2NGRjZWQ2OGNkMGRiYzQ2
NmU1NDg5OTk4M2E0Ni4uNDcyMmQ0NzcxNDBiZjhiNDc3YWQ0Y2NmMDRkODA2MDAwNTgwZGU4ZiAx
MDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAKQEAgLTUxOCwx
MCArNTE4LDcgQEAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OnRpdGxlKCkKICAgICAgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMo
MCwgMCk7CiAKICAgICBjb25zdCBnY2hhciogbmFtZSA9IGF0a19vYmplY3RfZ2V0X25hbWUoQVRL
X09CSkVDVChtX2VsZW1lbnQpKTsKLSAgICBpZiAoIW5hbWUpCi0gICAgICAgIHJldHVybiBKU1N0
cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOwotCi0gICAgR093blB0cjxnY2hhcj4gYXhU
aXRsZShnX3N0cmR1cF9wcmludGYoIkFYVGl0bGU6ICVzIiwgbmFtZSkpOworICAgIEdPd25QdHI8
Z2NoYXI+IGF4VGl0bGUoZ19zdHJkdXBfcHJpbnRmKCJBWFRpdGxlOiAlcyIsIG5hbWUgPyBuYW1l
IDogIiIpKTsKIAogICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZyhheFRp
dGxlLmdldCgpKTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0NDk5NTYxODUyMmE1OTkyNmFiYzM3OGZhNTA2ZmY0ODhl
NGM1NzdiLi41MTk4MTZiMDIwMTZkOWFiYTg1NzAzNmYwYjA2NzI5YzBmMzU1YTRiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzAgQEAKKzIwMTItMTItMjcgIEpvYW5tYXJpZSBEaWdncyAgPGpkaWdnc0BpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtHVEtdIGFjY2Vzc2liaWxpdHkvYXJpYS1sYWJlbGxlZGJ5LW92
ZXJyaWRlcy1sYWJlbC5odG1sIHJlcXVpcmVzIGEgcHJvcGVyIGJhc2VsaW5lCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU2MzgKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgdGVzdCB3YXMgZmFpbGlu
ZyBmb3IgdHdvIHJlYXNvbnM6CisgICAgICAgIC0gQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6
Y29ycmVzcG9uZGluZ0xhYmVsRm9yQ29udHJvbEVsZW1lbnQoKSB3YXMKKyAgICAgICAgICBub3Qg
aWdub3JpbmcgdGhlIEFSSUEgbGFiZWxsZWQtYnkgcHJvcGVydHkKKyAgICAgICAgLSBBY2Nlc3Np
YmlsaXR5Q29udHJvbGxlcjo6YWNjZXNzaWJsZUVsZW1lbnRCeUlkKCkgd2FzIG5vdCBpbXBsZW1l
bnRlZAorCisgICAgICAgIEJlY2F1c2UgZ2V0dGluZyBhbiBlbGVtZW50IGJ5IElEIGNhbm5vdCBi
ZSBkb25lIGluIHRoZSBVSVByb2Nlc3MsIHRoZQorICAgICAgICBkZWNpc2lvbiB3YXMgbWFkZSB0
byBleHBvc2UgdGhlIGVsZW1lbnQncyBJRCBhcyBhbiBhY2Nlc3NpYmxlIGF0dHJpYnV0ZQorICAg
ICAgICBvZiB0aGUgb2JqZWN0LgorCisgICAgICAgIEluIGFkZGl0aW9uLCBmaXhpbmcgdGhlIGJ1
ZyBpbiBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0IG1hZGUgaXQgcG9zc2libGUKKyAgICAgICAg
dG8gZWxpbWluYXRlIHRoZSBHdGsgcGxhdGZvcm0tc3BlY2lmaWMgZXhwZWN0YXRpb25zIGZvciBh
bm90aGVyIHRlc3QuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2FyaWEtbGFiZWxsZWRieS1v
dmVycmlkZXMtbGFiZWwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L3JhZGlvLWJ1dHRvbi10aXRsZS1sYWJlbC1leHBlY3RlZC50eHQ6IE1vZGlmaWVkIGJhc2Vk
IG9uCisgICAgICAgIG51bGwgY2hlY2sgd2hpY2ggd2FzIGFkZGVkIGFuZCB3aGljaCBnZXRzIGlu
Y2x1ZGVkIGluIHRoZSB0ZXN0IG91dHB1dC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L3JhZGlv
LWJ1dHRvbi10aXRsZS1sYWJlbC5odG1sOiBDaGVjayB0byBzZWUgdGhhdCB3ZSBoYXZlCisgICAg
ICAgIGEgdGl0bGVVSUVsZW1lbnQgYmVmb3JlIGF0dGVtcHRpbmcgdG8gZ2V0IGl0cyB0aXRsZS4K
KyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczogVW5za2lwcGVkIHRoZSBw
cmV2aW91c2x5IGZhaWxpbmcgdGVzdC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJp
bGl0eS9yYWRpby1idXR0b24tdGl0bGUtbGFiZWwtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorCiAy
MDEyLTEyLTI1ICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgV2ViIEluc3BlY3RvcjogQ3Jhc2ggd2hlbiBtb2RpZnlpbmcgYSBydWxlIHRoYXQgaGFz
IGJlZW4gcmVtb3ZlZCB0aHJvdWdoIEphdmFTY3JpcHQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvYXJpYS1sYWJlbGxlZGJ5LW92ZXJyaWRlcy1sYWJlbC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtbGFiZWxsZWRieS1vdmVycmlkZXMt
bGFiZWwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMzE4NjhkZDU3YzkwNmU3M2RhZWMwOGM2
MDc1MWRjYWFkMTY5ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L2FyaWEtbGFiZWxsZWRieS1vdmVycmlkZXMtbGFiZWwtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1NodXQgZG93biBjb21wdXRlciBhZnRlciAgbWludXRlcworVGhpcyB0ZXN0cyB0
aGF0IGlmIGFyaWEtbGFiZWxsZWRieSBpcyB1c2VkLCB0aGVuIGxhYmVsIGVsZW1lbnRzIGFyZSBu
b3QgdXNlZAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB0ZXh0LmRlc2Ny
aXB0aW9uIGlzICdBWERlc2NyaXB0aW9uOiBTaHV0IGRvd24gY29tcHV0ZXIgYWZ0ZXIgMTAgbWlu
dXRlcycKK1BBU1MgdGV4dC50aXRsZVVJRWxlbWVudCgpICE9IG51bGwgJiYgdGV4dC50aXRsZVVJ
RWxlbWVudCgpLmlzVmFsaWQgaXMgZmFsc2UKK0xhYmVsIGVsZW1lbnQgcm9sZSBpczogQVhSb2xl
OiBBWExhYmVsCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9yYWRpby1idXR0b24t
dGl0bGUtbGFiZWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9yYWRp
by1idXR0b24tdGl0bGUtbGFiZWwtZXhwZWN0ZWQudHh0CmluZGV4IDYxMDNjMjg4YzgzN2ViOGRk
NWZiYTNkMWM4MDc0NGM2ZmRhMzk0MjcuLjY2MmEyN2U5MmY0ZGNmNjIxYjI0NTAyODc4NWFmOWFj
ZDEzNWYyOGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvcmFkaW8tYnV0
dG9uLXRpdGxlLWxhYmVsLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L3JhZGlvLWJ1dHRvbi10aXRsZS1sYWJlbC1leHBlY3RlZC50eHQKQEAgLTEwLDcgKzEwLDcg
QEAgUEFTUyBmb2N1c2VkRWxlbWVudC50aXRsZSBpcyAnQVhUaXRsZTogJwogUEFTUyAhdGl0bGVV
SUVsZW1lbnQgfHwgdGl0bGVVSUVsZW1lbnQudGl0bGUgPT0gJ0FYVGl0bGU6ICcgaXMgdHJ1ZQog
UEFTUyBmb2N1c2VkRWxlbWVudC5kZXNjcmlwdGlvbiBpcyAnQVhEZXNjcmlwdGlvbjogcmFkaW8z
JwogUEFTUyBmb2N1c2VkRWxlbWVudC50aXRsZSBpcyAnQVhUaXRsZTogJwotUEFTUyB0aXRsZVVJ
RWxlbWVudC50aXRsZSBpcyAnQVhUaXRsZTogJworUEFTUyAhdGl0bGVVSUVsZW1lbnQgfHwgdGl0
bGVVSUVsZW1lbnQudGl0bGUgPT0gJ0FYVGl0bGU6ICcgaXMgdHJ1ZQogUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L3JhZGlvLWJ1dHRvbi10aXRsZS1sYWJlbC5odG1sIGIvTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9yYWRpby1idXR0b24tdGl0bGUtbGFiZWwuaHRtbAppbmRleCBjODcw
YmI5NzBkZWI1MjhhNWI4NzgzNWJjMTZhZGE0Yjc2MjhlYmQ0Li5mN2FhYzNlOThkMmMxMDNkNGM4
YTU1ZGIyMGI3ODU2ZjQ2NzQ0MmZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L3JhZGlvLWJ1dHRvbi10aXRsZS1sYWJlbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvcmFkaW8tYnV0dG9uLXRpdGxlLWxhYmVsLmh0bWwKQEAgLTUwLDcgKzUwLDcgQEAK
ICAgICAgICAgICAgIHRpdGxlVUlFbGVtZW50ID0gZm9jdXNlZEVsZW1lbnQudGl0bGVVSUVsZW1l
bnQoKTsKICAgICAgICAgICAgIHNob3VsZEJlKCJmb2N1c2VkRWxlbWVudC5kZXNjcmlwdGlvbiIs
ICInQVhEZXNjcmlwdGlvbjogcmFkaW8zJyIpOwogICAgICAgICAgICAgc2hvdWxkQmUoImZvY3Vz
ZWRFbGVtZW50LnRpdGxlIiwgIidBWFRpdGxlOiAnIik7Ci0gICAgICAgICAgICBzaG91bGRCZSgi
dGl0bGVVSUVsZW1lbnQudGl0bGUiLCAiJ0FYVGl0bGU6ICciKTsKKyAgICAgICAgICAgIHNob3Vs
ZEJlVHJ1ZSgiIXRpdGxlVUlFbGVtZW50IHx8IHRpdGxlVUlFbGVtZW50LnRpdGxlID09ICdBWFRp
dGxlOiAnIik7CiAKICAgICAgICAgfQogICAgIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBkZTc0YTkzMjRiYWRiM2QxMTAzOTZmM2Y3YTY3
YjZhY2U2NDZmODM0Li4xMDQwOTA0ZjYxMWE3YzkzZjUwNzdiZTYzYmM4N2QyYTdhZDRlMjgxIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucworKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDcsNyArNDcs
NiBAQCB3ZWJraXQub3JnL2IvODQwNDUgYWNjZXNzaWJpbGl0eS9pbWFnZS1tYXAyLmh0bWwgWyBN
aXNzaW5nIF0KIHdlYmtpdC5vcmcvYi83MDYwNiBhY2Nlc3NpYmlsaXR5L21lbnUtbGlzdC1zZW5k
cy1jaGFuZ2Utbm90aWZpY2F0aW9uLmh0bWwgWyBNaXNzaW5nIF0KIHdlYmtpdC5vcmcvYi83MDYw
NiBhY2Nlc3NpYmlsaXR5L211bHRpc2VsZWN0LWxpc3QtcmVwb3J0cy1hY3RpdmUtb3B0aW9uLmh0
bWwgWyBNaXNzaW5nIF0KIHdlYmtpdC5vcmcvYi83MDYwNiBhY2Nlc3NpYmlsaXR5L25vdGlmaWNh
dGlvbi1saXN0ZW5lcnMuaHRtbCBbIE1pc3NpbmcgXQotd2Via2l0Lm9yZy9iLzEwNTYzOCBhY2Nl
c3NpYmlsaXR5L2FyaWEtbGFiZWxsZWRieS1vdmVycmlkZXMtbGFiZWwuaHRtbCBbIE1pc3Npbmcg
XQogCiB3ZWJraXQub3JnL2IvMTA1NjM5IGZhc3QvaW5saW5lL2p1c3RpZnktZW1waGFzaXMtaW5s
aW5lLWJveC5odG1sIFsgTWlzc2luZyBdCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3JhZGlvLWJ1dHRvbi10aXRsZS1sYWJlbC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9yYWRpby1idXR0b24t
dGl0bGUtbGFiZWwtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0
NTQwZmRlODYyNmIwNjdlY2QwZjk3ODZkYjA5OWFiZTM2MmFiNDk5Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9h
Y2Nlc3NpYmlsaXR5L3JhZGlvLWJ1dHRvbi10aXRsZS1sYWJlbC1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi1UaGlzIHRlc3QgY2hlY2tzIHRoYXQgcmFkaW8gYnV0
dG9ucyBleHBvc2UgdGl0bGUgdWkgZWxlbWVudHMgY29ycmVjdGx5IHVuZGVyIGEgdmFyaWV0eSBv
ZiBjaXJtY3Vtc3RhbmNlcy4gSW4gZ2VuZXJhbCwgdGhlIHNob3VsZCBkaXNhcHBlYXIgYW5kIGFj
dCBhcyB0aGUgdGl0bGUgZm9yIHRoZSByYWRpbyBidXR0b24uCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KLQotCi1QQVNTIGZvY3VzZWRFbGVtZW50LnRpdGxlIGlzICdBWFRpdGxlOiBMQUJF
TCcKLVBBU1MgIXRpdGxlVUlFbGVtZW50IHx8IHRpdGxlVUlFbGVtZW50LnRpdGxlID09ICdBWFRp
dGxlOiAnIGlzIHRydWUKLVBBU1MgZm9jdXNlZEVsZW1lbnQuZGVzY3JpcHRpb24gaXMgJ0FYRGVz
Y3JpcHRpb246IExBQkVMMmEnCi1GQUlMIGZvY3VzZWRFbGVtZW50LnRpdGxlIHNob3VsZCBiZSBB
WFRpdGxlOiAuIFdhcyBBWFRpdGxlOiBMQUJFTDIuCi1QQVNTICF0aXRsZVVJRWxlbWVudCB8fCB0
aXRsZVVJRWxlbWVudC50aXRsZSA9PSAnQVhUaXRsZTogJyBpcyB0cnVlCi1QQVNTIGZvY3VzZWRF
bGVtZW50LmRlc2NyaXB0aW9uIGlzICdBWERlc2NyaXB0aW9uOiByYWRpbzMnCi1GQUlMIGZvY3Vz
ZWRFbGVtZW50LnRpdGxlIHNob3VsZCBiZSBBWFRpdGxlOiAuIFdhcyBBWFRpdGxlOiBMQUJFTDMu
Ci1QQVNTIHRpdGxlVUlFbGVtZW50LnRpdGxlIGlzICdBWFRpdGxlOiAnCi1QQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLVRlc3QKLUxBQkVMICBUZXN0Ci1M
QUJFTDIKLUxBQkVMMmEKLVRlc3QKLUxBQkVMMwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>