<?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>87689</bug_id>
          
          <creation_ts>2012-05-28 19:32:02 -0700</creation_ts>
          <short_desc>[V8] Avoid passing NULL to an &apos;isolate&apos; parameter</short_desc>
          <delta_ts>2012-05-28 21:16:08 -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>WebCore JavaScript</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>84074</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>635514</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-05-28 19:32:02 -0700</bug_when>
    <thetext>v8::Null(isolate) crashes if we pass a NULL isolate. Thus we are planning to replace v8::Null()s in a following way:

- Implement V8Bindings::v8Null(isolate). v8Null(isolate) does the NULL check. If isolate is NULL, v8Null(isolate) calls v8::Null(). Otherwise, v8Null(isolate) calls v8::Null(isolate).

- In V8 bindings, we replace v8::Null() with v8::Null(isolate) for a non-optional &apos;isolate&apos; parameter. (e.g. void foo(..., Isolate* isolate) { v8::Null(); } )

- In V8 bindings, we replace v8::Null() with v8Null(isolate) for an optional &apos;isolate&apos; parameter. (e.g. void foo(..., Isolate* isolate = 0) { v8::Null(); } )

However, currently we cannot do the replacement mechanically, since some code pass NULL to a non-optional &apos;isolate&apos; parameter. In other words, currently &quot;non-optional&quot; does not guarantee that &apos;isolate&apos; is not NULL.

In this bug, we remove all the code that passes NULL to a non-optional &apos;isolate&apos; parameter. This will enable us to achieve the replacement mechanically.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635517</commentid>
    <comment_count>1</comment_count>
      <attachid>144428</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-05-28 19:39:13 -0700</bug_when>
    <thetext>Created attachment 144428
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635519</commentid>
    <comment_count>2</comment_count>
      <attachid>144429</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-05-28 19:52:26 -0700</bug_when>
    <thetext>Created attachment 144429
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635520</commentid>
    <comment_count>3</comment_count>
      <attachid>144430</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-05-28 19:53:12 -0700</bug_when>
    <thetext>Created attachment 144430
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635551</commentid>
    <comment_count>4</comment_count>
      <attachid>144430</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-28 21:11:23 -0700</bug_when>
    <thetext>Comment on attachment 144430
patch for landing

Clearing flags on attachment: 144430

Committed r118722: &lt;http://trac.webkit.org/changeset/118722&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144428</attachid>
            <date>2012-05-28 19:39:13 -0700</date>
            <delta_ts>2012-05-28 21:16:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87689-20120529113911.patch</filename>
            <type>text/plain</type>
            <size>11210</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4NTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2M4ZTRiMGEzZjk2Y2Ni
OTQ0NTM3YzI2ZjUyMTkzMDBhMDY3Y2UwMy4uMzFkZmY2YjVkYTUzYzYyZmIzZDYxYTU2ZmMyNzlm
M2I3YjMyOGNhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDEyLTA1LTI4ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdIEF2b2lkIHBh
c3NpbmcgTlVMTCB0byBhbiAnaXNvbGF0ZScgcGFyYW1ldGVyCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzY4OQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHY4OjpOdWxsKGlzb2xhdGUpIGNyYXNoZXMgaWYg
d2UgcGFzcyBhIE5VTEwgaXNvbGF0ZS4KKyAgICAgICAgVGh1cyB3ZSBhcmUgcGxhbm5pbmcgdG8g
cmVwbGFjZSB2ODo6TnVsbCgpcyBpbiBhIGZvbGxvd2luZyB3YXk6CisKKyAgICAgICAgLSBJbXBs
ZW1lbnQgVjhCaW5kaW5nczo6djhOdWxsKGlzb2xhdGUpLiB2OE51bGwoaXNvbGF0ZSkgZG9lcyB0
aGUgTlVMTCBjaGVjay4KKyAgICAgICAgSWYgaXNvbGF0ZSBpcyBOVUxMLCB2OE51bGwoaXNvbGF0
ZSkgY2FsbHMgdjg6Ok51bGwoKS4gT3RoZXJ3aXNlLAorICAgICAgICB2OE51bGwoaXNvbGF0ZSkg
Y2FsbHMgdjg6Ok51bGwoaXNvbGF0ZSkuCisKKyAgICAgICAgLSBJbiBWOCBiaW5kaW5ncywgd2Ug
cmVwbGFjZSB2ODo6TnVsbCgpIHdpdGggdjg6Ok51bGwoaXNvbGF0ZSkgZm9yIGEKKyAgICAgICAg
bm9uLW9wdGlvbmFsICdpc29sYXRlJyBwYXJhbWV0ZXIuCisgICAgICAgIChlLmcuIHZvaWQgZm9v
KC4uLiwgSXNvbGF0ZSogaXNvbGF0ZSkgeyB2ODo6TnVsbCgpOyB9ICkKKworICAgICAgICAtIElu
IFY4IGJpbmRpbmdzLCB3ZSByZXBsYWNlIHY4OjpOdWxsKCkgd2l0aCB2OE51bGwoaXNvbGF0ZSkg
Zm9yIGFuCisgICAgICAgIG9wdGlvbmFsICdpc29sYXRlJyBwYXJhbWV0ZXIuCisgICAgICAgIChl
LmcuIHZvaWQgZm9vKC4uLiwgSXNvbGF0ZSogaXNvbGF0ZSA9IDApIHsgdjg6Ok51bGwoKTsgfSAp
CisKKyAgICAgICAgSG93ZXZlciwgY3VycmVudGx5IHdlIGNhbm5vdCBkbyB0aGUgcmVwbGFjZW1l
bnQgbWVjaGFuaWNhbGx5LCBzaW5jZSBzb21lIGNvZGUKKyAgICAgICAgcGFzcyBOVUxMIHRvIGEg
bm9uLW9wdGlvbmFsICdpc29sYXRlJyBwYXJhbWV0ZXIuIEluIG90aGVyIHdvcmRzLCBjdXJyZW50
bHkKKyAgICAgICAgIm5vbi1vcHRpb25hbCIgZG9lcyBub3QgZ3VhcmFudGVlIHRoYXQgJ2lzb2xh
dGUnIGlzIG5vdCBOVUxMLgorCisgICAgICAgIFRoaXMgcGF0Y2ggcmVtb3ZlcyBhbGwgdGhlIGNv
ZGUgdGhhdCBwYXNzZXMgTlVMTCB0byBhIG5vbi1vcHRpb25hbCAnaXNvbGF0ZScKKyAgICAgICAg
cGFyYW1ldGVyLiBUaGlzIHdpbGwgZW5hYmxlIHVzIHRvIGFjaGlldmUgdGhlIHJlcGxhY2VtZW50
IG1lY2hhbmljYWxseS4KKworICAgICAgICBObyB0ZXN0cy4gTm8gYmVoYXZpb3IgY2hhbmdlLgor
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG06CisgICAgICAg
IChHZW5lcmF0ZUNhbGxiYWNrSW1wbGVtZW50YXRpb24pOgorICAgICAgICAoTmF0aXZlVG9KU1Zh
bHVlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q2FsbGJhY2su
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhUZXN0Q2FsbGJhY2s6OmNhbGxiYWNrV2l0aENsYXNz
MVBhcmFtKToKKyAgICAgICAgKFdlYkNvcmU6OlY4VGVzdENhbGxiYWNrOjpjYWxsYmFja1dpdGhD
bGFzczJQYXJhbSk6CisgICAgICAgIChXZWJDb3JlOjpWOFRlc3RDYWxsYmFjazo6Y2FsbGJhY2tX
aXRoU3RyaW5nTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpWOFRlc3RDYWxsYmFjazo6Y2FsbGJh
Y2tSZXF1aXJlc1RoaXNUb1Bhc3MpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3RPYmouY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhUZXN0T2JqOjppbnN0YWxsUGVy
Q29udGV4dFByb3BlcnRpZXMpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3Rv
bVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhTUUxT
dGF0ZW1lbnRFcnJvckNhbGxiYWNrOjpoYW5kbGVFdmVudCk6CisgICAgICAgICogYmluZGluZ3Mv
djgvY3VzdG9tL1Y4TXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpWOE11dGF0aW9uQ2FsbGJhY2s6OmhhbmRsZUV2ZW50KToKKwogMjAxMi0wNS0yNSAgS2Vpc2hp
IEhhdHRvcmkgIDxrZWlzaGlAd2Via2l0Lm9yZz4KIAogICAgICAgICBCYWQgY2hlY2tWYWxpZGl0
eSByZXN1bHQgb24gcmVjZW50bHkgImVuYWJsZWQiIGZvcm0gZmllbGRzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbSBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCmluZGV4IGUwNDVl
YmRkMzMzZTE4MzU1OTY3OTBmMGFhZDk0NGFjNTUzZTUxNTEuLmY2NDE1MDRiMTNhNzhhZWY0ZWJk
OTA4OTJmYzYzOWMzYmM0OWYwZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCkBAIC0zMDk4LDcgKzMwOTgsNyBAQCBFTkQKICAg
ICAgICAgICAgIEBhcmdzID0gKCk7CiAgICAgICAgICAgICBmb3JlYWNoIG15ICRwYXJhbSAoQHBh
cmFtcykgewogICAgICAgICAgICAgICAgIG15ICRwYXJhbU5hbWUgPSAkcGFyYW0tPm5hbWU7Ci0g
ICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+ICR7cGFyYW1OYW1lfUhhbmRsZSA9ICIgLiBOYXRpdmVUb0pTVmFsdWUoJHBhcmFtLCAkcGFy
YW1OYW1lLCAiMCIpIC4gIjtcbiIpOworICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50
LCAiICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiAke3BhcmFtTmFtZX1IYW5kbGUgPSAiIC4gTmF0
aXZlVG9KU1ZhbHVlKCRwYXJhbSwgJHBhcmFtTmFtZSkgLiAiO1xuIik7CiAgICAgICAgICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYgKCR7cGFyYW1OYW1lfUhhbmRsZS5Jc0VtcHR5
KCkpIHtcbiIpOwogICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICBp
ZiAoIWlzU2NyaXB0Q29udHJvbGxlclRlcm1pbmF0aW5nKCkpXG4iKTsKICAgICAgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgICAgIENSQVNIKCk7XG4iKTsKQEAgLTM3OTgs
NiArMzc5OCw3IEBAIHN1YiBOYXRpdmVUb0pTVmFsdWUKICAgICBteSAkc2lnbmF0dXJlID0gc2hp
ZnQ7CiAgICAgbXkgJHZhbHVlID0gc2hpZnQ7CiAgICAgbXkgJGdldElzb2xhdGUgPSBzaGlmdDsK
KyAgICAkZ2V0SXNvbGF0ZSA9ICRnZXRJc29sYXRlID8gIiwgJGdldElzb2xhdGUiIDogIiI7CiAg
ICAgbXkgJHR5cGUgPSBHZXRUeXBlRnJvbVNpZ25hdHVyZSgkc2lnbmF0dXJlKTsKIAogICAgIHJl
dHVybiAidjhCb29sZWFuKCR2YWx1ZSkiIGlmICR0eXBlIGVxICJib29sZWFuIjsKQEAgLTM4Mjks
MTMgKzM4MzAsMTMgQEAgc3ViIE5hdGl2ZVRvSlNWYWx1ZQogICAgIGlmICgkY29kZUdlbmVyYXRv
ci0+SXNTdHJpbmdUeXBlKCR0eXBlKSkgewogICAgICAgICBteSAkY29udiA9ICRzaWduYXR1cmUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJUcmVhdFJldHVybmVkTnVsbFN0cmluZ0FzIn07CiAgICAg
ICAgIGlmIChkZWZpbmVkICRjb252KSB7Ci0gICAgICAgICAgICByZXR1cm4gInY4U3RyaW5nT3JO
dWxsKCR2YWx1ZSwgJGdldElzb2xhdGUpIiBpZiAkY29udiBlcSAiTnVsbCI7Ci0gICAgICAgICAg
ICByZXR1cm4gInY4U3RyaW5nT3JVbmRlZmluZWQoJHZhbHVlLCAkZ2V0SXNvbGF0ZSkiIGlmICRj
b252IGVxICJVbmRlZmluZWQiOwotICAgICAgICAgICAgcmV0dXJuICJ2OFN0cmluZ09yRmFsc2Uo
JHZhbHVlLCAkZ2V0SXNvbGF0ZSkiIGlmICRjb252IGVxICJGYWxzZSI7CisgICAgICAgICAgICBy
ZXR1cm4gInY4U3RyaW5nT3JOdWxsKCR2YWx1ZSRnZXRJc29sYXRlKSIgaWYgJGNvbnYgZXEgIk51
bGwiOworICAgICAgICAgICAgcmV0dXJuICJ2OFN0cmluZ09yVW5kZWZpbmVkKCR2YWx1ZSRnZXRJ
c29sYXRlKSIgaWYgJGNvbnYgZXEgIlVuZGVmaW5lZCI7CisgICAgICAgICAgICByZXR1cm4gInY4
U3RyaW5nT3JGYWxzZSgkdmFsdWUkZ2V0SXNvbGF0ZSkiIGlmICRjb252IGVxICJGYWxzZSI7CiAK
ICAgICAgICAgICAgIGRpZSAiVW5rbm93biB2YWx1ZSBmb3IgVHJlYXRSZXR1cm5lZE51bGxTdHJp
bmdBcyBleHRlbmRlZCBhdHRyaWJ1dGUiOwogICAgICAgICB9Ci0gICAgICAgIHJldHVybiAidjhT
dHJpbmcoJHZhbHVlLCAkZ2V0SXNvbGF0ZSkiOworICAgICAgICByZXR1cm4gInY4U3RyaW5nKCR2
YWx1ZSRnZXRJc29sYXRlKSI7CiAgICAgfQogCiAgICAgbXkgJGFycmF5VHlwZSA9ICRjb2RlR2Vu
ZXJhdG9yLT5HZXRBcnJheVR5cGUoJHR5cGUpOwpAQCAtMzg0NCwxOCArMzg0NSwxOCBAQCBzdWIg
TmF0aXZlVG9KU1ZhbHVlCiAgICAgICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiVjgkYXJyYXlU
eXBlLmgiKTsKICAgICAgICAgICAgIEFkZFRvSW1wbEluY2x1ZGVzKCIkYXJyYXlUeXBlLmgiKTsK
ICAgICAgICAgfQotICAgICAgICByZXR1cm4gInY4QXJyYXkoJHZhbHVlLCAkZ2V0SXNvbGF0ZSki
OworICAgICAgICByZXR1cm4gInY4QXJyYXkoJHZhbHVlJGdldElzb2xhdGUpIjsKICAgICB9CiAK
ICAgICBBZGRJbmNsdWRlc0ZvclR5cGUoJHR5cGUpOwogCiAgICAgIyBzcGVjaWFsIGNhc2UgZm9y
IG5vbi1ET00gbm9kZSBpbnRlcmZhY2VzCiAgICAgaWYgKElzRE9NTm9kZVR5cGUoJHR5cGUpKSB7
Ci0gICAgICAgIHJldHVybiAidG9WOCgke3ZhbHVlfSIgLiAoJHNpZ25hdHVyZS0+ZXh0ZW5kZWRB
dHRyaWJ1dGVzLT57IlJldHVybk5ld09iamVjdCJ9ID8gIiwgJGdldElzb2xhdGUsIHRydWUpIiA6
ICIsICRnZXRJc29sYXRlKSIpOworICAgICAgICByZXR1cm4gInRvVjgoJHt2YWx1ZX0iIC4gKCRz
aWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJSZXR1cm5OZXdPYmplY3QifSA/ICIkZ2V0
SXNvbGF0ZSwgdHJ1ZSkiIDogIiRnZXRJc29sYXRlKSIpOwogICAgIH0KIAogICAgIGlmICgkdHlw
ZSBlcSAiRXZlbnRUYXJnZXQiKSB7Ci0gICAgICAgIHJldHVybiAiVjhET01XcmFwcGVyOjpjb252
ZXJ0RXZlbnRUYXJnZXRUb1Y4T2JqZWN0KCR2YWx1ZSwgJGdldElzb2xhdGUpIjsKKyAgICAgICAg
cmV0dXJuICJWOERPTVdyYXBwZXI6OmNvbnZlcnRFdmVudFRhcmdldFRvVjhPYmplY3QoJHZhbHVl
JGdldElzb2xhdGUpIjsKICAgICB9CiAKICAgICBpZiAoJHR5cGUgZXEgIkV2ZW50TGlzdGVuZXIi
KSB7CkBAIC0zODcyLDcgKzM4NzMsNyBAQCBzdWIgTmF0aXZlVG9KU1ZhbHVlCiAgICAgQWRkVG9J
bXBsSW5jbHVkZXMoInd0Zi9SZWZQdHIuaCIpOwogICAgIEFkZFRvSW1wbEluY2x1ZGVzKCJ3dGYv
R2V0UHRyLmgiKTsKIAotICAgIHJldHVybiAidG9WOCgkdmFsdWUsICRnZXRJc29sYXRlKSI7Cisg
ICAgcmV0dXJuICJ0b1Y4KCR2YWx1ZSRnZXRJc29sYXRlKSI7CiB9CiAKIHN1YiBSZXR1cm5OYXRp
dmVUb0pTVmFsdWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3RDYWxsYmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0Q2FsbGJhY2suY3BwCmluZGV4IDYyOGQ1YThiNzdlODM0NjZlODBk
ZjhiYTE3ZjYyMzBmMjZiOWE0NTkuLjZhZmE4MzAyOWMzZDdhMzYyMmM2OGUyZTIzMWZiMjQ0NjJi
YzEwM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3RDYWxsYmFjay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdENhbGxiYWNrLmNwcApAQCAtODcsNyArODcsNyBAQCBib29sIFY4VGVz
dENhbGxiYWNrOjpjYWxsYmFja1dpdGhDbGFzczFQYXJhbShDbGFzczEqIGNsYXNzMVBhcmFtKQog
CiAgICAgdjg6OkNvbnRleHQ6OlNjb3BlIHNjb3BlKHY4Q29udGV4dCk7CiAKLSAgICB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gY2xhc3MxUGFyYW1IYW5kbGUgPSB0b1Y4KGNsYXNzMVBhcmFtLCAwKTsK
KyAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY2xhc3MxUGFyYW1IYW5kbGUgPSB0b1Y4KGNsYXNz
MVBhcmFtKTsKICAgICBpZiAoY2xhc3MxUGFyYW1IYW5kbGUuSXNFbXB0eSgpKSB7CiAgICAgICAg
IGlmICghaXNTY3JpcHRDb250cm9sbGVyVGVybWluYXRpbmcoKSkKICAgICAgICAgICAgIENSQVNI
KCk7CkBAIC0xMTUsMTMgKzExNSwxMyBAQCBib29sIFY4VGVzdENhbGxiYWNrOjpjYWxsYmFja1dp
dGhDbGFzczJQYXJhbShDbGFzczIqIGNsYXNzMlBhcmFtLCBjb25zdCBTdHJpbmcmCiAKICAgICB2
ODo6Q29udGV4dDo6U2NvcGUgc2NvcGUodjhDb250ZXh0KTsKIAotICAgIHY4OjpIYW5kbGU8djg6
OlZhbHVlPiBjbGFzczJQYXJhbUhhbmRsZSA9IHRvVjgoY2xhc3MyUGFyYW0sIDApOworICAgIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBjbGFzczJQYXJhbUhhbmRsZSA9IHRvVjgoY2xhc3MyUGFyYW0p
OwogICAgIGlmIChjbGFzczJQYXJhbUhhbmRsZS5Jc0VtcHR5KCkpIHsKICAgICAgICAgaWYgKCFp
c1NjcmlwdENvbnRyb2xsZXJUZXJtaW5hdGluZygpKQogICAgICAgICAgICAgQ1JBU0goKTsKICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQotICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBzdHJB
cmdIYW5kbGUgPSB2OFN0cmluZyhzdHJBcmcsIDApOworICAgIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiBzdHJBcmdIYW5kbGUgPSB2OFN0cmluZyhzdHJBcmcpOwogICAgIGlmIChzdHJBcmdIYW5kbGUu
SXNFbXB0eSgpKSB7CiAgICAgICAgIGlmICghaXNTY3JpcHRDb250cm9sbGVyVGVybWluYXRpbmco
KSkKICAgICAgICAgICAgIENSQVNIKCk7CkBAIC0xNTAsNyArMTUwLDcgQEAgYm9vbCBWOFRlc3RD
YWxsYmFjazo6Y2FsbGJhY2tXaXRoU3RyaW5nTGlzdChSZWZQdHI8RE9NU3RyaW5nTGlzdD4gbGlz
dFBhcmFtKQogCiAgICAgdjg6OkNvbnRleHQ6OlNjb3BlIHNjb3BlKHY4Q29udGV4dCk7CiAKLSAg
ICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gbGlzdFBhcmFtSGFuZGxlID0gdG9WOChsaXN0UGFyYW0s
IDApOworICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBsaXN0UGFyYW1IYW5kbGUgPSB0b1Y4KGxp
c3RQYXJhbSk7CiAgICAgaWYgKGxpc3RQYXJhbUhhbmRsZS5Jc0VtcHR5KCkpIHsKICAgICAgICAg
aWYgKCFpc1NjcmlwdENvbnRyb2xsZXJUZXJtaW5hdGluZygpKQogICAgICAgICAgICAgQ1JBU0go
KTsKQEAgLTIwOCwxMyArMjA4LDEzIEBAIGJvb2wgVjhUZXN0Q2FsbGJhY2s6OmNhbGxiYWNrUmVx
dWlyZXNUaGlzVG9QYXNzKENsYXNzOCogY2xhc3M4UGFyYW0sIFRoaXNDbGFzcyoKIAogICAgIHY4
OjpDb250ZXh0OjpTY29wZSBzY29wZSh2OENvbnRleHQpOwogCi0gICAgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IGNsYXNzOFBhcmFtSGFuZGxlID0gdG9WOChjbGFzczhQYXJhbSwgMCk7CisgICAgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IGNsYXNzOFBhcmFtSGFuZGxlID0gdG9WOChjbGFzczhQYXJhbSk7
CiAgICAgaWYgKGNsYXNzOFBhcmFtSGFuZGxlLklzRW1wdHkoKSkgewogICAgICAgICBpZiAoIWlz
U2NyaXB0Q29udHJvbGxlclRlcm1pbmF0aW5nKCkpCiAgICAgICAgICAgICBDUkFTSCgpOwogICAg
ICAgICByZXR1cm4gdHJ1ZTsKICAgICB9Ci0gICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRoaXND
bGFzc1BhcmFtSGFuZGxlID0gdG9WOCh0aGlzQ2xhc3NQYXJhbSwgMCk7CisgICAgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IHRoaXNDbGFzc1BhcmFtSGFuZGxlID0gdG9WOCh0aGlzQ2xhc3NQYXJhbSk7
CiAgICAgaWYgKHRoaXNDbGFzc1BhcmFtSGFuZGxlLklzRW1wdHkoKSkgewogICAgICAgICBpZiAo
IWlzU2NyaXB0Q29udHJvbGxlclRlcm1pbmF0aW5nKCkpCiAgICAgICAgICAgICBDUkFTSCgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
T2JqLmNwcAppbmRleCAyMmJiNTdhNDA3ODhjMTAyOTZmYmU4M2IyMGMwNDA5MWI3OWY4NTk2Li44
NTYzYzRiYTE1NDU5YTQyZmUxNjc4ZGE5Njk3YTI4MDRlNWZhZjZlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcApAQCAt
MjQwNSw2ICsyNDA1LDggQEAgYm9vbCBWOFRlc3RPYmo6Okhhc0luc3RhbmNlKHY4OjpIYW5kbGU8
djg6OlZhbHVlPiB2YWx1ZSkKIHZvaWQgVjhUZXN0T2JqOjppbnN0YWxsUGVyQ29udGV4dFByb3Bl
cnRpZXModjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBpbnN0YW5jZSwgVGVzdE9iaiogaW1wbCkKIHsK
ICAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gcHJvdG8gPSB2ODo6TG9jYWw8djg6Ok9iamVjdD46
OkNhc3QoaW5zdGFuY2UtPkdldFByb3RvdHlwZSgpKTsKKyAgICAvLyBXaGVuIGJ1aWxkaW5nIFF0
V2Via2l0IHdpdGggVjggdGhpcyB2YXJpYWJsZSBpcyB1bnVzZWQgd2hlbiBub25lIG9mIHRoZSBm
ZWF0dXJlcyBhcmUgZW5hYmxlZC4KKyAgICBVTlVTRURfUEFSQU0ocHJvdG8pOwogICAgIGlmIChD
b250ZXh0RW5hYmxlZEZlYXR1cmVzOjplbmFibGVkQXRDb250ZXh0QXR0cjFFbmFibGVkKGltcGwp
KSB7CiAgICAgICAgIHN0YXRpYyBjb25zdCBCYXRjaGVkQXR0cmlidXRlIGF0dHJEYXRhID1cCiAg
ICAgICAgIC8vIEF0dHJpYnV0ZSAnZW5hYmxlZEF0Q29udGV4dEF0dHIxJyAoVHlwZTogJ2F0dHJp
YnV0ZScgRXh0QXR0cjogJ1Y4RW5hYmxlZFBlckNvbnRleHQnKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxs
YmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21TUUxT
dGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcAppbmRleCBjMDc5ODZiNzZkYTJhOTZmMmExYmNhOGI4
NTU5MWRhNmJjOTg4MTk0Li45ZWUyN2ZiNzJhNTY5MGY0YmFkNjllYTkwYTZlYTIwODdkYmFmZTRk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21T
UUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhDdXN0b21TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcApAQCAtNTYs
OCArNTYsOCBAQCBib29sIFY4U1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjazo6aGFuZGxlRXZlbnQo
U1FMVHJhbnNhY3Rpb24qIHRyYW5zYWN0aW9uLCBTUUxFcgogCiAgICAgdjg6OkNvbnRleHQ6OlNj
b3BlIHNjb3BlKHY4Q29udGV4dCk7CiAKLSAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdHJhbnNh
Y3Rpb25IYW5kbGUgPSB0b1Y4KHRyYW5zYWN0aW9uLCAwKTsKLSAgICB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gZXJyb3JIYW5kbGUgPSB0b1Y4KGVycm9yLCAwKTsKKyAgICB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gdHJhbnNhY3Rpb25IYW5kbGUgPSB0b1Y4KHRyYW5zYWN0aW9uKTsKKyAgICB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gZXJyb3JIYW5kbGUgPSB0b1Y4KGVycm9yKTsKICAgICBpZiAodHJhbnNh
Y3Rpb25IYW5kbGUuSXNFbXB0eSgpIHx8IGVycm9ySGFuZGxlLklzRW1wdHkoKSkgewogICAgICAg
ICBpZiAoIWlzU2NyaXB0Q29udHJvbGxlclRlcm1pbmF0aW5nKCkpCiAgICAgICAgICAgICBDUkFT
SCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TXV0
YXRpb25DYWxsYmFja0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcAppbmRleCA0NWU4ZGM4YzNmMTliYzhhMjgy
NTNkOTNkZmMyMTEzYTBlZWM5YmRmLi5iZmZiZTc0MDBmZGEyY2E1OGQyZjliNzcwODZmNmM2YmJm
YTA1MjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhN
dXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcApAQCAtNjYsOSArNjYsOSBAQCBi
b29sIFY4TXV0YXRpb25DYWxsYmFjazo6aGFuZGxlRXZlbnQoTXV0YXRpb25SZWNvcmRBcnJheSog
bXV0YXRpb25zLCBXZWJLaXRNdXRhdAogCiAgICAgdjg6OkxvY2FsPHY4OjpBcnJheT4gbXV0YXRp
b25zQXJyYXkgPSB2ODo6QXJyYXk6Ok5ldyhtdXRhdGlvbnMtPnNpemUoKSk7CiAgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBtdXRhdGlvbnMtPnNpemUoKTsgKytpKQotICAgICAgICBtdXRhdGlv
bnNBcnJheS0+U2V0KHY4OjpJbnRlZ2VyOjpOZXcoaSksIHRvVjgobXV0YXRpb25zLT5hdChpKS5n
ZXQoKSwgMCkpOworICAgICAgICBtdXRhdGlvbnNBcnJheS0+U2V0KHY4OjpJbnRlZ2VyOjpOZXco
aSksIHRvVjgobXV0YXRpb25zLT5hdChpKS5nZXQoKSkpOwogCi0gICAgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IG9ic2VydmVySGFuZGxlID0gdG9WOChvYnNlcnZlciwgMCk7CisgICAgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IG9ic2VydmVySGFuZGxlID0gdG9WOChvYnNlcnZlcik7CiAgICAgaWYgKG9i
c2VydmVySGFuZGxlLklzRW1wdHkoKSkgewogICAgICAgICBpZiAoIWlzU2NyaXB0Q29udHJvbGxl
clRlcm1pbmF0aW5nKCkpCiAgICAgICAgICAgICBDUkFTSCgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144429</attachid>
            <date>2012-05-28 19:52:26 -0700</date>
            <delta_ts>2012-05-28 19:52:26 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>bug-87689-20120529115225.patch</filename>
            <type>text/plain</type>
            <size>10265</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4NzE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmVlOGFiNzhkYmFiYWM5
Y2JiZjk0MDNlY2RjYTFmNGNmZmZiYjNmYy4uMmEwNzEwMDNlZjMxNjllOTEwMjczNTc2NmY2NGU4
MDhmZjc2ZWFlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDEyLTA1LTI4ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdIEF2b2lkIHBh
c3NpbmcgTlVMTCB0byBhbiAnaXNvbGF0ZScgcGFyYW1ldGVyCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzY4OQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHY4OjpOdWxsKGlzb2xhdGUpIGNyYXNoZXMgaWYg
d2UgcGFzcyBhIE5VTEwgaXNvbGF0ZS4KKyAgICAgICAgVGh1cyB3ZSBhcmUgcGxhbm5pbmcgdG8g
cmVwbGFjZSB2ODo6TnVsbCgpcyBpbiBhIGZvbGxvd2luZyB3YXk6CisKKyAgICAgICAgLSBJbXBs
ZW1lbnQgVjhCaW5kaW5nczo6djhOdWxsKGlzb2xhdGUpLiB2OE51bGwoaXNvbGF0ZSkgZG9lcyB0
aGUgTlVMTCBjaGVjay4KKyAgICAgICAgSWYgaXNvbGF0ZSBpcyBOVUxMLCB2OE51bGwoaXNvbGF0
ZSkgY2FsbHMgdjg6Ok51bGwoKS4gT3RoZXJ3aXNlLAorICAgICAgICB2OE51bGwoaXNvbGF0ZSkg
Y2FsbHMgdjg6Ok51bGwoaXNvbGF0ZSkuCisKKyAgICAgICAgLSBJbiBWOCBiaW5kaW5ncywgd2Ug
cmVwbGFjZSB2ODo6TnVsbCgpIHdpdGggdjg6Ok51bGwoaXNvbGF0ZSkgZm9yIGEKKyAgICAgICAg
bm9uLW9wdGlvbmFsICdpc29sYXRlJyBwYXJhbWV0ZXIuCisgICAgICAgIChlLmcuIHZvaWQgZm9v
KC4uLiwgSXNvbGF0ZSogaXNvbGF0ZSkgeyB2ODo6TnVsbCgpOyB9ICkKKworICAgICAgICAtIElu
IFY4IGJpbmRpbmdzLCB3ZSByZXBsYWNlIHY4OjpOdWxsKCkgd2l0aCB2OE51bGwoaXNvbGF0ZSkg
Zm9yIGFuCisgICAgICAgIG9wdGlvbmFsICdpc29sYXRlJyBwYXJhbWV0ZXIuCisgICAgICAgIChl
LmcuIHZvaWQgZm9vKC4uLiwgSXNvbGF0ZSogaXNvbGF0ZSA9IDApIHsgdjg6Ok51bGwoKTsgfSAp
CisKKyAgICAgICAgSG93ZXZlciwgY3VycmVudGx5IHdlIGNhbm5vdCBkbyB0aGUgcmVwbGFjZW1l
bnQgbWVjaGFuaWNhbGx5LCBzaW5jZSBzb21lIGNvZGUKKyAgICAgICAgcGFzcyBOVUxMIHRvIGEg
bm9uLW9wdGlvbmFsICdpc29sYXRlJyBwYXJhbWV0ZXIuIEluIG90aGVyIHdvcmRzLCBjdXJyZW50
bHkKKyAgICAgICAgIm5vbi1vcHRpb25hbCIgZG9lcyBub3QgZ3VhcmFudGVlIHRoYXQgJ2lzb2xh
dGUnIGlzIG5vdCBOVUxMLgorCisgICAgICAgIFRoaXMgcGF0Y2ggcmVtb3ZlcyBhbGwgdGhlIGNv
ZGUgdGhhdCBwYXNzZXMgTlVMTCB0byBhIG5vbi1vcHRpb25hbCAnaXNvbGF0ZScKKyAgICAgICAg
cGFyYW1ldGVyLiBUaGlzIHdpbGwgZW5hYmxlIHVzIHRvIGFjaGlldmUgdGhlIHJlcGxhY2VtZW50
IG1lY2hhbmljYWxseS4KKworICAgICAgICBObyB0ZXN0cy4gTm8gYmVoYXZpb3IgY2hhbmdlLgor
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG06CisgICAgICAg
IChHZW5lcmF0ZUNhbGxiYWNrSW1wbGVtZW50YXRpb24pOgorICAgICAgICAoTmF0aXZlVG9KU1Zh
bHVlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q2FsbGJhY2su
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhUZXN0Q2FsbGJhY2s6OmNhbGxiYWNrV2l0aENsYXNz
MVBhcmFtKToKKyAgICAgICAgKFdlYkNvcmU6OlY4VGVzdENhbGxiYWNrOjpjYWxsYmFja1dpdGhD
bGFzczJQYXJhbSk6CisgICAgICAgIChXZWJDb3JlOjpWOFRlc3RDYWxsYmFjazo6Y2FsbGJhY2tX
aXRoU3RyaW5nTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpWOFRlc3RDYWxsYmFjazo6Y2FsbGJh
Y2tSZXF1aXJlc1RoaXNUb1Bhc3MpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3RPYmouY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhUZXN0T2JqOjppbnN0YWxsUGVy
Q29udGV4dFByb3BlcnRpZXMpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3Rv
bVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhTUUxT
dGF0ZW1lbnRFcnJvckNhbGxiYWNrOjpoYW5kbGVFdmVudCk6CisgICAgICAgICogYmluZGluZ3Mv
djgvY3VzdG9tL1Y4TXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpWOE11dGF0aW9uQ2FsbGJhY2s6OmhhbmRsZUV2ZW50KToKKwogMjAxMi0wNS0yOCAgTU9SSVRB
IEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZW5hbWUgRnJhbWVMb2Fk
ZXJDbGllbnQ6OnNoYWRvd0RPTUFsbG93ZWQoKSB0byBhbGxvd1NoYWRvd0RPTSgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbSBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCmluZGV4
IGUwNDVlYmRkMzMzZTE4MzU1OTY3OTBmMGFhZDk0NGFjNTUzZTUxNTEuLmY2NDE1MDRiMTNhNzhh
ZWY0ZWJkOTA4OTJmYzYzOWMzYmM0OWYwZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCkBAIC0zMDk4LDcgKzMwOTgsNyBAQCBF
TkQKICAgICAgICAgICAgIEBhcmdzID0gKCk7CiAgICAgICAgICAgICBmb3JlYWNoIG15ICRwYXJh
bSAoQHBhcmFtcykgewogICAgICAgICAgICAgICAgIG15ICRwYXJhbU5hbWUgPSAkcGFyYW0tPm5h
bWU7Ci0gICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+ICR7cGFyYW1OYW1lfUhhbmRsZSA9ICIgLiBOYXRpdmVUb0pTVmFsdWUoJHBhcmFt
LCAkcGFyYW1OYW1lLCAiMCIpIC4gIjtcbiIpOworICAgICAgICAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAiICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiAke3BhcmFtTmFtZX1IYW5kbGUgPSAi
IC4gTmF0aXZlVG9KU1ZhbHVlKCRwYXJhbSwgJHBhcmFtTmFtZSkgLiAiO1xuIik7CiAgICAgICAg
ICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYgKCR7cGFyYW1OYW1lfUhhbmRsZS5J
c0VtcHR5KCkpIHtcbiIpOwogICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAg
ICAgICBpZiAoIWlzU2NyaXB0Q29udHJvbGxlclRlcm1pbmF0aW5nKCkpXG4iKTsKICAgICAgICAg
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgICAgIENSQVNIKCk7XG4iKTsKQEAg
LTM3OTgsNiArMzc5OCw3IEBAIHN1YiBOYXRpdmVUb0pTVmFsdWUKICAgICBteSAkc2lnbmF0dXJl
ID0gc2hpZnQ7CiAgICAgbXkgJHZhbHVlID0gc2hpZnQ7CiAgICAgbXkgJGdldElzb2xhdGUgPSBz
aGlmdDsKKyAgICAkZ2V0SXNvbGF0ZSA9ICRnZXRJc29sYXRlID8gIiwgJGdldElzb2xhdGUiIDog
IiI7CiAgICAgbXkgJHR5cGUgPSBHZXRUeXBlRnJvbVNpZ25hdHVyZSgkc2lnbmF0dXJlKTsKIAog
ICAgIHJldHVybiAidjhCb29sZWFuKCR2YWx1ZSkiIGlmICR0eXBlIGVxICJib29sZWFuIjsKQEAg
LTM4MjksMTMgKzM4MzAsMTMgQEAgc3ViIE5hdGl2ZVRvSlNWYWx1ZQogICAgIGlmICgkY29kZUdl
bmVyYXRvci0+SXNTdHJpbmdUeXBlKCR0eXBlKSkgewogICAgICAgICBteSAkY29udiA9ICRzaWdu
YXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJUcmVhdFJldHVybmVkTnVsbFN0cmluZ0FzIn07
CiAgICAgICAgIGlmIChkZWZpbmVkICRjb252KSB7Ci0gICAgICAgICAgICByZXR1cm4gInY4U3Ry
aW5nT3JOdWxsKCR2YWx1ZSwgJGdldElzb2xhdGUpIiBpZiAkY29udiBlcSAiTnVsbCI7Ci0gICAg
ICAgICAgICByZXR1cm4gInY4U3RyaW5nT3JVbmRlZmluZWQoJHZhbHVlLCAkZ2V0SXNvbGF0ZSki
IGlmICRjb252IGVxICJVbmRlZmluZWQiOwotICAgICAgICAgICAgcmV0dXJuICJ2OFN0cmluZ09y
RmFsc2UoJHZhbHVlLCAkZ2V0SXNvbGF0ZSkiIGlmICRjb252IGVxICJGYWxzZSI7CisgICAgICAg
ICAgICByZXR1cm4gInY4U3RyaW5nT3JOdWxsKCR2YWx1ZSRnZXRJc29sYXRlKSIgaWYgJGNvbnYg
ZXEgIk51bGwiOworICAgICAgICAgICAgcmV0dXJuICJ2OFN0cmluZ09yVW5kZWZpbmVkKCR2YWx1
ZSRnZXRJc29sYXRlKSIgaWYgJGNvbnYgZXEgIlVuZGVmaW5lZCI7CisgICAgICAgICAgICByZXR1
cm4gInY4U3RyaW5nT3JGYWxzZSgkdmFsdWUkZ2V0SXNvbGF0ZSkiIGlmICRjb252IGVxICJGYWxz
ZSI7CiAKICAgICAgICAgICAgIGRpZSAiVW5rbm93biB2YWx1ZSBmb3IgVHJlYXRSZXR1cm5lZE51
bGxTdHJpbmdBcyBleHRlbmRlZCBhdHRyaWJ1dGUiOwogICAgICAgICB9Ci0gICAgICAgIHJldHVy
biAidjhTdHJpbmcoJHZhbHVlLCAkZ2V0SXNvbGF0ZSkiOworICAgICAgICByZXR1cm4gInY4U3Ry
aW5nKCR2YWx1ZSRnZXRJc29sYXRlKSI7CiAgICAgfQogCiAgICAgbXkgJGFycmF5VHlwZSA9ICRj
b2RlR2VuZXJhdG9yLT5HZXRBcnJheVR5cGUoJHR5cGUpOwpAQCAtMzg0NCwxOCArMzg0NSwxOCBA
QCBzdWIgTmF0aXZlVG9KU1ZhbHVlCiAgICAgICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiVjgk
YXJyYXlUeXBlLmgiKTsKICAgICAgICAgICAgIEFkZFRvSW1wbEluY2x1ZGVzKCIkYXJyYXlUeXBl
LmgiKTsKICAgICAgICAgfQotICAgICAgICByZXR1cm4gInY4QXJyYXkoJHZhbHVlLCAkZ2V0SXNv
bGF0ZSkiOworICAgICAgICByZXR1cm4gInY4QXJyYXkoJHZhbHVlJGdldElzb2xhdGUpIjsKICAg
ICB9CiAKICAgICBBZGRJbmNsdWRlc0ZvclR5cGUoJHR5cGUpOwogCiAgICAgIyBzcGVjaWFsIGNh
c2UgZm9yIG5vbi1ET00gbm9kZSBpbnRlcmZhY2VzCiAgICAgaWYgKElzRE9NTm9kZVR5cGUoJHR5
cGUpKSB7Ci0gICAgICAgIHJldHVybiAidG9WOCgke3ZhbHVlfSIgLiAoJHNpZ25hdHVyZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IlJldHVybk5ld09iamVjdCJ9ID8gIiwgJGdldElzb2xhdGUsIHRy
dWUpIiA6ICIsICRnZXRJc29sYXRlKSIpOworICAgICAgICByZXR1cm4gInRvVjgoJHt2YWx1ZX0i
IC4gKCRzaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJSZXR1cm5OZXdPYmplY3QifSA/
ICIkZ2V0SXNvbGF0ZSwgdHJ1ZSkiIDogIiRnZXRJc29sYXRlKSIpOwogICAgIH0KIAogICAgIGlm
ICgkdHlwZSBlcSAiRXZlbnRUYXJnZXQiKSB7Ci0gICAgICAgIHJldHVybiAiVjhET01XcmFwcGVy
Ojpjb252ZXJ0RXZlbnRUYXJnZXRUb1Y4T2JqZWN0KCR2YWx1ZSwgJGdldElzb2xhdGUpIjsKKyAg
ICAgICAgcmV0dXJuICJWOERPTVdyYXBwZXI6OmNvbnZlcnRFdmVudFRhcmdldFRvVjhPYmplY3Qo
JHZhbHVlJGdldElzb2xhdGUpIjsKICAgICB9CiAKICAgICBpZiAoJHR5cGUgZXEgIkV2ZW50TGlz
dGVuZXIiKSB7CkBAIC0zODcyLDcgKzM4NzMsNyBAQCBzdWIgTmF0aXZlVG9KU1ZhbHVlCiAgICAg
QWRkVG9JbXBsSW5jbHVkZXMoInd0Zi9SZWZQdHIuaCIpOwogICAgIEFkZFRvSW1wbEluY2x1ZGVz
KCJ3dGYvR2V0UHRyLmgiKTsKIAotICAgIHJldHVybiAidG9WOCgkdmFsdWUsICRnZXRJc29sYXRl
KSI7CisgICAgcmV0dXJuICJ0b1Y4KCR2YWx1ZSRnZXRJc29sYXRlKSI7CiB9CiAKIHN1YiBSZXR1
cm5OYXRpdmVUb0pTVmFsdWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RDYWxsYmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q2FsbGJhY2suY3BwCmluZGV4IDYyOGQ1YThiNzdlODM0
NjZlODBkZjhiYTE3ZjYyMzBmMjZiOWE0NTkuLjZhZmE4MzAyOWMzZDdhMzYyMmM2OGUyZTIzMWZi
MjQ0NjJiYzEwM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3RDYWxsYmFjay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdENhbGxiYWNrLmNwcApAQCAtODcsNyArODcsNyBAQCBib29s
IFY4VGVzdENhbGxiYWNrOjpjYWxsYmFja1dpdGhDbGFzczFQYXJhbShDbGFzczEqIGNsYXNzMVBh
cmFtKQogCiAgICAgdjg6OkNvbnRleHQ6OlNjb3BlIHNjb3BlKHY4Q29udGV4dCk7CiAKLSAgICB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY2xhc3MxUGFyYW1IYW5kbGUgPSB0b1Y4KGNsYXNzMVBhcmFt
LCAwKTsKKyAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY2xhc3MxUGFyYW1IYW5kbGUgPSB0b1Y4
KGNsYXNzMVBhcmFtKTsKICAgICBpZiAoY2xhc3MxUGFyYW1IYW5kbGUuSXNFbXB0eSgpKSB7CiAg
ICAgICAgIGlmICghaXNTY3JpcHRDb250cm9sbGVyVGVybWluYXRpbmcoKSkKICAgICAgICAgICAg
IENSQVNIKCk7CkBAIC0xMTUsMTMgKzExNSwxMyBAQCBib29sIFY4VGVzdENhbGxiYWNrOjpjYWxs
YmFja1dpdGhDbGFzczJQYXJhbShDbGFzczIqIGNsYXNzMlBhcmFtLCBjb25zdCBTdHJpbmcmCiAK
ICAgICB2ODo6Q29udGV4dDo6U2NvcGUgc2NvcGUodjhDb250ZXh0KTsKIAotICAgIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiBjbGFzczJQYXJhbUhhbmRsZSA9IHRvVjgoY2xhc3MyUGFyYW0sIDApOwor
ICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjbGFzczJQYXJhbUhhbmRsZSA9IHRvVjgoY2xhc3My
UGFyYW0pOwogICAgIGlmIChjbGFzczJQYXJhbUhhbmRsZS5Jc0VtcHR5KCkpIHsKICAgICAgICAg
aWYgKCFpc1NjcmlwdENvbnRyb2xsZXJUZXJtaW5hdGluZygpKQogICAgICAgICAgICAgQ1JBU0go
KTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQotICAgIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiBzdHJBcmdIYW5kbGUgPSB2OFN0cmluZyhzdHJBcmcsIDApOworICAgIHY4OjpIYW5kbGU8djg6
OlZhbHVlPiBzdHJBcmdIYW5kbGUgPSB2OFN0cmluZyhzdHJBcmcpOwogICAgIGlmIChzdHJBcmdI
YW5kbGUuSXNFbXB0eSgpKSB7CiAgICAgICAgIGlmICghaXNTY3JpcHRDb250cm9sbGVyVGVybWlu
YXRpbmcoKSkKICAgICAgICAgICAgIENSQVNIKCk7CkBAIC0xNTAsNyArMTUwLDcgQEAgYm9vbCBW
OFRlc3RDYWxsYmFjazo6Y2FsbGJhY2tXaXRoU3RyaW5nTGlzdChSZWZQdHI8RE9NU3RyaW5nTGlz
dD4gbGlzdFBhcmFtKQogCiAgICAgdjg6OkNvbnRleHQ6OlNjb3BlIHNjb3BlKHY4Q29udGV4dCk7
CiAKLSAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gbGlzdFBhcmFtSGFuZGxlID0gdG9WOChsaXN0
UGFyYW0sIDApOworICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBsaXN0UGFyYW1IYW5kbGUgPSB0
b1Y4KGxpc3RQYXJhbSk7CiAgICAgaWYgKGxpc3RQYXJhbUhhbmRsZS5Jc0VtcHR5KCkpIHsKICAg
ICAgICAgaWYgKCFpc1NjcmlwdENvbnRyb2xsZXJUZXJtaW5hdGluZygpKQogICAgICAgICAgICAg
Q1JBU0goKTsKQEAgLTIwOCwxMyArMjA4LDEzIEBAIGJvb2wgVjhUZXN0Q2FsbGJhY2s6OmNhbGxi
YWNrUmVxdWlyZXNUaGlzVG9QYXNzKENsYXNzOCogY2xhc3M4UGFyYW0sIFRoaXNDbGFzcyoKIAog
ICAgIHY4OjpDb250ZXh0OjpTY29wZSBzY29wZSh2OENvbnRleHQpOwogCi0gICAgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IGNsYXNzOFBhcmFtSGFuZGxlID0gdG9WOChjbGFzczhQYXJhbSwgMCk7Cisg
ICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNsYXNzOFBhcmFtSGFuZGxlID0gdG9WOChjbGFzczhQ
YXJhbSk7CiAgICAgaWYgKGNsYXNzOFBhcmFtSGFuZGxlLklzRW1wdHkoKSkgewogICAgICAgICBp
ZiAoIWlzU2NyaXB0Q29udHJvbGxlclRlcm1pbmF0aW5nKCkpCiAgICAgICAgICAgICBDUkFTSCgp
OwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9Ci0gICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IHRoaXNDbGFzc1BhcmFtSGFuZGxlID0gdG9WOCh0aGlzQ2xhc3NQYXJhbSwgMCk7CisgICAgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IHRoaXNDbGFzc1BhcmFtSGFuZGxlID0gdG9WOCh0aGlzQ2xhc3NQ
YXJhbSk7CiAgICAgaWYgKHRoaXNDbGFzc1BhcmFtSGFuZGxlLklzRW1wdHkoKSkgewogICAgICAg
ICBpZiAoIWlzU2NyaXB0Q29udHJvbGxlclRlcm1pbmF0aW5nKCkpCiAgICAgICAgICAgICBDUkFT
SCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3Vz
dG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhDdXN0b21TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcAppbmRleCBj
MDc5ODZiNzZkYTJhOTZmMmExYmNhOGI4NTU5MWRhNmJjOTg4MTk0Li45ZWUyN2ZiNzJhNTY5MGY0
YmFkNjllYTkwYTZlYTIwODdkYmFmZTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhDdXN0b21TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21TUUxTdGF0ZW1lbnRF
cnJvckNhbGxiYWNrLmNwcApAQCAtNTYsOCArNTYsOCBAQCBib29sIFY4U1FMU3RhdGVtZW50RXJy
b3JDYWxsYmFjazo6aGFuZGxlRXZlbnQoU1FMVHJhbnNhY3Rpb24qIHRyYW5zYWN0aW9uLCBTUUxF
cgogCiAgICAgdjg6OkNvbnRleHQ6OlNjb3BlIHNjb3BlKHY4Q29udGV4dCk7CiAKLSAgICB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gdHJhbnNhY3Rpb25IYW5kbGUgPSB0b1Y4KHRyYW5zYWN0aW9uLCAw
KTsKLSAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gZXJyb3JIYW5kbGUgPSB0b1Y4KGVycm9yLCAw
KTsKKyAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdHJhbnNhY3Rpb25IYW5kbGUgPSB0b1Y4KHRy
YW5zYWN0aW9uKTsKKyAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gZXJyb3JIYW5kbGUgPSB0b1Y4
KGVycm9yKTsKICAgICBpZiAodHJhbnNhY3Rpb25IYW5kbGUuSXNFbXB0eSgpIHx8IGVycm9ySGFu
ZGxlLklzRW1wdHkoKSkgewogICAgICAgICBpZiAoIWlzU2NyaXB0Q29udHJvbGxlclRlcm1pbmF0
aW5nKCkpCiAgICAgICAgICAgICBDUkFTSCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4TXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcApp
bmRleCA0NWU4ZGM4YzNmMTliYzhhMjgyNTNkOTNkZmMyMTEzYTBlZWM5YmRmLi5iZmZiZTc0MDBm
ZGEyY2E1OGQyZjliNzcwODZmNmM2YmJmYTA1MjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNdXRhdGlvbkNhbGxiYWNrQ3VzdG9t
LmNwcApAQCAtNjYsOSArNjYsOSBAQCBib29sIFY4TXV0YXRpb25DYWxsYmFjazo6aGFuZGxlRXZl
bnQoTXV0YXRpb25SZWNvcmRBcnJheSogbXV0YXRpb25zLCBXZWJLaXRNdXRhdAogCiAgICAgdjg6
OkxvY2FsPHY4OjpBcnJheT4gbXV0YXRpb25zQXJyYXkgPSB2ODo6QXJyYXk6Ok5ldyhtdXRhdGlv
bnMtPnNpemUoKSk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtdXRhdGlvbnMtPnNpemUo
KTsgKytpKQotICAgICAgICBtdXRhdGlvbnNBcnJheS0+U2V0KHY4OjpJbnRlZ2VyOjpOZXcoaSks
IHRvVjgobXV0YXRpb25zLT5hdChpKS5nZXQoKSwgMCkpOworICAgICAgICBtdXRhdGlvbnNBcnJh
eS0+U2V0KHY4OjpJbnRlZ2VyOjpOZXcoaSksIHRvVjgobXV0YXRpb25zLT5hdChpKS5nZXQoKSkp
OwogCi0gICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IG9ic2VydmVySGFuZGxlID0gdG9WOChvYnNl
cnZlciwgMCk7CisgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IG9ic2VydmVySGFuZGxlID0gdG9W
OChvYnNlcnZlcik7CiAgICAgaWYgKG9ic2VydmVySGFuZGxlLklzRW1wdHkoKSkgewogICAgICAg
ICBpZiAoIWlzU2NyaXB0Q29udHJvbGxlclRlcm1pbmF0aW5nKCkpCiAgICAgICAgICAgICBDUkFT
SCgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144430</attachid>
            <date>2012-05-28 19:53:12 -0700</date>
            <delta_ts>2012-05-28 21:11:23 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>bug-87689-20120529115311.patch</filename>
            <type>text/plain</type>
            <size>10261</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4NzE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmVlOGFiNzhkYmFiYWM5
Y2JiZjk0MDNlY2RjYTFmNGNmZmZiYjNmYy4uZDM0ZmUxMWYwMjI1MWMwZjhiOWVmNzIzMTUxMjAx
MTkzMzY3YzFmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDEyLTA1LTI4ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdIEF2b2lkIHBh
c3NpbmcgTlVMTCB0byBhbiAnaXNvbGF0ZScgcGFyYW1ldGVyCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzY4OQorCisgICAgICAgIFJldmlld2VkIGJ5
IEFkYW0gQmFydGguCisKKyAgICAgICAgdjg6Ok51bGwoaXNvbGF0ZSkgY3Jhc2hlcyBpZiB3ZSBw
YXNzIGEgTlVMTCBpc29sYXRlLgorICAgICAgICBUaHVzIHdlIGFyZSBwbGFubmluZyB0byByZXBs
YWNlIHY4OjpOdWxsKClzIGluIGEgZm9sbG93aW5nIHdheToKKworICAgICAgICAtIEltcGxlbWVu
dCBWOEJpbmRpbmdzOjp2OE51bGwoaXNvbGF0ZSkuIHY4TnVsbChpc29sYXRlKSBkb2VzIHRoZSBO
VUxMIGNoZWNrLgorICAgICAgICBJZiBpc29sYXRlIGlzIE5VTEwsIHY4TnVsbChpc29sYXRlKSBj
YWxscyB2ODo6TnVsbCgpLiBPdGhlcndpc2UsCisgICAgICAgIHY4TnVsbChpc29sYXRlKSBjYWxs
cyB2ODo6TnVsbChpc29sYXRlKS4KKworICAgICAgICAtIEluIFY4IGJpbmRpbmdzLCB3ZSByZXBs
YWNlIHY4OjpOdWxsKCkgd2l0aCB2ODo6TnVsbChpc29sYXRlKSBmb3IgYQorICAgICAgICBub24t
b3B0aW9uYWwgJ2lzb2xhdGUnIHBhcmFtZXRlci4KKyAgICAgICAgKGUuZy4gdm9pZCBmb28oLi4u
LCBJc29sYXRlKiBpc29sYXRlKSB7IHY4OjpOdWxsKCk7IH0gKQorCisgICAgICAgIC0gSW4gVjgg
YmluZGluZ3MsIHdlIHJlcGxhY2Ugdjg6Ok51bGwoKSB3aXRoIHY4TnVsbChpc29sYXRlKSBmb3Ig
YW4KKyAgICAgICAgb3B0aW9uYWwgJ2lzb2xhdGUnIHBhcmFtZXRlci4KKyAgICAgICAgKGUuZy4g
dm9pZCBmb28oLi4uLCBJc29sYXRlKiBpc29sYXRlID0gMCkgeyB2ODo6TnVsbCgpOyB9ICkKKwor
ICAgICAgICBIb3dldmVyLCBjdXJyZW50bHkgd2UgY2Fubm90IGRvIHRoZSByZXBsYWNlbWVudCBt
ZWNoYW5pY2FsbHksIHNpbmNlIHNvbWUgY29kZQorICAgICAgICBwYXNzIE5VTEwgdG8gYSBub24t
b3B0aW9uYWwgJ2lzb2xhdGUnIHBhcmFtZXRlci4gSW4gb3RoZXIgd29yZHMsIGN1cnJlbnRseQor
ICAgICAgICAibm9uLW9wdGlvbmFsIiBkb2VzIG5vdCBndWFyYW50ZWUgdGhhdCAnaXNvbGF0ZScg
aXMgbm90IE5VTEwuCisKKyAgICAgICAgVGhpcyBwYXRjaCByZW1vdmVzIGFsbCB0aGUgY29kZSB0
aGF0IHBhc3NlcyBOVUxMIHRvIGEgbm9uLW9wdGlvbmFsICdpc29sYXRlJworICAgICAgICBwYXJh
bWV0ZXIuIFRoaXMgd2lsbCBlbmFibGUgdXMgdG8gYWNoaWV2ZSB0aGUgcmVwbGFjZW1lbnQgbWVj
aGFuaWNhbGx5LgorCisgICAgICAgIE5vIHRlc3RzLiBObyBiZWhhdmlvciBjaGFuZ2UuCisKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbToKKyAgICAgICAgKEdl
bmVyYXRlQ2FsbGJhY2tJbXBsZW1lbnRhdGlvbik6CisgICAgICAgIChOYXRpdmVUb0pTVmFsdWUp
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDYWxsYmFjay5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpWOFRlc3RDYWxsYmFjazo6Y2FsbGJhY2tXaXRoQ2xhc3MxUGFy
YW0pOgorICAgICAgICAoV2ViQ29yZTo6VjhUZXN0Q2FsbGJhY2s6OmNhbGxiYWNrV2l0aENsYXNz
MlBhcmFtKToKKyAgICAgICAgKFdlYkNvcmU6OlY4VGVzdENhbGxiYWNrOjpjYWxsYmFja1dpdGhT
dHJpbmdMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlY4VGVzdENhbGxiYWNrOjpjYWxsYmFja1Jl
cXVpcmVzVGhpc1RvUGFzcyk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4
VGVzdE9iai5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOFRlc3RPYmo6Omluc3RhbGxQZXJDb250
ZXh0UHJvcGVydGllcyk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tU1FM
U3RhdGVtZW50RXJyb3JDYWxsYmFjay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOFNRTFN0YXRl
bWVudEVycm9yQ2FsbGJhY2s6OmhhbmRsZUV2ZW50KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9j
dXN0b20vVjhNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4
TXV0YXRpb25DYWxsYmFjazo6aGFuZGxlRXZlbnQpOgorCiAyMDEyLTA1LTI4ICBNT1JJVEEgSGFq
aW1lICA8bW9ycml0YUBnb29nbGUuY29tPgogCiAgICAgICAgIFJlbmFtZSBGcmFtZUxvYWRlckNs
aWVudDo6c2hhZG93RE9NQWxsb3dlZCgpIHRvIGFsbG93U2hhZG93RE9NKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KaW5kZXggZTA0
NWViZGQzMzNlMTgzNTU5Njc5MGYwYWFkOTQ0YWM1NTNlNTE1MS4uZjY0MTUwNGIxM2E3OGFlZjRl
YmQ5MDg5MmZjNjM5YzNiYzQ5ZjBmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KQEAgLTMwOTgsNyArMzA5OCw3IEBAIEVORAog
ICAgICAgICAgICAgQGFyZ3MgPSAoKTsKICAgICAgICAgICAgIGZvcmVhY2ggbXkgJHBhcmFtIChA
cGFyYW1zKSB7CiAgICAgICAgICAgICAgICAgbXkgJHBhcmFtTmFtZSA9ICRwYXJhbS0+bmFtZTsK
LSAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gJHtwYXJhbU5hbWV9SGFuZGxlID0gIiAuIE5hdGl2ZVRvSlNWYWx1ZSgkcGFyYW0sICRw
YXJhbU5hbWUsICIwIikgLiAiO1xuIik7CisgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+ICR7cGFyYW1OYW1lfUhhbmRsZSA9ICIgLiBO
YXRpdmVUb0pTVmFsdWUoJHBhcmFtLCAkcGFyYW1OYW1lKSAuICI7XG4iKTsKICAgICAgICAgICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBpZiAoJHtwYXJhbU5hbWV9SGFuZGxlLklzRW1w
dHkoKSkge1xuIik7CiAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAg
IGlmICghaXNTY3JpcHRDb250cm9sbGVyVGVybWluYXRpbmcoKSlcbiIpOwogICAgICAgICAgICAg
ICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICAgICAgQ1JBU0goKTtcbiIpOwpAQCAtMzc5
OCw2ICszNzk4LDcgQEAgc3ViIE5hdGl2ZVRvSlNWYWx1ZQogICAgIG15ICRzaWduYXR1cmUgPSBz
aGlmdDsKICAgICBteSAkdmFsdWUgPSBzaGlmdDsKICAgICBteSAkZ2V0SXNvbGF0ZSA9IHNoaWZ0
OworICAgICRnZXRJc29sYXRlID0gJGdldElzb2xhdGUgPyAiLCAkZ2V0SXNvbGF0ZSIgOiAiIjsK
ICAgICBteSAkdHlwZSA9IEdldFR5cGVGcm9tU2lnbmF0dXJlKCRzaWduYXR1cmUpOwogCiAgICAg
cmV0dXJuICJ2OEJvb2xlYW4oJHZhbHVlKSIgaWYgJHR5cGUgZXEgImJvb2xlYW4iOwpAQCAtMzgy
OSwxMyArMzgzMCwxMyBAQCBzdWIgTmF0aXZlVG9KU1ZhbHVlCiAgICAgaWYgKCRjb2RlR2VuZXJh
dG9yLT5Jc1N0cmluZ1R5cGUoJHR5cGUpKSB7CiAgICAgICAgIG15ICRjb252ID0gJHNpZ25hdHVy
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlRyZWF0UmV0dXJuZWROdWxsU3RyaW5nQXMifTsKICAg
ICAgICAgaWYgKGRlZmluZWQgJGNvbnYpIHsKLSAgICAgICAgICAgIHJldHVybiAidjhTdHJpbmdP
ck51bGwoJHZhbHVlLCAkZ2V0SXNvbGF0ZSkiIGlmICRjb252IGVxICJOdWxsIjsKLSAgICAgICAg
ICAgIHJldHVybiAidjhTdHJpbmdPclVuZGVmaW5lZCgkdmFsdWUsICRnZXRJc29sYXRlKSIgaWYg
JGNvbnYgZXEgIlVuZGVmaW5lZCI7Ci0gICAgICAgICAgICByZXR1cm4gInY4U3RyaW5nT3JGYWxz
ZSgkdmFsdWUsICRnZXRJc29sYXRlKSIgaWYgJGNvbnYgZXEgIkZhbHNlIjsKKyAgICAgICAgICAg
IHJldHVybiAidjhTdHJpbmdPck51bGwoJHZhbHVlJGdldElzb2xhdGUpIiBpZiAkY29udiBlcSAi
TnVsbCI7CisgICAgICAgICAgICByZXR1cm4gInY4U3RyaW5nT3JVbmRlZmluZWQoJHZhbHVlJGdl
dElzb2xhdGUpIiBpZiAkY29udiBlcSAiVW5kZWZpbmVkIjsKKyAgICAgICAgICAgIHJldHVybiAi
djhTdHJpbmdPckZhbHNlKCR2YWx1ZSRnZXRJc29sYXRlKSIgaWYgJGNvbnYgZXEgIkZhbHNlIjsK
IAogICAgICAgICAgICAgZGllICJVbmtub3duIHZhbHVlIGZvciBUcmVhdFJldHVybmVkTnVsbFN0
cmluZ0FzIGV4dGVuZGVkIGF0dHJpYnV0ZSI7CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuICJ2
OFN0cmluZygkdmFsdWUsICRnZXRJc29sYXRlKSI7CisgICAgICAgIHJldHVybiAidjhTdHJpbmco
JHZhbHVlJGdldElzb2xhdGUpIjsKICAgICB9CiAKICAgICBteSAkYXJyYXlUeXBlID0gJGNvZGVH
ZW5lcmF0b3ItPkdldEFycmF5VHlwZSgkdHlwZSk7CkBAIC0zODQ0LDE4ICszODQ1LDE4IEBAIHN1
YiBOYXRpdmVUb0pTVmFsdWUKICAgICAgICAgICAgIEFkZFRvSW1wbEluY2x1ZGVzKCJWOCRhcnJh
eVR5cGUuaCIpOwogICAgICAgICAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIiRhcnJheVR5cGUuaCIp
OwogICAgICAgICB9Ci0gICAgICAgIHJldHVybiAidjhBcnJheSgkdmFsdWUsICRnZXRJc29sYXRl
KSI7CisgICAgICAgIHJldHVybiAidjhBcnJheSgkdmFsdWUkZ2V0SXNvbGF0ZSkiOwogICAgIH0K
IAogICAgIEFkZEluY2x1ZGVzRm9yVHlwZSgkdHlwZSk7CiAKICAgICAjIHNwZWNpYWwgY2FzZSBm
b3Igbm9uLURPTSBub2RlIGludGVyZmFjZXMKICAgICBpZiAoSXNET01Ob2RlVHlwZSgkdHlwZSkp
IHsKLSAgICAgICAgcmV0dXJuICJ0b1Y4KCR7dmFsdWV9IiAuICgkc2lnbmF0dXJlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiUmV0dXJuTmV3T2JqZWN0In0gPyAiLCAkZ2V0SXNvbGF0ZSwgdHJ1ZSki
IDogIiwgJGdldElzb2xhdGUpIik7CisgICAgICAgIHJldHVybiAidG9WOCgke3ZhbHVlfSIgLiAo
JHNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlJldHVybk5ld09iamVjdCJ9ID8gIiRn
ZXRJc29sYXRlLCB0cnVlKSIgOiAiJGdldElzb2xhdGUpIik7CiAgICAgfQogCiAgICAgaWYgKCR0
eXBlIGVxICJFdmVudFRhcmdldCIpIHsKLSAgICAgICAgcmV0dXJuICJWOERPTVdyYXBwZXI6OmNv
bnZlcnRFdmVudFRhcmdldFRvVjhPYmplY3QoJHZhbHVlLCAkZ2V0SXNvbGF0ZSkiOworICAgICAg
ICByZXR1cm4gIlY4RE9NV3JhcHBlcjo6Y29udmVydEV2ZW50VGFyZ2V0VG9WOE9iamVjdCgkdmFs
dWUkZ2V0SXNvbGF0ZSkiOwogICAgIH0KIAogICAgIGlmICgkdHlwZSBlcSAiRXZlbnRMaXN0ZW5l
ciIpIHsKQEAgLTM4NzIsNyArMzg3Myw3IEBAIHN1YiBOYXRpdmVUb0pTVmFsdWUKICAgICBBZGRU
b0ltcGxJbmNsdWRlcygid3RmL1JlZlB0ci5oIik7CiAgICAgQWRkVG9JbXBsSW5jbHVkZXMoInd0
Zi9HZXRQdHIuaCIpOwogCi0gICAgcmV0dXJuICJ0b1Y4KCR2YWx1ZSwgJGdldElzb2xhdGUpIjsK
KyAgICByZXR1cm4gInRvVjgoJHZhbHVlJGdldElzb2xhdGUpIjsKIH0KIAogc3ViIFJldHVybk5h
dGl2ZVRvSlNWYWx1ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdENhbGxiYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RDYWxsYmFjay5jcHAKaW5kZXggNjI4ZDVhOGI3N2U4MzQ2NmU4
MGRmOGJhMTdmNjIzMGYyNmI5YTQ1OS4uNmFmYTgzMDI5YzNkN2EzNjIyYzY4ZTJlMjMxZmIyNDQ2
MmJjMTAzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdENhbGxiYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0Q2FsbGJhY2suY3BwCkBAIC04Nyw3ICs4Nyw3IEBAIGJvb2wgVjhU
ZXN0Q2FsbGJhY2s6OmNhbGxiYWNrV2l0aENsYXNzMVBhcmFtKENsYXNzMSogY2xhc3MxUGFyYW0p
CiAKICAgICB2ODo6Q29udGV4dDo6U2NvcGUgc2NvcGUodjhDb250ZXh0KTsKIAotICAgIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBjbGFzczFQYXJhbUhhbmRsZSA9IHRvVjgoY2xhc3MxUGFyYW0sIDAp
OworICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjbGFzczFQYXJhbUhhbmRsZSA9IHRvVjgoY2xh
c3MxUGFyYW0pOwogICAgIGlmIChjbGFzczFQYXJhbUhhbmRsZS5Jc0VtcHR5KCkpIHsKICAgICAg
ICAgaWYgKCFpc1NjcmlwdENvbnRyb2xsZXJUZXJtaW5hdGluZygpKQogICAgICAgICAgICAgQ1JB
U0goKTsKQEAgLTExNSwxMyArMTE1LDEzIEBAIGJvb2wgVjhUZXN0Q2FsbGJhY2s6OmNhbGxiYWNr
V2l0aENsYXNzMlBhcmFtKENsYXNzMiogY2xhc3MyUGFyYW0sIGNvbnN0IFN0cmluZyYKIAogICAg
IHY4OjpDb250ZXh0OjpTY29wZSBzY29wZSh2OENvbnRleHQpOwogCi0gICAgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IGNsYXNzMlBhcmFtSGFuZGxlID0gdG9WOChjbGFzczJQYXJhbSwgMCk7CisgICAg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IGNsYXNzMlBhcmFtSGFuZGxlID0gdG9WOChjbGFzczJQYXJh
bSk7CiAgICAgaWYgKGNsYXNzMlBhcmFtSGFuZGxlLklzRW1wdHkoKSkgewogICAgICAgICBpZiAo
IWlzU2NyaXB0Q29udHJvbGxlclRlcm1pbmF0aW5nKCkpCiAgICAgICAgICAgICBDUkFTSCgpOwog
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9Ci0gICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHN0
ckFyZ0hhbmRsZSA9IHY4U3RyaW5nKHN0ckFyZywgMCk7CisgICAgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IHN0ckFyZ0hhbmRsZSA9IHY4U3RyaW5nKHN0ckFyZyk7CiAgICAgaWYgKHN0ckFyZ0hhbmRs
ZS5Jc0VtcHR5KCkpIHsKICAgICAgICAgaWYgKCFpc1NjcmlwdENvbnRyb2xsZXJUZXJtaW5hdGlu
ZygpKQogICAgICAgICAgICAgQ1JBU0goKTsKQEAgLTE1MCw3ICsxNTAsNyBAQCBib29sIFY4VGVz
dENhbGxiYWNrOjpjYWxsYmFja1dpdGhTdHJpbmdMaXN0KFJlZlB0cjxET01TdHJpbmdMaXN0PiBs
aXN0UGFyYW0pCiAKICAgICB2ODo6Q29udGV4dDo6U2NvcGUgc2NvcGUodjhDb250ZXh0KTsKIAot
ICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBsaXN0UGFyYW1IYW5kbGUgPSB0b1Y4KGxpc3RQYXJh
bSwgMCk7CisgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGxpc3RQYXJhbUhhbmRsZSA9IHRvVjgo
bGlzdFBhcmFtKTsKICAgICBpZiAobGlzdFBhcmFtSGFuZGxlLklzRW1wdHkoKSkgewogICAgICAg
ICBpZiAoIWlzU2NyaXB0Q29udHJvbGxlclRlcm1pbmF0aW5nKCkpCiAgICAgICAgICAgICBDUkFT
SCgpOwpAQCAtMjA4LDEzICsyMDgsMTMgQEAgYm9vbCBWOFRlc3RDYWxsYmFjazo6Y2FsbGJhY2tS
ZXF1aXJlc1RoaXNUb1Bhc3MoQ2xhc3M4KiBjbGFzczhQYXJhbSwgVGhpc0NsYXNzKgogCiAgICAg
djg6OkNvbnRleHQ6OlNjb3BlIHNjb3BlKHY4Q29udGV4dCk7CiAKLSAgICB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gY2xhc3M4UGFyYW1IYW5kbGUgPSB0b1Y4KGNsYXNzOFBhcmFtLCAwKTsKKyAgICB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY2xhc3M4UGFyYW1IYW5kbGUgPSB0b1Y4KGNsYXNzOFBhcmFt
KTsKICAgICBpZiAoY2xhc3M4UGFyYW1IYW5kbGUuSXNFbXB0eSgpKSB7CiAgICAgICAgIGlmICgh
aXNTY3JpcHRDb250cm9sbGVyVGVybWluYXRpbmcoKSkKICAgICAgICAgICAgIENSQVNIKCk7CiAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KLSAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdGhp
c0NsYXNzUGFyYW1IYW5kbGUgPSB0b1Y4KHRoaXNDbGFzc1BhcmFtLCAwKTsKKyAgICB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gdGhpc0NsYXNzUGFyYW1IYW5kbGUgPSB0b1Y4KHRoaXNDbGFzc1BhcmFt
KTsKICAgICBpZiAodGhpc0NsYXNzUGFyYW1IYW5kbGUuSXNFbXB0eSgpKSB7CiAgICAgICAgIGlm
ICghaXNTY3JpcHRDb250cm9sbGVyVGVybWluYXRpbmcoKSkKICAgICAgICAgICAgIENSQVNIKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21T
UUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOEN1c3RvbVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwCmluZGV4IGMwNzk4
NmI3NmRhMmE5NmYyYTFiY2E4Yjg1NTkxZGE2YmM5ODgxOTQuLjllZTI3ZmI3MmE1NjkwZjRiYWQ2
OWVhOTBhNmVhMjA4N2RiYWZlNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEN1c3RvbVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVNRTFN0YXRlbWVudEVycm9y
Q2FsbGJhY2suY3BwCkBAIC01Niw4ICs1Niw4IEBAIGJvb2wgVjhTUUxTdGF0ZW1lbnRFcnJvckNh
bGxiYWNrOjpoYW5kbGVFdmVudChTUUxUcmFuc2FjdGlvbiogdHJhbnNhY3Rpb24sIFNRTEVyCiAK
ICAgICB2ODo6Q29udGV4dDo6U2NvcGUgc2NvcGUodjhDb250ZXh0KTsKIAotICAgIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiB0cmFuc2FjdGlvbkhhbmRsZSA9IHRvVjgodHJhbnNhY3Rpb24sIDApOwot
ICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBlcnJvckhhbmRsZSA9IHRvVjgoZXJyb3IsIDApOwor
ICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0cmFuc2FjdGlvbkhhbmRsZSA9IHRvVjgodHJhbnNh
Y3Rpb24pOworICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBlcnJvckhhbmRsZSA9IHRvVjgoZXJy
b3IpOwogICAgIGlmICh0cmFuc2FjdGlvbkhhbmRsZS5Jc0VtcHR5KCkgfHwgZXJyb3JIYW5kbGUu
SXNFbXB0eSgpKSB7CiAgICAgICAgIGlmICghaXNTY3JpcHRDb250cm9sbGVyVGVybWluYXRpbmco
KSkKICAgICAgICAgICAgIENSQVNIKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE11dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwCmluZGV4
IDQ1ZThkYzhjM2YxOWJjOGEyODI1M2Q5M2RmYzIxMTNhMGVlYzliZGYuLmJmZmJlNzQwMGZkYTJj
YTU4ZDJmOWI3NzA4NmY2YzZiYmZhMDUyN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOE11dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE11dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3Bw
CkBAIC02Niw5ICs2Niw5IEBAIGJvb2wgVjhNdXRhdGlvbkNhbGxiYWNrOjpoYW5kbGVFdmVudChN
dXRhdGlvblJlY29yZEFycmF5KiBtdXRhdGlvbnMsIFdlYktpdE11dGF0CiAKICAgICB2ODo6TG9j
YWw8djg6OkFycmF5PiBtdXRhdGlvbnNBcnJheSA9IHY4OjpBcnJheTo6TmV3KG11dGF0aW9ucy0+
c2l6ZSgpKTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG11dGF0aW9ucy0+c2l6ZSgpOyAr
K2kpCi0gICAgICAgIG11dGF0aW9uc0FycmF5LT5TZXQodjg6OkludGVnZXI6Ok5ldyhpKSwgdG9W
OChtdXRhdGlvbnMtPmF0KGkpLmdldCgpLCAwKSk7CisgICAgICAgIG11dGF0aW9uc0FycmF5LT5T
ZXQodjg6OkludGVnZXI6Ok5ldyhpKSwgdG9WOChtdXRhdGlvbnMtPmF0KGkpLmdldCgpKSk7CiAK
LSAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gb2JzZXJ2ZXJIYW5kbGUgPSB0b1Y4KG9ic2VydmVy
LCAwKTsKKyAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gb2JzZXJ2ZXJIYW5kbGUgPSB0b1Y4KG9i
c2VydmVyKTsKICAgICBpZiAob2JzZXJ2ZXJIYW5kbGUuSXNFbXB0eSgpKSB7CiAgICAgICAgIGlm
ICghaXNTY3JpcHRDb250cm9sbGVyVGVybWluYXRpbmcoKSkKICAgICAgICAgICAgIENSQVNIKCk7
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>