<?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>109267</bug_id>
          
          <creation_ts>2013-02-08 00:22:58 -0800</creation_ts>
          <short_desc>Migrate ExceptionCode ASSERTs in SVG to ASSERT_NO_EXCEPTION.</short_desc>
          <delta_ts>2013-02-08 04:56: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>WebCore Misc.</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>
          <dependson>109044</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mike West">mkwst</reporter>
          <assigned_to name="Mike West">mkwst</assigned_to>
          <cc>d-r</cc>
    
    <cc>eric</cc>
    
    <cc>fmalita</cc>
    
    <cc>jochen</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>pdr</cc>
    
    <cc>schenney</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>828271</commentid>
    <comment_count>0</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-02-08 00:22:58 -0800</bug_when>
    <thetext>I tried to land changes in SVG code as part of https://bugs.webkit.org/show_bug.cgi?id=109044; they caused test failures, and I&apos;m not sure why.

I&apos;ll find out and fix the problems in a smaller, more focused patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>828324</commentid>
    <comment_count>1</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-02-08 01:33:14 -0800</bug_when>
    <thetext>It looks like ExceptionCodePlaceholder doesn&apos;t do the right thing with the negation operator, which is upsetting to SVGLength::setValue, which has different behavior based on &apos;ec&apos;s value (http://trac.webkit.org/browser/trunk/Source/WebCore/svg/SVGLength.cpp?rev=142247#L213).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>828365</commentid>
    <comment_count>2</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-02-08 02:38:42 -0800</bug_when>
    <thetext>Ugh. Now I understand what ASSERT_NO_EXCEPTION is doing. It burns.

Off the top of my head, I have no idea how to make it behave in a way that would make `if (!ec)` work in debug. :( I will ponder.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>828375</commentid>
    <comment_count>3</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-02-08 03:09:06 -0800</bug_when>
    <thetext>So, as it turns out, this behavior is intentional: ASSERT_NO_EXCEPTION attempts to ensure that methods which care about the value of an ExceptionCode must initialize that ExceptionCode to 0 (see https://bugs.webkit.org/show_bug.cgi?id=78194). SVGLength::setValue does not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>828385</commentid>
    <comment_count>4</comment_count>
      <attachid>187278</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-02-08 03:20:30 -0800</bug_when>
    <thetext>Created attachment 187278
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>828388</commentid>
    <comment_count>5</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-02-08 03:21:27 -0800</bug_when>
    <thetext>Hola, Jochen. Interested in reviewing this patch? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>828398</commentid>
    <comment_count>6</comment_count>
      <attachid>187278</attachid>
    <who name="">jochen</who>
    <bug_when>2013-02-08 03:39:40 -0800</bug_when>
    <thetext>Comment on attachment 187278
Patch

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

ok

&gt; Source/WebCore/ChangeLog:19
&gt; +        again with the latter. It does the same for &apos;ASSERT(ec == 0);&apos; (and, as

I don&apos;t see wuch a change in the code?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>828416</commentid>
    <comment_count>7</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-02-08 04:11:00 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 187278 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=187278&amp;action=review
&gt; 
&gt; ok
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:19
&gt; &gt; +        again with the latter. It does the same for &apos;ASSERT(ec == 0);&apos; (and, as
&gt; 
&gt; I don&apos;t see wuch a change in the code?

The joys of copy/paste. I&apos;ll fix that. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>828417</commentid>
    <comment_count>8</comment_count>
      <attachid>187288</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-02-08 04:12:27 -0800</bug_when>
    <thetext>Created attachment 187288
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>828449</commentid>
    <comment_count>9</comment_count>
      <attachid>187288</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-08 04:56:31 -0800</bug_when>
    <thetext>Comment on attachment 187288
Patch for landing

Clearing flags on attachment: 187288

Committed r142261: &lt;http://trac.webkit.org/changeset/142261&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>828450</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-08 04:56:36 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187278</attachid>
            <date>2013-02-08 03:20:30 -0800</date>
            <delta_ts>2013-02-08 04:12:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109267-20130208121704.patch</filename>
            <type>text/plain</type>
            <size>11638</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyMjQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjczZWFkYjAxZWY3NThh
MTc3OGEwOGU2OWUwYTJmMzU0MzczZjk0NC4uZWJiNjQzN2MxMGU0ZGU2ZDNjNmUxNWUxYzhkODU1
ZDFhZjY4MzhiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDEzLTAyLTA4ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTWlncmF0ZSBFeGNlcHRpb25D
b2RlIEFTU0VSVHMgaW4gU1ZHIHRvIEFTU0VSVF9OT19FWENFUFRJT04uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDkyNjcKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgcGF0dGVybjoKKworICAgICAg
ICAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgICAgICAgICBtZXRob2RUaGF0R2VuZXJh
dGVzRXhjZXB0aW9uKGVjKTsKKyAgICAgICAgICAgIEFTU0VSVCghZWMpOworCisgICAgICAgIGlz
IG1vcmUgY2xlYXJseSBhbmQgc3VjY2luY3RseSB3cml0dGVuIGFzOgorCisgICAgICAgICAgICBt
ZXRob2RUaGF0R2VuZXJhdGVzRXhjZXB0aW9uKEFTU0VSVF9OT19FWENFUFRJT04pOworCisgICAg
ICAgIFRoaXMgcGF0Y2ggcmVwbGFjZXMgdGhlIG9jY3VyYW5jZXMgb2YgdGhlIGZvcm1lciB0aGF0
IG5ldmVyIHRvdWNoICdlYycKKyAgICAgICAgYWdhaW4gd2l0aCB0aGUgbGF0dGVyLiBJdCBkb2Vz
IHRoZSBzYW1lIGZvciAnQVNTRVJUKGVjID09IDApOycgKGFuZCwgYXMKKyAgICAgICAgYSBkcml2
ZS1ieSwgcmVwbGFjZXMgJ0FTU0VSVChlYyA9PSAwKScgd2l0aCAnQVNTRVJUKCFlYyknIGluIHBs
YWNlcworICAgICAgICB3aGVyZSBpdCBkb2VzIGluZGVlZCBtYXR0ZXIgdGhhdCAnZWMnIGdldCBz
ZXQgcHJvcGVybHkuCisKKyAgICAgICAgTm8gY2hhbmdlIGluIGJlaGF2aW9yIHNob3VsZCByZXN1
bHQgZnJvbSB0aGlzIHJlZmFjdG9yaW5nLgorCisgICAgICAgICogc3ZnL1NWR0xlbmd0aC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTVkdMZW5ndGg6OlNWR0xlbmd0aCk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdMZW5ndGg6OnNldFZhbHVlKToKKyAgICAgICAgICAgIFRoaXMgbWV0aG9kIGNoZWNr
ZWQgdGhlIHZhbHVlIG9mIHRoZSBFeGNlcHRpb25Db2RlIHdpdGhvdXQgZmlyc3QKKyAgICAgICAg
ICAgIGluaXRpYWxpemluZyBpdCB0byAwLiBOb3cgaXQgaW5pdGlhbGl6ZXMgYmVmb3JlIGRvaW5n
IHBvdGVudGlhbGx5CisgICAgICAgICAgICBleGNlcHRpb24tZ2VuZXJhdGluZyB3b3JrLgorICAg
ICAgICAqIHJlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZS5oOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHUmVuZGVyU3R5bGU6OmluaXRpYWxCYXNlbGluZVNoaWZ0VmFsdWUpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHUmVuZGVyU3R5bGU6OmluaXRpYWxLZXJuaW5nKToKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1JlbmRlclN0eWxlOjppbml0aWFsU3Ryb2tlRGFzaE9mZnNldCk6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdSZW5kZXJTdHlsZTo6aW5pdGlhbFN0cm9rZVdpZHRoKToKKyAgICAgICAgKiBz
dmcvU1ZHQW5pbWF0ZWRMZW5ndGguY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2hhcmVkU1ZHTGVu
Z3RoKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkTGVuZ3RoQW5pbWF0b3I6OmFkZEFu
aW1hdGVkVHlwZXMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRMZW5ndGhBbmltYXRv
cjo6Y2FsY3VsYXRlQW5pbWF0ZWRWYWx1ZSk6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVkTGVu
Z3RoTGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZExlbmd0aExpc3RBbmlt
YXRvcjo6YWRkQW5pbWF0ZWRUeXBlcyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZExl
bmd0aExpc3RBbmltYXRvcjo6Y2FsY3VsYXRlQW5pbWF0ZWRWYWx1ZSk6CisgICAgICAgICogc3Zn
L1NWR1RleHRDb250ZW50RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0Q29u
dGVudEVsZW1lbnQ6OnRleHRMZW5ndGhBbmltYXRlZCk6CisgICAgICAgICogc3ZnL2FuaW1hdGlv
bi9TVkdTTUlMRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb25zdHJ1Y3RRdWFsaWZp
ZWROYW1lKToKKyAgICAgICAgICAgIFJlcGxhY2UgdGhlIGFib3ZlIHBhdHRlcm4gd2l0aCBBU1NF
UlRfTk9fRVhDRVBUSU9OLgorCiAyMDEzLTAyLTA4ICBBbGV4ZWkgRmlsaXBwb3YgIDxhbHBoQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBkaXNhYmxlIHByb2ZpbGUgdHlw
ZSBzd2l0Y2hpbmcgd2hpbGUgcHJvZmlsZSBpbiBwcm9ncmVzcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuaAppbmRleCBiZTBhNDc5YmNmMThhM2Vm
ZjE2N2VhMzM5ZTJjNGVhNWE0YzA1NDA2Li5lZTY5ZGI2ZWZmYTk4ZGQwNmNmNmI2YmFiMjQ1ODVm
ZmMzYjc1MThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZH
UmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVu
ZGVyU3R5bGUuaApAQCAtMjYsNiArMjYsNyBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAi
Q1NTVmFsdWVMaXN0LmgiCiAjaW5jbHVkZSAiRGF0YVJlZi5oIgorI2luY2x1ZGUgIkV4Y2VwdGlv
bkNvZGVQbGFjZWhvbGRlci5oIgogI2luY2x1ZGUgIkdyYXBoaWNzVHlwZXMuaCIKICNpbmNsdWRl
ICJQYXRoLmgiCiAjaW5jbHVkZSAiUmVuZGVyU3R5bGVDb25zdGFudHMuaCIKQEAgLTk3LDM2ICs5
OCwyOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFNWR0xlbmd0aCBpbml0aWFsQmFzZWxpbmVTaGlm
dFZhbHVlKCkKICAgICB7CiAgICAgICAgIFNWR0xlbmd0aCBsZW5ndGg7Ci0gICAgICAgIEV4Y2Vw
dGlvbkNvZGUgZWMgPSAwOwotICAgICAgICBsZW5ndGgubmV3VmFsdWVTcGVjaWZpZWRVbml0cyhM
ZW5ndGhUeXBlTnVtYmVyLCAwLCBlYyk7Ci0gICAgICAgIEFTU0VSVCghZWMpOworICAgICAgICBs
ZW5ndGgubmV3VmFsdWVTcGVjaWZpZWRVbml0cyhMZW5ndGhUeXBlTnVtYmVyLCAwLCBBU1NFUlRf
Tk9fRVhDRVBUSU9OKTsKICAgICAgICAgcmV0dXJuIGxlbmd0aDsKICAgICB9CiAKICAgICBzdGF0
aWMgU1ZHTGVuZ3RoIGluaXRpYWxLZXJuaW5nKCkKICAgICB7CiAgICAgICAgIFNWR0xlbmd0aCBs
ZW5ndGg7Ci0gICAgICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgICAgICBsZW5ndGgubmV3
VmFsdWVTcGVjaWZpZWRVbml0cyhMZW5ndGhUeXBlTnVtYmVyLCAwLCBlYyk7Ci0gICAgICAgIEFT
U0VSVCghZWMpOworICAgICAgICBsZW5ndGgubmV3VmFsdWVTcGVjaWZpZWRVbml0cyhMZW5ndGhU
eXBlTnVtYmVyLCAwLCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKICAgICAgICAgcmV0dXJuIGxlbmd0
aDsKICAgICB9CiAKICAgICBzdGF0aWMgU1ZHTGVuZ3RoIGluaXRpYWxTdHJva2VEYXNoT2Zmc2V0
KCkKICAgICB7CiAgICAgICAgIFNWR0xlbmd0aCBsZW5ndGg7Ci0gICAgICAgIEV4Y2VwdGlvbkNv
ZGUgZWMgPSAwOwotICAgICAgICBsZW5ndGgubmV3VmFsdWVTcGVjaWZpZWRVbml0cyhMZW5ndGhU
eXBlTnVtYmVyLCAwLCBlYyk7Ci0gICAgICAgIEFTU0VSVCghZWMpOworICAgICAgICBsZW5ndGgu
bmV3VmFsdWVTcGVjaWZpZWRVbml0cyhMZW5ndGhUeXBlTnVtYmVyLCAwLCBBU1NFUlRfTk9fRVhD
RVBUSU9OKTsKICAgICAgICAgcmV0dXJuIGxlbmd0aDsKICAgICB9CiAKICAgICBzdGF0aWMgU1ZH
TGVuZ3RoIGluaXRpYWxTdHJva2VXaWR0aCgpCiAgICAgewogICAgICAgICBTVkdMZW5ndGggbGVu
Z3RoOwotICAgICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICAgICAgbGVuZ3RoLm5ld1Zh
bHVlU3BlY2lmaWVkVW5pdHMoTGVuZ3RoVHlwZU51bWJlciwgMSwgZWMpOwotICAgICAgICBBU1NF
UlQoIWVjKTsKKyAgICAgICAgbGVuZ3RoLm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMoTGVuZ3RoVHlw
ZU51bWJlciwgMSwgQVNTRVJUX05PX0VYQ0VQVElPTik7CiAgICAgICAgIHJldHVybiBsZW5ndGg7
CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRMZW5n
dGguY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkTGVuZ3RoLmNwcAppbmRleCA3
YzI2ZWJkMzVlMzM3NzM2ZThhNjk0MmNjN2NiNzg3YWYxYTk0Zjc5Li4wYWM4YmYwNjUxNmNhMTQ1
NTkxZDAwNThmNzgxODU1MGVmZmEzZGQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHQW5pbWF0ZWRMZW5ndGguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRl
ZExlbmd0aC5jcHAKQEAgLTM2LDkgKzM2LDcgQEAgU1ZHQW5pbWF0ZWRMZW5ndGhBbmltYXRvcjo6
U1ZHQW5pbWF0ZWRMZW5ndGhBbmltYXRvcihTVkdBbmltYXRpb25FbGVtZW50KiBhbmltYXQKIHN0
YXRpYyBpbmxpbmUgU1ZHTGVuZ3RoJiBzaGFyZWRTVkdMZW5ndGgoU1ZHTGVuZ3RoTW9kZSBtb2Rl
LCBjb25zdCBTdHJpbmcmIHZhbHVlQXNTdHJpbmcpCiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NB
TChTVkdMZW5ndGgsIHNoYXJlZExlbmd0aCwgKCkpOwotICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAw
OwotICAgIHNoYXJlZExlbmd0aC5zZXRWYWx1ZUFzU3RyaW5nKHZhbHVlQXNTdHJpbmcsIG1vZGUs
IGVjKTsKLSAgICBBU1NFUlQoIWVjKTsKKyAgICBzaGFyZWRMZW5ndGguc2V0VmFsdWVBc1N0cmlu
Zyh2YWx1ZUFzU3RyaW5nLCBtb2RlLCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKICAgICByZXR1cm4g
c2hhcmVkTGVuZ3RoOwogfQogCkBAIC04MSw5ICs3OSw3IEBAIHZvaWQgU1ZHQW5pbWF0ZWRMZW5n
dGhBbmltYXRvcjo6YWRkQW5pbWF0ZWRUeXBlcyhTVkdBbmltYXRlZFR5cGUqIGZyb20sIFNWR0Fu
aW1hCiAgICAgY29uc3QgU1ZHTGVuZ3RoJiBmcm9tTGVuZ3RoID0gZnJvbS0+bGVuZ3RoKCk7CiAg
ICAgU1ZHTGVuZ3RoJiB0b0xlbmd0aCA9IHRvLT5sZW5ndGgoKTsKIAotICAgIEV4Y2VwdGlvbkNv
ZGUgZWMgPSAwOwotICAgIHRvTGVuZ3RoLnNldFZhbHVlKHRvTGVuZ3RoLnZhbHVlKGxlbmd0aENv
bnRleHQpICsgZnJvbUxlbmd0aC52YWx1ZShsZW5ndGhDb250ZXh0KSwgbGVuZ3RoQ29udGV4dCwg
ZWMpOwotICAgIEFTU0VSVCghZWMpOworICAgIHRvTGVuZ3RoLnNldFZhbHVlKHRvTGVuZ3RoLnZh
bHVlKGxlbmd0aENvbnRleHQpICsgZnJvbUxlbmd0aC52YWx1ZShsZW5ndGhDb250ZXh0KSwgbGVu
Z3RoQ29udGV4dCwgQVNTRVJUX05PX0VYQ0VQVElPTik7CiB9CiAKIHN0YXRpYyBTVkdMZW5ndGgg
cGFyc2VMZW5ndGhGcm9tU3RyaW5nKFNWR0FuaW1hdGlvbkVsZW1lbnQqIGFuaW1hdGlvbkVsZW1l
bnQsIGNvbnN0IFN0cmluZyYgc3RyaW5nKQpAQCAtMTEwLDkgKzEwNiw3IEBAIHZvaWQgU1ZHQW5p
bWF0ZWRMZW5ndGhBbmltYXRvcjo6Y2FsY3VsYXRlQW5pbWF0ZWRWYWx1ZShmbG9hdCBwZXJjZW50
YWdlLCB1bnNpZ25lCiAgICAgU1ZHTGVuZ3RoVHlwZSB1bml0VHlwZSA9IHBlcmNlbnRhZ2UgPCAw
LjUgPyBmcm9tU1ZHTGVuZ3RoLnVuaXRUeXBlKCkgOiB0b1NWR0xlbmd0aC51bml0VHlwZSgpOwog
ICAgIG1fYW5pbWF0aW9uRWxlbWVudC0+YW5pbWF0ZUFkZGl0aXZlTnVtYmVyKHBlcmNlbnRhZ2Us
IHJlcGVhdENvdW50LCBmcm9tU1ZHTGVuZ3RoLnZhbHVlKGxlbmd0aENvbnRleHQpLCB0b1NWR0xl
bmd0aC52YWx1ZShsZW5ndGhDb250ZXh0KSwgdG9BdEVuZE9mRHVyYXRpb25TVkdMZW5ndGgudmFs
dWUobGVuZ3RoQ29udGV4dCksIGFuaW1hdGVkTnVtYmVyKTsKIAotICAgIEV4Y2VwdGlvbkNvZGUg
ZWMgPSAwOwotICAgIGFuaW1hdGVkU1ZHTGVuZ3RoLnNldFZhbHVlKGxlbmd0aENvbnRleHQsIGFu
aW1hdGVkTnVtYmVyLCBtX2xlbmd0aE1vZGUsIHVuaXRUeXBlLCBlYyk7Ci0gICAgQVNTRVJUKCFl
Yyk7CisgICAgYW5pbWF0ZWRTVkdMZW5ndGguc2V0VmFsdWUobGVuZ3RoQ29udGV4dCwgYW5pbWF0
ZWROdW1iZXIsIG1fbGVuZ3RoTW9kZSwgdW5pdFR5cGUsIEFTU0VSVF9OT19FWENFUFRJT04pOwog
fQogCiBmbG9hdCBTVkdBbmltYXRlZExlbmd0aEFuaW1hdG9yOjpjYWxjdWxhdGVEaXN0YW5jZShj
b25zdCBTdHJpbmcmIGZyb21TdHJpbmcsIGNvbnN0IFN0cmluZyYgdG9TdHJpbmcpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZExlbmd0aExpc3QuY3BwCmluZGV4IDgxMmI5MGFmODU2
NmQ0Y2ZmNmUxMGY3ZjQxNjAwYTM0ZjM4MWRmZWEuLmI2YTIzYWNiYTJhODgzYmVkNThiY2E4YzZi
NmUzYjUzNDE0MWIzNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRl
ZExlbmd0aExpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZExlbmd0
aExpc3QuY3BwCkBAIC03OCwxMSArNzgsOCBAQCB2b2lkIFNWR0FuaW1hdGVkTGVuZ3RoTGlzdEFu
aW1hdG9yOjphZGRBbmltYXRlZFR5cGVzKFNWR0FuaW1hdGVkVHlwZSogZnJvbSwgU1ZHQQogICAg
ICAgICByZXR1cm47CiAKICAgICBTVkdMZW5ndGhDb250ZXh0IGxlbmd0aENvbnRleHQobV9jb250
ZXh0RWxlbWVudCk7Ci0gICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgZm9yICh1bnNpZ25l
ZCBpID0gMDsgaSA8IGZyb21MZW5ndGhMaXN0U2l6ZTsgKytpKSB7Ci0gICAgICAgIHRvTGVuZ3Ro
TGlzdFtpXS5zZXRWYWx1ZSh0b0xlbmd0aExpc3RbaV0udmFsdWUobGVuZ3RoQ29udGV4dCkgKyBm
cm9tTGVuZ3RoTGlzdFtpXS52YWx1ZShsZW5ndGhDb250ZXh0KSwgbGVuZ3RoQ29udGV4dCwgZWMp
OwotICAgICAgICBBU1NFUlQoIWVjKTsKLSAgICB9CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IGZyb21MZW5ndGhMaXN0U2l6ZTsgKytpKQorICAgICAgICB0b0xlbmd0aExpc3RbaV0uc2V0
VmFsdWUodG9MZW5ndGhMaXN0W2ldLnZhbHVlKGxlbmd0aENvbnRleHQpICsgZnJvbUxlbmd0aExp
c3RbaV0udmFsdWUobGVuZ3RoQ29udGV4dCksIGxlbmd0aENvbnRleHQsIEFTU0VSVF9OT19FWENF
UFRJT04pOwogfQogCiBzdGF0aWMgU1ZHTGVuZ3RoTGlzdCBwYXJzZUxlbmd0aExpc3RGcm9tU3Ry
aW5nKFNWR0FuaW1hdGlvbkVsZW1lbnQqIGFuaW1hdGlvbkVsZW1lbnQsIGNvbnN0IFN0cmluZyYg
c3RyaW5nKQpAQCAtMTE0LDcgKzExMSw2IEBAIHZvaWQgU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0QW5p
bWF0b3I6OmNhbGN1bGF0ZUFuaW1hdGVkVmFsdWUoZmxvYXQgcGVyY2VudGFnZSwgdW5zCiAgICAg
dW5zaWduZWQgdG9BdEVuZE9mRHVyYXRpb25MaXN0U2l6ZSA9IHRvQXRFbmRPZkR1cmF0aW9uTGVu
Z3RoTGlzdC5zaXplKCk7CiAKICAgICBTVkdMZW5ndGhDb250ZXh0IGxlbmd0aENvbnRleHQobV9j
b250ZXh0RWxlbWVudCk7Ci0gICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IHRvTGVuZ3RoTGlzdFNpemU7ICsraSkgewogICAgICAgICBmbG9hdCBh
bmltYXRlZE51bWJlciA9IGFuaW1hdGVkTGVuZ3RoTGlzdFtpXS52YWx1ZShsZW5ndGhDb250ZXh0
KTsKICAgICAgICAgU1ZHTGVuZ3RoVHlwZSB1bml0VHlwZSA9IHRvTGVuZ3RoTGlzdFtpXS51bml0
VHlwZSgpOwpAQCAtMTI3LDggKzEyMyw3IEBAIHZvaWQgU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0QW5p
bWF0b3I6OmNhbGN1bGF0ZUFuaW1hdGVkVmFsdWUoZmxvYXQgcGVyY2VudGFnZSwgdW5zCiAgICAg
ICAgIGZsb2F0IGVmZmVjdGl2ZVRvQXRFbmQgPSBpIDwgdG9BdEVuZE9mRHVyYXRpb25MaXN0U2l6
ZSA/IHRvQXRFbmRPZkR1cmF0aW9uTGVuZ3RoTGlzdFtpXS52YWx1ZShsZW5ndGhDb250ZXh0KSA6
IDA7CiAKICAgICAgICAgbV9hbmltYXRpb25FbGVtZW50LT5hbmltYXRlQWRkaXRpdmVOdW1iZXIo
cGVyY2VudGFnZSwgcmVwZWF0Q291bnQsIGVmZmVjdGl2ZUZyb20sIHRvTGVuZ3RoTGlzdFtpXS52
YWx1ZShsZW5ndGhDb250ZXh0KSwgZWZmZWN0aXZlVG9BdEVuZCwgYW5pbWF0ZWROdW1iZXIpOwot
ICAgICAgICBhbmltYXRlZExlbmd0aExpc3RbaV0uc2V0VmFsdWUobGVuZ3RoQ29udGV4dCwgYW5p
bWF0ZWROdW1iZXIsIG1fbGVuZ3RoTW9kZSwgdW5pdFR5cGUsIGVjKTsKLSAgICAgICAgQVNTRVJU
KCFlYyk7CisgICAgICAgIGFuaW1hdGVkTGVuZ3RoTGlzdFtpXS5zZXRWYWx1ZShsZW5ndGhDb250
ZXh0LCBhbmltYXRlZE51bWJlciwgbV9sZW5ndGhNb2RlLCB1bml0VHlwZSwgQVNTRVJUX05PX0VY
Q0VQVElPTik7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
TGVuZ3RoLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGguY3BwCmluZGV4IGJmNWJm
NDIzNjE1MTQ3Nzc0NmJmNzAyMjU3OTQ2M2UxYWExMjUxNjkuLjM0YTQxOTU0YTQ5YmYwMDUzYzQ4
YWUxNzE4MDFlZmE4ZjQ2ZThiMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdM
ZW5ndGguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGguY3BwCkBAIC0yNyw2
ICsyNyw3IEBACiAjaW5jbHVkZSAiQ1NTSGVscGVyLmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZl
VmFsdWUuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiRXhjZXB0aW9u
Q29kZVBsYWNlaG9sZGVyLmgiCiAjaW5jbHVkZSAiRmxvYXRDb252ZXJzaW9uLmgiCiAjaW5jbHVk
ZSAiU1ZHTmFtZXMuaCIKICNpbmNsdWRlICJTVkdQYXJzZXJVdGlsaXRpZXMuaCIKQEAgLTEzMiw5
ICsxMzMsNyBAQCBTVkdMZW5ndGg6OlNWR0xlbmd0aChjb25zdCBTVkdMZW5ndGhDb250ZXh0JiBj
b250ZXh0LCBmbG9hdCB2YWx1ZSwgU1ZHTGVuZ3RoTW9kZQogICAgIDogbV92YWx1ZUluU3BlY2lm
aWVkVW5pdHMoMCkKICAgICAsIG1fdW5pdChzdG9yZVVuaXQobW9kZSwgdW5pdFR5cGUpKQogewot
ICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIHNldFZhbHVlKHZhbHVlLCBjb250ZXh0LCBl
Yyk7Ci0gICAgQVNTRVJUKCFlYyk7CisgICAgc2V0VmFsdWUodmFsdWUsIGNvbnRleHQsIEFTU0VS
VF9OT19FWENFUFRJT04pOwogfQogCiBTVkdMZW5ndGg6OlNWR0xlbmd0aChjb25zdCBTVkdMZW5n
dGgmIG90aGVyKQpAQCAtMjA5LDYgKzIwOCw3IEBAIHZvaWQgU1ZHTGVuZ3RoOjpzZXRWYWx1ZShm
bG9hdCB2YWx1ZSwgY29uc3QgU1ZHTGVuZ3RoQ29udGV4dCYgY29udGV4dCwgRXhjZXB0aW9uCiAg
ICAgaWYgKGV4dHJhY3RUeXBlKG1fdW5pdCkgPT0gTGVuZ3RoVHlwZVBlcmNlbnRhZ2UpCiAgICAg
ICAgIHZhbHVlID0gdmFsdWUgLyAxMDA7CiAKKyAgICBlYyA9IDA7CiAgICAgZmxvYXQgY29udmVy
dGVkVmFsdWUgPSBjb250ZXh0LmNvbnZlcnRWYWx1ZUZyb21Vc2VyVW5pdHModmFsdWUsIGV4dHJh
Y3RNb2RlKG1fdW5pdCksIGV4dHJhY3RUeXBlKG1fdW5pdCksIGVjKTsKICAgICBpZiAoIWVjKQog
ICAgICAgICBtX3ZhbHVlSW5TcGVjaWZpZWRVbml0cyA9IGNvbnZlcnRlZFZhbHVlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcAppbmRleCAzOTQzZmZlYmRh
MjNjYjIyNGE5NDRhZThkOTc5ZmVhNjFlZTUwNzM1Li5jYjg2ZjA4YjY4ZDI3MzQ4MmVmYWMzOTY1
MTdjMTgwM2RiMTA0NDhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENv
bnRlbnRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRF
bGVtZW50LmNwcApAQCAtOTUsMTEgKzk1LDggQEAgUGFzc1JlZlB0cjxTVkdBbmltYXRlZFByb3Bl
cnR5PiBTVkdUZXh0Q29udGVudEVsZW1lbnQ6Omxvb2t1cE9yQ3JlYXRlVGV4dExlbmd0aFcKIFBh
c3NSZWZQdHI8U1ZHQW5pbWF0ZWRMZW5ndGg+IFNWR1RleHRDb250ZW50RWxlbWVudDo6dGV4dExl
bmd0aEFuaW1hdGVkKCkKIHsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFNWR0xlbmd0aCwgZGVm
YXVsdFRleHRMZW5ndGgsIChMZW5ndGhNb2RlT3RoZXIpKTsKLSAgICBpZiAobV9zcGVjaWZpZWRU
ZXh0TGVuZ3RoID09IGRlZmF1bHRUZXh0TGVuZ3RoKSB7Ci0gICAgICAgIEV4Y2VwdGlvbkNvZGUg
ZWMgPSAwOwotICAgICAgICBtX3RleHRMZW5ndGgudmFsdWUubmV3VmFsdWVTcGVjaWZpZWRVbml0
cyhMZW5ndGhUeXBlTnVtYmVyLCBnZXRDb21wdXRlZFRleHRMZW5ndGgoKSwgZWMpOwotICAgICAg
ICBBU1NFUlQoIWVjKTsKLSAgICB9CisgICAgaWYgKG1fc3BlY2lmaWVkVGV4dExlbmd0aCA9PSBk
ZWZhdWx0VGV4dExlbmd0aCkKKyAgICAgICAgbV90ZXh0TGVuZ3RoLnZhbHVlLm5ld1ZhbHVlU3Bl
Y2lmaWVkVW5pdHMoTGVuZ3RoVHlwZU51bWJlciwgZ2V0Q29tcHV0ZWRUZXh0TGVuZ3RoKCksIEFT
U0VSVF9OT19FWENFUFRJT04pOwogCiAgICAgbV90ZXh0TGVuZ3RoLnNob3VsZFN5bmNocm9uaXpl
ID0gdHJ1ZTsKICAgICByZXR1cm4gc3RhdGljX3BvaW50ZXJfY2FzdDxTVkdBbmltYXRlZExlbmd0
aD4obG9va3VwT3JDcmVhdGVUZXh0TGVuZ3RoV3JhcHBlcih0aGlzKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NWR1NNSUxFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9hbmltYXRpb24vU1ZHU01JTEVsZW1lbnQuY3BwCmluZGV4IDY3N2I3ZTBkN2Y2
YTRmNzQwNzdkOWFkZWQyMTFkY2JjZmU4YjA1YTkuLmNiOGE0NDRiY2JkMjkzNWUyNGY3ZGVhNzhl
NTI3YzRmZWFkODc3N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24v
U1ZHU01JTEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU1ZH
U01JTEVsZW1lbnQuY3BwCkBAIC0yMDIsMTAgKzIwMiw4IEBAIHN0YXRpYyBpbmxpbmUgUXVhbGlm
aWVkTmFtZSBjb25zdHJ1Y3RRdWFsaWZpZWROYW1lKGNvbnN0IFNWR0VsZW1lbnQqIHN2Z0VsZW1l
bnQsCiAgICAgCiAgICAgU3RyaW5nIHByZWZpeDsKICAgICBTdHJpbmcgbG9jYWxOYW1lOwotICAg
IEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIGlmICghRG9jdW1lbnQ6OnBhcnNlUXVhbGlmaWVk
TmFtZShhdHRyaWJ1dGVOYW1lLCBwcmVmaXgsIGxvY2FsTmFtZSwgZWMpKQorICAgIGlmICghRG9j
dW1lbnQ6OnBhcnNlUXVhbGlmaWVkTmFtZShhdHRyaWJ1dGVOYW1lLCBwcmVmaXgsIGxvY2FsTmFt
ZSwgQVNTRVJUX05PX0VYQ0VQVElPTikpCiAgICAgICAgIHJldHVybiBhbnlRTmFtZSgpOwotICAg
IEFTU0VSVCghZWMpOwogICAgIAogICAgIFN0cmluZyBuYW1lc3BhY2VVUkkgPSBzdmdFbGVtZW50
LT5sb29rdXBOYW1lc3BhY2VVUkkocHJlZml4KTsgICAgCiAgICAgaWYgKG5hbWVzcGFjZVVSSS5p
c0VtcHR5KCkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187288</attachid>
            <date>2013-02-08 04:12:27 -0800</date>
            <delta_ts>2013-02-08 04:56:31 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-109267-20130208130901.patch</filename>
            <type>text/plain</type>
            <size>11437</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyMjUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmUxNWUzOTRkZDExMjM0
OTIxOTY4ZjlhNGJkNTRhMzQzNWM4NDdmNC4uYTA2ZjU2ODQwOTMxZTg3YzJlY2MwNmU2YjgwY2Mz
ZjM5YjJmMWIwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDEzLTAyLTA4ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTWlncmF0ZSBFeGNlcHRpb25D
b2RlIEFTU0VSVHMgaW4gU1ZHIHRvIEFTU0VSVF9OT19FWENFUFRJT04uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDkyNjcKKworICAgICAgICBSZXZp
ZXdlZCBieSBKb2NoZW4gRWlzaW5nZXIuCisKKyAgICAgICAgVGhlIHBhdHRlcm46CisKKyAgICAg
ICAgICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgICAgICAgICAgbWV0aG9kVGhhdEdlbmVy
YXRlc0V4Y2VwdGlvbihlYyk7CisgICAgICAgICAgICBBU1NFUlQoIWVjKTsKKworICAgICAgICBp
cyBtb3JlIGNsZWFybHkgYW5kIHN1Y2NpbmN0bHkgd3JpdHRlbiBhczoKKworICAgICAgICAgICAg
bWV0aG9kVGhhdEdlbmVyYXRlc0V4Y2VwdGlvbihBU1NFUlRfTk9fRVhDRVBUSU9OKTsKKworICAg
ICAgICBUaGlzIHBhdGNoIHJlcGxhY2VzIHRoZSBvY2N1cmFuY2VzIG9mIHRoZSBmb3JtZXIgaW4g
U1ZHIGNvZGUgdGhhdCBuZXZlcgorICAgICAgICB0b3VjaCAnZWMnIGFnYWluIHdpdGggdGhlIGxh
dHRlci4gTm8gY2hhbmdlIGluIGJlaGF2aW9yIHNob3VsZCByZXN1bHQKKyAgICAgICAgZnJvbSB0
aGlzIHJlZmFjdG9yaW5nLgorCisgICAgICAgICogc3ZnL1NWR0xlbmd0aC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdMZW5ndGg6OlNWR0xlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdM
ZW5ndGg6OnNldFZhbHVlKToKKyAgICAgICAgICAgIFRoaXMgbWV0aG9kIGNoZWNrZWQgdGhlIHZh
bHVlIG9mIHRoZSBFeGNlcHRpb25Db2RlIHdpdGhvdXQgZmlyc3QKKyAgICAgICAgICAgIGluaXRp
YWxpemluZyBpdCB0byAwLiBOb3cgaXQgaW5pdGlhbGl6ZXMgYmVmb3JlIGRvaW5nIHBvdGVudGlh
bGx5CisgICAgICAgICAgICBleGNlcHRpb24tZ2VuZXJhdGluZyB3b3JrLgorICAgICAgICAqIHJl
bmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZS5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVu
ZGVyU3R5bGU6OmluaXRpYWxCYXNlbGluZVNoaWZ0VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUmVuZGVyU3R5bGU6OmluaXRpYWxLZXJuaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jl
bmRlclN0eWxlOjppbml0aWFsU3Ryb2tlRGFzaE9mZnNldCk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdSZW5kZXJTdHlsZTo6aW5pdGlhbFN0cm9rZVdpZHRoKToKKyAgICAgICAgKiBzdmcvU1ZHQW5p
bWF0ZWRMZW5ndGguY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2hhcmVkU1ZHTGVuZ3RoKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkTGVuZ3RoQW5pbWF0b3I6OmFkZEFuaW1hdGVkVHlw
ZXMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRMZW5ndGhBbmltYXRvcjo6Y2FsY3Vs
YXRlQW5pbWF0ZWRWYWx1ZSk6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVkTGVuZ3RoTGlzdC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZExlbmd0aExpc3RBbmltYXRvcjo6YWRk
QW5pbWF0ZWRUeXBlcyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZExlbmd0aExpc3RB
bmltYXRvcjo6Y2FsY3VsYXRlQW5pbWF0ZWRWYWx1ZSk6CisgICAgICAgICogc3ZnL1NWR1RleHRD
b250ZW50RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0Q29udGVudEVsZW1l
bnQ6OnRleHRMZW5ndGhBbmltYXRlZCk6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbi9TVkdTTUlM
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb25zdHJ1Y3RRdWFsaWZpZWROYW1lKToK
KyAgICAgICAgICAgIFJlcGxhY2UgdGhlIGFib3ZlIHBhdHRlcm4gd2l0aCBBU1NFUlRfTk9fRVhD
RVBUSU9OLgorCiAyMDEzLTAyLTA4ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdt
YWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTQxNjk1IGFuZCBy
MTQxNjk3LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1Jl
bmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5
bGUuaAppbmRleCBiZTBhNDc5YmNmMThhM2VmZjE2N2VhMzM5ZTJjNGVhNWE0YzA1NDA2Li5lZTY5
ZGI2ZWZmYTk4ZGQwNmNmNmI2YmFiMjQ1ODVmZmMzYjc1MThiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuaApAQCAtMjYsNiArMjYsNyBAQAog
I2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiQ1NTVmFsdWVMaXN0LmgiCiAjaW5jbHVkZSAiRGF0
YVJlZi5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5oIgogI2luY2x1ZGUg
IkdyYXBoaWNzVHlwZXMuaCIKICNpbmNsdWRlICJQYXRoLmgiCiAjaW5jbHVkZSAiUmVuZGVyU3R5
bGVDb25zdGFudHMuaCIKQEAgLTk3LDM2ICs5OCwyOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFNW
R0xlbmd0aCBpbml0aWFsQmFzZWxpbmVTaGlmdFZhbHVlKCkKICAgICB7CiAgICAgICAgIFNWR0xl
bmd0aCBsZW5ndGg7Ci0gICAgICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgICAgICBsZW5n
dGgubmV3VmFsdWVTcGVjaWZpZWRVbml0cyhMZW5ndGhUeXBlTnVtYmVyLCAwLCBlYyk7Ci0gICAg
ICAgIEFTU0VSVCghZWMpOworICAgICAgICBsZW5ndGgubmV3VmFsdWVTcGVjaWZpZWRVbml0cyhM
ZW5ndGhUeXBlTnVtYmVyLCAwLCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKICAgICAgICAgcmV0dXJu
IGxlbmd0aDsKICAgICB9CiAKICAgICBzdGF0aWMgU1ZHTGVuZ3RoIGluaXRpYWxLZXJuaW5nKCkK
ICAgICB7CiAgICAgICAgIFNWR0xlbmd0aCBsZW5ndGg7Ci0gICAgICAgIEV4Y2VwdGlvbkNvZGUg
ZWMgPSAwOwotICAgICAgICBsZW5ndGgubmV3VmFsdWVTcGVjaWZpZWRVbml0cyhMZW5ndGhUeXBl
TnVtYmVyLCAwLCBlYyk7Ci0gICAgICAgIEFTU0VSVCghZWMpOworICAgICAgICBsZW5ndGgubmV3
VmFsdWVTcGVjaWZpZWRVbml0cyhMZW5ndGhUeXBlTnVtYmVyLCAwLCBBU1NFUlRfTk9fRVhDRVBU
SU9OKTsKICAgICAgICAgcmV0dXJuIGxlbmd0aDsKICAgICB9CiAKICAgICBzdGF0aWMgU1ZHTGVu
Z3RoIGluaXRpYWxTdHJva2VEYXNoT2Zmc2V0KCkKICAgICB7CiAgICAgICAgIFNWR0xlbmd0aCBs
ZW5ndGg7Ci0gICAgICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgICAgICBsZW5ndGgubmV3
VmFsdWVTcGVjaWZpZWRVbml0cyhMZW5ndGhUeXBlTnVtYmVyLCAwLCBlYyk7Ci0gICAgICAgIEFT
U0VSVCghZWMpOworICAgICAgICBsZW5ndGgubmV3VmFsdWVTcGVjaWZpZWRVbml0cyhMZW5ndGhU
eXBlTnVtYmVyLCAwLCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKICAgICAgICAgcmV0dXJuIGxlbmd0
aDsKICAgICB9CiAKICAgICBzdGF0aWMgU1ZHTGVuZ3RoIGluaXRpYWxTdHJva2VXaWR0aCgpCiAg
ICAgewogICAgICAgICBTVkdMZW5ndGggbGVuZ3RoOwotICAgICAgICBFeGNlcHRpb25Db2RlIGVj
ID0gMDsKLSAgICAgICAgbGVuZ3RoLm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMoTGVuZ3RoVHlwZU51
bWJlciwgMSwgZWMpOwotICAgICAgICBBU1NFUlQoIWVjKTsKKyAgICAgICAgbGVuZ3RoLm5ld1Zh
bHVlU3BlY2lmaWVkVW5pdHMoTGVuZ3RoVHlwZU51bWJlciwgMSwgQVNTRVJUX05PX0VYQ0VQVElP
Tik7CiAgICAgICAgIHJldHVybiBsZW5ndGg7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRMZW5ndGguY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0FuaW1hdGVkTGVuZ3RoLmNwcAppbmRleCA3YzI2ZWJkMzVlMzM3NzM2ZThhNjk0MmNjN2NiNzg3
YWYxYTk0Zjc5Li4wYWM4YmYwNjUxNmNhMTQ1NTkxZDAwNThmNzgxODU1MGVmZmEzZGQ4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRMZW5ndGguY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZExlbmd0aC5jcHAKQEAgLTM2LDkgKzM2LDcgQEAg
U1ZHQW5pbWF0ZWRMZW5ndGhBbmltYXRvcjo6U1ZHQW5pbWF0ZWRMZW5ndGhBbmltYXRvcihTVkdB
bmltYXRpb25FbGVtZW50KiBhbmltYXQKIHN0YXRpYyBpbmxpbmUgU1ZHTGVuZ3RoJiBzaGFyZWRT
VkdMZW5ndGgoU1ZHTGVuZ3RoTW9kZSBtb2RlLCBjb25zdCBTdHJpbmcmIHZhbHVlQXNTdHJpbmcp
CiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTVkdMZW5ndGgsIHNoYXJlZExlbmd0aCwgKCkp
OwotICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIHNoYXJlZExlbmd0aC5zZXRWYWx1ZUFz
U3RyaW5nKHZhbHVlQXNTdHJpbmcsIG1vZGUsIGVjKTsKLSAgICBBU1NFUlQoIWVjKTsKKyAgICBz
aGFyZWRMZW5ndGguc2V0VmFsdWVBc1N0cmluZyh2YWx1ZUFzU3RyaW5nLCBtb2RlLCBBU1NFUlRf
Tk9fRVhDRVBUSU9OKTsKICAgICByZXR1cm4gc2hhcmVkTGVuZ3RoOwogfQogCkBAIC04MSw5ICs3
OSw3IEBAIHZvaWQgU1ZHQW5pbWF0ZWRMZW5ndGhBbmltYXRvcjo6YWRkQW5pbWF0ZWRUeXBlcyhT
VkdBbmltYXRlZFR5cGUqIGZyb20sIFNWR0FuaW1hCiAgICAgY29uc3QgU1ZHTGVuZ3RoJiBmcm9t
TGVuZ3RoID0gZnJvbS0+bGVuZ3RoKCk7CiAgICAgU1ZHTGVuZ3RoJiB0b0xlbmd0aCA9IHRvLT5s
ZW5ndGgoKTsKIAotICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIHRvTGVuZ3RoLnNldFZh
bHVlKHRvTGVuZ3RoLnZhbHVlKGxlbmd0aENvbnRleHQpICsgZnJvbUxlbmd0aC52YWx1ZShsZW5n
dGhDb250ZXh0KSwgbGVuZ3RoQ29udGV4dCwgZWMpOwotICAgIEFTU0VSVCghZWMpOworICAgIHRv
TGVuZ3RoLnNldFZhbHVlKHRvTGVuZ3RoLnZhbHVlKGxlbmd0aENvbnRleHQpICsgZnJvbUxlbmd0
aC52YWx1ZShsZW5ndGhDb250ZXh0KSwgbGVuZ3RoQ29udGV4dCwgQVNTRVJUX05PX0VYQ0VQVElP
Tik7CiB9CiAKIHN0YXRpYyBTVkdMZW5ndGggcGFyc2VMZW5ndGhGcm9tU3RyaW5nKFNWR0FuaW1h
dGlvbkVsZW1lbnQqIGFuaW1hdGlvbkVsZW1lbnQsIGNvbnN0IFN0cmluZyYgc3RyaW5nKQpAQCAt
MTEwLDkgKzEwNiw3IEBAIHZvaWQgU1ZHQW5pbWF0ZWRMZW5ndGhBbmltYXRvcjo6Y2FsY3VsYXRl
QW5pbWF0ZWRWYWx1ZShmbG9hdCBwZXJjZW50YWdlLCB1bnNpZ25lCiAgICAgU1ZHTGVuZ3RoVHlw
ZSB1bml0VHlwZSA9IHBlcmNlbnRhZ2UgPCAwLjUgPyBmcm9tU1ZHTGVuZ3RoLnVuaXRUeXBlKCkg
OiB0b1NWR0xlbmd0aC51bml0VHlwZSgpOwogICAgIG1fYW5pbWF0aW9uRWxlbWVudC0+YW5pbWF0
ZUFkZGl0aXZlTnVtYmVyKHBlcmNlbnRhZ2UsIHJlcGVhdENvdW50LCBmcm9tU1ZHTGVuZ3RoLnZh
bHVlKGxlbmd0aENvbnRleHQpLCB0b1NWR0xlbmd0aC52YWx1ZShsZW5ndGhDb250ZXh0KSwgdG9B
dEVuZE9mRHVyYXRpb25TVkdMZW5ndGgudmFsdWUobGVuZ3RoQ29udGV4dCksIGFuaW1hdGVkTnVt
YmVyKTsKIAotICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIGFuaW1hdGVkU1ZHTGVuZ3Ro
LnNldFZhbHVlKGxlbmd0aENvbnRleHQsIGFuaW1hdGVkTnVtYmVyLCBtX2xlbmd0aE1vZGUsIHVu
aXRUeXBlLCBlYyk7Ci0gICAgQVNTRVJUKCFlYyk7CisgICAgYW5pbWF0ZWRTVkdMZW5ndGguc2V0
VmFsdWUobGVuZ3RoQ29udGV4dCwgYW5pbWF0ZWROdW1iZXIsIG1fbGVuZ3RoTW9kZSwgdW5pdFR5
cGUsIEFTU0VSVF9OT19FWENFUFRJT04pOwogfQogCiBmbG9hdCBTVkdBbmltYXRlZExlbmd0aEFu
aW1hdG9yOjpjYWxjdWxhdGVEaXN0YW5jZShjb25zdCBTdHJpbmcmIGZyb21TdHJpbmcsIGNvbnN0
IFN0cmluZyYgdG9TdHJpbmcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5p
bWF0ZWRMZW5ndGhMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZExlbmd0
aExpc3QuY3BwCmluZGV4IDgxMmI5MGFmODU2NmQ0Y2ZmNmUxMGY3ZjQxNjAwYTM0ZjM4MWRmZWEu
LmI2YTIzYWNiYTJhODgzYmVkNThiY2E4YzZiNmUzYjUzNDE0MWIzNTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZExlbmd0aExpc3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdBbmltYXRlZExlbmd0aExpc3QuY3BwCkBAIC03OCwxMSArNzgsOCBAQCB2
b2lkIFNWR0FuaW1hdGVkTGVuZ3RoTGlzdEFuaW1hdG9yOjphZGRBbmltYXRlZFR5cGVzKFNWR0Fu
aW1hdGVkVHlwZSogZnJvbSwgU1ZHQQogICAgICAgICByZXR1cm47CiAKICAgICBTVkdMZW5ndGhD
b250ZXh0IGxlbmd0aENvbnRleHQobV9jb250ZXh0RWxlbWVudCk7Ci0gICAgRXhjZXB0aW9uQ29k
ZSBlYyA9IDA7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGZyb21MZW5ndGhMaXN0U2l6
ZTsgKytpKSB7Ci0gICAgICAgIHRvTGVuZ3RoTGlzdFtpXS5zZXRWYWx1ZSh0b0xlbmd0aExpc3Rb
aV0udmFsdWUobGVuZ3RoQ29udGV4dCkgKyBmcm9tTGVuZ3RoTGlzdFtpXS52YWx1ZShsZW5ndGhD
b250ZXh0KSwgbGVuZ3RoQ29udGV4dCwgZWMpOwotICAgICAgICBBU1NFUlQoIWVjKTsKLSAgICB9
CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGZyb21MZW5ndGhMaXN0U2l6ZTsgKytpKQor
ICAgICAgICB0b0xlbmd0aExpc3RbaV0uc2V0VmFsdWUodG9MZW5ndGhMaXN0W2ldLnZhbHVlKGxl
bmd0aENvbnRleHQpICsgZnJvbUxlbmd0aExpc3RbaV0udmFsdWUobGVuZ3RoQ29udGV4dCksIGxl
bmd0aENvbnRleHQsIEFTU0VSVF9OT19FWENFUFRJT04pOwogfQogCiBzdGF0aWMgU1ZHTGVuZ3Ro
TGlzdCBwYXJzZUxlbmd0aExpc3RGcm9tU3RyaW5nKFNWR0FuaW1hdGlvbkVsZW1lbnQqIGFuaW1h
dGlvbkVsZW1lbnQsIGNvbnN0IFN0cmluZyYgc3RyaW5nKQpAQCAtMTE0LDcgKzExMSw2IEBAIHZv
aWQgU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0QW5pbWF0b3I6OmNhbGN1bGF0ZUFuaW1hdGVkVmFsdWUo
ZmxvYXQgcGVyY2VudGFnZSwgdW5zCiAgICAgdW5zaWduZWQgdG9BdEVuZE9mRHVyYXRpb25MaXN0
U2l6ZSA9IHRvQXRFbmRPZkR1cmF0aW9uTGVuZ3RoTGlzdC5zaXplKCk7CiAKICAgICBTVkdMZW5n
dGhDb250ZXh0IGxlbmd0aENvbnRleHQobV9jb250ZXh0RWxlbWVudCk7Ci0gICAgRXhjZXB0aW9u
Q29kZSBlYyA9IDA7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHRvTGVuZ3RoTGlzdFNp
emU7ICsraSkgewogICAgICAgICBmbG9hdCBhbmltYXRlZE51bWJlciA9IGFuaW1hdGVkTGVuZ3Ro
TGlzdFtpXS52YWx1ZShsZW5ndGhDb250ZXh0KTsKICAgICAgICAgU1ZHTGVuZ3RoVHlwZSB1bml0
VHlwZSA9IHRvTGVuZ3RoTGlzdFtpXS51bml0VHlwZSgpOwpAQCAtMTI3LDggKzEyMyw3IEBAIHZv
aWQgU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0QW5pbWF0b3I6OmNhbGN1bGF0ZUFuaW1hdGVkVmFsdWUo
ZmxvYXQgcGVyY2VudGFnZSwgdW5zCiAgICAgICAgIGZsb2F0IGVmZmVjdGl2ZVRvQXRFbmQgPSBp
IDwgdG9BdEVuZE9mRHVyYXRpb25MaXN0U2l6ZSA/IHRvQXRFbmRPZkR1cmF0aW9uTGVuZ3RoTGlz
dFtpXS52YWx1ZShsZW5ndGhDb250ZXh0KSA6IDA7CiAKICAgICAgICAgbV9hbmltYXRpb25FbGVt
ZW50LT5hbmltYXRlQWRkaXRpdmVOdW1iZXIocGVyY2VudGFnZSwgcmVwZWF0Q291bnQsIGVmZmVj
dGl2ZUZyb20sIHRvTGVuZ3RoTGlzdFtpXS52YWx1ZShsZW5ndGhDb250ZXh0KSwgZWZmZWN0aXZl
VG9BdEVuZCwgYW5pbWF0ZWROdW1iZXIpOwotICAgICAgICBhbmltYXRlZExlbmd0aExpc3RbaV0u
c2V0VmFsdWUobGVuZ3RoQ29udGV4dCwgYW5pbWF0ZWROdW1iZXIsIG1fbGVuZ3RoTW9kZSwgdW5p
dFR5cGUsIGVjKTsKLSAgICAgICAgQVNTRVJUKCFlYyk7CisgICAgICAgIGFuaW1hdGVkTGVuZ3Ro
TGlzdFtpXS5zZXRWYWx1ZShsZW5ndGhDb250ZXh0LCBhbmltYXRlZE51bWJlciwgbV9sZW5ndGhN
b2RlLCB1bml0VHlwZSwgQVNTRVJUX05PX0VYQ0VQVElPTik7CiAgICAgfQogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdMZW5ndGguY3BwCmluZGV4IGJmNWJmNDIzNjE1MTQ3Nzc0NmJmNzAyMjU3OTQ2M2UxYWEx
MjUxNjkuLjM0YTQxOTU0YTQ5YmYwMDUzYzQ4YWUxNzE4MDFlZmE4ZjQ2ZThiMWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdMZW5ndGguY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiQ1NTSGVscGVy
LmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIKICNpbmNsdWRlICJFeGNlcHRpb25D
b2RlLmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmgiCiAjaW5jbHVkZSAi
RmxvYXRDb252ZXJzaW9uLmgiCiAjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKICNpbmNsdWRlICJTVkdQ
YXJzZXJVdGlsaXRpZXMuaCIKQEAgLTEzMiw5ICsxMzMsNyBAQCBTVkdMZW5ndGg6OlNWR0xlbmd0
aChjb25zdCBTVkdMZW5ndGhDb250ZXh0JiBjb250ZXh0LCBmbG9hdCB2YWx1ZSwgU1ZHTGVuZ3Ro
TW9kZQogICAgIDogbV92YWx1ZUluU3BlY2lmaWVkVW5pdHMoMCkKICAgICAsIG1fdW5pdChzdG9y
ZVVuaXQobW9kZSwgdW5pdFR5cGUpKQogewotICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAg
IHNldFZhbHVlKHZhbHVlLCBjb250ZXh0LCBlYyk7Ci0gICAgQVNTRVJUKCFlYyk7CisgICAgc2V0
VmFsdWUodmFsdWUsIGNvbnRleHQsIEFTU0VSVF9OT19FWENFUFRJT04pOwogfQogCiBTVkdMZW5n
dGg6OlNWR0xlbmd0aChjb25zdCBTVkdMZW5ndGgmIG90aGVyKQpAQCAtMjA5LDYgKzIwOCw3IEBA
IHZvaWQgU1ZHTGVuZ3RoOjpzZXRWYWx1ZShmbG9hdCB2YWx1ZSwgY29uc3QgU1ZHTGVuZ3RoQ29u
dGV4dCYgY29udGV4dCwgRXhjZXB0aW9uCiAgICAgaWYgKGV4dHJhY3RUeXBlKG1fdW5pdCkgPT0g
TGVuZ3RoVHlwZVBlcmNlbnRhZ2UpCiAgICAgICAgIHZhbHVlID0gdmFsdWUgLyAxMDA7CiAKKyAg
ICBlYyA9IDA7CiAgICAgZmxvYXQgY29udmVydGVkVmFsdWUgPSBjb250ZXh0LmNvbnZlcnRWYWx1
ZUZyb21Vc2VyVW5pdHModmFsdWUsIGV4dHJhY3RNb2RlKG1fdW5pdCksIGV4dHJhY3RUeXBlKG1f
dW5pdCksIGVjKTsKICAgICBpZiAoIWVjKQogICAgICAgICBtX3ZhbHVlSW5TcGVjaWZpZWRVbml0
cyA9IGNvbnZlcnRlZFZhbHVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Rl
eHRDb250ZW50RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRF
bGVtZW50LmNwcAppbmRleCAzOTQzZmZlYmRhMjNjYjIyNGE5NDRhZThkOTc5ZmVhNjFlZTUwNzM1
Li5jYjg2ZjA4YjY4ZDI3MzQ4MmVmYWMzOTY1MTdjMTgwM2RiMTA0NDhiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcApAQCAtOTUsMTEgKzk1LDggQEAg
UGFzc1JlZlB0cjxTVkdBbmltYXRlZFByb3BlcnR5PiBTVkdUZXh0Q29udGVudEVsZW1lbnQ6Omxv
b2t1cE9yQ3JlYXRlVGV4dExlbmd0aFcKIFBhc3NSZWZQdHI8U1ZHQW5pbWF0ZWRMZW5ndGg+IFNW
R1RleHRDb250ZW50RWxlbWVudDo6dGV4dExlbmd0aEFuaW1hdGVkKCkKIHsKICAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKFNWR0xlbmd0aCwgZGVmYXVsdFRleHRMZW5ndGgsIChMZW5ndGhNb2RlT3Ro
ZXIpKTsKLSAgICBpZiAobV9zcGVjaWZpZWRUZXh0TGVuZ3RoID09IGRlZmF1bHRUZXh0TGVuZ3Ro
KSB7Ci0gICAgICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgICAgICBtX3RleHRMZW5ndGgu
dmFsdWUubmV3VmFsdWVTcGVjaWZpZWRVbml0cyhMZW5ndGhUeXBlTnVtYmVyLCBnZXRDb21wdXRl
ZFRleHRMZW5ndGgoKSwgZWMpOwotICAgICAgICBBU1NFUlQoIWVjKTsKLSAgICB9CisgICAgaWYg
KG1fc3BlY2lmaWVkVGV4dExlbmd0aCA9PSBkZWZhdWx0VGV4dExlbmd0aCkKKyAgICAgICAgbV90
ZXh0TGVuZ3RoLnZhbHVlLm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMoTGVuZ3RoVHlwZU51bWJlciwg
Z2V0Q29tcHV0ZWRUZXh0TGVuZ3RoKCksIEFTU0VSVF9OT19FWENFUFRJT04pOwogCiAgICAgbV90
ZXh0TGVuZ3RoLnNob3VsZFN5bmNocm9uaXplID0gdHJ1ZTsKICAgICByZXR1cm4gc3RhdGljX3Bv
aW50ZXJfY2FzdDxTVkdBbmltYXRlZExlbmd0aD4obG9va3VwT3JDcmVhdGVUZXh0TGVuZ3RoV3Jh
cHBlcih0aGlzKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NW
R1NNSUxFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU1ZHU01JTEVs
ZW1lbnQuY3BwCmluZGV4IDY3N2I3ZTBkN2Y2YTRmNzQwNzdkOWFkZWQyMTFkY2JjZmU4YjA1YTku
LmNiOGE0NDRiY2JkMjkzNWUyNGY3ZGVhNzhlNTI3YzRmZWFkODc3N2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU1ZHU01JTEVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU1ZHU01JTEVsZW1lbnQuY3BwCkBAIC0yMDIsMTAgKzIw
Miw4IEBAIHN0YXRpYyBpbmxpbmUgUXVhbGlmaWVkTmFtZSBjb25zdHJ1Y3RRdWFsaWZpZWROYW1l
KGNvbnN0IFNWR0VsZW1lbnQqIHN2Z0VsZW1lbnQsCiAgICAgCiAgICAgU3RyaW5nIHByZWZpeDsK
ICAgICBTdHJpbmcgbG9jYWxOYW1lOwotICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIGlm
ICghRG9jdW1lbnQ6OnBhcnNlUXVhbGlmaWVkTmFtZShhdHRyaWJ1dGVOYW1lLCBwcmVmaXgsIGxv
Y2FsTmFtZSwgZWMpKQorICAgIGlmICghRG9jdW1lbnQ6OnBhcnNlUXVhbGlmaWVkTmFtZShhdHRy
aWJ1dGVOYW1lLCBwcmVmaXgsIGxvY2FsTmFtZSwgQVNTRVJUX05PX0VYQ0VQVElPTikpCiAgICAg
ICAgIHJldHVybiBhbnlRTmFtZSgpOwotICAgIEFTU0VSVCghZWMpOwogICAgIAogICAgIFN0cmlu
ZyBuYW1lc3BhY2VVUkkgPSBzdmdFbGVtZW50LT5sb29rdXBOYW1lc3BhY2VVUkkocHJlZml4KTsg
ICAgCiAgICAgaWYgKG5hbWVzcGFjZVVSSS5pc0VtcHR5KCkpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>