<?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>113768</bug_id>
          
          <creation_ts>2013-04-02 04:27:17 -0700</creation_ts>
          <short_desc>Web Inspector: crash in WebCore::InspectorLayerTreeAgent::buildObjectForLayer if a layer is created for an anonymous RenderObject (:first-letter)</short_desc>
          <delta_ts>2013-04-03 04:05:22 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://sahilparikh.com/post/46741689726/building-a-saas-business-2007-vs-2013</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>apavlov</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>timothy</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>867733</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2013-04-02 04:27:17 -0700</bug_when>
    <thetext>Steps to reproduce:

1. Load &lt;http://sahilparikh.com/post/46741689726/building-a-saas-business-2007-vs-2013#&gt; in a WebKit nightly
2. Open the Safari Web Inspector
3. Click on the layers pane
4. *crash*

The issue here is that a CSS rule using the :first-letter pseudo-element creates a composited layer (due to &quot;backface-visilibity: hidden&quot;) and the InspectorLayerTreeAgent doesn&apos;t know how to handle such &quot;special&quot; RenderObjects. As a result, we get a null Node and when we ask for its nodeId, we eventually crash. We should be both more protective of unknown nodes and handle anonymous RenderObjects specifically.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867735</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2013-04-02 04:28:01 -0700</bug_when>
    <thetext>&lt;rdar://problem/13555463&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867964</commentid>
    <comment_count>2</comment_count>
      <attachid>196169</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2013-04-02 09:57:06 -0700</bug_when>
    <thetext>Created attachment 196169
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867981</commentid>
    <comment_count>3</comment_count>
      <attachid>196169</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2013-04-02 10:18:16 -0700</bug_when>
    <thetext>Comment on attachment 196169
Patch

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

&gt; Source/WebCore/inspector/InspectorLayerTreeAgent.cpp:206
&gt; +        RenderStyle* style = renderer-&gt;style();
&gt; +        if (style) {

FWIW, this can be simplified to:

    if (RenderStyle* style = renderer-&gt;style()) {</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868023</commentid>
    <comment_count>4</comment_count>
      <attachid>196169</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-04-02 10:54:41 -0700</bug_when>
    <thetext>Comment on attachment 196169
Patch

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

&gt; Source/WebCore/inspector/InspectorLayerTreeAgent.cpp:175
&gt; +    else if (isReflection || isAnonymous)
&gt;          node = renderer-&gt;parent()-&gt;node();

Does this always work? What about a :first-letter inside a :first-line?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868570</commentid>
    <comment_count>5</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2013-04-03 02:51:40 -0700</bug_when>
    <thetext>&lt;rdar://problem/13555463&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868576</commentid>
    <comment_count>6</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2013-04-03 03:04:27 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 196169 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=196169&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/inspector/InspectorLayerTreeAgent.cpp:175
&gt; &gt; +    else if (isReflection || isAnonymous)
&gt; &gt;          node = renderer-&gt;parent()-&gt;node();
&gt; 
&gt; Does this always work? What about a :first-letter inside a :first-line?

Per my testing, that works too. I haven&apos;t found a way to have a ::first-letter be composited though, animations don&apos;t apply, neither do transforms, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868578</commentid>
    <comment_count>7</comment_count>
      <attachid>196313</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2013-04-03 03:11:57 -0700</bug_when>
    <thetext>Created attachment 196313
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868579</commentid>
    <comment_count>8</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2013-04-03 03:12:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/13544596&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868603</commentid>
    <comment_count>9</comment_count>
      <attachid>196313</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-04-03 04:05:17 -0700</bug_when>
    <thetext>Comment on attachment 196313
Patch for landing

Clearing flags on attachment: 196313

Committed r147538: &lt;http://trac.webkit.org/changeset/147538&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868604</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-04-03 04:05:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196169</attachid>
            <date>2013-04-02 09:57:06 -0700</date>
            <delta_ts>2013-04-03 03:11:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113768-20130402185654.patch</filename>
            <type>text/plain</type>
            <size>13054</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3MzEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODg2ZjE3ODVkNDM3Zjk1
ODEzNzkzZDIyZjUwNDZiNTQzNzdhYjg5YS4uOTdmYWQzZDRlMjJmZmZlZTQ0MDYyMThiNjFjNjYz
NTExOTNiNmMyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEzLTA0LTAyICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3Rvcjog
Y3Jhc2ggaW4gV2ViQ29yZTo6SW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQ6OmJ1aWxkT2JqZWN0Rm9y
TGF5ZXIgaWYgYSBsYXllciBpcyBjcmVhdGVkIGZvciBhbiBhbm9ueW1vdXMgUmVuZGVyT2JqZWN0
ICg6Zmlyc3QtbGV0dGVyKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTEzNzY4CisKKyAgICAgICAgVGhlIEluc3BlY3RvckxheWVyVHJlZUFnZW50IG5v
dyBrbm93cyBob3cgdG8gZGVhbCB3aXRoIGFub255bW91cyBSZW5kZXJPYmplY3RzCisgICAgICAg
IGZvciB0aGUgOmZpcnN0LWxldHRlciBhbmQgOmZpcnN0LWxpbmUgcHNldWRvLWVsZW1lbnRzLgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGlu
c3BlY3Rvci1wcm90b2NvbC9sYXllcnMvbGF5ZXJzLWFub255bW91cy5odG1sCisKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgIENoYW5nZSB0aGUgTGF5ZXIgdHlw
ZSBpbiB0aGUgTGF5ZXJUcmVlIGRvbWFpbiB0byBoYXZlIG1vcmUgYWNjdXJhdGUgdGVybWlub2xv
Z3kKKyAgICAgICAgKHBzZXVkby1lbGVtZW50IHZzLiBwc2V1ZG8tY2xhc3MpIGFuZCBhIG5ldyBv
cHRpb25hbCBpc0Fub255bW91cyBmbGFnIGZvciBsYXllcnMKKyAgICAgICAgYXNzb2NpYXRlZCB0
byBhbm9ueW1vdXMgUmVuZGVyT2JqZWN0cy4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JMYXllclRyZWVBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JMYXllclRy
ZWVBZ2VudDo6YnVpbGRPYmplY3RGb3JMYXllcik6CisgICAgICAgIENoZWNrIGZvciBhbm9ueW1v
dXMgUmVuZGVyT2JqZWN0cyBhbmQgc2V0IHRoZSBwYXJlbnQgcmVuZGVyZXIncyBub2RlIGFzIHRo
ZSBub2RlCisgICAgICAgIGZvciB0aGlzIGxheWVyIHNpbmNlIGFub255bW91cyByZW5kZXJlcnMg
aGF2ZSB0aGUgRG9jdW1lbnQgYXMgdGhlaXIgbm9kZSBhbmQgdGhpcworICAgICAgICB3b3VsZCBu
b3QgYmUgc2F0aXNmYWN0b3J5IHRvIHNob3cgaW4gYSBmcm9udC1lbmQuIFdlIGFsc28gY2hlY2sg
Zm9yIGFub255bW91cworICAgICAgICBSZW5kZXJPYmplY3RzIGZvciB0aGUgOmZpcnN0LWxldHRl
ciBhbmQgOmZpcnN0LWxpbmUgcHNldWRvLWVsZW1lbnRzIGFuZCBzZXQgdGhlbQorICAgICAgICBp
biB0aGUgcHNldWRvRWxlbWVudCBwcm9wZXJ0eSBvZiB0aGUgTGF5ZXIgb2JqZWN0IGNyZWF0ZWQg
c3VjaCB0aGF0IGEgZnJvbnQtZW5kCisgICAgICAgIGNvdWxkIGNvcnJlY3RseSBpZGVudGlmeSB3
aGF0IHR5cGUgb2YgcHNldWRvLWVsZW1lbnQgZm9yIHRoZSBhc3NvY2lhdGVkIG5vZGUKKyAgICAg
ICAgeWllbGRlZCB0aGlzIGxheWVyLgorCisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JMYXll
clRyZWVBZ2VudDo6aWRGb3JOb2RlKToKKyAgICAgICAgSGVyZSB3ZSBmaXggdGhlIGFjdHVhbCBj
cmFzaCBieSBmaXJzdCBjaGVja2luZyBpZiB0aGUgbm9kZSBwcm92aWRlZCBpcyBudWxsIGFuZAor
ICAgICAgICByZXR1cm5pbmcgMCBpZiB0aGVyZSdzIG5vIHN1Y2ggbm9kZS4gVGhpcyBlbnN1cmVz
IHRoYXQgYW55IHNjZW5hcmlvIHdoZXJlIHRoZXJlCisgICAgICAgIGlzIG5vIG5vZGUgYXNzb2Np
YXRlZCB3aXRoIHRoZSBSZW5kZXJPYmplY3Qgc2ltcGx5IGluZm9ybXMgb2YgdGhlIGZyb250LWVu
ZCB0aGF0CisgICAgICAgIG5vIHN1Y2ggbm9kZSBleGlzdHMgYW5kIHdlIGRvIG5vdCBjcmFzaC4K
KwogMjAxMy0wNC0wMSAgSWx5YSBUaWtob25vdnNreSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgV2ViIEluc3BlY3RvcjogRmxhbWUgQ2hhcnQuIEV4dHJhY3QgaXRlbSB0byBjb29y
ZGluYXRlcyBjb252ZXJzaW9uIGludG8gYSBzZXBhcmF0ZSBmdW5jdGlvbi4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgppbmRleCA0NjQ0NDgzNDc3M2U0MDdkYzllMWFlMDM1
YzY0OTY4ODUwNWJjNWU1Li42OTU5Njc0MDIxNTQwYWY0ODg2MGRjNjQ5MDFjNmEyYTQ1ODNhMGFi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCkBAIC0zNzE0LDggKzM3
MTQsOSBAQAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImlzSW5TaGFkb3dUcmVlIiwg
InR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJJbmRp
Y2F0ZXMgd2hldGhlciB0aGlzIGxheWVyIGlzIGFzc29jaWF0ZWQgd2l0aCBhbiBlbGVtZW50IGhv
c3RlZCBpbiBhIHNoYWRvdyB0cmVlLiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6
ICJpc1JlZmxlY3Rpb24iLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRl
c2NyaXB0aW9uIjogIkluZGljYXRlcyB3aGV0aGVyIHRoaXMgbGF5ZXIgd2FzIHVzZWQgdG8gcHJv
dmlkZSBhIHJlZmxlY3Rpb24gZm9yIHRoZSBlbGVtZW50LiIgfSwKICAgICAgICAgICAgICAgICAg
ICAgeyAibmFtZSI6ICJpc0dlbmVyYXRlZENvbnRlbnQiLCAidHlwZSI6ICJib29sZWFuIiwgIm9w
dGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIkluZGljYXRlcyB3aGV0aGVyIHRoZSBsYXll
ciBpcyBhdHRhY2hlZCB0byBhIHBzZXVkbyBlbGVtZW50IHRoYXQgaXMgQ1NTIGdlbmVyYXRlZCBj
b250ZW50LiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJpc0Fub255bW91cyIs
ICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiSW5k
aWNhdGVzIHdoZXRoZXIgdGhlIGxheWVyIHdhcyBjcmVhdGVkIGZvciBhIENTUyBhbm9ueW1vdXMg
YmxvY2sgb3IgYm94LiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJwc2V1ZG9F
bGVtZW50SWQiLCAiJHJlZiI6ICJQc2V1ZG9FbGVtZW50SWQiLCAib3B0aW9uYWwiOiB0cnVlLCAi
ZGVzY3JpcHRpb24iOiAiVGhlIGlkIGZvciB0aGUgcHNldWRvIGVsZW1lbnQgYXNzb2NpYXRlZCB3
aXRoIHRoaXMgbGF5ZXIuIiB9LAotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInBzZXVk
b0NsYXNzIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9u
IjogIlRoZSBuYW1lIG9mIHRoZSBDU1MgcHNldWRvLWNsYXNzIHRoYXQgcHJvbXB0ZWQgdGhlIGxh
eWVyJ3MgY29udGVudCB0byBiZSBnZW5lcmF0ZWQuIiB9CisgICAgICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAicHNldWRvRWxlbWVudCIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IHRy
dWUsICJkZXNjcmlwdGlvbiI6ICJUaGUgbmFtZSBvZiB0aGUgQ1NTIHBzZXVkby1lbGVtZW50IHRo
YXQgcHJvbXB0ZWQgdGhlIGxheWVyIHRvIGJlIGdlbmVyYXRlZC4iIH0KICAgICAgICAgICAgICAg
ICBdCiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5jcHAKaW5kZXggY2NmNTQ0ZTYy
YTE4MjBhOWI4MWFmOGI4YjgxNjhhZmRhZTIwZTE2Mi4uZDY3NDdlNTVkZmRhMWJmNjJhZmYzNWQ5
YjBmOWZiMWI3ZGRlZTU1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckxheWVyVHJlZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuY3BwCkBAIC0xNjUsMTIgKzE2NSwxMyBAQCBQYXNzUmVm
UHRyPFR5cGVCdWlsZGVyOjpMYXllclRyZWU6OkxheWVyPiBJbnNwZWN0b3JMYXllclRyZWVBZ2Vu
dDo6YnVpbGRPYmplY3RGbwogCiAgICAgYm9vbCBpc1JlZmxlY3Rpb24gPSByZW5kZXJMYXllci0+
aXNSZWZsZWN0aW9uKCk7CiAgICAgYm9vbCBpc0dlbmVyYXRlZCA9IChpc1JlZmxlY3Rpb24gPyBy
ZW5kZXJlci0+cGFyZW50KCkgOiByZW5kZXJlciktPmlzQmVmb3JlT3JBZnRlckNvbnRlbnQoKTsK
KyAgICBib29sIGlzQW5vbnltb3VzID0gcmVuZGVyZXItPmlzQW5vbnltb3VzKCk7CiAKICAgICBp
ZiAoaXNSZWZsZWN0aW9uICYmIGlzR2VuZXJhdGVkKQogICAgICAgICBub2RlID0gcmVuZGVyZXIt
PnBhcmVudCgpLT5nZW5lcmF0aW5nTm9kZSgpOwogICAgIGVsc2UgaWYgKGlzR2VuZXJhdGVkKQog
ICAgICAgICBub2RlID0gcmVuZGVyZXItPmdlbmVyYXRpbmdOb2RlKCk7Ci0gICAgZWxzZSBpZiAo
aXNSZWZsZWN0aW9uKQorICAgIGVsc2UgaWYgKGlzUmVmbGVjdGlvbiB8fCBpc0Fub255bW91cykK
ICAgICAgICAgbm9kZSA9IHJlbmRlcmVyLT5wYXJlbnQoKS0+bm9kZSgpOwogCiAgICAgLy8gQmFz
aWMgc2V0IG9mIHByb3BlcnRpZXMuCkBAIC0xOTQsOSArMTk1LDIwIEBAIFBhc3NSZWZQdHI8VHlw
ZUJ1aWxkZXI6OkxheWVyVHJlZTo6TGF5ZXI+IEluc3BlY3RvckxheWVyVHJlZUFnZW50OjpidWls
ZE9iamVjdEZvCiAgICAgICAgIGxheWVyT2JqZWN0LT5zZXRJc0dlbmVyYXRlZENvbnRlbnQodHJ1
ZSk7CiAgICAgICAgIGxheWVyT2JqZWN0LT5zZXRQc2V1ZG9FbGVtZW50SWQoYmluZFBzZXVkb0Vs
ZW1lbnQoc3RhdGljX2Nhc3Q8UHNldWRvRWxlbWVudCo+KHJlbmRlcmVyLT5ub2RlKCkpKSk7CiAg
ICAgICAgIGlmIChyZW5kZXJlci0+aXNCZWZvcmVDb250ZW50KCkpCi0gICAgICAgICAgICBsYXll
ck9iamVjdC0+c2V0UHNldWRvQ2xhc3MoImJlZm9yZSIpOworICAgICAgICAgICAgbGF5ZXJPYmpl
Y3QtPnNldFBzZXVkb0VsZW1lbnQoImJlZm9yZSIpOwogICAgICAgICBlbHNlIGlmIChyZW5kZXJl
ci0+aXNBZnRlckNvbnRlbnQoKSkKLSAgICAgICAgICAgIGxheWVyT2JqZWN0LT5zZXRQc2V1ZG9D
bGFzcygiYWZ0ZXIiKTsKKyAgICAgICAgICAgIGxheWVyT2JqZWN0LT5zZXRQc2V1ZG9FbGVtZW50
KCJhZnRlciIpOworICAgIH0KKworICAgIGlmIChpc0Fub255bW91cykgeworICAgICAgICBsYXll
ck9iamVjdC0+c2V0SXNBbm9ueW1vdXModHJ1ZSk7CisgICAgICAgIFJlbmRlclN0eWxlKiBzdHls
ZSA9IHJlbmRlcmVyLT5zdHlsZSgpOworICAgICAgICBpZiAoc3R5bGUpIHsKKyAgICAgICAgICAg
IGlmIChzdHlsZS0+c3R5bGVUeXBlKCkgPT0gRklSU1RfTEVUVEVSKQorICAgICAgICAgICAgICAg
IGxheWVyT2JqZWN0LT5zZXRQc2V1ZG9FbGVtZW50KCJmaXJzdC1sZXR0ZXIiKTsKKyAgICAgICAg
ICAgIGVsc2UgaWYgKHN0eWxlLT5zdHlsZVR5cGUoKSA9PSBGSVJTVF9MSU5FKQorICAgICAgICAg
ICAgICAgIGxheWVyT2JqZWN0LT5zZXRQc2V1ZG9FbGVtZW50KCJmaXJzdC1saW5lIik7CisgICAg
ICAgIH0KICAgICB9CiAKICAgICByZXR1cm4gbGF5ZXJPYmplY3Q7CkBAIC0yMDQsNiArMjE2LDkg
QEAgUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6TGF5ZXJUcmVlOjpMYXllcj4gSW5zcGVjdG9yTGF5
ZXJUcmVlQWdlbnQ6OmJ1aWxkT2JqZWN0Rm8KIAogaW50IEluc3BlY3RvckxheWVyVHJlZUFnZW50
OjppZEZvck5vZGUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBOb2RlKiBub2RlKQogeworICAg
IGlmICghbm9kZSkKKyAgICAgICAgcmV0dXJuIDA7CisKICAgICBJbnNwZWN0b3JET01BZ2VudCog
ZG9tQWdlbnQgPSBtX2luc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckRPTUFnZW50KCk7CiAg
ICAgCiAgICAgaW50IG5vZGVJZCA9IGRvbUFnZW50LT5ib3VuZE5vZGVJZChub2RlKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCA2OTcxODc2MTA0ZDg5MTdiYTE4ZDQxMTRkMzczM2I5Y2VjZGM0OGVhLi5hZmU0MWQzMGUxZGMz
M2U5ZGFkY2FkNGM5MzZkYzVjMjM2OTJiN2IzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTMt
MDQtMDIgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIg
SW5zcGVjdG9yOiBjcmFzaCBpbiBXZWJDb3JlOjpJbnNwZWN0b3JMYXllclRyZWVBZ2VudDo6YnVp
bGRPYmplY3RGb3JMYXllciBpZiBhIGxheWVyIGlzIGNyZWF0ZWQgZm9yIGFuIGFub255bW91cyBS
ZW5kZXJPYmplY3QgKDpmaXJzdC1sZXR0ZXIpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMTM3NjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci1wcm90b2NvbC9sYXllcnMvbGF5ZXJzLWFu
b255bW91cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci1wcm90b2Nv
bC9sYXllcnMvbGF5ZXJzLWFub255bW91cy5odG1sOiBBZGRlZC4KKyAgICAgICAgTmV3IHRlc3Qg
Zm9yIGxheWVycyBjcmVhdGVkIGZvciBDU1MgYW5vbnltb3VzIGJveGVzIG9yIGJsb2Nrcy4KKwor
ICAgICAgICAqIGluc3BlY3Rvci1wcm90b2NvbC9sYXllcnMvbGF5ZXJzLWdlbmVyYXRlZC1jb250
ZW50Lmh0bWw6CisgICAgICAgIFVwZGF0ZSB0ZXN0IHRvIHVzZSB0aGUgInBzZXVkb0VsZW1lbnQi
IHByb3BlcnR5IGluc3RlYWQgb2YgInBzZXVkb0NsYXNzIgorICAgICAgICB3aGljaCB3YXMgdGhl
IHByZXZpb3VzLCBsZXNzIGFjY3VyYXRlIG5hbWUuCisKIDIwMTMtMDQtMDEgIFNoaW55YSBLYXdh
bmFrYSAgPHNoaW55YWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxp
bmcgb3V0IHIxNDcyOTguCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9j
b2wvbGF5ZXJzL2xheWVycy1hbm9ueW1vdXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLXByb3RvY29sL2xheWVycy9sYXllcnMtYW5vbnltb3VzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42ZDk1OTVlZGFlNGQ1ZDJmZDY5MGU0ZDg2OWUyYWJmNzU4ZTZlY2JlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2xheWVycy9sYXllcnMt
YW5vbnltb3VzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI4IEBACitUaGlzIGlzIGEgdGVzdAor
CisKKz09PSBFbmFibGUgdGhlIExheWVyVHJlZSBhZ2VudCA9PT0KKworUEFTUworCis9PT0gR2V0
IHRoZSBEb2N1bWVudCA9PT0KKworUEFTUworCis9PT0gR2V0IHRoZSBsYXllciB0cmVlID09PQor
CitQQVNTCisKKz09PSBDaGVjayBsYXllcnMgPT09CisKK1BBU1M6IEV4cGVjdGVkIG51bWJlciBv
ZiBhbm9ueW1vdXMgbGF5ZXJzLgorUEFTUzogVGhlIHNvbGUgYW5vbnltb3VzIGxheWVyIGhhcyBh
IG5vbi16ZXJvIG5vZGUgaWQuCitQQVNTOiBUaGUgc29sZSBhbm9ueW1vdXMgbGF5ZXIgaGFzIGEg
OmZpcnN0LWxldHRlciBwc2V1ZG8tZWxlbWVudC4KKworPT09IENoZWNrIG5vZGUgPT09CisKK1BB
U1M6IE5vZGUgd2FzIGZvdW5kLgorUEFTUzogTm9kZSBoYXMgZXhwZWN0ZWQgbG9jYWxOYW1lLgor
UEFTUzogTm9kZSBoYXMgaWQuCitQQVNTOiBOb2RlIGhhcyBleHBlY3RlZCBpZC4KKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2xheWVycy9sYXllcnMtYW5vbnlt
b3VzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvbGF5ZXJzL2xheWVycy1h
bm9ueW1vdXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wM2E4NzBiMzJiMjc5MzI2ZmMyMjdjYmU0NTQyNTdk
MWM5NWEyZjdmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3Rv
Y29sL2xheWVycy9sYXllcnMtYW5vbnltb3VzLmh0bWwKQEAgLTAsMCArMSwxNDEgQEAKKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9odHRw
L3Rlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9yZXNvdXJjZXMvcHJvdG9jb2wtdGVzdC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisKK2Z1bmN0aW9uIHRlc3Qo
KQoreworCisgICAgdmFyIG5vZGVzOworIAorICAgIEluc3BlY3RvclRlc3QuZXZlbnRIYW5kbGVy
WyJET00uc2V0Q2hpbGROb2RlcyJdID0gc2V0Q2hpbGROb2RlczsKKworICAgIGVuYWJsZUxheWVy
VHJlZUFnZW50KCk7CisgICAgCisgICAgZnVuY3Rpb24gZW5hYmxlTGF5ZXJUcmVlQWdlbnQocmVz
dWx0KQorICAgIHsKKyAgICAgICAgc3RlcCh7CisgICAgICAgICAgICBuYW1lOiAiRW5hYmxlIHRo
ZSBMYXllclRyZWUgYWdlbnQiLAorICAgICAgICAgICAgY29tbWFuZDogIkxheWVyVHJlZS5lbmFi
bGUiLAorICAgICAgICAgICAgcGFyYW1ldGVyczoge30sCisgICAgICAgICAgICBjYWxsYmFjazog
Z2V0RG9jdW1lbnQKKyAgICAgICAgfSk7CisgICAgfTsKKworICAgIGZ1bmN0aW9uIGdldERvY3Vt
ZW50KCkKKyAgICB7CisgICAgICAgIC8vIFdlIG11c3QgZmlyc3QgZ2V0IHRoZSBkb2N1bWVudCBz
byB0aGF0IGxhdGVyIG9uIHdlIG1heSBnZXQgc2Vuc2libGUgbm9kZUlkcy4KKyAgICAgICAgc3Rl
cCh7CisgICAgICAgICAgICBuYW1lOiAiR2V0IHRoZSBEb2N1bWVudCIsCisgICAgICAgICAgICBj
b21tYW5kOiAiRE9NLmdldERvY3VtZW50IiwKKyAgICAgICAgICAgIHBhcmFtZXRlcnM6IHt9LAor
ICAgICAgICAgICAgY2FsbGJhY2s6IGdldExheWVyVHJlZQorICAgICAgICB9KTsKKyAgICB9Owor
CisgICAgZnVuY3Rpb24gZ2V0TGF5ZXJUcmVlKHJlc3VsdCkKKyAgICB7CisgICAgICAgIHN0ZXAo
eworICAgICAgICAgICAgbmFtZTogIkdldCB0aGUgbGF5ZXIgdHJlZSIsCisgICAgICAgICAgICBj
b21tYW5kOiAiTGF5ZXJUcmVlLmxheWVyc0Zvck5vZGUiLAorICAgICAgICAgICAgcGFyYW1ldGVy
czogeyJub2RlSWQiOiByZXN1bHQucm9vdC5ub2RlSWR9LAorICAgICAgICAgICAgY2FsbGJhY2s6
IGdvdExheWVyVHJlZQorICAgICAgICB9KTsKKyAgICB9OworCisgICAgZnVuY3Rpb24gZ290TGF5
ZXJUcmVlKHJlc3VsdCkKKyAgICB7CisgICAgICAgIHZhciBhbm9ueW1vdXNMYXllcnMgPSByZXN1
bHQubGF5ZXJzLmZpbHRlcihmdW5jdGlvbiAobGF5ZXIpIHsKKyAgICAgICAgICAgIHJldHVybiBs
YXllci5pc0Fub255bW91czsKKyAgICAgICAgfSk7CisKKyAgICAgICAgbG9nVGVzdE5hbWUoIkNo
ZWNrIGxheWVycyIpOworCisgICAgICAgIGFzc2VydCgiRXhwZWN0ZWQgbnVtYmVyIG9mIGFub255
bW91cyBsYXllcnMiLCBhbm9ueW1vdXNMYXllcnMubGVuZ3RoLCAxKTsKKyAgICAgICAgYXNzZXJ0
KCJUaGUgc29sZSBhbm9ueW1vdXMgbGF5ZXIgaGFzIGEgbm9uLXplcm8gbm9kZSBpZCIsIGFub255
bW91c0xheWVyc1swXS5ub2RlSWQgIT09IDAsIHRydWUpOworICAgICAgICBhc3NlcnQoIlRoZSBz
b2xlIGFub255bW91cyBsYXllciBoYXMgYSA6Zmlyc3QtbGV0dGVyIHBzZXVkby1lbGVtZW50Iiwg
YW5vbnltb3VzTGF5ZXJzWzBdLnBzZXVkb0VsZW1lbnQgPT09ICJmaXJzdC1sZXR0ZXIiLCB0cnVl
KTsKKworICAgICAgICB2YXIgbm9kZTsKKyAgICAgICAgdmFyIG5vZGVJZCA9IGFub255bW91c0xh
eWVyc1swXS5ub2RlSWQ7CisgICAgICAgIGZvciAodmFyIGkgPSAwLCBjb3VudCA9IG5vZGVzLmxl
bmd0aDsgaSA8IGNvdW50OyArK2kpIHsKKyAgICAgICAgICAgIGlmIChub2Rlc1tpXS5ub2RlSWQg
PT09IG5vZGVJZCkgeworICAgICAgICAgICAgICAgIG5vZGUgPSBub2Rlc1tpXTsKKyAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIGxvZ1Rl
c3ROYW1lKCJDaGVjayBub2RlIik7CisgICAgICAgIAorICAgICAgICBhc3NlcnQoIk5vZGUgd2Fz
IGZvdW5kIiwgISFub2RlLCB0cnVlKTsKKyAgICAgICAgYXNzZXJ0KCJOb2RlIGhhcyBleHBlY3Rl
ZCBsb2NhbE5hbWUiLCBub2RlLmxvY2FsTmFtZSwgInAiKTsKKyAgICAgICAgYXNzZXJ0KCJOb2Rl
IGhhcyBpZCIsIG5vZGUuYXR0cmlidXRlc1swXSwgImlkIik7CisgICAgICAgIGFzc2VydCgiTm9k
ZSBoYXMgZXhwZWN0ZWQgaWQiLCBub2RlLmF0dHJpYnV0ZXNbMV0sICJmaXJzdC1sZXR0ZXIiKTsK
KyAgICAgICAgCisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfTsK
KworICAgIGZ1bmN0aW9uIHNldENoaWxkTm9kZXMgKG1lc3NhZ2VPYmplY3QpIHsKKyAgICAgICAg
bm9kZXMgPSBtZXNzYWdlT2JqZWN0LnBhcmFtcy5ub2RlczsKKyAgICB9OworCisgICAgZnVuY3Rp
b24gc3RlcCh0ZXN0KQorICAgIHsKKyAgICAgICAgaWYgKHRlc3QuY2FsbGJhY2spCisgICAgICAg
ICAgICBsb2dUZXN0TmFtZSh0ZXN0Lm5hbWUpOworICAgICAgICBydW5Db21tYW5kKHRlc3QpOwor
ICAgIH07CisKKyAgICBmdW5jdGlvbiBsb2dUZXN0TmFtZShuYW1lKQorICAgIHsKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5sb2coIlxuPT09ICIgKyBuYW1lICsgIiA9PT1cbiIpOworICAgIH07CisK
KyAgICBmdW5jdGlvbiBydW5Db21tYW5kKGNvbW1hbmQpCisgICAgeworICAgICAgICBJbnNwZWN0
b3JUZXN0LnNlbmRDb21tYW5kKGNvbW1hbmQuY29tbWFuZCwgY29tbWFuZC5wYXJhbWV0ZXJzLCBm
dW5jdGlvbihtZXNzYWdlT2JqZWN0KSB7CisgICAgICAgICAgICBpZiAobWVzc2FnZU9iamVjdC5o
YXNPd25Qcm9wZXJ0eSgiZXJyb3IiKSkgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
bG9nKCJGQUlMOiAiICsgbWVzc2FnZU9iamVjdC5lcnJvci5tZXNzYWdlICsgIiAoIiArIG1lc3Nh
Z2VPYmplY3QuZXJyb3IuY29kZSArICIpIik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5jb21wbGV0ZVRlc3QoKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIGlmIChjb21tYW5kLm5hbWUpCisgICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5sb2coIlBBU1MiKTsKKworICAgICAgICAgICAgaWYgKGNvbW1hbmQuY2FsbGJhY2sp
CisgICAgICAgICAgICAgICAgY29tbWFuZC5jYWxsYmFjayhtZXNzYWdlT2JqZWN0LnJlc3VsdCk7
CisgICAgICAgIH0pOworICAgIH07CisKKyAgICBmdW5jdGlvbiBhc3NlcnQobmFtZSwgYWN0dWFs
LCBleHBlY3RlZCkKKyAgICB7CisgICAgICAgIGlmIChleHBlY3RlZCA9PT0gYWN0dWFsKQorICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlBBU1M6ICIgKyBuYW1lICsgIi4iKTsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkZBSUw6ICIgKyBuYW1lICsg
Ii4gRXhwZWN0ZWQgIiArIGV4cGVjdGVkICsgIiBidXQgZ290ICIgKyBhY3R1YWwpOworICAgIH07
CisKK307CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgZnVu
Y3Rpb24oKQoreworICAgIHJ1blRlc3QoKTsKK30sIGZhbHNlKTsKKworPC9zY3JpcHQ+Cis8c3R5
bGUgdHlwZT0idGV4dC9jc3MiPgorCisgICAgI2ZpcnN0LWxldHRlcjpmaXJzdC1sZXR0ZXIgewor
ICAgICAgICBmbG9hdDogbGVmdDsKKyAgICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5
OiBoaWRkZW47CisgICAgfQorCisKKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKworICAgIDxw
IGlkPSJmaXJzdC1sZXR0ZXIiPlRoaXMgaXMgYSB0ZXN0PC9wPgorCis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvbGF5ZXJzL2xheWVy
cy1nZW5lcmF0ZWQtY29udGVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29s
L2xheWVycy9sYXllcnMtZ2VuZXJhdGVkLWNvbnRlbnQuaHRtbAppbmRleCA5MDVlYTJlMWIzNGYw
MjhiNDI2NWJhOGMwMmQ3NWNlNTc1MTg0YTJkLi5jMDUzOTg1OGMzNDk4N2M4ODJlNGU5OWY3Yzlm
NzRkODIzYTVkMjRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wv
bGF5ZXJzL2xheWVycy1nZW5lcmF0ZWQtY29udGVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1wcm90b2NvbC9sYXllcnMvbGF5ZXJzLWdlbmVyYXRlZC1jb250ZW50Lmh0bWwKQEAg
LTUxLDkgKzUxLDkgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgICAgICBpZiAoIWxheWVyLmlz
R2VuZXJhdGVkQ29udGVudCkKICAgICAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgICAg
IGlmIChsYXllci5wc2V1ZG9DbGFzcyA9PT0gImJlZm9yZSIpCisgICAgICAgICAgICBpZiAobGF5
ZXIucHNldWRvRWxlbWVudCA9PT0gImJlZm9yZSIpCiAgICAgICAgICAgICAgICAgYmVmb3JlTGF5
ZXJzLnB1c2gobGF5ZXIpOwotICAgICAgICAgICAgaWYgKGxheWVyLnBzZXVkb0NsYXNzID09PSAi
YWZ0ZXIiKQorICAgICAgICAgICAgaWYgKGxheWVyLnBzZXVkb0VsZW1lbnQgPT09ICJhZnRlciIp
CiAgICAgICAgICAgICAgICAgYWZ0ZXJMYXllcnMucHVzaChsYXllcik7CiAgICAgICAgIH0pOwog
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196313</attachid>
            <date>2013-04-03 03:11:57 -0700</date>
            <delta_ts>2013-04-03 04:05:17 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-113768-20130403121144.patch</filename>
            <type>text/plain</type>
            <size>13039</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3MzEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODg2ZjE3ODVkNDM3Zjk1
ODEzNzkzZDIyZjUwNDZiNTQzNzdhYjg5YS4uMDA2YTI2MDZhYjAyODc2ZjAzYzg4ZTJjODYwYjRk
ODdiNzNjNzczMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEzLTA0LTAyICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3Rvcjog
Y3Jhc2ggaW4gV2ViQ29yZTo6SW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQ6OmJ1aWxkT2JqZWN0Rm9y
TGF5ZXIgaWYgYSBsYXllciBpcyBjcmVhdGVkIGZvciBhbiBhbm9ueW1vdXMgUmVuZGVyT2JqZWN0
ICg6Zmlyc3QtbGV0dGVyKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTEzNzY4CisKKyAgICAgICAgVGhlIEluc3BlY3RvckxheWVyVHJlZUFnZW50IG5v
dyBrbm93cyBob3cgdG8gZGVhbCB3aXRoIGFub255bW91cyBSZW5kZXJPYmplY3RzCisgICAgICAg
IGZvciB0aGUgOmZpcnN0LWxldHRlciBhbmQgOmZpcnN0LWxpbmUgcHNldWRvLWVsZW1lbnRzLgor
CisgICAgICAgIFJldmlld2VkIGJ5IFRpbW90aHkgSGF0Y2hlci4KKworICAgICAgICBUZXN0OiBp
bnNwZWN0b3ItcHJvdG9jb2wvbGF5ZXJzL2xheWVycy1hbm9ueW1vdXMuaHRtbAorCisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uOgorICAgICAgICBDaGFuZ2UgdGhlIExheWVyIHR5
cGUgaW4gdGhlIExheWVyVHJlZSBkb21haW4gdG8gaGF2ZSBtb3JlIGFjY3VyYXRlIHRlcm1pbm9s
b2d5CisgICAgICAgIChwc2V1ZG8tZWxlbWVudCB2cy4gcHNldWRvLWNsYXNzKSBhbmQgYSBuZXcg
b3B0aW9uYWwgaXNBbm9ueW1vdXMgZmxhZyBmb3IgbGF5ZXJzCisgICAgICAgIGFzc29jaWF0ZWQg
dG8gYW5vbnltb3VzIFJlbmRlck9iamVjdHMuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yTGF5ZXJUcmVlQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTGF5ZXJU
cmVlQWdlbnQ6OmJ1aWxkT2JqZWN0Rm9yTGF5ZXIpOgorICAgICAgICBDaGVjayBmb3IgYW5vbnlt
b3VzIFJlbmRlck9iamVjdHMgYW5kIHNldCB0aGUgcGFyZW50IHJlbmRlcmVyJ3Mgbm9kZSBhcyB0
aGUgbm9kZQorICAgICAgICBmb3IgdGhpcyBsYXllciBzaW5jZSBhbm9ueW1vdXMgcmVuZGVyZXJz
IGhhdmUgdGhlIERvY3VtZW50IGFzIHRoZWlyIG5vZGUgYW5kIHRoaXMKKyAgICAgICAgd291bGQg
bm90IGJlIHNhdGlzZmFjdG9yeSB0byBzaG93IGluIGEgZnJvbnQtZW5kLiBXZSBhbHNvIGNoZWNr
IGZvciBhbm9ueW1vdXMKKyAgICAgICAgUmVuZGVyT2JqZWN0cyBmb3IgdGhlIDpmaXJzdC1sZXR0
ZXIgYW5kIDpmaXJzdC1saW5lIHBzZXVkby1lbGVtZW50cyBhbmQgc2V0IHRoZW0KKyAgICAgICAg
aW4gdGhlIHBzZXVkb0VsZW1lbnQgcHJvcGVydHkgb2YgdGhlIExheWVyIG9iamVjdCBjcmVhdGVk
IHN1Y2ggdGhhdCBhIGZyb250LWVuZAorICAgICAgICBjb3VsZCBjb3JyZWN0bHkgaWRlbnRpZnkg
d2hhdCB0eXBlIG9mIHBzZXVkby1lbGVtZW50IGZvciB0aGUgYXNzb2NpYXRlZCBub2RlCisgICAg
ICAgIHlpZWxkZWQgdGhpcyBsYXllci4KKworICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTGF5
ZXJUcmVlQWdlbnQ6OmlkRm9yTm9kZSk6CisgICAgICAgIEhlcmUgd2UgZml4IHRoZSBhY3R1YWwg
Y3Jhc2ggYnkgZmlyc3QgY2hlY2tpbmcgaWYgdGhlIG5vZGUgcHJvdmlkZWQgaXMgbnVsbCBhbmQK
KyAgICAgICAgcmV0dXJuaW5nIDAgaWYgdGhlcmUncyBubyBzdWNoIG5vZGUuIFRoaXMgZW5zdXJl
cyB0aGF0IGFueSBzY2VuYXJpbyB3aGVyZSB0aGVyZQorICAgICAgICBpcyBubyBub2RlIGFzc29j
aWF0ZWQgd2l0aCB0aGUgUmVuZGVyT2JqZWN0IHNpbXBseSBpbmZvcm1zIG9mIHRoZSBmcm9udC1l
bmQgdGhhdAorICAgICAgICBubyBzdWNoIG5vZGUgZXhpc3RzIGFuZCB3ZSBkbyBub3QgY3Jhc2gu
CisKIDIwMTMtMDQtMDEgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEZsYW1lIENoYXJ0LiBFeHRyYWN0IGl0ZW0gdG8gY29v
cmRpbmF0ZXMgY29udmVyc2lvbiBpbnRvIGEgc2VwYXJhdGUgZnVuY3Rpb24uCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24gYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KaW5kZXggNDY0NDQ4MzQ3NzNlNDA3ZGM5ZTFhZTAz
NWM2NDk2ODg1MDViYzVlNS4uNjk1OTY3NDAyMTU0MGFmNDg4NjBkYzY0OTAxYzZhMmE0NTgzYTBh
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgpAQCAtMzcxNCw4ICsz
NzE0LDkgQEAKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJpc0luU2hhZG93VHJlZSIs
ICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiSW5k
aWNhdGVzIHdoZXRoZXIgdGhpcyBsYXllciBpcyBhc3NvY2lhdGVkIHdpdGggYW4gZWxlbWVudCBo
b3N0ZWQgaW4gYSBzaGFkb3cgdHJlZS4iIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUi
OiAiaXNSZWZsZWN0aW9uIiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJk
ZXNjcmlwdGlvbiI6ICJJbmRpY2F0ZXMgd2hldGhlciB0aGlzIGxheWVyIHdhcyB1c2VkIHRvIHBy
b3ZpZGUgYSByZWZsZWN0aW9uIGZvciB0aGUgZWxlbWVudC4iIH0sCiAgICAgICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAiaXNHZW5lcmF0ZWRDb250ZW50IiwgInR5cGUiOiAiYm9vbGVhbiIsICJv
cHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJJbmRpY2F0ZXMgd2hldGhlciB0aGUgbGF5
ZXIgaXMgYXR0YWNoZWQgdG8gYSBwc2V1ZG8gZWxlbWVudCB0aGF0IGlzIENTUyBnZW5lcmF0ZWQg
Y29udGVudC4iIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaXNBbm9ueW1vdXMi
LCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIklu
ZGljYXRlcyB3aGV0aGVyIHRoZSBsYXllciB3YXMgY3JlYXRlZCBmb3IgYSBDU1MgYW5vbnltb3Vz
IGJsb2NrIG9yIGJveC4iIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicHNldWRv
RWxlbWVudElkIiwgIiRyZWYiOiAiUHNldWRvRWxlbWVudElkIiwgIm9wdGlvbmFsIjogdHJ1ZSwg
ImRlc2NyaXB0aW9uIjogIlRoZSBpZCBmb3IgdGhlIHBzZXVkbyBlbGVtZW50IGFzc29jaWF0ZWQg
d2l0aCB0aGlzIGxheWVyLiIgfSwKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJwc2V1
ZG9DbGFzcyIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlv
biI6ICJUaGUgbmFtZSBvZiB0aGUgQ1NTIHBzZXVkby1jbGFzcyB0aGF0IHByb21wdGVkIHRoZSBs
YXllcidzIGNvbnRlbnQgdG8gYmUgZ2VuZXJhdGVkLiIgfQorICAgICAgICAgICAgICAgICAgICB7
ICJuYW1lIjogInBzZXVkb0VsZW1lbnQiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiB0
cnVlLCAiZGVzY3JpcHRpb24iOiAiVGhlIG5hbWUgb2YgdGhlIENTUyBwc2V1ZG8tZWxlbWVudCB0
aGF0IHByb21wdGVkIHRoZSBsYXllciB0byBiZSBnZW5lcmF0ZWQuIiB9CiAgICAgICAgICAgICAg
ICAgXQogICAgICAgICAgICAgfSwKICAgICAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuY3BwCmluZGV4IGNjZjU0NGU2
MmExODIwYTliODFhZjhiOGI4MTY4YWZkYWUyMGUxNjIuLjg5ZWU4NThlMmFhNDBkNWRlNzBjMTcz
ZTkxZDkyMzcxOTg0MTQyMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JMYXllclRyZWVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckxheWVyVHJlZUFnZW50LmNwcApAQCAtMTY1LDEyICsxNjUsMTMgQEAgUGFzc1Jl
ZlB0cjxUeXBlQnVpbGRlcjo6TGF5ZXJUcmVlOjpMYXllcj4gSW5zcGVjdG9yTGF5ZXJUcmVlQWdl
bnQ6OmJ1aWxkT2JqZWN0Rm8KIAogICAgIGJvb2wgaXNSZWZsZWN0aW9uID0gcmVuZGVyTGF5ZXIt
PmlzUmVmbGVjdGlvbigpOwogICAgIGJvb2wgaXNHZW5lcmF0ZWQgPSAoaXNSZWZsZWN0aW9uID8g
cmVuZGVyZXItPnBhcmVudCgpIDogcmVuZGVyZXIpLT5pc0JlZm9yZU9yQWZ0ZXJDb250ZW50KCk7
CisgICAgYm9vbCBpc0Fub255bW91cyA9IHJlbmRlcmVyLT5pc0Fub255bW91cygpOwogCiAgICAg
aWYgKGlzUmVmbGVjdGlvbiAmJiBpc0dlbmVyYXRlZCkKICAgICAgICAgbm9kZSA9IHJlbmRlcmVy
LT5wYXJlbnQoKS0+Z2VuZXJhdGluZ05vZGUoKTsKICAgICBlbHNlIGlmIChpc0dlbmVyYXRlZCkK
ICAgICAgICAgbm9kZSA9IHJlbmRlcmVyLT5nZW5lcmF0aW5nTm9kZSgpOwotICAgIGVsc2UgaWYg
KGlzUmVmbGVjdGlvbikKKyAgICBlbHNlIGlmIChpc1JlZmxlY3Rpb24gfHwgaXNBbm9ueW1vdXMp
CiAgICAgICAgIG5vZGUgPSByZW5kZXJlci0+cGFyZW50KCktPm5vZGUoKTsKIAogICAgIC8vIEJh
c2ljIHNldCBvZiBwcm9wZXJ0aWVzLgpAQCAtMTk0LDkgKzE5NSwxOSBAQCBQYXNzUmVmUHRyPFR5
cGVCdWlsZGVyOjpMYXllclRyZWU6OkxheWVyPiBJbnNwZWN0b3JMYXllclRyZWVBZ2VudDo6YnVp
bGRPYmplY3RGbwogICAgICAgICBsYXllck9iamVjdC0+c2V0SXNHZW5lcmF0ZWRDb250ZW50KHRy
dWUpOwogICAgICAgICBsYXllck9iamVjdC0+c2V0UHNldWRvRWxlbWVudElkKGJpbmRQc2V1ZG9F
bGVtZW50KHN0YXRpY19jYXN0PFBzZXVkb0VsZW1lbnQqPihyZW5kZXJlci0+bm9kZSgpKSkpOwog
ICAgICAgICBpZiAocmVuZGVyZXItPmlzQmVmb3JlQ29udGVudCgpKQotICAgICAgICAgICAgbGF5
ZXJPYmplY3QtPnNldFBzZXVkb0NsYXNzKCJiZWZvcmUiKTsKKyAgICAgICAgICAgIGxheWVyT2Jq
ZWN0LT5zZXRQc2V1ZG9FbGVtZW50KCJiZWZvcmUiKTsKICAgICAgICAgZWxzZSBpZiAocmVuZGVy
ZXItPmlzQWZ0ZXJDb250ZW50KCkpCi0gICAgICAgICAgICBsYXllck9iamVjdC0+c2V0UHNldWRv
Q2xhc3MoImFmdGVyIik7CisgICAgICAgICAgICBsYXllck9iamVjdC0+c2V0UHNldWRvRWxlbWVu
dCgiYWZ0ZXIiKTsKKyAgICB9CisKKyAgICBpZiAoaXNBbm9ueW1vdXMpIHsKKyAgICAgICAgbGF5
ZXJPYmplY3QtPnNldElzQW5vbnltb3VzKHRydWUpOworICAgICAgICBpZiAoUmVuZGVyU3R5bGUq
IHN0eWxlID0gcmVuZGVyZXItPnN0eWxlKCkpIHsKKyAgICAgICAgICAgIGlmIChzdHlsZS0+c3R5
bGVUeXBlKCkgPT0gRklSU1RfTEVUVEVSKQorICAgICAgICAgICAgICAgIGxheWVyT2JqZWN0LT5z
ZXRQc2V1ZG9FbGVtZW50KCJmaXJzdC1sZXR0ZXIiKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKHN0
eWxlLT5zdHlsZVR5cGUoKSA9PSBGSVJTVF9MSU5FKQorICAgICAgICAgICAgICAgIGxheWVyT2Jq
ZWN0LT5zZXRQc2V1ZG9FbGVtZW50KCJmaXJzdC1saW5lIik7CisgICAgICAgIH0KICAgICB9CiAK
ICAgICByZXR1cm4gbGF5ZXJPYmplY3Q7CkBAIC0yMDQsNiArMjE1LDkgQEAgUGFzc1JlZlB0cjxU
eXBlQnVpbGRlcjo6TGF5ZXJUcmVlOjpMYXllcj4gSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQ6OmJ1
aWxkT2JqZWN0Rm8KIAogaW50IEluc3BlY3RvckxheWVyVHJlZUFnZW50OjppZEZvck5vZGUoRXJy
b3JTdHJpbmcqIGVycm9yU3RyaW5nLCBOb2RlKiBub2RlKQogeworICAgIGlmICghbm9kZSkKKyAg
ICAgICAgcmV0dXJuIDA7CisKICAgICBJbnNwZWN0b3JET01BZ2VudCogZG9tQWdlbnQgPSBtX2lu
c3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckRPTUFnZW50KCk7CiAgICAgCiAgICAgaW50IG5v
ZGVJZCA9IGRvbUFnZW50LT5ib3VuZE5vZGVJZChub2RlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2OTcxODc2MTA0ZDg5
MTdiYTE4ZDQxMTRkMzczM2I5Y2VjZGM0OGVhLi44NjIwZWJmZjg5Mjg1NDcxOTdhNmQ5MDhhMDUz
YjVkNmYzMzIxNDBkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTMtMDQtMDIgIEFudG9pbmUg
UXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBjcmFz
aCBpbiBXZWJDb3JlOjpJbnNwZWN0b3JMYXllclRyZWVBZ2VudDo6YnVpbGRPYmplY3RGb3JMYXll
ciBpZiBhIGxheWVyIGlzIGNyZWF0ZWQgZm9yIGFuIGFub255bW91cyBSZW5kZXJPYmplY3QgKDpm
aXJzdC1sZXR0ZXIpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTM3NjgKKworICAgICAgICBSZXZpZXdlZCBieSBUaW1vdGh5IEhhdGNoZXIuCisKKyAg
ICAgICAgKiBpbnNwZWN0b3ItcHJvdG9jb2wvbGF5ZXJzL2xheWVycy1hbm9ueW1vdXMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3ItcHJvdG9jb2wvbGF5ZXJzL2xheWVy
cy1hbm9ueW1vdXMuaHRtbDogQWRkZWQuCisgICAgICAgIE5ldyB0ZXN0IGZvciBsYXllcnMgY3Jl
YXRlZCBmb3IgQ1NTIGFub255bW91cyBib3hlcyBvciBibG9ja3MuCisKKyAgICAgICAgKiBpbnNw
ZWN0b3ItcHJvdG9jb2wvbGF5ZXJzL2xheWVycy1nZW5lcmF0ZWQtY29udGVudC5odG1sOgorICAg
ICAgICBVcGRhdGUgdGVzdCB0byB1c2UgdGhlICJwc2V1ZG9FbGVtZW50IiBwcm9wZXJ0eSBpbnN0
ZWFkIG9mICJwc2V1ZG9DbGFzcyIKKyAgICAgICAgd2hpY2ggd2FzIHRoZSBwcmV2aW91cywgbGVz
cyBhY2N1cmF0ZSBuYW1lLgorCiAyMDEzLTA0LTAxICBTaGlueWEgS2F3YW5ha2EgIDxzaGlueWFr
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTQ3Mjk4
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2xheWVycy9sYXll
cnMtYW5vbnltb3VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2Nv
bC9sYXllcnMvbGF5ZXJzLWFub255bW91cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQ5NTk1
ZWRhZTRkNWQyZmQ2OTBlNGQ4NjllMmFiZjc1OGU2ZWNiZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9sYXllcnMvbGF5ZXJzLWFub255bW91cy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwyOCBAQAorVGhpcyBpcyBhIHRlc3QKKworCis9PT0gRW5hYmxl
IHRoZSBMYXllclRyZWUgYWdlbnQgPT09CisKK1BBU1MKKworPT09IEdldCB0aGUgRG9jdW1lbnQg
PT09CisKK1BBU1MKKworPT09IEdldCB0aGUgbGF5ZXIgdHJlZSA9PT0KKworUEFTUworCis9PT0g
Q2hlY2sgbGF5ZXJzID09PQorCitQQVNTOiBFeHBlY3RlZCBudW1iZXIgb2YgYW5vbnltb3VzIGxh
eWVycy4KK1BBU1M6IFRoZSBzb2xlIGFub255bW91cyBsYXllciBoYXMgYSBub24temVybyBub2Rl
IGlkLgorUEFTUzogVGhlIHNvbGUgYW5vbnltb3VzIGxheWVyIGhhcyBhIDpmaXJzdC1sZXR0ZXIg
cHNldWRvLWVsZW1lbnQuCisKKz09PSBDaGVjayBub2RlID09PQorCitQQVNTOiBOb2RlIHdhcyBm
b3VuZC4KK1BBU1M6IE5vZGUgaGFzIGV4cGVjdGVkIGxvY2FsTmFtZS4KK1BBU1M6IE5vZGUgaGFz
IGlkLgorUEFTUzogTm9kZSBoYXMgZXhwZWN0ZWQgaWQuCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1wcm90b2NvbC9sYXllcnMvbGF5ZXJzLWFub255bW91cy5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2xheWVycy9sYXllcnMtYW5vbnltb3VzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZWI1ZDBlZmIxZDk3NzZjMzBlMzIxMGNkNzdiOTM0ODc2YzRmZjg0OQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9sYXllcnMvbGF5
ZXJzLWFub255bW91cy5odG1sCkBAIC0wLDAgKzEsMTQwIEBACis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0
b3ItcHJvdG9jb2wvcmVzb3VyY2VzL3Byb3RvY29sLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKworICAgIHZh
ciBub2RlczsKKyAKKyAgICBJbnNwZWN0b3JUZXN0LmV2ZW50SGFuZGxlclsiRE9NLnNldENoaWxk
Tm9kZXMiXSA9IHNldENoaWxkTm9kZXM7CisKKyAgICBlbmFibGVMYXllclRyZWVBZ2VudCgpOwor
ICAgIAorICAgIGZ1bmN0aW9uIGVuYWJsZUxheWVyVHJlZUFnZW50KHJlc3VsdCkKKyAgICB7Cisg
ICAgICAgIHN0ZXAoeworICAgICAgICAgICAgbmFtZTogIkVuYWJsZSB0aGUgTGF5ZXJUcmVlIGFn
ZW50IiwKKyAgICAgICAgICAgIGNvbW1hbmQ6ICJMYXllclRyZWUuZW5hYmxlIiwKKyAgICAgICAg
ICAgIHBhcmFtZXRlcnM6IHt9LAorICAgICAgICAgICAgY2FsbGJhY2s6IGdldERvY3VtZW50Cisg
ICAgICAgIH0pOworICAgIH07CisKKyAgICBmdW5jdGlvbiBnZXREb2N1bWVudCgpCisgICAgewor
ICAgICAgICAvLyBXZSBtdXN0IGZpcnN0IGdldCB0aGUgZG9jdW1lbnQgc28gdGhhdCBsYXRlciBv
biB3ZSBtYXkgZ2V0IHNlbnNpYmxlIG5vZGVJZHMuCisgICAgICAgIHN0ZXAoeworICAgICAgICAg
ICAgbmFtZTogIkdldCB0aGUgRG9jdW1lbnQiLAorICAgICAgICAgICAgY29tbWFuZDogIkRPTS5n
ZXREb2N1bWVudCIsCisgICAgICAgICAgICBwYXJhbWV0ZXJzOiB7fSwKKyAgICAgICAgICAgIGNh
bGxiYWNrOiBnZXRMYXllclRyZWUKKyAgICAgICAgfSk7CisgICAgfTsKKworICAgIGZ1bmN0aW9u
IGdldExheWVyVHJlZShyZXN1bHQpCisgICAgeworICAgICAgICBzdGVwKHsKKyAgICAgICAgICAg
IG5hbWU6ICJHZXQgdGhlIGxheWVyIHRyZWUiLAorICAgICAgICAgICAgY29tbWFuZDogIkxheWVy
VHJlZS5sYXllcnNGb3JOb2RlIiwKKyAgICAgICAgICAgIHBhcmFtZXRlcnM6IHsibm9kZUlkIjog
cmVzdWx0LnJvb3Qubm9kZUlkfSwKKyAgICAgICAgICAgIGNhbGxiYWNrOiBnb3RMYXllclRyZWUK
KyAgICAgICAgfSk7CisgICAgfTsKKworICAgIGZ1bmN0aW9uIGdvdExheWVyVHJlZShyZXN1bHQp
CisgICAgeworICAgICAgICB2YXIgYW5vbnltb3VzTGF5ZXJzID0gcmVzdWx0LmxheWVycy5maWx0
ZXIoZnVuY3Rpb24gKGxheWVyKSB7CisgICAgICAgICAgICByZXR1cm4gbGF5ZXIuaXNBbm9ueW1v
dXM7CisgICAgICAgIH0pOworCisgICAgICAgIGxvZ1Rlc3ROYW1lKCJDaGVjayBsYXllcnMiKTsK
KworICAgICAgICBhc3NlcnQoIkV4cGVjdGVkIG51bWJlciBvZiBhbm9ueW1vdXMgbGF5ZXJzIiwg
YW5vbnltb3VzTGF5ZXJzLmxlbmd0aCwgMSk7CisgICAgICAgIGFzc2VydCgiVGhlIHNvbGUgYW5v
bnltb3VzIGxheWVyIGhhcyBhIG5vbi16ZXJvIG5vZGUgaWQiLCBhbm9ueW1vdXNMYXllcnNbMF0u
bm9kZUlkICE9PSAwLCB0cnVlKTsKKyAgICAgICAgYXNzZXJ0KCJUaGUgc29sZSBhbm9ueW1vdXMg
bGF5ZXIgaGFzIGEgOmZpcnN0LWxldHRlciBwc2V1ZG8tZWxlbWVudCIsIGFub255bW91c0xheWVy
c1swXS5wc2V1ZG9FbGVtZW50ID09PSAiZmlyc3QtbGV0dGVyIiwgdHJ1ZSk7CisKKyAgICAgICAg
dmFyIG5vZGU7CisgICAgICAgIHZhciBub2RlSWQgPSBhbm9ueW1vdXNMYXllcnNbMF0ubm9kZUlk
OworICAgICAgICBmb3IgKHZhciBpID0gMCwgY291bnQgPSBub2Rlcy5sZW5ndGg7IGkgPCBjb3Vu
dDsgKytpKSB7CisgICAgICAgICAgICBpZiAobm9kZXNbaV0ubm9kZUlkID09PSBub2RlSWQpIHsK
KyAgICAgICAgICAgICAgICBub2RlID0gbm9kZXNbaV07CisgICAgICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBsb2dUZXN0TmFtZSgiQ2hlY2sg
bm9kZSIpOworICAgICAgICAKKyAgICAgICAgYXNzZXJ0KCJOb2RlIHdhcyBmb3VuZCIsICEhbm9k
ZSwgdHJ1ZSk7CisgICAgICAgIGFzc2VydCgiTm9kZSBoYXMgZXhwZWN0ZWQgbG9jYWxOYW1lIiwg
bm9kZS5sb2NhbE5hbWUsICJwIik7CisgICAgICAgIGFzc2VydCgiTm9kZSBoYXMgaWQiLCBub2Rl
LmF0dHJpYnV0ZXNbMF0sICJpZCIpOworICAgICAgICBhc3NlcnQoIk5vZGUgaGFzIGV4cGVjdGVk
IGlkIiwgbm9kZS5hdHRyaWJ1dGVzWzFdLCAiZmlyc3QtbGV0dGVyIik7CisgICAgICAgIAorICAg
ICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH07CisKKyAgICBmdW5jdGlv
biBzZXRDaGlsZE5vZGVzIChtZXNzYWdlT2JqZWN0KSB7CisgICAgICAgIG5vZGVzID0gbWVzc2Fn
ZU9iamVjdC5wYXJhbXMubm9kZXM7CisgICAgfTsKKworICAgIGZ1bmN0aW9uIHN0ZXAodGVzdCkK
KyAgICB7CisgICAgICAgIGlmICh0ZXN0LmNhbGxiYWNrKQorICAgICAgICAgICAgbG9nVGVzdE5h
bWUodGVzdC5uYW1lKTsKKyAgICAgICAgcnVuQ29tbWFuZCh0ZXN0KTsKKyAgICB9OworCisgICAg
ZnVuY3Rpb24gbG9nVGVzdE5hbWUobmFtZSkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
bG9nKCJcbj09PSAiICsgbmFtZSArICIgPT09XG4iKTsKKyAgICB9OworCisgICAgZnVuY3Rpb24g
cnVuQ29tbWFuZChjb21tYW5kKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5zZW5kQ29t
bWFuZChjb21tYW5kLmNvbW1hbmQsIGNvbW1hbmQucGFyYW1ldGVycywgZnVuY3Rpb24obWVzc2Fn
ZU9iamVjdCkgeworICAgICAgICAgICAgaWYgKG1lc3NhZ2VPYmplY3QuaGFzT3duUHJvcGVydHko
ImVycm9yIikpIHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiRkFJTDogIiAr
IG1lc3NhZ2VPYmplY3QuZXJyb3IubWVzc2FnZSArICIgKCIgKyBtZXNzYWdlT2JqZWN0LmVycm9y
LmNvZGUgKyAiKSIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0
KCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICBpZiAoY29tbWFuZC5uYW1lKQorICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJQ
QVNTIik7CisKKyAgICAgICAgICAgIGlmIChjb21tYW5kLmNhbGxiYWNrKQorICAgICAgICAgICAg
ICAgIGNvbW1hbmQuY2FsbGJhY2sobWVzc2FnZU9iamVjdC5yZXN1bHQpOworICAgICAgICB9KTsK
KyAgICB9OworCisgICAgZnVuY3Rpb24gYXNzZXJ0KG5hbWUsIGFjdHVhbCwgZXhwZWN0ZWQpCisg
ICAgeworICAgICAgICBpZiAoZXhwZWN0ZWQgPT09IGFjdHVhbCkKKyAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QubG9nKCJQQVNTOiAiICsgbmFtZSArICIuIik7CisgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJGQUlMOiAiICsgbmFtZSArICIuIEV4cGVjdGVkICIg
KyBleHBlY3RlZCArICIgYnV0IGdvdCAiICsgYWN0dWFsKTsKKyAgICB9OworCit9OworCit3aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIGZ1bmN0aW9uKCkKK3sKKyAg
ICBydW5UZXN0KCk7Cit9LCBmYWxzZSk7CisKKzwvc2NyaXB0PgorPHN0eWxlIHR5cGU9InRleHQv
Y3NzIj4KKworICAgICNmaXJzdC1sZXR0ZXI6OmZpcnN0LWxldHRlciB7CisgICAgICAgIGZsb2F0
OiBsZWZ0OworICAgICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKKyAg
ICB9CisKKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKworICAgIDxwIGlkPSJmaXJzdC1sZXR0
ZXIiPlRoaXMgaXMgYSB0ZXN0PC9wPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvbGF5ZXJzL2xheWVycy1nZW5lcmF0ZWQtY29u
dGVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2xheWVycy9sYXllcnMt
Z2VuZXJhdGVkLWNvbnRlbnQuaHRtbAppbmRleCA5MDVlYTJlMWIzNGYwMjhiNDI2NWJhOGMwMmQ3
NWNlNTc1MTg0YTJkLi5jMDUzOTg1OGMzNDk4N2M4ODJlNGU5OWY3YzlmNzRkODIzYTVkMjRkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvbGF5ZXJzL2xheWVycy1n
ZW5lcmF0ZWQtY29udGVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2Nv
bC9sYXllcnMvbGF5ZXJzLWdlbmVyYXRlZC1jb250ZW50Lmh0bWwKQEAgLTUxLDkgKzUxLDkgQEAg
ZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgICAgICBpZiAoIWxheWVyLmlzR2VuZXJhdGVkQ29udGVu
dCkKICAgICAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgICAgIGlmIChsYXllci5wc2V1
ZG9DbGFzcyA9PT0gImJlZm9yZSIpCisgICAgICAgICAgICBpZiAobGF5ZXIucHNldWRvRWxlbWVu
dCA9PT0gImJlZm9yZSIpCiAgICAgICAgICAgICAgICAgYmVmb3JlTGF5ZXJzLnB1c2gobGF5ZXIp
OwotICAgICAgICAgICAgaWYgKGxheWVyLnBzZXVkb0NsYXNzID09PSAiYWZ0ZXIiKQorICAgICAg
ICAgICAgaWYgKGxheWVyLnBzZXVkb0VsZW1lbnQgPT09ICJhZnRlciIpCiAgICAgICAgICAgICAg
ICAgYWZ0ZXJMYXllcnMucHVzaChsYXllcik7CiAgICAgICAgIH0pOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>