<?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>100922</bug_id>
          
          <creation_ts>2012-10-31 23:59:22 -0700</creation_ts>
          <short_desc>[Shadow] ShadowRoot should know the existence of element having ElementShadow.</short_desc>
          <delta_ts>2012-11-06 02:15:36 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>100451</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Shinya Kawanaka">shinyak</reporter>
          <assigned_to name="Shinya Kawanaka">shinyak</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>webcomponents-bugzilla</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>755942</commentid>
    <comment_count>0</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-10-31 23:59:22 -0700</bug_when>
    <thetext>This is similar to https://bugs.webkit.org/show_bug.cgi?id=100921
We would like to know the existence of elements having shadow when we check the necessity of distribution invalidation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756883</commentid>
    <comment_count>1</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-01 21:59:59 -0700</bug_when>
    <thetext>The patterns where the number of elements having shadow may be changed are:

(1) An element having shadow is inserted.
(2) An element having shadow is removed.
(3) ShadowRoot is added to an element
(4) ShadowRoot is removed from an element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756964</commentid>
    <comment_count>2</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-02 01:05:33 -0700</bug_when>
    <thetext>Actually we don&apos;t have to consider (4) case, since there is no API to remove it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756976</commentid>
    <comment_count>3</comment_count>
      <attachid>172005</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-02 01:40:29 -0700</bug_when>
    <thetext>Created attachment 172005
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756978</commentid>
    <comment_count>4</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-02 01:41:09 -0700</bug_when>
    <thetext>This patch will definitely be conflicted with a patch for Bug 100921.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758169</commentid>
    <comment_count>5</comment_count>
      <attachid>172250</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-04 17:47:51 -0800</bug_when>
    <thetext>Created attachment 172250
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758250</commentid>
    <comment_count>6</comment_count>
      <attachid>172250</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-11-04 23:13:29 -0800</bug_when>
    <thetext>Comment on attachment 172250
Patch

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

&gt; Source/WebCore/dom/Element.cpp:1061
&gt; +    if (ElementShadow* elementShadow = shadow()) {

ShadowRoot also has insertedInto(). Can we move this to there?
insertedInto() is relatively hot function and better to keep slim if possible.
Same can be said for removedFrom().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758260</commentid>
    <comment_count>7</comment_count>
      <attachid>172250</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-04 23:19:44 -0800</bug_when>
    <thetext>Comment on attachment 172250
Patch

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

&gt;&gt; Source/WebCore/dom/Element.cpp:1061
&gt;&gt; +    if (ElementShadow* elementShadow = shadow()) {
&gt; 
&gt; ShadowRoot also has insertedInto(). Can we move this to there?
&gt; insertedInto() is relatively hot function and better to keep slim if possible.
&gt; Same can be said for removedFrom().

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759197</commentid>
    <comment_count>8</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-05 20:04:28 -0800</bug_when>
    <thetext>The number of calling ShadowRoot::insertedInto and ShadowRoot::removedFrom does not seem balanced correctly... Maybe we have another bug around there?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759352</commentid>
    <comment_count>9</comment_count>
      <attachid>172508</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-06 00:46:06 -0800</bug_when>
    <thetext>Created attachment 172508
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759362</commentid>
    <comment_count>10</comment_count>
      <attachid>172508</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-11-06 01:02:04 -0800</bug_when>
    <thetext>Comment on attachment 172508
Patch

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

&gt; Source/WebCore/dom/ShadowRoot.cpp:263
&gt; +    // Note that host element might be being destroyed here.

What is the point of this comment?

&gt; Source/WebCore/dom/ShadowRoot.h:102
&gt; +    void unregisterElementHavingShadow() { --m_numberOfElementsHavingShadow; }

Let&apos;s ASSERT() the count cannot be zero.

&gt; Source/WebCore/dom/ShadowRoot.h:134
&gt; +    size_t m_numberOfElementsHavingShadow;

This is basically a count of ElementShadow, is that right?
If so, I&apos;d prefer more brief name. &quot;ElementHavingShadow&quot; sound a bit cryptic.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759376</commentid>
    <comment_count>11</comment_count>
      <attachid>172514</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-06 01:23:28 -0800</bug_when>
    <thetext>Created attachment 172514
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759377</commentid>
    <comment_count>12</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-06 01:24:26 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 172508 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=172508&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/ShadowRoot.cpp:263
&gt; &gt; +    // Note that host element might be being destroyed here.
&gt; 
&gt; What is the point of this comment?

Removed.

&gt; 
&gt; &gt; Source/WebCore/dom/ShadowRoot.h:102
&gt; &gt; +    void unregisterElementHavingShadow() { --m_numberOfElementsHavingShadow; }
&gt; 
&gt; Let&apos;s ASSERT() the count cannot be zero.

Added.

&gt; 
&gt; &gt; Source/WebCore/dom/ShadowRoot.h:134
&gt; &gt; +    size_t m_numberOfElementsHavingShadow;
&gt; 
&gt; This is basically a count of ElementShadow, is that right?
&gt; If so, I&apos;d prefer more brief name. &quot;ElementHavingShadow&quot; sound a bit cryptic.

Yes. I used m_numberOfElementShadow... I couldn&apos;t come up with better name...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759378</commentid>
    <comment_count>13</comment_count>
      <attachid>172514</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-11-06 01:26:16 -0800</bug_when>
    <thetext>Comment on attachment 172514
Patch

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

&gt; Source/WebCore/testing/Internals.cpp:332
&gt; +    ec = INVALID_ACCESS_ERR;

Let&apos;s take check-error-then do happy path pattern.
Pushing error path to late is unusual thus confusing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759387</commentid>
    <comment_count>14</comment_count>
      <attachid>172518</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-06 01:31:18 -0800</bug_when>
    <thetext>Created attachment 172518
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759434</commentid>
    <comment_count>15</comment_count>
      <attachid>172518</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-06 02:15:32 -0800</bug_when>
    <thetext>Comment on attachment 172518
Patch for landing

Clearing flags on attachment: 172518

Committed r133575: &lt;http://trac.webkit.org/changeset/133575&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759435</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-06 02:15:36 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172005</attachid>
            <date>2012-11-02 01:40:29 -0700</date>
            <delta_ts>2012-11-04 17:47:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100922-20121102173849.patch</filename>
            <type>text/plain</type>
            <size>17589</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMjQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjkzNTg3MjRkMjNkYmRj
OTkwM2U0ZWEyYjNmNmQyZjhkZDk0M2U5Zi4uMWVhMjk5YjE1M2JlMzY4Zjc1MWIwMjFlZmYzNWUx
OTY5MmFhMDgwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDEyLTExLTAyICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbU2hhZG93XSBT
aGFkb3dSb290IHNob3VsZCBrbm93IHRoZSBleGlzdGVuY2Ugb2YgZWxlbWVudHMgaGF2aW5nIEVs
ZW1lbnRTaGFkb3cuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDA5MjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBXZSBjb3VudCB0aGUgZWxlbWVudHMgaGF2aW5nIEVsZW1lbnRTaGFkb3cgaW4gU2hhZG93
Um9vdC4gVGhpcyBpcyBhIHByZXBhdGlvbiBwYXRjaCBmb3IgdG8gc29sdmUgQnVnIDEwMDQ1MS4K
KworICAgICAgICBUaGUgbnVtYmVyIG9mIGVsZW1lbnRzIGhhdmluZyBFbGVtZW50U2hhZG93IGlu
IFNoYWRvd1Jvb3Qgd2lsbCBiZSBtb2RpZmllZCB3aGVuCisgICAgICAgICAgMSkgYW4gZWxlbWVu
dCBoYXZpbmcgRWxlbWVudFNoYWRvdyBpcyBpbnNlcnRlZAorICAgICAgICAgIDIpIGFuIGVsZW1l
bnQgaGF2aW5nIEVsZW1lbnRTaGFkb3cgaXMgcmVtb3ZlZAorICAgICAgICAgIDMpIGEgU2hhZG93
Um9vdCBpcyBhZGRlZCB0byBhbiBlbGVtZW50LgorICAgICAgICBTaW5jZSB0aGVyZSBpcyBubyBB
UEkgdG8gcmVtb3ZlIFNoYWRvd1Jvb3Qgd2l0aG91dCBkaXNjYXJkaW5nIGVsZW1lbnQsIHdlIGRv
bid0IG5lZWQgdG8gY29uc2lkZXIgYSBjYXNlIHRoYXQKKyAgICAgICAgU2hhZG93Um9vdCBpcyBy
ZW1vdmVkIGZyb20gYW4gZWxlbWVudC4KKworICAgICAgICBGb3IgcGVyZm9ybWFuY2UgcmVhc29u
LCB3ZSBoYXZlIGEgZmxhZyB0aGF0IGFuIGVsZW1lbnQgc2hvdWxkIGJlIHVucmVnaXN0ZXJlZCBp
biBFbGVtZW50U2hhZG93LgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL3NoYWRvdy9oYXMtZWxl
bWVudHMtaGF2aW5nLXNoYWRvdy5odG1sCisKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjppbnNlcnRlZEludG8pOgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudDo6cmVtb3ZlZEZyb20pOgorICAgICAgICAqIGRvbS9FbGVtZW50U2hhZG93LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRTaGFkb3c6OkVsZW1lbnRTaGFkb3cpOgorICAg
ICAgICAoV2ViQ29yZTo6RWxlbWVudFNoYWRvdzo6YWRkU2hhZG93Um9vdCk6CisgICAgICAgICog
ZG9tL0VsZW1lbnRTaGFkb3cuaDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRTaGFkb3c6OnNl
dFJlZ2lzdGVyZWRXaXRoU2hhZG93Um9vdCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50U2hh
ZG93Ojppc1JlZ2lzdGVyZWRXaXRoU2hhZG93Um9vdCk6CisgICAgICAgIChFbGVtZW50U2hhZG93
KToKKyAgICAgICAgKiBkb20vU2hhZG93Um9vdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaGFk
b3dSb290OjpTaGFkb3dSb290KToKKyAgICAgICAgKiBkb20vU2hhZG93Um9vdC5oOgorICAgICAg
ICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6cmVnaXN0ZXJFbGVtZW50SGF2aW5nU2hhZG93KTogQ2Fs
bHMgd2hlbiBhbiBlbGVtZW50IGhhdmluZyBFbGVtZW50U2hhZG93IGlzIGFkZGVkCisgICAgICAg
IG9yIHRoZSBmaXJzdCBTaGFkb3dSb290IGZvciBhbiBlbGVtZW50IGlzIGFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6dW5yZWdpc3RlckVsZW1lbnRIYXZpbmdTaGFkb3cpOiBD
YWxscyB3aGVuIGFuIGVsZW1lbnQgaGF2aW5nIEVsZW1lbnRTaGFkb3cgaXMgcmVtb3ZlZAorICAg
ICAgICBmcm9tIGRvY3VtZW50LgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6aGFzRWxl
bWVudEhhdmluZ1NoYWRvdyk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290Ojpjb3VudEVs
ZW1lbnRzSGF2aW5nU2hhZG93KToKKyAgICAgICAgKFNoYWRvd1Jvb3QpOgorICAgICAgICAqIHRl
c3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6Y291bnRF
bGVtZW50c0hhdmluZ1NoYWRvdyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5oOgorICAgICAgICAoSW50ZXJuYWxzKToKKyAgICAgICAgKiB0ZXN0aW5n
L0ludGVybmFscy5pZGw6CisKIDIwMTItMTEtMDEgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0
Lm9yZz4KIAogICAgICAgICBbVjhdIEdlbmVyYWxpemUgTm9kZVdyYXBwZXJNYXAgdG8gYmUgYWJs
ZSB0byBoYW5kbGUgb3RoZXIgc29ydHMgb2Yga2V5cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4
IGViMTIzMDg3MjQxNzg5Y2I5NDA2ZTIzZjU5NjE4N2U3YmE3YjA2NGQuLjgyOTY5OTkxZmE3MTMy
ZGNkYzhjMWExN2VmNTZjZDA1NGIwMGU3ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTEw
MTQsNiArMTAxNCwxMyBAQCBOb2RlOjpJbnNlcnRpb25Ob3RpZmljYXRpb25SZXF1ZXN0IEVsZW1l
bnQ6Omluc2VydGVkSW50byhDb250YWluZXJOb2RlKiBpbnNlcnRpbwogICAgICAgICAgICAgdXBk
YXRlTGFiZWwoc2NvcGUsIG51bGxBdG9tLCBmYXN0R2V0QXR0cmlidXRlKGZvckF0dHIpKTsKICAg
ICB9CiAKKyAgICBpZiAoRWxlbWVudFNoYWRvdyogZWxlbWVudFNoYWRvdyA9IHNoYWRvdygpKSB7
CisgICAgICAgIGlmIChTaGFkb3dSb290KiByb290ID0gc2hhZG93Um9vdCgpKSB7CisgICAgICAg
ICAgICByb290LT5yZWdpc3RlckVsZW1lbnRIYXZpbmdTaGFkb3coKTsKKyAgICAgICAgICAgIGVs
ZW1lbnRTaGFkb3ctPnNldFJlZ2lzdGVyZWRXaXRoU2hhZG93Um9vdCh0cnVlKTsKKyAgICAgICAg
fQorICAgIH0KKwogICAgIHJldHVybiBJbnNlcnRpb25Eb25lOwogfQogCkBAIC0xMDQ0LDYgKzEw
NTEsMTYgQEAgdm9pZCBFbGVtZW50OjpyZW1vdmVkRnJvbShDb250YWluZXJOb2RlKiBpbnNlcnRp
b25Qb2ludCkKICAgICAgICAgICAgIGlmICh0cmVlU2NvcGUtPnNob3VsZENhY2hlTGFiZWxzQnlG
b3JBdHRyaWJ1dGUoKSkKICAgICAgICAgICAgICAgICB1cGRhdGVMYWJlbCh0cmVlU2NvcGUsIGZh
c3RHZXRBdHRyaWJ1dGUoZm9yQXR0ciksIG51bGxBdG9tKTsKICAgICAgICAgfQorCisgICAgICAg
IGlmIChFbGVtZW50U2hhZG93KiBlbGVtZW50U2hhZG93ID0gc2hhZG93KCkpIHsKKyAgICAgICAg
ICAgIGlmIChlbGVtZW50U2hhZG93LT5pc1JlZ2lzdGVyZWRXaXRoU2hhZG93Um9vdCgpKSB7Cisg
ICAgICAgICAgICAgICAgU2hhZG93Um9vdCogcm9vdCA9IHNoYWRvd1Jvb3QoKTsKKyAgICAgICAg
ICAgICAgICBpZiAoIXJvb3QpCisgICAgICAgICAgICAgICAgICAgIHJvb3QgPSBpbnNlcnRpb25Q
b2ludC0+c2hhZG93Um9vdCgpOworICAgICAgICAgICAgICAgIGlmIChyb290KQorICAgICAgICAg
ICAgICAgICAgICByb290LT51bnJlZ2lzdGVyRWxlbWVudEhhdmluZ1NoYWRvdygpOworICAgICAg
ICAgICAgfQorICAgICAgICB9CiAgICAgfQogCiAgICAgQ29udGFpbmVyTm9kZTo6cmVtb3ZlZEZy
b20oaW5zZXJ0aW9uUG9pbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnRTaGFkb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRTaGFkb3cuY3BwCmluZGV4
IDUxYTI3ZGFlMzUwMGIwM2E5MjkxYTA2MGFjMDNlMGQzZjUyNmFlNzAuLjZjMWQzYjIwN2E4Mjky
YzAyMjRhMGI4NGMxMDEzMDNmNzk3OWE0ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50U2hhZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFNoYWRv
dy5jcHAKQEAgLTM5LDYgKzM5LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogRWxlbWVudFNo
YWRvdzo6RWxlbWVudFNoYWRvdygpCisgICAgOiBtX3JlZ2lzdGVyZWRXaXRoU2hhZG93Um9vdChm
YWxzZSkKIHsKIH0KIApAQCAtNzYsNiArNzcsMTQgQEAgdm9pZCBFbGVtZW50U2hhZG93OjphZGRT
aGFkb3dSb290KEVsZW1lbnQqIHNoYWRvd0hvc3QsIFBhc3NSZWZQdHI8U2hhZG93Um9vdD4gc2gK
ICAgICBpZiAodHlwZSA9PSBTaGFkb3dSb290OjpBdXRob3JTaGFkb3dSb290KQogICAgICAgICBz
aGFkb3dIb3N0LT53aWxsQWRkQXV0aG9yU2hhZG93Um9vdCgpOwogCisgICAgaWYgKG1fc2hhZG93
Um9vdHMuaXNFbXB0eSgpICYmIHNoYWRvd0hvc3QtPmluRG9jdW1lbnQoKSkgeworICAgICAgICBp
ZiAoU2hhZG93Um9vdCogcm9vdCA9IHNoYWRvd0hvc3QtPnNoYWRvd1Jvb3QoKSkgeworICAgICAg
ICAgICAgQVNTRVJUKCFpc1JlZ2lzdGVyZWRXaXRoU2hhZG93Um9vdCgpKTsKKyAgICAgICAgICAg
IHJvb3QtPnJlZ2lzdGVyRWxlbWVudEhhdmluZ1NoYWRvdygpOworICAgICAgICAgICAgc2V0UmVn
aXN0ZXJlZFdpdGhTaGFkb3dSb290KHRydWUpOworICAgICAgICB9CisgICAgfQorCiAgICAgc2hh
ZG93Um9vdC0+c2V0SG9zdChzaGFkb3dIb3N0KTsKICAgICBzaGFkb3dSb290LT5zZXRQYXJlbnRU
cmVlU2NvcGUoc2hhZG93SG9zdC0+dHJlZVNjb3BlKCkpOwogICAgIG1fc2hhZG93Um9vdHMucHVz
aChzaGFkb3dSb290LmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50U2hhZG93LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFNoYWRvdy5oCmluZGV4IGU5
NmRmMjU2ZGZlZWZmNjQ1MmRhY2UzYTVhZjI4YzI5MGI3OTNlNDMuLjNjYThkM2E1ZGFmMGEwZWJj
M2MwMjM0MWE0ZDUzM2JjZGIxYmMzNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50U2hhZG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRTaGFkb3cuaApA
QCAtNjYsNiArNjYsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBpbnZhbGlkYXRlRGlzdHJpYnV0aW9u
KCk7CiAgICAgdm9pZCBlbnN1cmVEaXN0cmlidXRpb24oKTsKIAorICAgIHZvaWQgc2V0UmVnaXN0
ZXJlZFdpdGhTaGFkb3dSb290KGJvb2wgZmxhZykgeyBtX3JlZ2lzdGVyZWRXaXRoU2hhZG93Um9v
dCA9IGZsYWc7IH0KKyAgICBib29sIGlzUmVnaXN0ZXJlZFdpdGhTaGFkb3dSb290KCkgY29uc3Qg
eyByZXR1cm4gbV9yZWdpc3RlcmVkV2l0aFNoYWRvd1Jvb3Q7IH0KKwogICAgIENvbnRlbnREaXN0
cmlidXRvciYgZGlzdHJpYnV0b3IoKTsKICAgICBjb25zdCBDb250ZW50RGlzdHJpYnV0b3ImIGRp
c3RyaWJ1dG9yKCkgY29uc3Q7CiAKQEAgLTc0LDYgKzc3LDggQEAgcHJpdmF0ZToKIAogICAgIERv
dWJseUxpbmtlZExpc3Q8U2hhZG93Um9vdD4gbV9zaGFkb3dSb290czsKICAgICBDb250ZW50RGlz
dHJpYnV0b3IgbV9kaXN0cmlidXRvcjsKKworICAgIGJvb2wgbV9yZWdpc3RlcmVkV2l0aFNoYWRv
d1Jvb3Q7CiB9OwogCiBpbmxpbmUgU2hhZG93Um9vdCogRWxlbWVudFNoYWRvdzo6eW91bmdlc3RT
aGFkb3dSb290KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dS
b290LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcAppbmRleCBlMTg4NGUw
NGExOTQxYzM0YjZhYTBjNDhmZDY1ZmI2ODZjZTYyM2FkLi5mODQxYTRmNWIwZGViYmE2YTMxMjQ0
NjIwNzYwZjY2NzhhZmQ1MjQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93
Um9vdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwCkBAIC01Nyw2
ICs1Nyw3IEBAIFNoYWRvd1Jvb3Q6OlNoYWRvd1Jvb3QoRG9jdW1lbnQqIGRvY3VtZW50KQogICAg
ICwgbV9yZXNldFN0eWxlSW5oZXJpdGFuY2UoZmFsc2UpCiAgICAgLCBtX2luc2VydGlvblBvaW50
QXNzaWduZWRUbygwKQogICAgICwgbV9udW1iZXJPZlNoYWRvd0VsZW1lbnRDaGlsZHJlbigwKQor
ICAgICwgbV9udW1iZXJPZkVsZW1lbnRzSGF2aW5nU2hhZG93KDApCiAgICAgLCBtX251bWJlck9m
U3R5bGVzKDApCiB7CiAgICAgQVNTRVJUKGRvY3VtZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TaGFkb3dSb290LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5o
CmluZGV4IGNjMDg5NTU0OTRkNzVjNjg1OGM1YTg4MTRiMGFlNDJiZjMwYjY5OGEuLmU1ZmRmMDk0
ZTZmNWIzN2FiOGMxMjNkNTk2ZTNmMGI1YWM1MmVhNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9TaGFkb3dSb290LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3Qu
aApAQCAtOTEsNiArOTEsMTEgQEAgcHVibGljOgogICAgIHZvaWQgdW5yZWdpc3RlclNoYWRvd0Vs
ZW1lbnQoKSB7IC0tbV9udW1iZXJPZlNoYWRvd0VsZW1lbnRDaGlsZHJlbjsgfQogICAgIGJvb2wg
aGFzU2hhZG93SW5zZXJ0aW9uUG9pbnQoKSBjb25zdCB7IHJldHVybiBtX251bWJlck9mU2hhZG93
RWxlbWVudENoaWxkcmVuID4gMDsgfQogCisgICAgdm9pZCByZWdpc3RlckVsZW1lbnRIYXZpbmdT
aGFkb3coKSB7ICsrbV9udW1iZXJPZkVsZW1lbnRzSGF2aW5nU2hhZG93OyB9CisgICAgdm9pZCB1
bnJlZ2lzdGVyRWxlbWVudEhhdmluZ1NoYWRvdygpIHsgLS1tX251bWJlck9mRWxlbWVudHNIYXZp
bmdTaGFkb3c7IH0KKyAgICBib29sIGhhc0VsZW1lbnRIYXZpbmdTaGFkb3coKSBjb25zdCB7IHJl
dHVybiBtX251bWJlck9mRWxlbWVudHNIYXZpbmdTaGFkb3cgPiAwOyB9CisgICAgc2l6ZV90IGNv
dW50RWxlbWVudHNIYXZpbmdTaGFkb3coKSBjb25zdCB7IHJldHVybiBtX251bWJlck9mRWxlbWVu
dHNIYXZpbmdTaGFkb3c7IH0KKwogICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclNjb3BlZEhUTUxT
dHlsZUNoaWxkKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHVucmVnaXN0ZXJTY29wZWRI
VE1MU3R5bGVDaGlsZCgpIE9WRVJSSURFOwogCkBAIC0xMTQsNiArMTE5LDcgQEAgcHJpdmF0ZToK
ICAgICBib29sIG1fcmVzZXRTdHlsZUluaGVyaXRhbmNlIDogMTsKICAgICBJbnNlcnRpb25Qb2lu
dCogbV9pbnNlcnRpb25Qb2ludEFzc2lnbmVkVG87CiAgICAgc2l6ZV90IG1fbnVtYmVyT2ZTaGFk
b3dFbGVtZW50Q2hpbGRyZW47CisgICAgc2l6ZV90IG1fbnVtYmVyT2ZFbGVtZW50c0hhdmluZ1No
YWRvdzsKICAgICBzaXplX3QgbV9udW1iZXJPZlN0eWxlczsKIAogI2lmbmRlZiBOREVCVUcKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBiMzdiODRjNTI0M2NmNWU4MWIxZWYw
NzFiM2EyNjhjNGJkMjk5ZjY3Li5iYThmYWUxYWRhMGJmZmM5ODE0MTZlZmFlNzIwZjU2YmFlY2Rj
OTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC0zMTUsNiArMzE1LDE1
IEBAIGJvb2wgSW50ZXJuYWxzOjpoYXNTaGFkb3dJbnNlcnRpb25Qb2ludChjb25zdCBOb2RlKiBy
b290LCBFeGNlcHRpb25Db2RlJiBlYykgY29uCiAgICAgcmV0dXJuIDA7CiB9CiAKK3NpemVfdCBJ
bnRlcm5hbHM6OmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3coY29uc3QgTm9kZSogcm9vdCwgRXhj
ZXB0aW9uQ29kZSYgZWMpIGNvbnN0Cit7CisgICAgaWYgKHJvb3QgJiYgcm9vdC0+aXNTaGFkb3dS
b290KCkpCisgICAgICAgIHJldHVybiB0b1NoYWRvd1Jvb3Qocm9vdCktPmNvdW50RWxlbWVudHNI
YXZpbmdTaGFkb3coKTsKKworICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAgIHJldHVy
biAwOworfQorCiBib29sIEludGVybmFsczo6YXR0YWNoZWQoTm9kZSogbm9kZSwgRXhjZXB0aW9u
Q29kZSYgZWMpCiB7CiAgICAgaWYgKCFub2RlKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aAppbmRleCA2NzI3ZDE3NWM0M2EwZGFjZDliZDg1YjA3YWNkMDFjMmVhYWFjMGNjLi5lY2M2M2Uw
MzNmODc0NzJhOWM1N2QyY2I1OGNjYWIyZTE2MTU0YmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmgKQEAgLTg0LDYgKzg0LDcgQEAgcHVibGljOgogICAgIFNoYWRvd1Jvb3RJZlNoYWRv
d0RPTUVuYWJsZWRPck5vZGUqIHlvdW5nZXJTaGFkb3dSb290KE5vZGUqIHNoYWRvdywgRXhjZXB0
aW9uQ29kZSYpOwogICAgIFNoYWRvd1Jvb3RJZlNoYWRvd0RPTUVuYWJsZWRPck5vZGUqIG9sZGVy
U2hhZG93Um9vdChOb2RlKiBzaGFkb3csIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBib29sIGhhc1No
YWRvd0luc2VydGlvblBvaW50KGNvbnN0IE5vZGUqLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7Cisg
ICAgc2l6ZV90IGNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3coY29uc3QgTm9kZSosIEV4Y2VwdGlv
bkNvZGUmKSBjb25zdDsKICAgICBFbGVtZW50KiBpbmNsdWRlckZvcihOb2RlKiwgRXhjZXB0aW9u
Q29kZSYpOwogICAgIFN0cmluZyBzaGFkb3dQc2V1ZG9JZChFbGVtZW50KiwgRXhjZXB0aW9uQ29k
ZSYpOwogICAgIHZvaWQgc2V0U2hhZG93UHNldWRvSWQoRWxlbWVudCosIGNvbnN0IFN0cmluZyYs
IEV4Y2VwdGlvbkNvZGUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCAw
NDg2MzIyNjQ4YzhmMDM2MjM3ZDlkNjEyNjJlMjIwY2M0ZmY4OWNmLi5lNTU5MGQ0ZmM1ZDlhZGM0
MWFmNzYxODAzYTY2ZGY1MmFlNTYyMTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aWRsCkBAIC00OCw2ICs0OCw3IEBACiAgICAgTm9kZSB5b3VuZ2VyU2hhZG93Um9vdChpbiBOb2Rl
IHJvb3QpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICNlbmRpZgogICAgIGJvb2xlYW4gaGFzU2hh
ZG93SW5zZXJ0aW9uUG9pbnQoaW4gTm9kZSByb290KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7Cisg
ICAgdW5zaWduZWQgbG9uZyBjb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93KGluIE5vZGUgUm9vdCkg
cmFpc2VzIChET01FeGNlcHRpb24pOwogICAgIEVsZW1lbnQgaW5jbHVkZXJGb3IoaW4gTm9kZSBu
b2RlKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgRE9NU3RyaW5nIHNoYWRvd1BzZXVkb0lk
KGluIEVsZW1lbnQgZWxlbWVudCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogICAgIHZvaWQgc2V0
U2hhZG93UHNldWRvSWQoaW4gRWxlbWVudCBlbGVtZW50LCBpbiBET01TdHJpbmcgaWQpIHJhaXNl
cyAoRE9NRXhjZXB0aW9uKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4NGI0M2E0N2U2MGM1OTM2NDQwN2Q1MjdjODcyYjQy
YjRhYTE2YWM4Li5iNDUxZTNjYWRhMWE3YzBlOWRkYWUyYTFlNWQ3YWY0ZDQ2ZmQ0ZDM1IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMTEtMDIgIFNoaW55YSBLYXdhbmFrYSAgPHNoaW55YWtA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFtTaGFkb3ddIFNoYWRvd1Jvb3Qgc2hvdWxkIGtub3cg
dGhlIGV4aXN0ZW5jZSBvZiBlbGVtZW50cyBoYXZpbmcgRWxlbWVudFNoYWRvdy4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDkyMgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9kb20vc2hhZG93
L2hhcy1lbGVtZW50cy1oYXZpbmctc2hhZG93LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9kb20vc2hhZG93L2hhcy1lbGVtZW50cy1oYXZpbmctc2hhZG93Lmh0bWw6IEFkZGVk
LgorCiAyMDEyLTExLTAxICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgog
CiAgICAgICAgIFJlYmFzZWxpbmUgdGVzdHMgbGlzdGVkIGluIE1hYyBUZXN0RXhwZWN0YXRpb25z
IGFzIG5lZWRpbmcgbmV3IGJhc2VsaW5lcywgb3RoZXIgdGhhbiB0aG9zZSB0aGF0CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaGFzLWVsZW1lbnRzLWhhdmluZy1zaGFk
b3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2hhcy1lbGVtZW50
cy1oYXZpbmctc2hhZG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmI1ZmM0N2IxMDM0YTJj
NGViOGM2OWEzODZmYjRjYTk5NWQyOWM1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L2hhcy1lbGVtZW50cy1oYXZpbmctc2hhZG93LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDQyIEBACitUaGlzIHRlc3QgY29uZmlybXMgdGhhdCB0aGUgbnVtYmVyIG9mIGVs
ZW1lbnRzIGhhdmluZyBTaGFkb3cgaW4gYSBzaGFkb3cgc3VidHJlZSBpcyBjb3JyZWN0bHkgY291
bnRlZC4gU2VlIEJ1ZyAxMDA5MjIgYWxzby4KKworSW5pdGlhbCBjb3VudCBzaG91bGQgYmUgMAor
UEFTUyBpbnRlcm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhzaGFkb3dSb290KSBpcyAw
CisKK0luc2VydGVkIGludG8gLyByZW1vdmVkIGZyb20gYW4gZWxlbWVudCBoYXZpbmcgc2hhZG93
CitQQVNTIGludGVybmFscy5jb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93KHNoYWRvd1Jvb3QpIGlz
IDEKK1BBU1MgaW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3coc2hhZG93Um9vdCkg
aXMgMAorCitJbnNlcnRlZCBpbnRvIC8gcmVtb3ZlZCBmcm9tIGFuIGVsZW1lbnQgaGF2aW5nIG11
bHRpcGxlIHNoYWRvdyByb290cworUEFTUyBpbnRlcm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1No
YWRvdyhzaGFkb3dSb290KSBpcyAxCitQQVNTIGludGVybmFscy5jb3VudEVsZW1lbnRzSGF2aW5n
U2hhZG93KHNoYWRvd1Jvb3QpIGlzIDAKKworU2hhZG93Um9vdCBpcyBhZGRlZAorUEFTUyBpbnRl
cm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhzaGFkb3dSb290KSBpcyAwCitQQVNTIGlu
dGVybmFscy5jb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93KHNoYWRvd1Jvb3QpIGlzIDEKK1BBU1Mg
aW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3coc2hhZG93Um9vdCkgaXMgMQorCitT
aG91bGQgYmUgY291bnRlZCBieSBlYWNoIHNoYWRvdyByb290IChtdWx0aXBsZSBzaGFkb3cgcm9v
dCBjYXNlKQorUEFTUyBpbnRlcm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhzaGFkb3dS
b290KSBpcyAxCitQQVNTIGludGVybmFscy5jb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93KHlvdW5n
ZXJTaGFkb3dSb290KSBpcyAwCitQQVNTIGludGVybmFscy5jb3VudEVsZW1lbnRzSGF2aW5nU2hh
ZG93KHNoYWRvd1Jvb3QpIGlzIDAKK1BBU1MgaW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdT
aGFkb3coeW91bmdlclNoYWRvd1Jvb3QpIGlzIDEKKworU2hvdWxkIGJlIGNvdW50ZWQgYnkgZWFj
aCBzaGFkb3cgcm9vdCAobmVzdGVkIHNoYWRvdyByb290IGNhc2UpCitQQVNTIGludGVybmFscy5j
b3VudEVsZW1lbnRzSGF2aW5nU2hhZG93KHNoYWRvd1Jvb3QpIGlzIDEKK1BBU1MgaW50ZXJuYWxz
LmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3cobmVzdGVkU2hhZG93Um9vdCkgaXMgMAorUEFTUyBp
bnRlcm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhzaGFkb3dSb290KSBpcyAxCitQQVNT
IGludGVybmFscy5jb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93KG5lc3RlZFNoYWRvd1Jvb3QpIGlz
IDEKKworU2hvdWxkIGJlIGNvdW50ZWQgYnkgZWFjaCBzaGFkb3cgcm9vdCAoZGVlcCBuZXN0ZWQg
c2hhZG93IHJvb3QgY2FzZSkKK1BBU1MgaW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdTaGFk
b3coc2hhZG93Um9vdCkgaXMgMQorUEFTUyBpbnRlcm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1No
YWRvdyhuZXN0ZWRTaGFkb3dSb290KSBpcyAwCitQQVNTIGludGVybmFscy5jb3VudEVsZW1lbnRz
SGF2aW5nU2hhZG93KGRlZXBOZXN0ZWRTaGFkb3dSb290KSBpcyAwCitQQVNTIGludGVybmFscy5j
b3VudEVsZW1lbnRzSGF2aW5nU2hhZG93KHNoYWRvd1Jvb3QpIGlzIDEKK1BBU1MgaW50ZXJuYWxz
LmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3cobmVzdGVkU2hhZG93Um9vdCkgaXMgMQorUEFTUyBp
bnRlcm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhkZWVwTmVzdGVkU2hhZG93Um9vdCkg
aXMgMQorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2hhcy1lbGVtZW50cy1o
YXZpbmctc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaGFzLWVsZW1l
bnRzLWhhdmluZy1zaGFkb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMDRiMzBjNWU3OWIxMmYyZjAxMjBk
YjQ0NWZmNTc3NjJhMzNhOWE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L2hhcy1lbGVtZW50cy1oYXZpbmctc2hhZG93Lmh0bWwKQEAgLTAsMCArMSwxMzMg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy9wb2x5ZmlsbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYWRv
dy1kb20uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisKKzxwPlRoaXMgdGVzdCBjb25m
aXJtcyB0aGF0IHRoZSBudW1iZXIgb2YgZWxlbWVudHMgaGF2aW5nIFNoYWRvdyBpbiBhIHNoYWRv
dyBzdWJ0cmVlIGlzIGNvcnJlY3RseSBjb3VudGVkLgorU2VlIDxhIGhyZWY9Imh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA5MjIiPkJ1ZyAxMDA5MjI8L2E+IGFsc28u
PC9wPgorCis8ZGl2IGlkPSJjb250YWluZXIiPjwvZGl2PgorPHByZSBpZD0iY29uc29sZSI+PC9w
cmU+CisKKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0Q2FzZShmKQoreworICAgIGNvbnRhaW5lci5p
bm5lckhUTUwgPSAnJzsKKyAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoY3JlYXRlRE9NKCdkaXYn
LCB7J2lkJzogJ2hvc3QnfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNy
ZWF0ZVNoYWRvd1Jvb3QoKSkpOworICAgIHNoYWRvd1Jvb3QgPSBpbnRlcm5hbHMuc2hhZG93Um9v
dChob3N0KTsKKworICAgIGYoKTsKKyAgICBkZWJ1ZygnJyk7Cit9CisKK3Rlc3RDYXNlKGZ1bmN0
aW9uKCkKK3sKKyAgICBkZWJ1ZygnSW5pdGlhbCBjb3VudCBzaG91bGQgYmUgMCcpOworICAgIHNo
b3VsZEJlKCdpbnRlcm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhzaGFkb3dSb290KScs
ICcwJyk7Cit9KTsKKwordGVzdENhc2UoZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCdJbnNlcnRl
ZCBpbnRvIC8gcmVtb3ZlZCBmcm9tIGFuIGVsZW1lbnQgaGF2aW5nIHNoYWRvdycpOworCisgICAg
dmFyIGRpdiA9IGNyZWF0ZURPTSgnZGl2Jywge30sIGNyZWF0ZVNoYWRvd1Jvb3QoKSk7CisgICAg
c2hhZG93Um9vdC5hcHBlbmRDaGlsZChkaXYpOworICAgIHNob3VsZEJlKCdpbnRlcm5hbHMuY291
bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhzaGFkb3dSb290KScsICcxJyk7CisKKyAgICBzaGFkb3dS
b290LnJlbW92ZUNoaWxkKGRpdik7CisgICAgc2hvdWxkQmUoJ2ludGVybmFscy5jb3VudEVsZW1l
bnRzSGF2aW5nU2hhZG93KHNoYWRvd1Jvb3QpJywgJzAnKTsKK30pOworCit0ZXN0Q2FzZShmdW5j
dGlvbigpCit7CisgICAgZGVidWcoJ0luc2VydGVkIGludG8gLyByZW1vdmVkIGZyb20gYW4gZWxl
bWVudCBoYXZpbmcgbXVsdGlwbGUgc2hhZG93IHJvb3RzJyk7CisKKyAgICB2YXIgZGl2ID0gY3Jl
YXRlRE9NKCdkaXYnLCB7fSwgY3JlYXRlU2hhZG93Um9vdCgpLCBjcmVhdGVTaGFkb3dSb290KCkp
OworICAgIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoZGl2KTsKKyAgICBzaG91bGRCZSgnaW50ZXJu
YWxzLmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3coc2hhZG93Um9vdCknLCAnMScpOworCisgICAg
c2hhZG93Um9vdC5yZW1vdmVDaGlsZChkaXYpOworICAgIHNob3VsZEJlKCdpbnRlcm5hbHMuY291
bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhzaGFkb3dSb290KScsICcwJyk7Cit9KTsKKwordGVzdENh
c2UoZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCdTaGFkb3dSb290IGlzIGFkZGVkJyk7CisgICAg
dmFyIGRpdiA9IGNyZWF0ZURPTSgnZGl2Jywge30pOworICAgIHNoYWRvd1Jvb3QuYXBwZW5kQ2hp
bGQoZGl2KTsKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdTaGFk
b3coc2hhZG93Um9vdCknLCAnMCcpOworCisgICAgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsK
KyAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3coc2hhZG93
Um9vdCknLCAnMScpOworCisgICAgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICBzaG91
bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3coc2hhZG93Um9vdCknLCAn
MScpOworfSk7CisKK3Rlc3RDYXNlKGZ1bmN0aW9uKCkKK3sKKyAgICBkZWJ1ZygnU2hvdWxkIGJl
IGNvdW50ZWQgYnkgZWFjaCBzaGFkb3cgcm9vdCAobXVsdGlwbGUgc2hhZG93IHJvb3QgY2FzZSkn
KTsKKyAgICB5b3VuZ2VyU2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwor
CisgICAgdmFyIGRpdiA9IGNyZWF0ZURPTSgnZGl2Jywge30sIGNyZWF0ZVNoYWRvd1Jvb3QoKSk7
CisKKyAgICBzaGFkb3dSb290LmFwcGVuZENoaWxkKGRpdik7CisgICAgc2hvdWxkQmUoJ2ludGVy
bmFscy5jb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93KHNoYWRvd1Jvb3QpJywgJzEnKTsKKyAgICBz
aG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3coeW91bmdlclNoYWRv
d1Jvb3QpJywgJzAnKTsKKworICAgIHlvdW5nZXJTaGFkb3dSb290LmFwcGVuZENoaWxkKGRpdik7
CisgICAgc2hvdWxkQmUoJ2ludGVybmFscy5jb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93KHNoYWRv
d1Jvb3QpJywgJzAnKTsKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZp
bmdTaGFkb3coeW91bmdlclNoYWRvd1Jvb3QpJywgJzEnKTsKK30pOworCit0ZXN0Q2FzZShmdW5j
dGlvbigpCit7CisgICAgZGVidWcoJ1Nob3VsZCBiZSBjb3VudGVkIGJ5IGVhY2ggc2hhZG93IHJv
b3QgKG5lc3RlZCBzaGFkb3cgcm9vdCBjYXNlKScpOworICAgIHZhciBkaXYgPSBjcmVhdGVET00o
J2RpdicsIHt9LCBjcmVhdGVTaGFkb3dSb290KCkpOworICAgIG5lc3RlZFNoYWRvd1Jvb3QgPSBp
bnRlcm5hbHMuc2hhZG93Um9vdChkaXYpOworICAgIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoZGl2
KTsKKworICAgIHNob3VsZEJlKCdpbnRlcm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhz
aGFkb3dSb290KScsICcxJyk7CisgICAgc2hvdWxkQmUoJ2ludGVybmFscy5jb3VudEVsZW1lbnRz
SGF2aW5nU2hhZG93KG5lc3RlZFNoYWRvd1Jvb3QpJywgJzAnKTsKKworICAgIG5lc3RlZFNoYWRv
d1Jvb3QuYXBwZW5kQ2hpbGQoY3JlYXRlRE9NKCdkaXYnLCB7fSwgY3JlYXRlU2hhZG93Um9vdCgp
KSk7CisKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3co
c2hhZG93Um9vdCknLCAnMScpOworICAgIHNob3VsZEJlKCdpbnRlcm5hbHMuY291bnRFbGVtZW50
c0hhdmluZ1NoYWRvdyhuZXN0ZWRTaGFkb3dSb290KScsICcxJyk7Cit9KTsKKwordGVzdENhc2Uo
ZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCdTaG91bGQgYmUgY291bnRlZCBieSBlYWNoIHNoYWRv
dyByb290IChkZWVwIG5lc3RlZCBzaGFkb3cgcm9vdCBjYXNlKScpOworICAgIHZhciBkaXYgPSBj
cmVhdGVET00oJ2RpdicsIHt9LCBjcmVhdGVTaGFkb3dSb290KCkpOworICAgIG5lc3RlZFNoYWRv
d1Jvb3QgPSBpbnRlcm5hbHMuc2hhZG93Um9vdChkaXYpOworICAgIHNoYWRvd1Jvb3QuYXBwZW5k
Q2hpbGQoZGl2KTsKKworICAgIHNob3VsZEJlKCdpbnRlcm5hbHMuY291bnRFbGVtZW50c0hhdmlu
Z1NoYWRvdyhzaGFkb3dSb290KScsICcxJyk7CisgICAgc2hvdWxkQmUoJ2ludGVybmFscy5jb3Vu
dEVsZW1lbnRzSGF2aW5nU2hhZG93KG5lc3RlZFNoYWRvd1Jvb3QpJywgJzAnKTsKKworICAgIHZh
ciBkaXYxID0gY3JlYXRlRE9NKCdkaXYnLCB7fSwgY3JlYXRlU2hhZG93Um9vdCgpKTsKKyAgICBk
ZWVwTmVzdGVkU2hhZG93Um9vdCA9IGludGVybmFscy5zaGFkb3dSb290KGRpdjEpOworICAgIHZh
ciBkaXYyID0gY3JlYXRlRE9NKCdkaXYnLCB7fSwgY3JlYXRlU2hhZG93Um9vdCgpKTsKKyAgICB2
YXIgc2hhZG93Um9vdDIgPSBpbnRlcm5hbHMuc2hhZG93Um9vdChkaXYyKTsKKworICAgIGRlZXBO
ZXN0ZWRTaGFkb3dSb290LmFwcGVuZENoaWxkKGRpdjIpOworICAgIC8vIFdoZW4gbm90IGluIHRy
ZWUsIHdlIGRvbid0IGNvdW50IGl0LgorICAgIHNob3VsZEJlKCdpbnRlcm5hbHMuY291bnRFbGVt
ZW50c0hhdmluZ1NoYWRvdyhkZWVwTmVzdGVkU2hhZG93Um9vdCknLCAnMCcpOworCisgICAgbmVz
dGVkU2hhZG93Um9vdC5hcHBlbmRDaGlsZChkaXYxKTsKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxz
LmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3coc2hhZG93Um9vdCknLCAnMScpOworICAgIHNob3Vs
ZEJlKCdpbnRlcm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhuZXN0ZWRTaGFkb3dSb290
KScsICcxJyk7CisgICAgc2hvdWxkQmUoJ2ludGVybmFscy5jb3VudEVsZW1lbnRzSGF2aW5nU2hh
ZG93KGRlZXBOZXN0ZWRTaGFkb3dSb290KScsICcxJyk7Cit9KTsKKworZmluaXNoSlNUZXN0KCk7
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172250</attachid>
            <date>2012-11-04 17:47:51 -0800</date>
            <delta_ts>2012-11-06 00:46:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100922-20121105104606.patch</filename>
            <type>text/plain</type>
            <size>17529</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNDI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjE0YTliNzE2N2ViMmFj
NWM0MDU4NTc4NTAxYWM5MmViZTcyYmU1MC4uMTNhZTY4ZTAzNDg0NjFkZGU2NzlmMzlkNjE4MTAx
ODQ3OWM3YTViMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDEyLTExLTAyICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbU2hhZG93XSBT
aGFkb3dSb290IHNob3VsZCBrbm93IHRoZSBleGlzdGVuY2Ugb2YgZWxlbWVudHMgaGF2aW5nIEVs
ZW1lbnRTaGFkb3cuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDA5MjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBXZSBjb3VudCB0aGUgZWxlbWVudHMgaGF2aW5nIEVsZW1lbnRTaGFkb3cgaW4gU2hhZG93
Um9vdC4gVGhpcyBpcyBhIHByZXBhdGlvbiBwYXRjaCBmb3IgdG8gc29sdmUgQnVnIDEwMDQ1MS4K
KworICAgICAgICBUaGUgbnVtYmVyIG9mIGVsZW1lbnRzIGhhdmluZyBFbGVtZW50U2hhZG93IGlu
IFNoYWRvd1Jvb3Qgd2lsbCBiZSBtb2RpZmllZCB3aGVuCisgICAgICAgICAgMSkgYW4gZWxlbWVu
dCBoYXZpbmcgRWxlbWVudFNoYWRvdyBpcyBpbnNlcnRlZAorICAgICAgICAgIDIpIGFuIGVsZW1l
bnQgaGF2aW5nIEVsZW1lbnRTaGFkb3cgaXMgcmVtb3ZlZAorICAgICAgICAgIDMpIGEgU2hhZG93
Um9vdCBpcyBhZGRlZCB0byBhbiBlbGVtZW50LgorICAgICAgICBTaW5jZSB0aGVyZSBpcyBubyBB
UEkgdG8gcmVtb3ZlIFNoYWRvd1Jvb3Qgd2l0aG91dCBkaXNjYXJkaW5nIGVsZW1lbnQsIHdlIGRv
bid0IG5lZWQgdG8gY29uc2lkZXIgYSBjYXNlIHRoYXQKKyAgICAgICAgU2hhZG93Um9vdCBpcyBy
ZW1vdmVkIGZyb20gYW4gZWxlbWVudC4KKworICAgICAgICBGb3IgcGVyZm9ybWFuY2UgcmVhc29u
LCB3ZSBoYXZlIGEgZmxhZyB0aGF0IGFuIGVsZW1lbnQgc2hvdWxkIGJlIHVucmVnaXN0ZXJlZCBp
biBFbGVtZW50U2hhZG93LgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL3NoYWRvdy9oYXMtZWxl
bWVudHMtaGF2aW5nLXNoYWRvdy5odG1sCisKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjppbnNlcnRlZEludG8pOgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudDo6cmVtb3ZlZEZyb20pOgorICAgICAgICAqIGRvbS9FbGVtZW50U2hhZG93LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRTaGFkb3c6OkVsZW1lbnRTaGFkb3cpOgorICAg
ICAgICAoV2ViQ29yZTo6RWxlbWVudFNoYWRvdzo6YWRkU2hhZG93Um9vdCk6CisgICAgICAgICog
ZG9tL0VsZW1lbnRTaGFkb3cuaDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRTaGFkb3c6OnNl
dFJlZ2lzdGVyZWRXaXRoU2hhZG93Um9vdCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50U2hh
ZG93Ojppc1JlZ2lzdGVyZWRXaXRoU2hhZG93Um9vdCk6CisgICAgICAgIChFbGVtZW50U2hhZG93
KToKKyAgICAgICAgKiBkb20vU2hhZG93Um9vdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaGFk
b3dSb290OjpTaGFkb3dSb290KToKKyAgICAgICAgKiBkb20vU2hhZG93Um9vdC5oOgorICAgICAg
ICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6cmVnaXN0ZXJFbGVtZW50SGF2aW5nU2hhZG93KTogQ2Fs
bHMgd2hlbiBhbiBlbGVtZW50IGhhdmluZyBFbGVtZW50U2hhZG93IGlzIGFkZGVkCisgICAgICAg
IG9yIHRoZSBmaXJzdCBTaGFkb3dSb290IGZvciBhbiBlbGVtZW50IGlzIGFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6dW5yZWdpc3RlckVsZW1lbnRIYXZpbmdTaGFkb3cpOiBD
YWxscyB3aGVuIGFuIGVsZW1lbnQgaGF2aW5nIEVsZW1lbnRTaGFkb3cgaXMgcmVtb3ZlZAorICAg
ICAgICBmcm9tIGRvY3VtZW50LgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6aGFzRWxl
bWVudEhhdmluZ1NoYWRvdyk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290Ojpjb3VudEVs
ZW1lbnRzSGF2aW5nU2hhZG93KToKKyAgICAgICAgKFNoYWRvd1Jvb3QpOgorICAgICAgICAqIHRl
c3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6Y291bnRF
bGVtZW50c0hhdmluZ1NoYWRvdyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5oOgorICAgICAgICAoSW50ZXJuYWxzKToKKyAgICAgICAgKiB0ZXN0aW5n
L0ludGVybmFscy5pZGw6CisKIDIwMTItMTEtMDQgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIEJhc2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlIHNo
b3VsZCBoYXZlIEJhc2VDbGlja2FibGVXaXRoS2V5SW5wdXRUeXBlIGJlaGF2aW9yCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudC5jcHAKaW5kZXggZTFhZTQ2MzQwNTZhM2ViZTU1N2IxZmVkNzc2M2ViMWQxMTU3NWI1
Ny4uMzJlNTMyNTYyYjVkMDk2OWRiY2QyYjBjNWYzM2U3ZDIyMDE3ZWIxYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50LmNwcApAQCAtMTA1OCw2ICsxMDU4LDEzIEBAIE5vZGU6Okluc2VydGlvbk5vdGlmaWNh
dGlvblJlcXVlc3QgRWxlbWVudDo6aW5zZXJ0ZWRJbnRvKENvbnRhaW5lck5vZGUqIGluc2VydGlv
CiAgICAgICAgICAgICB1cGRhdGVMYWJlbChzY29wZSwgbnVsbEF0b20sIGZhc3RHZXRBdHRyaWJ1
dGUoZm9yQXR0cikpOwogICAgIH0KIAorICAgIGlmIChFbGVtZW50U2hhZG93KiBlbGVtZW50U2hh
ZG93ID0gc2hhZG93KCkpIHsKKyAgICAgICAgaWYgKFNoYWRvd1Jvb3QqIHJvb3QgPSBzaGFkb3dS
b290KCkpIHsKKyAgICAgICAgICAgIHJvb3QtPnJlZ2lzdGVyRWxlbWVudEhhdmluZ1NoYWRvdygp
OworICAgICAgICAgICAgZWxlbWVudFNoYWRvdy0+c2V0UmVnaXN0ZXJlZFdpdGhTaGFkb3dSb290
KHRydWUpOworICAgICAgICB9CisgICAgfQorCiAgICAgcmV0dXJuIEluc2VydGlvbkRvbmU7CiB9
CiAKQEAgLTEwODgsNiArMTA5NSwxNiBAQCB2b2lkIEVsZW1lbnQ6OnJlbW92ZWRGcm9tKENvbnRh
aW5lck5vZGUqIGluc2VydGlvblBvaW50KQogICAgICAgICAgICAgaWYgKHRyZWVTY29wZS0+c2hv
dWxkQ2FjaGVMYWJlbHNCeUZvckF0dHJpYnV0ZSgpKQogICAgICAgICAgICAgICAgIHVwZGF0ZUxh
YmVsKHRyZWVTY29wZSwgZmFzdEdldEF0dHJpYnV0ZShmb3JBdHRyKSwgbnVsbEF0b20pOwogICAg
ICAgICB9CisKKyAgICAgICAgaWYgKEVsZW1lbnRTaGFkb3cqIGVsZW1lbnRTaGFkb3cgPSBzaGFk
b3coKSkgeworICAgICAgICAgICAgaWYgKGVsZW1lbnRTaGFkb3ctPmlzUmVnaXN0ZXJlZFdpdGhT
aGFkb3dSb290KCkpIHsKKyAgICAgICAgICAgICAgICBTaGFkb3dSb290KiByb290ID0gc2hhZG93
Um9vdCgpOworICAgICAgICAgICAgICAgIGlmICghcm9vdCkKKyAgICAgICAgICAgICAgICAgICAg
cm9vdCA9IGluc2VydGlvblBvaW50LT5zaGFkb3dSb290KCk7CisgICAgICAgICAgICAgICAgaWYg
KHJvb3QpCisgICAgICAgICAgICAgICAgICAgIHJvb3QtPnVucmVnaXN0ZXJFbGVtZW50SGF2aW5n
U2hhZG93KCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KICAgICB9CiAKICAgICBDb250YWlu
ZXJOb2RlOjpyZW1vdmVkRnJvbShpbnNlcnRpb25Qb2ludCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudFNoYWRvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dFNoYWRvdy5jcHAKaW5kZXggNmY4N2YxNjQ0YWZiOTRiZmJmZTVlYjc4Y2ViMzFmZWU0NTE2MmYx
Yi4uNDNjNDFhNDA5MmMxMjVlYTgwM2U4ZWMyODRmNjBiYzRkMzYzZWI4YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRTaGFkb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50U2hhZG93LmNwcApAQCAtMzksNiArMzksNyBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBFbGVtZW50U2hhZG93OjpFbGVtZW50U2hhZG93KCkKKyAgICA6IG1fcmVnaXN0ZXJl
ZFdpdGhTaGFkb3dSb290KGZhbHNlKQogewogfQogCkBAIC03Niw2ICs3NywxNCBAQCB2b2lkIEVs
ZW1lbnRTaGFkb3c6OmFkZFNoYWRvd1Jvb3QoRWxlbWVudCogc2hhZG93SG9zdCwgUGFzc1JlZlB0
cjxTaGFkb3dSb290PiBzaAogICAgIGlmICh0eXBlID09IFNoYWRvd1Jvb3Q6OkF1dGhvclNoYWRv
d1Jvb3QpCiAgICAgICAgIHNoYWRvd0hvc3QtPndpbGxBZGRBdXRob3JTaGFkb3dSb290KCk7CiAK
KyAgICBpZiAobV9zaGFkb3dSb290cy5pc0VtcHR5KCkgJiYgc2hhZG93SG9zdC0+aW5Eb2N1bWVu
dCgpKSB7CisgICAgICAgIGlmIChTaGFkb3dSb290KiByb290ID0gc2hhZG93SG9zdC0+c2hhZG93
Um9vdCgpKSB7CisgICAgICAgICAgICBBU1NFUlQoIWlzUmVnaXN0ZXJlZFdpdGhTaGFkb3dSb290
KCkpOworICAgICAgICAgICAgcm9vdC0+cmVnaXN0ZXJFbGVtZW50SGF2aW5nU2hhZG93KCk7Cisg
ICAgICAgICAgICBzZXRSZWdpc3RlcmVkV2l0aFNoYWRvd1Jvb3QodHJ1ZSk7CisgICAgICAgIH0K
KyAgICB9CisKICAgICBzaGFkb3dSb290LT5zZXRIb3N0KHNoYWRvd0hvc3QpOwogICAgIHNoYWRv
d1Jvb3QtPnNldFBhcmVudFRyZWVTY29wZShzaGFkb3dIb3N0LT50cmVlU2NvcGUoKSk7CiAgICAg
bV9zaGFkb3dSb290cy5wdXNoKHNoYWRvd1Jvb3QuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnRTaGFkb3cuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
U2hhZG93LmgKaW5kZXggMmY2ZjU2Yzc0ZjY2OTJjZWUzNDQ4NmE5YTdmOWIwMjFjNzBlOTI4NS4u
Mjk4MjIwNDRhZDgzYTJkYjMzYWQ3MGNiMGUwYjUxZTRmYTg0NDA5ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRTaGFkb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudFNoYWRvdy5oCkBAIC02Niw2ICs2Niw5IEBAIHB1YmxpYzoKICAgICB2b2lkIGludmFs
aWRhdGVEaXN0cmlidXRpb24oKTsKICAgICB2b2lkIGVuc3VyZURpc3RyaWJ1dGlvbigpOwogCisg
ICAgdm9pZCBzZXRSZWdpc3RlcmVkV2l0aFNoYWRvd1Jvb3QoYm9vbCBmbGFnKSB7IG1fcmVnaXN0
ZXJlZFdpdGhTaGFkb3dSb290ID0gZmxhZzsgfQorICAgIGJvb2wgaXNSZWdpc3RlcmVkV2l0aFNo
YWRvd1Jvb3QoKSBjb25zdCB7IHJldHVybiBtX3JlZ2lzdGVyZWRXaXRoU2hhZG93Um9vdDsgfQor
CiAgICAgQ29udGVudERpc3RyaWJ1dG9yJiBkaXN0cmlidXRvcigpOwogICAgIGNvbnN0IENvbnRl
bnREaXN0cmlidXRvciYgZGlzdHJpYnV0b3IoKSBjb25zdDsKIApAQCAtNzYsNiArNzksOCBAQCBw
cml2YXRlOgogCiAgICAgRG91Ymx5TGlua2VkTGlzdDxTaGFkb3dSb290PiBtX3NoYWRvd1Jvb3Rz
OwogICAgIENvbnRlbnREaXN0cmlidXRvciBtX2Rpc3RyaWJ1dG9yOworCisgICAgYm9vbCBtX3Jl
Z2lzdGVyZWRXaXRoU2hhZG93Um9vdDsKIH07CiAKIGlubGluZSBTaGFkb3dSb290KiBFbGVtZW50
U2hhZG93Ojp5b3VuZ2VzdFNoYWRvd1Jvb3QoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3Qu
Y3BwCmluZGV4IGE5YzQ0M2Y3ZWE1ZGYwZDhkMzcwYmM2Y2E0ZWIxNzA5YmU1MGQ5ODYuLjhkMzU3
M2U2Zjc4MzA5ZTg4ODg5MTI1MWJiZjI0MDBiOTUzYTI4ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93
Um9vdC5jcHAKQEAgLTU4LDYgKzU4LDcgQEAgU2hhZG93Um9vdDo6U2hhZG93Um9vdChEb2N1bWVu
dCogZG9jdW1lbnQpCiAgICAgLCBtX2luc2VydGlvblBvaW50QXNzaWduZWRUbygwKQogICAgICwg
bV9udW1iZXJPZlNoYWRvd0VsZW1lbnRDaGlsZHJlbigwKQogICAgICwgbV9udW1iZXJPZkNvbnRl
bnRFbGVtZW50Q2hpbGRyZW4oMCkKKyAgICAsIG1fbnVtYmVyT2ZFbGVtZW50c0hhdmluZ1NoYWRv
dygwKQogICAgICwgbV9udW1iZXJPZlN0eWxlcygwKQogewogICAgIEFTU0VSVChkb2N1bWVudCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oIGIvU291cmNlL1dl
YkNvcmUvZG9tL1NoYWRvd1Jvb3QuaAppbmRleCAyMDQ1MmYzYTk1MTIyNmRkNmRjMWU0YWUwMTUx
YTRlZjc2OGMzNjEzLi44YzU2OTZjYzcxYTI5ZWE4MzJkMzE3NTQzYmE2YjBmZmZlY2FlMzQwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TaGFkb3dSb290LmgKQEAgLTk1LDYgKzk1LDExIEBAIHB1YmxpYzoKICAgICB2
b2lkIHVucmVnaXN0ZXJDb250ZW50RWxlbWVudCgpIHsgLS1tX251bWJlck9mQ29udGVudEVsZW1l
bnRDaGlsZHJlbjsgfQogICAgIGJvb2wgaGFzQ29udGVudEVsZW1lbnQoKSBjb25zdCB7IHJldHVy
biBtX251bWJlck9mQ29udGVudEVsZW1lbnRDaGlsZHJlbiA+IDA7IH0KIAorICAgIHZvaWQgcmVn
aXN0ZXJFbGVtZW50SGF2aW5nU2hhZG93KCkgeyArK21fbnVtYmVyT2ZFbGVtZW50c0hhdmluZ1No
YWRvdzsgfQorICAgIHZvaWQgdW5yZWdpc3RlckVsZW1lbnRIYXZpbmdTaGFkb3coKSB7IC0tbV9u
dW1iZXJPZkVsZW1lbnRzSGF2aW5nU2hhZG93OyB9CisgICAgYm9vbCBoYXNFbGVtZW50SGF2aW5n
U2hhZG93KCkgY29uc3QgeyByZXR1cm4gbV9udW1iZXJPZkVsZW1lbnRzSGF2aW5nU2hhZG93ID4g
MDsgfQorICAgIHNpemVfdCBjb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93KCkgY29uc3QgeyByZXR1
cm4gbV9udW1iZXJPZkVsZW1lbnRzSGF2aW5nU2hhZG93OyB9CisKICAgICB2aXJ0dWFsIHZvaWQg
cmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9p
ZCB1bnJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKSBPVkVSUklERTsKIApAQCAtMTIxLDYg
KzEyNiw3IEBAIHByaXZhdGU6CiAgICAgSW5zZXJ0aW9uUG9pbnQqIG1faW5zZXJ0aW9uUG9pbnRB
c3NpZ25lZFRvOwogICAgIHNpemVfdCBtX251bWJlck9mU2hhZG93RWxlbWVudENoaWxkcmVuOwog
ICAgIHNpemVfdCBtX251bWJlck9mQ29udGVudEVsZW1lbnRDaGlsZHJlbjsKKyAgICBzaXplX3Qg
bV9udW1iZXJPZkVsZW1lbnRzSGF2aW5nU2hhZG93OwogICAgIHNpemVfdCBtX251bWJlck9mU3R5
bGVzOwogCiAjaWZuZGVmIE5ERUJVRwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmlu
ZGV4IDM1MmMwYjcyYjQwZmM4OTE0NzVjMDM2OGIyNjE4OTAxNTQ3ODRlOWEuLmMxNTNiMjczNjhm
NDMyNjU5MDFjOTNkZmZjYWI4NzYxYTFjY2ZlNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAKQEAgLTMyNCw2ICszMjQsMTUgQEAgYm9vbCBJbnRlcm5hbHM6Omhhc0NvbnRlbnRF
bGVtZW50KGNvbnN0IE5vZGUqIHJvb3QsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAogICAgIHJl
dHVybiAwOwogfQogCitzaXplX3QgSW50ZXJuYWxzOjpjb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93
KGNvbnN0IE5vZGUqIHJvb3QsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAoreworICAgIGlmIChy
b290ICYmIHJvb3QtPmlzU2hhZG93Um9vdCgpKQorICAgICAgICByZXR1cm4gdG9TaGFkb3dSb290
KHJvb3QpLT5jb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93KCk7CisKKyAgICBlYyA9IElOVkFMSURf
QUNDRVNTX0VSUjsKKyAgICByZXR1cm4gMDsKK30KKwogYm9vbCBJbnRlcm5hbHM6OmF0dGFjaGVk
KE5vZGUqIG5vZGUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlmICghbm9kZSkgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggNjU1Y2UyM2VkMGEyZTFiNDFmZjgzYjJkYmZi
NzQ1ZGE1NTk4ZDE0Yi4uMWFiYzBkZWFmMWQ1YzE1ODA1NTY5ZjE2YjVmNjQ5MTBiOTFiOWRhZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC04NSw2ICs4NSw3IEBAIHB1YmxpYzoK
ICAgICBTaGFkb3dSb290SWZTaGFkb3dET01FbmFibGVkT3JOb2RlKiBvbGRlclNoYWRvd1Jvb3Qo
Tm9kZSogc2hhZG93LCBFeGNlcHRpb25Db2RlJik7CiAgICAgYm9vbCBoYXNTaGFkb3dJbnNlcnRp
b25Qb2ludChjb25zdCBOb2RlKiwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OwogICAgIGJvb2wgaGFz
Q29udGVudEVsZW1lbnQoY29uc3QgTm9kZSosIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKKyAgICBz
aXplX3QgY291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhjb25zdCBOb2RlKiwgRXhjZXB0aW9uQ29k
ZSYpIGNvbnN0OwogICAgIEVsZW1lbnQqIGluY2x1ZGVyRm9yKE5vZGUqLCBFeGNlcHRpb25Db2Rl
Jik7CiAgICAgU3RyaW5nIHNoYWRvd1BzZXVkb0lkKEVsZW1lbnQqLCBFeGNlcHRpb25Db2RlJik7
CiAgICAgdm9pZCBzZXRTaGFkb3dQc2V1ZG9JZChFbGVtZW50KiwgY29uc3QgU3RyaW5nJiwgRXhj
ZXB0aW9uQ29kZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IGUyMjQ5
MGY5ZmQwODU4ZGNjNjc2OGJhOGUxYzMzOWM4MjQwYzUxZTkuLmFlYTQ2ZmZmY2UzZGUwZTc4M2M0
ZGI1MWQ5MGY5YjRiZmI0OTE0ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwK
QEAgLTQ5LDYgKzQ5LDcgQEAKICNlbmRpZgogICAgIGJvb2xlYW4gaGFzU2hhZG93SW5zZXJ0aW9u
UG9pbnQoaW4gTm9kZSByb290KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgYm9vbGVhbiBo
YXNDb250ZW50RWxlbWVudChpbiBOb2RlIHJvb3QpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAg
ICB1bnNpZ25lZCBsb25nIGNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3coaW4gTm9kZSBSb290KSBy
YWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgRWxlbWVudCBpbmNsdWRlckZvcihpbiBOb2RlIG5v
ZGUpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICBET01TdHJpbmcgc2hhZG93UHNldWRvSWQo
aW4gRWxlbWVudCBlbGVtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgdm9pZCBzZXRT
aGFkb3dQc2V1ZG9JZChpbiBFbGVtZW50IGVsZW1lbnQsIGluIERPTVN0cmluZyBpZCkgcmFpc2Vz
IChET01FeGNlcHRpb24pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGY2MmY3MDIxMzVkZTI3M2E5YThkNmExOGMzZDk1N2Ey
ZGEyNjMxYjEuLjRkN2Q4MDUyNDU0MmEzMjE4MmZkOWI2OTgwMmZjZDdhMmNkNjY3ZmMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMyBAQAorMjAxMi0xMS0wMiAgU2hpbnlhIEthd2FuYWthICA8c2hpbnlha0Bj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1NoYWRvd10gU2hhZG93Um9vdCBzaG91bGQga25vdyB0
aGUgZXhpc3RlbmNlIG9mIGVsZW1lbnRzIGhhdmluZyBFbGVtZW50U2hhZG93LgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwOTIyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cv
aGFzLWVsZW1lbnRzLWhhdmluZy1zaGFkb3ctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2RvbS9zaGFkb3cvaGFzLWVsZW1lbnRzLWhhdmluZy1zaGFkb3cuaHRtbDogQWRkZWQu
CisKIDIwMTItMTEtMDQgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMzM0MTYuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaGFzLWVsZW1lbnRzLWhhdmluZy1zaGFkb3ct
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2hhcy1lbGVtZW50cy1o
YXZpbmctc2hhZG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmI1ZmM0N2IxMDM0YTJjNGVi
OGM2OWEzODZmYjRjYTk5NWQyOWM1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L2hhcy1lbGVtZW50cy1oYXZpbmctc2hhZG93LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDQyIEBACitUaGlzIHRlc3QgY29uZmlybXMgdGhhdCB0aGUgbnVtYmVyIG9mIGVsZW1l
bnRzIGhhdmluZyBTaGFkb3cgaW4gYSBzaGFkb3cgc3VidHJlZSBpcyBjb3JyZWN0bHkgY291bnRl
ZC4gU2VlIEJ1ZyAxMDA5MjIgYWxzby4KKworSW5pdGlhbCBjb3VudCBzaG91bGQgYmUgMAorUEFT
UyBpbnRlcm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhzaGFkb3dSb290KSBpcyAwCisK
K0luc2VydGVkIGludG8gLyByZW1vdmVkIGZyb20gYW4gZWxlbWVudCBoYXZpbmcgc2hhZG93CitQ
QVNTIGludGVybmFscy5jb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93KHNoYWRvd1Jvb3QpIGlzIDEK
K1BBU1MgaW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3coc2hhZG93Um9vdCkgaXMg
MAorCitJbnNlcnRlZCBpbnRvIC8gcmVtb3ZlZCBmcm9tIGFuIGVsZW1lbnQgaGF2aW5nIG11bHRp
cGxlIHNoYWRvdyByb290cworUEFTUyBpbnRlcm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRv
dyhzaGFkb3dSb290KSBpcyAxCitQQVNTIGludGVybmFscy5jb3VudEVsZW1lbnRzSGF2aW5nU2hh
ZG93KHNoYWRvd1Jvb3QpIGlzIDAKKworU2hhZG93Um9vdCBpcyBhZGRlZAorUEFTUyBpbnRlcm5h
bHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhzaGFkb3dSb290KSBpcyAwCitQQVNTIGludGVy
bmFscy5jb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93KHNoYWRvd1Jvb3QpIGlzIDEKK1BBU1MgaW50
ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3coc2hhZG93Um9vdCkgaXMgMQorCitTaG91
bGQgYmUgY291bnRlZCBieSBlYWNoIHNoYWRvdyByb290IChtdWx0aXBsZSBzaGFkb3cgcm9vdCBj
YXNlKQorUEFTUyBpbnRlcm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhzaGFkb3dSb290
KSBpcyAxCitQQVNTIGludGVybmFscy5jb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93KHlvdW5nZXJT
aGFkb3dSb290KSBpcyAwCitQQVNTIGludGVybmFscy5jb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93
KHNoYWRvd1Jvb3QpIGlzIDAKK1BBU1MgaW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdTaGFk
b3coeW91bmdlclNoYWRvd1Jvb3QpIGlzIDEKKworU2hvdWxkIGJlIGNvdW50ZWQgYnkgZWFjaCBz
aGFkb3cgcm9vdCAobmVzdGVkIHNoYWRvdyByb290IGNhc2UpCitQQVNTIGludGVybmFscy5jb3Vu
dEVsZW1lbnRzSGF2aW5nU2hhZG93KHNoYWRvd1Jvb3QpIGlzIDEKK1BBU1MgaW50ZXJuYWxzLmNv
dW50RWxlbWVudHNIYXZpbmdTaGFkb3cobmVzdGVkU2hhZG93Um9vdCkgaXMgMAorUEFTUyBpbnRl
cm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhzaGFkb3dSb290KSBpcyAxCitQQVNTIGlu
dGVybmFscy5jb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93KG5lc3RlZFNoYWRvd1Jvb3QpIGlzIDEK
KworU2hvdWxkIGJlIGNvdW50ZWQgYnkgZWFjaCBzaGFkb3cgcm9vdCAoZGVlcCBuZXN0ZWQgc2hh
ZG93IHJvb3QgY2FzZSkKK1BBU1MgaW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3co
c2hhZG93Um9vdCkgaXMgMQorUEFTUyBpbnRlcm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRv
dyhuZXN0ZWRTaGFkb3dSb290KSBpcyAwCitQQVNTIGludGVybmFscy5jb3VudEVsZW1lbnRzSGF2
aW5nU2hhZG93KGRlZXBOZXN0ZWRTaGFkb3dSb290KSBpcyAwCitQQVNTIGludGVybmFscy5jb3Vu
dEVsZW1lbnRzSGF2aW5nU2hhZG93KHNoYWRvd1Jvb3QpIGlzIDEKK1BBU1MgaW50ZXJuYWxzLmNv
dW50RWxlbWVudHNIYXZpbmdTaGFkb3cobmVzdGVkU2hhZG93Um9vdCkgaXMgMQorUEFTUyBpbnRl
cm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhkZWVwTmVzdGVkU2hhZG93Um9vdCkgaXMg
MQorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2hhcy1lbGVtZW50cy1oYXZp
bmctc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaGFzLWVsZW1lbnRz
LWhhdmluZy1zaGFkb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMDRiMzBjNWU3OWIxMmYyZjAxMjBkYjQ0
NWZmNTc3NjJhMzNhOWE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L2hhcy1lbGVtZW50cy1oYXZpbmctc2hhZG93Lmh0bWwKQEAgLTAsMCArMSwxMzMgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNl
cy9wb2x5ZmlsbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYWRvdy1k
b20uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisKKzxwPlRoaXMgdGVzdCBjb25maXJt
cyB0aGF0IHRoZSBudW1iZXIgb2YgZWxlbWVudHMgaGF2aW5nIFNoYWRvdyBpbiBhIHNoYWRvdyBz
dWJ0cmVlIGlzIGNvcnJlY3RseSBjb3VudGVkLgorU2VlIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA5MjIiPkJ1ZyAxMDA5MjI8L2E+IGFsc28uPC9w
PgorCis8ZGl2IGlkPSJjb250YWluZXIiPjwvZGl2PgorPHByZSBpZD0iY29uc29sZSI+PC9wcmU+
CisKKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0Q2FzZShmKQoreworICAgIGNvbnRhaW5lci5pbm5l
ckhUTUwgPSAnJzsKKyAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoY3JlYXRlRE9NKCdkaXYnLCB7
J2lkJzogJ2hvc3QnfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0
ZVNoYWRvd1Jvb3QoKSkpOworICAgIHNoYWRvd1Jvb3QgPSBpbnRlcm5hbHMuc2hhZG93Um9vdCho
b3N0KTsKKworICAgIGYoKTsKKyAgICBkZWJ1ZygnJyk7Cit9CisKK3Rlc3RDYXNlKGZ1bmN0aW9u
KCkKK3sKKyAgICBkZWJ1ZygnSW5pdGlhbCBjb3VudCBzaG91bGQgYmUgMCcpOworICAgIHNob3Vs
ZEJlKCdpbnRlcm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhzaGFkb3dSb290KScsICcw
Jyk7Cit9KTsKKwordGVzdENhc2UoZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCdJbnNlcnRlZCBp
bnRvIC8gcmVtb3ZlZCBmcm9tIGFuIGVsZW1lbnQgaGF2aW5nIHNoYWRvdycpOworCisgICAgdmFy
IGRpdiA9IGNyZWF0ZURPTSgnZGl2Jywge30sIGNyZWF0ZVNoYWRvd1Jvb3QoKSk7CisgICAgc2hh
ZG93Um9vdC5hcHBlbmRDaGlsZChkaXYpOworICAgIHNob3VsZEJlKCdpbnRlcm5hbHMuY291bnRF
bGVtZW50c0hhdmluZ1NoYWRvdyhzaGFkb3dSb290KScsICcxJyk7CisKKyAgICBzaGFkb3dSb290
LnJlbW92ZUNoaWxkKGRpdik7CisgICAgc2hvdWxkQmUoJ2ludGVybmFscy5jb3VudEVsZW1lbnRz
SGF2aW5nU2hhZG93KHNoYWRvd1Jvb3QpJywgJzAnKTsKK30pOworCit0ZXN0Q2FzZShmdW5jdGlv
bigpCit7CisgICAgZGVidWcoJ0luc2VydGVkIGludG8gLyByZW1vdmVkIGZyb20gYW4gZWxlbWVu
dCBoYXZpbmcgbXVsdGlwbGUgc2hhZG93IHJvb3RzJyk7CisKKyAgICB2YXIgZGl2ID0gY3JlYXRl
RE9NKCdkaXYnLCB7fSwgY3JlYXRlU2hhZG93Um9vdCgpLCBjcmVhdGVTaGFkb3dSb290KCkpOwor
ICAgIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoZGl2KTsKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxz
LmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3coc2hhZG93Um9vdCknLCAnMScpOworCisgICAgc2hh
ZG93Um9vdC5yZW1vdmVDaGlsZChkaXYpOworICAgIHNob3VsZEJlKCdpbnRlcm5hbHMuY291bnRF
bGVtZW50c0hhdmluZ1NoYWRvdyhzaGFkb3dSb290KScsICcwJyk7Cit9KTsKKwordGVzdENhc2Uo
ZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCdTaGFkb3dSb290IGlzIGFkZGVkJyk7CisgICAgdmFy
IGRpdiA9IGNyZWF0ZURPTSgnZGl2Jywge30pOworICAgIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQo
ZGl2KTsKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3co
c2hhZG93Um9vdCknLCAnMCcpOworCisgICAgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAg
ICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3coc2hhZG93Um9v
dCknLCAnMScpOworCisgICAgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICBzaG91bGRC
ZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3coc2hhZG93Um9vdCknLCAnMScp
OworfSk7CisKK3Rlc3RDYXNlKGZ1bmN0aW9uKCkKK3sKKyAgICBkZWJ1ZygnU2hvdWxkIGJlIGNv
dW50ZWQgYnkgZWFjaCBzaGFkb3cgcm9vdCAobXVsdGlwbGUgc2hhZG93IHJvb3QgY2FzZSknKTsK
KyAgICB5b3VuZ2VyU2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworCisg
ICAgdmFyIGRpdiA9IGNyZWF0ZURPTSgnZGl2Jywge30sIGNyZWF0ZVNoYWRvd1Jvb3QoKSk7CisK
KyAgICBzaGFkb3dSb290LmFwcGVuZENoaWxkKGRpdik7CisgICAgc2hvdWxkQmUoJ2ludGVybmFs
cy5jb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93KHNoYWRvd1Jvb3QpJywgJzEnKTsKKyAgICBzaG91
bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3coeW91bmdlclNoYWRvd1Jv
b3QpJywgJzAnKTsKKworICAgIHlvdW5nZXJTaGFkb3dSb290LmFwcGVuZENoaWxkKGRpdik7Cisg
ICAgc2hvdWxkQmUoJ2ludGVybmFscy5jb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93KHNoYWRvd1Jv
b3QpJywgJzAnKTsKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdT
aGFkb3coeW91bmdlclNoYWRvd1Jvb3QpJywgJzEnKTsKK30pOworCit0ZXN0Q2FzZShmdW5jdGlv
bigpCit7CisgICAgZGVidWcoJ1Nob3VsZCBiZSBjb3VudGVkIGJ5IGVhY2ggc2hhZG93IHJvb3Qg
KG5lc3RlZCBzaGFkb3cgcm9vdCBjYXNlKScpOworICAgIHZhciBkaXYgPSBjcmVhdGVET00oJ2Rp
dicsIHt9LCBjcmVhdGVTaGFkb3dSb290KCkpOworICAgIG5lc3RlZFNoYWRvd1Jvb3QgPSBpbnRl
cm5hbHMuc2hhZG93Um9vdChkaXYpOworICAgIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoZGl2KTsK
KworICAgIHNob3VsZEJlKCdpbnRlcm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhzaGFk
b3dSb290KScsICcxJyk7CisgICAgc2hvdWxkQmUoJ2ludGVybmFscy5jb3VudEVsZW1lbnRzSGF2
aW5nU2hhZG93KG5lc3RlZFNoYWRvd1Jvb3QpJywgJzAnKTsKKworICAgIG5lc3RlZFNoYWRvd1Jv
b3QuYXBwZW5kQ2hpbGQoY3JlYXRlRE9NKCdkaXYnLCB7fSwgY3JlYXRlU2hhZG93Um9vdCgpKSk7
CisKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3coc2hh
ZG93Um9vdCknLCAnMScpOworICAgIHNob3VsZEJlKCdpbnRlcm5hbHMuY291bnRFbGVtZW50c0hh
dmluZ1NoYWRvdyhuZXN0ZWRTaGFkb3dSb290KScsICcxJyk7Cit9KTsKKwordGVzdENhc2UoZnVu
Y3Rpb24oKQoreworICAgIGRlYnVnKCdTaG91bGQgYmUgY291bnRlZCBieSBlYWNoIHNoYWRvdyBy
b290IChkZWVwIG5lc3RlZCBzaGFkb3cgcm9vdCBjYXNlKScpOworICAgIHZhciBkaXYgPSBjcmVh
dGVET00oJ2RpdicsIHt9LCBjcmVhdGVTaGFkb3dSb290KCkpOworICAgIG5lc3RlZFNoYWRvd1Jv
b3QgPSBpbnRlcm5hbHMuc2hhZG93Um9vdChkaXYpOworICAgIHNoYWRvd1Jvb3QuYXBwZW5kQ2hp
bGQoZGl2KTsKKworICAgIHNob3VsZEJlKCdpbnRlcm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1No
YWRvdyhzaGFkb3dSb290KScsICcxJyk7CisgICAgc2hvdWxkQmUoJ2ludGVybmFscy5jb3VudEVs
ZW1lbnRzSGF2aW5nU2hhZG93KG5lc3RlZFNoYWRvd1Jvb3QpJywgJzAnKTsKKworICAgIHZhciBk
aXYxID0gY3JlYXRlRE9NKCdkaXYnLCB7fSwgY3JlYXRlU2hhZG93Um9vdCgpKTsKKyAgICBkZWVw
TmVzdGVkU2hhZG93Um9vdCA9IGludGVybmFscy5zaGFkb3dSb290KGRpdjEpOworICAgIHZhciBk
aXYyID0gY3JlYXRlRE9NKCdkaXYnLCB7fSwgY3JlYXRlU2hhZG93Um9vdCgpKTsKKyAgICB2YXIg
c2hhZG93Um9vdDIgPSBpbnRlcm5hbHMuc2hhZG93Um9vdChkaXYyKTsKKworICAgIGRlZXBOZXN0
ZWRTaGFkb3dSb290LmFwcGVuZENoaWxkKGRpdjIpOworICAgIC8vIFdoZW4gbm90IGluIHRyZWUs
IHdlIGRvbid0IGNvdW50IGl0LgorICAgIHNob3VsZEJlKCdpbnRlcm5hbHMuY291bnRFbGVtZW50
c0hhdmluZ1NoYWRvdyhkZWVwTmVzdGVkU2hhZG93Um9vdCknLCAnMCcpOworCisgICAgbmVzdGVk
U2hhZG93Um9vdC5hcHBlbmRDaGlsZChkaXYxKTsKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNv
dW50RWxlbWVudHNIYXZpbmdTaGFkb3coc2hhZG93Um9vdCknLCAnMScpOworICAgIHNob3VsZEJl
KCdpbnRlcm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhuZXN0ZWRTaGFkb3dSb290KScs
ICcxJyk7CisgICAgc2hvdWxkQmUoJ2ludGVybmFscy5jb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93
KGRlZXBOZXN0ZWRTaGFkb3dSb290KScsICcxJyk7Cit9KTsKKworZmluaXNoSlNUZXN0KCk7Cis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172508</attachid>
            <date>2012-11-06 00:46:06 -0800</date>
            <delta_ts>2012-11-06 01:23:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100922-20121106174419.patch</filename>
            <type>text/plain</type>
            <size>17128</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGFiMjFkNGQ5ZGYxMGM0
MGQ2YmQ5YzQ3Nzk2YjcxZGZmN2MyYjRjOC4uNWJhNWJhZmZkM2I2MzU0NDQ2ZGNlNGVkNWI1NGU1
NjUwOGJjMmE1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTExLTA2ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbU2hhZG93XSBT
aGFkb3dSb290IHNob3VsZCBrbm93IHRoZSBleGlzdGVuY2Ugb2YgZWxlbWVudHMgaGF2aW5nIEVs
ZW1lbnRTaGFkb3cuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDA5MjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBXZSBjb3VudCB0aGUgZWxlbWVudHMgaGF2aW5nIEVsZW1lbnRTaGFkb3cgaW4gU2hhZG93
Um9vdC4gVGhpcyBpcyBhIHByZXBhdGlvbiBwYXRjaCBmb3IgdG8gc29sdmUgQnVnIDEwMDQ1MS4K
KyAgICAgICAgV2UgaGF2ZSBhIGNvdW50LXVwIGFuZCBjb3VudC1kb3duIGxvZ2luIGluIFNoYWRv
d1Jvb3Q6Omluc2VydGVkSW50byBhbmQgU2hhZG93Um9vdDo6cmVtb3ZlZEZyb20uCisKKyAgICAg
ICAgRm9yIHBlcmZvcm1hbmNlIHJlYXNvbiwgd2UgaGF2ZSBhIGZsYWcgdGhhdCBhbiBlbGVtZW50
IHNob3VsZCBiZSB1bnJlZ2lzdGVyZWQgaW4gU2hhZG93Um9vdC4KKworICAgICAgICBUZXN0OiBm
YXN0L2RvbS9zaGFkb3cvaGFzLWVsZW1lbnRzLWhhdmluZy1zaGFkb3cuaHRtbAorCisgICAgICAg
ICogZG9tL1NoYWRvd1Jvb3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6U2hh
ZG93Um9vdCk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290OjppbnNlcnRlZEludG8pOiBD
b3VudCB1cCB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGhhdmluZyBFbGVtZW50U2hhZG93LiBFbGVt
ZW50U2hhZG93CisgICAgICAgIGlzIGNyZWF0ZWQgb25seSB3aGVuIHRoZSBvbGRlc3QgU2hhZG93
Um9vdCBpcyBjcmVhdGVkLCB3ZSBvbmx5IGNvdW50IHVwIG9ubHkgd2hlbiB0aGlzIFNoYWRvd1Jv
b3QgaXMgb2xkZXN0LgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTaGFk
b3dSb290OjpyZW1vdmVkRnJvbSk6IENvdW50IGRvd24gaWYgd2UgdXNlZCB0aGlzIFNoYWRvd1Jv
b3QgZm9yIGNvdW50IHVwLgorICAgICAgICAqIGRvbS9TaGFkb3dSb290Lmg6CisgICAgICAgIChT
aGFkb3dSb290KToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3Q6OnJlZ2lzdGVyRWxlbWVu
dEhhdmluZ1NoYWRvdyk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290Ojp1bnJlZ2lzdGVy
RWxlbWVudEhhdmluZ1NoYWRvdyk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290OjpoYXNF
bGVtZW50SGF2aW5nU2hhZG93KToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3Q6OmNvdW50
RWxlbWVudHNIYXZpbmdTaGFkb3cpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6Y291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyk6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAg
ICAgICAoSW50ZXJuYWxzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIw
MTItMTEtMDYgIE5pa2l0YSBWYXNpbHlldiAgPG1lQGVsdjFzLnJ1PgogCiAgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IENvbnNvbGU6IHdyYXAgbG9uZyBVUkxzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2hhZG93Um9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5j
cHAKaW5kZXggODVhMDAyNzY2MzI3ZGQ0YTk3YmExMjM1NWE1MjkxMDFkZjg2NTFmZS4uNjgyMDJm
NDkwNDIzNTg1MjRlNzkxZTFmMzQ4ZTBmZjMxM2VhOTA1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dS
b290LmNwcApAQCAtNTUsOSArNTUsMTEgQEAgU2hhZG93Um9vdDo6U2hhZG93Um9vdChEb2N1bWVu
dCogZG9jdW1lbnQpCiAgICAgLCBtX25leHQoMCkKICAgICAsIG1fYXBwbHlBdXRob3JTdHlsZXMo
ZmFsc2UpCiAgICAgLCBtX3Jlc2V0U3R5bGVJbmhlcml0YW5jZShmYWxzZSkKKyAgICAsIG1fcmVn
aXN0ZXJlZFdpdGhQYXJlbnRTaGFkb3dSb290KGZhbHNlKQogICAgICwgbV9pbnNlcnRpb25Qb2lu
dEFzc2lnbmVkVG8oMCkKICAgICAsIG1fbnVtYmVyT2ZTaGFkb3dFbGVtZW50Q2hpbGRyZW4oMCkK
ICAgICAsIG1fbnVtYmVyT2ZDb250ZW50RWxlbWVudENoaWxkcmVuKDApCisgICAgLCBtX251bWJl
ck9mRWxlbWVudHNIYXZpbmdTaGFkb3coMCkKICAgICAsIG1fbnVtYmVyT2ZTdHlsZXMoMCkKIHsK
ICAgICBBU1NFUlQoZG9jdW1lbnQpOwpAQCAtMjM1LDYgKzIzNyw0NCBAQCB2b2lkIFNoYWRvd1Jv
b3Q6OmF0dGFjaCgpCiAgICAgc3R5bGVSZXNvbHZlci0+cG9wUGFyZW50U2hhZG93Um9vdCh0aGlz
KTsKIH0KIAorTm9kZTo6SW5zZXJ0aW9uTm90aWZpY2F0aW9uUmVxdWVzdCBTaGFkb3dSb290Ojpp
bnNlcnRlZEludG8oQ29udGFpbmVyTm9kZSogaW5zZXJ0aW9uUG9pbnQpCit7CisgICAgRG9jdW1l
bnRGcmFnbWVudDo6aW5zZXJ0ZWRJbnRvKGluc2VydGlvblBvaW50KTsKKworICAgIGlmICghaW5z
ZXJ0aW9uUG9pbnQtPmluRG9jdW1lbnQoKSB8fCAhaXNPbGRlc3QoKSkKKyAgICAgICAgcmV0dXJu
IEluc2VydGlvbkRvbmU7CisKKyAgICAvLyBGSVhNRTogV2hlbiBwYXJzaW5nIDx2aWRlbyBjb250
cm9scz4sIGluc2VydGVkSW50bygpIGlzIGNhbGxlZCBtYW55IHRpbWVzIHdpdGhvdXQgaW52b2tp
bmcgcmVtb3ZlZEZyb20uCisgICAgLy8gRm9yIG5vdywgd2UgY2hlY2sgbV9yZWdpc3RlcmVkV2l0
aFBhcmVudFNoYWRvd3Jvb3QuIFdlIHdvdWxkIGxpa2UgdG8gQVNTRVJUKCFtX3JlZ2lzdGVyZWRT
aGFkb3dSb290KSBoZXJlLgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNpZz9pZD0xMDEzMTYKKyAgICBpZiAobV9yZWdpc3RlcmVkV2l0aFBhcmVudFNoYWRvd1Jvb3Qp
CisgICAgICAgIHJldHVybiBJbnNlcnRpb25Eb25lOworCisgICAgaWYgKFNoYWRvd1Jvb3QqIHJv
b3QgPSBob3N0KCktPnNoYWRvd1Jvb3QoKSkgeworICAgICAgICByb290LT5yZWdpc3RlckVsZW1l
bnRIYXZpbmdTaGFkb3coKTsKKyAgICAgICAgbV9yZWdpc3RlcmVkV2l0aFBhcmVudFNoYWRvd1Jv
b3QgPSB0cnVlOworICAgIH0KKworICAgIHJldHVybiBJbnNlcnRpb25Eb25lOworfQorCit2b2lk
IFNoYWRvd1Jvb3Q6OnJlbW92ZWRGcm9tKENvbnRhaW5lck5vZGUqIGluc2VydGlvblBvaW50KQor
eworICAgIC8vIE5vdGUgdGhhdCBob3N0IGVsZW1lbnQgbWlnaHQgYmUgYmVpbmcgZGVzdHJveWVk
IGhlcmUuCisKKyAgICBpZiAoaW5zZXJ0aW9uUG9pbnQtPmluRG9jdW1lbnQoKSAmJiBtX3JlZ2lz
dGVyZWRXaXRoUGFyZW50U2hhZG93Um9vdCkgeworICAgICAgICBTaGFkb3dSb290KiByb290ID0g
aG9zdCgpLT5zaGFkb3dSb290KCk7CisgICAgICAgIGlmICghcm9vdCkKKyAgICAgICAgICAgIHJv
b3QgPSBpbnNlcnRpb25Qb2ludC0+c2hhZG93Um9vdCgpOworCisgICAgICAgIGlmIChyb290KQor
ICAgICAgICAgICAgcm9vdC0+dW5yZWdpc3RlckVsZW1lbnRIYXZpbmdTaGFkb3coKTsKKyAgICAg
ICAgbV9yZWdpc3RlcmVkV2l0aFBhcmVudFNoYWRvd1Jvb3QgPSBmYWxzZTsKKyAgICB9CisKKyAg
ICBEb2N1bWVudEZyYWdtZW50OjpyZW1vdmVkRnJvbShpbnNlcnRpb25Qb2ludCk7Cit9CisKIHZv
aWQgU2hhZG93Um9vdDo6Y2hpbGRyZW5DaGFuZ2VkKGJvb2wgY2hhbmdlZEJ5UGFyc2VyLCBOb2Rl
KiBiZWZvcmVDaGFuZ2UsIE5vZGUqIGFmdGVyQ2hhbmdlLCBpbnQgY2hpbGRDb3VudERlbHRhKQog
ewogICAgIENvbnRhaW5lck5vZGU6OmNoaWxkcmVuQ2hhbmdlZChjaGFuZ2VkQnlQYXJzZXIsIGJl
Zm9yZUNoYW5nZSwgYWZ0ZXJDaGFuZ2UsIGNoaWxkQ291bnREZWx0YSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRv
d1Jvb3QuaAppbmRleCAwY2MwYTg0N2JkMzBiNjY1NGM4NWY5M2ViMzhmMzA3N2I0NGU2MTg2Li42
MmYzZWEyNWFiOTEyMzRjY2ZjYTY4MzIzZTk4Y2E0N2E4MGI5NzNjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFk
b3dSb290LmgKQEAgLTgzLDYgKzgzLDkgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGF0
dGFjaCgpOwogCisgICAgdmlydHVhbCBJbnNlcnRpb25Ob3RpZmljYXRpb25SZXF1ZXN0IGluc2Vy
dGVkSW50byhDb250YWluZXJOb2RlKikgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHJlbW92
ZWRGcm9tKENvbnRhaW5lck5vZGUqKSBPVkVSUklERTsKKwogICAgIGJvb2wgaXNVc2VkRm9yUmVu
ZGVyaW5nKCkgY29uc3Q7CiAgICAgSW5zZXJ0aW9uUG9pbnQqIGFzc2lnbmVkVG8oKSBjb25zdDsK
ICAgICB2b2lkIHNldEFzc2lnbmVkVG8oSW5zZXJ0aW9uUG9pbnQqKTsKQEAgLTk1LDYgKzk4LDEx
IEBAIHB1YmxpYzoKICAgICB2b2lkIHVucmVnaXN0ZXJDb250ZW50RWxlbWVudCgpIHsgLS1tX251
bWJlck9mQ29udGVudEVsZW1lbnRDaGlsZHJlbjsgfQogICAgIGJvb2wgaGFzQ29udGVudEVsZW1l
bnQoKSBjb25zdCB7IHJldHVybiBtX251bWJlck9mQ29udGVudEVsZW1lbnRDaGlsZHJlbiA+IDA7
IH0KIAorICAgIHZvaWQgcmVnaXN0ZXJFbGVtZW50SGF2aW5nU2hhZG93KCkgeyArK21fbnVtYmVy
T2ZFbGVtZW50c0hhdmluZ1NoYWRvdzsgfQorICAgIHZvaWQgdW5yZWdpc3RlckVsZW1lbnRIYXZp
bmdTaGFkb3coKSB7IC0tbV9udW1iZXJPZkVsZW1lbnRzSGF2aW5nU2hhZG93OyB9CisgICAgYm9v
bCBoYXNFbGVtZW50SGF2aW5nU2hhZG93KCkgY29uc3QgeyByZXR1cm4gbV9udW1iZXJPZkVsZW1l
bnRzSGF2aW5nU2hhZG93ID4gMDsgfQorICAgIHNpemVfdCBjb3VudEVsZW1lbnRzSGF2aW5nU2hh
ZG93KCkgY29uc3QgeyByZXR1cm4gbV9udW1iZXJPZkVsZW1lbnRzSGF2aW5nU2hhZG93OyB9CisK
ICAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCgpIE9WRVJSSURF
OwogICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKSBPVkVS
UklERTsKIApAQCAtMTE5LDkgKzEyNywxMSBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9hcHBseUF1
dGhvclN0eWxlcyA6IDE7CiAgICAgYm9vbCBtX3Jlc2V0U3R5bGVJbmhlcml0YW5jZSA6IDE7CiAg
ICAgYm9vbCBtX2lzQXV0aG9yU2hhZG93Um9vdCA6IDE7CisgICAgYm9vbCBtX3JlZ2lzdGVyZWRX
aXRoUGFyZW50U2hhZG93Um9vdCA6IDE7CiAgICAgSW5zZXJ0aW9uUG9pbnQqIG1faW5zZXJ0aW9u
UG9pbnRBc3NpZ25lZFRvOwogICAgIHNpemVfdCBtX251bWJlck9mU2hhZG93RWxlbWVudENoaWxk
cmVuOwogICAgIHNpemVfdCBtX251bWJlck9mQ29udGVudEVsZW1lbnRDaGlsZHJlbjsKKyAgICBz
aXplX3QgbV9udW1iZXJPZkVsZW1lbnRzSGF2aW5nU2hhZG93OwogICAgIHNpemVfdCBtX251bWJl
ck9mU3R5bGVzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDJh
ZjQ1NWQyN2E5N2QwZDFmMTU1NDVjN2UxZWJjZjM4MDQ5OWY4OGYuLmJhNjhjY2ZkZWQzNmQ5N2Ri
MmI1ZDg1Njc3NjhlOWI3NTUzZWE1M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAKQEAgLTMyNCw2ICszMjQsMTUgQEAgYm9vbCBJbnRlcm5hbHM6Omhhc0NvbnRlbnRFbGVtZW50
KGNvbnN0IE5vZGUqIHJvb3QsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAogICAgIHJldHVybiAw
OwogfQogCitzaXplX3QgSW50ZXJuYWxzOjpjb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93KGNvbnN0
IE5vZGUqIHJvb3QsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAoreworICAgIGlmIChyb290ICYm
IHJvb3QtPmlzU2hhZG93Um9vdCgpKQorICAgICAgICByZXR1cm4gdG9TaGFkb3dSb290KHJvb3Qp
LT5jb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93KCk7CisKKyAgICBlYyA9IElOVkFMSURfQUNDRVNT
X0VSUjsKKyAgICByZXR1cm4gMDsKK30KKwogYm9vbCBJbnRlcm5hbHM6OmF0dGFjaGVkKE5vZGUq
IG5vZGUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlmICghbm9kZSkgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggZjk0YWFkNjFhOTZiMDcwOGU0MWI4ZmExYzJlYTU3Y2Yw
MDhjMGUxNi4uNWY5ZjUwMWU0ZTA5ODFiOTg2NTZlZmZiMjc4ZmQ4ZmIxNTQ4Mzk4OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC04Niw2ICs4Niw3IEBAIHB1YmxpYzoKICAgICBT
dHJpbmcgc2hhZG93Um9vdFR5cGUoY29uc3QgTm9kZSosIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsK
ICAgICBib29sIGhhc1NoYWRvd0luc2VydGlvblBvaW50KGNvbnN0IE5vZGUqLCBFeGNlcHRpb25D
b2RlJikgY29uc3Q7CiAgICAgYm9vbCBoYXNDb250ZW50RWxlbWVudChjb25zdCBOb2RlKiwgRXhj
ZXB0aW9uQ29kZSYpIGNvbnN0OworICAgIHNpemVfdCBjb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93
KGNvbnN0IE5vZGUqLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CiAgICAgRWxlbWVudCogaW5jbHVk
ZXJGb3IoTm9kZSosIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBTdHJpbmcgc2hhZG93UHNldWRvSWQo
RWxlbWVudCosIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHNldFNoYWRvd1BzZXVkb0lkKEVs
ZW1lbnQqLCBjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5pZGwKaW5kZXggNWVkYzViZjFlNjYxMTIzNDg3MzIyZDU1MWRmMWRlNDNiODI3
NzI2ZS4uMzU4ZjM3MTA4MDU3NmU4N2MwYTQwZTRkYzkzMzA2YTUyNTk0MDA1YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtNTAsNiArNTAsNyBAQAogICAgIERPTVN0cmlu
ZyBzaGFkb3dSb290VHlwZShpbiBOb2RlIHJvb3QpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAg
ICBib29sZWFuIGhhc1NoYWRvd0luc2VydGlvblBvaW50KGluIE5vZGUgcm9vdCkgcmFpc2VzIChE
T01FeGNlcHRpb24pOwogICAgIGJvb2xlYW4gaGFzQ29udGVudEVsZW1lbnQoaW4gTm9kZSByb290
KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgdW5zaWduZWQgbG9uZyBjb3VudEVsZW1lbnRz
SGF2aW5nU2hhZG93KGluIE5vZGUgUm9vdCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogICAgIEVs
ZW1lbnQgaW5jbHVkZXJGb3IoaW4gTm9kZSBub2RlKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAg
ICAgRE9NU3RyaW5nIHNoYWRvd1BzZXVkb0lkKGluIEVsZW1lbnQgZWxlbWVudCkgcmFpc2VzIChE
T01FeGNlcHRpb24pOwogICAgIHZvaWQgc2V0U2hhZG93UHNldWRvSWQoaW4gRWxlbWVudCBlbGVt
ZW50LCBpbiBET01TdHJpbmcgaWQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhMTU2
NGJkZGE5ZTE5Yjc4NjY3YjRlZTgxMzU2MGFkNzFkMmMxMDk0Li40MDkxZWIwNzVhZjc5ODYyZGY3
OWRmM2RkOTE1NjM4MGQzMDM1ZjVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMTEtMDYg
IFNoaW55YSBLYXdhbmFrYSAgPHNoaW55YWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtTaGFk
b3ddIFNoYWRvd1Jvb3Qgc2hvdWxkIGtub3cgdGhlIGV4aXN0ZW5jZSBvZiBlbGVtZW50cyBoYXZp
bmcgRWxlbWVudFNoYWRvdy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwMDkyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2hhcy1lbGVtZW50cy1oYXZpbmctc2hhZG93LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2hhcy1lbGVtZW50
cy1oYXZpbmctc2hhZG93Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTExLTA1ICBDc2FiYSBPc3p0cm9n
b27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBVbnJldmlld2VkIG1vcm5p
bmcgZ2FyZGVuaW5nLCBza2lwIG5ldyBmYWlsaW5nIHRlc3RzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L2hhcy1lbGVtZW50cy1oYXZpbmctc2hhZG93LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9oYXMtZWxlbWVudHMtaGF2aW5nLXNo
YWRvdy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOThmMTdjOGUxNjk2N2JmZTQ4ZTI5ZjZmOTcz
YmYzYjA4ZDM1MzgzNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9oYXMtZWxlbWVudHMtaGF2aW5nLXNoYWRvdy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0
OSBAQAorVGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQgdGhlIG51bWJlciBvZiBlbGVtZW50cyBoYXZp
bmcgU2hhZG93IGluIGEgc2hhZG93IHN1YnRyZWUgaXMgY29ycmVjdGx5IGNvdW50ZWQuIFNlZSBC
dWcgMTAwOTIyIGFsc28uCisKK0luaXRpYWwgY291bnQgc2hvdWxkIGJlIDAKK1BBU1MgaW50ZXJu
YWxzLmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3coc2hhZG93Um9vdCkgaXMgMAorCitJbnNlcnRl
ZCBpbnRvIC8gcmVtb3ZlZCBmcm9tIGFuIGVsZW1lbnQgaGF2aW5nIHNoYWRvdworUEFTUyBpbnRl
cm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhzaGFkb3dSb290KSBpcyAxCitQQVNTIGlu
dGVybmFscy5jb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93KHNoYWRvd1Jvb3QpIGlzIDAKKworSW5z
ZXJ0ZWQgaW50byAvIHJlbW92ZWQgZnJvbSBhbiBlbGVtZW50IGhhdmluZyBtdWx0aXBsZSBzaGFk
b3cgcm9vdHMKK1BBU1MgaW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3coc2hhZG93
Um9vdCkgaXMgMQorUEFTUyBpbnRlcm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhzaGFk
b3dSb290KSBpcyAwCisKK1NoYWRvd1Jvb3QgaXMgYWRkZWQKK1BBU1MgaW50ZXJuYWxzLmNvdW50
RWxlbWVudHNIYXZpbmdTaGFkb3coc2hhZG93Um9vdCkgaXMgMAorUEFTUyBpbnRlcm5hbHMuY291
bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhzaGFkb3dSb290KSBpcyAxCitQQVNTIGludGVybmFscy5j
b3VudEVsZW1lbnRzSGF2aW5nU2hhZG93KHNoYWRvd1Jvb3QpIGlzIDEKKworU2hvdWxkIGJlIGNv
dW50ZWQgYnkgZWFjaCBzaGFkb3cgcm9vdCAobXVsdGlwbGUgc2hhZG93IHJvb3QgY2FzZSkKK1BB
U1MgaW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3coc2hhZG93Um9vdCkgaXMgMQor
UEFTUyBpbnRlcm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyh5b3VuZ2VyU2hhZG93Um9v
dCkgaXMgMAorUEFTUyBpbnRlcm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhzaGFkb3dS
b290KSBpcyAwCitQQVNTIGludGVybmFscy5jb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93KHlvdW5n
ZXJTaGFkb3dSb290KSBpcyAxCisKK1Nob3VsZCBiZSBjb3VudGVkIGJ5IGVhY2ggc2hhZG93IHJv
b3QgKG5lc3RlZCBzaGFkb3cgcm9vdCBjYXNlKQorUEFTUyBpbnRlcm5hbHMuY291bnRFbGVtZW50
c0hhdmluZ1NoYWRvdyhzaGFkb3dSb290KSBpcyAxCitQQVNTIGludGVybmFscy5jb3VudEVsZW1l
bnRzSGF2aW5nU2hhZG93KG5lc3RlZFNoYWRvd1Jvb3QpIGlzIDAKK1BBU1MgaW50ZXJuYWxzLmNv
dW50RWxlbWVudHNIYXZpbmdTaGFkb3coc2hhZG93Um9vdCkgaXMgMQorUEFTUyBpbnRlcm5hbHMu
Y291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhuZXN0ZWRTaGFkb3dSb290KSBpcyAxCitQQVNTIGlu
dGVybmFscy5jb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93KHNoYWRvd1Jvb3QpIGlzIDIKK1BBU1Mg
aW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3cobmVzdGVkU2hhZG93Um9vdCkgaXMg
MQorUEFTUyBpbnRlcm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhzaGFkb3dSb290KSBp
cyAyCitQQVNTIGludGVybmFscy5jb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93KG5lc3RlZFNoYWRv
d1Jvb3QpIGlzIDIKKworU2hvdWxkIGJlIGNvdW50ZWQgYnkgZWFjaCBzaGFkb3cgcm9vdCAoZGVl
cCBuZXN0ZWQgc2hhZG93IHJvb3QgY2FzZSkKK1BBU1MgaW50ZXJuYWxzLmNvdW50RWxlbWVudHNI
YXZpbmdTaGFkb3coc2hhZG93Um9vdCkgaXMgMQorUEFTUyBpbnRlcm5hbHMuY291bnRFbGVtZW50
c0hhdmluZ1NoYWRvdyhuZXN0ZWRTaGFkb3dSb290KSBpcyAwCitQQVNTIGludGVybmFscy5jb3Vu
dEVsZW1lbnRzSGF2aW5nU2hhZG93KGRlZXBOZXN0ZWRTaGFkb3dSb290KSBpcyAwCitQQVNTIGlu
dGVybmFscy5jb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93KHNoYWRvd1Jvb3QpIGlzIDEKK1BBU1Mg
aW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3cobmVzdGVkU2hhZG93Um9vdCkgaXMg
MQorUEFTUyBpbnRlcm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhkZWVwTmVzdGVkU2hh
ZG93Um9vdCkgaXMgMQorUEFTUyBpbnRlcm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhz
aGFkb3dSb290KSBpcyAwCitQQVNTIGludGVybmFscy5jb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93
KG5lc3RlZFNoYWRvd1Jvb3QpIGlzIDAKK1BBU1MgaW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZp
bmdTaGFkb3coZGVlcE5lc3RlZFNoYWRvd1Jvb3QpIGlzIDAKKworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9oYXMtZWxlbWVudHMtaGF2aW5nLXNoYWRvdy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L2hhcy1lbGVtZW50cy1oYXZpbmctc2hhZG93Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMzdiZDA1N2VhMWE4MGM4ZTYyZmM2ZGVmZDNhNWNkMjMwYmU5OTFkMgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9oYXMtZWxlbWVudHMtaGF2
aW5nLXNoYWRvdy5odG1sCkBAIC0wLDAgKzEsMTUwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcG9seWZpbGwuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9zaGFkb3ctZG9tLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorCis8cD5UaGlzIHRlc3QgY29uZmlybXMgdGhhdCB0aGUgbnVtYmVyIG9mIGVs
ZW1lbnRzIGhhdmluZyBTaGFkb3cgaW4gYSBzaGFkb3cgc3VidHJlZSBpcyBjb3JyZWN0bHkgY291
bnRlZC4KK1NlZSA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTAwOTIyIj5CdWcgMTAwOTIyPC9hPiBhbHNvLjwvcD4KKworPGRpdiBpZD0iY29udGFpbmVy
Ij48L2Rpdj4KKzxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgorCis8c2NyaXB0PgorZnVuY3Rpb24g
dGVzdENhc2UoZikKK3sKKyAgICBjb250YWluZXIuaW5uZXJIVE1MID0gJyc7CisgICAgY29udGFp
bmVyLmFwcGVuZENoaWxkKGNyZWF0ZURPTSgnZGl2JywgeydpZCc6ICdob3N0J30sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVTaGFkb3dSb290KCkpKTsKKyAgICBz
aGFkb3dSb290ID0gaW50ZXJuYWxzLnNoYWRvd1Jvb3QoaG9zdCk7CisKKyAgICBmKCk7CisgICAg
ZGVidWcoJycpOworfQorCit0ZXN0Q2FzZShmdW5jdGlvbigpCit7CisgICAgZGVidWcoJ0luaXRp
YWwgY291bnQgc2hvdWxkIGJlIDAnKTsKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxl
bWVudHNIYXZpbmdTaGFkb3coc2hhZG93Um9vdCknLCAnMCcpOworfSk7CisKK3Rlc3RDYXNlKGZ1
bmN0aW9uKCkKK3sKKyAgICBkZWJ1ZygnSW5zZXJ0ZWQgaW50byAvIHJlbW92ZWQgZnJvbSBhbiBl
bGVtZW50IGhhdmluZyBzaGFkb3cnKTsKKworICAgIHZhciBkaXYgPSBjcmVhdGVET00oJ2Rpdics
IHt9LCBjcmVhdGVTaGFkb3dSb290KCkpOworICAgIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoZGl2
KTsKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3coc2hh
ZG93Um9vdCknLCAnMScpOworCisgICAgc2hhZG93Um9vdC5yZW1vdmVDaGlsZChkaXYpOworICAg
IHNob3VsZEJlKCdpbnRlcm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhzaGFkb3dSb290
KScsICcwJyk7Cit9KTsKKwordGVzdENhc2UoZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCdJbnNl
cnRlZCBpbnRvIC8gcmVtb3ZlZCBmcm9tIGFuIGVsZW1lbnQgaGF2aW5nIG11bHRpcGxlIHNoYWRv
dyByb290cycpOworCisgICAgdmFyIGRpdiA9IGNyZWF0ZURPTSgnZGl2Jywge30sIGNyZWF0ZVNo
YWRvd1Jvb3QoKSwgY3JlYXRlU2hhZG93Um9vdCgpKTsKKworICAgIHNoYWRvd1Jvb3QuYXBwZW5k
Q2hpbGQoZGl2KTsKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdT
aGFkb3coc2hhZG93Um9vdCknLCAnMScpOworCisgICAgc2hhZG93Um9vdC5yZW1vdmVDaGlsZChk
aXYpOworICAgIHNob3VsZEJlKCdpbnRlcm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhz
aGFkb3dSb290KScsICcwJyk7Cit9KTsKKwordGVzdENhc2UoZnVuY3Rpb24oKQoreworICAgIGRl
YnVnKCdTaGFkb3dSb290IGlzIGFkZGVkJyk7CisgICAgdmFyIGRpdiA9IGNyZWF0ZURPTSgnZGl2
Jywge30pOworICAgIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoZGl2KTsKKyAgICBzaG91bGRCZSgn
aW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3coc2hhZG93Um9vdCknLCAnMCcpOwor
CisgICAgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxz
LmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3coc2hhZG93Um9vdCknLCAnMScpOworCisgICAgbmV3
IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxl
bWVudHNIYXZpbmdTaGFkb3coc2hhZG93Um9vdCknLCAnMScpOworfSk7CisKK3Rlc3RDYXNlKGZ1
bmN0aW9uKCkKK3sKKyAgICBkZWJ1ZygnU2hvdWxkIGJlIGNvdW50ZWQgYnkgZWFjaCBzaGFkb3cg
cm9vdCAobXVsdGlwbGUgc2hhZG93IHJvb3QgY2FzZSknKTsKKyAgICB5b3VuZ2VyU2hhZG93Um9v
dCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworCisgICAgdmFyIGRpdiA9IGNyZWF0ZURP
TSgnZGl2Jywge30sIGNyZWF0ZVNoYWRvd1Jvb3QoKSk7CisKKyAgICBzaGFkb3dSb290LmFwcGVu
ZENoaWxkKGRpdik7CisgICAgc2hvdWxkQmUoJ2ludGVybmFscy5jb3VudEVsZW1lbnRzSGF2aW5n
U2hhZG93KHNoYWRvd1Jvb3QpJywgJzEnKTsKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50
RWxlbWVudHNIYXZpbmdTaGFkb3coeW91bmdlclNoYWRvd1Jvb3QpJywgJzAnKTsKKworICAgIHlv
dW5nZXJTaGFkb3dSb290LmFwcGVuZENoaWxkKGRpdik7CisgICAgc2hvdWxkQmUoJ2ludGVybmFs
cy5jb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93KHNoYWRvd1Jvb3QpJywgJzAnKTsKKyAgICBzaG91
bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3coeW91bmdlclNoYWRvd1Jv
b3QpJywgJzEnKTsKK30pOworCit0ZXN0Q2FzZShmdW5jdGlvbigpCit7CisgICAgZGVidWcoJ1No
b3VsZCBiZSBjb3VudGVkIGJ5IGVhY2ggc2hhZG93IHJvb3QgKG5lc3RlZCBzaGFkb3cgcm9vdCBj
YXNlKScpOworICAgIHZhciBkaXYgPSBjcmVhdGVET00oJ2RpdicsIHt9LCBjcmVhdGVTaGFkb3dS
b290KCkpOworICAgIG5lc3RlZFNoYWRvd1Jvb3QgPSBpbnRlcm5hbHMuc2hhZG93Um9vdChkaXYp
OworICAgIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoZGl2KTsKKworICAgIHNob3VsZEJlKCdpbnRl
cm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhzaGFkb3dSb290KScsICcxJyk7CisgICAg
c2hvdWxkQmUoJ2ludGVybmFscy5jb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93KG5lc3RlZFNoYWRv
d1Jvb3QpJywgJzAnKTsKKworICAgIG5lc3RlZFNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoY3JlYXRl
RE9NKCdkaXYnLCB7fSwgY3JlYXRlU2hhZG93Um9vdCgpKSk7CisKKyAgICBzaG91bGRCZSgnaW50
ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3coc2hhZG93Um9vdCknLCAnMScpOworICAg
IHNob3VsZEJlKCdpbnRlcm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhuZXN0ZWRTaGFk
b3dSb290KScsICcxJyk7CisKKyAgICBzaGFkb3dSb290LmFwcGVuZENoaWxkKGNyZWF0ZURPTSgn
ZGl2Jywge30sIGNyZWF0ZVNoYWRvd1Jvb3QoKSkpOworCisgICAgc2hvdWxkQmUoJ2ludGVybmFs
cy5jb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93KHNoYWRvd1Jvb3QpJywgJzInKTsKKyAgICBzaG91
bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3cobmVzdGVkU2hhZG93Um9v
dCknLCAnMScpOworCisgICAgbmVzdGVkU2hhZG93Um9vdC5hcHBlbmRDaGlsZChjcmVhdGVET00o
J2RpdicsIHt9LCBjcmVhdGVTaGFkb3dSb290KCkpKTsKKworICAgIHNob3VsZEJlKCdpbnRlcm5h
bHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhzaGFkb3dSb290KScsICcyJyk7CisgICAgc2hv
dWxkQmUoJ2ludGVybmFscy5jb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93KG5lc3RlZFNoYWRvd1Jv
b3QpJywgJzInKTsKK30pOworCit0ZXN0Q2FzZShmdW5jdGlvbigpCit7CisgICAgZGVidWcoJ1No
b3VsZCBiZSBjb3VudGVkIGJ5IGVhY2ggc2hhZG93IHJvb3QgKGRlZXAgbmVzdGVkIHNoYWRvdyBy
b290IGNhc2UpJyk7CisgICAgdmFyIGRpdiA9IGNyZWF0ZURPTSgnZGl2Jywge30sIGNyZWF0ZVNo
YWRvd1Jvb3QoKSk7CisgICAgbmVzdGVkU2hhZG93Um9vdCA9IGludGVybmFscy5zaGFkb3dSb290
KGRpdik7CisgICAgc2hhZG93Um9vdC5hcHBlbmRDaGlsZChkaXYpOworCisgICAgc2hvdWxkQmUo
J2ludGVybmFscy5jb3VudEVsZW1lbnRzSGF2aW5nU2hhZG93KHNoYWRvd1Jvb3QpJywgJzEnKTsK
KyAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3cobmVzdGVk
U2hhZG93Um9vdCknLCAnMCcpOworCisgICAgdmFyIGRpdjEgPSBjcmVhdGVET00oJ2RpdicsIHt9
LCBjcmVhdGVTaGFkb3dSb290KCkpOworICAgIGRpdjEuc2V0QXR0cmlidXRlKCd0aXRsZScsICdk
ZWJ1Z3N0b3AnKTsKKyAgICBkZWVwTmVzdGVkU2hhZG93Um9vdCA9IGludGVybmFscy5zaGFkb3dS
b290KGRpdjEpOworICAgIHZhciBkaXYyID0gY3JlYXRlRE9NKCdkaXYnLCB7fSwgY3JlYXRlU2hh
ZG93Um9vdCgpKTsKKyAgICB2YXIgc2hhZG93Um9vdDIgPSBpbnRlcm5hbHMuc2hhZG93Um9vdChk
aXYyKTsKKworICAgIGRlZXBOZXN0ZWRTaGFkb3dSb290LmFwcGVuZENoaWxkKGRpdjIpOworICAg
IC8vIFdoZW4gbm90IGluIHRyZWUsIHdlIGRvbid0IGNvdW50IGl0LgorICAgIHNob3VsZEJlKCdp
bnRlcm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhkZWVwTmVzdGVkU2hhZG93Um9vdCkn
LCAnMCcpOworCisgICAgbmVzdGVkU2hhZG93Um9vdC5hcHBlbmRDaGlsZChkaXYxKTsKKyAgICBz
aG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3coc2hhZG93Um9vdCkn
LCAnMScpOworICAgIHNob3VsZEJlKCdpbnRlcm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRv
dyhuZXN0ZWRTaGFkb3dSb290KScsICcxJyk7CisgICAgc2hvdWxkQmUoJ2ludGVybmFscy5jb3Vu
dEVsZW1lbnRzSGF2aW5nU2hhZG93KGRlZXBOZXN0ZWRTaGFkb3dSb290KScsICcxJyk7CisKKyAg
ICBjb250YWluZXIuaW5uZXJIVE1MID0gIiI7CisgICAgc2hvdWxkQmUoJ2ludGVybmFscy5jb3Vu
dEVsZW1lbnRzSGF2aW5nU2hhZG93KHNoYWRvd1Jvb3QpJywgJzAnKTsKKyAgICBzaG91bGRCZSgn
aW50ZXJuYWxzLmNvdW50RWxlbWVudHNIYXZpbmdTaGFkb3cobmVzdGVkU2hhZG93Um9vdCknLCAn
MCcpOworICAgIHNob3VsZEJlKCdpbnRlcm5hbHMuY291bnRFbGVtZW50c0hhdmluZ1NoYWRvdyhk
ZWVwTmVzdGVkU2hhZG93Um9vdCknLCAnMCcpOworfSk7CisKK2ZpbmlzaEpTVGVzdCgpOworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172514</attachid>
            <date>2012-11-06 01:23:28 -0800</date>
            <delta_ts>2012-11-06 01:31:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100922-20121106182140.patch</filename>
            <type>text/plain</type>
            <size>16518</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGFiMjFkNGQ5ZGYxMGM0
MGQ2YmQ5YzQ3Nzk2YjcxZGZmN2MyYjRjOC4uNjZiODUxNWQxZTFmMjRmYmExN2IyNGZmZjc5YWQ4
NjU4NzY4MDg1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTExLTA2ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbU2hhZG93XSBT
aGFkb3dSb290IHNob3VsZCBrbm93IHRoZSBleGlzdGVuY2Ugb2YgZWxlbWVudHMgaGF2aW5nIEVs
ZW1lbnRTaGFkb3cuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDA5MjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBXZSBjb3VudCB0aGUgZWxlbWVudHMgaGF2aW5nIEVsZW1lbnRTaGFkb3cgaW4gU2hhZG93
Um9vdC4gVGhpcyBpcyBhIHByZXBhdGlvbiBwYXRjaCBmb3IgdG8gc29sdmUgQnVnIDEwMDQ1MS4K
KyAgICAgICAgV2UgaGF2ZSBhIGNvdW50LXVwIGFuZCBjb3VudC1kb3duIGxvZ2luIGluIFNoYWRv
d1Jvb3Q6Omluc2VydGVkSW50byBhbmQgU2hhZG93Um9vdDo6cmVtb3ZlZEZyb20uCisKKyAgICAg
ICAgRm9yIHBlcmZvcm1hbmNlIHJlYXNvbiwgd2UgaGF2ZSBhIGZsYWcgdGhhdCBhbiBlbGVtZW50
IHNob3VsZCBiZSB1bnJlZ2lzdGVyZWQgaW4gU2hhZG93Um9vdC4KKworICAgICAgICBUZXN0OiBm
YXN0L2RvbS9zaGFkb3cvaGFzLWVsZW1lbnRzaGFkb3cuaHRtbAorCisgICAgICAgICogZG9tL1No
YWRvd1Jvb3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6U2hhZG93Um9vdCk6
CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290OjppbnNlcnRlZEludG8pOiBDb3VudCB1cCB0
aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGhhdmluZyBFbGVtZW50U2hhZG93LiBFbGVtZW50U2hhZG93
CisgICAgICAgIGlzIGNyZWF0ZWQgb25seSB3aGVuIHRoZSBvbGRlc3QgU2hhZG93Um9vdCBpcyBj
cmVhdGVkLCB3ZSBvbmx5IGNvdW50IHVwIG9ubHkgd2hlbiB0aGlzIFNoYWRvd1Jvb3QgaXMgb2xk
ZXN0LgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290Ojpy
ZW1vdmVkRnJvbSk6IENvdW50IGRvd24gaWYgd2UgdXNlZCB0aGlzIFNoYWRvd1Jvb3QgZm9yIGNv
dW50IHVwLgorICAgICAgICAqIGRvbS9TaGFkb3dSb290Lmg6CisgICAgICAgIChTaGFkb3dSb290
KToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3Q6OnJlZ2lzdGVyRWxlbWVudFNoYWRvdyk6
CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290Ojp1bnJlZ2lzdGVyRWxlbWVudFNoYWRvdyk6
CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290OjpoYXNFbGVtZW50U2hhZG93KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3Q6OmNvdW50RWxlbWVudFNoYWRvdyk6CisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpjb3Vu
dEVsZW1lbnRTaGFkb3cpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogdGVzdGluZy9J
bnRlcm5hbHMuaDoKKyAgICAgICAgKEludGVybmFscyk6CisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuaWRsOgorCiAyMDEyLTExLTA2ICBOaWtpdGEgVmFzaWx5ZXYgIDxtZUBlbHYxcy5ydT4K
IAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBDb25zb2xlOiB3cmFwIGxvbmcgVVJMcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1NoYWRvd1Jvb3QuY3BwCmluZGV4IDg1YTAwMjc2NjMyN2RkNGE5N2JhMTIzNTVhNTI5MTAx
ZGY4NjUxZmUuLmM2MjM5NmEzNjIwMDJiN2JiYWE2NDI5NmViNDNlZTY2OTU2YWVhN2QgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2hhZG93Um9vdC5jcHAKQEAgLTU1LDkgKzU1LDExIEBAIFNoYWRvd1Jvb3Q6OlNo
YWRvd1Jvb3QoRG9jdW1lbnQqIGRvY3VtZW50KQogICAgICwgbV9uZXh0KDApCiAgICAgLCBtX2Fw
cGx5QXV0aG9yU3R5bGVzKGZhbHNlKQogICAgICwgbV9yZXNldFN0eWxlSW5oZXJpdGFuY2UoZmFs
c2UpCisgICAgLCBtX3JlZ2lzdGVyZWRXaXRoUGFyZW50U2hhZG93Um9vdChmYWxzZSkKICAgICAs
IG1faW5zZXJ0aW9uUG9pbnRBc3NpZ25lZFRvKDApCiAgICAgLCBtX251bWJlck9mU2hhZG93RWxl
bWVudENoaWxkcmVuKDApCiAgICAgLCBtX251bWJlck9mQ29udGVudEVsZW1lbnRDaGlsZHJlbigw
KQorICAgICwgbV9udW1iZXJPZkVsZW1lbnRTaGFkb3dDaGlsZHJlbigwKQogICAgICwgbV9udW1i
ZXJPZlN0eWxlcygwKQogewogICAgIEFTU0VSVChkb2N1bWVudCk7CkBAIC0yMzUsNiArMjM3LDQy
IEBAIHZvaWQgU2hhZG93Um9vdDo6YXR0YWNoKCkKICAgICBzdHlsZVJlc29sdmVyLT5wb3BQYXJl
bnRTaGFkb3dSb290KHRoaXMpOwogfQogCitOb2RlOjpJbnNlcnRpb25Ob3RpZmljYXRpb25SZXF1
ZXN0IFNoYWRvd1Jvb3Q6Omluc2VydGVkSW50byhDb250YWluZXJOb2RlKiBpbnNlcnRpb25Qb2lu
dCkKK3sKKyAgICBEb2N1bWVudEZyYWdtZW50OjppbnNlcnRlZEludG8oaW5zZXJ0aW9uUG9pbnQp
OworCisgICAgaWYgKCFpbnNlcnRpb25Qb2ludC0+aW5Eb2N1bWVudCgpIHx8ICFpc09sZGVzdCgp
KQorICAgICAgICByZXR1cm4gSW5zZXJ0aW9uRG9uZTsKKworICAgIC8vIEZJWE1FOiBXaGVuIHBh
cnNpbmcgPHZpZGVvIGNvbnRyb2xzPiwgaW5zZXJ0ZWRJbnRvKCkgaXMgY2FsbGVkIG1hbnkgdGlt
ZXMgd2l0aG91dCBpbnZva2luZyByZW1vdmVkRnJvbS4KKyAgICAvLyBGb3Igbm93LCB3ZSBjaGVj
ayBtX3JlZ2lzdGVyZWRXaXRoUGFyZW50U2hhZG93cm9vdC4gV2Ugd291bGQgbGlrZSB0byBBU1NF
UlQoIW1fcmVnaXN0ZXJlZFNoYWRvd1Jvb3QpIGhlcmUuCisgICAgLy8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2lnP2lkPTEwMTMxNgorICAgIGlmIChtX3JlZ2lzdGVyZWRXaXRo
UGFyZW50U2hhZG93Um9vdCkKKyAgICAgICAgcmV0dXJuIEluc2VydGlvbkRvbmU7CisKKyAgICBp
ZiAoU2hhZG93Um9vdCogcm9vdCA9IGhvc3QoKS0+c2hhZG93Um9vdCgpKSB7CisgICAgICAgIHJv
b3QtPnJlZ2lzdGVyRWxlbWVudFNoYWRvdygpOworICAgICAgICBtX3JlZ2lzdGVyZWRXaXRoUGFy
ZW50U2hhZG93Um9vdCA9IHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIEluc2VydGlvbkRvbmU7
Cit9CisKK3ZvaWQgU2hhZG93Um9vdDo6cmVtb3ZlZEZyb20oQ29udGFpbmVyTm9kZSogaW5zZXJ0
aW9uUG9pbnQpCit7CisgICAgaWYgKGluc2VydGlvblBvaW50LT5pbkRvY3VtZW50KCkgJiYgbV9y
ZWdpc3RlcmVkV2l0aFBhcmVudFNoYWRvd1Jvb3QpIHsKKyAgICAgICAgU2hhZG93Um9vdCogcm9v
dCA9IGhvc3QoKS0+c2hhZG93Um9vdCgpOworICAgICAgICBpZiAoIXJvb3QpCisgICAgICAgICAg
ICByb290ID0gaW5zZXJ0aW9uUG9pbnQtPnNoYWRvd1Jvb3QoKTsKKworICAgICAgICBpZiAocm9v
dCkKKyAgICAgICAgICAgIHJvb3QtPnVucmVnaXN0ZXJFbGVtZW50U2hhZG93KCk7CisgICAgICAg
IG1fcmVnaXN0ZXJlZFdpdGhQYXJlbnRTaGFkb3dSb290ID0gZmFsc2U7CisgICAgfQorCisgICAg
RG9jdW1lbnRGcmFnbWVudDo6cmVtb3ZlZEZyb20oaW5zZXJ0aW9uUG9pbnQpOworfQorCiB2b2lk
IFNoYWRvd1Jvb3Q6OmNoaWxkcmVuQ2hhbmdlZChib29sIGNoYW5nZWRCeVBhcnNlciwgTm9kZSog
YmVmb3JlQ2hhbmdlLCBOb2RlKiBhZnRlckNoYW5nZSwgaW50IGNoaWxkQ291bnREZWx0YSkKIHsK
ICAgICBDb250YWluZXJOb2RlOjpjaGlsZHJlbkNoYW5nZWQoY2hhbmdlZEJ5UGFyc2VyLCBiZWZv
cmVDaGFuZ2UsIGFmdGVyQ2hhbmdlLCBjaGlsZENvdW50RGVsdGEpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dS
b290LmgKaW5kZXggMGNjMGE4NDdiZDMwYjY2NTRjODVmOTNlYjM4ZjMwNzdiNDRlNjE4Ni4uMDY3
NTQyN2VjNGMwOTJjYzYzZTVhODJlYzhkNWMzZjg5MGI2ZDhmOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93
Um9vdC5oCkBAIC04Myw2ICs4Myw5IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBhdHRh
Y2goKTsKIAorICAgIHZpcnR1YWwgSW5zZXJ0aW9uTm90aWZpY2F0aW9uUmVxdWVzdCBpbnNlcnRl
ZEludG8oQ29udGFpbmVyTm9kZSopIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCByZW1vdmVk
RnJvbShDb250YWluZXJOb2RlKikgT1ZFUlJJREU7CisKICAgICBib29sIGlzVXNlZEZvclJlbmRl
cmluZygpIGNvbnN0OwogICAgIEluc2VydGlvblBvaW50KiBhc3NpZ25lZFRvKCkgY29uc3Q7CiAg
ICAgdm9pZCBzZXRBc3NpZ25lZFRvKEluc2VydGlvblBvaW50Kik7CkBAIC05NSw2ICs5OCwxMSBA
QCBwdWJsaWM6CiAgICAgdm9pZCB1bnJlZ2lzdGVyQ29udGVudEVsZW1lbnQoKSB7IC0tbV9udW1i
ZXJPZkNvbnRlbnRFbGVtZW50Q2hpbGRyZW47IH0KICAgICBib29sIGhhc0NvbnRlbnRFbGVtZW50
KCkgY29uc3QgeyByZXR1cm4gbV9udW1iZXJPZkNvbnRlbnRFbGVtZW50Q2hpbGRyZW4gPiAwOyB9
CiAKKyAgICB2b2lkIHJlZ2lzdGVyRWxlbWVudFNoYWRvdygpIHsgKyttX251bWJlck9mRWxlbWVu
dFNoYWRvd0NoaWxkcmVuOyB9CisgICAgdm9pZCB1bnJlZ2lzdGVyRWxlbWVudFNoYWRvdygpIHsg
QVNTRVJUKGhhc0VsZW1lbnRTaGFkb3coKSk7IC0tbV9udW1iZXJPZkVsZW1lbnRTaGFkb3dDaGls
ZHJlbjsgfQorICAgIGJvb2wgaGFzRWxlbWVudFNoYWRvdygpIGNvbnN0IHsgcmV0dXJuIG1fbnVt
YmVyT2ZFbGVtZW50U2hhZG93Q2hpbGRyZW4gPiAwOyB9CisgICAgc2l6ZV90IGNvdW50RWxlbWVu
dFNoYWRvdygpIGNvbnN0IHsgcmV0dXJuIG1fbnVtYmVyT2ZFbGVtZW50U2hhZG93Q2hpbGRyZW47
IH0KKwogICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclNjb3BlZEhUTUxTdHlsZUNoaWxkKCkgT1ZF
UlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHVucmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCgp
IE9WRVJSSURFOwogCkBAIC0xMTksOSArMTI3LDExIEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2Fw
cGx5QXV0aG9yU3R5bGVzIDogMTsKICAgICBib29sIG1fcmVzZXRTdHlsZUluaGVyaXRhbmNlIDog
MTsKICAgICBib29sIG1faXNBdXRob3JTaGFkb3dSb290IDogMTsKKyAgICBib29sIG1fcmVnaXN0
ZXJlZFdpdGhQYXJlbnRTaGFkb3dSb290IDogMTsKICAgICBJbnNlcnRpb25Qb2ludCogbV9pbnNl
cnRpb25Qb2ludEFzc2lnbmVkVG87CiAgICAgc2l6ZV90IG1fbnVtYmVyT2ZTaGFkb3dFbGVtZW50
Q2hpbGRyZW47CiAgICAgc2l6ZV90IG1fbnVtYmVyT2ZDb250ZW50RWxlbWVudENoaWxkcmVuOwor
ICAgIHNpemVfdCBtX251bWJlck9mRWxlbWVudFNoYWRvd0NoaWxkcmVuOwogICAgIHNpemVfdCBt
X251bWJlck9mU3R5bGVzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmlu
ZGV4IDJhZjQ1NWQyN2E5N2QwZDFmMTU1NDVjN2UxZWJjZjM4MDQ5OWY4OGYuLjA3MzQxNmQ2OWQy
M2RhZTMwN2MwYTYxMmE1YjBiZmZjYjNjMGMwMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAKQEAgLTMyNCw2ICszMjQsMTUgQEAgYm9vbCBJbnRlcm5hbHM6Omhhc0NvbnRlbnRF
bGVtZW50KGNvbnN0IE5vZGUqIHJvb3QsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAogICAgIHJl
dHVybiAwOwogfQogCitzaXplX3QgSW50ZXJuYWxzOjpjb3VudEVsZW1lbnRTaGFkb3coY29uc3Qg
Tm9kZSogcm9vdCwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0Cit7CisgICAgaWYgKHJvb3QgJiYg
cm9vdC0+aXNTaGFkb3dSb290KCkpCisgICAgICAgIHJldHVybiB0b1NoYWRvd1Jvb3Qocm9vdCkt
PmNvdW50RWxlbWVudFNoYWRvdygpOworCisgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7Cisg
ICAgcmV0dXJuIDA7Cit9CisKIGJvb2wgSW50ZXJuYWxzOjphdHRhY2hlZChOb2RlKiBub2RlLCBF
eGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBpZiAoIW5vZGUpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5oCmluZGV4IGY5NGFhZDYxYTk2YjA3MDhlNDFiOGZhMWMyZWE1N2NmMDA4YzBlMTYu
LjIxMTE3Mzk3YzgxMWM4NThmM2IxZjQ5ZmM1N2QxNmFjMjVhNzExMjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaApAQCAtODYsNiArODYsNyBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIHNo
YWRvd1Jvb3RUeXBlKGNvbnN0IE5vZGUqLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CiAgICAgYm9v
bCBoYXNTaGFkb3dJbnNlcnRpb25Qb2ludChjb25zdCBOb2RlKiwgRXhjZXB0aW9uQ29kZSYpIGNv
bnN0OwogICAgIGJvb2wgaGFzQ29udGVudEVsZW1lbnQoY29uc3QgTm9kZSosIEV4Y2VwdGlvbkNv
ZGUmKSBjb25zdDsKKyAgICBzaXplX3QgY291bnRFbGVtZW50U2hhZG93KGNvbnN0IE5vZGUqLCBF
eGNlcHRpb25Db2RlJikgY29uc3Q7CiAgICAgRWxlbWVudCogaW5jbHVkZXJGb3IoTm9kZSosIEV4
Y2VwdGlvbkNvZGUmKTsKICAgICBTdHJpbmcgc2hhZG93UHNldWRvSWQoRWxlbWVudCosIEV4Y2Vw
dGlvbkNvZGUmKTsKICAgICB2b2lkIHNldFNoYWRvd1BzZXVkb0lkKEVsZW1lbnQqLCBjb25zdCBT
dHJpbmcmLCBFeGNlcHRpb25Db2RlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwK
aW5kZXggNWVkYzViZjFlNjYxMTIzNDg3MzIyZDU1MWRmMWRlNDNiODI3NzI2ZS4uN2E1YWI3Yjkw
ZWRiNjRiNjUwZGMzNDM3YjQzYTFkNjk5NzFiMDFhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmlkbApAQCAtNTAsNiArNTAsNyBAQAogICAgIERPTVN0cmluZyBzaGFkb3dSb290VHlw
ZShpbiBOb2RlIHJvb3QpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICBib29sZWFuIGhhc1No
YWRvd0luc2VydGlvblBvaW50KGluIE5vZGUgcm9vdCkgcmFpc2VzIChET01FeGNlcHRpb24pOwog
ICAgIGJvb2xlYW4gaGFzQ29udGVudEVsZW1lbnQoaW4gTm9kZSByb290KSByYWlzZXMgKERPTUV4
Y2VwdGlvbik7CisgICAgdW5zaWduZWQgbG9uZyBjb3VudEVsZW1lbnRTaGFkb3coaW4gTm9kZSBS
b290KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgRWxlbWVudCBpbmNsdWRlckZvcihpbiBO
b2RlIG5vZGUpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICBET01TdHJpbmcgc2hhZG93UHNl
dWRvSWQoaW4gRWxlbWVudCBlbGVtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgdm9p
ZCBzZXRTaGFkb3dQc2V1ZG9JZChpbiBFbGVtZW50IGVsZW1lbnQsIGluIERPTVN0cmluZyBpZCkg
cmFpc2VzIChET01FeGNlcHRpb24pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGExNTY0YmRkYTllMTliNzg2NjdiNGVlODEz
NTYwYWQ3MWQyYzEwOTQuLmIxMGU5MTg5MzIzZjBmYjZlMzM5YjIzMmZhNGY2YjFjODIyOGE1NzMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0xMS0wNiAgU2hpbnlhIEthd2FuYWthICA8c2hp
bnlha0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1NoYWRvd10gU2hhZG93Um9vdCBzaG91bGQg
a25vdyB0aGUgZXhpc3RlbmNlIG9mIGVsZW1lbnRzIGhhdmluZyBFbGVtZW50U2hhZG93LgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwOTIyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9z
aGFkb3cvaGFzLWVsZW1lbnRzaGFkb3ctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2RvbS9zaGFkb3cvaGFzLWVsZW1lbnRzaGFkb3cuaHRtbDogQWRkZWQuCisKIDIwMTItMTEt
MDUgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBbUXRd
IFVucmV2aWV3ZWQgbW9ybmluZyBnYXJkZW5pbmcsIHNraXAgbmV3IGZhaWxpbmcgdGVzdHMuCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaGFzLWVsZW1lbnRzaGFkb3ct
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2hhcy1lbGVtZW50c2hh
ZG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMmZkNWE1OTA1NDhiMmE4ZjNjMDNjMzhiYzNj
OGNjOTQ4YjU1N2IzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L2hhcy1lbGVtZW50c2hhZG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQ5IEBACitUaGlz
IHRlc3QgY29uZmlybXMgdGhhdCB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGhhdmluZyBTaGFkb3cg
aW4gYSBzaGFkb3cgc3VidHJlZSBpcyBjb3JyZWN0bHkgY291bnRlZC4gU2VlIEJ1ZyAxMDA5MjIg
YWxzby4KKworSW5pdGlhbCBjb3VudCBzaG91bGQgYmUgMAorUEFTUyBpbnRlcm5hbHMuY291bnRF
bGVtZW50U2hhZG93KHNoYWRvd1Jvb3QpIGlzIDAKKworSW5zZXJ0ZWQgaW50byAvIHJlbW92ZWQg
ZnJvbSBhbiBlbGVtZW50IGhhdmluZyBzaGFkb3cKK1BBU1MgaW50ZXJuYWxzLmNvdW50RWxlbWVu
dFNoYWRvdyhzaGFkb3dSb290KSBpcyAxCitQQVNTIGludGVybmFscy5jb3VudEVsZW1lbnRTaGFk
b3coc2hhZG93Um9vdCkgaXMgMAorCitJbnNlcnRlZCBpbnRvIC8gcmVtb3ZlZCBmcm9tIGFuIGVs
ZW1lbnQgaGF2aW5nIG11bHRpcGxlIHNoYWRvdyByb290cworUEFTUyBpbnRlcm5hbHMuY291bnRF
bGVtZW50U2hhZG93KHNoYWRvd1Jvb3QpIGlzIDEKK1BBU1MgaW50ZXJuYWxzLmNvdW50RWxlbWVu
dFNoYWRvdyhzaGFkb3dSb290KSBpcyAwCisKK1NoYWRvd1Jvb3QgaXMgYWRkZWQKK1BBU1MgaW50
ZXJuYWxzLmNvdW50RWxlbWVudFNoYWRvdyhzaGFkb3dSb290KSBpcyAwCitQQVNTIGludGVybmFs
cy5jb3VudEVsZW1lbnRTaGFkb3coc2hhZG93Um9vdCkgaXMgMQorUEFTUyBpbnRlcm5hbHMuY291
bnRFbGVtZW50U2hhZG93KHNoYWRvd1Jvb3QpIGlzIDEKKworU2hvdWxkIGJlIGNvdW50ZWQgYnkg
ZWFjaCBzaGFkb3cgcm9vdCAobXVsdGlwbGUgc2hhZG93IHJvb3QgY2FzZSkKK1BBU1MgaW50ZXJu
YWxzLmNvdW50RWxlbWVudFNoYWRvdyhzaGFkb3dSb290KSBpcyAxCitQQVNTIGludGVybmFscy5j
b3VudEVsZW1lbnRTaGFkb3coeW91bmdlclNoYWRvd1Jvb3QpIGlzIDAKK1BBU1MgaW50ZXJuYWxz
LmNvdW50RWxlbWVudFNoYWRvdyhzaGFkb3dSb290KSBpcyAwCitQQVNTIGludGVybmFscy5jb3Vu
dEVsZW1lbnRTaGFkb3coeW91bmdlclNoYWRvd1Jvb3QpIGlzIDEKKworU2hvdWxkIGJlIGNvdW50
ZWQgYnkgZWFjaCBzaGFkb3cgcm9vdCAobmVzdGVkIHNoYWRvdyByb290IGNhc2UpCitQQVNTIGlu
dGVybmFscy5jb3VudEVsZW1lbnRTaGFkb3coc2hhZG93Um9vdCkgaXMgMQorUEFTUyBpbnRlcm5h
bHMuY291bnRFbGVtZW50U2hhZG93KG5lc3RlZFNoYWRvd1Jvb3QpIGlzIDAKK1BBU1MgaW50ZXJu
YWxzLmNvdW50RWxlbWVudFNoYWRvdyhzaGFkb3dSb290KSBpcyAxCitQQVNTIGludGVybmFscy5j
b3VudEVsZW1lbnRTaGFkb3cobmVzdGVkU2hhZG93Um9vdCkgaXMgMQorUEFTUyBpbnRlcm5hbHMu
Y291bnRFbGVtZW50U2hhZG93KHNoYWRvd1Jvb3QpIGlzIDIKK1BBU1MgaW50ZXJuYWxzLmNvdW50
RWxlbWVudFNoYWRvdyhuZXN0ZWRTaGFkb3dSb290KSBpcyAxCitQQVNTIGludGVybmFscy5jb3Vu
dEVsZW1lbnRTaGFkb3coc2hhZG93Um9vdCkgaXMgMgorUEFTUyBpbnRlcm5hbHMuY291bnRFbGVt
ZW50U2hhZG93KG5lc3RlZFNoYWRvd1Jvb3QpIGlzIDIKKworU2hvdWxkIGJlIGNvdW50ZWQgYnkg
ZWFjaCBzaGFkb3cgcm9vdCAoZGVlcCBuZXN0ZWQgc2hhZG93IHJvb3QgY2FzZSkKK1BBU1MgaW50
ZXJuYWxzLmNvdW50RWxlbWVudFNoYWRvdyhzaGFkb3dSb290KSBpcyAxCitQQVNTIGludGVybmFs
cy5jb3VudEVsZW1lbnRTaGFkb3cobmVzdGVkU2hhZG93Um9vdCkgaXMgMAorUEFTUyBpbnRlcm5h
bHMuY291bnRFbGVtZW50U2hhZG93KGRlZXBOZXN0ZWRTaGFkb3dSb290KSBpcyAwCitQQVNTIGlu
dGVybmFscy5jb3VudEVsZW1lbnRTaGFkb3coc2hhZG93Um9vdCkgaXMgMQorUEFTUyBpbnRlcm5h
bHMuY291bnRFbGVtZW50U2hhZG93KG5lc3RlZFNoYWRvd1Jvb3QpIGlzIDEKK1BBU1MgaW50ZXJu
YWxzLmNvdW50RWxlbWVudFNoYWRvdyhkZWVwTmVzdGVkU2hhZG93Um9vdCkgaXMgMQorUEFTUyBp
bnRlcm5hbHMuY291bnRFbGVtZW50U2hhZG93KHNoYWRvd1Jvb3QpIGlzIDAKK1BBU1MgaW50ZXJu
YWxzLmNvdW50RWxlbWVudFNoYWRvdyhuZXN0ZWRTaGFkb3dSb290KSBpcyAwCitQQVNTIGludGVy
bmFscy5jb3VudEVsZW1lbnRTaGFkb3coZGVlcE5lc3RlZFNoYWRvd1Jvb3QpIGlzIDAKKworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9oYXMtZWxlbWVudHNoYWRvdy5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2hhcy1lbGVtZW50c2hhZG93Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjdmNWQxYTcxZmM0ODlkNGIxOTRhYzA5Mjc3OTU1Y2YwODZiMTBhOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9oYXMtZWxlbWVudHNoYWRvdy5o
dG1sCkBAIC0wLDAgKzEsMTUwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcG9seWZpbGwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9InJlc291cmNlcy9zaGFkb3ctZG9tLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
Cis8cD5UaGlzIHRlc3QgY29uZmlybXMgdGhhdCB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGhhdmlu
ZyBTaGFkb3cgaW4gYSBzaGFkb3cgc3VidHJlZSBpcyBjb3JyZWN0bHkgY291bnRlZC4KK1NlZSA8
YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwOTIyIj5C
dWcgMTAwOTIyPC9hPiBhbHNvLjwvcD4KKworPGRpdiBpZD0iY29udGFpbmVyIj48L2Rpdj4KKzxw
cmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgorCis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdENhc2UoZikK
K3sKKyAgICBjb250YWluZXIuaW5uZXJIVE1MID0gJyc7CisgICAgY29udGFpbmVyLmFwcGVuZENo
aWxkKGNyZWF0ZURPTSgnZGl2JywgeydpZCc6ICdob3N0J30sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjcmVhdGVTaGFkb3dSb290KCkpKTsKKyAgICBzaGFkb3dSb290ID0g
aW50ZXJuYWxzLnNoYWRvd1Jvb3QoaG9zdCk7CisKKyAgICBmKCk7CisgICAgZGVidWcoJycpOwor
fQorCit0ZXN0Q2FzZShmdW5jdGlvbigpCit7CisgICAgZGVidWcoJ0luaXRpYWwgY291bnQgc2hv
dWxkIGJlIDAnKTsKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudFNoYWRvdyhz
aGFkb3dSb290KScsICcwJyk7Cit9KTsKKwordGVzdENhc2UoZnVuY3Rpb24oKQoreworICAgIGRl
YnVnKCdJbnNlcnRlZCBpbnRvIC8gcmVtb3ZlZCBmcm9tIGFuIGVsZW1lbnQgaGF2aW5nIHNoYWRv
dycpOworCisgICAgdmFyIGRpdiA9IGNyZWF0ZURPTSgnZGl2Jywge30sIGNyZWF0ZVNoYWRvd1Jv
b3QoKSk7CisgICAgc2hhZG93Um9vdC5hcHBlbmRDaGlsZChkaXYpOworICAgIHNob3VsZEJlKCdp
bnRlcm5hbHMuY291bnRFbGVtZW50U2hhZG93KHNoYWRvd1Jvb3QpJywgJzEnKTsKKworICAgIHNo
YWRvd1Jvb3QucmVtb3ZlQ2hpbGQoZGl2KTsKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50
RWxlbWVudFNoYWRvdyhzaGFkb3dSb290KScsICcwJyk7Cit9KTsKKwordGVzdENhc2UoZnVuY3Rp
b24oKQoreworICAgIGRlYnVnKCdJbnNlcnRlZCBpbnRvIC8gcmVtb3ZlZCBmcm9tIGFuIGVsZW1l
bnQgaGF2aW5nIG11bHRpcGxlIHNoYWRvdyByb290cycpOworCisgICAgdmFyIGRpdiA9IGNyZWF0
ZURPTSgnZGl2Jywge30sIGNyZWF0ZVNoYWRvd1Jvb3QoKSwgY3JlYXRlU2hhZG93Um9vdCgpKTsK
KworICAgIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoZGl2KTsKKyAgICBzaG91bGRCZSgnaW50ZXJu
YWxzLmNvdW50RWxlbWVudFNoYWRvdyhzaGFkb3dSb290KScsICcxJyk7CisKKyAgICBzaGFkb3dS
b290LnJlbW92ZUNoaWxkKGRpdik7CisgICAgc2hvdWxkQmUoJ2ludGVybmFscy5jb3VudEVsZW1l
bnRTaGFkb3coc2hhZG93Um9vdCknLCAnMCcpOworfSk7CisKK3Rlc3RDYXNlKGZ1bmN0aW9uKCkK
K3sKKyAgICBkZWJ1ZygnU2hhZG93Um9vdCBpcyBhZGRlZCcpOworICAgIHZhciBkaXYgPSBjcmVh
dGVET00oJ2RpdicsIHt9KTsKKyAgICBzaGFkb3dSb290LmFwcGVuZENoaWxkKGRpdik7CisgICAg
c2hvdWxkQmUoJ2ludGVybmFscy5jb3VudEVsZW1lbnRTaGFkb3coc2hhZG93Um9vdCknLCAnMCcp
OworCisgICAgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICBzaG91bGRCZSgnaW50ZXJu
YWxzLmNvdW50RWxlbWVudFNoYWRvdyhzaGFkb3dSb290KScsICcxJyk7CisKKyAgICBuZXcgV2Vi
S2l0U2hhZG93Um9vdChkaXYpOworICAgIHNob3VsZEJlKCdpbnRlcm5hbHMuY291bnRFbGVtZW50
U2hhZG93KHNoYWRvd1Jvb3QpJywgJzEnKTsKK30pOworCit0ZXN0Q2FzZShmdW5jdGlvbigpCit7
CisgICAgZGVidWcoJ1Nob3VsZCBiZSBjb3VudGVkIGJ5IGVhY2ggc2hhZG93IHJvb3QgKG11bHRp
cGxlIHNoYWRvdyByb290IGNhc2UpJyk7CisgICAgeW91bmdlclNoYWRvd1Jvb3QgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChob3N0KTsKKworICAgIHZhciBkaXYgPSBjcmVhdGVET00oJ2RpdicsIHt9
LCBjcmVhdGVTaGFkb3dSb290KCkpOworCisgICAgc2hhZG93Um9vdC5hcHBlbmRDaGlsZChkaXYp
OworICAgIHNob3VsZEJlKCdpbnRlcm5hbHMuY291bnRFbGVtZW50U2hhZG93KHNoYWRvd1Jvb3Qp
JywgJzEnKTsKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudFNoYWRvdyh5b3Vu
Z2VyU2hhZG93Um9vdCknLCAnMCcpOworCisgICAgeW91bmdlclNoYWRvd1Jvb3QuYXBwZW5kQ2hp
bGQoZGl2KTsKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudFNoYWRvdyhzaGFk
b3dSb290KScsICcwJyk7CisgICAgc2hvdWxkQmUoJ2ludGVybmFscy5jb3VudEVsZW1lbnRTaGFk
b3coeW91bmdlclNoYWRvd1Jvb3QpJywgJzEnKTsKK30pOworCit0ZXN0Q2FzZShmdW5jdGlvbigp
Cit7CisgICAgZGVidWcoJ1Nob3VsZCBiZSBjb3VudGVkIGJ5IGVhY2ggc2hhZG93IHJvb3QgKG5l
c3RlZCBzaGFkb3cgcm9vdCBjYXNlKScpOworICAgIHZhciBkaXYgPSBjcmVhdGVET00oJ2Rpdics
IHt9LCBjcmVhdGVTaGFkb3dSb290KCkpOworICAgIG5lc3RlZFNoYWRvd1Jvb3QgPSBpbnRlcm5h
bHMuc2hhZG93Um9vdChkaXYpOworICAgIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoZGl2KTsKKwor
ICAgIHNob3VsZEJlKCdpbnRlcm5hbHMuY291bnRFbGVtZW50U2hhZG93KHNoYWRvd1Jvb3QpJywg
JzEnKTsKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudFNoYWRvdyhuZXN0ZWRT
aGFkb3dSb290KScsICcwJyk7CisKKyAgICBuZXN0ZWRTaGFkb3dSb290LmFwcGVuZENoaWxkKGNy
ZWF0ZURPTSgnZGl2Jywge30sIGNyZWF0ZVNoYWRvd1Jvb3QoKSkpOworCisgICAgc2hvdWxkQmUo
J2ludGVybmFscy5jb3VudEVsZW1lbnRTaGFkb3coc2hhZG93Um9vdCknLCAnMScpOworICAgIHNo
b3VsZEJlKCdpbnRlcm5hbHMuY291bnRFbGVtZW50U2hhZG93KG5lc3RlZFNoYWRvd1Jvb3QpJywg
JzEnKTsKKworICAgIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoY3JlYXRlRE9NKCdkaXYnLCB7fSwg
Y3JlYXRlU2hhZG93Um9vdCgpKSk7CisKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxl
bWVudFNoYWRvdyhzaGFkb3dSb290KScsICcyJyk7CisgICAgc2hvdWxkQmUoJ2ludGVybmFscy5j
b3VudEVsZW1lbnRTaGFkb3cobmVzdGVkU2hhZG93Um9vdCknLCAnMScpOworCisgICAgbmVzdGVk
U2hhZG93Um9vdC5hcHBlbmRDaGlsZChjcmVhdGVET00oJ2RpdicsIHt9LCBjcmVhdGVTaGFkb3dS
b290KCkpKTsKKworICAgIHNob3VsZEJlKCdpbnRlcm5hbHMuY291bnRFbGVtZW50U2hhZG93KHNo
YWRvd1Jvb3QpJywgJzInKTsKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudFNo
YWRvdyhuZXN0ZWRTaGFkb3dSb290KScsICcyJyk7Cit9KTsKKwordGVzdENhc2UoZnVuY3Rpb24o
KQoreworICAgIGRlYnVnKCdTaG91bGQgYmUgY291bnRlZCBieSBlYWNoIHNoYWRvdyByb290IChk
ZWVwIG5lc3RlZCBzaGFkb3cgcm9vdCBjYXNlKScpOworICAgIHZhciBkaXYgPSBjcmVhdGVET00o
J2RpdicsIHt9LCBjcmVhdGVTaGFkb3dSb290KCkpOworICAgIG5lc3RlZFNoYWRvd1Jvb3QgPSBp
bnRlcm5hbHMuc2hhZG93Um9vdChkaXYpOworICAgIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoZGl2
KTsKKworICAgIHNob3VsZEJlKCdpbnRlcm5hbHMuY291bnRFbGVtZW50U2hhZG93KHNoYWRvd1Jv
b3QpJywgJzEnKTsKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudFNoYWRvdyhu
ZXN0ZWRTaGFkb3dSb290KScsICcwJyk7CisKKyAgICB2YXIgZGl2MSA9IGNyZWF0ZURPTSgnZGl2
Jywge30sIGNyZWF0ZVNoYWRvd1Jvb3QoKSk7CisgICAgZGl2MS5zZXRBdHRyaWJ1dGUoJ3RpdGxl
JywgJ2RlYnVnc3RvcCcpOworICAgIGRlZXBOZXN0ZWRTaGFkb3dSb290ID0gaW50ZXJuYWxzLnNo
YWRvd1Jvb3QoZGl2MSk7CisgICAgdmFyIGRpdjIgPSBjcmVhdGVET00oJ2RpdicsIHt9LCBjcmVh
dGVTaGFkb3dSb290KCkpOworICAgIHZhciBzaGFkb3dSb290MiA9IGludGVybmFscy5zaGFkb3dS
b290KGRpdjIpOworCisgICAgZGVlcE5lc3RlZFNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoZGl2Mik7
CisgICAgLy8gV2hlbiBub3QgaW4gZG9jdW1lbnQsIHdlIGRvbid0IGNvdW50IGl0LgorICAgIHNo
b3VsZEJlKCdpbnRlcm5hbHMuY291bnRFbGVtZW50U2hhZG93KGRlZXBOZXN0ZWRTaGFkb3dSb290
KScsICcwJyk7CisKKyAgICBuZXN0ZWRTaGFkb3dSb290LmFwcGVuZENoaWxkKGRpdjEpOworICAg
IHNob3VsZEJlKCdpbnRlcm5hbHMuY291bnRFbGVtZW50U2hhZG93KHNoYWRvd1Jvb3QpJywgJzEn
KTsKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudFNoYWRvdyhuZXN0ZWRTaGFk
b3dSb290KScsICcxJyk7CisgICAgc2hvdWxkQmUoJ2ludGVybmFscy5jb3VudEVsZW1lbnRTaGFk
b3coZGVlcE5lc3RlZFNoYWRvd1Jvb3QpJywgJzEnKTsKKworICAgIGNvbnRhaW5lci5pbm5lckhU
TUwgPSAiIjsKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudFNoYWRvdyhzaGFk
b3dSb290KScsICcwJyk7CisgICAgc2hvdWxkQmUoJ2ludGVybmFscy5jb3VudEVsZW1lbnRTaGFk
b3cobmVzdGVkU2hhZG93Um9vdCknLCAnMCcpOworICAgIHNob3VsZEJlKCdpbnRlcm5hbHMuY291
bnRFbGVtZW50U2hhZG93KGRlZXBOZXN0ZWRTaGFkb3dSb290KScsICcwJyk7Cit9KTsKKworZmlu
aXNoSlNUZXN0KCk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172518</attachid>
            <date>2012-11-06 01:31:18 -0800</date>
            <delta_ts>2012-11-06 02:15:32 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-100922-20121106182930.patch</filename>
            <type>text/plain</type>
            <size>16531</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGFiMjFkNGQ5ZGYxMGM0
MGQ2YmQ5YzQ3Nzk2YjcxZGZmN2MyYjRjOC4uMDgzMWIyYTAwOGNmYTdkYmIyYzU2NWJhZjE5ODMw
MmUxNWE2Y2JhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTExLTA2ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbU2hhZG93XSBT
aGFkb3dSb290IHNob3VsZCBrbm93IHRoZSBleGlzdGVuY2Ugb2YgZWxlbWVudHMgaGF2aW5nIEVs
ZW1lbnRTaGFkb3cuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDA5MjIKKworICAgICAgICBSZXZpZXdlZCBieSBIYWppbWUgTW9yaXRhLgorCisgICAg
ICAgIFdlIGNvdW50IHRoZSBlbGVtZW50cyBoYXZpbmcgRWxlbWVudFNoYWRvdyBpbiBTaGFkb3dS
b290LiBUaGlzIGlzIGEgcHJlcGF0aW9uIHBhdGNoIGZvciB0byBzb2x2ZSBCdWcgMTAwNDUxLgor
ICAgICAgICBXZSBoYXZlIGEgY291bnQtdXAgYW5kIGNvdW50LWRvd24gbG9naW4gaW4gU2hhZG93
Um9vdDo6aW5zZXJ0ZWRJbnRvIGFuZCBTaGFkb3dSb290OjpyZW1vdmVkRnJvbS4KKworICAgICAg
ICBGb3IgcGVyZm9ybWFuY2UgcmVhc29uLCB3ZSBoYXZlIGEgZmxhZyB0aGF0IGFuIGVsZW1lbnQg
c2hvdWxkIGJlIHVucmVnaXN0ZXJlZCBpbiBTaGFkb3dSb290LgorCisgICAgICAgIFRlc3Q6IGZh
c3QvZG9tL3NoYWRvdy9oYXMtZWxlbWVudHNoYWRvdy5odG1sCisKKyAgICAgICAgKiBkb20vU2hh
ZG93Um9vdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290OjpTaGFkb3dSb290KToK
KyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3Q6Omluc2VydGVkSW50byk6IENvdW50IHVwIHRo
ZSBudW1iZXIgb2YgZWxlbWVudHMgaGF2aW5nIEVsZW1lbnRTaGFkb3cuIEVsZW1lbnRTaGFkb3cK
KyAgICAgICAgaXMgY3JlYXRlZCBvbmx5IHdoZW4gdGhlIG9sZGVzdCBTaGFkb3dSb290IGlzIGNy
ZWF0ZWQsIHdlIG9ubHkgY291bnQgdXAgb25seSB3aGVuIHRoaXMgU2hhZG93Um9vdCBpcyBvbGRl
c3QuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3Q6OnJl
bW92ZWRGcm9tKTogQ291bnQgZG93biBpZiB3ZSB1c2VkIHRoaXMgU2hhZG93Um9vdCBmb3IgY291
bnQgdXAuCisgICAgICAgICogZG9tL1NoYWRvd1Jvb3QuaDoKKyAgICAgICAgKFNoYWRvd1Jvb3Qp
OgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6cmVnaXN0ZXJFbGVtZW50U2hhZG93KToK
KyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3Q6OnVucmVnaXN0ZXJFbGVtZW50U2hhZG93KToK
KyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3Q6Omhhc0VsZW1lbnRTaGFkb3cpOgorICAgICAg
ICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6Y291bnRFbGVtZW50U2hhZG93KToKKyAgICAgICAgKiB0
ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmNvdW50
RWxlbWVudFNoYWRvdyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiB0ZXN0aW5nL0lu
dGVybmFscy5oOgorICAgICAgICAoSW50ZXJuYWxzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVy
bmFscy5pZGw6CisKIDIwMTItMTEtMDYgIE5pa2l0YSBWYXNpbHlldiAgPG1lQGVsdjFzLnJ1Pgog
CiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IENvbnNvbGU6IHdyYXAgbG9uZyBVUkxzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vU2hhZG93Um9vdC5jcHAKaW5kZXggODVhMDAyNzY2MzI3ZGQ0YTk3YmExMjM1NWE1MjkxMDFk
Zjg2NTFmZS4uYzYyMzk2YTM2MjAwMmI3YmJhYTY0Mjk2ZWI0M2VlNjY5NTZhZWE3ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9TaGFkb3dSb290LmNwcApAQCAtNTUsOSArNTUsMTEgQEAgU2hhZG93Um9vdDo6U2hh
ZG93Um9vdChEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgLCBtX25leHQoMCkKICAgICAsIG1fYXBw
bHlBdXRob3JTdHlsZXMoZmFsc2UpCiAgICAgLCBtX3Jlc2V0U3R5bGVJbmhlcml0YW5jZShmYWxz
ZSkKKyAgICAsIG1fcmVnaXN0ZXJlZFdpdGhQYXJlbnRTaGFkb3dSb290KGZhbHNlKQogICAgICwg
bV9pbnNlcnRpb25Qb2ludEFzc2lnbmVkVG8oMCkKICAgICAsIG1fbnVtYmVyT2ZTaGFkb3dFbGVt
ZW50Q2hpbGRyZW4oMCkKICAgICAsIG1fbnVtYmVyT2ZDb250ZW50RWxlbWVudENoaWxkcmVuKDAp
CisgICAgLCBtX251bWJlck9mRWxlbWVudFNoYWRvd0NoaWxkcmVuKDApCiAgICAgLCBtX251bWJl
ck9mU3R5bGVzKDApCiB7CiAgICAgQVNTRVJUKGRvY3VtZW50KTsKQEAgLTIzNSw2ICsyMzcsNDIg
QEAgdm9pZCBTaGFkb3dSb290OjphdHRhY2goKQogICAgIHN0eWxlUmVzb2x2ZXItPnBvcFBhcmVu
dFNoYWRvd1Jvb3QodGhpcyk7CiB9CiAKK05vZGU6Okluc2VydGlvbk5vdGlmaWNhdGlvblJlcXVl
c3QgU2hhZG93Um9vdDo6aW5zZXJ0ZWRJbnRvKENvbnRhaW5lck5vZGUqIGluc2VydGlvblBvaW50
KQoreworICAgIERvY3VtZW50RnJhZ21lbnQ6Omluc2VydGVkSW50byhpbnNlcnRpb25Qb2ludCk7
CisKKyAgICBpZiAoIWluc2VydGlvblBvaW50LT5pbkRvY3VtZW50KCkgfHwgIWlzT2xkZXN0KCkp
CisgICAgICAgIHJldHVybiBJbnNlcnRpb25Eb25lOworCisgICAgLy8gRklYTUU6IFdoZW4gcGFy
c2luZyA8dmlkZW8gY29udHJvbHM+LCBpbnNlcnRlZEludG8oKSBpcyBjYWxsZWQgbWFueSB0aW1l
cyB3aXRob3V0IGludm9raW5nIHJlbW92ZWRGcm9tLgorICAgIC8vIEZvciBub3csIHdlIGNoZWNr
IG1fcmVnaXN0ZXJlZFdpdGhQYXJlbnRTaGFkb3dyb290LiBXZSB3b3VsZCBsaWtlIHRvIEFTU0VS
VCghbV9yZWdpc3RlcmVkU2hhZG93Um9vdCkgaGVyZS4KKyAgICAvLyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jaWc/aWQ9MTAxMzE2CisgICAgaWYgKG1fcmVnaXN0ZXJlZFdpdGhQ
YXJlbnRTaGFkb3dSb290KQorICAgICAgICByZXR1cm4gSW5zZXJ0aW9uRG9uZTsKKworICAgIGlm
IChTaGFkb3dSb290KiByb290ID0gaG9zdCgpLT5zaGFkb3dSb290KCkpIHsKKyAgICAgICAgcm9v
dC0+cmVnaXN0ZXJFbGVtZW50U2hhZG93KCk7CisgICAgICAgIG1fcmVnaXN0ZXJlZFdpdGhQYXJl
bnRTaGFkb3dSb290ID0gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1cm4gSW5zZXJ0aW9uRG9uZTsK
K30KKwordm9pZCBTaGFkb3dSb290OjpyZW1vdmVkRnJvbShDb250YWluZXJOb2RlKiBpbnNlcnRp
b25Qb2ludCkKK3sKKyAgICBpZiAoaW5zZXJ0aW9uUG9pbnQtPmluRG9jdW1lbnQoKSAmJiBtX3Jl
Z2lzdGVyZWRXaXRoUGFyZW50U2hhZG93Um9vdCkgeworICAgICAgICBTaGFkb3dSb290KiByb290
ID0gaG9zdCgpLT5zaGFkb3dSb290KCk7CisgICAgICAgIGlmICghcm9vdCkKKyAgICAgICAgICAg
IHJvb3QgPSBpbnNlcnRpb25Qb2ludC0+c2hhZG93Um9vdCgpOworCisgICAgICAgIGlmIChyb290
KQorICAgICAgICAgICAgcm9vdC0+dW5yZWdpc3RlckVsZW1lbnRTaGFkb3coKTsKKyAgICAgICAg
bV9yZWdpc3RlcmVkV2l0aFBhcmVudFNoYWRvd1Jvb3QgPSBmYWxzZTsKKyAgICB9CisKKyAgICBE
b2N1bWVudEZyYWdtZW50OjpyZW1vdmVkRnJvbShpbnNlcnRpb25Qb2ludCk7Cit9CisKIHZvaWQg
U2hhZG93Um9vdDo6Y2hpbGRyZW5DaGFuZ2VkKGJvb2wgY2hhbmdlZEJ5UGFyc2VyLCBOb2RlKiBi
ZWZvcmVDaGFuZ2UsIE5vZGUqIGFmdGVyQ2hhbmdlLCBpbnQgY2hpbGRDb3VudERlbHRhKQogewog
ICAgIENvbnRhaW5lck5vZGU6OmNoaWxkcmVuQ2hhbmdlZChjaGFuZ2VkQnlQYXJzZXIsIGJlZm9y
ZUNoYW5nZSwgYWZ0ZXJDaGFuZ2UsIGNoaWxkQ291bnREZWx0YSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jv
b3QuaAppbmRleCAwY2MwYTg0N2JkMzBiNjY1NGM4NWY5M2ViMzhmMzA3N2I0NGU2MTg2Li4wNjc1
NDI3ZWM0YzA5MmNjNjNlNWE4MmVjOGQ1YzNmODkwYjZkOGY4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2hhZG93Um9vdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dS
b290LmgKQEAgLTgzLDYgKzgzLDkgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGF0dGFj
aCgpOwogCisgICAgdmlydHVhbCBJbnNlcnRpb25Ob3RpZmljYXRpb25SZXF1ZXN0IGluc2VydGVk
SW50byhDb250YWluZXJOb2RlKikgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHJlbW92ZWRG
cm9tKENvbnRhaW5lck5vZGUqKSBPVkVSUklERTsKKwogICAgIGJvb2wgaXNVc2VkRm9yUmVuZGVy
aW5nKCkgY29uc3Q7CiAgICAgSW5zZXJ0aW9uUG9pbnQqIGFzc2lnbmVkVG8oKSBjb25zdDsKICAg
ICB2b2lkIHNldEFzc2lnbmVkVG8oSW5zZXJ0aW9uUG9pbnQqKTsKQEAgLTk1LDYgKzk4LDExIEBA
IHB1YmxpYzoKICAgICB2b2lkIHVucmVnaXN0ZXJDb250ZW50RWxlbWVudCgpIHsgLS1tX251bWJl
ck9mQ29udGVudEVsZW1lbnRDaGlsZHJlbjsgfQogICAgIGJvb2wgaGFzQ29udGVudEVsZW1lbnQo
KSBjb25zdCB7IHJldHVybiBtX251bWJlck9mQ29udGVudEVsZW1lbnRDaGlsZHJlbiA+IDA7IH0K
IAorICAgIHZvaWQgcmVnaXN0ZXJFbGVtZW50U2hhZG93KCkgeyArK21fbnVtYmVyT2ZFbGVtZW50
U2hhZG93Q2hpbGRyZW47IH0KKyAgICB2b2lkIHVucmVnaXN0ZXJFbGVtZW50U2hhZG93KCkgeyBB
U1NFUlQoaGFzRWxlbWVudFNoYWRvdygpKTsgLS1tX251bWJlck9mRWxlbWVudFNoYWRvd0NoaWxk
cmVuOyB9CisgICAgYm9vbCBoYXNFbGVtZW50U2hhZG93KCkgY29uc3QgeyByZXR1cm4gbV9udW1i
ZXJPZkVsZW1lbnRTaGFkb3dDaGlsZHJlbiA+IDA7IH0KKyAgICBzaXplX3QgY291bnRFbGVtZW50
U2hhZG93KCkgY29uc3QgeyByZXR1cm4gbV9udW1iZXJPZkVsZW1lbnRTaGFkb3dDaGlsZHJlbjsg
fQorCiAgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKSBPVkVS
UklERTsKICAgICB2aXJ0dWFsIHZvaWQgdW5yZWdpc3RlclNjb3BlZEhUTUxTdHlsZUNoaWxkKCkg
T1ZFUlJJREU7CiAKQEAgLTExOSw5ICsxMjcsMTEgQEAgcHJpdmF0ZToKICAgICBib29sIG1fYXBw
bHlBdXRob3JTdHlsZXMgOiAxOwogICAgIGJvb2wgbV9yZXNldFN0eWxlSW5oZXJpdGFuY2UgOiAx
OwogICAgIGJvb2wgbV9pc0F1dGhvclNoYWRvd1Jvb3QgOiAxOworICAgIGJvb2wgbV9yZWdpc3Rl
cmVkV2l0aFBhcmVudFNoYWRvd1Jvb3QgOiAxOwogICAgIEluc2VydGlvblBvaW50KiBtX2luc2Vy
dGlvblBvaW50QXNzaWduZWRUbzsKICAgICBzaXplX3QgbV9udW1iZXJPZlNoYWRvd0VsZW1lbnRD
aGlsZHJlbjsKICAgICBzaXplX3QgbV9udW1iZXJPZkNvbnRlbnRFbGVtZW50Q2hpbGRyZW47Cisg
ICAgc2l6ZV90IG1fbnVtYmVyT2ZFbGVtZW50U2hhZG93Q2hpbGRyZW47CiAgICAgc2l6ZV90IG1f
bnVtYmVyT2ZTdHlsZXM7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5k
ZXggMmFmNDU1ZDI3YTk3ZDBkMWYxNTU0NWM3ZTFlYmNmMzgwNDk5Zjg4Zi4uYjQ1M2ZiN2UzZmIx
ODg5ZWNjMDRmYjM4MzAwODIwN2ZkYjNiOWM0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcApAQCAtMzI0LDYgKzMyNCwxNiBAQCBib29sIEludGVybmFsczo6aGFzQ29udGVudEVs
ZW1lbnQoY29uc3QgTm9kZSogcm9vdCwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0CiAgICAgcmV0
dXJuIDA7CiB9CiAKK3NpemVfdCBJbnRlcm5hbHM6OmNvdW50RWxlbWVudFNoYWRvdyhjb25zdCBO
b2RlKiByb290LCBFeGNlcHRpb25Db2RlJiBlYykgY29uc3QKK3sKKyAgICBpZiAoIXJvb3QgfHwg
IXJvb3QtPmlzU2hhZG93Um9vdCgpKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJS
OworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICByZXR1cm4gdG9TaGFkb3dSb290KHJv
b3QpLT5jb3VudEVsZW1lbnRTaGFkb3coKTsKK30KKwogYm9vbCBJbnRlcm5hbHM6OmF0dGFjaGVk
KE5vZGUqIG5vZGUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlmICghbm9kZSkgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggZjk0YWFkNjFhOTZiMDcwOGU0MWI4ZmExYzJl
YTU3Y2YwMDhjMGUxNi4uMjExMTczOTdjODExYzg1OGYzYjFmNDlmYzU3ZDE2YWMyNWE3MTEyMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC04Niw2ICs4Niw3IEBAIHB1YmxpYzoK
ICAgICBTdHJpbmcgc2hhZG93Um9vdFR5cGUoY29uc3QgTm9kZSosIEV4Y2VwdGlvbkNvZGUmKSBj
b25zdDsKICAgICBib29sIGhhc1NoYWRvd0luc2VydGlvblBvaW50KGNvbnN0IE5vZGUqLCBFeGNl
cHRpb25Db2RlJikgY29uc3Q7CiAgICAgYm9vbCBoYXNDb250ZW50RWxlbWVudChjb25zdCBOb2Rl
KiwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OworICAgIHNpemVfdCBjb3VudEVsZW1lbnRTaGFkb3co
Y29uc3QgTm9kZSosIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKICAgICBFbGVtZW50KiBpbmNsdWRl
ckZvcihOb2RlKiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIFN0cmluZyBzaGFkb3dQc2V1ZG9JZChF
bGVtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgc2V0U2hhZG93UHNldWRvSWQoRWxl
bWVudCosIGNvbnN0IFN0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmlkbAppbmRleCA1ZWRjNWJmMWU2NjExMjM0ODczMjJkNTUxZGYxZGU0M2I4Mjc3
MjZlLi43YTVhYjdiOTBlZGI2NGI2NTBkYzM0MzdiNDNhMWQ2OTk3MWIwMWFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC01MCw2ICs1MCw3IEBACiAgICAgRE9NU3RyaW5n
IHNoYWRvd1Jvb3RUeXBlKGluIE5vZGUgcm9vdCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogICAg
IGJvb2xlYW4gaGFzU2hhZG93SW5zZXJ0aW9uUG9pbnQoaW4gTm9kZSByb290KSByYWlzZXMgKERP
TUV4Y2VwdGlvbik7CiAgICAgYm9vbGVhbiBoYXNDb250ZW50RWxlbWVudChpbiBOb2RlIHJvb3Qp
IHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAgICB1bnNpZ25lZCBsb25nIGNvdW50RWxlbWVudFNo
YWRvdyhpbiBOb2RlIFJvb3QpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICBFbGVtZW50IGlu
Y2x1ZGVyRm9yKGluIE5vZGUgbm9kZSkgcmFpc2VzIChET01FeGNlcHRpb24pOwogICAgIERPTVN0
cmluZyBzaGFkb3dQc2V1ZG9JZChpbiBFbGVtZW50IGVsZW1lbnQpIHJhaXNlcyAoRE9NRXhjZXB0
aW9uKTsKICAgICB2b2lkIHNldFNoYWRvd1BzZXVkb0lkKGluIEVsZW1lbnQgZWxlbWVudCwgaW4g
RE9NU3RyaW5nIGlkKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTE1NjRiZGRhOWUx
OWI3ODY2N2I0ZWU4MTM1NjBhZDcxZDJjMTA5NC4uMTIyN2ZjN2UxOTVmMmRiOGNiOWIzZDI5MzA5
YzMwZDYyYTQ3YzA3ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTExLTA2ICBTaGlueWEg
S2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbU2hhZG93XSBTaGFk
b3dSb290IHNob3VsZCBrbm93IHRoZSBleGlzdGVuY2Ugb2YgZWxlbWVudHMgaGF2aW5nIEVsZW1l
bnRTaGFkb3cuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDA5MjIKKworICAgICAgICBSZXZpZXdlZCBieSBIYWppbWUgTW9yaXRhLgorCisgICAgICAg
ICogZmFzdC9kb20vc2hhZG93L2hhcy1lbGVtZW50c2hhZG93LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2hhcy1lbGVtZW50c2hhZG93Lmh0bWw6IEFkZGVk
LgorCiAyMDEyLTExLTA1ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgW1F0XSBVbnJldmlld2VkIG1vcm5pbmcgZ2FyZGVuaW5nLCBza2lwIG5ldyBmYWls
aW5nIHRlc3RzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2hhcy1l
bGVtZW50c2hhZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9o
YXMtZWxlbWVudHNoYWRvdy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTJmZDVhNTkwNTQ4YjJh
OGYzYzAzYzM4YmMzYzhjYzk0OGI1NTdiMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9oYXMtZWxlbWVudHNoYWRvdy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw0OSBAQAorVGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQgdGhlIG51bWJlciBvZiBlbGVtZW50cyBo
YXZpbmcgU2hhZG93IGluIGEgc2hhZG93IHN1YnRyZWUgaXMgY29ycmVjdGx5IGNvdW50ZWQuIFNl
ZSBCdWcgMTAwOTIyIGFsc28uCisKK0luaXRpYWwgY291bnQgc2hvdWxkIGJlIDAKK1BBU1MgaW50
ZXJuYWxzLmNvdW50RWxlbWVudFNoYWRvdyhzaGFkb3dSb290KSBpcyAwCisKK0luc2VydGVkIGlu
dG8gLyByZW1vdmVkIGZyb20gYW4gZWxlbWVudCBoYXZpbmcgc2hhZG93CitQQVNTIGludGVybmFs
cy5jb3VudEVsZW1lbnRTaGFkb3coc2hhZG93Um9vdCkgaXMgMQorUEFTUyBpbnRlcm5hbHMuY291
bnRFbGVtZW50U2hhZG93KHNoYWRvd1Jvb3QpIGlzIDAKKworSW5zZXJ0ZWQgaW50byAvIHJlbW92
ZWQgZnJvbSBhbiBlbGVtZW50IGhhdmluZyBtdWx0aXBsZSBzaGFkb3cgcm9vdHMKK1BBU1MgaW50
ZXJuYWxzLmNvdW50RWxlbWVudFNoYWRvdyhzaGFkb3dSb290KSBpcyAxCitQQVNTIGludGVybmFs
cy5jb3VudEVsZW1lbnRTaGFkb3coc2hhZG93Um9vdCkgaXMgMAorCitTaGFkb3dSb290IGlzIGFk
ZGVkCitQQVNTIGludGVybmFscy5jb3VudEVsZW1lbnRTaGFkb3coc2hhZG93Um9vdCkgaXMgMAor
UEFTUyBpbnRlcm5hbHMuY291bnRFbGVtZW50U2hhZG93KHNoYWRvd1Jvb3QpIGlzIDEKK1BBU1Mg
aW50ZXJuYWxzLmNvdW50RWxlbWVudFNoYWRvdyhzaGFkb3dSb290KSBpcyAxCisKK1Nob3VsZCBi
ZSBjb3VudGVkIGJ5IGVhY2ggc2hhZG93IHJvb3QgKG11bHRpcGxlIHNoYWRvdyByb290IGNhc2Up
CitQQVNTIGludGVybmFscy5jb3VudEVsZW1lbnRTaGFkb3coc2hhZG93Um9vdCkgaXMgMQorUEFT
UyBpbnRlcm5hbHMuY291bnRFbGVtZW50U2hhZG93KHlvdW5nZXJTaGFkb3dSb290KSBpcyAwCitQ
QVNTIGludGVybmFscy5jb3VudEVsZW1lbnRTaGFkb3coc2hhZG93Um9vdCkgaXMgMAorUEFTUyBp
bnRlcm5hbHMuY291bnRFbGVtZW50U2hhZG93KHlvdW5nZXJTaGFkb3dSb290KSBpcyAxCisKK1No
b3VsZCBiZSBjb3VudGVkIGJ5IGVhY2ggc2hhZG93IHJvb3QgKG5lc3RlZCBzaGFkb3cgcm9vdCBj
YXNlKQorUEFTUyBpbnRlcm5hbHMuY291bnRFbGVtZW50U2hhZG93KHNoYWRvd1Jvb3QpIGlzIDEK
K1BBU1MgaW50ZXJuYWxzLmNvdW50RWxlbWVudFNoYWRvdyhuZXN0ZWRTaGFkb3dSb290KSBpcyAw
CitQQVNTIGludGVybmFscy5jb3VudEVsZW1lbnRTaGFkb3coc2hhZG93Um9vdCkgaXMgMQorUEFT
UyBpbnRlcm5hbHMuY291bnRFbGVtZW50U2hhZG93KG5lc3RlZFNoYWRvd1Jvb3QpIGlzIDEKK1BB
U1MgaW50ZXJuYWxzLmNvdW50RWxlbWVudFNoYWRvdyhzaGFkb3dSb290KSBpcyAyCitQQVNTIGlu
dGVybmFscy5jb3VudEVsZW1lbnRTaGFkb3cobmVzdGVkU2hhZG93Um9vdCkgaXMgMQorUEFTUyBp
bnRlcm5hbHMuY291bnRFbGVtZW50U2hhZG93KHNoYWRvd1Jvb3QpIGlzIDIKK1BBU1MgaW50ZXJu
YWxzLmNvdW50RWxlbWVudFNoYWRvdyhuZXN0ZWRTaGFkb3dSb290KSBpcyAyCisKK1Nob3VsZCBi
ZSBjb3VudGVkIGJ5IGVhY2ggc2hhZG93IHJvb3QgKGRlZXAgbmVzdGVkIHNoYWRvdyByb290IGNh
c2UpCitQQVNTIGludGVybmFscy5jb3VudEVsZW1lbnRTaGFkb3coc2hhZG93Um9vdCkgaXMgMQor
UEFTUyBpbnRlcm5hbHMuY291bnRFbGVtZW50U2hhZG93KG5lc3RlZFNoYWRvd1Jvb3QpIGlzIDAK
K1BBU1MgaW50ZXJuYWxzLmNvdW50RWxlbWVudFNoYWRvdyhkZWVwTmVzdGVkU2hhZG93Um9vdCkg
aXMgMAorUEFTUyBpbnRlcm5hbHMuY291bnRFbGVtZW50U2hhZG93KHNoYWRvd1Jvb3QpIGlzIDEK
K1BBU1MgaW50ZXJuYWxzLmNvdW50RWxlbWVudFNoYWRvdyhuZXN0ZWRTaGFkb3dSb290KSBpcyAx
CitQQVNTIGludGVybmFscy5jb3VudEVsZW1lbnRTaGFkb3coZGVlcE5lc3RlZFNoYWRvd1Jvb3Qp
IGlzIDEKK1BBU1MgaW50ZXJuYWxzLmNvdW50RWxlbWVudFNoYWRvdyhzaGFkb3dSb290KSBpcyAw
CitQQVNTIGludGVybmFscy5jb3VudEVsZW1lbnRTaGFkb3cobmVzdGVkU2hhZG93Um9vdCkgaXMg
MAorUEFTUyBpbnRlcm5hbHMuY291bnRFbGVtZW50U2hhZG93KGRlZXBOZXN0ZWRTaGFkb3dSb290
KSBpcyAwCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaGFzLWVsZW1lbnRz
aGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9oYXMtZWxlbWVudHNoYWRv
dy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY3ZjVkMWE3MWZjNDg5ZDRiMTk0YWMwOTI3Nzk1NWNmMDg2YjEw
YTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaGFzLWVs
ZW1lbnRzaGFkb3cuaHRtbApAQCAtMCwwICsxLDE1MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3BvbHlmaWxsLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhZG93LWRvbS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKworPHA+VGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQgdGhlIG51bWJlciBvZiBl
bGVtZW50cyBoYXZpbmcgU2hhZG93IGluIGEgc2hhZG93IHN1YnRyZWUgaXMgY29ycmVjdGx5IGNv
dW50ZWQuCitTZWUgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwMDkyMiI+QnVnIDEwMDkyMjwvYT4gYWxzby48L3A+CisKKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+PC9kaXY+Cis8cHJlIGlkPSJjb25zb2xlIj48L3ByZT4KKworPHNjcmlwdD4KK2Z1bmN0aW9u
IHRlc3RDYXNlKGYpCit7CisgICAgY29udGFpbmVyLmlubmVySFRNTCA9ICcnOworICAgIGNvbnRh
aW5lci5hcHBlbmRDaGlsZChjcmVhdGVET00oJ2RpdicsIHsnaWQnOiAnaG9zdCd9LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlU2hhZG93Um9vdCgpKSk7CisgICAg
c2hhZG93Um9vdCA9IGludGVybmFscy5zaGFkb3dSb290KGhvc3QpOworCisgICAgZigpOworICAg
IGRlYnVnKCcnKTsKK30KKwordGVzdENhc2UoZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCdJbml0
aWFsIGNvdW50IHNob3VsZCBiZSAwJyk7CisgICAgc2hvdWxkQmUoJ2ludGVybmFscy5jb3VudEVs
ZW1lbnRTaGFkb3coc2hhZG93Um9vdCknLCAnMCcpOworfSk7CisKK3Rlc3RDYXNlKGZ1bmN0aW9u
KCkKK3sKKyAgICBkZWJ1ZygnSW5zZXJ0ZWQgaW50byAvIHJlbW92ZWQgZnJvbSBhbiBlbGVtZW50
IGhhdmluZyBzaGFkb3cnKTsKKworICAgIHZhciBkaXYgPSBjcmVhdGVET00oJ2RpdicsIHt9LCBj
cmVhdGVTaGFkb3dSb290KCkpOworICAgIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoZGl2KTsKKyAg
ICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudFNoYWRvdyhzaGFkb3dSb290KScsICcx
Jyk7CisKKyAgICBzaGFkb3dSb290LnJlbW92ZUNoaWxkKGRpdik7CisgICAgc2hvdWxkQmUoJ2lu
dGVybmFscy5jb3VudEVsZW1lbnRTaGFkb3coc2hhZG93Um9vdCknLCAnMCcpOworfSk7CisKK3Rl
c3RDYXNlKGZ1bmN0aW9uKCkKK3sKKyAgICBkZWJ1ZygnSW5zZXJ0ZWQgaW50byAvIHJlbW92ZWQg
ZnJvbSBhbiBlbGVtZW50IGhhdmluZyBtdWx0aXBsZSBzaGFkb3cgcm9vdHMnKTsKKworICAgIHZh
ciBkaXYgPSBjcmVhdGVET00oJ2RpdicsIHt9LCBjcmVhdGVTaGFkb3dSb290KCksIGNyZWF0ZVNo
YWRvd1Jvb3QoKSk7CisKKyAgICBzaGFkb3dSb290LmFwcGVuZENoaWxkKGRpdik7CisgICAgc2hv
dWxkQmUoJ2ludGVybmFscy5jb3VudEVsZW1lbnRTaGFkb3coc2hhZG93Um9vdCknLCAnMScpOwor
CisgICAgc2hhZG93Um9vdC5yZW1vdmVDaGlsZChkaXYpOworICAgIHNob3VsZEJlKCdpbnRlcm5h
bHMuY291bnRFbGVtZW50U2hhZG93KHNoYWRvd1Jvb3QpJywgJzAnKTsKK30pOworCit0ZXN0Q2Fz
ZShmdW5jdGlvbigpCit7CisgICAgZGVidWcoJ1NoYWRvd1Jvb3QgaXMgYWRkZWQnKTsKKyAgICB2
YXIgZGl2ID0gY3JlYXRlRE9NKCdkaXYnLCB7fSk7CisgICAgc2hhZG93Um9vdC5hcHBlbmRDaGls
ZChkaXYpOworICAgIHNob3VsZEJlKCdpbnRlcm5hbHMuY291bnRFbGVtZW50U2hhZG93KHNoYWRv
d1Jvb3QpJywgJzAnKTsKKworICAgIG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgc2hv
dWxkQmUoJ2ludGVybmFscy5jb3VudEVsZW1lbnRTaGFkb3coc2hhZG93Um9vdCknLCAnMScpOwor
CisgICAgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxz
LmNvdW50RWxlbWVudFNoYWRvdyhzaGFkb3dSb290KScsICcxJyk7Cit9KTsKKwordGVzdENhc2Uo
ZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCdTaG91bGQgYmUgY291bnRlZCBieSBlYWNoIHNoYWRv
dyByb290IChtdWx0aXBsZSBzaGFkb3cgcm9vdCBjYXNlKScpOworICAgIHlvdW5nZXJTaGFkb3dS
b290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CisKKyAgICB2YXIgZGl2ID0gY3JlYXRl
RE9NKCdkaXYnLCB7fSwgY3JlYXRlU2hhZG93Um9vdCgpKTsKKworICAgIHNoYWRvd1Jvb3QuYXBw
ZW5kQ2hpbGQoZGl2KTsKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudFNoYWRv
dyhzaGFkb3dSb290KScsICcxJyk7CisgICAgc2hvdWxkQmUoJ2ludGVybmFscy5jb3VudEVsZW1l
bnRTaGFkb3coeW91bmdlclNoYWRvd1Jvb3QpJywgJzAnKTsKKworICAgIHlvdW5nZXJTaGFkb3dS
b290LmFwcGVuZENoaWxkKGRpdik7CisgICAgc2hvdWxkQmUoJ2ludGVybmFscy5jb3VudEVsZW1l
bnRTaGFkb3coc2hhZG93Um9vdCknLCAnMCcpOworICAgIHNob3VsZEJlKCdpbnRlcm5hbHMuY291
bnRFbGVtZW50U2hhZG93KHlvdW5nZXJTaGFkb3dSb290KScsICcxJyk7Cit9KTsKKwordGVzdENh
c2UoZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCdTaG91bGQgYmUgY291bnRlZCBieSBlYWNoIHNo
YWRvdyByb290IChuZXN0ZWQgc2hhZG93IHJvb3QgY2FzZSknKTsKKyAgICB2YXIgZGl2ID0gY3Jl
YXRlRE9NKCdkaXYnLCB7fSwgY3JlYXRlU2hhZG93Um9vdCgpKTsKKyAgICBuZXN0ZWRTaGFkb3dS
b290ID0gaW50ZXJuYWxzLnNoYWRvd1Jvb3QoZGl2KTsKKyAgICBzaGFkb3dSb290LmFwcGVuZENo
aWxkKGRpdik7CisKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudFNoYWRvdyhz
aGFkb3dSb290KScsICcxJyk7CisgICAgc2hvdWxkQmUoJ2ludGVybmFscy5jb3VudEVsZW1lbnRT
aGFkb3cobmVzdGVkU2hhZG93Um9vdCknLCAnMCcpOworCisgICAgbmVzdGVkU2hhZG93Um9vdC5h
cHBlbmRDaGlsZChjcmVhdGVET00oJ2RpdicsIHt9LCBjcmVhdGVTaGFkb3dSb290KCkpKTsKKwor
ICAgIHNob3VsZEJlKCdpbnRlcm5hbHMuY291bnRFbGVtZW50U2hhZG93KHNoYWRvd1Jvb3QpJywg
JzEnKTsKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudFNoYWRvdyhuZXN0ZWRT
aGFkb3dSb290KScsICcxJyk7CisKKyAgICBzaGFkb3dSb290LmFwcGVuZENoaWxkKGNyZWF0ZURP
TSgnZGl2Jywge30sIGNyZWF0ZVNoYWRvd1Jvb3QoKSkpOworCisgICAgc2hvdWxkQmUoJ2ludGVy
bmFscy5jb3VudEVsZW1lbnRTaGFkb3coc2hhZG93Um9vdCknLCAnMicpOworICAgIHNob3VsZEJl
KCdpbnRlcm5hbHMuY291bnRFbGVtZW50U2hhZG93KG5lc3RlZFNoYWRvd1Jvb3QpJywgJzEnKTsK
KworICAgIG5lc3RlZFNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoY3JlYXRlRE9NKCdkaXYnLCB7fSwg
Y3JlYXRlU2hhZG93Um9vdCgpKSk7CisKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxl
bWVudFNoYWRvdyhzaGFkb3dSb290KScsICcyJyk7CisgICAgc2hvdWxkQmUoJ2ludGVybmFscy5j
b3VudEVsZW1lbnRTaGFkb3cobmVzdGVkU2hhZG93Um9vdCknLCAnMicpOworfSk7CisKK3Rlc3RD
YXNlKGZ1bmN0aW9uKCkKK3sKKyAgICBkZWJ1ZygnU2hvdWxkIGJlIGNvdW50ZWQgYnkgZWFjaCBz
aGFkb3cgcm9vdCAoZGVlcCBuZXN0ZWQgc2hhZG93IHJvb3QgY2FzZSknKTsKKyAgICB2YXIgZGl2
ID0gY3JlYXRlRE9NKCdkaXYnLCB7fSwgY3JlYXRlU2hhZG93Um9vdCgpKTsKKyAgICBuZXN0ZWRT
aGFkb3dSb290ID0gaW50ZXJuYWxzLnNoYWRvd1Jvb3QoZGl2KTsKKyAgICBzaGFkb3dSb290LmFw
cGVuZENoaWxkKGRpdik7CisKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudFNo
YWRvdyhzaGFkb3dSb290KScsICcxJyk7CisgICAgc2hvdWxkQmUoJ2ludGVybmFscy5jb3VudEVs
ZW1lbnRTaGFkb3cobmVzdGVkU2hhZG93Um9vdCknLCAnMCcpOworCisgICAgdmFyIGRpdjEgPSBj
cmVhdGVET00oJ2RpdicsIHt9LCBjcmVhdGVTaGFkb3dSb290KCkpOworICAgIGRpdjEuc2V0QXR0
cmlidXRlKCd0aXRsZScsICdkZWJ1Z3N0b3AnKTsKKyAgICBkZWVwTmVzdGVkU2hhZG93Um9vdCA9
IGludGVybmFscy5zaGFkb3dSb290KGRpdjEpOworICAgIHZhciBkaXYyID0gY3JlYXRlRE9NKCdk
aXYnLCB7fSwgY3JlYXRlU2hhZG93Um9vdCgpKTsKKyAgICB2YXIgc2hhZG93Um9vdDIgPSBpbnRl
cm5hbHMuc2hhZG93Um9vdChkaXYyKTsKKworICAgIGRlZXBOZXN0ZWRTaGFkb3dSb290LmFwcGVu
ZENoaWxkKGRpdjIpOworICAgIC8vIFdoZW4gbm90IGluIGRvY3VtZW50LCB3ZSBkb24ndCBjb3Vu
dCBpdC4KKyAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudFNoYWRvdyhkZWVwTmVz
dGVkU2hhZG93Um9vdCknLCAnMCcpOworCisgICAgbmVzdGVkU2hhZG93Um9vdC5hcHBlbmRDaGls
ZChkaXYxKTsKKyAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudFNoYWRvdyhzaGFk
b3dSb290KScsICcxJyk7CisgICAgc2hvdWxkQmUoJ2ludGVybmFscy5jb3VudEVsZW1lbnRTaGFk
b3cobmVzdGVkU2hhZG93Um9vdCknLCAnMScpOworICAgIHNob3VsZEJlKCdpbnRlcm5hbHMuY291
bnRFbGVtZW50U2hhZG93KGRlZXBOZXN0ZWRTaGFkb3dSb290KScsICcxJyk7CisKKyAgICBjb250
YWluZXIuaW5uZXJIVE1MID0gIiI7CisgICAgc2hvdWxkQmUoJ2ludGVybmFscy5jb3VudEVsZW1l
bnRTaGFkb3coc2hhZG93Um9vdCknLCAnMCcpOworICAgIHNob3VsZEJlKCdpbnRlcm5hbHMuY291
bnRFbGVtZW50U2hhZG93KG5lc3RlZFNoYWRvd1Jvb3QpJywgJzAnKTsKKyAgICBzaG91bGRCZSgn
aW50ZXJuYWxzLmNvdW50RWxlbWVudFNoYWRvdyhkZWVwTmVzdGVkU2hhZG93Um9vdCknLCAnMCcp
OworfSk7CisKK2ZpbmlzaEpTVGVzdCgpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>