<?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>94437</bug_id>
          
          <creation_ts>2012-08-19 17:47:37 -0700</creation_ts>
          <short_desc>[V8] Move V8Proxy::callFunction() to ScriptController</short_desc>
          <delta_ts>2012-08-19 22:19:27 -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>85330</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>japhet</cc>
    
    <cc>peter+ews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>699120</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-08-19 17:47:37 -0700</bug_when>
    <thetext>To kill V8Proxy, we can move callFunction() from V8Proxy to ScriptController.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699124</commentid>
    <comment_count>1</comment_count>
      <attachid>159312</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-08-19 17:55:04 -0700</bug_when>
    <thetext>Created attachment 159312
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699125</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-19 17:58:26 -0700</bug_when>
    <thetext>Attachment 159312 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
Source/WebCore/bindings/v8/ScheduledAction.h:43:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 10 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699132</commentid>
    <comment_count>3</comment_count>
      <attachid>159312</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2012-08-19 18:15:21 -0700</bug_when>
    <thetext>Comment on attachment 159312
Patch

Attachment 159312 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/13535572</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699180</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-19 20:43:51 -0700</bug_when>
    <thetext>I&apos;m not sure why this patch fails on Android.  Please make sure it builds before landing.  ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699199</commentid>
    <comment_count>5</comment_count>
      <attachid>159326</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-08-19 21:28:33 -0700</bug_when>
    <thetext>Created attachment 159326
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699201</commentid>
    <comment_count>6</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-08-19 21:30:30 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; I&apos;m not sure why this patch fails on Android.  Please make sure it builds before landing.  ;)

Wrong: ASSERT(script-&gt;proxy)
Correct: ASSERT(script-&gt;proxy())

cr-linux is build in the Release mode, and thus ASSERT() is ignored. android is build in the Debug mode, and thus ASSERT() is not ignored. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699202</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-19 21:31:40 -0700</bug_when>
    <thetext>Attachment 159326 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
Source/WebCore/bindings/v8/ScheduledAction.h:43:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 10 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699215</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-19 21:40:37 -0700</bug_when>
    <thetext>That&apos;s handy.  Thanks for setting up the cr-android bot to build debug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699227</commentid>
    <comment_count>9</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-08-19 22:19:21 -0700</bug_when>
    <thetext>Committed r125998: &lt;http://trac.webkit.org/changeset/125998&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159312</attachid>
            <date>2012-08-19 17:55:04 -0700</date>
            <delta_ts>2012-08-19 22:19:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-94437-20120820095425.patch</filename>
            <type>text/plain</type>
            <size>13639</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1OTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTI4MTJjYzU3ZDQ4OWE1
MDI1YmIwNDU2OWUxNjMyNzU5YjI1ZTk1OC4uMTczMjc4NGViYTljZjVmMWU1YzRkZGU3MDA0ZmZm
YjQ2ZmUwZTZhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEyLTA4LTE5ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdIE1vdmUgVjhQ
cm94eTo6Y2FsbEZ1bmN0aW9uKCkgdG8gU2NyaXB0Q29udHJvbGxlcgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ0MzcKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUbyBraWxsIFY4UHJveHksIHRoaXMgcGF0
Y2ggbW92ZXMgY2FsbEZ1bmN0aW9uKCkgZnJvbSBWOFByb3h5IHRvIFNjcmlwdENvbnRyb2xsZXIu
CisKKyAgICAgICAgTm8gdGVzdHMuIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAq
IGJpbmRpbmdzL3Y4L0RPTVRyYW5zYWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRy
YW5zYWN0aW9uOjpjYWxsRnVuY3Rpb24pOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L05QVjhPYmpl
Y3QuY3BwOgorICAgICAgICAoX05QTl9JbnZva2UpOgorICAgICAgICAoX05QTl9JbnZva2VEZWZh
dWx0KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY2hlZHVsZWRBY3Rpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U2NoZWR1bGVkQWN0aW9uOjpleGVjdXRlKToKKyAgICAgICAgKiBiaW5kaW5n
cy92OC9TY2hlZHVsZWRBY3Rpb24uaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoU2No
ZWR1bGVkQWN0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmNhbGxGdW5jdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmNh
bGxGdW5jdGlvbkV2ZW5JZlNjcmlwdERpc2FibGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9T
Y3JpcHRDb250cm9sbGVyLmg6CisgICAgICAgIChTY3JpcHRDb250cm9sbGVyKToKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9WOEV2ZW50TGlzdGVuZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhF
dmVudExpc3RlbmVyOjpjYWxsTGlzdGVuZXJGdW5jdGlvbik6CisgICAgICAgICogYmluZGluZ3Mv
djgvVjhMYXp5RXZlbnRMaXN0ZW5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOExhenlFdmVu
dExpc3RlbmVyOjpjYWxsTGlzdGVuZXJGdW5jdGlvbik6CisgICAgICAgICogYmluZGluZ3Mvdjgv
VjhQcm94eS5jcHA6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhQcm94eS5oOgorICAgICAgICAo
VjhQcm94eSk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTERvY3VtZW50Q3Vz
dG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4SFRNTERvY3VtZW50OjpvcGVuQ2FsbGJhY2sp
OgorCiAyMDEyLTA4LTE5ICBNaWtlIFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgQ1NQIDEuMTogQWRkICdwbHVnaW4tdHlwZXMnIGFuZCAnZm9ybS1hY3Rpb24nIERPTSBBUEku
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01UcmFuc2FjdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01UcmFuc2FjdGlvbi5jcHAKaW5kZXgg
ZmE0ZDdmNmVlZjc0ZjBkMTc2OGJjNTI3ZWNjNmViYTcxMmRiMzc1NC4uN2I4OGRmOWRkOWZjZGRi
Y2Y3YTNlNDg4Y2Q1MjBjZmU4NDEwYTcyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvRE9NVHJhbnNhY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L0RPTVRyYW5zYWN0aW9uLmNwcApAQCAtMTEzLDcgKzExMyw3IEBAIHZvaWQgRE9NVHJhbnNh
Y3Rpb246OmNhbGxGdW5jdGlvbihjb25zdCBjaGFyKiBwcm9wZXJ0eU5hbWUpCiAgICAgaWYgKHJl
Y2VpdmVyLklzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogICAgIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBwYXJhbWV0ZXJzWzBdID0geyB9OwotICAgIGZyYW1lLT5zY3JpcHQoKS0+cHJveHkoKS0+
Y2FsbEZ1bmN0aW9uKGZ1bmN0aW9uLCByZWNlaXZlciwgMCwgcGFyYW1ldGVycyk7CisgICAgZnJh
bWUtPnNjcmlwdCgpLT5jYWxsRnVuY3Rpb24oZnVuY3Rpb24sIHJlY2VpdmVyLCAwLCBwYXJhbWV0
ZXJzKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvTlBW
OE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9OUFY4T2JqZWN0LmNwcApp
bmRleCBjMDAwODJkNmNmNGExNDMwN2ViODJmNDBhNDQzMzM0NzM3MmM2YmFjLi43Zjk4M2IyN2E4
N2UwZDRhYTU0MGM1YzRlYTNhYjBiMGUwYjJmMTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9OUFY4T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9OUFY4T2JqZWN0LmNwcApAQCAtMjQ0LDEzICsyNDQsMTMgQEAgYm9vbCBfTlBOX0ludm9r
ZShOUFAgbnBwLCBOUE9iamVjdCogbnBPYmplY3QsIE5QSWRlbnRpZmllciBtZXRob2ROYW1lLCBj
b25zdCBOUFYKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAotICAgIFY4UHJveHkqIHBy
b3h5ID0gdG9WOFByb3h5KG5wT2JqZWN0KTsKLSAgICBBU1NFUlQocHJveHkpOworICAgIEZyYW1l
KiBmcmFtZSA9IHY4TnBPYmplY3QtPnJvb3RPYmplY3QtPmZyYW1lKCk7CisgICAgQVNTRVJUKGZy
YW1lKTsKIAogICAgIC8vIENhbGwgdGhlIGZ1bmN0aW9uIG9iamVjdC4KICAgICB2ODo6SGFuZGxl
PHY4OjpGdW5jdGlvbj4gZnVuY3Rpb24gPSB2ODo6SGFuZGxlPHY4OjpGdW5jdGlvbj46OkNhc3Qo
ZnVuY3Rpb25PYmplY3QpOwogICAgIE93bkFycmF5UHRyPHY4OjpIYW5kbGU8djg6OlZhbHVlPiA+
IGFyZ3YgPSBjcmVhdGVWYWx1ZUxpc3RGcm9tVmFyaWFudEFyZ3MoYXJndW1lbnRzLCBhcmd1bWVu
dENvdW50LCBucE9iamVjdCk7Ci0gICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gcmVzdWx0T2JqZWN0
ID0gcHJveHktPmNhbGxGdW5jdGlvbihmdW5jdGlvbiwgdjhOcE9iamVjdC0+djhPYmplY3QsIGFy
Z3VtZW50Q291bnQsIGFyZ3YuZ2V0KCkpOworICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHJlc3Vs
dE9iamVjdCA9IGZyYW1lLT5zY3JpcHQoKS0+Y2FsbEZ1bmN0aW9uKGZ1bmN0aW9uLCB2OE5wT2Jq
ZWN0LT52OE9iamVjdCwgYXJndW1lbnRDb3VudCwgYXJndi5nZXQoKSk7CiAKICAgICAvLyBJZiB3
ZSBoYWQgYW4gZXJyb3IsIHJldHVybiBmYWxzZS4gIFRoZSBzcGVjIGlzIGEgbGl0dGxlIHVuY2xl
YXIgaGVyZSwgYnV0IHNheXMgIlJldHVybnMgdHJ1ZSBpZiB0aGUgbWV0aG9kIHdhcwogICAgIC8v
IHN1Y2Nlc3NmdWxseSBpbnZva2VkIi4gIElmIHdlIGdldCBhbiBlcnJvciByZXR1cm4gdmFsdWUs
IHdhcyB0aGF0IHN1Y2Nlc3NmdWxseSBpbnZva2VkPwpAQCAtMjk1LDExICsyOTUsMTEgQEAgYm9v
bCBfTlBOX0ludm9rZURlZmF1bHQoTlBQIG5wcCwgTlBPYmplY3QqIG5wT2JqZWN0LCBjb25zdCBO
UFZhcmlhbnQqIGFyZ3VtZW50cywKICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiByZXN1bHRPYmpl
Y3Q7CiAgICAgdjg6OkhhbmRsZTx2ODo6RnVuY3Rpb24+IGZ1bmN0aW9uKHY4OjpGdW5jdGlvbjo6
Q2FzdCgqZnVuY3Rpb25PYmplY3QpKTsKICAgICBpZiAoIWZ1bmN0aW9uLT5Jc051bGwoKSkgewot
ICAgICAgICBWOFByb3h5KiBwcm94eSA9IHRvVjhQcm94eShucE9iamVjdCk7Ci0gICAgICAgIEFT
U0VSVChwcm94eSk7CisgICAgICAgIEZyYW1lKiBmcmFtZSA9IHY4TnBPYmplY3QtPnJvb3RPYmpl
Y3QtPmZyYW1lKCk7CisgICAgICAgIEFTU0VSVChmcmFtZSk7CiAKICAgICAgICAgT3duQXJyYXlQ
dHI8djg6OkhhbmRsZTx2ODo6VmFsdWU+ID4gYXJndiA9IGNyZWF0ZVZhbHVlTGlzdEZyb21WYXJp
YW50QXJncyhhcmd1bWVudHMsIGFyZ3VtZW50Q291bnQsIG5wT2JqZWN0KTsKLSAgICAgICAgcmVz
dWx0T2JqZWN0ID0gcHJveHktPmNhbGxGdW5jdGlvbihmdW5jdGlvbiwgZnVuY3Rpb25PYmplY3Qs
IGFyZ3VtZW50Q291bnQsIGFyZ3YuZ2V0KCkpOworICAgICAgICByZXN1bHRPYmplY3QgPSBmcmFt
ZS0+c2NyaXB0KCktPmNhbGxGdW5jdGlvbihmdW5jdGlvbiwgZnVuY3Rpb25PYmplY3QsIGFyZ3Vt
ZW50Q291bnQsIGFyZ3YuZ2V0KCkpOwogICAgIH0KICAgICAvLyBJZiB3ZSBoYWQgYW4gZXJyb3Is
IHJldHVybiBmYWxzZS4gIFRoZSBzcGVjIGlzIGEgbGl0dGxlIHVuY2xlYXIgaGVyZSwgYnV0IHNh
eXMgIlJldHVybnMgdHJ1ZSBpZiB0aGUgbWV0aG9kIHdhcwogICAgIC8vIHN1Y2Nlc3NmdWxseSBp
bnZva2VkIi4gIElmIHdlIGdldCBhbiBlcnJvciByZXR1cm4gdmFsdWUsIHdhcyB0aGF0IHN1Y2Nl
c3NmdWxseSBpbnZva2VkPwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
U2NoZWR1bGVkQWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjaGVkdWxl
ZEFjdGlvbi5jcHAKaW5kZXggZTcxZjAyNjI5YzVmOTgxNjMxYjE2NjJjYzE4OTAzYjY0NWY5Nzcz
YS4uYzUzY2ZkMmE3MmY4ZTZhNTAxODlhMTU1ZTk0ODE2NDAzNTNhMGEyYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NoZWR1bGVkQWN0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY2hlZHVsZWRBY3Rpb24uY3BwCkBAIC00MCw2ICs0MCw3
IEBACiAjaW5jbHVkZSAiVHJhY2VFdmVudC5oIgogI2VuZGlmCiAKKyNpbmNsdWRlICJTY3JpcHRD
b250cm9sbGVyLmgiCiAjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCiAjaW5jbHVkZSAiVjhQcm94eS5o
IgogI2luY2x1ZGUgIlY4UmVjdXJzaW9uU2NvcGUuaCIKQEAgLTEwMiw3ICsxMDMsNyBAQCB2b2lk
IFNjaGVkdWxlZEFjdGlvbjo6ZXhlY3V0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0
KQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBpZiAoIWZyYW1lLT5zY3JpcHQoKS0+Y2Fu
RXhlY3V0ZVNjcmlwdHMoQWJvdXRUb0V4ZWN1dGVTY3JpcHQpKQogICAgICAgICAgICAgcmV0dXJu
OwotICAgICAgICBleGVjdXRlKGZyYW1lLT5zY3JpcHQoKS0+cHJveHkoKSk7CisgICAgICAgIGV4
ZWN1dGUoZnJhbWUtPnNjcmlwdCgpKTsKICAgICB9CiAjaWYgRU5BQkxFKFdPUktFUlMpCiAgICAg
ZWxzZSB7CkBAIC0xMTIsOSArMTEzLDkgQEAgdm9pZCBTY2hlZHVsZWRBY3Rpb246OmV4ZWN1dGUo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKICNlbmRpZgogfQogCi12b2lkIFNjaGVk
dWxlZEFjdGlvbjo6ZXhlY3V0ZShWOFByb3h5KiBwcm94eSkKK3ZvaWQgU2NoZWR1bGVkQWN0aW9u
OjpleGVjdXRlKFNjcmlwdENvbnRyb2xsZXIqIHNjcmlwdCkKIHsKLSAgICBBU1NFUlQocHJveHkp
OworICAgIEFTU0VSVChzY3JpcHQtPnByb3h5KTsKIAogICAgIHY4OjpIYW5kbGVTY29wZSBoYW5k
bGVTY29wZTsKICAgICB2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiB2OENvbnRleHQgPSB2ODo6TG9j
YWw8djg6OkNvbnRleHQ+OjpOZXcobV9jb250ZXh0LmdldCgpKTsKQEAgLTEyOSw5ICsxMzAsOSBA
QCB2b2lkIFNjaGVkdWxlZEFjdGlvbjo6ZXhlY3V0ZShWOFByb3h5KiBwcm94eSkKIAogICAgIC8v
IEZJWE1FOiBOZWVkIHRvIGltcGxlbWVudCB0aW1lb3V0cyBmb3IgcHJlZW1wdGluZyBhIGxvbmct
cnVubmluZyBzY3JpcHQuCiAgICAgaWYgKCFtX2Z1bmN0aW9uLklzRW1wdHkoKSAmJiBtX2Z1bmN0
aW9uLT5Jc0Z1bmN0aW9uKCkpCi0gICAgICAgIHByb3h5LT5jYWxsRnVuY3Rpb24odjg6OlBlcnNp
c3RlbnQ8djg6OkZ1bmN0aW9uPjo6Q2FzdChtX2Z1bmN0aW9uKSwgdjhDb250ZXh0LT5HbG9iYWwo
KSwgbV9hcmdjLCBtX2FyZ3YpOworICAgICAgICBzY3JpcHQtPmNhbGxGdW5jdGlvbih2ODo6UGVy
c2lzdGVudDx2ODo6RnVuY3Rpb24+OjpDYXN0KG1fZnVuY3Rpb24pLCB2OENvbnRleHQtPkdsb2Jh
bCgpLCBtX2FyZ2MsIG1fYXJndik7CiAgICAgZWxzZQotICAgICAgICBwcm94eS0+ZXZhbHVhdGUo
bV9jb2RlLCAwKTsKKyAgICAgICAgc2NyaXB0LT5wcm94eSgpLT5ldmFsdWF0ZShtX2NvZGUsIDAp
OwogCiAgICAgLy8gVGhlICdwcm94eScgbWF5IGJlIGludmFsaWQgYXQgdGhpcyBwb2ludCBzaW5j
ZSBKUyBjb3VsZCBoYXZlIHJlbGVhc2VkIHRoZSBvd25pbmcgRnJhbWUuCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY2hlZHVsZWRBY3Rpb24uaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjaGVkdWxlZEFjdGlvbi5oCmluZGV4IGFlZmU3ZWZhMmZlYjJh
ODY2NzNmZTZhN2E1ZjUxNDA4Mzc3NTczYzEuLmUzZjNiYjQ0MDYzZmFkYjI2ODE2MjM1ZjExOWNm
MDJkNDY2NTg1MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjaGVk
dWxlZEFjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjaGVkdWxlZEFj
dGlvbi5oCkBAIC00MCw4ICs0MCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorICAgIGNs
YXNzIFNjcmlwdENvbnRyb2xsZXI7CiAgICAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsK
LSAgICBjbGFzcyBWOFByb3h5OwogICAgIGNsYXNzIFdvcmtlckNvbnRleHQ7CiAKICAgICBjbGFz
cyBTY2hlZHVsZWRBY3Rpb24gewpAQCAtNTksNyArNTksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIHZpcnR1YWwgdm9pZCBleGVjdXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsK
IAogICAgIHByaXZhdGU6Ci0gICAgICAgIHZvaWQgZXhlY3V0ZShWOFByb3h5Kik7CisgICAgICAg
IHZvaWQgZXhlY3V0ZShTY3JpcHRDb250cm9sbGVyKik7CiAjaWYgRU5BQkxFKFdPUktFUlMpCiAg
ICAgICAgIHZvaWQgZXhlY3V0ZShXb3JrZXJDb250ZXh0Kik7CiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHAKaW5kZXggMDY5MmUzZDJi
OWI4MmQzODk2Yzk1OTI2MjlmMzUyNzQ5YTczYzBlZi4uZmM3OTlmMjkxZWQ2NTUwMWM4MTdkMzRl
MGMxMDA4ODBiMTBjMzY1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
U2NyaXB0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2Ny
aXB0Q29udHJvbGxlci5jcHAKQEAgLTE1OCwxMCArMTU4LDE3IEBAIGJvb2wgU2NyaXB0Q29udHJv
bGxlcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkKICAgICByZXR1cm4gVXNlckdlc3R1cmVJbmRp
Y2F0b3I6OnByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpOwogfQogCit2ODo6TG9jYWw8djg6OlZhbHVl
PiBTY3JpcHRDb250cm9sbGVyOjpjYWxsRnVuY3Rpb24odjg6OkhhbmRsZTx2ODo6RnVuY3Rpb24+
IGZ1bmN0aW9uLCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHJlY2VpdmVyLCBpbnQgYXJnYywgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IGFyZ3NbXSkKK3sKKyAgICAvLyBLZWVwIEZyYW1lIChhbmQgdGhl
cmVmb3JlIFNjcmlwdENvbnRyb2xsZXIgYW5kIFY4UHJveHkpIGFsaXZlLgorICAgIFJlZlB0cjxG
cmFtZT4gcHJvdGVjdChtX2ZyYW1lKTsKKyAgICByZXR1cm4gVjhQcm94eTo6aW5zdHJ1bWVudGVk
Q2FsbEZ1bmN0aW9uKG1fZnJhbWUsIGZ1bmN0aW9uLCByZWNlaXZlciwgYXJnYywgYXJncyk7Cit9
CisKIFNjcmlwdFZhbHVlIFNjcmlwdENvbnRyb2xsZXI6OmNhbGxGdW5jdGlvbkV2ZW5JZlNjcmlw
dERpc2FibGVkKHY4OjpIYW5kbGU8djg6OkZ1bmN0aW9uPiBmdW5jdGlvbiwgdjg6OkhhbmRsZTx2
ODo6T2JqZWN0PiByZWNlaXZlciwgaW50IGFyZ2MsIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBhcmd2
W10pCiB7CiAgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIHByb2JhYmx5IHBlcmZvcm0gdGhlIHNh
bWUgaXNQYXVzZWQgY2hlY2sgdGhhdCBoYXBwZW5zIGluIFNjcmlwdENvbnRyb2xsZXI6OmV4ZWN1
dGVTY3JpcHQuCi0gICAgcmV0dXJuIFNjcmlwdFZhbHVlKG1fcHJveHktPmNhbGxGdW5jdGlvbihm
dW5jdGlvbiwgcmVjZWl2ZXIsIGFyZ2MsIGFyZ3YpKTsKKyAgICByZXR1cm4gU2NyaXB0VmFsdWUo
Y2FsbEZ1bmN0aW9uKGZ1bmN0aW9uLCByZWNlaXZlciwgYXJnYywgYXJndikpOwogfQogCiB2b2lk
IFNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlSW5Jc29sYXRlZFdvcmxkKHVuc2lnbmVkIHdvcmxk
SUQsIGNvbnN0IFZlY3RvcjxTY3JpcHRTb3VyY2VDb2RlPiYgc291cmNlcywgVmVjdG9yPFNjcmlw
dFZhbHVlPiogcmVzdWx0cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1NjcmlwdENvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENv
bnRyb2xsZXIuaAppbmRleCBkMTg5ZGMxYzQ3ZjkxOGUzOTRmNThkNmQ4NTFmMDYxODJhNjI2NDc2
Li42MDE2M2NhZGNiYzE2YmVmZGE3YTEzYzE1NjZkNDNiOWU1NmUyY2FhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDb250cm9sbGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5oCkBAIC02OSw2ICs2OSwxMCBA
QCBwdWJsaWM6CiAKICAgICBTY3JpcHRWYWx1ZSBleGVjdXRlU2NyaXB0KGNvbnN0IFNjcmlwdFNv
dXJjZUNvZGUmKTsKICAgICBTY3JpcHRWYWx1ZSBleGVjdXRlU2NyaXB0KGNvbnN0IFN0cmluZyYg
c2NyaXB0LCBib29sIGZvcmNlVXNlckdlc3R1cmUgPSBmYWxzZSk7CisKKyAgICAvLyBDYWxsIHRo
ZSBmdW5jdGlvbiB3aXRoIHRoZSBnaXZlbiByZWNlaXZlciBhbmQgYXJndW1lbnRzLgorICAgIHY4
OjpMb2NhbDx2ODo6VmFsdWU+IGNhbGxGdW5jdGlvbih2ODo6SGFuZGxlPHY4OjpGdW5jdGlvbj4s
IHY4OjpIYW5kbGU8djg6Ok9iamVjdD4sIGludCBhcmdjLCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
YXJndltdKTsKKwogICAgIFNjcmlwdFZhbHVlIGNhbGxGdW5jdGlvbkV2ZW5JZlNjcmlwdERpc2Fi
bGVkKHY4OjpIYW5kbGU8djg6OkZ1bmN0aW9uPiwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiwgaW50
IGFyZ2MsIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBhcmd2W10pOwogCiAgICAgLy8gUmV0dXJucyB0
cnVlIGlmIGFyZ3VtZW50IGlzIGEgSmF2YVNjcmlwdCBVUkwuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9WOEV2ZW50TGlzdGVuZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvVjhFdmVudExpc3RlbmVyLmNwcAppbmRleCAzZDZmZjc0ZTM1ZWVhMWE3YmJj
MjAwNTRmMzRjNTBmMzQxNTA1N2ZhLi5hNWViODVlODMzOWYwNDdjYmI2NjIwMTI0MzYzMzI4OGVi
M2I3MDVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEV2ZW50TGlz
dGVuZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RXZlbnRMaXN0ZW5l
ci5jcHAKQEAgLTkzLDcgKzkzLDcgQEAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gVjhFdmVudExpc3Rl
bmVyOjpjYWxsTGlzdGVuZXJGdW5jdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXgKICAgICBpZiAo
IWZyYW1lLT5zY3JpcHQoKS0+Y2FuRXhlY3V0ZVNjcmlwdHMoQWJvdXRUb0V4ZWN1dGVTY3JpcHQp
KQogICAgICAgICByZXR1cm4gdjg6OkxvY2FsPHY4OjpWYWx1ZT4oKTsKIAotICAgIHJldHVybiBm
cmFtZS0+c2NyaXB0KCktPnByb3h5KCktPmNhbGxGdW5jdGlvbihoYW5kbGVyRnVuY3Rpb24sIHJl
Y2VpdmVyLCAxLCBwYXJhbWV0ZXJzKTsKKyAgICByZXR1cm4gZnJhbWUtPnNjcmlwdCgpLT5jYWxs
RnVuY3Rpb24oaGFuZGxlckZ1bmN0aW9uLCByZWNlaXZlciwgMSwgcGFyYW1ldGVycyk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1Y4TGF6eUV2ZW50TGlzdGVuZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhMYXp5RXZlbnRMaXN0ZW5lci5jcHAKaW5kZXggOWY1ZTQxYzViMzU3YjhlNjBkZDZmMGRh
MjU4NDNlZTU4MzE5YjI2ZC4uZmRiOWNkNTY4NTBlNDBiOGMzYWMxMTBlN2E4YThhOWM1ZmExNDM4
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhMYXp5RXZlbnRMaXN0
ZW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhMYXp5RXZlbnRMaXN0
ZW5lci5jcHAKQEAgLTEwMCw3ICsxMDAsNyBAQCB2ODo6TG9jYWw8djg6OlZhbHVlPiBWOExhenlF
dmVudExpc3RlbmVyOjpjYWxsTGlzdGVuZXJGdW5jdGlvbihTY3JpcHRFeGVjdXRpb25DbwogICAg
IGlmICghZnJhbWUtPnNjcmlwdCgpLT5jYW5FeGVjdXRlU2NyaXB0cyhBYm91dFRvRXhlY3V0ZVNj
cmlwdCkpCiAgICAgICAgIHJldHVybiB2ODo6TG9jYWw8djg6OlZhbHVlPigpOwogCi0gICAgcmV0
dXJuIGZyYW1lLT5zY3JpcHQoKS0+cHJveHkoKS0+Y2FsbEZ1bmN0aW9uKGhhbmRsZXJGdW5jdGlv
biwgcmVjZWl2ZXIsIDEsIHBhcmFtZXRlcnMpOworICAgIHJldHVybiBmcmFtZS0+c2NyaXB0KCkt
PmNhbGxGdW5jdGlvbihoYW5kbGVyRnVuY3Rpb24sIHJlY2VpdmVyLCAxLCBwYXJhbWV0ZXJzKTsK
IH0KIAogc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOExhenlFdmVudExpc3RlbmVyVG9T
dHJpbmcoY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
VjhQcm94eS5jcHAKaW5kZXggMjVhMzYwNmE5MjhlNzhhZWU2ZGIwZTQ3OTRlMWUzZTJmODU5ZjU4
Mi4uN2JlYjYxOTA1ZmM4N2ViN2RkNTRhYWIwZmNkMTdjM2NkY2YzYzhhYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvVjhQcm94eS5jcHAKQEAgLTI2OSwxMyArMjY5LDYgQEAgdjg6OkxvY2Fs
PHY4OjpWYWx1ZT4gVjhQcm94eTo6cnVuU2NyaXB0KHY4OjpIYW5kbGU8djg6OlNjcmlwdD4gc2Ny
aXB0KQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXY4OjpMb2NhbDx2ODo6VmFsdWU+IFY4UHJv
eHk6OmNhbGxGdW5jdGlvbih2ODo6SGFuZGxlPHY4OjpGdW5jdGlvbj4gZnVuY3Rpb24sIHY4OjpI
YW5kbGU8djg6Ok9iamVjdD4gcmVjZWl2ZXIsIGludCBhcmdjLCB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gYXJnc1tdKQotewotICAgIC8vIEtlZXAgRnJhbWUgKGFuZCB0aGVyZWZvcmUgU2NyaXB0Q29u
dHJvbGxlciBhbmQgVjhQcm94eSkgYWxpdmUuCi0gICAgUmVmUHRyPEZyYW1lPiBwcm90ZWN0KGZy
YW1lKCkpOwotICAgIHJldHVybiBWOFByb3h5OjppbnN0cnVtZW50ZWRDYWxsRnVuY3Rpb24oZnJh
bWUoKSwgZnVuY3Rpb24sIHJlY2VpdmVyLCBhcmdjLCBhcmdzKTsKLX0KLQogc3RhdGljIGlubGlu
ZSB2b2lkIHJlc291cmNlSW5mbyhjb25zdCB2ODo6SGFuZGxlPHY4OjpGdW5jdGlvbj4gZnVuY3Rp
b24sIFN0cmluZyYgcmVzb3VyY2VOYW1lLCBpbnQmIGxpbmVOdW1iZXIpCiB7CiAgICAgdjg6OlNj
cmlwdE9yaWdpbiBvcmlnaW4gPSBmdW5jdGlvbi0+R2V0U2NyaXB0T3JpZ2luKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmggYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9WOFByb3h5LmgKaW5kZXggYjgyMDg5MjJhY2YzZDUwOGVmM2Y1Nzg5Y2Qz
OTcwNTkyNzFhNGU2NC4uYmFkOGUyODlhNzdhNDIwMWRkYjdlMTBmMzAxYWZiMzM0MTUzNjEyYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQcm94eS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuaApAQCAtMTAzLDkgKzEwMyw2IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gUnVuIGFuIGFscmVhZHkgY29tcGlsZWQgc2Ny
aXB0LgogICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiBydW5TY3JpcHQodjg6OkhhbmRsZTx2
ODo6U2NyaXB0Pik7CiAKLSAgICAgICAgLy8gQ2FsbCB0aGUgZnVuY3Rpb24gd2l0aCB0aGUgZ2l2
ZW4gcmVjZWl2ZXIgYW5kIGFyZ3VtZW50cy4KLSAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4g
Y2FsbEZ1bmN0aW9uKHY4OjpIYW5kbGU8djg6OkZ1bmN0aW9uPiwgdjg6OkhhbmRsZTx2ODo6T2Jq
ZWN0PiwgaW50IGFyZ2MsIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBhcmd2W10pOwotCiAgICAgICAg
IC8vIGNhbGwgdGhlIGZ1bmN0aW9uIHdpdGggdGhlIGdpdmVuIHJlY2VpdmVyIGFuZCBhcmd1bWVu
dHMgYW5kIHJlcG9ydCB0aW1lcyB0byBEZXZUb29scy4KICAgICAgICAgc3RhdGljIHY4OjpMb2Nh
bDx2ODo6VmFsdWU+IGluc3RydW1lbnRlZENhbGxGdW5jdGlvbihGcmFtZSosIHY4OjpIYW5kbGU8
djg6OkZ1bmN0aW9uPiwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiByZWNlaXZlciwgaW50IGFyZ2Ms
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBhcmdzW10pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MRG9jdW1lbnRDdXN0b20uY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTERvY3VtZW50Q3VzdG9tLmNwcAppbmRl
eCBmZTJlNWMyYjNiNzBlN2ViYjU0ZjRlMWYyMDQ2YzZlZjhmMGNmNDU0Li5mYjgwMWE3NjE0NDIz
YzUxNTYyMmViYjY0MTQ0NDNiMGNkMDIwMDNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhIVE1MRG9jdW1lbnRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxEb2N1bWVudEN1c3RvbS5jcHAKQEAgLTE1
Nyw3ICsxNTcsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhIVE1MRG9jdW1lbnQ6Om9wZW5D
YWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgICAgICAgICAgZm9yIChpbnQg
aSA9IDA7IGkgPCBhcmdzLkxlbmd0aCgpOyBpKyspCiAgICAgICAgICAgICAgICAgcGFyYW1zW2ld
ID0gYXJnc1tpXTsKIAotICAgICAgICAgICAgcmV0dXJuIGZyYW1lLT5zY3JpcHQoKS0+cHJveHko
KS0+Y2FsbEZ1bmN0aW9uKHY4OjpMb2NhbDx2ODo6RnVuY3Rpb24+OjpDYXN0KGZ1bmN0aW9uKSwg
Z2xvYmFsLCBhcmdzLkxlbmd0aCgpLCBwYXJhbXMuZ2V0KCkpOworICAgICAgICAgICAgcmV0dXJu
IGZyYW1lLT5zY3JpcHQoKS0+Y2FsbEZ1bmN0aW9uKHY4OjpMb2NhbDx2ODo6RnVuY3Rpb24+OjpD
YXN0KGZ1bmN0aW9uKSwgZ2xvYmFsLCBhcmdzLkxlbmd0aCgpLCBwYXJhbXMuZ2V0KCkpOwogICAg
ICAgICB9CiAgICAgfQogCg==
</data>
<flag name="commit-queue"
          id="169598"
          type_id="3"
          status="-"
          setter="peter+ews"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159326</attachid>
            <date>2012-08-19 21:28:33 -0700</date>
            <delta_ts>2012-08-19 21:28:33 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>bug-94437-20120820132754.patch</filename>
            <type>text/plain</type>
            <size>13637</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1OTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTI4MTJjYzU3ZDQ4OWE1
MDI1YmIwNDU2OWUxNjMyNzU5YjI1ZTk1OC4uZDY4MDY4NmUwODM0NmM4YjE2ZjYyODNmNTNlNWU2
NjgyNTU3YTU0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEyLTA4LTE5ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdIE1vdmUgVjhQ
cm94eTo6Y2FsbEZ1bmN0aW9uKCkgdG8gU2NyaXB0Q29udHJvbGxlcgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ0MzcKKworICAgICAgICBSZXZpZXdl
ZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIFRvIGtpbGwgVjhQcm94eSwgdGhpcyBwYXRjaCBt
b3ZlcyBjYWxsRnVuY3Rpb24oKSBmcm9tIFY4UHJveHkgdG8gU2NyaXB0Q29udHJvbGxlci4KKwor
ICAgICAgICBObyB0ZXN0cy4gTm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogYmlu
ZGluZ3MvdjgvRE9NVHJhbnNhY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NVHJhbnNh
Y3Rpb246OmNhbGxGdW5jdGlvbik6CisgICAgICAgICogYmluZGluZ3MvdjgvTlBWOE9iamVjdC5j
cHA6CisgICAgICAgIChfTlBOX0ludm9rZSk6CisgICAgICAgIChfTlBOX0ludm9rZURlZmF1bHQp
OgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1NjaGVkdWxlZEFjdGlvbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTY2hlZHVsZWRBY3Rpb246OmV4ZWN1dGUpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4
L1NjaGVkdWxlZEFjdGlvbi5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChTY2hlZHVs
ZWRBY3Rpb24pOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6Y2FsbEZ1bmN0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6Y2FsbEZ1
bmN0aW9uRXZlbklmU2NyaXB0RGlzYWJsZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Njcmlw
dENvbnRyb2xsZXIuaDoKKyAgICAgICAgKFNjcmlwdENvbnRyb2xsZXIpOgorICAgICAgICAqIGJp
bmRpbmdzL3Y4L1Y4RXZlbnRMaXN0ZW5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOEV2ZW50
TGlzdGVuZXI6OmNhbGxMaXN0ZW5lckZ1bmN0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9W
OExhenlFdmVudExpc3RlbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4TGF6eUV2ZW50TGlz
dGVuZXI6OmNhbGxMaXN0ZW5lckZ1bmN0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOFBy
b3h5LmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOFByb3h5Lmg6CisgICAgICAgIChWOFBy
b3h5KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MRG9jdW1lbnRDdXN0b20u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhIVE1MRG9jdW1lbnQ6Om9wZW5DYWxsYmFjayk6CisK
IDIwMTItMDgtMTkgIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9yZz4KIAogICAgICAgICBD
U1AgMS4xOiBBZGQgJ3BsdWdpbi10eXBlcycgYW5kICdmb3JtLWFjdGlvbicgRE9NIEFQSS4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTVRyYW5zYWN0aW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTVRyYW5zYWN0aW9uLmNwcAppbmRleCBmYTRk
N2Y2ZWVmNzRmMGQxNzY4YmM1MjdlY2M2ZWJhNzEyZGIzNzU0Li43Yjg4ZGY5ZGQ5ZmNkZGJjZjdh
M2U0ODhjZDUyMGNmZTg0MTBhNzIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9ET01UcmFuc2FjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
RE9NVHJhbnNhY3Rpb24uY3BwCkBAIC0xMTMsNyArMTEzLDcgQEAgdm9pZCBET01UcmFuc2FjdGlv
bjo6Y2FsbEZ1bmN0aW9uKGNvbnN0IGNoYXIqIHByb3BlcnR5TmFtZSkKICAgICBpZiAocmVjZWl2
ZXIuSXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IHBhcmFtZXRlcnNbMF0gPSB7IH07Ci0gICAgZnJhbWUtPnNjcmlwdCgpLT5wcm94eSgpLT5jYWxs
RnVuY3Rpb24oZnVuY3Rpb24sIHJlY2VpdmVyLCAwLCBwYXJhbWV0ZXJzKTsKKyAgICBmcmFtZS0+
c2NyaXB0KCktPmNhbGxGdW5jdGlvbihmdW5jdGlvbiwgcmVjZWl2ZXIsIDAsIHBhcmFtZXRlcnMp
OwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9OUFY4T2Jq
ZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L05QVjhPYmplY3QuY3BwCmluZGV4
IGMwMDA4MmQ2Y2Y0YTE0MzA3ZWI4MmY0MGE0NDMzMzQ3MzcyYzZiYWMuLjdmOTgzYjI3YTg3ZTBk
NGFhNTQwYzVjNGVhM2FiMGIwZTBiMmYxMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L05QVjhPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L05QVjhPYmplY3QuY3BwCkBAIC0yNDQsMTMgKzI0NCwxMyBAQCBib29sIF9OUE5fSW52b2tlKE5Q
UCBucHAsIE5QT2JqZWN0KiBucE9iamVjdCwgTlBJZGVudGlmaWVyIG1ldGhvZE5hbWUsIGNvbnN0
IE5QVgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAgVjhQcm94eSogcHJveHkg
PSB0b1Y4UHJveHkobnBPYmplY3QpOwotICAgIEFTU0VSVChwcm94eSk7CisgICAgRnJhbWUqIGZy
YW1lID0gdjhOcE9iamVjdC0+cm9vdE9iamVjdC0+ZnJhbWUoKTsKKyAgICBBU1NFUlQoZnJhbWUp
OwogCiAgICAgLy8gQ2FsbCB0aGUgZnVuY3Rpb24gb2JqZWN0LgogICAgIHY4OjpIYW5kbGU8djg6
OkZ1bmN0aW9uPiBmdW5jdGlvbiA9IHY4OjpIYW5kbGU8djg6OkZ1bmN0aW9uPjo6Q2FzdChmdW5j
dGlvbk9iamVjdCk7CiAgICAgT3duQXJyYXlQdHI8djg6OkhhbmRsZTx2ODo6VmFsdWU+ID4gYXJn
diA9IGNyZWF0ZVZhbHVlTGlzdEZyb21WYXJpYW50QXJncyhhcmd1bWVudHMsIGFyZ3VtZW50Q291
bnQsIG5wT2JqZWN0KTsKLSAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiByZXN1bHRPYmplY3QgPSBw
cm94eS0+Y2FsbEZ1bmN0aW9uKGZ1bmN0aW9uLCB2OE5wT2JqZWN0LT52OE9iamVjdCwgYXJndW1l
bnRDb3VudCwgYXJndi5nZXQoKSk7CisgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gcmVzdWx0T2Jq
ZWN0ID0gZnJhbWUtPnNjcmlwdCgpLT5jYWxsRnVuY3Rpb24oZnVuY3Rpb24sIHY4TnBPYmplY3Qt
PnY4T2JqZWN0LCBhcmd1bWVudENvdW50LCBhcmd2LmdldCgpKTsKIAogICAgIC8vIElmIHdlIGhh
ZCBhbiBlcnJvciwgcmV0dXJuIGZhbHNlLiAgVGhlIHNwZWMgaXMgYSBsaXR0bGUgdW5jbGVhciBo
ZXJlLCBidXQgc2F5cyAiUmV0dXJucyB0cnVlIGlmIHRoZSBtZXRob2Qgd2FzCiAgICAgLy8gc3Vj
Y2Vzc2Z1bGx5IGludm9rZWQiLiAgSWYgd2UgZ2V0IGFuIGVycm9yIHJldHVybiB2YWx1ZSwgd2Fz
IHRoYXQgc3VjY2Vzc2Z1bGx5IGludm9rZWQ/CkBAIC0yOTUsMTEgKzI5NSwxMSBAQCBib29sIF9O
UE5fSW52b2tlRGVmYXVsdChOUFAgbnBwLCBOUE9iamVjdCogbnBPYmplY3QsIGNvbnN0IE5QVmFy
aWFudCogYXJndW1lbnRzLAogICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHJlc3VsdE9iamVjdDsK
ICAgICB2ODo6SGFuZGxlPHY4OjpGdW5jdGlvbj4gZnVuY3Rpb24odjg6OkZ1bmN0aW9uOjpDYXN0
KCpmdW5jdGlvbk9iamVjdCkpOwogICAgIGlmICghZnVuY3Rpb24tPklzTnVsbCgpKSB7Ci0gICAg
ICAgIFY4UHJveHkqIHByb3h5ID0gdG9WOFByb3h5KG5wT2JqZWN0KTsKLSAgICAgICAgQVNTRVJU
KHByb3h5KTsKKyAgICAgICAgRnJhbWUqIGZyYW1lID0gdjhOcE9iamVjdC0+cm9vdE9iamVjdC0+
ZnJhbWUoKTsKKyAgICAgICAgQVNTRVJUKGZyYW1lKTsKIAogICAgICAgICBPd25BcnJheVB0cjx2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gPiBhcmd2ID0gY3JlYXRlVmFsdWVMaXN0RnJvbVZhcmlhbnRB
cmdzKGFyZ3VtZW50cywgYXJndW1lbnRDb3VudCwgbnBPYmplY3QpOwotICAgICAgICByZXN1bHRP
YmplY3QgPSBwcm94eS0+Y2FsbEZ1bmN0aW9uKGZ1bmN0aW9uLCBmdW5jdGlvbk9iamVjdCwgYXJn
dW1lbnRDb3VudCwgYXJndi5nZXQoKSk7CisgICAgICAgIHJlc3VsdE9iamVjdCA9IGZyYW1lLT5z
Y3JpcHQoKS0+Y2FsbEZ1bmN0aW9uKGZ1bmN0aW9uLCBmdW5jdGlvbk9iamVjdCwgYXJndW1lbnRD
b3VudCwgYXJndi5nZXQoKSk7CiAgICAgfQogICAgIC8vIElmIHdlIGhhZCBhbiBlcnJvciwgcmV0
dXJuIGZhbHNlLiAgVGhlIHNwZWMgaXMgYSBsaXR0bGUgdW5jbGVhciBoZXJlLCBidXQgc2F5cyAi
UmV0dXJucyB0cnVlIGlmIHRoZSBtZXRob2Qgd2FzCiAgICAgLy8gc3VjY2Vzc2Z1bGx5IGludm9r
ZWQiLiAgSWYgd2UgZ2V0IGFuIGVycm9yIHJldHVybiB2YWx1ZSwgd2FzIHRoYXQgc3VjY2Vzc2Z1
bGx5IGludm9rZWQ/CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY2hl
ZHVsZWRBY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NoZWR1bGVkQWN0
aW9uLmNwcAppbmRleCBlNzFmMDI2MjljNWY5ODE2MzFiMTY2MmNjMTg5MDNiNjQ1Zjk3NzNhLi5k
NTZmNjc3YTA3YzVjYjIyNGI4YjUzZDYyZWIyMThjNmZiMGQyZTdmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY2hlZHVsZWRBY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjaGVkdWxlZEFjdGlvbi5jcHAKQEAgLTQwLDYgKzQwLDcgQEAK
ICNpbmNsdWRlICJUcmFjZUV2ZW50LmgiCiAjZW5kaWYKIAorI2luY2x1ZGUgIlNjcmlwdENvbnRy
b2xsZXIuaCIKICNpbmNsdWRlICJWOEJpbmRpbmcuaCIKICNpbmNsdWRlICJWOFByb3h5LmgiCiAj
aW5jbHVkZSAiVjhSZWN1cnNpb25TY29wZS5oIgpAQCAtMTAyLDcgKzEwMyw3IEBAIHZvaWQgU2No
ZWR1bGVkQWN0aW9uOjpleGVjdXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGlmICghZnJhbWUtPnNjcmlwdCgpLT5jYW5FeGVj
dXRlU2NyaXB0cyhBYm91dFRvRXhlY3V0ZVNjcmlwdCkpCiAgICAgICAgICAgICByZXR1cm47Ci0g
ICAgICAgIGV4ZWN1dGUoZnJhbWUtPnNjcmlwdCgpLT5wcm94eSgpKTsKKyAgICAgICAgZXhlY3V0
ZShmcmFtZS0+c2NyaXB0KCkpOwogICAgIH0KICNpZiBFTkFCTEUoV09SS0VSUykKICAgICBlbHNl
IHsKQEAgLTExMiw5ICsxMTMsOSBAQCB2b2lkIFNjaGVkdWxlZEFjdGlvbjo6ZXhlY3V0ZShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogI2VuZGlmCiB9CiAKLXZvaWQgU2NoZWR1bGVk
QWN0aW9uOjpleGVjdXRlKFY4UHJveHkqIHByb3h5KQordm9pZCBTY2hlZHVsZWRBY3Rpb246OmV4
ZWN1dGUoU2NyaXB0Q29udHJvbGxlciogc2NyaXB0KQogewotICAgIEFTU0VSVChwcm94eSk7Cisg
ICAgQVNTRVJUKHNjcmlwdC0+cHJveHkoKSk7CiAKICAgICB2ODo6SGFuZGxlU2NvcGUgaGFuZGxl
U2NvcGU7CiAgICAgdjg6OkhhbmRsZTx2ODo6Q29udGV4dD4gdjhDb250ZXh0ID0gdjg6OkxvY2Fs
PHY4OjpDb250ZXh0Pjo6TmV3KG1fY29udGV4dC5nZXQoKSk7CkBAIC0xMjksOSArMTMwLDkgQEAg
dm9pZCBTY2hlZHVsZWRBY3Rpb246OmV4ZWN1dGUoVjhQcm94eSogcHJveHkpCiAKICAgICAvLyBG
SVhNRTogTmVlZCB0byBpbXBsZW1lbnQgdGltZW91dHMgZm9yIHByZWVtcHRpbmcgYSBsb25nLXJ1
bm5pbmcgc2NyaXB0LgogICAgIGlmICghbV9mdW5jdGlvbi5Jc0VtcHR5KCkgJiYgbV9mdW5jdGlv
bi0+SXNGdW5jdGlvbigpKQotICAgICAgICBwcm94eS0+Y2FsbEZ1bmN0aW9uKHY4OjpQZXJzaXN0
ZW50PHY4OjpGdW5jdGlvbj46OkNhc3QobV9mdW5jdGlvbiksIHY4Q29udGV4dC0+R2xvYmFsKCks
IG1fYXJnYywgbV9hcmd2KTsKKyAgICAgICAgc2NyaXB0LT5jYWxsRnVuY3Rpb24odjg6OlBlcnNp
c3RlbnQ8djg6OkZ1bmN0aW9uPjo6Q2FzdChtX2Z1bmN0aW9uKSwgdjhDb250ZXh0LT5HbG9iYWwo
KSwgbV9hcmdjLCBtX2FyZ3YpOwogICAgIGVsc2UKLSAgICAgICAgcHJveHktPmV2YWx1YXRlKG1f
Y29kZSwgMCk7CisgICAgICAgIHNjcmlwdC0+cHJveHkoKS0+ZXZhbHVhdGUobV9jb2RlLCAwKTsK
IAogICAgIC8vIFRoZSAncHJveHknIG1heSBiZSBpbnZhbGlkIGF0IHRoaXMgcG9pbnQgc2luY2Ug
SlMgY291bGQgaGF2ZSByZWxlYXNlZCB0aGUgb3duaW5nIEZyYW1lLgogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NoZWR1bGVkQWN0aW9uLmggYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY2hlZHVsZWRBY3Rpb24uaAppbmRleCBhZWZlN2VmYTJmZWIyYTg2
NjczZmU2YTdhNWY1MTQwODM3NzU3M2MxLi5lM2YzYmI0NDA2M2ZhZGIyNjgxNjIzNWYxMTljZjAy
ZDQ2NjU4NTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY2hlZHVs
ZWRBY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY2hlZHVsZWRBY3Rp
b24uaApAQCAtNDAsOCArNDAsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyAgICBjbGFz
cyBTY3JpcHRDb250cm9sbGVyOwogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7Ci0g
ICAgY2xhc3MgVjhQcm94eTsKICAgICBjbGFzcyBXb3JrZXJDb250ZXh0OwogCiAgICAgY2xhc3Mg
U2NoZWR1bGVkQWN0aW9uIHsKQEAgLTU5LDcgKzU5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICB2aXJ0dWFsIHZvaWQgZXhlY3V0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CiAK
ICAgICBwcml2YXRlOgotICAgICAgICB2b2lkIGV4ZWN1dGUoVjhQcm94eSopOworICAgICAgICB2
b2lkIGV4ZWN1dGUoU2NyaXB0Q29udHJvbGxlciopOwogI2lmIEVOQUJMRShXT1JLRVJTKQogICAg
ICAgICB2b2lkIGV4ZWN1dGUoV29ya2VyQ29udGV4dCopOwogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IDA2OTJlM2QyYjli
ODJkMzg5NmM5NTkyNjI5ZjM1Mjc0OWE3M2MwZWYuLmZjNzk5ZjI5MWVkNjU1MDFjODE3ZDM0ZTBj
MTAwODgwYjEwYzM2NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nj
cmlwdENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Njcmlw
dENvbnRyb2xsZXIuY3BwCkBAIC0xNTgsMTAgKzE1OCwxNyBAQCBib29sIFNjcmlwdENvbnRyb2xs
ZXI6OnByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpCiAgICAgcmV0dXJuIFVzZXJHZXN0dXJlSW5kaWNh
dG9yOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKTsKIH0KIAordjg6OkxvY2FsPHY4OjpWYWx1ZT4g
U2NyaXB0Q29udHJvbGxlcjo6Y2FsbEZ1bmN0aW9uKHY4OjpIYW5kbGU8djg6OkZ1bmN0aW9uPiBm
dW5jdGlvbiwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiByZWNlaXZlciwgaW50IGFyZ2MsIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBhcmdzW10pCit7CisgICAgLy8gS2VlcCBGcmFtZSAoYW5kIHRoZXJl
Zm9yZSBTY3JpcHRDb250cm9sbGVyIGFuZCBWOFByb3h5KSBhbGl2ZS4KKyAgICBSZWZQdHI8RnJh
bWU+IHByb3RlY3QobV9mcmFtZSk7CisgICAgcmV0dXJuIFY4UHJveHk6Omluc3RydW1lbnRlZENh
bGxGdW5jdGlvbihtX2ZyYW1lLCBmdW5jdGlvbiwgcmVjZWl2ZXIsIGFyZ2MsIGFyZ3MpOworfQor
CiBTY3JpcHRWYWx1ZSBTY3JpcHRDb250cm9sbGVyOjpjYWxsRnVuY3Rpb25FdmVuSWZTY3JpcHRE
aXNhYmxlZCh2ODo6SGFuZGxlPHY4OjpGdW5jdGlvbj4gZnVuY3Rpb24sIHY4OjpIYW5kbGU8djg6
Ok9iamVjdD4gcmVjZWl2ZXIsIGludCBhcmdjLCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gYXJndltd
KQogewogICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBwcm9iYWJseSBwZXJmb3JtIHRoZSBzYW1l
IGlzUGF1c2VkIGNoZWNrIHRoYXQgaGFwcGVucyBpbiBTY3JpcHRDb250cm9sbGVyOjpleGVjdXRl
U2NyaXB0LgotICAgIHJldHVybiBTY3JpcHRWYWx1ZShtX3Byb3h5LT5jYWxsRnVuY3Rpb24oZnVu
Y3Rpb24sIHJlY2VpdmVyLCBhcmdjLCBhcmd2KSk7CisgICAgcmV0dXJuIFNjcmlwdFZhbHVlKGNh
bGxGdW5jdGlvbihmdW5jdGlvbiwgcmVjZWl2ZXIsIGFyZ2MsIGFyZ3YpKTsKIH0KIAogdm9pZCBT
Y3JpcHRDb250cm9sbGVyOjpldmFsdWF0ZUluSXNvbGF0ZWRXb3JsZCh1bnNpZ25lZCB3b3JsZElE
LCBjb25zdCBWZWN0b3I8U2NyaXB0U291cmNlQ29kZT4mIHNvdXJjZXMsIFZlY3RvcjxTY3JpcHRW
YWx1ZT4qIHJlc3VsdHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9T
Y3JpcHRDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDb250
cm9sbGVyLmgKaW5kZXggZDE4OWRjMWM0N2Y5MThlMzk0ZjU4ZDZkODUxZjA2MTgyYTYyNjQ3Ni4u
NjAxNjNjYWRjYmMxNmJlZmRhN2ExM2MxNTY2ZDQzYjllNTZlMmNhYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuaApAQCAtNjksNiArNjksMTAgQEAg
cHVibGljOgogCiAgICAgU2NyaXB0VmFsdWUgZXhlY3V0ZVNjcmlwdChjb25zdCBTY3JpcHRTb3Vy
Y2VDb2RlJik7CiAgICAgU2NyaXB0VmFsdWUgZXhlY3V0ZVNjcmlwdChjb25zdCBTdHJpbmcmIHNj
cmlwdCwgYm9vbCBmb3JjZVVzZXJHZXN0dXJlID0gZmFsc2UpOworCisgICAgLy8gQ2FsbCB0aGUg
ZnVuY3Rpb24gd2l0aCB0aGUgZ2l2ZW4gcmVjZWl2ZXIgYW5kIGFyZ3VtZW50cy4KKyAgICB2ODo6
TG9jYWw8djg6OlZhbHVlPiBjYWxsRnVuY3Rpb24odjg6OkhhbmRsZTx2ODo6RnVuY3Rpb24+LCB2
ODo6SGFuZGxlPHY4OjpPYmplY3Q+LCBpbnQgYXJnYywgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGFy
Z3ZbXSk7CisKICAgICBTY3JpcHRWYWx1ZSBjYWxsRnVuY3Rpb25FdmVuSWZTY3JpcHREaXNhYmxl
ZCh2ODo6SGFuZGxlPHY4OjpGdW5jdGlvbj4sIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4sIGludCBh
cmdjLCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gYXJndltdKTsKIAogICAgIC8vIFJldHVybnMgdHJ1
ZSBpZiBhcmd1bWVudCBpcyBhIEphdmFTY3JpcHQgVVJMLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvVjhFdmVudExpc3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1Y4RXZlbnRMaXN0ZW5lci5jcHAKaW5kZXggM2Q2ZmY3NGUzNWVlYTFhN2JiYzIw
MDU0ZjM0YzUwZjM0MTUwNTdmYS4uYTVlYjg1ZTgzMzlmMDQ3Y2JiNjYyMDEyNDM2MzMyODhlYjNi
NzA1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhFdmVudExpc3Rl
bmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEV2ZW50TGlzdGVuZXIu
Y3BwCkBAIC05Myw3ICs5Myw3IEBAIHY4OjpMb2NhbDx2ODo6VmFsdWU+IFY4RXZlbnRMaXN0ZW5l
cjo6Y2FsbExpc3RlbmVyRnVuY3Rpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4CiAgICAgaWYgKCFm
cmFtZS0+c2NyaXB0KCktPmNhbkV4ZWN1dGVTY3JpcHRzKEFib3V0VG9FeGVjdXRlU2NyaXB0KSkK
ICAgICAgICAgcmV0dXJuIHY4OjpMb2NhbDx2ODo6VmFsdWU+KCk7CiAKLSAgICByZXR1cm4gZnJh
bWUtPnNjcmlwdCgpLT5wcm94eSgpLT5jYWxsRnVuY3Rpb24oaGFuZGxlckZ1bmN0aW9uLCByZWNl
aXZlciwgMSwgcGFyYW1ldGVycyk7CisgICAgcmV0dXJuIGZyYW1lLT5zY3JpcHQoKS0+Y2FsbEZ1
bmN0aW9uKGhhbmRsZXJGdW5jdGlvbiwgcmVjZWl2ZXIsIDEsIHBhcmFtZXRlcnMpOwogfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOExhenlFdmVudExpc3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4TGF6eUV2ZW50TGlzdGVuZXIuY3BwCmluZGV4IDlmNWU0MWM1YjM1N2I4ZTYwZGQ2ZjBkYTI1
ODQzZWU1ODMxOWIyNmQuLmZkYjljZDU2ODUwZTQwYjhjM2FjMTEwZTdhOGE4YTljNWZhMTQzODAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4TGF6eUV2ZW50TGlzdGVu
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4TGF6eUV2ZW50TGlzdGVu
ZXIuY3BwCkBAIC0xMDAsNyArMTAwLDcgQEAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gVjhMYXp5RXZl
bnRMaXN0ZW5lcjo6Y2FsbExpc3RlbmVyRnVuY3Rpb24oU2NyaXB0RXhlY3V0aW9uQ28KICAgICBp
ZiAoIWZyYW1lLT5zY3JpcHQoKS0+Y2FuRXhlY3V0ZVNjcmlwdHMoQWJvdXRUb0V4ZWN1dGVTY3Jp
cHQpKQogICAgICAgICByZXR1cm4gdjg6OkxvY2FsPHY4OjpWYWx1ZT4oKTsKIAotICAgIHJldHVy
biBmcmFtZS0+c2NyaXB0KCktPnByb3h5KCktPmNhbGxGdW5jdGlvbihoYW5kbGVyRnVuY3Rpb24s
IHJlY2VpdmVyLCAxLCBwYXJhbWV0ZXJzKTsKKyAgICByZXR1cm4gZnJhbWUtPnNjcmlwdCgpLT5j
YWxsRnVuY3Rpb24oaGFuZGxlckZ1bmN0aW9uLCByZWNlaXZlciwgMSwgcGFyYW1ldGVycyk7CiB9
CiAKIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhMYXp5RXZlbnRMaXN0ZW5lclRvU3Ry
aW5nKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9WOFByb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
UHJveHkuY3BwCmluZGV4IDI1YTM2MDZhOTI4ZTc4YWVlNmRiMGU0Nzk0ZTFlM2UyZjg1OWY1ODIu
LjdiZWI2MTkwNWZjODdlYjdkZDU0YWFiMGZjZDE3YzNjZGNmM2M4YWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCkBAIC0yNjksMTMgKzI2OSw2IEBAIHY4OjpMb2NhbDx2
ODo6VmFsdWU+IFY4UHJveHk6OnJ1blNjcmlwdCh2ODo6SGFuZGxlPHY4OjpTY3JpcHQ+IHNjcmlw
dCkKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi12ODo6TG9jYWw8djg6OlZhbHVlPiBWOFByb3h5
OjpjYWxsRnVuY3Rpb24odjg6OkhhbmRsZTx2ODo6RnVuY3Rpb24+IGZ1bmN0aW9uLCB2ODo6SGFu
ZGxlPHY4OjpPYmplY3Q+IHJlY2VpdmVyLCBpbnQgYXJnYywgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IGFyZ3NbXSkKLXsKLSAgICAvLyBLZWVwIEZyYW1lIChhbmQgdGhlcmVmb3JlIFNjcmlwdENvbnRy
b2xsZXIgYW5kIFY4UHJveHkpIGFsaXZlLgotICAgIFJlZlB0cjxGcmFtZT4gcHJvdGVjdChmcmFt
ZSgpKTsKLSAgICByZXR1cm4gVjhQcm94eTo6aW5zdHJ1bWVudGVkQ2FsbEZ1bmN0aW9uKGZyYW1l
KCksIGZ1bmN0aW9uLCByZWNlaXZlciwgYXJnYywgYXJncyk7Ci19Ci0KIHN0YXRpYyBpbmxpbmUg
dm9pZCByZXNvdXJjZUluZm8oY29uc3Qgdjg6OkhhbmRsZTx2ODo6RnVuY3Rpb24+IGZ1bmN0aW9u
LCBTdHJpbmcmIHJlc291cmNlTmFtZSwgaW50JiBsaW5lTnVtYmVyKQogewogICAgIHY4OjpTY3Jp
cHRPcmlnaW4gb3JpZ2luID0gZnVuY3Rpb24tPkdldFNjcmlwdE9yaWdpbigpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQcm94eS5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvVjhQcm94eS5oCmluZGV4IGI4MjA4OTIyYWNmM2Q1MDhlZjNmNTc4OWNkMzk3
MDU5MjcxYTRlNjQuLmJhZDhlMjg5YTc3YTQyMDFkZGI3ZTEwZjMwMWFmYjMzNDE1MzYxMmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmgKQEAgLTEwMyw5ICsxMDMsNiBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIC8vIFJ1biBhbiBhbHJlYWR5IGNvbXBpbGVkIHNjcmlw
dC4KICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gcnVuU2NyaXB0KHY4OjpIYW5kbGU8djg6
OlNjcmlwdD4pOwogCi0gICAgICAgIC8vIENhbGwgdGhlIGZ1bmN0aW9uIHdpdGggdGhlIGdpdmVu
IHJlY2VpdmVyIGFuZCBhcmd1bWVudHMuCi0gICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IGNh
bGxGdW5jdGlvbih2ODo6SGFuZGxlPHY4OjpGdW5jdGlvbj4sIHY4OjpIYW5kbGU8djg6Ok9iamVj
dD4sIGludCBhcmdjLCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gYXJndltdKTsKLQogICAgICAgICAv
LyBjYWxsIHRoZSBmdW5jdGlvbiB3aXRoIHRoZSBnaXZlbiByZWNlaXZlciBhbmQgYXJndW1lbnRz
IGFuZCByZXBvcnQgdGltZXMgdG8gRGV2VG9vbHMuCiAgICAgICAgIHN0YXRpYyB2ODo6TG9jYWw8
djg6OlZhbHVlPiBpbnN0cnVtZW50ZWRDYWxsRnVuY3Rpb24oRnJhbWUqLCB2ODo6SGFuZGxlPHY4
OjpGdW5jdGlvbj4sIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gcmVjZWl2ZXIsIGludCBhcmdjLCB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gYXJnc1tdKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTERvY3VtZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxEb2N1bWVudEN1c3RvbS5jcHAKaW5kZXgg
ZmUyZTVjMmIzYjcwZTdlYmI1NGY0ZTFmMjA0NmM2ZWY4ZjBjZjQ1NC4uZmI4MDFhNzYxNDQyM2M1
MTU2MjJlYmI2NDE0NDQzYjBjZDAyMDAzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTERvY3VtZW50Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MRG9jdW1lbnRDdXN0b20uY3BwCkBAIC0xNTcs
NyArMTU3LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4SFRNTERvY3VtZW50OjpvcGVuQ2Fs
bGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKICAgICAgICAgICAgIGZvciAoaW50IGkg
PSAwOyBpIDwgYXJncy5MZW5ndGgoKTsgaSsrKQogICAgICAgICAgICAgICAgIHBhcmFtc1tpXSA9
IGFyZ3NbaV07CiAKLSAgICAgICAgICAgIHJldHVybiBmcmFtZS0+c2NyaXB0KCktPnByb3h5KCkt
PmNhbGxGdW5jdGlvbih2ODo6TG9jYWw8djg6OkZ1bmN0aW9uPjo6Q2FzdChmdW5jdGlvbiksIGds
b2JhbCwgYXJncy5MZW5ndGgoKSwgcGFyYW1zLmdldCgpKTsKKyAgICAgICAgICAgIHJldHVybiBm
cmFtZS0+c2NyaXB0KCktPmNhbGxGdW5jdGlvbih2ODo6TG9jYWw8djg6OkZ1bmN0aW9uPjo6Q2Fz
dChmdW5jdGlvbiksIGdsb2JhbCwgYXJncy5MZW5ndGgoKSwgcGFyYW1zLmdldCgpKTsKICAgICAg
ICAgfQogICAgIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>