<?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>137156</bug_id>
          
          <creation_ts>2014-09-26 13:54:14 -0700</creation_ts>
          <short_desc>HTMLPlugInElement::isUserObservable() is causing layout</short_desc>
          <delta_ts>2014-09-27 22:58:00 -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>Plug-ins</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>barraclough</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1037551</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-09-26 13:54:14 -0700</bug_when>
    <thetext>While profiling the page load of nytimes.com, I noticed that we were spending ~4-5% of cpu time in HTMLPlugInElement::isUserObservable(), the reason being that the function calls pluginWidget(), which causes a layout update in HTMLObjectElement::renderWidgetForJSBindings().
HTMLPlugInElement::isUserObservable() shouldn&apos;t need to do a layout.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037557</commentid>
    <comment_count>1</comment_count>
      <attachid>238738</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-09-26 14:34:36 -0700</bug_when>
    <thetext>Created attachment 238738
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037560</commentid>
    <comment_count>2</comment_count>
      <attachid>238738</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-09-26 14:42:20 -0700</bug_when>
    <thetext>Comment on attachment 238738
Patch

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

&gt; Source/WebCore/html/HTMLAppletElement.cpp:86
&gt; -RenderWidget* HTMLAppletElement::renderWidgetForJSBindings() const
&gt; +RenderWidget* HTMLAppletElement::renderWidgetForJSBindings(LayoutPolicy shouldUpdateLayout) const

I don&apos;t think shouldUpdateLayout is a good argument name in that it doesn&apos;t tell us why we would like to update the layout in the first place.
What&apos;s misleading is that this function is called renderWidgetForJSBindings.
If we&apos;re obtaining the render widget for JS bindings, we definitely need to update the layout per comment below.

&gt; Source/WebCore/html/HTMLPlugInElement.cpp:169
&gt; -    RenderWidget* renderWidget = renderWidgetForJSBindings();
&gt; +    RenderWidget* renderWidget = renderWidgetForJSBindings(shouldUpdateLayout);

It&apos;s weird that this function always calls renderWidgetForJSBindings even if it&apos;s not for JS bindings.
We should either rename the function or add a new function that&apos;s used for other purposes than JS bindings.

&gt; Source/WebCore/html/HTMLPlugInElement.h:55
&gt; +    enum LayoutPolicy { LayoutPolicyDoNotUpdate, LayoutPolicyUpdate };
&gt; +    WEBCORE_EXPORT Widget* pluginWidget(LayoutPolicy = LayoutPolicyUpdate) const;

It&apos;s not clear to someone reading this code why anyone would like to update the layout in order to get Widget*
The enum value names should signify _why_.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037573</commentid>
    <comment_count>3</comment_count>
      <attachid>238743</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-09-26 15:49:05 -0700</bug_when>
    <thetext>Created attachment 238743
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037696</commentid>
    <comment_count>4</comment_count>
      <attachid>238743</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-09-27 13:24:03 -0700</bug_when>
    <thetext>Comment on attachment 238743
Patch

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

&gt; Source/WebCore/html/HTMLPlugInElement.h:54
&gt; +    enum PluginLoadingPolicy  { PluginLoadingPolicyDoNotLoad, PluginLoadingPolicyLoad };

I don&apos;t think there is a value in prefixing the enum value with PluginLoadingPolicy.
If anything, use enum class instead.

&gt; Source/WebCore/html/HTMLPlugInElement.h:55
&gt; +    WEBCORE_EXPORT Widget* pluginWidget(PluginLoadingPolicy  = PluginLoadingPolicyLoad) const;

Nit: Two spaces before =.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037742</commentid>
    <comment_count>5</comment_count>
      <attachid>238802</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-09-27 21:58:49 -0700</bug_when>
    <thetext>Created attachment 238802
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037743</commentid>
    <comment_count>6</comment_count>
      <attachid>238803</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-09-27 22:04:51 -0700</bug_when>
    <thetext>Created attachment 238803
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037746</commentid>
    <comment_count>7</comment_count>
      <attachid>238803</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-27 22:57:54 -0700</bug_when>
    <thetext>Comment on attachment 238803
Patch

Clearing flags on attachment: 238803

Committed r174040: &lt;http://trac.webkit.org/changeset/174040&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037747</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-27 22:58:00 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238738</attachid>
            <date>2014-09-26 14:34:36 -0700</date>
            <delta_ts>2014-09-26 15:49:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137156-20140926143436.patch</filename>
            <type>text/plain</type>
            <size>11993</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0MDE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzk2MzhjMDc5YWIzMjVh
YjFkYWU0MTAxZmM1OTVlODlhZmZmNDcwMC4uZDBiYjE5MTU5Y2VmN2FjZTM3YzVlNGQ4OWUyMmQ4
NTRlY2ZmYTc0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE0LTA5LTI2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSFRNTFBsdWdJbkVsZW1lbnQ6
OmlzVXNlck9ic2VydmFibGUoKSBpcyBjYXVzaW5nIGxheW91dAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3MTU2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hpbGUgcHJvZmlsaW5nIHRoZSBwYWdlIGxv
YWQgb2Ygbnl0aW1lcy5jb20sIEkgbm90aWNlZCB0aGF0IHdlIHdlcmUKKyAgICAgICAgc3BlbmRp
bmcgfjQtNSUgb2YgY3B1IHRpbWUgaW4gSFRNTFBsdWdJbkVsZW1lbnQ6OmlzVXNlck9ic2VydmFi
bGUoKSwKKyAgICAgICAgdGhlIHJlYXNvbiBiZWluZyB0aGF0IHRoZSBmdW5jdGlvbiBjYWxscyBw
bHVnaW5XaWRnZXQoKSwgd2hpY2ggY2F1c2VzIGEKKyAgICAgICAgbGF5b3V0IHVwZGF0ZSBpbiBI
VE1MT2JqZWN0RWxlbWVudDo6cmVuZGVyV2lkZ2V0Rm9ySlNCaW5kaW5ncygpLgorCisgICAgICAg
IEhUTUxQbHVnSW5FbGVtZW50Ojppc1VzZXJPYnNlcnZhYmxlKCkgc2hvdWxkbid0IG5lZWQgdG8g
ZG8gYSBsYXlvdXQgc28KKyAgICAgICAgdGhpcyBwYXRjaCBhZGRzIGEgInNob3VsZFVwZGF0ZUxh
eW91dCIgYXJndW1lbnQgdG8gcGx1Z2luV2lkZ2V0KCkgc28KKyAgICAgICAgdGhhdCB3ZSBjYW4g
cmVxdWVzdCB0aGUgcGx1Z2luIHdpZGdldCB3aXRob3V0IGRvaW5nIGEgbGF5b3V0LgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICogV2ViQ29y
ZS5leHAuaW46CisgICAgICAgICogV2ViQ29yZS5vcmRlcjoKKyAgICAgICAgKiBodG1sL0hUTUxB
cHBsZXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxBcHBsZXRFbGVtZW50Ojpy
ZW5kZXJXaWRnZXRGb3JKU0JpbmRpbmdzKToKKyAgICAgICAgKiBodG1sL0hUTUxBcHBsZXRFbGVt
ZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MRW1iZWRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxFbWJlZEVsZW1lbnQ6OnJlbmRlcldpZGdldEZvckpTQmluZGluZ3MpOgorICAg
ICAgICAqIGh0bWwvSFRNTEVtYmVkRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTE9iamVj
dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE9iamVjdEVsZW1lbnQ6OnJlbmRl
cldpZGdldEZvckpTQmluZGluZ3MpOgorICAgICAgICAqIGh0bWwvSFRNTE9iamVjdEVsZW1lbnQu
aDoKKyAgICAgICAgKiBodG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxQbHVnSW5FbGVtZW50OjpwbHVnaW5XaWRnZXQpOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTFBsdWdJbkVsZW1lbnQ6OmlzVXNlck9ic2VydmFibGUpOgorICAgICAgICAqIGh0bWwvSFRN
TFBsdWdJbkVsZW1lbnQuaDoKKwogMjAxNC0wOS0yNiAgQnJpYW4gSi4gQnVyZyAgPGJ1cmdAY3Mu
d2FzaGluZ3Rvbi5lZHU+CiAKICAgICAgICAgU3RvcmFnZVRyYWNrZXI6OmRlbGV0ZU9yaWdpbiBi
ZWluZyBjYWxsZWQgb2ZmIHRoZSBtYWluIHRocmVhZCAoQVNTRVJUcyBpbiBpbnNwZWN0b3IvdGVz
dC1oYXJuZXNzLXRyaXZpYWxseS13b3Jrcy5odG1sIHRlc3QpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmlu
ZGV4IDQ0NDVkNTA2MzIyYmYxYzg5ZTQxMDI0OGVlNGVhYzgzZmM2MGQ2MjUuLjEwOWM3NzBhNjNl
N2FlMWVmNzBhM2Q0MmE0MWY2N2Q1NjRjOWU4Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0x
Nzg1LDcgKzE3ODUsNiBAQCBfX1pOSzdXZWJDb3JlMTZWaXNpYmxlU2VsZWN0aW9uMTlyb290RWRp
dGFibGVFbGVtZW50RXYKIF9fWk5LN1dlYkNvcmUxNlZpc2libGVTZWxlY3Rpb24yM2lzQ29udGVu
dFJpY2hseUVkaXRhYmxlRXYKIF9fWk5LN1dlYkNvcmUxNlZpc2libGVTZWxlY3Rpb241aXNBbGxF
TlNfMjdFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGVFCiBfX1pOSzdXZWJDb3JlMTdIVE1MT3B0
aW9uRWxlbWVudDR0ZXh0RXYKLV9fWk5LN1dlYkNvcmUxN0hUTUxQbHVnSW5FbGVtZW50MTJwbHVn
aW5XaWRnZXRFdgogX19aTks3V2ViQ29yZTE3SFRNTFNlbGVjdEVsZW1lbnQxM3NlbGVjdGVkSW5k
ZXhFdgogX19aTks3V2ViQ29yZTE3SFRNTFNlbGVjdEVsZW1lbnQ1dmFsdWVFdgogX19aTks3V2Vi
Q29yZTE3SFRNTFNlbGVjdEVsZW1lbnQ5bGlzdEl0ZW1zRXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUub3JkZXIgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyCmluZGV4
IDMzMTNlNGE4MGQ5Yjc5N2ZhZmFjMzk0MGNjYzllODY1YTFmZTVmYWQuLjc2YWI5NzU4NmMzMzA1
OGNhZDM4NmRlZmQzMDI3ODA4OTAyMWI5NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUub3JkZXIKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRlcgpAQCAtOTE4Nyw3
ICs5MTg3LDYgQEAgX19aTjdXZWJDb3JlMTlKU0hUTUxPYmplY3RFbGVtZW50MjZnZXRPd25Qcm9w
ZXJ0eVNsb3REZWxlZ2F0ZUVQTjNKU0M5RXhlY1N0YXRlRU4KIF9fWk43V2ViQ29yZTM3cGx1Z2lu
RWxlbWVudEN1c3RvbUdldE93blByb3BlcnR5U2xvdElOU18xOUpTSFRNTE9iamVjdEVsZW1lbnRF
TlNfMTNKU0hUTUxFbGVtZW50RUVFYlBOM0pTQzlFeGVjU3RhdGVFTlMzXzEyUHJvcGVydHlOYW1l
RVJOUzNfMTJQcm9wZXJ0eVNsb3RFUFRfCiBfX1pON1dlYkNvcmUzN3J1bnRpbWVPYmplY3RDdXN0
b21HZXRPd25Qcm9wZXJ0eVNsb3RFUE4zSlNDOUV4ZWNTdGF0ZUVOUzBfMTJQcm9wZXJ0eU5hbWVF
Uk5TMF8xMlByb3BlcnR5U2xvdEVQTlNfMTNKU0hUTUxFbGVtZW50RQogX19aTjdXZWJDb3JlMThw
bHVnaW5TY3JpcHRPYmplY3RFUE4zSlNDOUV4ZWNTdGF0ZUVQTlNfMTNKU0hUTUxFbGVtZW50RQot
X19aTks3V2ViQ29yZTE3SFRNTFBsdWdJbkVsZW1lbnQxMnBsdWdpbldpZGdldEV2CiBfX1pOSzdX
ZWJDb3JlMTdIVE1MT2JqZWN0RWxlbWVudDI1cmVuZGVyV2lkZ2V0Rm9ySlNCaW5kaW5nc0V2CiBf
X1pON1dlYkNvcmUxN0hUTUxQbHVnSW5FbGVtZW50MTFnZXRJbnN0YW5jZUV2CiBfX1pON1dlYkNv
cmUyOEpTSFRNTE9iamVjdEVsZW1lbnRQcm90b3R5cGUxOGdldE93blByb3BlcnR5U2xvdEVQTjNK
U0M2SlNDZWxsRVBOUzFfOUV4ZWNTdGF0ZUVOUzFfMTJQcm9wZXJ0eU5hbWVFUk5TMV8xMlByb3Bl
cnR5U2xvdEUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFwcGxldEVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXBwbGV0RWxlbWVudC5jcHAKaW5kZXgg
ZWU0OGM0MDcwYjUwMDU0NTQ4NzQzZDIwNWY3MDM5OTQ2ZjU5OTU5Yy4uMmQwNGYzOWIwYTk1ZWJm
MTE4NTA1Y2YyNWM3Y2YwZWJlNzE5ZTdjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQXBwbGV0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXBw
bGV0RWxlbWVudC5jcHAKQEAgLTgzLDcgKzgzLDcgQEAgUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+
IEhUTUxBcHBsZXRFbGVtZW50OjpjcmVhdGVFbGVtZW50UmVuZGVyZXIoUGFzc1JlZjxSZW5kZXIK
ICAgICByZXR1cm4gUmVuZGVyRW1iZWRkZWRPYmplY3Q6OmNyZWF0ZUZvckFwcGxldCgqdGhpcywg
V1RGOjptb3ZlKHN0eWxlKSk7CiB9CiAKLVJlbmRlcldpZGdldCogSFRNTEFwcGxldEVsZW1lbnQ6
OnJlbmRlcldpZGdldEZvckpTQmluZGluZ3MoKSBjb25zdAorUmVuZGVyV2lkZ2V0KiBIVE1MQXBw
bGV0RWxlbWVudDo6cmVuZGVyV2lkZ2V0Rm9ySlNCaW5kaW5ncyhMYXlvdXRQb2xpY3kgc2hvdWxk
VXBkYXRlTGF5b3V0KSBjb25zdAogewogICAgIGlmICghY2FuRW1iZWRKYXZhKCkpCiAgICAgICAg
IHJldHVybiAwOwpAQCAtOTEsNyArOTEsOCBAQCBSZW5kZXJXaWRnZXQqIEhUTUxBcHBsZXRFbGVt
ZW50OjpyZW5kZXJXaWRnZXRGb3JKU0JpbmRpbmdzKCkgY29uc3QKICAgICAvLyBOZWVkcyB0byBs
b2FkIHRoZSBwbHVnaW4gaW1tZWRpYXRlZGx5IGJlY2F1c2UgdGhpcyBmdW5jdGlvbiBpcyBjYWxs
ZWQKICAgICAvLyB3aGVuIEphdmFTY3JpcHQgY29kZSBhY2Nlc3NlcyB0aGUgcGx1Z2luLgogICAg
IC8vIEZJWE1FOiA8cmRhcjovLzE2ODkzNzA4PiBDaGVjayBpZiBkaXNwYXRjaGluZyBldmVudHMg
aGVyZSBpcyBzYWZlLgotICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0
eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3M6OlN5bmNocm9ub3VzbHkpOwor
ICAgIGlmIChzaG91bGRVcGRhdGVMYXlvdXQpCisgICAgICAgIGRvY3VtZW50KCkudXBkYXRlTGF5
b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3M6
OlN5bmNocm9ub3VzbHkpOwogICAgIHJldHVybiByZW5kZXJXaWRnZXQoKTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXBwbGV0RWxlbWVudC5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQXBwbGV0RWxlbWVudC5oCmluZGV4IGZjZmMwOWFjNTFkNDY2NTdjZTgz
MTg2ZGYyNDUxNTA0YzE2MGY5ZDAuLmNiOTk5OGNkZTg4MWE5OWQwNjk0ZTJhNjg1NTc4ZDk3MzJm
ZTE4MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFwcGxldEVsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBcHBsZXRFbGVtZW50LmgKQEAgLTM5LDcg
KzM5LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25z
dCBSZW5kZXJTdHlsZSYpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgUmVuZGVyUHRyPFJlbmRlckVs
ZW1lbnQ+IGNyZWF0ZUVsZW1lbnRSZW5kZXJlcihQYXNzUmVmPFJlbmRlclN0eWxlPikgb3ZlcnJp
ZGU7CiAKLSAgICB2aXJ0dWFsIFJlbmRlcldpZGdldCogcmVuZGVyV2lkZ2V0Rm9ySlNCaW5kaW5n
cygpIGNvbnN0IG92ZXJyaWRlOworICAgIHZpcnR1YWwgUmVuZGVyV2lkZ2V0KiByZW5kZXJXaWRn
ZXRGb3JKU0JpbmRpbmdzKExheW91dFBvbGljeSkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVh
bCB2b2lkIHVwZGF0ZVdpZGdldChQbHVnaW5DcmVhdGlvbk9wdGlvbikgb3ZlcnJpZGU7CiAKICAg
ICBib29sIGNhbkVtYmVkSmF2YSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRW1iZWRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVtYmVk
RWxlbWVudC5jcHAKaW5kZXggNGFkYTcyNTg1ZTU4MDU3N2QyMzZkYTgwMzk5MmEwMmY4NzYwMzk5
NC4uY2M0MzUxY2I4M2U4N2JjYzQzZTA3ZTA2ODRlMzFkY2E4Njg1YjAxZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRW1iZWRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxFbWJlZEVsZW1lbnQuY3BwCkBAIC02OCwxNCArNjgsMTYgQEAgc3RhdGlj
IGlubGluZSBSZW5kZXJXaWRnZXQqIGZpbmRXaWRnZXRSZW5kZXJlcihjb25zdCBOb2RlKiBuKQog
ICAgIHJldHVybiAwOwogfQogCi1SZW5kZXJXaWRnZXQqIEhUTUxFbWJlZEVsZW1lbnQ6OnJlbmRl
cldpZGdldEZvckpTQmluZGluZ3MoKSBjb25zdAorUmVuZGVyV2lkZ2V0KiBIVE1MRW1iZWRFbGVt
ZW50OjpyZW5kZXJXaWRnZXRGb3JKU0JpbmRpbmdzKExheW91dFBvbGljeSBzaG91bGRVcGRhdGVM
YXlvdXQpIGNvbnN0CiB7Ci0gICAgRnJhbWVWaWV3KiB2aWV3ID0gZG9jdW1lbnQoKS52aWV3KCk7
Ci0gICAgaWYgKCF2aWV3IHx8ICghdmlldy0+aXNJbkxheW91dCgpICYmICF2aWV3LT5pc1BhaW50
aW5nKCkpKSB7Ci0gICAgICAgIC8vIE5lZWRzIHRvIGxvYWQgdGhlIHBsdWdpbiBpbW1lZGlhdGVk
bHkgYmVjYXVzZSB0aGlzIGZ1bmN0aW9uIGlzIGNhbGxlZAotICAgICAgICAvLyB3aGVuIEphdmFT
Y3JpcHQgY29kZSBhY2Nlc3NlcyB0aGUgcGx1Z2luLgotICAgICAgICAvLyBGSVhNRTogPHJkYXI6
Ly8xNjg5MzcwOD4gQ2hlY2sgaWYgZGlzcGF0Y2hpbmcgZXZlbnRzIGhlcmUgaXMgc2FmZS4KLSAg
ICAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoRG9j
dW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrczo6U3luY2hyb25vdXNseSk7CisgICAgaWYgKHNob3Vs
ZFVwZGF0ZUxheW91dCkgeworICAgICAgICBGcmFtZVZpZXcqIHZpZXcgPSBkb2N1bWVudCgpLnZp
ZXcoKTsKKyAgICAgICAgaWYgKCF2aWV3IHx8ICghdmlldy0+aXNJbkxheW91dCgpICYmICF2aWV3
LT5pc1BhaW50aW5nKCkpKSB7CisgICAgICAgICAgICAvLyBOZWVkcyB0byBsb2FkIHRoZSBwbHVn
aW4gaW1tZWRpYXRlZGx5IGJlY2F1c2UgdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQKKyAgICAgICAg
ICAgIC8vIHdoZW4gSmF2YVNjcmlwdCBjb2RlIGFjY2Vzc2VzIHRoZSBwbHVnaW4uCisgICAgICAg
ICAgICAvLyBGSVhNRTogPHJkYXI6Ly8xNjg5MzcwOD4gQ2hlY2sgaWYgZGlzcGF0Y2hpbmcgZXZl
bnRzIGhlcmUgaXMgc2FmZS4KKyAgICAgICAgICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdu
b3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3M6OlN5bmNo
cm9ub3VzbHkpOworICAgICAgICB9CiAgICAgfQogICAgIHJldHVybiBmaW5kV2lkZ2V0UmVuZGVy
ZXIodGhpcyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbWJlZEVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVtYmVkRWxlbWVudC5oCmluZGV4IGNk
ZDNiZWNmYmJhN2ViMGRkNzJiMzBiNTk3ODliZWVkNGJiZWQ1NGIuLjc4MmU5NWUwMTI3YThkNjJm
ZGExYjFiMTFmNGE4ZjRmZGEwM2IzMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEVtYmVkRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVtYmVkRWxl
bWVudC5oCkBAIC00Myw3ICs0Myw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIGlzVVJM
QXR0cmlidXRlKGNvbnN0IEF0dHJpYnV0ZSYpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZpcnR1YWwg
Y29uc3QgQXRvbWljU3RyaW5nJiBpbWFnZVNvdXJjZVVSTCgpIGNvbnN0IG92ZXJyaWRlOwogCi0g
ICAgdmlydHVhbCBSZW5kZXJXaWRnZXQqIHJlbmRlcldpZGdldEZvckpTQmluZGluZ3MoKSBjb25z
dCBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIFJlbmRlcldpZGdldCogcmVuZGVyV2lkZ2V0Rm9ySlNC
aW5kaW5ncyhMYXlvdXRQb2xpY3kpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCB2b2lk
IHVwZGF0ZVdpZGdldChQbHVnaW5DcmVhdGlvbk9wdGlvbikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHAKaW5kZXggNDJiM2NkNjZjOTU0NWJkMjVh
MDE4OTUwNDU3ZGU0ODkxN2RiNTQzMi4uZTQ5M2M3YjljMmY2Y2M1M2YxN2NjYmQ5ZDI0ZTU3N2Vi
YmQ0MjliZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHAKQEAg
LTgxLDEyICs4MSwxMyBAQCBQYXNzUmVmUHRyPEhUTUxPYmplY3RFbGVtZW50PiBIVE1MT2JqZWN0
RWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZwogICAgIHJldHVybiBhZG9w
dFJlZihuZXcgSFRNTE9iamVjdEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQsIGZvcm0sIGNyZWF0
ZWRCeVBhcnNlcikpOwogfQogCi1SZW5kZXJXaWRnZXQqIEhUTUxPYmplY3RFbGVtZW50OjpyZW5k
ZXJXaWRnZXRGb3JKU0JpbmRpbmdzKCkgY29uc3QKK1JlbmRlcldpZGdldCogSFRNTE9iamVjdEVs
ZW1lbnQ6OnJlbmRlcldpZGdldEZvckpTQmluZGluZ3MoTGF5b3V0UG9saWN5IHNob3VsZFVwZGF0
ZUxheW91dCkgY29uc3QKIHsKICAgICAvLyBOZWVkcyB0byBsb2FkIHRoZSBwbHVnaW4gaW1tZWRp
YXRlZGx5IGJlY2F1c2UgdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQKICAgICAvLyB3aGVuIEphdmFT
Y3JpcHQgY29kZSBhY2Nlc3NlcyB0aGUgcGx1Z2luLgogICAgIC8vIEZJWE1FOiA8cmRhcjovLzE2
ODkzNzA4PiBDaGVjayBpZiBkaXNwYXRjaGluZyBldmVudHMgaGVyZSBpcyBzYWZlLgotICAgIGRv
Y3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpS
dW5Qb3N0TGF5b3V0VGFza3M6OlN5bmNocm9ub3VzbHkpOworICAgIGlmIChzaG91bGRVcGRhdGVM
YXlvdXQpCisgICAgICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxl
c2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3M6OlN5bmNocm9ub3VzbHkpOwogICAg
IHJldHVybiByZW5kZXJXaWRnZXQoKTsgLy8gVGhpcyB3aWxsIHJldHVybiAwIGlmIHRoZSByZW5k
ZXJlciBpcyBub3QgYSBSZW5kZXJXaWRnZXQuCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9i
amVjdEVsZW1lbnQuaAppbmRleCBmOGU3YTZlMDI1ZDFlN2YxZGZhZmJlNWI1YzUxNjE5NmYwMDgx
N2I2Li4xMDQ1MzlmYzI2YmNhN2Q1ZWYyY2QxZTNkNGE4MDI3OWUwYWE3NTc2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5oCkBAIC03MCw3ICs3MCw3IEBAIHByaXZhdGU6
CiAgICAgdmlydHVhbCBib29sIGlzVVJMQXR0cmlidXRlKGNvbnN0IEF0dHJpYnV0ZSYpIGNvbnN0
IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBpbWFnZVNvdXJjZVVS
TCgpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgdmlydHVhbCBSZW5kZXJXaWRnZXQqIHJlbmRlcldp
ZGdldEZvckpTQmluZGluZ3MoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIFJlbmRlcldp
ZGdldCogcmVuZGVyV2lkZ2V0Rm9ySlNCaW5kaW5ncyhMYXlvdXRQb2xpY3kpIGNvbnN0IG92ZXJy
aWRlOwogCiAgICAgdmlydHVhbCB2b2lkIGFkZFN1YnJlc291cmNlQXR0cmlidXRlVVJMcyhMaXN0
SGFzaFNldDxVUkw+JikgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
UGx1Z0luRWxlbWVudC5jcHAKaW5kZXggZjhkM2MwNzU5ZjVlMzRmYWE0OTQxYzg3ZDk4YzQ0MDg1
OGE1ZTdmZC4uNDc0NGY0Y2NmNjdkNDA5ZDE2MGZhYWI2MTk5ZGE2ZjZlZWMyODUxZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHAKQEAgLTE1OCw3ICsxNTgsNyBA
QCBib29sIEhUTUxQbHVnSW5FbGVtZW50OjpndWFyZGVkRGlzcGF0Y2hCZWZvcmVMb2FkRXZlbnQo
Y29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCiAgICAgcmV0dXJuIGJlZm9yZUxvYWRBbGxvd2VkTG9h
ZDsKIH0KIAotV2lkZ2V0KiBIVE1MUGx1Z0luRWxlbWVudDo6cGx1Z2luV2lkZ2V0KCkgY29uc3QK
K1dpZGdldCogSFRNTFBsdWdJbkVsZW1lbnQ6OnBsdWdpbldpZGdldChMYXlvdXRQb2xpY3kgc2hv
dWxkVXBkYXRlTGF5b3V0KSBjb25zdAogewogICAgIGlmIChtX2luQmVmb3JlTG9hZEV2ZW50SGFu
ZGxlcikgewogICAgICAgICAvLyBUaGUgcGx1Zy1pbiBoYXNuJ3QgbG9hZGVkIHlldCwgYW5kIGl0
IG1ha2VzIG5vIHNlbnNlIHRvIHRyeSB0byBsb2FkIGlmIGJlZm9yZWxvYWQgaGFuZGxlciBoYXBw
ZW5lZCB0byB0b3VjaCB0aGUgcGx1Zy1pbiBlbGVtZW50LgpAQCAtMTY2LDcgKzE2Niw3IEBAIFdp
ZGdldCogSFRNTFBsdWdJbkVsZW1lbnQ6OnBsdWdpbldpZGdldCgpIGNvbnN0CiAgICAgICAgIHJl
dHVybiAwOwogICAgIH0KIAotICAgIFJlbmRlcldpZGdldCogcmVuZGVyV2lkZ2V0ID0gcmVuZGVy
V2lkZ2V0Rm9ySlNCaW5kaW5ncygpOworICAgIFJlbmRlcldpZGdldCogcmVuZGVyV2lkZ2V0ID0g
cmVuZGVyV2lkZ2V0Rm9ySlNCaW5kaW5ncyhzaG91bGRVcGRhdGVMYXlvdXQpOwogICAgIGlmICgh
cmVuZGVyV2lkZ2V0KQogICAgICAgICByZXR1cm4gMDsKIApAQCAtMjU2LDcgKzI1Niw3IEBAIGJv
b2wgSFRNTFBsdWdJbkVsZW1lbnQ6OmlzUGx1Z2luRWxlbWVudCgpIGNvbnN0CiBib29sIEhUTUxQ
bHVnSW5FbGVtZW50Ojppc1VzZXJPYnNlcnZhYmxlKCkgY29uc3QKIHsKICAgICAvLyBObyB3aWRn
ZXQgLSBjYW4ndCBiZSBhbnl0aGluZyB0byBzZWUgb3IgaGVhciBoZXJlLgotICAgIFdpZGdldCog
d2lkZ2V0ID0gcGx1Z2luV2lkZ2V0KCk7CisgICAgV2lkZ2V0KiB3aWRnZXQgPSBwbHVnaW5XaWRn
ZXQoTGF5b3V0UG9saWN5RG9Ob3RVcGRhdGUpOwogICAgIGlmICghd2lkZ2V0IHx8ICF3aWRnZXQt
PmlzUGx1Z2luVmlld0Jhc2UoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmgKaW5kZXggZTk2NTAxN2NiNjNmNGRlYzk3ZjljNTk4
ZjEyMGY3M2MyNDc3YTE5Ni4uYzM2NWUxZWQ5M2Y4NTY2MjY1NjVjNmM0YzRlNmUxNTA3MTJjZTU3
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuaApAQCAtNTEsNyArNTEs
OCBAQCBwdWJsaWM6CiAKICAgICBQYXNzUmVmUHRyPEpTQzo6QmluZGluZ3M6Okluc3RhbmNlPiBn
ZXRJbnN0YW5jZSgpOwogCi0gICAgV0VCQ09SRV9FWFBPUlQgV2lkZ2V0KiBwbHVnaW5XaWRnZXQo
KSBjb25zdDsKKyAgICBlbnVtIExheW91dFBvbGljeSB7IExheW91dFBvbGljeURvTm90VXBkYXRl
LCBMYXlvdXRQb2xpY3lVcGRhdGUgfTsKKyAgICBXRUJDT1JFX0VYUE9SVCBXaWRnZXQqIHBsdWdp
bldpZGdldChMYXlvdXRQb2xpY3kgPSBMYXlvdXRQb2xpY3lVcGRhdGUpIGNvbnN0OwogCiAgICAg
ZW51bSBEaXNwbGF5U3RhdGUgewogICAgICAgICBXYWl0aW5nRm9yU25hcHNob3QsCkBAIC0xMTYs
NyArMTE3LDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgZGlzcGF0Y2hCZWZvcmVMb2FkRXZlbnQo
Y29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpOyAvLyBOb3QgaW1wbGVtZW50ZWQsIGdlbmVyYXRlcyBh
IGNvbXBpbGUgZXJyb3IgaWYgc3ViY2xhc3NlcyBjYWxsIHRoaXMgYnkgbWlzdGFrZS4KIAotICAg
IHZpcnR1YWwgUmVuZGVyV2lkZ2V0KiByZW5kZXJXaWRnZXRGb3JKU0JpbmRpbmdzKCkgY29uc3Qg
PSAwOworICAgIHZpcnR1YWwgUmVuZGVyV2lkZ2V0KiByZW5kZXJXaWRnZXRGb3JKU0JpbmRpbmdz
KExheW91dFBvbGljeSkgY29uc3QgPSAwOwogCiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzRm9j
dXMoKSBjb25zdCBvdmVycmlkZTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238743</attachid>
            <date>2014-09-26 15:49:05 -0700</date>
            <delta_ts>2014-09-27 21:58:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137156-20140926154905.patch</filename>
            <type>text/plain</type>
            <size>11282</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0MDE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzk2MzhjMDc5YWIzMjVh
YjFkYWU0MTAxZmM1OTVlODlhZmZmNDcwMC4uOTgxZjk0Y2RmMWRiMzFjZjMzM2I3NTcwOTBlMTE2
MmRiODc3YWYyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE0LTA5LTI2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSFRNTFBsdWdJbkVsZW1lbnQ6
OmlzVXNlck9ic2VydmFibGUoKSBpcyBjYXVzaW5nIGxheW91dAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3MTU2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hpbGUgcHJvZmlsaW5nIHRoZSBwYWdlIGxv
YWQgb2Ygbnl0aW1lcy5jb20sIEkgbm90aWNlZCB0aGF0IHdlIHdlcmUKKyAgICAgICAgc3BlbmRp
bmcgfjQtNSUgb2YgY3B1IHRpbWUgaW4gSFRNTFBsdWdJbkVsZW1lbnQ6OmlzVXNlck9ic2VydmFi
bGUoKS4KKyAgICAgICAgVGhlIHJlYXNvbiBpcyB0aGF0IHRoZSBmdW5jdGlvbiBjYWxscyBwbHVn
aW5XaWRnZXQoKSwgd2hpY2ggY2F1c2VzIGEKKyAgICAgICAgbGF5b3V0IHVwZGF0ZSBpbiBIVE1M
T2JqZWN0RWxlbWVudDo6cmVuZGVyV2lkZ2V0Rm9ySlNCaW5kaW5ncygpLCB0bworICAgICAgICBt
YWtlIHN1cmUgdGhlIHBsdWdpbiBpcyBsb2FkZWQgYW5kIGl0cyByZW5kZXJlciBpcyBjcmVhdGVk
LgorCisgICAgICAgIEhUTUxQbHVnSW5FbGVtZW50Ojppc1VzZXJPYnNlcnZhYmxlKCkgc2hvdWxk
bid0IG5lZWQgdG8gZG8gYSBsYXlvdXQuCisgICAgICAgIFRoaXMgcGF0Y2ggZG9lcyB0aGUgZm9s
bG93aW5nIHRvIGFkZHJlc3MgdGhlIHByb2JsZW06CisgICAgICAgIC0gUmVuYW1lIHJlbmRlcldp
ZGdldEZvckpTQmluZGluZ3MoKSB0byByZW5kZXJXaWRnZXRMb2FkaW5nUGx1Z2luKCkKKyAgICAg
ICAgICBiZWNhdXNlIHRoaXMgZnVuY3Rpb24gaXMgbm90IGFsd2F5cyBjYWxsZWQgZnJvbSB0aGUg
SlMgQmluZGluZ3MKKyAgICAgICAgICBub3dhZGF5cy4gVGhlIG5ldyBuYW1lIG1ha2VzIGl0IGNs
ZWFyZXIgdGhhdCB0aGlzIHdpbGwgbG9hZCB0aGUKKyAgICAgICAgICBwbHVnaW4gaWYgbmVlZGVk
ICh0byBtYWtlIHN1cmUgdGhlIHJlbmRlcmVyIGlzIGNyZWF0ZWQsIGFuZCBieQorICAgICAgICAg
IGRvaW5nIGEgbGF5b3V0KS4KKyAgICAgICAgLSBBZGQgYSBQbHVnaW5Mb2FkaW5nUG9saWN5IGFy
Z3VtZW50IHRvCisgICAgICAgICAgSFRNTFBsdWdJbkVsZW1lbnQ6OnBsdWdpbldpZGdldCgpIHRv
IGxldCB0aGUgY2FsbGVyIGNvbnRyb2wgaWYgdGhlCisgICAgICAgICAgcGx1Z2luIHNob3VsZCBi
ZSBsb2FkZWQgb3Igbm90LgorICAgICAgICAtIFVwZGF0ZSB0aGUgY2FsbCB0byBwbHVnaW5XaWRn
ZXQoKSBpbiBpc1VzZXJPYnNlcnZhYmxlKCkgc28gdGhhdAorICAgICAgICAgIHdlIGRvIG5vdCBh
dHRlbXB0IHRvIGxvYWQgdGhlIHBsdWdpbiAodGh1cyBub3QgY2F1c2luZyBhIGxheW91dCkuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBX
ZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLm9yZGVyOgorICAgICAgICAqIGh0bWwv
SFRNTEFwcGxldEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEFwcGxldEVsZW1l
bnQ6OnJlbmRlcldpZGdldExvYWRpbmdQbHVnaW4pOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEFw
cGxldEVsZW1lbnQ6OnJlbmRlcldpZGdldEZvckpTQmluZGluZ3MpOiBEZWxldGVkLgorICAgICAg
ICAqIGh0bWwvSFRNTEFwcGxldEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxFbWJlZEVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEVtYmVkRWxlbWVudDo6cmVuZGVyV2lk
Z2V0TG9hZGluZ1BsdWdpbik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRW1iZWRFbGVtZW50Ojpy
ZW5kZXJXaWRnZXRGb3JKU0JpbmRpbmdzKTogRGVsZXRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxF
bWJlZEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxPYmplY3RFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxPYmplY3RFbGVtZW50OjpyZW5kZXJXaWRnZXRMb2FkaW5nUGx1
Z2luKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxPYmplY3RFbGVtZW50OjpyZW5kZXJXaWRnZXRG
b3JKU0JpbmRpbmdzKTogRGVsZXRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxPYmplY3RFbGVtZW50
Lmg6CisgICAgICAgICogaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MUGx1Z0luRWxlbWVudDo6cGx1Z2luV2lkZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxQbHVnSW5FbGVtZW50Ojppc1VzZXJPYnNlcnZhYmxlKToKKyAgICAgICAgKiBodG1sL0hU
TUxQbHVnSW5FbGVtZW50Lmg6CisKIDIwMTQtMDktMjYgIEJyaWFuIEouIEJ1cmcgIDxidXJnQGNz
Lndhc2hpbmd0b24uZWR1PgogCiAgICAgICAgIFN0b3JhZ2VUcmFja2VyOjpkZWxldGVPcmlnaW4g
YmVpbmcgY2FsbGVkIG9mZiB0aGUgbWFpbiB0aHJlYWQgKEFTU0VSVHMgaW4gaW5zcGVjdG9yL3Rl
c3QtaGFybmVzcy10cml2aWFsbHktd29ya3MuaHRtbCB0ZXN0KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpp
bmRleCA0NDQ1ZDUwNjMyMmJmMWM4OWU0MTAyNDhlZTRlYWM4M2ZjNjBkNjI1Li4xMDljNzcwYTYz
ZTdhZTFlZjcwYTNkNDJhNDFmNjdkNTY0YzllOGNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAt
MTc4NSw3ICsxNzg1LDYgQEAgX19aTks3V2ViQ29yZTE2VmlzaWJsZVNlbGVjdGlvbjE5cm9vdEVk
aXRhYmxlRWxlbWVudEV2CiBfX1pOSzdXZWJDb3JlMTZWaXNpYmxlU2VsZWN0aW9uMjNpc0NvbnRl
bnRSaWNobHlFZGl0YWJsZUV2CiBfX1pOSzdXZWJDb3JlMTZWaXNpYmxlU2VsZWN0aW9uNWlzQWxs
RU5TXzI3RWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlRQogX19aTks3V2ViQ29yZTE3SFRNTE9w
dGlvbkVsZW1lbnQ0dGV4dEV2Ci1fX1pOSzdXZWJDb3JlMTdIVE1MUGx1Z0luRWxlbWVudDEycGx1
Z2luV2lkZ2V0RXYKIF9fWk5LN1dlYkNvcmUxN0hUTUxTZWxlY3RFbGVtZW50MTNzZWxlY3RlZElu
ZGV4RXYKIF9fWk5LN1dlYkNvcmUxN0hUTUxTZWxlY3RFbGVtZW50NXZhbHVlRXYKIF9fWk5LN1dl
YkNvcmUxN0hUTUxTZWxlY3RFbGVtZW50OWxpc3RJdGVtc0V2CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLm9yZGVyIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRlcgppbmRl
eCAzMzEzZTRhODBkOWI3OTdmYWZhYzM5NDBjY2M5ZTg2NWExZmU1ZmFkLi43NmFiOTc1ODZjMzMw
NThjYWQzODZkZWZkMzAyNzgwODkwMjFiOTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLm9yZGVyCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIKQEAgLTkxODcs
NyArOTE4Nyw2IEBAIF9fWk43V2ViQ29yZTE5SlNIVE1MT2JqZWN0RWxlbWVudDI2Z2V0T3duUHJv
cGVydHlTbG90RGVsZWdhdGVFUE4zSlNDOUV4ZWNTdGF0ZUVOCiBfX1pON1dlYkNvcmUzN3BsdWdp
bkVsZW1lbnRDdXN0b21HZXRPd25Qcm9wZXJ0eVNsb3RJTlNfMTlKU0hUTUxPYmplY3RFbGVtZW50
RU5TXzEzSlNIVE1MRWxlbWVudEVFRWJQTjNKU0M5RXhlY1N0YXRlRU5TM18xMlByb3BlcnR5TmFt
ZUVSTlMzXzEyUHJvcGVydHlTbG90RVBUXwogX19aTjdXZWJDb3JlMzdydW50aW1lT2JqZWN0Q3Vz
dG9tR2V0T3duUHJvcGVydHlTbG90RVBOM0pTQzlFeGVjU3RhdGVFTlMwXzEyUHJvcGVydHlOYW1l
RVJOUzBfMTJQcm9wZXJ0eVNsb3RFUE5TXzEzSlNIVE1MRWxlbWVudEUKIF9fWk43V2ViQ29yZTE4
cGx1Z2luU2NyaXB0T2JqZWN0RVBOM0pTQzlFeGVjU3RhdGVFUE5TXzEzSlNIVE1MRWxlbWVudEUK
LV9fWk5LN1dlYkNvcmUxN0hUTUxQbHVnSW5FbGVtZW50MTJwbHVnaW5XaWRnZXRFdgogX19aTks3
V2ViQ29yZTE3SFRNTE9iamVjdEVsZW1lbnQyNXJlbmRlcldpZGdldEZvckpTQmluZGluZ3NFdgog
X19aTjdXZWJDb3JlMTdIVE1MUGx1Z0luRWxlbWVudDExZ2V0SW5zdGFuY2VFdgogX19aTjdXZWJD
b3JlMjhKU0hUTUxPYmplY3RFbGVtZW50UHJvdG90eXBlMThnZXRPd25Qcm9wZXJ0eVNsb3RFUE4z
SlNDNkpTQ2VsbEVQTlMxXzlFeGVjU3RhdGVFTlMxXzEyUHJvcGVydHlOYW1lRVJOUzFfMTJQcm9w
ZXJ0eVNsb3RFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBcHBsZXRFbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFwcGxldEVsZW1lbnQuY3BwCmluZGV4
IGVlNDhjNDA3MGI1MDA1NDU0ODc0M2QyMDVmNzAzOTk0NmY1OTk1OWMuLjVjZmE1Yjc1MTU3ZGM1
YjBlNDIzMDFlNTRjOTc4YmJkYTIwOGFjMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEFwcGxldEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFw
cGxldEVsZW1lbnQuY3BwCkBAIC04MywxMCArODMsMTAgQEAgUmVuZGVyUHRyPFJlbmRlckVsZW1l
bnQ+IEhUTUxBcHBsZXRFbGVtZW50OjpjcmVhdGVFbGVtZW50UmVuZGVyZXIoUGFzc1JlZjxSZW5k
ZXIKICAgICByZXR1cm4gUmVuZGVyRW1iZWRkZWRPYmplY3Q6OmNyZWF0ZUZvckFwcGxldCgqdGhp
cywgV1RGOjptb3ZlKHN0eWxlKSk7CiB9CiAKLVJlbmRlcldpZGdldCogSFRNTEFwcGxldEVsZW1l
bnQ6OnJlbmRlcldpZGdldEZvckpTQmluZGluZ3MoKSBjb25zdAorUmVuZGVyV2lkZ2V0KiBIVE1M
QXBwbGV0RWxlbWVudDo6cmVuZGVyV2lkZ2V0TG9hZGluZ1BsdWdpbigpIGNvbnN0CiB7CiAgICAg
aWYgKCFjYW5FbWJlZEphdmEoKSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBu
dWxscHRyOwogCiAgICAgLy8gTmVlZHMgdG8gbG9hZCB0aGUgcGx1Z2luIGltbWVkaWF0ZWRseSBi
ZWNhdXNlIHRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkCiAgICAgLy8gd2hlbiBKYXZhU2NyaXB0IGNv
ZGUgYWNjZXNzZXMgdGhlIHBsdWdpbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEFwcGxldEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFwcGxldEVsZW1l
bnQuaAppbmRleCBmY2ZjMDlhYzUxZDQ2NjU3Y2U4MzE4NmRmMjQ1MTUwNGMxNjBmOWQwLi40Yzgx
ODhmZjA3MjgxYjZlNDdkNTA3YTU5YTQ3Y2M5MzI5MTdmNjBkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxBcHBsZXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQXBwbGV0RWxlbWVudC5oCkBAIC0zOSw3ICszOSw3IEBAIHByaXZhdGU6CiAgICAgdmly
dHVhbCBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBvdmVycmlkZTsK
ICAgICB2aXJ0dWFsIFJlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBjcmVhdGVFbGVtZW50UmVuZGVy
ZXIoUGFzc1JlZjxSZW5kZXJTdHlsZT4pIG92ZXJyaWRlOwogCi0gICAgdmlydHVhbCBSZW5kZXJX
aWRnZXQqIHJlbmRlcldpZGdldEZvckpTQmluZGluZ3MoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2
aXJ0dWFsIFJlbmRlcldpZGdldCogcmVuZGVyV2lkZ2V0TG9hZGluZ1BsdWdpbigpIGNvbnN0IG92
ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVXaWRnZXQoUGx1Z2luQ3JlYXRpb25PcHRp
b24pIG92ZXJyaWRlOwogCiAgICAgYm9vbCBjYW5FbWJlZEphdmEoKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVtYmVkRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxFbWJlZEVsZW1lbnQuY3BwCmluZGV4IDRhZGE3MjU4NWU1ODA1NzdkMjM2
ZGE4MDM5OTJhMDJmODc2MDM5OTQuLmMwMmVjZGIzMmRjMjZiYzI0OTFjZjM1ODkwYmNjM2E3MWQ3
MzJiOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVtYmVkRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRW1iZWRFbGVtZW50LmNwcApAQCAtNjgs
NyArNjgsNyBAQCBzdGF0aWMgaW5saW5lIFJlbmRlcldpZGdldCogZmluZFdpZGdldFJlbmRlcmVy
KGNvbnN0IE5vZGUqIG4pCiAgICAgcmV0dXJuIDA7CiB9CiAKLVJlbmRlcldpZGdldCogSFRNTEVt
YmVkRWxlbWVudDo6cmVuZGVyV2lkZ2V0Rm9ySlNCaW5kaW5ncygpIGNvbnN0CitSZW5kZXJXaWRn
ZXQqIEhUTUxFbWJlZEVsZW1lbnQ6OnJlbmRlcldpZGdldExvYWRpbmdQbHVnaW4oKSBjb25zdAog
ewogICAgIEZyYW1lVmlldyogdmlldyA9IGRvY3VtZW50KCkudmlldygpOwogICAgIGlmICghdmll
dyB8fCAoIXZpZXctPmlzSW5MYXlvdXQoKSAmJiAhdmlldy0+aXNQYWludGluZygpKSkgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRW1iZWRFbGVtZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxFbWJlZEVsZW1lbnQuaAppbmRleCBjZGQzYmVjZmJiYTdlYjBkZDcy
YjMwYjU5Nzg5YmVlZDRiYmVkNTRiLi5iMmU2NjBmZWRmNjc5ZDMwMTVkOWI3ZjllYmViODk5OTkz
M2UwMjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbWJlZEVsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbWJlZEVsZW1lbnQuaApAQCAtNDMsNyAr
NDMsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBpc1VSTEF0dHJpYnV0ZShjb25zdCBB
dHRyaWJ1dGUmKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmlu
ZyYgaW1hZ2VTb3VyY2VVUkwoKSBjb25zdCBvdmVycmlkZTsKIAotICAgIHZpcnR1YWwgUmVuZGVy
V2lkZ2V0KiByZW5kZXJXaWRnZXRGb3JKU0JpbmRpbmdzKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAg
dmlydHVhbCBSZW5kZXJXaWRnZXQqIHJlbmRlcldpZGdldExvYWRpbmdQbHVnaW4oKSBjb25zdCBv
dmVycmlkZTsKIAogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVXaWRnZXQoUGx1Z2luQ3JlYXRpb25P
cHRpb24pIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxP
YmplY3RFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQu
Y3BwCmluZGV4IDQyYjNjZDY2Yzk1NDViZDI1YTAxODk1MDQ1N2RlNDg5MTdkYjU0MzIuLjdmM2E1
MjUzYWQ5YzViNGU2OWYzODM5YmRiYzM1MDM5NWQxZTc2ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE9iamVjdEVsZW1lbnQuY3BwCkBAIC04MSw3ICs4MSw3IEBAIFBhc3NSZWZQdHI8SFRN
TE9iamVjdEVsZW1lbnQ+IEhUTUxPYmplY3RFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYgdGFnCiAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBIVE1MT2JqZWN0RWxlbWVudCh0YWdO
YW1lLCBkb2N1bWVudCwgZm9ybSwgY3JlYXRlZEJ5UGFyc2VyKSk7CiB9CiAKLVJlbmRlcldpZGdl
dCogSFRNTE9iamVjdEVsZW1lbnQ6OnJlbmRlcldpZGdldEZvckpTQmluZGluZ3MoKSBjb25zdAor
UmVuZGVyV2lkZ2V0KiBIVE1MT2JqZWN0RWxlbWVudDo6cmVuZGVyV2lkZ2V0TG9hZGluZ1BsdWdp
bigpIGNvbnN0CiB7CiAgICAgLy8gTmVlZHMgdG8gbG9hZCB0aGUgcGx1Z2luIGltbWVkaWF0ZWRs
eSBiZWNhdXNlIHRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkCiAgICAgLy8gd2hlbiBKYXZhU2NyaXB0
IGNvZGUgYWNjZXNzZXMgdGhlIHBsdWdpbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE9iamVjdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVs
ZW1lbnQuaAppbmRleCBmOGU3YTZlMDI1ZDFlN2YxZGZhZmJlNWI1YzUxNjE5NmYwMDgxN2I2Li43
YjRiYmJmOTcwMzhkMmM5NjJkM2M0YzkxOWNjZDA1ZjcyOTdlNWE2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MT2JqZWN0RWxlbWVudC5oCkBAIC03MCw3ICs3MCw3IEBAIHByaXZhdGU6CiAgICAg
dmlydHVhbCBib29sIGlzVVJMQXR0cmlidXRlKGNvbnN0IEF0dHJpYnV0ZSYpIGNvbnN0IG92ZXJy
aWRlOwogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBpbWFnZVNvdXJjZVVSTCgpIGNv
bnN0IG92ZXJyaWRlOwogCi0gICAgdmlydHVhbCBSZW5kZXJXaWRnZXQqIHJlbmRlcldpZGdldEZv
ckpTQmluZGluZ3MoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIFJlbmRlcldpZGdldCog
cmVuZGVyV2lkZ2V0TG9hZGluZ1BsdWdpbigpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgdmlydHVh
bCB2b2lkIGFkZFN1YnJlc291cmNlQXR0cmlidXRlVVJMcyhMaXN0SGFzaFNldDxVUkw+JikgY29u
c3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJ
bkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHAK
aW5kZXggZjhkM2MwNzU5ZjVlMzRmYWE0OTQxYzg3ZDk4YzQ0MDg1OGE1ZTdmZC4uODZjMjUwMjE3
ODk0NGJhZjZjNTJjOTc1NWQ0ZmNiMjBmMmY1MDdkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MUGx1Z0luRWxlbWVudC5jcHAKQEAgLTE1OCwxNyArMTU4LDE3IEBAIGJvb2wgSFRNTFBsdWdJ
bkVsZW1lbnQ6Omd1YXJkZWREaXNwYXRjaEJlZm9yZUxvYWRFdmVudChjb25zdCBTdHJpbmcmIHNv
dXJjZVVSTCkKICAgICByZXR1cm4gYmVmb3JlTG9hZEFsbG93ZWRMb2FkOwogfQogCi1XaWRnZXQq
IEhUTUxQbHVnSW5FbGVtZW50OjpwbHVnaW5XaWRnZXQoKSBjb25zdAorV2lkZ2V0KiBIVE1MUGx1
Z0luRWxlbWVudDo6cGx1Z2luV2lkZ2V0KFBsdWdpbkxvYWRpbmdQb2xpY3kgc2hvdWxkTG9hZFBs
dWdpbklmTmVjZXNzYXJ5KSBjb25zdAogewogICAgIGlmIChtX2luQmVmb3JlTG9hZEV2ZW50SGFu
ZGxlcikgewogICAgICAgICAvLyBUaGUgcGx1Zy1pbiBoYXNuJ3QgbG9hZGVkIHlldCwgYW5kIGl0
IG1ha2VzIG5vIHNlbnNlIHRvIHRyeSB0byBsb2FkIGlmIGJlZm9yZWxvYWQgaGFuZGxlciBoYXBw
ZW5lZCB0byB0b3VjaCB0aGUgcGx1Zy1pbiBlbGVtZW50LgogICAgICAgICAvLyBUaGF0IHdvdWxk
IHJlY3Vyc2l2ZWx5IGNhbGwgYmVmb3JlbG9hZCBmb3IgdGhlIHNhbWUgZWxlbWVudC4KLSAgICAg
ICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIFJlbmRl
cldpZGdldCogcmVuZGVyV2lkZ2V0ID0gcmVuZGVyV2lkZ2V0Rm9ySlNCaW5kaW5ncygpOworICAg
IFJlbmRlcldpZGdldCogcmVuZGVyV2lkZ2V0ID0gc2hvdWxkTG9hZFBsdWdpbklmTmVjZXNzYXJ5
ID8gcmVuZGVyV2lkZ2V0TG9hZGluZ1BsdWdpbigpIDogdGhpcy0+cmVuZGVyV2lkZ2V0KCk7CiAg
ICAgaWYgKCFyZW5kZXJXaWRnZXQpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4g
bnVsbHB0cjsKIAogICAgIHJldHVybiByZW5kZXJXaWRnZXQtPndpZGdldCgpOwogfQpAQCAtMjU2
LDcgKzI1Niw3IEBAIGJvb2wgSFRNTFBsdWdJbkVsZW1lbnQ6OmlzUGx1Z2luRWxlbWVudCgpIGNv
bnN0CiBib29sIEhUTUxQbHVnSW5FbGVtZW50Ojppc1VzZXJPYnNlcnZhYmxlKCkgY29uc3QKIHsK
ICAgICAvLyBObyB3aWRnZXQgLSBjYW4ndCBiZSBhbnl0aGluZyB0byBzZWUgb3IgaGVhciBoZXJl
LgotICAgIFdpZGdldCogd2lkZ2V0ID0gcGx1Z2luV2lkZ2V0KCk7CisgICAgV2lkZ2V0KiB3aWRn
ZXQgPSBwbHVnaW5XaWRnZXQoUGx1Z2luTG9hZGluZ1BvbGljeURvTm90TG9hZCk7CiAgICAgaWYg
KCF3aWRnZXQgfHwgIXdpZGdldC0+aXNQbHVnaW5WaWV3QmFzZSgpKQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuaAppbmRleCBlOTY1
MDE3Y2I2M2Y0ZGVjOTdmOWM1OThmMTIwZjczYzI0NzdhMTk2Li5kOWRjNzkxZDhjMGZlNjYwOGZk
MDhmZjZkNGQ3Nzk1NzM4ZWZjZGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxQbHVnSW5FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxl
bWVudC5oCkBAIC01MSw3ICs1MSw4IEBAIHB1YmxpYzoKIAogICAgIFBhc3NSZWZQdHI8SlNDOjpC
aW5kaW5nczo6SW5zdGFuY2U+IGdldEluc3RhbmNlKCk7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCBX
aWRnZXQqIHBsdWdpbldpZGdldCgpIGNvbnN0OworICAgIGVudW0gUGx1Z2luTG9hZGluZ1BvbGlj
eSAgeyBQbHVnaW5Mb2FkaW5nUG9saWN5RG9Ob3RMb2FkLCBQbHVnaW5Mb2FkaW5nUG9saWN5TG9h
ZCB9OworICAgIFdFQkNPUkVfRVhQT1JUIFdpZGdldCogcGx1Z2luV2lkZ2V0KFBsdWdpbkxvYWRp
bmdQb2xpY3kgID0gUGx1Z2luTG9hZGluZ1BvbGljeUxvYWQpIGNvbnN0OwogCiAgICAgZW51bSBE
aXNwbGF5U3RhdGUgewogICAgICAgICBXYWl0aW5nRm9yU25hcHNob3QsCkBAIC0xMTYsNyArMTE3
LDggQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgZGlzcGF0Y2hCZWZvcmVMb2FkRXZlbnQoY29uc3Qg
U3RyaW5nJiBzb3VyY2VVUkwpOyAvLyBOb3QgaW1wbGVtZW50ZWQsIGdlbmVyYXRlcyBhIGNvbXBp
bGUgZXJyb3IgaWYgc3ViY2xhc3NlcyBjYWxsIHRoaXMgYnkgbWlzdGFrZS4KIAotICAgIHZpcnR1
YWwgUmVuZGVyV2lkZ2V0KiByZW5kZXJXaWRnZXRGb3JKU0JpbmRpbmdzKCkgY29uc3QgPSAwOwor
ICAgIC8vIFRoaXMgd2lsbCBsb2FkIHRoZSBwbHVnaW4gaWYgbmVjZXNzYXJ5LgorICAgIHZpcnR1
YWwgUmVuZGVyV2lkZ2V0KiByZW5kZXJXaWRnZXRMb2FkaW5nUGx1Z2luKCkgY29uc3QgPSAwOwog
CiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzRm9jdXMoKSBjb25zdCBvdmVycmlkZTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238802</attachid>
            <date>2014-09-27 21:58:49 -0700</date>
            <delta_ts>2014-09-27 22:04:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137156-20140927215849.patch</filename>
            <type>text/plain</type>
            <size>11172</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0MDM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmUyZTgwZDEwNjQxYzZl
NzJmNTNlZTc3NGU3NTBmNmE5MTllNmEyMC4uOTU2YTFkMjE0ZTk3ZWNiZTQ2YmViNzMxMTg1N2Zi
YzNkZGU2YTNhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE0LTA5LTI3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSFRNTFBsdWdJbkVsZW1lbnQ6
OmlzVXNlck9ic2VydmFibGUoKSBpcyBjYXVzaW5nIGxheW91dAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3MTU2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgIFdoaWxlIHByb2ZpbGluZyB0aGUgcGFnZSBsb2Fk
IG9mIG55dGltZXMuY29tLCBJIG5vdGljZWQgdGhhdCB3ZSB3ZXJlCisgICAgICAgIHNwZW5kaW5n
IH40LTUlIG9mIGNwdSB0aW1lIGluIEhUTUxQbHVnSW5FbGVtZW50Ojppc1VzZXJPYnNlcnZhYmxl
KCkuCisgICAgICAgIFRoZSByZWFzb24gaXMgdGhhdCB0aGUgZnVuY3Rpb24gY2FsbHMgcGx1Z2lu
V2lkZ2V0KCksIHdoaWNoIGNhdXNlcyBhCisgICAgICAgIGxheW91dCB1cGRhdGUgaW4gSFRNTE9i
amVjdEVsZW1lbnQ6OnJlbmRlcldpZGdldEZvckpTQmluZGluZ3MoKSwgdG8KKyAgICAgICAgbWFr
ZSBzdXJlIHRoZSBwbHVnaW4gaXMgbG9hZGVkIGFuZCBpdHMgcmVuZGVyZXIgaXMgY3JlYXRlZC4K
KworICAgICAgICBIVE1MUGx1Z0luRWxlbWVudDo6aXNVc2VyT2JzZXJ2YWJsZSgpIHNob3VsZG4n
dCBuZWVkIHRvIGRvIGEgbGF5b3V0LgorICAgICAgICBUaGlzIHBhdGNoIGRvZXMgdGhlIGZvbGxv
d2luZyB0byBhZGRyZXNzIHRoZSBwcm9ibGVtOgorICAgICAgICAtIFJlbmFtZSByZW5kZXJXaWRn
ZXRGb3JKU0JpbmRpbmdzKCkgdG8gcmVuZGVyV2lkZ2V0TG9hZGluZ1BsdWdpbigpCisgICAgICAg
ICAgYmVjYXVzZSB0aGlzIGZ1bmN0aW9uIGlzIG5vdCBhbHdheXMgY2FsbGVkIGZyb20gdGhlIEpT
IEJpbmRpbmdzCisgICAgICAgICAgbm93YWRheXMuIFRoZSBuZXcgbmFtZSBtYWtlcyBpdCBjbGVh
cmVyIHRoYXQgdGhpcyB3aWxsIGxvYWQgdGhlCisgICAgICAgICAgcGx1Z2luIGlmIG5lZWRlZCAo
dG8gbWFrZSBzdXJlIHRoZSByZW5kZXJlciBpcyBjcmVhdGVkLCBhbmQgYnkKKyAgICAgICAgICBk
b2luZyBhIGxheW91dCkuCisgICAgICAgIC0gQWRkIGEgUGx1Z2luTG9hZGluZ1BvbGljeSBhcmd1
bWVudCB0bworICAgICAgICAgIEhUTUxQbHVnSW5FbGVtZW50OjpwbHVnaW5XaWRnZXQoKSB0byBs
ZXQgdGhlIGNhbGxlciBjb250cm9sIGlmIHRoZQorICAgICAgICAgIHBsdWdpbiBzaG91bGQgYmUg
bG9hZGVkIG9yIG5vdC4KKyAgICAgICAgLSBVcGRhdGUgdGhlIGNhbGwgdG8gcGx1Z2luV2lkZ2V0
KCkgaW4gaXNVc2VyT2JzZXJ2YWJsZSgpIHNvIHRoYXQKKyAgICAgICAgICB3ZSBkbyBub3QgYXR0
ZW1wdCB0byBsb2FkIHRoZSBwbHVnaW4gKHRodXMgbm90IGNhdXNpbmcgYSBsYXlvdXQpLgorCisg
ICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICogV2Vi
Q29yZS5leHAuaW46CisgICAgICAgICogV2ViQ29yZS5vcmRlcjoKKyAgICAgICAgKiBodG1sL0hU
TUxBcHBsZXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxBcHBsZXRFbGVtZW50
OjpyZW5kZXJXaWRnZXRMb2FkaW5nUGx1Z2luKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxBcHBs
ZXRFbGVtZW50OjpyZW5kZXJXaWRnZXRGb3JKU0JpbmRpbmdzKTogRGVsZXRlZC4KKyAgICAgICAg
KiBodG1sL0hUTUxBcHBsZXRFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MRW1iZWRFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxFbWJlZEVsZW1lbnQ6OnJlbmRlcldpZGdl
dExvYWRpbmdQbHVnaW4pOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEVtYmVkRWxlbWVudDo6cmVu
ZGVyV2lkZ2V0Rm9ySlNCaW5kaW5ncyk6IERlbGV0ZWQuCisgICAgICAgICogaHRtbC9IVE1MRW1i
ZWRFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MT2JqZWN0RWxlbWVudDo6cmVuZGVyV2lkZ2V0TG9hZGluZ1BsdWdp
bik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MT2JqZWN0RWxlbWVudDo6cmVuZGVyV2lkZ2V0Rm9y
SlNCaW5kaW5ncyk6IERlbGV0ZWQuCisgICAgICAgICogaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5o
OgorICAgICAgICAqIGh0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTFBsdWdJbkVsZW1lbnQ6OnBsdWdpbldpZGdldCk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MUGx1Z0luRWxlbWVudDo6aXNVc2VyT2JzZXJ2YWJsZSk6CisgICAgICAgICogaHRtbC9IVE1M
UGx1Z0luRWxlbWVudC5oOgorCiAyMDE0LTA5LTI3ICBDaHJpc3RvcGhlIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgdGhlIG5ldyBpczw+KCkgLyBkb3duY2FzdDw+KCkg
Zm9yIEF0dHIgTm9kZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggNDQ0NWQ1MDYzMjJiZjFjODll
NDEwMjQ4ZWU0ZWFjODNmYzYwZDYyNS4uMTA5Yzc3MGE2M2U3YWUxZWY3MGEzZDQyYTQxZjY3ZDU2
NGM5ZThjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTE3ODUsNyArMTc4NSw2IEBAIF9fWk5L
N1dlYkNvcmUxNlZpc2libGVTZWxlY3Rpb24xOXJvb3RFZGl0YWJsZUVsZW1lbnRFdgogX19aTks3
V2ViQ29yZTE2VmlzaWJsZVNlbGVjdGlvbjIzaXNDb250ZW50UmljaGx5RWRpdGFibGVFdgogX19a
Tks3V2ViQ29yZTE2VmlzaWJsZVNlbGVjdGlvbjVpc0FsbEVOU18yN0VkaXRpbmdCb3VuZGFyeUNy
b3NzaW5nUnVsZUUKIF9fWk5LN1dlYkNvcmUxN0hUTUxPcHRpb25FbGVtZW50NHRleHRFdgotX19a
Tks3V2ViQ29yZTE3SFRNTFBsdWdJbkVsZW1lbnQxMnBsdWdpbldpZGdldEV2CiBfX1pOSzdXZWJD
b3JlMTdIVE1MU2VsZWN0RWxlbWVudDEzc2VsZWN0ZWRJbmRleEV2CiBfX1pOSzdXZWJDb3JlMTdI
VE1MU2VsZWN0RWxlbWVudDV2YWx1ZUV2CiBfX1pOSzdXZWJDb3JlMTdIVE1MU2VsZWN0RWxlbWVu
dDlsaXN0SXRlbXNFdgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRlciBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIKaW5kZXggMzMxM2U0YTgwZDliNzk3ZmFmYWMz
OTQwY2NjOWU4NjVhMWZlNWZhZC4uNzZhYjk3NTg2YzMzMDU4Y2FkMzg2ZGVmZDMwMjc4MDg5MDIx
Yjk2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRlcgorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyCkBAIC05MTg3LDcgKzkxODcsNiBAQCBfX1pON1dlYkNv
cmUxOUpTSFRNTE9iamVjdEVsZW1lbnQyNmdldE93blByb3BlcnR5U2xvdERlbGVnYXRlRVBOM0pT
QzlFeGVjU3RhdGVFTgogX19aTjdXZWJDb3JlMzdwbHVnaW5FbGVtZW50Q3VzdG9tR2V0T3duUHJv
cGVydHlTbG90SU5TXzE5SlNIVE1MT2JqZWN0RWxlbWVudEVOU18xM0pTSFRNTEVsZW1lbnRFRUVi
UE4zSlNDOUV4ZWNTdGF0ZUVOUzNfMTJQcm9wZXJ0eU5hbWVFUk5TM18xMlByb3BlcnR5U2xvdEVQ
VF8KIF9fWk43V2ViQ29yZTM3cnVudGltZU9iamVjdEN1c3RvbUdldE93blByb3BlcnR5U2xvdEVQ
TjNKU0M5RXhlY1N0YXRlRU5TMF8xMlByb3BlcnR5TmFtZUVSTlMwXzEyUHJvcGVydHlTbG90RVBO
U18xM0pTSFRNTEVsZW1lbnRFCiBfX1pON1dlYkNvcmUxOHBsdWdpblNjcmlwdE9iamVjdEVQTjNK
U0M5RXhlY1N0YXRlRVBOU18xM0pTSFRNTEVsZW1lbnRFCi1fX1pOSzdXZWJDb3JlMTdIVE1MUGx1
Z0luRWxlbWVudDEycGx1Z2luV2lkZ2V0RXYKIF9fWk5LN1dlYkNvcmUxN0hUTUxPYmplY3RFbGVt
ZW50MjVyZW5kZXJXaWRnZXRGb3JKU0JpbmRpbmdzRXYKIF9fWk43V2ViQ29yZTE3SFRNTFBsdWdJ
bkVsZW1lbnQxMWdldEluc3RhbmNlRXYKIF9fWk43V2ViQ29yZTI4SlNIVE1MT2JqZWN0RWxlbWVu
dFByb3RvdHlwZTE4Z2V0T3duUHJvcGVydHlTbG90RVBOM0pTQzZKU0NlbGxFUE5TMV85RXhlY1N0
YXRlRU5TMV8xMlByb3BlcnR5TmFtZUVSTlMxXzEyUHJvcGVydHlTbG90RQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXBwbGV0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxBcHBsZXRFbGVtZW50LmNwcAppbmRleCBlZTQ4YzQwNzBiNTAwNTQ1NDg3NDNk
MjA1ZjcwMzk5NDZmNTk5NTljLi41Y2ZhNWI3NTE1N2RjNWIwZTQyMzAxZTU0Yzk3OGJiZGEyMDhh
YzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBcHBsZXRFbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBcHBsZXRFbGVtZW50LmNwcApAQCAtODMs
MTAgKzgzLDEwIEBAIFJlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBIVE1MQXBwbGV0RWxlbWVudDo6
Y3JlYXRlRWxlbWVudFJlbmRlcmVyKFBhc3NSZWY8UmVuZGVyCiAgICAgcmV0dXJuIFJlbmRlckVt
YmVkZGVkT2JqZWN0OjpjcmVhdGVGb3JBcHBsZXQoKnRoaXMsIFdURjo6bW92ZShzdHlsZSkpOwog
fQogCi1SZW5kZXJXaWRnZXQqIEhUTUxBcHBsZXRFbGVtZW50OjpyZW5kZXJXaWRnZXRGb3JKU0Jp
bmRpbmdzKCkgY29uc3QKK1JlbmRlcldpZGdldCogSFRNTEFwcGxldEVsZW1lbnQ6OnJlbmRlcldp
ZGdldExvYWRpbmdQbHVnaW4oKSBjb25zdAogewogICAgIGlmICghY2FuRW1iZWRKYXZhKCkpCi0g
ICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIC8vIE5lZWRz
IHRvIGxvYWQgdGhlIHBsdWdpbiBpbW1lZGlhdGVkbHkgYmVjYXVzZSB0aGlzIGZ1bmN0aW9uIGlz
IGNhbGxlZAogICAgIC8vIHdoZW4gSmF2YVNjcmlwdCBjb2RlIGFjY2Vzc2VzIHRoZSBwbHVnaW4u
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBcHBsZXRFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBcHBsZXRFbGVtZW50LmgKaW5kZXggZmNmYzA5YWM1MWQ0
NjY1N2NlODMxODZkZjI0NTE1MDRjMTYwZjlkMC4uNGM4MTg4ZmYwNzI4MWI2ZTQ3ZDUwN2E1OWE0
N2NjOTMyOTE3ZjYwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXBwbGV0
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFwcGxldEVsZW1lbnQuaApA
QCAtMzksNyArMzksNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVl
ZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBSZW5kZXJQdHI8
UmVuZGVyRWxlbWVudD4gY3JlYXRlRWxlbWVudFJlbmRlcmVyKFBhc3NSZWY8UmVuZGVyU3R5bGU+
KSBvdmVycmlkZTsKIAotICAgIHZpcnR1YWwgUmVuZGVyV2lkZ2V0KiByZW5kZXJXaWRnZXRGb3JK
U0JpbmRpbmdzKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBSZW5kZXJXaWRnZXQqIHJl
bmRlcldpZGdldExvYWRpbmdQbHVnaW4oKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZv
aWQgdXBkYXRlV2lkZ2V0KFBsdWdpbkNyZWF0aW9uT3B0aW9uKSBvdmVycmlkZTsKIAogICAgIGJv
b2wgY2FuRW1iZWRKYXZhKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxFbWJlZEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRW1iZWRFbGVt
ZW50LmNwcAppbmRleCA0YWRhNzI1ODVlNTgwNTc3ZDIzNmRhODAzOTkyYTAyZjg3NjAzOTk0Li5j
MDJlY2RiMzJkYzI2YmMyNDkxY2YzNTg5MGJjYzNhNzFkNzMyYjk2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxFbWJlZEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEVtYmVkRWxlbWVudC5jcHAKQEAgLTY4LDcgKzY4LDcgQEAgc3RhdGljIGlubGlu
ZSBSZW5kZXJXaWRnZXQqIGZpbmRXaWRnZXRSZW5kZXJlcihjb25zdCBOb2RlKiBuKQogICAgIHJl
dHVybiAwOwogfQogCi1SZW5kZXJXaWRnZXQqIEhUTUxFbWJlZEVsZW1lbnQ6OnJlbmRlcldpZGdl
dEZvckpTQmluZGluZ3MoKSBjb25zdAorUmVuZGVyV2lkZ2V0KiBIVE1MRW1iZWRFbGVtZW50Ojpy
ZW5kZXJXaWRnZXRMb2FkaW5nUGx1Z2luKCkgY29uc3QKIHsKICAgICBGcmFtZVZpZXcqIHZpZXcg
PSBkb2N1bWVudCgpLnZpZXcoKTsKICAgICBpZiAoIXZpZXcgfHwgKCF2aWV3LT5pc0luTGF5b3V0
KCkgJiYgIXZpZXctPmlzUGFpbnRpbmcoKSkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEVtYmVkRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRW1iZWRF
bGVtZW50LmgKaW5kZXggY2RkM2JlY2ZiYmE3ZWIwZGQ3MmIzMGI1OTc4OWJlZWQ0YmJlZDU0Yi4u
YjJlNjYwZmVkZjY3OWQzMDE1ZDliN2Y5ZWJlYjg5OTk5MzNlMDIxNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRW1iZWRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRW1iZWRFbGVtZW50LmgKQEAgLTQzLDcgKzQzLDcgQEAgcHJpdmF0ZToKICAgICB2
aXJ0dWFsIGJvb2wgaXNVUkxBdHRyaWJ1dGUoY29uc3QgQXR0cmlidXRlJikgY29uc3Qgb3ZlcnJp
ZGU7CiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGltYWdlU291cmNlVVJMKCkgY29u
c3Qgb3ZlcnJpZGU7CiAKLSAgICB2aXJ0dWFsIFJlbmRlcldpZGdldCogcmVuZGVyV2lkZ2V0Rm9y
SlNCaW5kaW5ncygpIGNvbnN0IG92ZXJyaWRlOworICAgIHZpcnR1YWwgUmVuZGVyV2lkZ2V0KiBy
ZW5kZXJXaWRnZXRMb2FkaW5nUGx1Z2luKCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFs
IHZvaWQgdXBkYXRlV2lkZ2V0KFBsdWdpbkNyZWF0aW9uT3B0aW9uKSBvdmVycmlkZTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmNwcAppbmRleCA0MmIzY2Q2NmM5NTQ1
YmQyNWEwMTg5NTA0NTdkZTQ4OTE3ZGI1NDMyLi43ZjNhNTI1M2FkOWM1YjRlNjlmMzgzOWJkYmMz
NTAzOTVkMWU3Njg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmNw
cApAQCAtODEsNyArODEsNyBAQCBQYXNzUmVmUHRyPEhUTUxPYmplY3RFbGVtZW50PiBIVE1MT2Jq
ZWN0RWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZwogICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgSFRNTE9iamVjdEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQsIGZvcm0sIGNy
ZWF0ZWRCeVBhcnNlcikpOwogfQogCi1SZW5kZXJXaWRnZXQqIEhUTUxPYmplY3RFbGVtZW50Ojpy
ZW5kZXJXaWRnZXRGb3JKU0JpbmRpbmdzKCkgY29uc3QKK1JlbmRlcldpZGdldCogSFRNTE9iamVj
dEVsZW1lbnQ6OnJlbmRlcldpZGdldExvYWRpbmdQbHVnaW4oKSBjb25zdAogewogICAgIC8vIE5l
ZWRzIHRvIGxvYWQgdGhlIHBsdWdpbiBpbW1lZGlhdGVkbHkgYmVjYXVzZSB0aGlzIGZ1bmN0aW9u
IGlzIGNhbGxlZAogICAgIC8vIHdoZW4gSmF2YVNjcmlwdCBjb2RlIGFjY2Vzc2VzIHRoZSBwbHVn
aW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmgKaW5kZXggZjhlN2E2ZTAy
NWQxZTdmMWRmYWZiZTViNWM1MTYxOTZmMDA4MTdiNi4uN2I0YmJiZjk3MDM4ZDJjOTYyZDNjNGM5
MTljY2QwNWY3Mjk3ZTVhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2Jq
ZWN0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQu
aApAQCAtNzAsNyArNzAsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBpc1VSTEF0dHJp
YnV0ZShjb25zdCBBdHRyaWJ1dGUmKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGNvbnN0
IEF0b21pY1N0cmluZyYgaW1hZ2VTb3VyY2VVUkwoKSBjb25zdCBvdmVycmlkZTsKIAotICAgIHZp
cnR1YWwgUmVuZGVyV2lkZ2V0KiByZW5kZXJXaWRnZXRGb3JKU0JpbmRpbmdzKCkgY29uc3Qgb3Zl
cnJpZGU7CisgICAgdmlydHVhbCBSZW5kZXJXaWRnZXQqIHJlbmRlcldpZGdldExvYWRpbmdQbHVn
aW4oKSBjb25zdCBvdmVycmlkZTsKIAogICAgIHZpcnR1YWwgdm9pZCBhZGRTdWJyZXNvdXJjZUF0
dHJpYnV0ZVVSTHMoTGlzdEhhc2hTZXQ8VVJMPiYpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCmluZGV4IGY4ZDNjMDc1OWY1ZTM0ZmFh
NDk0MWM4N2Q5OGM0NDA4NThhNWU3ZmQuLjU4ODA5MGMxMmQyNWRmMTc4OGM2MTA5ZmVmMzA2NGRi
N2YzMGJkYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCkBA
IC0xNTgsMTcgKzE1OCwxNyBAQCBib29sIEhUTUxQbHVnSW5FbGVtZW50OjpndWFyZGVkRGlzcGF0
Y2hCZWZvcmVMb2FkRXZlbnQoY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCiAgICAgcmV0dXJuIGJl
Zm9yZUxvYWRBbGxvd2VkTG9hZDsKIH0KIAotV2lkZ2V0KiBIVE1MUGx1Z0luRWxlbWVudDo6cGx1
Z2luV2lkZ2V0KCkgY29uc3QKK1dpZGdldCogSFRNTFBsdWdJbkVsZW1lbnQ6OnBsdWdpbldpZGdl
dChQbHVnaW5Mb2FkaW5nUG9saWN5IHNob3VsZExvYWRQbHVnaW5JZk5lY2Vzc2FyeSkgY29uc3QK
IHsKICAgICBpZiAobV9pbkJlZm9yZUxvYWRFdmVudEhhbmRsZXIpIHsKICAgICAgICAgLy8gVGhl
IHBsdWctaW4gaGFzbid0IGxvYWRlZCB5ZXQsIGFuZCBpdCBtYWtlcyBubyBzZW5zZSB0byB0cnkg
dG8gbG9hZCBpZiBiZWZvcmVsb2FkIGhhbmRsZXIgaGFwcGVuZWQgdG8gdG91Y2ggdGhlIHBsdWct
aW4gZWxlbWVudC4KICAgICAgICAgLy8gVGhhdCB3b3VsZCByZWN1cnNpdmVseSBjYWxsIGJlZm9y
ZWxvYWQgZm9yIHRoZSBzYW1lIGVsZW1lbnQuCi0gICAgICAgIHJldHVybiAwOworICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKLSAgICBSZW5kZXJXaWRnZXQqIHJlbmRlcldpZGdldCA9
IHJlbmRlcldpZGdldEZvckpTQmluZGluZ3MoKTsKKyAgICBSZW5kZXJXaWRnZXQqIHJlbmRlcldp
ZGdldCA9IHNob3VsZExvYWRQbHVnaW5JZk5lY2Vzc2FyeSA/IHJlbmRlcldpZGdldExvYWRpbmdQ
bHVnaW4oKSA6IHRoaXMtPnJlbmRlcldpZGdldCgpOwogICAgIGlmICghcmVuZGVyV2lkZ2V0KQot
ICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICByZXR1cm4g
cmVuZGVyV2lkZ2V0LT53aWRnZXQoKTsKIH0KQEAgLTI1Niw3ICsyNTYsNyBAQCBib29sIEhUTUxQ
bHVnSW5FbGVtZW50Ojppc1BsdWdpbkVsZW1lbnQoKSBjb25zdAogYm9vbCBIVE1MUGx1Z0luRWxl
bWVudDo6aXNVc2VyT2JzZXJ2YWJsZSgpIGNvbnN0CiB7CiAgICAgLy8gTm8gd2lkZ2V0IC0gY2Fu
J3QgYmUgYW55dGhpbmcgdG8gc2VlIG9yIGhlYXIgaGVyZS4KLSAgICBXaWRnZXQqIHdpZGdldCA9
IHBsdWdpbldpZGdldCgpOworICAgIFdpZGdldCogd2lkZ2V0ID0gcGx1Z2luV2lkZ2V0KFBsdWdp
bkxvYWRpbmdQb2xpY3k6OkRvTm90TG9hZCk7CiAgICAgaWYgKCF3aWRnZXQgfHwgIXdpZGdldC0+
aXNQbHVnaW5WaWV3QmFzZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuaAppbmRleCAwY2FkYjgyYjcyZDM0ZmZmYzlhYThhYmJh
Nzg5OGQ3MGFlYTgxZjExLi4wZjU3ZjQ2YTFjNzEwYTg3YTUzZGVhNTRjMjNjYzIyZWQ4ODkxZDMw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5oCkBAIC01MSw3ICs1MSw4
IEBAIHB1YmxpYzoKIAogICAgIFBhc3NSZWZQdHI8SlNDOjpCaW5kaW5nczo6SW5zdGFuY2U+IGdl
dEluc3RhbmNlKCk7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCBXaWRnZXQqIHBsdWdpbldpZGdldCgp
IGNvbnN0OworICAgIGVudW0gY2xhc3MgUGx1Z2luTG9hZGluZ1BvbGljeSB7IERvTm90TG9hZCwg
TG9hZCB9OworICAgIFdFQkNPUkVfRVhQT1JUIFdpZGdldCogcGx1Z2luV2lkZ2V0KFBsdWdpbkxv
YWRpbmdQb2xpY3kgPSBQbHVnaW5Mb2FkaW5nUG9saWN5OjpMb2FkKSBjb25zdDsKIAogICAgIGVu
dW0gRGlzcGxheVN0YXRlIHsKICAgICAgICAgV2FpdGluZ0ZvclNuYXBzaG90LApAQCAtMTE2LDcg
KzExNyw4IEBAIHByaXZhdGU6CiAKICAgICBib29sIGRpc3BhdGNoQmVmb3JlTG9hZEV2ZW50KGNv
bnN0IFN0cmluZyYgc291cmNlVVJMKTsgLy8gTm90IGltcGxlbWVudGVkLCBnZW5lcmF0ZXMgYSBj
b21waWxlIGVycm9yIGlmIHN1YmNsYXNzZXMgY2FsbCB0aGlzIGJ5IG1pc3Rha2UuCiAKLSAgICB2
aXJ0dWFsIFJlbmRlcldpZGdldCogcmVuZGVyV2lkZ2V0Rm9ySlNCaW5kaW5ncygpIGNvbnN0ID0g
MDsKKyAgICAvLyBUaGlzIHdpbGwgbG9hZCB0aGUgcGx1Z2luIGlmIG5lY2Vzc2FyeS4KKyAgICB2
aXJ0dWFsIFJlbmRlcldpZGdldCogcmVuZGVyV2lkZ2V0TG9hZGluZ1BsdWdpbigpIGNvbnN0ID0g
MDsKIAogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0ZvY3VzKCkgY29uc3Qgb3ZlcnJpZGU7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238803</attachid>
            <date>2014-09-27 22:04:51 -0700</date>
            <delta_ts>2014-09-27 22:57:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137156-20140927220451.patch</filename>
            <type>text/plain</type>
            <size>11167</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0MDM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmUyZTgwZDEwNjQxYzZl
NzJmNTNlZTc3NGU3NTBmNmE5MTllNmEyMC4uOTU2YTFkMjE0ZTk3ZWNiZTQ2YmViNzMxMTg1N2Zi
YzNkZGU2YTNhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE0LTA5LTI3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSFRNTFBsdWdJbkVsZW1lbnQ6
OmlzVXNlck9ic2VydmFibGUoKSBpcyBjYXVzaW5nIGxheW91dAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3MTU2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgIFdoaWxlIHByb2ZpbGluZyB0aGUgcGFnZSBsb2Fk
IG9mIG55dGltZXMuY29tLCBJIG5vdGljZWQgdGhhdCB3ZSB3ZXJlCisgICAgICAgIHNwZW5kaW5n
IH40LTUlIG9mIGNwdSB0aW1lIGluIEhUTUxQbHVnSW5FbGVtZW50Ojppc1VzZXJPYnNlcnZhYmxl
KCkuCisgICAgICAgIFRoZSByZWFzb24gaXMgdGhhdCB0aGUgZnVuY3Rpb24gY2FsbHMgcGx1Z2lu
V2lkZ2V0KCksIHdoaWNoIGNhdXNlcyBhCisgICAgICAgIGxheW91dCB1cGRhdGUgaW4gSFRNTE9i
amVjdEVsZW1lbnQ6OnJlbmRlcldpZGdldEZvckpTQmluZGluZ3MoKSwgdG8KKyAgICAgICAgbWFr
ZSBzdXJlIHRoZSBwbHVnaW4gaXMgbG9hZGVkIGFuZCBpdHMgcmVuZGVyZXIgaXMgY3JlYXRlZC4K
KworICAgICAgICBIVE1MUGx1Z0luRWxlbWVudDo6aXNVc2VyT2JzZXJ2YWJsZSgpIHNob3VsZG4n
dCBuZWVkIHRvIGRvIGEgbGF5b3V0LgorICAgICAgICBUaGlzIHBhdGNoIGRvZXMgdGhlIGZvbGxv
d2luZyB0byBhZGRyZXNzIHRoZSBwcm9ibGVtOgorICAgICAgICAtIFJlbmFtZSByZW5kZXJXaWRn
ZXRGb3JKU0JpbmRpbmdzKCkgdG8gcmVuZGVyV2lkZ2V0TG9hZGluZ1BsdWdpbigpCisgICAgICAg
ICAgYmVjYXVzZSB0aGlzIGZ1bmN0aW9uIGlzIG5vdCBhbHdheXMgY2FsbGVkIGZyb20gdGhlIEpT
IEJpbmRpbmdzCisgICAgICAgICAgbm93YWRheXMuIFRoZSBuZXcgbmFtZSBtYWtlcyBpdCBjbGVh
cmVyIHRoYXQgdGhpcyB3aWxsIGxvYWQgdGhlCisgICAgICAgICAgcGx1Z2luIGlmIG5lZWRlZCAo
dG8gbWFrZSBzdXJlIHRoZSByZW5kZXJlciBpcyBjcmVhdGVkLCBhbmQgYnkKKyAgICAgICAgICBk
b2luZyBhIGxheW91dCkuCisgICAgICAgIC0gQWRkIGEgUGx1Z2luTG9hZGluZ1BvbGljeSBhcmd1
bWVudCB0bworICAgICAgICAgIEhUTUxQbHVnSW5FbGVtZW50OjpwbHVnaW5XaWRnZXQoKSB0byBs
ZXQgdGhlIGNhbGxlciBjb250cm9sIGlmIHRoZQorICAgICAgICAgIHBsdWdpbiBzaG91bGQgYmUg
bG9hZGVkIG9yIG5vdC4KKyAgICAgICAgLSBVcGRhdGUgdGhlIGNhbGwgdG8gcGx1Z2luV2lkZ2V0
KCkgaW4gaXNVc2VyT2JzZXJ2YWJsZSgpIHNvIHRoYXQKKyAgICAgICAgICB3ZSBkbyBub3QgYXR0
ZW1wdCB0byBsb2FkIHRoZSBwbHVnaW4gKHRodXMgbm90IGNhdXNpbmcgYSBsYXlvdXQpLgorCisg
ICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICogV2Vi
Q29yZS5leHAuaW46CisgICAgICAgICogV2ViQ29yZS5vcmRlcjoKKyAgICAgICAgKiBodG1sL0hU
TUxBcHBsZXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxBcHBsZXRFbGVtZW50
OjpyZW5kZXJXaWRnZXRMb2FkaW5nUGx1Z2luKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxBcHBs
ZXRFbGVtZW50OjpyZW5kZXJXaWRnZXRGb3JKU0JpbmRpbmdzKTogRGVsZXRlZC4KKyAgICAgICAg
KiBodG1sL0hUTUxBcHBsZXRFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MRW1iZWRFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxFbWJlZEVsZW1lbnQ6OnJlbmRlcldpZGdl
dExvYWRpbmdQbHVnaW4pOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEVtYmVkRWxlbWVudDo6cmVu
ZGVyV2lkZ2V0Rm9ySlNCaW5kaW5ncyk6IERlbGV0ZWQuCisgICAgICAgICogaHRtbC9IVE1MRW1i
ZWRFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MT2JqZWN0RWxlbWVudDo6cmVuZGVyV2lkZ2V0TG9hZGluZ1BsdWdp
bik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MT2JqZWN0RWxlbWVudDo6cmVuZGVyV2lkZ2V0Rm9y
SlNCaW5kaW5ncyk6IERlbGV0ZWQuCisgICAgICAgICogaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5o
OgorICAgICAgICAqIGh0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTFBsdWdJbkVsZW1lbnQ6OnBsdWdpbldpZGdldCk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MUGx1Z0luRWxlbWVudDo6aXNVc2VyT2JzZXJ2YWJsZSk6CisgICAgICAgICogaHRtbC9IVE1M
UGx1Z0luRWxlbWVudC5oOgorCiAyMDE0LTA5LTI3ICBDaHJpc3RvcGhlIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgdGhlIG5ldyBpczw+KCkgLyBkb3duY2FzdDw+KCkg
Zm9yIEF0dHIgTm9kZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggNDQ0NWQ1MDYzMjJiZjFjODll
NDEwMjQ4ZWU0ZWFjODNmYzYwZDYyNS4uMTA5Yzc3MGE2M2U3YWUxZWY3MGEzZDQyYTQxZjY3ZDU2
NGM5ZThjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTE3ODUsNyArMTc4NSw2IEBAIF9fWk5L
N1dlYkNvcmUxNlZpc2libGVTZWxlY3Rpb24xOXJvb3RFZGl0YWJsZUVsZW1lbnRFdgogX19aTks3
V2ViQ29yZTE2VmlzaWJsZVNlbGVjdGlvbjIzaXNDb250ZW50UmljaGx5RWRpdGFibGVFdgogX19a
Tks3V2ViQ29yZTE2VmlzaWJsZVNlbGVjdGlvbjVpc0FsbEVOU18yN0VkaXRpbmdCb3VuZGFyeUNy
b3NzaW5nUnVsZUUKIF9fWk5LN1dlYkNvcmUxN0hUTUxPcHRpb25FbGVtZW50NHRleHRFdgotX19a
Tks3V2ViQ29yZTE3SFRNTFBsdWdJbkVsZW1lbnQxMnBsdWdpbldpZGdldEV2CiBfX1pOSzdXZWJD
b3JlMTdIVE1MU2VsZWN0RWxlbWVudDEzc2VsZWN0ZWRJbmRleEV2CiBfX1pOSzdXZWJDb3JlMTdI
VE1MU2VsZWN0RWxlbWVudDV2YWx1ZUV2CiBfX1pOSzdXZWJDb3JlMTdIVE1MU2VsZWN0RWxlbWVu
dDlsaXN0SXRlbXNFdgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRlciBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIKaW5kZXggMzMxM2U0YTgwZDliNzk3ZmFmYWMz
OTQwY2NjOWU4NjVhMWZlNWZhZC4uNzZhYjk3NTg2YzMzMDU4Y2FkMzg2ZGVmZDMwMjc4MDg5MDIx
Yjk2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRlcgorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyCkBAIC05MTg3LDcgKzkxODcsNiBAQCBfX1pON1dlYkNv
cmUxOUpTSFRNTE9iamVjdEVsZW1lbnQyNmdldE93blByb3BlcnR5U2xvdERlbGVnYXRlRVBOM0pT
QzlFeGVjU3RhdGVFTgogX19aTjdXZWJDb3JlMzdwbHVnaW5FbGVtZW50Q3VzdG9tR2V0T3duUHJv
cGVydHlTbG90SU5TXzE5SlNIVE1MT2JqZWN0RWxlbWVudEVOU18xM0pTSFRNTEVsZW1lbnRFRUVi
UE4zSlNDOUV4ZWNTdGF0ZUVOUzNfMTJQcm9wZXJ0eU5hbWVFUk5TM18xMlByb3BlcnR5U2xvdEVQ
VF8KIF9fWk43V2ViQ29yZTM3cnVudGltZU9iamVjdEN1c3RvbUdldE93blByb3BlcnR5U2xvdEVQ
TjNKU0M5RXhlY1N0YXRlRU5TMF8xMlByb3BlcnR5TmFtZUVSTlMwXzEyUHJvcGVydHlTbG90RVBO
U18xM0pTSFRNTEVsZW1lbnRFCiBfX1pON1dlYkNvcmUxOHBsdWdpblNjcmlwdE9iamVjdEVQTjNK
U0M5RXhlY1N0YXRlRVBOU18xM0pTSFRNTEVsZW1lbnRFCi1fX1pOSzdXZWJDb3JlMTdIVE1MUGx1
Z0luRWxlbWVudDEycGx1Z2luV2lkZ2V0RXYKIF9fWk5LN1dlYkNvcmUxN0hUTUxPYmplY3RFbGVt
ZW50MjVyZW5kZXJXaWRnZXRGb3JKU0JpbmRpbmdzRXYKIF9fWk43V2ViQ29yZTE3SFRNTFBsdWdJ
bkVsZW1lbnQxMWdldEluc3RhbmNlRXYKIF9fWk43V2ViQ29yZTI4SlNIVE1MT2JqZWN0RWxlbWVu
dFByb3RvdHlwZTE4Z2V0T3duUHJvcGVydHlTbG90RVBOM0pTQzZKU0NlbGxFUE5TMV85RXhlY1N0
YXRlRU5TMV8xMlByb3BlcnR5TmFtZUVSTlMxXzEyUHJvcGVydHlTbG90RQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXBwbGV0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxBcHBsZXRFbGVtZW50LmNwcAppbmRleCBlZTQ4YzQwNzBiNTAwNTQ1NDg3NDNk
MjA1ZjcwMzk5NDZmNTk5NTljLi41Y2ZhNWI3NTE1N2RjNWIwZTQyMzAxZTU0Yzk3OGJiZGEyMDhh
YzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBcHBsZXRFbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBcHBsZXRFbGVtZW50LmNwcApAQCAtODMs
MTAgKzgzLDEwIEBAIFJlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBIVE1MQXBwbGV0RWxlbWVudDo6
Y3JlYXRlRWxlbWVudFJlbmRlcmVyKFBhc3NSZWY8UmVuZGVyCiAgICAgcmV0dXJuIFJlbmRlckVt
YmVkZGVkT2JqZWN0OjpjcmVhdGVGb3JBcHBsZXQoKnRoaXMsIFdURjo6bW92ZShzdHlsZSkpOwog
fQogCi1SZW5kZXJXaWRnZXQqIEhUTUxBcHBsZXRFbGVtZW50OjpyZW5kZXJXaWRnZXRGb3JKU0Jp
bmRpbmdzKCkgY29uc3QKK1JlbmRlcldpZGdldCogSFRNTEFwcGxldEVsZW1lbnQ6OnJlbmRlcldp
ZGdldExvYWRpbmdQbHVnaW4oKSBjb25zdAogewogICAgIGlmICghY2FuRW1iZWRKYXZhKCkpCi0g
ICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIC8vIE5lZWRz
IHRvIGxvYWQgdGhlIHBsdWdpbiBpbW1lZGlhdGVkbHkgYmVjYXVzZSB0aGlzIGZ1bmN0aW9uIGlz
IGNhbGxlZAogICAgIC8vIHdoZW4gSmF2YVNjcmlwdCBjb2RlIGFjY2Vzc2VzIHRoZSBwbHVnaW4u
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBcHBsZXRFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBcHBsZXRFbGVtZW50LmgKaW5kZXggZmNmYzA5YWM1MWQ0
NjY1N2NlODMxODZkZjI0NTE1MDRjMTYwZjlkMC4uNGM4MTg4ZmYwNzI4MWI2ZTQ3ZDUwN2E1OWE0
N2NjOTMyOTE3ZjYwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXBwbGV0
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFwcGxldEVsZW1lbnQuaApA
QCAtMzksNyArMzksNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVl
ZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBSZW5kZXJQdHI8
UmVuZGVyRWxlbWVudD4gY3JlYXRlRWxlbWVudFJlbmRlcmVyKFBhc3NSZWY8UmVuZGVyU3R5bGU+
KSBvdmVycmlkZTsKIAotICAgIHZpcnR1YWwgUmVuZGVyV2lkZ2V0KiByZW5kZXJXaWRnZXRGb3JK
U0JpbmRpbmdzKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBSZW5kZXJXaWRnZXQqIHJl
bmRlcldpZGdldExvYWRpbmdQbHVnaW4oKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZv
aWQgdXBkYXRlV2lkZ2V0KFBsdWdpbkNyZWF0aW9uT3B0aW9uKSBvdmVycmlkZTsKIAogICAgIGJv
b2wgY2FuRW1iZWRKYXZhKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxFbWJlZEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRW1iZWRFbGVt
ZW50LmNwcAppbmRleCA0YWRhNzI1ODVlNTgwNTc3ZDIzNmRhODAzOTkyYTAyZjg3NjAzOTk0Li5j
MDJlY2RiMzJkYzI2YmMyNDkxY2YzNTg5MGJjYzNhNzFkNzMyYjk2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxFbWJlZEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEVtYmVkRWxlbWVudC5jcHAKQEAgLTY4LDcgKzY4LDcgQEAgc3RhdGljIGlubGlu
ZSBSZW5kZXJXaWRnZXQqIGZpbmRXaWRnZXRSZW5kZXJlcihjb25zdCBOb2RlKiBuKQogICAgIHJl
dHVybiAwOwogfQogCi1SZW5kZXJXaWRnZXQqIEhUTUxFbWJlZEVsZW1lbnQ6OnJlbmRlcldpZGdl
dEZvckpTQmluZGluZ3MoKSBjb25zdAorUmVuZGVyV2lkZ2V0KiBIVE1MRW1iZWRFbGVtZW50Ojpy
ZW5kZXJXaWRnZXRMb2FkaW5nUGx1Z2luKCkgY29uc3QKIHsKICAgICBGcmFtZVZpZXcqIHZpZXcg
PSBkb2N1bWVudCgpLnZpZXcoKTsKICAgICBpZiAoIXZpZXcgfHwgKCF2aWV3LT5pc0luTGF5b3V0
KCkgJiYgIXZpZXctPmlzUGFpbnRpbmcoKSkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEVtYmVkRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRW1iZWRF
bGVtZW50LmgKaW5kZXggY2RkM2JlY2ZiYmE3ZWIwZGQ3MmIzMGI1OTc4OWJlZWQ0YmJlZDU0Yi4u
YjJlNjYwZmVkZjY3OWQzMDE1ZDliN2Y5ZWJlYjg5OTk5MzNlMDIxNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRW1iZWRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRW1iZWRFbGVtZW50LmgKQEAgLTQzLDcgKzQzLDcgQEAgcHJpdmF0ZToKICAgICB2
aXJ0dWFsIGJvb2wgaXNVUkxBdHRyaWJ1dGUoY29uc3QgQXR0cmlidXRlJikgY29uc3Qgb3ZlcnJp
ZGU7CiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGltYWdlU291cmNlVVJMKCkgY29u
c3Qgb3ZlcnJpZGU7CiAKLSAgICB2aXJ0dWFsIFJlbmRlcldpZGdldCogcmVuZGVyV2lkZ2V0Rm9y
SlNCaW5kaW5ncygpIGNvbnN0IG92ZXJyaWRlOworICAgIHZpcnR1YWwgUmVuZGVyV2lkZ2V0KiBy
ZW5kZXJXaWRnZXRMb2FkaW5nUGx1Z2luKCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFs
IHZvaWQgdXBkYXRlV2lkZ2V0KFBsdWdpbkNyZWF0aW9uT3B0aW9uKSBvdmVycmlkZTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmNwcAppbmRleCA0MmIzY2Q2NmM5NTQ1
YmQyNWEwMTg5NTA0NTdkZTQ4OTE3ZGI1NDMyLi43ZjNhNTI1M2FkOWM1YjRlNjlmMzgzOWJkYmMz
NTAzOTVkMWU3Njg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmNw
cApAQCAtODEsNyArODEsNyBAQCBQYXNzUmVmUHRyPEhUTUxPYmplY3RFbGVtZW50PiBIVE1MT2Jq
ZWN0RWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZwogICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgSFRNTE9iamVjdEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQsIGZvcm0sIGNy
ZWF0ZWRCeVBhcnNlcikpOwogfQogCi1SZW5kZXJXaWRnZXQqIEhUTUxPYmplY3RFbGVtZW50Ojpy
ZW5kZXJXaWRnZXRGb3JKU0JpbmRpbmdzKCkgY29uc3QKK1JlbmRlcldpZGdldCogSFRNTE9iamVj
dEVsZW1lbnQ6OnJlbmRlcldpZGdldExvYWRpbmdQbHVnaW4oKSBjb25zdAogewogICAgIC8vIE5l
ZWRzIHRvIGxvYWQgdGhlIHBsdWdpbiBpbW1lZGlhdGVkbHkgYmVjYXVzZSB0aGlzIGZ1bmN0aW9u
IGlzIGNhbGxlZAogICAgIC8vIHdoZW4gSmF2YVNjcmlwdCBjb2RlIGFjY2Vzc2VzIHRoZSBwbHVn
aW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmgKaW5kZXggZjhlN2E2ZTAy
NWQxZTdmMWRmYWZiZTViNWM1MTYxOTZmMDA4MTdiNi4uN2I0YmJiZjk3MDM4ZDJjOTYyZDNjNGM5
MTljY2QwNWY3Mjk3ZTVhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2Jq
ZWN0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQu
aApAQCAtNzAsNyArNzAsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBpc1VSTEF0dHJp
YnV0ZShjb25zdCBBdHRyaWJ1dGUmKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGNvbnN0
IEF0b21pY1N0cmluZyYgaW1hZ2VTb3VyY2VVUkwoKSBjb25zdCBvdmVycmlkZTsKIAotICAgIHZp
cnR1YWwgUmVuZGVyV2lkZ2V0KiByZW5kZXJXaWRnZXRGb3JKU0JpbmRpbmdzKCkgY29uc3Qgb3Zl
cnJpZGU7CisgICAgdmlydHVhbCBSZW5kZXJXaWRnZXQqIHJlbmRlcldpZGdldExvYWRpbmdQbHVn
aW4oKSBjb25zdCBvdmVycmlkZTsKIAogICAgIHZpcnR1YWwgdm9pZCBhZGRTdWJyZXNvdXJjZUF0
dHJpYnV0ZVVSTHMoTGlzdEhhc2hTZXQ8VVJMPiYpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCmluZGV4IGY4ZDNjMDc1OWY1ZTM0ZmFh
NDk0MWM4N2Q5OGM0NDA4NThhNWU3ZmQuLmYzN2JlMGNlMjI0ODYxZDk2NDk0YjFmNzY1OThmOWQx
N2FjMGMyMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCkBA
IC0xNTgsMTcgKzE1OCwxNyBAQCBib29sIEhUTUxQbHVnSW5FbGVtZW50OjpndWFyZGVkRGlzcGF0
Y2hCZWZvcmVMb2FkRXZlbnQoY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCiAgICAgcmV0dXJuIGJl
Zm9yZUxvYWRBbGxvd2VkTG9hZDsKIH0KIAotV2lkZ2V0KiBIVE1MUGx1Z0luRWxlbWVudDo6cGx1
Z2luV2lkZ2V0KCkgY29uc3QKK1dpZGdldCogSFRNTFBsdWdJbkVsZW1lbnQ6OnBsdWdpbldpZGdl
dChQbHVnaW5Mb2FkaW5nUG9saWN5IGxvYWRQb2xpY3kpIGNvbnN0CiB7CiAgICAgaWYgKG1faW5C
ZWZvcmVMb2FkRXZlbnRIYW5kbGVyKSB7CiAgICAgICAgIC8vIFRoZSBwbHVnLWluIGhhc24ndCBs
b2FkZWQgeWV0LCBhbmQgaXQgbWFrZXMgbm8gc2Vuc2UgdG8gdHJ5IHRvIGxvYWQgaWYgYmVmb3Jl
bG9hZCBoYW5kbGVyIGhhcHBlbmVkIHRvIHRvdWNoIHRoZSBwbHVnLWluIGVsZW1lbnQuCiAgICAg
ICAgIC8vIFRoYXQgd291bGQgcmVjdXJzaXZlbHkgY2FsbCBiZWZvcmVsb2FkIGZvciB0aGUgc2Ft
ZSBlbGVtZW50LgotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAg
ICAgfQogCi0gICAgUmVuZGVyV2lkZ2V0KiByZW5kZXJXaWRnZXQgPSByZW5kZXJXaWRnZXRGb3JK
U0JpbmRpbmdzKCk7CisgICAgUmVuZGVyV2lkZ2V0KiByZW5kZXJXaWRnZXQgPSBsb2FkUG9saWN5
ID09IFBsdWdpbkxvYWRpbmdQb2xpY3k6OkxvYWQgPyByZW5kZXJXaWRnZXRMb2FkaW5nUGx1Z2lu
KCkgOiB0aGlzLT5yZW5kZXJXaWRnZXQoKTsKICAgICBpZiAoIXJlbmRlcldpZGdldCkKLSAgICAg
ICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgcmV0dXJuIHJlbmRl
cldpZGdldC0+d2lkZ2V0KCk7CiB9CkBAIC0yNTYsNyArMjU2LDcgQEAgYm9vbCBIVE1MUGx1Z0lu
RWxlbWVudDo6aXNQbHVnaW5FbGVtZW50KCkgY29uc3QKIGJvb2wgSFRNTFBsdWdJbkVsZW1lbnQ6
OmlzVXNlck9ic2VydmFibGUoKSBjb25zdAogewogICAgIC8vIE5vIHdpZGdldCAtIGNhbid0IGJl
IGFueXRoaW5nIHRvIHNlZSBvciBoZWFyIGhlcmUuCi0gICAgV2lkZ2V0KiB3aWRnZXQgPSBwbHVn
aW5XaWRnZXQoKTsKKyAgICBXaWRnZXQqIHdpZGdldCA9IHBsdWdpbldpZGdldChQbHVnaW5Mb2Fk
aW5nUG9saWN5OjpEb05vdExvYWQpOwogICAgIGlmICghd2lkZ2V0IHx8ICF3aWRnZXQtPmlzUGx1
Z2luVmlld0Jhc2UoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxQbHVnSW5FbGVtZW50LmgKaW5kZXggMGNhZGI4MmI3MmQzNGZmZmM5YWE4YWJiYTc4OThk
NzBhZWE4MWYxMS4uMGY1N2Y0NmExYzcxMGE4N2E1M2RlYTU0YzIzY2MyMmVkODg5MWQzMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuaApAQCAtNTEsNyArNTEsOCBAQCBw
dWJsaWM6CiAKICAgICBQYXNzUmVmUHRyPEpTQzo6QmluZGluZ3M6Okluc3RhbmNlPiBnZXRJbnN0
YW5jZSgpOwogCi0gICAgV0VCQ09SRV9FWFBPUlQgV2lkZ2V0KiBwbHVnaW5XaWRnZXQoKSBjb25z
dDsKKyAgICBlbnVtIGNsYXNzIFBsdWdpbkxvYWRpbmdQb2xpY3kgeyBEb05vdExvYWQsIExvYWQg
fTsKKyAgICBXRUJDT1JFX0VYUE9SVCBXaWRnZXQqIHBsdWdpbldpZGdldChQbHVnaW5Mb2FkaW5n
UG9saWN5ID0gUGx1Z2luTG9hZGluZ1BvbGljeTo6TG9hZCkgY29uc3Q7CiAKICAgICBlbnVtIERp
c3BsYXlTdGF0ZSB7CiAgICAgICAgIFdhaXRpbmdGb3JTbmFwc2hvdCwKQEAgLTExNiw3ICsxMTcs
OCBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBkaXNwYXRjaEJlZm9yZUxvYWRFdmVudChjb25zdCBT
dHJpbmcmIHNvdXJjZVVSTCk7IC8vIE5vdCBpbXBsZW1lbnRlZCwgZ2VuZXJhdGVzIGEgY29tcGls
ZSBlcnJvciBpZiBzdWJjbGFzc2VzIGNhbGwgdGhpcyBieSBtaXN0YWtlLgogCi0gICAgdmlydHVh
bCBSZW5kZXJXaWRnZXQqIHJlbmRlcldpZGdldEZvckpTQmluZGluZ3MoKSBjb25zdCA9IDA7Cisg
ICAgLy8gVGhpcyB3aWxsIGxvYWQgdGhlIHBsdWdpbiBpZiBuZWNlc3NhcnkuCisgICAgdmlydHVh
bCBSZW5kZXJXaWRnZXQqIHJlbmRlcldpZGdldExvYWRpbmdQbHVnaW4oKSBjb25zdCA9IDA7CiAK
ICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNGb2N1cygpIGNvbnN0IG92ZXJyaWRlOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>