<?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>59861</bug_id>
          
          <creation_ts>2011-04-29 20:53:01 -0700</creation_ts>
          <short_desc>Enable strict OwnPtr for GTK</short_desc>
          <delta_ts>2011-04-30 21:16:50 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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>59428</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>gustavo.noronha</cc>
    
    <cc>gustavo</cc>
    
    <cc>mrobinson</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>395749</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-29 20:53:01 -0700</bug_when>
    <thetext>Enable strict OwnPtr for GTK</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395751</commentid>
    <comment_count>1</comment_count>
      <attachid>91795</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-29 21:10:58 -0700</bug_when>
    <thetext>Created attachment 91795
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395778</commentid>
    <comment_count>2</comment_count>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-04-30 00:20:43 -0700</bug_when>
    <thetext>Attachment 91795 did not build on gtk:
Build output: http://queues.webkit.org/results/8530025</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395827</commentid>
    <comment_count>3</comment_count>
      <attachid>91806</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-04-30 14:22:38 -0700</bug_when>
    <thetext>Created attachment 91806
Updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395828</commentid>
    <comment_count>4</comment_count>
      <attachid>91806</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-30 14:27:14 -0700</bug_when>
    <thetext>Comment on attachment 91806
Updated patch

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

&gt; Source/WebCore/page/Geolocation.cpp:220
&gt; -    , m_service(GeolocationService::create(this))
&gt; +    , m_service(adoptPtr(GeolocationService::create(this)))

Should GeolocationService::create return a PassOwnPtr instead?

&gt; Source/WebCore/platform/graphics/cairo/PathCairo.cpp:56
&gt; +    OwnPtr&lt;cairo_path_t&gt; pathCopy(adoptPtr(cairo_copy_path(other.platformPath()-&gt;context())));

We tend to prefer the assignment form of the constructor for OwnPtr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395845</commentid>
    <comment_count>5</comment_count>
      <attachid>91810</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-04-30 18:46:01 -0700</bug_when>
    <thetext>Created attachment 91810
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395846</commentid>
    <comment_count>6</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-04-30 18:50:36 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 91806 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=91806&amp;action=review

Thanks for the quick review.

&gt; &gt; Source/WebCore/page/Geolocation.cpp:220
&gt; &gt; -    , m_service(GeolocationService::create(this))
&gt; &gt; +    , m_service(adoptPtr(GeolocationService::create(this)))
&gt; 
&gt; Should GeolocationService::create return a PassOwnPtr instead?

Indeed it should. I&apos;ve made this change and pushed the fixes down to all the GeolocationService factory methods.

&gt; 
&gt; &gt; Source/WebCore/platform/graphics/cairo/PathCairo.cpp:56
&gt; &gt; +    OwnPtr&lt;cairo_path_t&gt; pathCopy(adoptPtr(cairo_copy_path(other.platformPath()-&gt;context())));
&gt; We tend to prefer the assignment form of the constructor for OwnPtr.

Fixed! I think I&apos;ll write an email to propose this for the style guide.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395850</commentid>
    <comment_count>7</comment_count>
      <attachid>91810</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-30 21:16:44 -0700</bug_when>
    <thetext>Comment on attachment 91810
Patch

Clearing flags on attachment: 91810

Committed r85405: &lt;http://trac.webkit.org/changeset/85405&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395851</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-30 21:16:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91795</attachid>
            <date>2011-04-29 21:10:58 -0700</date>
            <delta_ts>2011-04-30 14:22:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59861-20110429211056.patch</filename>
            <type>text/plain</type>
            <size>1048</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODUzODYpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAK
KzIwMTEtMDQtMjkgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbmFibGUgc3RyaWN0IE93blB0
ciBmb3IgR1RLCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD01OTg2MQorCisgICAgICAgICogd3RmL093blB0ci5oOgorCiAyMDExLTA0LTI5ICBHYXZpbiBC
YXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBPbGl2ZXIgSHVudC4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHIuaAkocmV2aXNp
b24gODUzODEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ci5oCSh3b3JraW5n
IGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBACiAjaW5jbHVkZSA8bWVtb3J5PgogCiAvLyBSZW1vdmUg
dGhpcyBvbmNlIHdlIG1ha2UgYWxsIFdlYktpdCBjb2RlIGNvbXBhdGlibGUgd2l0aCBzdHJpY3Rl
ciBydWxlcyBhYm91dCBPd25QdHIuCi0jaWYgIVBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKENI
Uk9NSVVNKSAmJiAhUExBVEZPUk0oUVQpCisjaWYgIVBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JN
KENIUk9NSVVNKSAmJiAhUExBVEZPUk0oUVQpICYmICFQTEFURk9STShHVEspCiAjZGVmaW5lIExP
T1NFX09XTl9QVFIKICNlbmRpZgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91806</attachid>
            <date>2011-04-30 14:22:38 -0700</date>
            <delta_ts>2011-04-30 18:45:52 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>bug-59861-20110430142237.patch</filename>
            <type>text/plain</type>
            <size>8347</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODU0MDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGZi
NTMyMWE4ZmQ3MjYzYWY3NzE2M2ZhNjYwNjQxMjcwMWVhMTY0MjkuLmU4YmQ0OGI2M2FkYTExMGJi
NmY1NTgzYzU1OGYyOTg1OTNjYzA3YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEyIEBACisyMDExLTA0LTMwICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW5hYmxlIHN0
cmljdCBPd25QdHIgZm9yIEdUSworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTk4NjEKKworICAgICAgICAqIHd0Zi9Pd25QdHIuaDoKKwogMjAxMS0wNC0y
OSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIEF0dGVtcHQgdG8g
Zml4IHRoZSBXaW5kb3dzIGJ1aWxkLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9Pd25QdHIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgKaW5kZXgg
ZGM0NjNjOTBkZDdlMTY0YTM1YWI4YTg5ZTlhMGFmMDBlZTkzZmQ3Zi4uNzFhMGU1MjY0MGQyYTVm
NTkzZGQwYjczNzBlMTlkZWVmODk5NzUxMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9Pd25QdHIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ci5o
CkBAIC0yOSw3ICsyOSw3IEBACiAjaW5jbHVkZSA8bWVtb3J5PgogCiAvLyBSZW1vdmUgdGhpcyBv
bmNlIHdlIG1ha2UgYWxsIFdlYktpdCBjb2RlIGNvbXBhdGlibGUgd2l0aCBzdHJpY3RlciBydWxl
cyBhYm91dCBPd25QdHIuCi0jaWYgIVBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKENIUk9NSVVN
KSAmJiAhUExBVEZPUk0oUVQpCisjaWYgIVBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKENIUk9N
SVVNKSAmJiAhUExBVEZPUk0oUVQpICYmICFQTEFURk9STShHVEspCiAjZGVmaW5lIExPT1NFX09X
Tl9QVFIKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2E1YjFjYWE4NGU3ZjFmZWRmYzAxMzMzY2Y5
NzJhM2FjMDhlY2YxNy4uM2JjYWJiNTM5ZmIxNWUxNjYyNzkwNDk5M2EwODkxZWNkN2FmMzY3ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDExLTA0LTMwICBNYXJ0aW4gUm9iaW5zb24g
IDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBFbmFibGUgc3RyaWN0IG1vZGUgZm9yIE93blB0ciBhbmQgUGFzc093
blB0cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk0
MjgKKworICAgICAgICBJbnN0ZWFkIG9mIHNodWZmbGluZyByYXcgcG9pbnRlcnMgaW50byBPd25Q
dHIsIGNhbGwgYWRvcHRQdHIgd2hlbiBpdCdzCisgICAgICAgIG5lY2Vzc2FyeS4KKworICAgICAg
ICBObyBuZXcgdGVzdHMuIFRoaXMgc2hvdWxkIG5vdCBjaGFuZ2UgYW55IGJlaGF2aW9yLgorCisg
ICAgICAgICogcGFnZS9HZW9sb2NhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHZW9sb2Nh
dGlvbjo6R2VvbG9jYXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0Nh
aXJvVXRpbGl0aWVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFwcGVuZFBhdGhUb0NhaXJvQ29u
dGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0
Q2Fpcm8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZHJhd1BhdGhTaGFkb3cpOgorICAgICAgICAo
V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpjbGlwKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jYWlyby9JbWFnZUJ1ZmZlckNhaXJvLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdl
QnVmZmVyOjpJbWFnZUJ1ZmZlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8v
T3duUHRyQ2Fpcm8uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9QYXRoQ2Fp
cm8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGF0aDo6UGF0aCk6CisgICAgICAgIChXZWJDb3Jl
OjpQYXRoOjpvcGVyYXRvcj0pOgorICAgICAgICAoV2ViQ29yZTo6UGF0aDo6YXBwbHkpOgorCiAy
MDExLTA0LTMwICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIE5vdCByZXZpZXdlZDogaW5zcGVjdG9yIHRvb2xiYXIgdGl0bGVzIHdlcmUgMnB4IG9mZi4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb24uY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbi5jcHAKaW5kZXggZmM1YjFjNmU5MTRlMzYwMTk1Zjdl
ZTVmYTBmOTQ4YjU0MzA4NDQ4MS4uMTdhMmJlMjc3MzEyOGM4YjNhZDE5NmQ3NGU4MjBlYjBkZTdm
N2NjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbi5jcHAKQEAgLTIxNyw3ICsyMTcsNyBA
QCB2b2lkIEdlb2xvY2F0aW9uOjpXYXRjaGVyczo6Z2V0Tm90aWZpZXJzVmVjdG9yKEdlb05vdGlm
aWVyVmVjdG9yJiBjb3B5KSBjb25zdAogR2VvbG9jYXRpb246Okdlb2xvY2F0aW9uKEZyYW1lKiBm
cmFtZSkKICAgICA6IG1fZnJhbWUoZnJhbWUpCiAjaWYgIUVOQUJMRShDTElFTlRfQkFTRURfR0VP
TE9DQVRJT04pCi0gICAgLCBtX3NlcnZpY2UoR2VvbG9jYXRpb25TZXJ2aWNlOjpjcmVhdGUodGhp
cykpCisgICAgLCBtX3NlcnZpY2UoYWRvcHRQdHIoR2VvbG9jYXRpb25TZXJ2aWNlOjpjcmVhdGUo
dGhpcykpKQogI2VuZGlmCiAgICAgLCBtX2FsbG93R2VvbG9jYXRpb24oVW5rbm93bikKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0NhaXJvVXRp
bGl0aWVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0NhaXJv
VXRpbGl0aWVzLmNwcAppbmRleCA3NThiY2U5YTY0OWQ1MzJjYmM3NDY5MDA3MmU4Njc4YjBkODgx
MjM0Li5kOTVmMWZiM2MyNjk0MzU1Zjk1MGYwM2E5YWM3NWNiZmJlMGNlYjBmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9DYWlyb1V0aWxpdGllcy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9VdGls
aXRpZXMuY3BwCkBAIC02NSw3ICs2NSw3IEBAIHZvaWQgc2V0U291cmNlUkdCQUZyb21Db2xvcihj
YWlyb190KiBjb250ZXh0LCBjb25zdCBDb2xvciYgY29sb3IpCiAKIHZvaWQgYXBwZW5kUGF0aFRv
Q2Fpcm9Db250ZXh0KGNhaXJvX3QqIHRvLCBjYWlyb190KiBmcm9tKQogewotICAgIE93blB0cjxj
YWlyb19wYXRoX3Q+IGNhaXJvUGF0aChjYWlyb19jb3B5X3BhdGgoZnJvbSkpOworICAgIE93blB0
cjxjYWlyb19wYXRoX3Q+IGNhaXJvUGF0aChhZG9wdFB0cihjYWlyb19jb3B5X3BhdGgoZnJvbSkp
KTsKICAgICBjYWlyb19hcHBlbmRfcGF0aCh0bywgY2Fpcm9QYXRoLmdldCgpKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3ND
b250ZXh0Q2Fpcm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8v
R3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwCmluZGV4IDBjNTMwMGE0YTczMWVmMTZhNTQ3ZTUxMTlh
MTUzOGVmNTdhZTRhYWIuLjUyY2M5YWU0OTEzZGJjZGFhZDQzODczZDkxODMyODNkYzc3ZWY2NTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBo
aWNzQ29udGV4dENhaXJvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5jcHAKQEAgLTE1MCw3ICsxNTAsNyBAQCBzdGF0
aWMgaW5saW5lIHZvaWQgZHJhd1BhdGhTaGFkb3coR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBQ
YXRoRHJhd2luZ1N0eWxlIGRyYQogCiAgICAgLy8gQ2FsY3VsYXRlIHRoZSBleHRlbnRzIG9mIHRo
ZSByZW5kZXJlZCBzb2xpZCBwYXRocy4KICAgICBjYWlyb190KiBjYWlyb0NvbnRleHQgPSBjb250
ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKS0+Y3IoKTsKLSAgICBPd25QdHI8Y2Fpcm9fcGF0aF90PiBw
YXRoKGNhaXJvX2NvcHlfcGF0aChjYWlyb0NvbnRleHQpKTsKKyAgICBPd25QdHI8Y2Fpcm9fcGF0
aF90PiBwYXRoKGFkb3B0UHRyKGNhaXJvX2NvcHlfcGF0aChjYWlyb0NvbnRleHQpKSk7CiAKICAg
ICBGbG9hdFJlY3Qgc29saWRGaWd1cmVFeHRlbnRzOwogICAgIGRvdWJsZSB4MCA9IDA7CkBAIC0x
MDMyLDggKzEwMzIsOCBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6Y2xpcChjb25zdCBQYXRoJiBw
YXRoKQogICAgICAgICByZXR1cm47CiAKICAgICBjYWlyb190KiBjciA9IHBsYXRmb3JtQ29udGV4
dCgpLT5jcigpOwotICAgIE93blB0cjxjYWlyb19wYXRoX3Q+IHAoY2Fpcm9fY29weV9wYXRoKHBh
dGgucGxhdGZvcm1QYXRoKCktPmNvbnRleHQoKSkpOwotICAgIGNhaXJvX2FwcGVuZF9wYXRoKGNy
LCBwLmdldCgpKTsKKyAgICBPd25QdHI8Y2Fpcm9fcGF0aF90PiBwYXRoQ29weShhZG9wdFB0cihj
YWlyb19jb3B5X3BhdGgocGF0aC5wbGF0Zm9ybVBhdGgoKS0+Y29udGV4dCgpKSkpOworICAgIGNh
aXJvX2FwcGVuZF9wYXRoKGNyLCBwYXRoQ29weS5nZXQoKSk7CiAgICAgY2Fpcm9fZmlsbF9ydWxl
X3Qgc2F2ZWRGaWxsUnVsZSA9IGNhaXJvX2dldF9maWxsX3J1bGUoY3IpOwogICAgIGNhaXJvX3Nl
dF9maWxsX3J1bGUoY3IsIENBSVJPX0ZJTExfUlVMRV9XSU5ESU5HKTsKICAgICBjYWlyb19jbGlw
KGNyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJv
L0ltYWdlQnVmZmVyQ2Fpcm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Fpcm8vSW1hZ2VCdWZmZXJDYWlyby5jcHAKaW5kZXggOGFhNjUzMTgwMjlmYzFjZTU5ODlhOTg2
OTJjZTVjMDIzY2VkMWIwZS4uYTNmNDVjMTZjN2Y5MzA1YTRiMjY1MjU5NWY3ZGMzNzE5MWM1NGYz
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1h
Z2VCdWZmZXJDYWlyby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Fpcm8vSW1hZ2VCdWZmZXJDYWlyby5jcHAKQEAgLTg0LDcgKzg0LDcgQEAgSW1hZ2VCdWZmZXI6
OkltYWdlQnVmZmVyKGNvbnN0IEludFNpemUmIHNpemUsIENvbG9yU3BhY2UsIFJlbmRlcmluZ01v
ZGUsIGJvb2wmIHMKIAogICAgIFJlZlB0cjxjYWlyb190PiBjciA9IGFkb3B0UmVmKGNhaXJvX2Ny
ZWF0ZShtX2RhdGEubV9zdXJmYWNlKSk7CiAgICAgbV9kYXRhLm1fcGxhdGZvcm1Db250ZXh0LnNl
dENyKGNyLmdldCgpKTsKLSAgICBtX2NvbnRleHQuc2V0KG5ldyBHcmFwaGljc0NvbnRleHQoJm1f
ZGF0YS5tX3BsYXRmb3JtQ29udGV4dCkpOworICAgIG1fY29udGV4dCA9IGFkb3B0UHRyKG5ldyBH
cmFwaGljc0NvbnRleHQoJm1fZGF0YS5tX3BsYXRmb3JtQ29udGV4dCkpOwogICAgIHN1Y2Nlc3Mg
PSB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYWlyby9Pd25QdHJDYWlyby5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Fpcm8vT3duUHRyQ2Fpcm8uaAppbmRleCBlMWRkMzcwMWZiNDg0ZGMyNzBlMDNjNzU2MWQyYjRh
ZTRlNzM5MDg4Li5iZDUxN2IyNGEzODhlZmZmNzM2ZjI5YzYzYjhmZmQyZGUzODdlYzQ2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Pd25QdHJDYWly
by5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL093blB0ckNh
aXJvLmgKQEAgLTIxLDYgKzIxLDcgQEAKICNkZWZpbmUgT3duUHRyQ2Fpcm9faAogCiAjaW5jbHVk
ZSAiT3duUHRyLmgiCisjaW5jbHVkZSAiUGFzc093blB0ci5oIgogCiAjaWYgVVNFKEZSRUVUWVBF
KQogdHlwZWRlZiBzdHJ1Y3QgX0ZjT2JqZWN0U2V0IEZjT2JqZWN0U2V0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vUGF0aENhaXJvLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1BhdGhDYWlyby5jcHAKaW5kZXgg
ZDYyYzMzZmE3M2ZiZGNiZTRmNzE5Y2IxNjU1YTRhYTNkOWNjZmMyMS4uZDQ1NjFhYWYwYWE4ZTU5
YzIwZWIwM2Y4ZWZhNGFiMWEyM2FlYTVkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2Fpcm8vUGF0aENhaXJvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYWlyby9QYXRoQ2Fpcm8uY3BwCkBAIC01Myw4ICs1Myw4IEBAIFBh
dGg6OlBhdGgoY29uc3QgUGF0aCYgb3RoZXIpCiAgICAgOiBtX3BhdGgobmV3IENhaXJvUGF0aCgp
KQogewogICAgIGNhaXJvX3QqIGNyID0gcGxhdGZvcm1QYXRoKCktPmNvbnRleHQoKTsKLSAgICBP
d25QdHI8Y2Fpcm9fcGF0aF90PiBwKGNhaXJvX2NvcHlfcGF0aChvdGhlci5wbGF0Zm9ybVBhdGgo
KS0+Y29udGV4dCgpKSk7Ci0gICAgY2Fpcm9fYXBwZW5kX3BhdGgoY3IsIHAuZ2V0KCkpOworICAg
IE93blB0cjxjYWlyb19wYXRoX3Q+IHBhdGhDb3B5KGFkb3B0UHRyKGNhaXJvX2NvcHlfcGF0aChv
dGhlci5wbGF0Zm9ybVBhdGgoKS0+Y29udGV4dCgpKSkpOworICAgIGNhaXJvX2FwcGVuZF9wYXRo
KGNyLCBwYXRoQ29weS5nZXQoKSk7CiB9CiAKIFBhdGgmIFBhdGg6Om9wZXJhdG9yPShjb25zdCBQ
YXRoJiBvdGhlcikKQEAgLTY0LDggKzY0LDggQEAgUGF0aCYgUGF0aDo6b3BlcmF0b3I9KGNvbnN0
IFBhdGgmIG90aGVyKQogCiAgICAgY2xlYXIoKTsKICAgICBjYWlyb190KiBjciA9IHBsYXRmb3Jt
UGF0aCgpLT5jb250ZXh0KCk7Ci0gICAgT3duUHRyPGNhaXJvX3BhdGhfdD4gcChjYWlyb19jb3B5
X3BhdGgob3RoZXIucGxhdGZvcm1QYXRoKCktPmNvbnRleHQoKSkpOwotICAgIGNhaXJvX2FwcGVu
ZF9wYXRoKGNyLCBwLmdldCgpKTsKKyAgICBPd25QdHI8Y2Fpcm9fcGF0aF90PiBwYXRoQ29weShh
ZG9wdFB0cihjYWlyb19jb3B5X3BhdGgob3RoZXIucGxhdGZvcm1QYXRoKCktPmNvbnRleHQoKSkp
KTsKKyAgICBjYWlyb19hcHBlbmRfcGF0aChjciwgcGF0aENvcHkuZ2V0KCkpOwogICAgIHJldHVy
biAqdGhpczsKIH0KIApAQCAtMzE5LDE0ICszMTksMTQgQEAgYm9vbCBQYXRoOjpzdHJva2VDb250
YWlucyhTdHJva2VTdHlsZUFwcGxpZXIqIGFwcGxpZXIsIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50
KQogdm9pZCBQYXRoOjphcHBseSh2b2lkKiBpbmZvLCBQYXRoQXBwbGllckZ1bmN0aW9uIGZ1bmN0
aW9uKSBjb25zdAogewogICAgIGNhaXJvX3QqIGNyID0gcGxhdGZvcm1QYXRoKCktPmNvbnRleHQo
KTsKLSAgICBPd25QdHI8Y2Fpcm9fcGF0aF90PiBwYXRoKGNhaXJvX2NvcHlfcGF0aChjcikpOwor
ICAgIE93blB0cjxjYWlyb19wYXRoX3Q+IHBhdGhDb3B5KGFkb3B0UHRyKGNhaXJvX2NvcHlfcGF0
aChjcikpKTsKICAgICBjYWlyb19wYXRoX2RhdGFfdCogZGF0YTsKICAgICBQYXRoRWxlbWVudCBw
ZWxlbWVudDsKICAgICBGbG9hdFBvaW50IHBvaW50c1szXTsKICAgICBwZWxlbWVudC5wb2ludHMg
PSBwb2ludHM7CiAKLSAgICBmb3IgKGludCBpID0gMDsgaSA8IHBhdGgtPm51bV9kYXRhOyBpICs9
IHBhdGgtPmRhdGFbaV0uaGVhZGVyLmxlbmd0aCkgewotICAgICAgICBkYXRhID0gJnBhdGgtPmRh
dGFbaV07CisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBwYXRoQ29weS0+bnVtX2RhdGE7IGkgKz0g
cGF0aENvcHktPmRhdGFbaV0uaGVhZGVyLmxlbmd0aCkgeworICAgICAgICBkYXRhID0gJnBhdGhD
b3B5LT5kYXRhW2ldOwogICAgICAgICBzd2l0Y2ggKGRhdGEtPmhlYWRlci50eXBlKSB7CiAgICAg
ICAgIGNhc2UgQ0FJUk9fUEFUSF9NT1ZFX1RPOgogICAgICAgICAgICAgcGVsZW1lbnQudHlwZSA9
IFBhdGhFbGVtZW50TW92ZVRvUG9pbnQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91810</attachid>
            <date>2011-04-30 18:46:01 -0700</date>
            <delta_ts>2011-04-30 21:16:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59861-20110430184600.patch</filename>
            <type>text/plain</type>
            <size>16557</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODU0MDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGZi
NTMyMWE4ZmQ3MjYzYWY3NzE2M2ZhNjYwNjQxMjcwMWVhMTY0MjkuLmU4YmQ0OGI2M2FkYTExMGJi
NmY1NTgzYzU1OGYyOTg1OTNjYzA3YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEyIEBACisyMDExLTA0LTMwICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW5hYmxlIHN0
cmljdCBPd25QdHIgZm9yIEdUSworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTk4NjEKKworICAgICAgICAqIHd0Zi9Pd25QdHIuaDoKKwogMjAxMS0wNC0y
OSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIEF0dGVtcHQgdG8g
Zml4IHRoZSBXaW5kb3dzIGJ1aWxkLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9Pd25QdHIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgKaW5kZXgg
ZGM0NjNjOTBkZDdlMTY0YTM1YWI4YTg5ZTlhMGFmMDBlZTkzZmQ3Zi4uNzFhMGU1MjY0MGQyYTVm
NTkzZGQwYjczNzBlMTlkZWVmODk5NzUxMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9Pd25QdHIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ci5o
CkBAIC0yOSw3ICsyOSw3IEBACiAjaW5jbHVkZSA8bWVtb3J5PgogCiAvLyBSZW1vdmUgdGhpcyBv
bmNlIHdlIG1ha2UgYWxsIFdlYktpdCBjb2RlIGNvbXBhdGlibGUgd2l0aCBzdHJpY3RlciBydWxl
cyBhYm91dCBPd25QdHIuCi0jaWYgIVBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKENIUk9NSVVN
KSAmJiAhUExBVEZPUk0oUVQpCisjaWYgIVBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKENIUk9N
SVVNKSAmJiAhUExBVEZPUk0oUVQpICYmICFQTEFURk9STShHVEspCiAjZGVmaW5lIExPT1NFX09X
Tl9QVFIKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2E1YjFjYWE4NGU3ZjFmZWRmYzAxMzMzY2Y5
NzJhM2FjMDhlY2YxNy4uZGRjYjM5ODZjNjViYzMzNjZlMTgzZWM2NTJkZTY5NTUwMGY2NTJmYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDExLTA0LTMwICBNYXJ0aW4gUm9iaW5zb24g
IDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBFbmFibGUgc3RyaWN0IG1vZGUgZm9yIE93blB0ciBhbmQgUGFzc093
blB0cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk0
MjgKKworICAgICAgICBGaXggYXNzaWdubWVudHMgYW5kIC5zZXQoKSBjYWxscyB3aXRoIE93blB0
ciB0byB1c2UgYWRvcHRQdHIuIEhhdmUgR2VvbG9jYXRpb25TZXJ2aWNlCisgICAgICAgIGZhY3Rv
cnkgbWV0aG9kcyByZXR1cm4gYSBQYXNzT3duUHRyLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4g
VGhpcyBzaG91bGQgbm90IGNoYW5nZSBmdW5jdGlvbmFsaXR5LgorCisgICAgICAgICogcGxhdGZv
cm0vR2VvbG9jYXRpb25TZXJ2aWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUdlb2xv
Y2F0aW9uU2VydmljZU51bGwpOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb25TZXJ2aWNl
OjpjcmVhdGUpOgorICAgICAgICAqIHBsYXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2FuZHJvaWQvR2VvbG9jYXRpb25TZXJ2aWNlQW5kcm9pZC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpHZW9sb2NhdGlvblNlcnZpY2VBbmRyb2lkOjpjcmVhdGUpOgorICAg
ICAgICAqIHBsYXRmb3JtL2FuZHJvaWQvR2VvbG9jYXRpb25TZXJ2aWNlQW5kcm9pZC5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2VmbC9HZW9sb2NhdGlvblNlcnZpY2VFZmwuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6R2VvbG9jYXRpb25TZXJ2aWNlRWZsOjpjcmVhdGUpOgorICAgICAgICAqIHBsYXRm
b3JtL2VmbC9HZW9sb2NhdGlvblNlcnZpY2VFZmwuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jYWlyby9DYWlyb1V0aWxpdGllcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjphcHBlbmRQ
YXRoVG9DYWlyb0NvbnRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dy
YXBoaWNzQ29udGV4dENhaXJvLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmRyYXdQYXRoU2hhZG93
KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6Y2xpcCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VCdWZmZXJDYWlyby5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbWFnZUJ1ZmZlcjo6SW1hZ2VCdWZmZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2NhaXJvL093blB0ckNhaXJvLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Fpcm8vUGF0aENhaXJvLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhdGg6OlBhdGgpOgorICAg
ICAgICAoV2ViQ29yZTo6UGF0aDo6b3BlcmF0b3I9KToKKyAgICAgICAgKFdlYkNvcmU6OlBhdGg6
OmFwcGx5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvR2VvbG9jYXRpb25TZXJ2aWNlR3RrLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Okdlb2xvY2F0aW9uU2VydmljZUd0azo6Y3JlYXRlKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ndGsvR2VvbG9jYXRpb25TZXJ2aWNlR3RrLmg6CisgICAgICAgICog
cGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvblNlcnZpY2VNb2NrLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Okdlb2xvY2F0aW9uU2VydmljZU1vY2s6OmNyZWF0ZSk6CisgICAgICAgICogcGxhdGZvcm0v
bW9jay9HZW9sb2NhdGlvblNlcnZpY2VNb2NrLmg6CisKIDIwMTEtMDQtMzAgIFBhdmVsIEZlbGRt
YW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgTm90IHJldmlld2VkOiBpbnNw
ZWN0b3IgdG9vbGJhciB0aXRsZXMgd2VyZSAycHggb2ZmLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5jcHAKaW5kZXggNGIwZTQ1NzBiNzc4N2ZhNDM1Njky
Y2VmMjVmMjc1YWU4NGU2NTI5Zi4uZGM1ZTRhOGFkN2YzN2Q2ZjM4MTViMmZkMWIzNWQ2NTY1Y2Qx
M2EwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2
aWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZpY2Uu
Y3BwCkBAIC0zNiw3ICszNiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICNpZiAhRU5BQkxF
KEdFT0xPQ0FUSU9OKSB8fCBFTkFCTEUoQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKQotc3RhdGlj
IEdlb2xvY2F0aW9uU2VydmljZSogY3JlYXRlR2VvbG9jYXRpb25TZXJ2aWNlTnVsbChHZW9sb2Nh
dGlvblNlcnZpY2VDbGllbnQqKQorc3RhdGljIFBhc3NPd25QdHI8R2VvbG9jYXRpb25TZXJ2aWNl
PiBjcmVhdGVHZW9sb2NhdGlvblNlcnZpY2VOdWxsKEdlb2xvY2F0aW9uU2VydmljZUNsaWVudCop
CiB7CiAgICAgcmV0dXJuIDA7CiB9CkBAIC00Nyw3ICs0Nyw3IEBAIEdlb2xvY2F0aW9uU2Vydmlj
ZTo6RmFjdG9yeUZ1bmN0aW9uKiBHZW9sb2NhdGlvblNlcnZpY2U6OnNfbW9ja0ZhY3RvcnlGdW5j
dGlvbiA9CiBHZW9sb2NhdGlvblNlcnZpY2U6OkZhY3RvcnlGdW5jdGlvbiogR2VvbG9jYXRpb25T
ZXJ2aWNlOjpzX21vY2tGYWN0b3J5RnVuY3Rpb24gPSAmR2VvbG9jYXRpb25TZXJ2aWNlTW9jazo6
Y3JlYXRlOwogI2VuZGlmCiAKLUdlb2xvY2F0aW9uU2VydmljZSogR2VvbG9jYXRpb25TZXJ2aWNl
OjpjcmVhdGUoR2VvbG9jYXRpb25TZXJ2aWNlQ2xpZW50KiBjbGllbnQpCitQYXNzT3duUHRyPEdl
b2xvY2F0aW9uU2VydmljZT4gR2VvbG9jYXRpb25TZXJ2aWNlOjpjcmVhdGUoR2VvbG9jYXRpb25T
ZXJ2aWNlQ2xpZW50KiBjbGllbnQpCiB7CiAgICAgcmV0dXJuICgqc19mYWN0b3J5RnVuY3Rpb24p
KGNsaWVudCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2Nh
dGlvblNlcnZpY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9uU2Vydmlj
ZS5oCmluZGV4IDEwNDViYjNhNWQwMzUwNWU1OWI2Y2M4MTdlYzcxYmEwZDBkN2Q5ZDYuLjkyNjVh
MDVkMWVlYjFiOTViMTNhNWMxMDFlZDE3MWM4ZWI2NzIyYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5oCkBAIC0yNyw2ICsyNyw3IEBACiAjZGVmaW5l
IEdlb2xvY2F0aW9uU2VydmljZV9oCiAKICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNp
bmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ1
LDcgKzQ2LDcgQEAgcHVibGljOgogY2xhc3MgR2VvbG9jYXRpb25TZXJ2aWNlIHsKICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShHZW9sb2NhdGlvblNlcnZpY2UpOwogcHVibGljOgotICAgIHN0YXRp
YyBHZW9sb2NhdGlvblNlcnZpY2UqIGNyZWF0ZShHZW9sb2NhdGlvblNlcnZpY2VDbGllbnQqKTsK
KyAgICBzdGF0aWMgUGFzc093blB0cjxHZW9sb2NhdGlvblNlcnZpY2U+IGNyZWF0ZShHZW9sb2Nh
dGlvblNlcnZpY2VDbGllbnQqKTsKICAgICB2aXJ0dWFsIH5HZW9sb2NhdGlvblNlcnZpY2UoKSB7
IH0KIAogICAgIHZpcnR1YWwgYm9vbCBzdGFydFVwZGF0aW5nKFBvc2l0aW9uT3B0aW9ucyopIHsg
cmV0dXJuIGZhbHNlOyB9CkBAIC02MSw3ICs2Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGVycm9y
T2NjdXJyZWQoKTsKIAogICAgIHN0YXRpYyB2b2lkIHVzZU1vY2soKTsKLSAgICB0eXBlZGVmIEdl
b2xvY2F0aW9uU2VydmljZSogKEZhY3RvcnlGdW5jdGlvbikoR2VvbG9jYXRpb25TZXJ2aWNlQ2xp
ZW50Kik7CisgICAgdHlwZWRlZiBQYXNzT3duUHRyPEdlb2xvY2F0aW9uU2VydmljZT4gKEZhY3Rv
cnlGdW5jdGlvbikoR2VvbG9jYXRpb25TZXJ2aWNlQ2xpZW50Kik7CiAgICAgc3RhdGljIHZvaWQg
c2V0Q3VzdG9tTW9ja0ZhY3RvcnkoRmFjdG9yeUZ1bmN0aW9uKTsKIAogcHJvdGVjdGVkOgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYW5kcm9pZC9HZW9sb2NhdGlvblNlcnZp
Y2VBbmRyb2lkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuZHJvaWQvR2VvbG9jYXRp
b25TZXJ2aWNlQW5kcm9pZC5jcHAKaW5kZXggYjZkZmU4MTczNWM0ZWFlYThhYzZkNTY2ODgzNTUx
NjJjZDkyMzk2My4uZWFkYjIwZWI1Mzg1OTY3MTUwZWRlMTllZjE3NTk2NjhiZDYzZjIxNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYW5kcm9pZC9HZW9sb2NhdGlvblNlcnZp
Y2VBbmRyb2lkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmRyb2lkL0dlb2xv
Y2F0aW9uU2VydmljZUFuZHJvaWQuY3BwCkBAIC00Nyw3ICs0Nyw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIC8vIGV4aXN0IHNpbXVsdGFuZW91c2x5LCB0aGUgY29ycmVzcG9uc2luZyBKYXZhIEdl
b2xvY2F0aW9uU2VydmljZSBvYmplY3RzIGFsbAogLy8gcmVnaXN0ZXIgd2l0aCB0aGUgcGxhdGZv
cm0gbG9jYXRpb24gc2VydmljZS4gSXQgaXMgdGhlIHBsYXRmb3JtIHNlcnZpY2UgdGhhdAogLy8g
aGFuZGxlcyBtYWtpbmcgc3VyZSB0aGF0IHVwZGF0ZXMgYXJlIHBhc3NlZCB0byBhbGwgR2VvbG9j
YXRpb24gb2JqZWN0cy4KLUdlb2xvY2F0aW9uU2VydmljZSogR2VvbG9jYXRpb25TZXJ2aWNlQW5k
cm9pZDo6Y3JlYXRlKEdlb2xvY2F0aW9uU2VydmljZUNsaWVudCogY2xpZW50KQorUGFzc093blB0
cjxHZW9sb2NhdGlvblNlcnZpY2U+IEdlb2xvY2F0aW9uU2VydmljZUFuZHJvaWQ6OmNyZWF0ZShH
ZW9sb2NhdGlvblNlcnZpY2VDbGllbnQqIGNsaWVudCkKIHsKICAgICByZXR1cm4gbmV3IEdlb2xv
Y2F0aW9uU2VydmljZUFuZHJvaWQoY2xpZW50KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2FuZHJvaWQvR2VvbG9jYXRpb25TZXJ2aWNlQW5kcm9pZC5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYW5kcm9pZC9HZW9sb2NhdGlvblNlcnZpY2VBbmRyb2lkLmgKaW5k
ZXggYjJiZTc1MGYxN2NhNGE1ZGEwYjQ2MjczMmMwYzk1OTMyMTgzYzY3NS4uZTA0YmVmN2Q4Njdl
MzUwODM3OWQ4NmI4MzdkYTVkMzE5ZmNjYzhiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYW5kcm9pZC9HZW9sb2NhdGlvblNlcnZpY2VBbmRyb2lkLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYW5kcm9pZC9HZW9sb2NhdGlvblNlcnZpY2VBbmRyb2lkLmgKQEAg
LTQxLDcgKzQxLDcgQEAgY2xhc3MgR2VvbG9jYXRpb25TZXJ2aWNlQnJpZGdlOwogCiBjbGFzcyBH
ZW9sb2NhdGlvblNlcnZpY2VBbmRyb2lkIDogcHVibGljIEdlb2xvY2F0aW9uU2VydmljZSB7CiBw
dWJsaWM6Ci0gICAgc3RhdGljIEdlb2xvY2F0aW9uU2VydmljZSogY3JlYXRlKEdlb2xvY2F0aW9u
U2VydmljZUNsaWVudCopOworICAgIHN0YXRpYyBQYXNzT3duUHRyPEdlb2xvY2F0aW9uU2Vydmlj
ZT4gY3JlYXRlKEdlb2xvY2F0aW9uU2VydmljZUNsaWVudCopOwogCiAgICAgdmlydHVhbCB+R2Vv
bG9jYXRpb25TZXJ2aWNlQW5kcm9pZCgpIHsgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZWZsL0dlb2xvY2F0aW9uU2VydmljZUVmbC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9lZmwvR2VvbG9jYXRpb25TZXJ2aWNlRWZsLmNwcAppbmRleCAwYzBlNzQ0MTU4
Y2NhZThkMGVmYTk3Yzk1NWNmODE3MmY5N2JhNWE3Li45YTU3NmQ1OTU0MDhjNTYxYzVkYzg2MTNj
ZDkzYjZjMjQ4ZjdjNTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwv
R2VvbG9jYXRpb25TZXJ2aWNlRWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9l
ZmwvR2VvbG9jYXRpb25TZXJ2aWNlRWZsLmNwcApAQCAtMzAsNyArMzAsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIEdlb2xvY2F0aW9uU2VydmljZTo6RmFjdG9yeUZ1bmN0aW9uKiBHZW9sb2Nh
dGlvblNlcnZpY2U6OnNfZmFjdG9yeUZ1bmN0aW9uID0gJkdlb2xvY2F0aW9uU2VydmljZUVmbDo6
Y3JlYXRlOwogCi1HZW9sb2NhdGlvblNlcnZpY2UqIEdlb2xvY2F0aW9uU2VydmljZUVmbDo6Y3Jl
YXRlKEdlb2xvY2F0aW9uU2VydmljZUNsaWVudCogY2xpZW50KQorUGFzc093blB0cjxHZW9sb2Nh
dGlvblNlcnZpY2U+IEdlb2xvY2F0aW9uU2VydmljZUVmbDo6Y3JlYXRlKEdlb2xvY2F0aW9uU2Vy
dmljZUNsaWVudCogY2xpZW50KQogewogICAgIHJldHVybiBuZXcgR2VvbG9jYXRpb25TZXJ2aWNl
RWZsKGNsaWVudCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwv
R2VvbG9jYXRpb25TZXJ2aWNlRWZsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvR2Vv
bG9jYXRpb25TZXJ2aWNlRWZsLmgKaW5kZXggZTdhYzY2YzJkYjdhMWU2MmI1NmU1MTM3MjYzNTJj
ODk1Y2ZkZTA2Yi4uZDMwYWQzODdhNzU0NWU3NDgxMGNmYjk1NWYzODQ2ZjVhNmRlNzA4ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL0dlb2xvY2F0aW9uU2VydmljZUVm
bC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9HZW9sb2NhdGlvblNlcnZpY2VF
ZmwuaApAQCAtMzEsNyArMzEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEdlb2xv
Y2F0aW9uU2VydmljZUVmbCA6IHB1YmxpYyBHZW9sb2NhdGlvblNlcnZpY2UgewogcHVibGljOgot
ICAgIHN0YXRpYyBHZW9sb2NhdGlvblNlcnZpY2UqIGNyZWF0ZShHZW9sb2NhdGlvblNlcnZpY2VD
bGllbnQqKTsKKyAgICBzdGF0aWMgUGFzc093blB0cjxHZW9sb2NhdGlvblNlcnZpY2U+IGNyZWF0
ZShHZW9sb2NhdGlvblNlcnZpY2VDbGllbnQqKTsKICAgICB+R2VvbG9jYXRpb25TZXJ2aWNlRWZs
KCk7CiAKICAgICB2aXJ0dWFsIGJvb2wgc3RhcnRVcGRhdGluZyhQb3NpdGlvbk9wdGlvbnMqKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0NhaXJv
VXRpbGl0aWVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0Nh
aXJvVXRpbGl0aWVzLmNwcAppbmRleCA3NThiY2U5YTY0OWQ1MzJjYmM3NDY5MDA3MmU4Njc4YjBk
ODgxMjM0Li4wMWI0ZmMxZTkyOWJmOGNjNTUxYWUxYTI3ZDQ4ODZhMWNlYjk5ZDU5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9DYWlyb1V0aWxpdGll
cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9V
dGlsaXRpZXMuY3BwCkBAIC02NSw3ICs2NSw3IEBAIHZvaWQgc2V0U291cmNlUkdCQUZyb21Db2xv
cihjYWlyb190KiBjb250ZXh0LCBjb25zdCBDb2xvciYgY29sb3IpCiAKIHZvaWQgYXBwZW5kUGF0
aFRvQ2Fpcm9Db250ZXh0KGNhaXJvX3QqIHRvLCBjYWlyb190KiBmcm9tKQogewotICAgIE93blB0
cjxjYWlyb19wYXRoX3Q+IGNhaXJvUGF0aChjYWlyb19jb3B5X3BhdGgoZnJvbSkpOworICAgIE93
blB0cjxjYWlyb19wYXRoX3Q+IGNhaXJvUGF0aCA9IGFkb3B0UHRyKGNhaXJvX2NvcHlfcGF0aChm
cm9tKSk7CiAgICAgY2Fpcm9fYXBwZW5kX3BhdGgodG8sIGNhaXJvUGF0aC5nZXQoKSk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBo
aWNzQ29udGV4dENhaXJvLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
aXJvL0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcAppbmRleCAwYzUzMDBhNGE3MzFlZjE2YTU0N2U1
MTE5YTE1MzhlZjU3YWU0YWFiLi5lZWY5N2VkMmY1YTc5ZjIyZTgxZGRlZjQzYzE2YWQyMDExNzQz
Y2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9H
cmFwaGljc0NvbnRleHRDYWlyby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwCkBAIC0xNTAsNyArMTUwLDcgQEAg
c3RhdGljIGlubGluZSB2b2lkIGRyYXdQYXRoU2hhZG93KEdyYXBoaWNzQ29udGV4dCogY29udGV4
dCwgUGF0aERyYXdpbmdTdHlsZSBkcmEKIAogICAgIC8vIENhbGN1bGF0ZSB0aGUgZXh0ZW50cyBv
ZiB0aGUgcmVuZGVyZWQgc29saWQgcGF0aHMuCiAgICAgY2Fpcm9fdCogY2Fpcm9Db250ZXh0ID0g
Y29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCktPmNyKCk7Ci0gICAgT3duUHRyPGNhaXJvX3BhdGhf
dD4gcGF0aChjYWlyb19jb3B5X3BhdGgoY2Fpcm9Db250ZXh0KSk7CisgICAgT3duUHRyPGNhaXJv
X3BhdGhfdD4gcGF0aCA9IGFkb3B0UHRyKGNhaXJvX2NvcHlfcGF0aChjYWlyb0NvbnRleHQpKTsK
IAogICAgIEZsb2F0UmVjdCBzb2xpZEZpZ3VyZUV4dGVudHM7CiAgICAgZG91YmxlIHgwID0gMDsK
QEAgLTEwMzIsOCArMTAzMiw4IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpjbGlwKGNvbnN0IFBh
dGgmIHBhdGgpCiAgICAgICAgIHJldHVybjsKIAogICAgIGNhaXJvX3QqIGNyID0gcGxhdGZvcm1D
b250ZXh0KCktPmNyKCk7Ci0gICAgT3duUHRyPGNhaXJvX3BhdGhfdD4gcChjYWlyb19jb3B5X3Bh
dGgocGF0aC5wbGF0Zm9ybVBhdGgoKS0+Y29udGV4dCgpKSk7Ci0gICAgY2Fpcm9fYXBwZW5kX3Bh
dGgoY3IsIHAuZ2V0KCkpOworICAgIE93blB0cjxjYWlyb19wYXRoX3Q+IHBhdGhDb3B5ID0gYWRv
cHRQdHIoY2Fpcm9fY29weV9wYXRoKHBhdGgucGxhdGZvcm1QYXRoKCktPmNvbnRleHQoKSkpOwor
ICAgIGNhaXJvX2FwcGVuZF9wYXRoKGNyLCBwYXRoQ29weS5nZXQoKSk7CiAgICAgY2Fpcm9fZmls
bF9ydWxlX3Qgc2F2ZWRGaWxsUnVsZSA9IGNhaXJvX2dldF9maWxsX3J1bGUoY3IpOwogICAgIGNh
aXJvX3NldF9maWxsX3J1bGUoY3IsIENBSVJPX0ZJTExfUlVMRV9XSU5ESU5HKTsKICAgICBjYWly
b19jbGlwKGNyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhaXJvL0ltYWdlQnVmZmVyQ2Fpcm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2Fpcm8vSW1hZ2VCdWZmZXJDYWlyby5jcHAKaW5kZXggOGFhNjUzMTgwMjlmYzFjZTU5
ODlhOTg2OTJjZTVjMDIzY2VkMWIwZS4uYTNmNDVjMTZjN2Y5MzA1YTRiMjY1MjU5NWY3ZGMzNzE5
MWM1NGYzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fp
cm8vSW1hZ2VCdWZmZXJDYWlyby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2Fpcm8vSW1hZ2VCdWZmZXJDYWlyby5jcHAKQEAgLTg0LDcgKzg0LDcgQEAgSW1hZ2VC
dWZmZXI6OkltYWdlQnVmZmVyKGNvbnN0IEludFNpemUmIHNpemUsIENvbG9yU3BhY2UsIFJlbmRl
cmluZ01vZGUsIGJvb2wmIHMKIAogICAgIFJlZlB0cjxjYWlyb190PiBjciA9IGFkb3B0UmVmKGNh
aXJvX2NyZWF0ZShtX2RhdGEubV9zdXJmYWNlKSk7CiAgICAgbV9kYXRhLm1fcGxhdGZvcm1Db250
ZXh0LnNldENyKGNyLmdldCgpKTsKLSAgICBtX2NvbnRleHQuc2V0KG5ldyBHcmFwaGljc0NvbnRl
eHQoJm1fZGF0YS5tX3BsYXRmb3JtQ29udGV4dCkpOworICAgIG1fY29udGV4dCA9IGFkb3B0UHRy
KG5ldyBHcmFwaGljc0NvbnRleHQoJm1fZGF0YS5tX3BsYXRmb3JtQ29udGV4dCkpOwogICAgIHN1
Y2Nlc3MgPSB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYWlyby9Pd25QdHJDYWlyby5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2Fpcm8vT3duUHRyQ2Fpcm8uaAppbmRleCBlMWRkMzcwMWZiNDg0ZGMyNzBlMDNjNzU2
MWQyYjRhZTRlNzM5MDg4Li5iZDUxN2IyNGEzODhlZmZmNzM2ZjI5YzYzYjhmZmQyZGUzODdlYzQ2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Pd25Q
dHJDYWlyby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL093
blB0ckNhaXJvLmgKQEAgLTIxLDYgKzIxLDcgQEAKICNkZWZpbmUgT3duUHRyQ2Fpcm9faAogCiAj
aW5jbHVkZSAiT3duUHRyLmgiCisjaW5jbHVkZSAiUGFzc093blB0ci5oIgogCiAjaWYgVVNFKEZS
RUVUWVBFKQogdHlwZWRlZiBzdHJ1Y3QgX0ZjT2JqZWN0U2V0IEZjT2JqZWN0U2V0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vUGF0aENhaXJvLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1BhdGhDYWlyby5jcHAK
aW5kZXggZDYyYzMzZmE3M2ZiZGNiZTRmNzE5Y2IxNjU1YTRhYTNkOWNjZmMyMS4uYzJiZmIwNWY2
NmUzZDdmOGVjZGUyYmFkYjZmY2M5ZTVjODhhNjlmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vUGF0aENhaXJvLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9QYXRoQ2Fpcm8uY3BwCkBAIC01Myw4ICs1Myw4
IEBAIFBhdGg6OlBhdGgoY29uc3QgUGF0aCYgb3RoZXIpCiAgICAgOiBtX3BhdGgobmV3IENhaXJv
UGF0aCgpKQogewogICAgIGNhaXJvX3QqIGNyID0gcGxhdGZvcm1QYXRoKCktPmNvbnRleHQoKTsK
LSAgICBPd25QdHI8Y2Fpcm9fcGF0aF90PiBwKGNhaXJvX2NvcHlfcGF0aChvdGhlci5wbGF0Zm9y
bVBhdGgoKS0+Y29udGV4dCgpKSk7Ci0gICAgY2Fpcm9fYXBwZW5kX3BhdGgoY3IsIHAuZ2V0KCkp
OworICAgIE93blB0cjxjYWlyb19wYXRoX3Q+IHBhdGhDb3B5ID0gYWRvcHRQdHIoY2Fpcm9fY29w
eV9wYXRoKG90aGVyLnBsYXRmb3JtUGF0aCgpLT5jb250ZXh0KCkpKTsKKyAgICBjYWlyb19hcHBl
bmRfcGF0aChjciwgcGF0aENvcHkuZ2V0KCkpOwogfQogCiBQYXRoJiBQYXRoOjpvcGVyYXRvcj0o
Y29uc3QgUGF0aCYgb3RoZXIpCkBAIC02NCw4ICs2NCw4IEBAIFBhdGgmIFBhdGg6Om9wZXJhdG9y
PShjb25zdCBQYXRoJiBvdGhlcikKIAogICAgIGNsZWFyKCk7CiAgICAgY2Fpcm9fdCogY3IgPSBw
bGF0Zm9ybVBhdGgoKS0+Y29udGV4dCgpOwotICAgIE93blB0cjxjYWlyb19wYXRoX3Q+IHAoY2Fp
cm9fY29weV9wYXRoKG90aGVyLnBsYXRmb3JtUGF0aCgpLT5jb250ZXh0KCkpKTsKLSAgICBjYWly
b19hcHBlbmRfcGF0aChjciwgcC5nZXQoKSk7CisgICAgT3duUHRyPGNhaXJvX3BhdGhfdD4gcGF0
aENvcHkgPSBhZG9wdFB0cihjYWlyb19jb3B5X3BhdGgob3RoZXIucGxhdGZvcm1QYXRoKCktPmNv
bnRleHQoKSkpOworICAgIGNhaXJvX2FwcGVuZF9wYXRoKGNyLCBwYXRoQ29weS5nZXQoKSk7CiAg
ICAgcmV0dXJuICp0aGlzOwogfQogCkBAIC0zMTksMTQgKzMxOSwxNCBAQCBib29sIFBhdGg6OnN0
cm9rZUNvbnRhaW5zKFN0cm9rZVN0eWxlQXBwbGllciogYXBwbGllciwgY29uc3QgRmxvYXRQb2lu
dCYgcG9pbnQpCiB2b2lkIFBhdGg6OmFwcGx5KHZvaWQqIGluZm8sIFBhdGhBcHBsaWVyRnVuY3Rp
b24gZnVuY3Rpb24pIGNvbnN0CiB7CiAgICAgY2Fpcm9fdCogY3IgPSBwbGF0Zm9ybVBhdGgoKS0+
Y29udGV4dCgpOwotICAgIE93blB0cjxjYWlyb19wYXRoX3Q+IHBhdGgoY2Fpcm9fY29weV9wYXRo
KGNyKSk7CisgICAgT3duUHRyPGNhaXJvX3BhdGhfdD4gcGF0aENvcHkgPSBhZG9wdFB0cihjYWly
b19jb3B5X3BhdGgoY3IpKTsKICAgICBjYWlyb19wYXRoX2RhdGFfdCogZGF0YTsKICAgICBQYXRo
RWxlbWVudCBwZWxlbWVudDsKICAgICBGbG9hdFBvaW50IHBvaW50c1szXTsKICAgICBwZWxlbWVu
dC5wb2ludHMgPSBwb2ludHM7CiAKLSAgICBmb3IgKGludCBpID0gMDsgaSA8IHBhdGgtPm51bV9k
YXRhOyBpICs9IHBhdGgtPmRhdGFbaV0uaGVhZGVyLmxlbmd0aCkgewotICAgICAgICBkYXRhID0g
JnBhdGgtPmRhdGFbaV07CisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBwYXRoQ29weS0+bnVtX2Rh
dGE7IGkgKz0gcGF0aENvcHktPmRhdGFbaV0uaGVhZGVyLmxlbmd0aCkgeworICAgICAgICBkYXRh
ID0gJnBhdGhDb3B5LT5kYXRhW2ldOwogICAgICAgICBzd2l0Y2ggKGRhdGEtPmhlYWRlci50eXBl
KSB7CiAgICAgICAgIGNhc2UgQ0FJUk9fUEFUSF9NT1ZFX1RPOgogICAgICAgICAgICAgcGVsZW1l
bnQudHlwZSA9IFBhdGhFbGVtZW50TW92ZVRvUG9pbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ndGsvR2VvbG9jYXRpb25TZXJ2aWNlR3RrLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2d0ay9HZW9sb2NhdGlvblNlcnZpY2VHdGsuY3BwCmluZGV4IDViMzRjNjg4
YzhkYjk2NDc0MWZlZjQ0Y2U2YjZjOTYwMWI5Y2Q4ODQuLjQ1YWQ4NzUxN2RiODkzZjU1NTNmYjFh
ZTdkOTliMGY3YmNlOTNhOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0
ay9HZW9sb2NhdGlvblNlcnZpY2VHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2d0ay9HZW9sb2NhdGlvblNlcnZpY2VHdGsuY3BwCkBAIC0zOCw3ICszOCw3IEBAIG5hbWVzcGFj
ZSBXVEYgewogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUdlb2xvY2F0aW9uU2VydmljZSogR2Vv
bG9jYXRpb25TZXJ2aWNlR3RrOjpjcmVhdGUoR2VvbG9jYXRpb25TZXJ2aWNlQ2xpZW50KiBjbGll
bnQpCitQYXNzT3duUHRyPEdlb2xvY2F0aW9uU2VydmljZT4gR2VvbG9jYXRpb25TZXJ2aWNlR3Rr
OjpjcmVhdGUoR2VvbG9jYXRpb25TZXJ2aWNlQ2xpZW50KiBjbGllbnQpCiB7CiAgICAgcmV0dXJu
IG5ldyBHZW9sb2NhdGlvblNlcnZpY2VHdGsoY2xpZW50KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HZW9sb2NhdGlvblNlcnZpY2VHdGsuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2d0ay9HZW9sb2NhdGlvblNlcnZpY2VHdGsuaAppbmRleCA0NjI0OWVk
OGZkYjFkOTZkYjU2Zjc3ZWUxNzM1ZmY0ZDE3NDAzNGRlLi44ZWNhOGFhYTVlYWYyOTljY2JiZmMy
ZjRhMDY2MTlmYTgzYzQzMDYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
dGsvR2VvbG9jYXRpb25TZXJ2aWNlR3RrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3RrL0dlb2xvY2F0aW9uU2VydmljZUd0ay5oCkBAIC0zMiw3ICszMiw3IEBACiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgY2xhc3MgR2VvbG9jYXRpb25TZXJ2aWNlR3RrIDogcHVibGljIEdlb2xv
Y2F0aW9uU2VydmljZSB7CiAgICAgcHVibGljOgotICAgICAgICBzdGF0aWMgR2VvbG9jYXRpb25T
ZXJ2aWNlKiBjcmVhdGUoR2VvbG9jYXRpb25TZXJ2aWNlQ2xpZW50Kik7CisgICAgICAgIHN0YXRp
YyBQYXNzT3duUHRyPEdlb2xvY2F0aW9uU2VydmljZT4gY3JlYXRlKEdlb2xvY2F0aW9uU2Vydmlj
ZUNsaWVudCopOwogICAgICAgICB+R2VvbG9jYXRpb25TZXJ2aWNlR3RrKCk7CiAKICAgICAgICAg
dmlydHVhbCBib29sIHN0YXJ0VXBkYXRpbmcoUG9zaXRpb25PcHRpb25zKik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uU2VydmljZU1vY2suY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvblNlcnZpY2VNb2NrLmNw
cAppbmRleCBiMjU0Y2I4MTI3Njk1YWQwNWQ5ZWQ4YTc5NTVlMTJmZDQ1NmRjM2E0Li4xZWYxNzZh
NzMwMDA5YmY4Y2Q2MTBjZDVkMmFkM2EwNDA1NGE1ZTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uU2VydmljZU1vY2suY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25TZXJ2aWNlTW9jay5jcHAKQEAgLTQw
LDcgKzQwLDcgQEAgR2VvbG9jYXRpb25TZXJ2aWNlTW9jazo6R2VvbG9jYXRpb25TZXJ2aWNlU2V0
KiBHZW9sb2NhdGlvblNlcnZpY2VNb2NrOjpzX2luc3RhbmMKIFJlZlB0cjxHZW9wb3NpdGlvbj4q
IEdlb2xvY2F0aW9uU2VydmljZU1vY2s6OnNfbGFzdFBvc2l0aW9uOwogUmVmUHRyPFBvc2l0aW9u
RXJyb3I+KiBHZW9sb2NhdGlvblNlcnZpY2VNb2NrOjpzX2xhc3RFcnJvcjsKIAotR2VvbG9jYXRp
b25TZXJ2aWNlKiBHZW9sb2NhdGlvblNlcnZpY2VNb2NrOjpjcmVhdGUoR2VvbG9jYXRpb25TZXJ2
aWNlQ2xpZW50KiBjbGllbnQpCitQYXNzT3duUHRyPEdlb2xvY2F0aW9uU2VydmljZT4gR2VvbG9j
YXRpb25TZXJ2aWNlTW9jazo6Y3JlYXRlKEdlb2xvY2F0aW9uU2VydmljZUNsaWVudCogY2xpZW50
KQogewogICAgIGluaXRTdGF0aWNzKCk7CiAgICAgcmV0dXJuIG5ldyBHZW9sb2NhdGlvblNlcnZp
Y2VNb2NrKGNsaWVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2Nr
L0dlb2xvY2F0aW9uU2VydmljZU1vY2suaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
R2VvbG9jYXRpb25TZXJ2aWNlTW9jay5oCmluZGV4IDdkMDI3OTczOTBmNjBkY2JkYjk0YTAzZWVl
MWQ4NGQwNWQ4MjZmZDkuLmMzOTc4ZmViYmEwMTJjYjJkNTkyNzU4M2YwMzlhNWUyNmQ0Mzc2NjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25TZXJ2
aWNlTW9jay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25T
ZXJ2aWNlTW9jay5oCkBAIC00MSw3ICs0MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIHBv
c2l0aW9uIG9yIGVycm9yIGV2ZXJ5IHRpbWUgZWl0aGVyIG9mIHRoZXNlIGlzIHVwZGF0ZWQuCiBj
bGFzcyBHZW9sb2NhdGlvblNlcnZpY2VNb2NrIDogcHVibGljIEdlb2xvY2F0aW9uU2VydmljZSB7
CiAgIHB1YmxpYzoKLSAgICBzdGF0aWMgR2VvbG9jYXRpb25TZXJ2aWNlKiBjcmVhdGUoR2VvbG9j
YXRpb25TZXJ2aWNlQ2xpZW50Kik7CisgICAgc3RhdGljIFBhc3NPd25QdHI8R2VvbG9jYXRpb25T
ZXJ2aWNlPiBjcmVhdGUoR2VvbG9jYXRpb25TZXJ2aWNlQ2xpZW50Kik7CiAKICAgICBHZW9sb2Nh
dGlvblNlcnZpY2VNb2NrKEdlb2xvY2F0aW9uU2VydmljZUNsaWVudCopOwogICAgIHZpcnR1YWwg
fkdlb2xvY2F0aW9uU2VydmljZU1vY2soKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>