<?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>101146</bug_id>
          
          <creation_ts>2012-11-03 02:51:20 -0700</creation_ts>
          <short_desc>Baseline JIT should use structure watchpoints whenever possible</short_desc>
          <delta_ts>2012-11-04 19:41:33 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>101147</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>757925</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-11-03 02:51:20 -0700</bug_when>
    <thetext>Patch forthcoming</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757927</commentid>
    <comment_count>1</comment_count>
      <attachid>172214</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-11-03 02:56:17 -0700</bug_when>
    <thetext>Created attachment 172214
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757928</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-03 02:59:06 -0700</bug_when>
    <thetext>Attachment 172214 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source...&quot; exit_code: 1
Source/JavaScriptCore/jit/JIT.h:470:  The parameter name &quot;object&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/jit/JIT.h:471:  The parameter name &quot;object&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 2 in 4 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>757931</commentid>
    <comment_count>3</comment_count>
      <attachid>172214</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-11-03 03:21:51 -0700</bug_when>
    <thetext>Comment on attachment 172214
the patch

Attachment 172214 did not pass win-ews (win):
Output: http://queues.webkit.org/results/14717214</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758076</commentid>
    <comment_count>4</comment_count>
      <attachid>172241</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-11-04 01:03:56 -0800</bug_when>
    <thetext>Created attachment 172241
patch for landing

Checking if Windows builds now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758189</commentid>
    <comment_count>5</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-11-04 19:41:33 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/133430</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172214</attachid>
            <date>2012-11-03 02:56:17 -0700</date>
            <delta_ts>2012-11-04 01:03:56 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>watch.patch</filename>
            <type>text/plain</type>
            <size>14163</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTMzMzkyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBA
CisyMDEyLTExLTAzICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
QmFzZWxpbmUgSklUIHNob3VsZCB1c2Ugc3RydWN0dXJlIHdhdGNocG9pbnRzIHdoZW5ldmVyIHBv
c3NpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDExNDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBO
byBzcGVlZC11cCB5ZXQgZXhjZXB0IG9uIHRveSBwcm9ncmFtcy4gSSB0aGluayB0aGF0IGl0IHdp
bGwgc3RhcnQgdG8gc2hvdworICAgICAgICBzcGVlZC11cHMgd2l0aCBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxMTQ3LCB3aGljaCB0aGlzIGlzCisgICAgICAgIGEg
c3RlcCB0b3dhcmRzLgorCisgICAgICAgICogaml0L0pJVC5oOgorICAgICAgICAoSklUKToKKyAg
ICAgICAgKiBqaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnBy
aXZhdGVDb21waWxlUHV0QnlJZFRyYW5zaXRpb24pOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZh
dGVDb21waWxlR2V0QnlJZFByb3RvKToKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGls
ZUdldEJ5SWRQcm90b0xpc3QpOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0
QnlJZENoYWluTGlzdCk6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlk
Q2hhaW4pOgorICAgICAgICAoSlNDOjpKSVQ6OmFkZFN0cnVjdHVyZVRyYW5zaXRpb25DaGVjayk6
CisgICAgICAgIChKU0MpOgorICAgICAgICAoSlNDOjpKSVQ6OnRlc3RQcm90b3R5cGUpOgorICAg
ICAgICAqIGppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6SklU
Ojpwcml2YXRlQ29tcGlsZVB1dEJ5SWRUcmFuc2l0aW9uKToKKyAgICAgICAgKEpTQzo6SklUOjpw
cml2YXRlQ29tcGlsZUdldEJ5SWRQcm90byk6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNv
bXBpbGVHZXRCeUlkUHJvdG9MaXN0KToKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGls
ZUdldEJ5SWRDaGFpbkxpc3QpOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0
QnlJZENoYWluKToKKwogMjAxMi0xMS0wMiAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29t
PgogCiAgICAgICAgIExMSW50IDMyLWJpdCBwdXRfYnlfdmFsIEFycmF5U3RvcmFnZSBjYXNlIHNo
b3VsZCB1c2UgdGhlIHJpZ2h0IHJlZ2lzdGVyICh0Mywgbm90IHQyKSBmb3IgdGhlIGluZGV4IGlu
IHRoZSBwdWJsaWNMZW5ndGggdXBkYXRpbmcgcGF0aApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VC5oCShyZXZpc2lvbiAxMzMzNTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5o
CSh3b3JraW5nIGNvcHkpCkBAIC00MjgsNiArNDI4LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAg
ICAgIHZvaWQgcHJpdmF0ZUNvbXBpbGVMaW5rUGFzcygpOwogICAgICAgICB2b2lkIHByaXZhdGVD
b21waWxlU2xvd0Nhc2VzKCk7CiAgICAgICAgIEpJVENvZGUgcHJpdmF0ZUNvbXBpbGUoQ29kZVB0
ciogZnVuY3Rpb25FbnRyeUFyaXR5Q2hlY2ssIEpJVENvbXBpbGF0aW9uRWZmb3J0KTsKKyAgICAg
ICAgCiAgICAgICAgIHZvaWQgcHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG8oU3RydWN0dXJlU3R1
YkluZm8qLCBTdHJ1Y3R1cmUqLCBTdHJ1Y3R1cmUqIHByb3RvdHlwZVN0cnVjdHVyZSwgY29uc3Qg
SWRlbnRpZmllciYsIGNvbnN0IFByb3BlcnR5U2xvdCYsIFByb3BlcnR5T2Zmc2V0IGNhY2hlZE9m
ZnNldCwgUmV0dXJuQWRkcmVzc1B0ciwgQ2FsbEZyYW1lKik7CiAgICAgICAgIHZvaWQgcHJpdmF0
ZUNvbXBpbGVHZXRCeUlkU2VsZkxpc3QoU3RydWN0dXJlU3R1YkluZm8qLCBQb2x5bW9ycGhpY0Fj
Y2Vzc1N0cnVjdHVyZUxpc3QqLCBpbnQsIFN0cnVjdHVyZSosIGNvbnN0IElkZW50aWZpZXImLCBj
b25zdCBQcm9wZXJ0eVNsb3QmLCBQcm9wZXJ0eU9mZnNldCBjYWNoZWRPZmZzZXQpOwogICAgICAg
ICB2b2lkIHByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyos
IFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCosIGludCwgU3RydWN0dXJlKiwgU3RydWN0
dXJlKiBwcm90b3R5cGVTdHJ1Y3R1cmUsIGNvbnN0IElkZW50aWZpZXImLCBjb25zdCBQcm9wZXJ0
eVNsb3QmLCBQcm9wZXJ0eU9mZnNldCBjYWNoZWRPZmZzZXQsIENhbGxGcmFtZSopOwpAQCAtNDY2
LDcgKzQ2Nyw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBKdW1wIGVtaXRKdW1wSWZOb3RP
YmplY3QoUmVnaXN0ZXJJRCBzdHJ1Y3R1cmVSZWcpOwogICAgICAgICBKdW1wIGVtaXRKdW1wSWZO
b3RUeXBlKFJlZ2lzdGVySUQgYmFzZVJlZywgUmVnaXN0ZXJJRCBzY3JhdGNoUmVnLCBKU1R5cGUp
OwogCi0gICAgICAgIHZvaWQgdGVzdFByb3RvdHlwZShKU1ZhbHVlLCBKdW1wTGlzdCYgZmFpbHVy
ZUNhc2VzKTsKKyAgICAgICAgSnVtcCBhZGRTdHJ1Y3R1cmVUcmFuc2l0aW9uQ2hlY2soSlNDZWxs
KiBvYmplY3QsIFN0cnVjdHVyZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgUmVnaXN0ZXJJRCBzY3Jh
dGNoKTsKKyAgICAgICAgdm9pZCBhZGRTdHJ1Y3R1cmVUcmFuc2l0aW9uQ2hlY2soSlNDZWxsKiBv
YmplY3QsIFN0cnVjdHVyZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgSnVtcExpc3QmIGZhaWx1cmVD
YXNlcywgUmVnaXN0ZXJJRCBzY3JhdGNoKTsKKyAgICAgICAgdm9pZCB0ZXN0UHJvdG90eXBlKEpT
VmFsdWUsIEp1bXBMaXN0JiBmYWlsdXJlQ2FzZXMsIFN0cnVjdHVyZVN0dWJJbmZvKik7CiAKICAg
ICAgICAgZW51bSBXcml0ZUJhcnJpZXJNb2RlIHsgVW5jb25kaXRpb25hbFdyaXRlQmFycmllciwg
U2hvdWxkRmlsdGVySW1tZWRpYXRlcyB9OwogICAgICAgICAvLyB2YWx1ZSByZWdpc3RlciBpbiB3
cml0ZSBiYXJyaWVyIGlzIHVzZWQgYmVmb3JlIGFueSBzY3JhdGNoIHJlZ2lzdGVycwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzMzJf
NjQuY3BwCShyZXZpc2lvbiAxMzMzNTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MzEsMTIgKzYzMSwx
MiBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVQdXRCeUlkVHJhbnNpdGlvCiAgICAgSnVtcExp
c3QgZmFpbHVyZUNhc2VzOwogICAgIGZhaWx1cmVDYXNlcy5hcHBlbmQoYnJhbmNoMzIoTm90RXF1
YWwsIHJlZ1QxLCBUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6Q2VsbFRhZykpKTsKICAgICBmYWlsdXJl
Q2FzZXMuYXBwZW5kKGJyYW5jaFB0cihOb3RFcXVhbCwgQWRkcmVzcyhyZWdUMCwgSlNDZWxsOjpz
dHJ1Y3R1cmVPZmZzZXQoKSksIFRydXN0ZWRJbW1QdHIob2xkU3RydWN0dXJlKSkpOwotICAgIHRl
c3RQcm90b3R5cGUob2xkU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSwgZmFpbHVyZUNhc2Vz
KTsKKyAgICB0ZXN0UHJvdG90eXBlKG9sZFN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCksIGZh
aWx1cmVDYXNlcywgc3R1YkluZm8pOwogICAgIAogICAgIGlmICghZGlyZWN0KSB7CiAgICAgICAg
IC8vIFZlcmlmeSB0aGF0IG5vdGhpbmcgaW4gdGhlIHByb3RvdHlwZSBjaGFpbiBoYXMgYSBzZXR0
ZXIgZm9yIHRoaXMgcHJvcGVydHkuIAogICAgICAgICBmb3IgKFdyaXRlQmFycmllcjxTdHJ1Y3R1
cmU+KiBpdCA9IGNoYWluLT5oZWFkKCk7ICppdDsgKytpdCkKLSAgICAgICAgICAgIHRlc3RQcm90
b3R5cGUoKCppdCktPnN0b3JlZFByb3RvdHlwZSgpLCBmYWlsdXJlQ2FzZXMpOworICAgICAgICAg
ICAgdGVzdFByb3RvdHlwZSgoKml0KS0+c3RvcmVkUHJvdG90eXBlKCksIGZhaWx1cmVDYXNlcywg
c3R1YkluZm8pOwogICAgIH0KIAogICAgIC8vIElmIHdlIHN1Y2NlZWQgaW4gYWxsIG9mIG91ciBj
aGVja3MsIGFuZCB0aGUgY29kZSB3YXMgb3B0aW1pemFibGUsIHRoZW4gbWFrZSBzdXJlIHdlCkBA
IC04MDgsOCArODA4LDcgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvKFN0
cgogICAgIEp1bXAgZmFpbHVyZUNhc2VzMSA9IGNoZWNrU3RydWN0dXJlKHJlZ1QwLCBzdHJ1Y3R1
cmUpOwogICAgIAogICAgIC8vIENoZWNrIHRoZSBwcm90b3R5cGUgb2JqZWN0J3MgU3RydWN0dXJl
IGhhZCBub3QgY2hhbmdlZC4KLSAgICBtb3ZlKFRydXN0ZWRJbW1QdHIocHJvdG9PYmplY3QpLCBy
ZWdUMyk7Ci0gICAgSnVtcCBmYWlsdXJlQ2FzZXMyID0gYnJhbmNoUHRyKE5vdEVxdWFsLCBBZGRy
ZXNzKHJlZ1QzLCBKU0NlbGw6OnN0cnVjdHVyZU9mZnNldCgpKSwgVHJ1c3RlZEltbVB0cihwcm90
b3R5cGVTdHJ1Y3R1cmUpKTsKKyAgICBKdW1wIGZhaWx1cmVDYXNlczIgPSBhZGRTdHJ1Y3R1cmVU
cmFuc2l0aW9uQ2hlY2socHJvdG9PYmplY3QsIHByb3RvdHlwZVN0cnVjdHVyZSwgc3R1YkluZm8s
IHJlZ1QzKTsKIAogICAgIGJvb2wgbmVlZHNTdHViTGluayA9IGZhbHNlOwogICAgIC8vIENoZWNr
cyBvdXQgb2theSEKQEAgLTgzOSw3ICs4MzgsOCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVH
ZXRCeUlkUHJvdG8oU3RyCiAgICAgLy8gVXNlIHRoZSBwYXRjaCBpbmZvcm1hdGlvbiB0byBsaW5r
IHRoZSBmYWlsdXJlIGNhc2VzIGJhY2sgdG8gdGhlIG9yaWdpbmFsIHNsb3cgY2FzZSByb3V0aW5l
LgogICAgIENvZGVMb2NhdGlvbkxhYmVsIHNsb3dDYXNlQmVnaW4gPSBzdHViSW5mby0+Y2FsbFJl
dHVybkxvY2F0aW9uLmxhYmVsQXRPZmZzZXQoLXN0dWJJbmZvLT5wYXRjaC5iYXNlbGluZS51Lmdl
dC5jb2xkUGF0aEJlZ2luKTsKICAgICBwYXRjaEJ1ZmZlci5saW5rKGZhaWx1cmVDYXNlczEsIHNs
b3dDYXNlQmVnaW4pOwotICAgIHBhdGNoQnVmZmVyLmxpbmsoZmFpbHVyZUNhc2VzMiwgc2xvd0Nh
c2VCZWdpbik7CisgICAgaWYgKGZhaWx1cmVDYXNlczIuaXNTZXQoKSkKKyAgICAgICAgcGF0Y2hC
dWZmZXIubGluayhmYWlsdXJlQ2FzZXMyLCBzbG93Q2FzZUJlZ2luKTsKICAgICAKICAgICAvLyBP
biBzdWNjZXNzIHJldHVybiBiYWNrIHRvIHRoZSBob3QgcGF0Y2ggY29kZSwgYXQgYSBwb2ludCBp
dCB3aWxsIHBlcmZvcm0gdGhlIHN0b3JlIHRvIGRlc3QgZm9yIHVzLgogICAgIHBhdGNoQnVmZmVy
Lmxpbmsoc3VjY2Vzcywgc3R1YkluZm8tPmhvdFBhdGhCZWdpbi5sYWJlbEF0T2Zmc2V0KHN0dWJJ
bmZvLT5wYXRjaC5iYXNlbGluZS51LmdldC5wdXRSZXN1bHQpKTsKQEAgLTk0OCw4ICs5NDgsNyBA
QCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG9MaXN0CiAgICAgSnVtcCBmYWls
dXJlQ2FzZXMxID0gY2hlY2tTdHJ1Y3R1cmUocmVnVDAsIHN0cnVjdHVyZSk7CiAgICAgCiAgICAg
Ly8gQ2hlY2sgdGhlIHByb3RvdHlwZSBvYmplY3QncyBTdHJ1Y3R1cmUgaGFkIG5vdCBjaGFuZ2Vk
LgotICAgIG1vdmUoVHJ1c3RlZEltbVB0cihwcm90b09iamVjdCksIHJlZ1QzKTsKLSAgICBKdW1w
IGZhaWx1cmVDYXNlczIgPSBicmFuY2hQdHIoTm90RXF1YWwsIEFkZHJlc3MocmVnVDMsIEpTQ2Vs
bDo6c3RydWN0dXJlT2Zmc2V0KCkpLCBUcnVzdGVkSW1tUHRyKHByb3RvdHlwZVN0cnVjdHVyZSkp
OworICAgIEp1bXAgZmFpbHVyZUNhc2VzMiA9IGFkZFN0cnVjdHVyZVRyYW5zaXRpb25DaGVjayhw
cm90b09iamVjdCwgcHJvdG90eXBlU3RydWN0dXJlLCBzdHViSW5mbywgcmVnVDMpOwogICAgIAog
ICAgIGJvb2wgbmVlZHNTdHViTGluayA9IGZhbHNlOwogICAgIGJvb2wgaXNEaXJlY3QgPSBmYWxz
ZTsKQEAgLTk4Niw3ICs5ODUsOCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJv
dG9MaXN0CiAgICAgLy8gVXNlIHRoZSBwYXRjaCBpbmZvcm1hdGlvbiB0byBsaW5rIHRoZSBmYWls
dXJlIGNhc2VzIGJhY2sgdG8gdGhlIG9yaWdpbmFsIHNsb3cgY2FzZSByb3V0aW5lLgogICAgIENv
ZGVMb2NhdGlvbkxhYmVsIGxhc3RQcm90b0JlZ2luID0gQ29kZUxvY2F0aW9uTGFiZWwoSklUU3R1
YlJvdXRpbmU6OmFzQ29kZVB0cihwcm90b3R5cGVTdHJ1Y3R1cmVzLT5saXN0W2N1cnJlbnRJbmRl
eCAtIDFdLnN0dWJSb3V0aW5lKSk7CiAgICAgcGF0Y2hCdWZmZXIubGluayhmYWlsdXJlQ2FzZXMx
LCBsYXN0UHJvdG9CZWdpbik7Ci0gICAgcGF0Y2hCdWZmZXIubGluayhmYWlsdXJlQ2FzZXMyLCBs
YXN0UHJvdG9CZWdpbik7CisgICAgaWYgKGZhaWx1cmVDYXNlczIuaXNTZXQoKSkKKyAgICAgICAg
cGF0Y2hCdWZmZXIubGluayhmYWlsdXJlQ2FzZXMyLCBsYXN0UHJvdG9CZWdpbik7CiAgICAgCiAg
ICAgLy8gT24gc3VjY2VzcyByZXR1cm4gYmFjayB0byB0aGUgaG90IHBhdGNoIGNvZGUsIGF0IGEg
cG9pbnQgaXQgd2lsbCBwZXJmb3JtIHRoZSBzdG9yZSB0byBkZXN0IGZvciB1cy4KICAgICBwYXRj
aEJ1ZmZlci5saW5rKHN1Y2Nlc3MsIHN0dWJJbmZvLT5ob3RQYXRoQmVnaW4ubGFiZWxBdE9mZnNl
dChzdHViSW5mby0+cGF0Y2guYmFzZWxpbmUudS5nZXQucHV0UmVzdWx0KSk7CkBAIC0xMDI1LDcg
KzEwMjUsNyBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0CiAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGNvdW50OyArK2ksICsraXQpIHsKICAgICAgICAgcHJv
dG9PYmplY3QgPSBhc09iamVjdChjdXJyU3RydWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoY2Fs
bEZyYW1lKSk7CiAgICAgICAgIGN1cnJTdHJ1Y3R1cmUgPSBpdC0+Z2V0KCk7Ci0gICAgICAgIHRl
c3RQcm90b3R5cGUocHJvdG9PYmplY3QsIGJ1Y2tldHNPZkZhaWwpOworICAgICAgICB0ZXN0UHJv
dG90eXBlKHByb3RvT2JqZWN0LCBidWNrZXRzT2ZGYWlsLCBzdHViSW5mbyk7CiAgICAgfQogICAg
IEFTU0VSVChwcm90b09iamVjdCk7CiAgICAgCkBAIC0xMTA0LDcgKzExMDQsNyBAQCB2b2lkIEpJ
VDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW4oU3RyCiAgICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IGNvdW50OyArK2ksICsraXQpIHsKICAgICAgICAgcHJvdG9PYmplY3QgPSBhc09iamVj
dChjdXJyU3RydWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoY2FsbEZyYW1lKSk7CiAgICAgICAg
IGN1cnJTdHJ1Y3R1cmUgPSBpdC0+Z2V0KCk7Ci0gICAgICAgIHRlc3RQcm90b3R5cGUocHJvdG9P
YmplY3QsIGJ1Y2tldHNPZkZhaWwpOworICAgICAgICB0ZXN0UHJvdG90eXBlKHByb3RvT2JqZWN0
LCBidWNrZXRzT2ZGYWlsLCBzdHViSW5mbyk7CiAgICAgfQogICAgIEFTU0VSVChwcm90b09iamVj
dCk7CiAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNj
ZXNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3Bl
cnR5QWNjZXNzLmNwcAkocmV2aXNpb24gMTMzMzUyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY4MSw3ICs2ODEs
NyBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVQdXRCeUlkVHJhbnNpdGlvCiAgICAgZmFpbHVy
ZUNhc2VzLmFwcGVuZChlbWl0SnVtcElmTm90SlNDZWxsKHJlZ1QwKSk7CiAgICAgZmFpbHVyZUNh
c2VzLmFwcGVuZChicmFuY2hQdHIoTm90RXF1YWwsIEFkZHJlc3MocmVnVDAsIEpTQ2VsbDo6c3Ry
dWN0dXJlT2Zmc2V0KCkpLCBUcnVzdGVkSW1tUHRyKG9sZFN0cnVjdHVyZSkpKTsKICAgICAKLSAg
ICB0ZXN0UHJvdG90eXBlKG9sZFN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCksIGZhaWx1cmVD
YXNlcyk7CisgICAgdGVzdFByb3RvdHlwZShvbGRTdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgp
LCBmYWlsdXJlQ2FzZXMsIHN0dWJJbmZvKTsKICAgICAKICAgICBBU1NFUlQob2xkU3RydWN0dXJl
LT5zdG9yZWRQcm90b3R5cGUoKS5pc051bGwoKSB8fCBvbGRTdHJ1Y3R1cmUtPnN0b3JlZFByb3Rv
dHlwZSgpLmFzQ2VsbCgpLT5zdHJ1Y3R1cmUoKSA9PSBjaGFpbi0+aGVhZCgpLT5nZXQoKSk7CiAK
QEAgLTY4OSw3ICs2ODksNyBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVQdXRCeUlkVHJhbnNp
dGlvCiAgICAgaWYgKCFkaXJlY3QpIHsKICAgICAgICAgZm9yIChXcml0ZUJhcnJpZXI8U3RydWN0
dXJlPiogaXQgPSBjaGFpbi0+aGVhZCgpOyAqaXQ7ICsraXQpIHsKICAgICAgICAgICAgIEFTU0VS
VCgoKml0KS0+c3RvcmVkUHJvdG90eXBlKCkuaXNOdWxsKCkgfHwgKCppdCktPnN0b3JlZFByb3Rv
dHlwZSgpLmFzQ2VsbCgpLT5zdHJ1Y3R1cmUoKSA9PSBpdFsxXS5nZXQoKSk7Ci0gICAgICAgICAg
ICB0ZXN0UHJvdG90eXBlKCgqaXQpLT5zdG9yZWRQcm90b3R5cGUoKSwgZmFpbHVyZUNhc2VzKTsK
KyAgICAgICAgICAgIHRlc3RQcm90b3R5cGUoKCppdCktPnN0b3JlZFByb3RvdHlwZSgpLCBmYWls
dXJlQ2FzZXMsIHN0dWJJbmZvKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtODQxLDggKzg0MSw3
IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90byhTdHIKICAgICBKdW1wIGZh
aWx1cmVDYXNlczEgPSBjaGVja1N0cnVjdHVyZShyZWdUMCwgc3RydWN0dXJlKTsKIAogICAgIC8v
IENoZWNrIHRoZSBwcm90b3R5cGUgb2JqZWN0J3MgU3RydWN0dXJlIGhhZCBub3QgY2hhbmdlZC4K
LSAgICBtb3ZlKFRydXN0ZWRJbW1QdHIocHJvdG9PYmplY3QpLCByZWdUMyk7Ci0gICAgSnVtcCBm
YWlsdXJlQ2FzZXMyID0gYnJhbmNoUHRyKE5vdEVxdWFsLCBBZGRyZXNzKHJlZ1QzLCBKU0NlbGw6
OnN0cnVjdHVyZU9mZnNldCgpKSwgVHJ1c3RlZEltbVB0cihwcm90b3R5cGVTdHJ1Y3R1cmUpKTsK
KyAgICBKdW1wIGZhaWx1cmVDYXNlczIgPSBhZGRTdHJ1Y3R1cmVUcmFuc2l0aW9uQ2hlY2socHJv
dG9PYmplY3QsIHByb3RvdHlwZVN0cnVjdHVyZSwgc3R1YkluZm8sIHJlZ1QzKTsKIAogICAgIGJv
b2wgbmVlZHNTdHViTGluayA9IGZhbHNlOwogICAgIApAQCAtODcxLDcgKzg3MCw4IEBAIHZvaWQg
SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90byhTdHIKICAgICAvLyBVc2UgdGhlIHBhdGNo
IGluZm9ybWF0aW9uIHRvIGxpbmsgdGhlIGZhaWx1cmUgY2FzZXMgYmFjayB0byB0aGUgb3JpZ2lu
YWwgc2xvdyBjYXNlIHJvdXRpbmUuCiAgICAgQ29kZUxvY2F0aW9uTGFiZWwgc2xvd0Nhc2VCZWdp
biA9IHN0dWJJbmZvLT5jYWxsUmV0dXJuTG9jYXRpb24ubGFiZWxBdE9mZnNldCgtc3R1YkluZm8t
PnBhdGNoLmJhc2VsaW5lLnUuZ2V0LmNvbGRQYXRoQmVnaW4pOwogICAgIHBhdGNoQnVmZmVyLmxp
bmsoZmFpbHVyZUNhc2VzMSwgc2xvd0Nhc2VCZWdpbik7Ci0gICAgcGF0Y2hCdWZmZXIubGluayhm
YWlsdXJlQ2FzZXMyLCBzbG93Q2FzZUJlZ2luKTsKKyAgICBpZiAoZmFpbHVyZUNhc2VzMi5pc1Nl
dCgpKQorICAgICAgICBwYXRjaEJ1ZmZlci5saW5rKGZhaWx1cmVDYXNlczIsIHNsb3dDYXNlQmVn
aW4pOwogCiAgICAgLy8gT24gc3VjY2VzcyByZXR1cm4gYmFjayB0byB0aGUgaG90IHBhdGNoIGNv
ZGUsIGF0IGEgcG9pbnQgaXQgd2lsbCBwZXJmb3JtIHRoZSBzdG9yZSB0byBkZXN0IGZvciB1cy4K
ICAgICBwYXRjaEJ1ZmZlci5saW5rKHN1Y2Nlc3MsIHN0dWJJbmZvLT5ob3RQYXRoQmVnaW4ubGFi
ZWxBdE9mZnNldChzdHViSW5mby0+cGF0Y2guYmFzZWxpbmUudS5nZXQucHV0UmVzdWx0KSk7CkBA
IC05NzYsOCArOTc2LDcgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvTGlz
dAogICAgIEp1bXAgZmFpbHVyZUNhc2VzMSA9IGNoZWNrU3RydWN0dXJlKHJlZ1QwLCBzdHJ1Y3R1
cmUpOwogCiAgICAgLy8gQ2hlY2sgdGhlIHByb3RvdHlwZSBvYmplY3QncyBTdHJ1Y3R1cmUgaGFk
IG5vdCBjaGFuZ2VkLgotICAgIG1vdmUoVHJ1c3RlZEltbVB0cihwcm90b09iamVjdCksIHJlZ1Qz
KTsKLSAgICBKdW1wIGZhaWx1cmVDYXNlczIgPSBicmFuY2hQdHIoTm90RXF1YWwsIEFkZHJlc3Mo
cmVnVDMsIEpTQ2VsbDo6c3RydWN0dXJlT2Zmc2V0KCkpLCBUcnVzdGVkSW1tUHRyKHByb3RvdHlw
ZVN0cnVjdHVyZSkpOworICAgIEp1bXAgZmFpbHVyZUNhc2VzMiA9IGFkZFN0cnVjdHVyZVRyYW5z
aXRpb25DaGVjayhwcm90b09iamVjdCwgcHJvdG90eXBlU3RydWN0dXJlLCBzdHViSW5mbywgcmVn
VDMpOwogCiAgICAgLy8gQ2hlY2tzIG91dCBva2F5IQogICAgIGJvb2wgbmVlZHNTdHViTGluayA9
IGZhbHNlOwpAQCAtMTAxNyw3ICsxMDE2LDggQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0
QnlJZFByb3RvTGlzdAogICAgIC8vIFVzZSB0aGUgcGF0Y2ggaW5mb3JtYXRpb24gdG8gbGluayB0
aGUgZmFpbHVyZSBjYXNlcyBiYWNrIHRvIHRoZSBvcmlnaW5hbCBzbG93IGNhc2Ugcm91dGluZS4K
ICAgICBDb2RlTG9jYXRpb25MYWJlbCBsYXN0UHJvdG9CZWdpbiA9IENvZGVMb2NhdGlvbkxhYmVs
KEpJVFN0dWJSb3V0aW5lOjphc0NvZGVQdHIocHJvdG90eXBlU3RydWN0dXJlcy0+bGlzdFtjdXJy
ZW50SW5kZXggLSAxXS5zdHViUm91dGluZSkpOwogICAgIHBhdGNoQnVmZmVyLmxpbmsoZmFpbHVy
ZUNhc2VzMSwgbGFzdFByb3RvQmVnaW4pOwotICAgIHBhdGNoQnVmZmVyLmxpbmsoZmFpbHVyZUNh
c2VzMiwgbGFzdFByb3RvQmVnaW4pOworICAgIGlmIChmYWlsdXJlQ2FzZXMyLmlzU2V0KCkpCisg
ICAgICAgIHBhdGNoQnVmZmVyLmxpbmsoZmFpbHVyZUNhc2VzMiwgbGFzdFByb3RvQmVnaW4pOwog
CiAgICAgLy8gT24gc3VjY2VzcyByZXR1cm4gYmFjayB0byB0aGUgaG90IHBhdGNoIGNvZGUsIGF0
IGEgcG9pbnQgaXQgd2lsbCBwZXJmb3JtIHRoZSBzdG9yZSB0byBkZXN0IGZvciB1cy4KICAgICBw
YXRjaEJ1ZmZlci5saW5rKHN1Y2Nlc3MsIHN0dWJJbmZvLT5ob3RQYXRoQmVnaW4ubGFiZWxBdE9m
ZnNldChzdHViSW5mby0+cGF0Y2guYmFzZWxpbmUudS5nZXQucHV0UmVzdWx0KSk7CkBAIC0xMDU0
LDcgKzEwNTQsNyBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0CiAg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGNvdW50OyArK2ksICsraXQpIHsKICAgICAgICAg
cHJvdG9PYmplY3QgPSBhc09iamVjdChjdXJyU3RydWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAo
Y2FsbEZyYW1lKSk7CiAgICAgICAgIGN1cnJTdHJ1Y3R1cmUgPSBpdC0+Z2V0KCk7Ci0gICAgICAg
IHRlc3RQcm90b3R5cGUocHJvdG9PYmplY3QsIGJ1Y2tldHNPZkZhaWwpOworICAgICAgICB0ZXN0
UHJvdG90eXBlKHByb3RvT2JqZWN0LCBidWNrZXRzT2ZGYWlsLCBzdHViSW5mbyk7CiAgICAgfQog
ICAgIEFTU0VSVChwcm90b09iamVjdCk7CiAgICAgCkBAIC0xMTMzLDcgKzExMzMsNyBAQCB2b2lk
IEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW4oU3RyCiAgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IGNvdW50OyArK2ksICsraXQpIHsKICAgICAgICAgcHJvdG9PYmplY3QgPSBhc09i
amVjdChjdXJyU3RydWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoY2FsbEZyYW1lKSk7CiAgICAg
ICAgIGN1cnJTdHJ1Y3R1cmUgPSBpdC0+Z2V0KCk7Ci0gICAgICAgIHRlc3RQcm90b3R5cGUocHJv
dG9PYmplY3QsIGJ1Y2tldHNPZkZhaWwpOworICAgICAgICB0ZXN0UHJvdG90eXBlKHByb3RvT2Jq
ZWN0LCBidWNrZXRzT2ZGYWlsLCBzdHViSW5mbyk7CiAgICAgfQogICAgIEFTU0VSVChwcm90b09i
amVjdCk7CiAKQEAgLTEzMDgsMTQgKzEzMDgsMzkgQEAgdm9pZCBKSVQ6OmVtaXRXcml0ZUJhcnJp
ZXIoSlNDZWxsKiBvd25lcgogI2VuZGlmCiB9CiAKLXZvaWQgSklUOjp0ZXN0UHJvdG90eXBlKEpT
VmFsdWUgcHJvdG90eXBlLCBKdW1wTGlzdCYgZmFpbHVyZUNhc2VzKQorSklUOjpKdW1wIEpJVDo6
YWRkU3RydWN0dXJlVHJhbnNpdGlvbkNoZWNrKEpTQ2VsbCogb2JqZWN0LCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBSZWdpc3RlcklEIHNjcmF0Y2gp
Cit7CisgICAgaWYgKG9iamVjdC0+c3RydWN0dXJlKCkgPT0gc3RydWN0dXJlICYmIHN0cnVjdHVy
ZS0+dHJhbnNpdGlvbldhdGNocG9pbnRTZXRJc1N0aWxsVmFsaWQoKSkgeworICAgICAgICBzdHJ1
Y3R1cmUtPmFkZFRyYW5zaXRpb25XYXRjaHBvaW50KHN0dWJJbmZvLT5hZGRXYXRjaHBvaW50KG1f
Y29kZUJsb2NrKSk7CisjaWYgIUFTU0VSVF9ESVNBQkxFRAorICAgICAgICBtb3ZlKFRydXN0ZWRJ
bW1QdHIob2JqZWN0KSwgc2NyYXRjaCk7CisgICAgICAgIEp1bXAgb2sgPSBicmFuY2hQdHIoRXF1
YWwsIEFkZHJlc3Moc2NyYXRjaCwgSlNDZWxsOjpzdHJ1Y3R1cmVPZmZzZXQoKSksIFRydXN0ZWRJ
bW1QdHIoc3RydWN0dXJlKSk7CisgICAgICAgIGJyZWFrcG9pbnQoKTsKKyAgICAgICAgb2subGlu
ayh0aGlzKTsKKyNlbmRpZgorICAgICAgICByZXR1cm4gSnVtcCgpOworICAgIH0KKyAgICAKKyAg
ICBtb3ZlKFRydXN0ZWRJbW1QdHIob2JqZWN0KSwgc2NyYXRjaCk7CisgICAgcmV0dXJuIGJyYW5j
aFB0cihOb3RFcXVhbCwgQWRkcmVzcyhzY3JhdGNoLCBKU0NlbGw6OnN0cnVjdHVyZU9mZnNldCgp
KSwgVHJ1c3RlZEltbVB0cihzdHJ1Y3R1cmUpKTsKK30KKwordm9pZCBKSVQ6OmFkZFN0cnVjdHVy
ZVRyYW5zaXRpb25DaGVjayhKU0NlbGwqIG9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0
cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgSnVtcExpc3QmIGZhaWx1cmVDYXNlcywgUmVnaXN0
ZXJJRCBzY3JhdGNoKQoreworICAgIEp1bXAgZmFpbHVyZUNhc2UgPSBhZGRTdHJ1Y3R1cmVUcmFu
c2l0aW9uQ2hlY2sob2JqZWN0LCBzdHJ1Y3R1cmUsIHN0dWJJbmZvLCBzY3JhdGNoKTsKKyAgICBp
ZiAoIWZhaWx1cmVDYXNlLmlzU2V0KCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBmYWls
dXJlQ2FzZXMuYXBwZW5kKGZhaWx1cmVDYXNlKTsKK30KKwordm9pZCBKSVQ6OnRlc3RQcm90b3R5
cGUoSlNWYWx1ZSBwcm90b3R5cGUsIEp1bXBMaXN0JiBmYWlsdXJlQ2FzZXMsIFN0cnVjdHVyZVN0
dWJJbmZvKiBzdHViSW5mbykKIHsKICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQogICAgICAg
ICByZXR1cm47CiAKICAgICBBU1NFUlQocHJvdG90eXBlLmlzQ2VsbCgpKTsKLSAgICBtb3ZlKFRy
dXN0ZWRJbW1QdHIocHJvdG90eXBlLmFzQ2VsbCgpKSwgcmVnVDMpOwotICAgIGZhaWx1cmVDYXNl
cy5hcHBlbmQoYnJhbmNoUHRyKE5vdEVxdWFsLCBBZGRyZXNzKHJlZ1QzLCBKU0NlbGw6OnN0cnVj
dHVyZU9mZnNldCgpKSwgVHJ1c3RlZEltbVB0cihwcm90b3R5cGUuYXNDZWxsKCktPnN0cnVjdHVy
ZSgpKSkpOworICAgIGFkZFN0cnVjdHVyZVRyYW5zaXRpb25DaGVjayhwcm90b3R5cGUuYXNDZWxs
KCksIHByb3RvdHlwZS5hc0NlbGwoKS0+c3RydWN0dXJlKCksIHN0dWJJbmZvLCBmYWlsdXJlQ2Fz
ZXMsIHJlZ1QzKTsKIH0KIAogdm9pZCBKSVQ6OnBhdGNoTWV0aG9kQ2FsbFByb3RvKEpTR2xvYmFs
RGF0YSYgZ2xvYmFsRGF0YSwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIE1ldGhvZENhbGxMaW5rSW5m
byYgbWV0aG9kQ2FsbExpbmtJbmZvLCBTdHJ1Y3R1cmVTdHViSW5mbyYgc3R1YkluZm8sIEpTT2Jq
ZWN0KiBjYWxsZWUsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU09iamVjdCogcHJvdG8sIFJldHVy
bkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcykK
</data>
<flag name="review"
          id="186431"
          type_id="1"
          status="+"
          setter="sam"
    />
    <flag name="commit-queue"
          id="186433"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172241</attachid>
            <date>2012-11-04 01:03:56 -0800</date>
            <delta_ts>2012-11-04 01:03:56 -0800</delta_ts>
            <desc>patch for landing</desc>
            <filename>watch.patch</filename>
            <type>text/plain</type>
            <size>14242</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTMzMzkyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBA
CisyMDEyLTExLTAzICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
QmFzZWxpbmUgSklUIHNob3VsZCB1c2Ugc3RydWN0dXJlIHdhdGNocG9pbnRzIHdoZW5ldmVyIHBv
c3NpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDExNDYKKworICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgorCisgICAgICAgIE5vIHNw
ZWVkLXVwIHlldCBleGNlcHQgb24gdG95IHByb2dyYW1zLiBJIHRoaW5rIHRoYXQgaXQgd2lsbCBz
dGFydCB0byBzaG93CisgICAgICAgIHNwZWVkLXVwcyB3aXRoIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDExNDcsIHdoaWNoIHRoaXMgaXMKKyAgICAgICAgYSBzdGVw
IHRvd2FyZHMuCisKKyAgICAgICAgKiBqaXQvSklULmg6CisgICAgICAgIChKSVQpOgorICAgICAg
ICAqIGppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0
ZUNvbXBpbGVQdXRCeUlkVHJhbnNpdGlvbik6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNv
bXBpbGVHZXRCeUlkUHJvdG8pOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0
QnlJZFByb3RvTGlzdCk6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlk
Q2hhaW5MaXN0KToKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFp
bik6CisgICAgICAgIChKU0M6OkpJVDo6YWRkU3RydWN0dXJlVHJhbnNpdGlvbkNoZWNrKToKKyAg
ICAgICAgKEpTQyk6CisgICAgICAgIChKU0M6OkpJVDo6dGVzdFByb3RvdHlwZSk6CisgICAgICAg
ICogaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnBy
aXZhdGVDb21waWxlUHV0QnlJZFRyYW5zaXRpb24pOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZh
dGVDb21waWxlR2V0QnlJZFByb3RvKToKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGls
ZUdldEJ5SWRQcm90b0xpc3QpOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0
QnlJZENoYWluTGlzdCk6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlk
Q2hhaW4pOgorCiAyMDEyLTExLTAyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAK
ICAgICAgICAgTExJbnQgMzItYml0IHB1dF9ieV92YWwgQXJyYXlTdG9yYWdlIGNhc2Ugc2hvdWxk
IHVzZSB0aGUgcmlnaHQgcmVnaXN0ZXIgKHQzLCBub3QgdDIpIGZvciB0aGUgaW5kZXggaW4gdGhl
IHB1YmxpY0xlbmd0aCB1cGRhdGluZyBwYXRoCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgJ
KHJldmlzaW9uIDEzMzM1MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgJKHdv
cmtpbmcgY29weSkKQEAgLTQyOCw2ICs0MjgsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAg
dm9pZCBwcml2YXRlQ29tcGlsZUxpbmtQYXNzKCk7CiAgICAgICAgIHZvaWQgcHJpdmF0ZUNvbXBp
bGVTbG93Q2FzZXMoKTsKICAgICAgICAgSklUQ29kZSBwcml2YXRlQ29tcGlsZShDb2RlUHRyKiBm
dW5jdGlvbkVudHJ5QXJpdHlDaGVjaywgSklUQ29tcGlsYXRpb25FZmZvcnQpOworICAgICAgICAK
ICAgICAgICAgdm9pZCBwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90byhTdHJ1Y3R1cmVTdHViSW5m
byosIFN0cnVjdHVyZSosIFN0cnVjdHVyZSogcHJvdG90eXBlU3RydWN0dXJlLCBjb25zdCBJZGVu
dGlmaWVyJiwgY29uc3QgUHJvcGVydHlTbG90JiwgUHJvcGVydHlPZmZzZXQgY2FjaGVkT2Zmc2V0
LCBSZXR1cm5BZGRyZXNzUHRyLCBDYWxsRnJhbWUqKTsKICAgICAgICAgdm9pZCBwcml2YXRlQ29t
cGlsZUdldEJ5SWRTZWxmTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyosIFBvbHltb3JwaGljQWNjZXNz
U3RydWN0dXJlTGlzdCosIGludCwgU3RydWN0dXJlKiwgY29uc3QgSWRlbnRpZmllciYsIGNvbnN0
IFByb3BlcnR5U2xvdCYsIFByb3BlcnR5T2Zmc2V0IGNhY2hlZE9mZnNldCk7CiAgICAgICAgIHZv
aWQgcHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG9MaXN0KFN0cnVjdHVyZVN0dWJJbmZvKiwgUG9s
eW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0KiwgaW50LCBTdHJ1Y3R1cmUqLCBTdHJ1Y3R1cmUq
IHByb3RvdHlwZVN0cnVjdHVyZSwgY29uc3QgSWRlbnRpZmllciYsIGNvbnN0IFByb3BlcnR5U2xv
dCYsIFByb3BlcnR5T2Zmc2V0IGNhY2hlZE9mZnNldCwgQ2FsbEZyYW1lKik7CkBAIC00NjYsNyAr
NDY3LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEp1bXAgZW1pdEp1bXBJZk5vdE9iamVj
dChSZWdpc3RlcklEIHN0cnVjdHVyZVJlZyk7CiAgICAgICAgIEp1bXAgZW1pdEp1bXBJZk5vdFR5
cGUoUmVnaXN0ZXJJRCBiYXNlUmVnLCBSZWdpc3RlcklEIHNjcmF0Y2hSZWcsIEpTVHlwZSk7CiAK
LSAgICAgICAgdm9pZCB0ZXN0UHJvdG90eXBlKEpTVmFsdWUsIEp1bXBMaXN0JiBmYWlsdXJlQ2Fz
ZXMpOworICAgICAgICBKdW1wIGFkZFN0cnVjdHVyZVRyYW5zaXRpb25DaGVjayhKU0NlbGwqLCBT
dHJ1Y3R1cmUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIFJlZ2lzdGVySUQgc2NyYXRjaCk7CisgICAg
ICAgIHZvaWQgYWRkU3RydWN0dXJlVHJhbnNpdGlvbkNoZWNrKEpTQ2VsbCosIFN0cnVjdHVyZSos
IFN0cnVjdHVyZVN0dWJJbmZvKiwgSnVtcExpc3QmIGZhaWx1cmVDYXNlcywgUmVnaXN0ZXJJRCBz
Y3JhdGNoKTsKKyAgICAgICAgdm9pZCB0ZXN0UHJvdG90eXBlKEpTVmFsdWUsIEp1bXBMaXN0JiBm
YWlsdXJlQ2FzZXMsIFN0cnVjdHVyZVN0dWJJbmZvKik7CiAKICAgICAgICAgZW51bSBXcml0ZUJh
cnJpZXJNb2RlIHsgVW5jb25kaXRpb25hbFdyaXRlQmFycmllciwgU2hvdWxkRmlsdGVySW1tZWRp
YXRlcyB9OwogICAgICAgICAvLyB2YWx1ZSByZWdpc3RlciBpbiB3cml0ZSBiYXJyaWVyIGlzIHVz
ZWQgYmVmb3JlIGFueSBzY3JhdGNoIHJlZ2lzdGVycwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwCShyZXZpc2lvbiAx
MzMzNTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzMzJf
NjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MzEsMTIgKzYzMSwxMiBAQCB2b2lkIEpJVDo6cHJp
dmF0ZUNvbXBpbGVQdXRCeUlkVHJhbnNpdGlvCiAgICAgSnVtcExpc3QgZmFpbHVyZUNhc2VzOwog
ICAgIGZhaWx1cmVDYXNlcy5hcHBlbmQoYnJhbmNoMzIoTm90RXF1YWwsIHJlZ1QxLCBUcnVzdGVk
SW1tMzIoSlNWYWx1ZTo6Q2VsbFRhZykpKTsKICAgICBmYWlsdXJlQ2FzZXMuYXBwZW5kKGJyYW5j
aFB0cihOb3RFcXVhbCwgQWRkcmVzcyhyZWdUMCwgSlNDZWxsOjpzdHJ1Y3R1cmVPZmZzZXQoKSks
IFRydXN0ZWRJbW1QdHIob2xkU3RydWN0dXJlKSkpOwotICAgIHRlc3RQcm90b3R5cGUob2xkU3Ry
dWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSwgZmFpbHVyZUNhc2VzKTsKKyAgICB0ZXN0UHJvdG90
eXBlKG9sZFN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCksIGZhaWx1cmVDYXNlcywgc3R1Yklu
Zm8pOwogICAgIAogICAgIGlmICghZGlyZWN0KSB7CiAgICAgICAgIC8vIFZlcmlmeSB0aGF0IG5v
dGhpbmcgaW4gdGhlIHByb3RvdHlwZSBjaGFpbiBoYXMgYSBzZXR0ZXIgZm9yIHRoaXMgcHJvcGVy
dHkuIAogICAgICAgICBmb3IgKFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+KiBpdCA9IGNoYWluLT5o
ZWFkKCk7ICppdDsgKytpdCkKLSAgICAgICAgICAgIHRlc3RQcm90b3R5cGUoKCppdCktPnN0b3Jl
ZFByb3RvdHlwZSgpLCBmYWlsdXJlQ2FzZXMpOworICAgICAgICAgICAgdGVzdFByb3RvdHlwZSgo
Kml0KS0+c3RvcmVkUHJvdG90eXBlKCksIGZhaWx1cmVDYXNlcywgc3R1YkluZm8pOwogICAgIH0K
IAogICAgIC8vIElmIHdlIHN1Y2NlZWQgaW4gYWxsIG9mIG91ciBjaGVja3MsIGFuZCB0aGUgY29k
ZSB3YXMgb3B0aW1pemFibGUsIHRoZW4gbWFrZSBzdXJlIHdlCkBAIC04MDgsOCArODA4LDcgQEAg
dm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvKFN0cgogICAgIEp1bXAgZmFpbHVy
ZUNhc2VzMSA9IGNoZWNrU3RydWN0dXJlKHJlZ1QwLCBzdHJ1Y3R1cmUpOwogICAgIAogICAgIC8v
IENoZWNrIHRoZSBwcm90b3R5cGUgb2JqZWN0J3MgU3RydWN0dXJlIGhhZCBub3QgY2hhbmdlZC4K
LSAgICBtb3ZlKFRydXN0ZWRJbW1QdHIocHJvdG9PYmplY3QpLCByZWdUMyk7Ci0gICAgSnVtcCBm
YWlsdXJlQ2FzZXMyID0gYnJhbmNoUHRyKE5vdEVxdWFsLCBBZGRyZXNzKHJlZ1QzLCBKU0NlbGw6
OnN0cnVjdHVyZU9mZnNldCgpKSwgVHJ1c3RlZEltbVB0cihwcm90b3R5cGVTdHJ1Y3R1cmUpKTsK
KyAgICBKdW1wIGZhaWx1cmVDYXNlczIgPSBhZGRTdHJ1Y3R1cmVUcmFuc2l0aW9uQ2hlY2socHJv
dG9PYmplY3QsIHByb3RvdHlwZVN0cnVjdHVyZSwgc3R1YkluZm8sIHJlZ1QzKTsKIAogICAgIGJv
b2wgbmVlZHNTdHViTGluayA9IGZhbHNlOwogICAgIC8vIENoZWNrcyBvdXQgb2theSEKQEAgLTgz
OSw3ICs4MzgsOCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG8oU3RyCiAg
ICAgLy8gVXNlIHRoZSBwYXRjaCBpbmZvcm1hdGlvbiB0byBsaW5rIHRoZSBmYWlsdXJlIGNhc2Vz
IGJhY2sgdG8gdGhlIG9yaWdpbmFsIHNsb3cgY2FzZSByb3V0aW5lLgogICAgIENvZGVMb2NhdGlv
bkxhYmVsIHNsb3dDYXNlQmVnaW4gPSBzdHViSW5mby0+Y2FsbFJldHVybkxvY2F0aW9uLmxhYmVs
QXRPZmZzZXQoLXN0dWJJbmZvLT5wYXRjaC5iYXNlbGluZS51LmdldC5jb2xkUGF0aEJlZ2luKTsK
ICAgICBwYXRjaEJ1ZmZlci5saW5rKGZhaWx1cmVDYXNlczEsIHNsb3dDYXNlQmVnaW4pOwotICAg
IHBhdGNoQnVmZmVyLmxpbmsoZmFpbHVyZUNhc2VzMiwgc2xvd0Nhc2VCZWdpbik7CisgICAgaWYg
KGZhaWx1cmVDYXNlczIuaXNTZXQoKSkKKyAgICAgICAgcGF0Y2hCdWZmZXIubGluayhmYWlsdXJl
Q2FzZXMyLCBzbG93Q2FzZUJlZ2luKTsKICAgICAKICAgICAvLyBPbiBzdWNjZXNzIHJldHVybiBi
YWNrIHRvIHRoZSBob3QgcGF0Y2ggY29kZSwgYXQgYSBwb2ludCBpdCB3aWxsIHBlcmZvcm0gdGhl
IHN0b3JlIHRvIGRlc3QgZm9yIHVzLgogICAgIHBhdGNoQnVmZmVyLmxpbmsoc3VjY2Vzcywgc3R1
YkluZm8tPmhvdFBhdGhCZWdpbi5sYWJlbEF0T2Zmc2V0KHN0dWJJbmZvLT5wYXRjaC5iYXNlbGlu
ZS51LmdldC5wdXRSZXN1bHQpKTsKQEAgLTk0OCw4ICs5NDgsNyBAQCB2b2lkIEpJVDo6cHJpdmF0
ZUNvbXBpbGVHZXRCeUlkUHJvdG9MaXN0CiAgICAgSnVtcCBmYWlsdXJlQ2FzZXMxID0gY2hlY2tT
dHJ1Y3R1cmUocmVnVDAsIHN0cnVjdHVyZSk7CiAgICAgCiAgICAgLy8gQ2hlY2sgdGhlIHByb3Rv
dHlwZSBvYmplY3QncyBTdHJ1Y3R1cmUgaGFkIG5vdCBjaGFuZ2VkLgotICAgIG1vdmUoVHJ1c3Rl
ZEltbVB0cihwcm90b09iamVjdCksIHJlZ1QzKTsKLSAgICBKdW1wIGZhaWx1cmVDYXNlczIgPSBi
cmFuY2hQdHIoTm90RXF1YWwsIEFkZHJlc3MocmVnVDMsIEpTQ2VsbDo6c3RydWN0dXJlT2Zmc2V0
KCkpLCBUcnVzdGVkSW1tUHRyKHByb3RvdHlwZVN0cnVjdHVyZSkpOworICAgIEp1bXAgZmFpbHVy
ZUNhc2VzMiA9IGFkZFN0cnVjdHVyZVRyYW5zaXRpb25DaGVjayhwcm90b09iamVjdCwgcHJvdG90
eXBlU3RydWN0dXJlLCBzdHViSW5mbywgcmVnVDMpOwogICAgIAogICAgIGJvb2wgbmVlZHNTdHVi
TGluayA9IGZhbHNlOwogICAgIGJvb2wgaXNEaXJlY3QgPSBmYWxzZTsKQEAgLTk4Niw3ICs5ODUs
OCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG9MaXN0CiAgICAgLy8gVXNl
IHRoZSBwYXRjaCBpbmZvcm1hdGlvbiB0byBsaW5rIHRoZSBmYWlsdXJlIGNhc2VzIGJhY2sgdG8g
dGhlIG9yaWdpbmFsIHNsb3cgY2FzZSByb3V0aW5lLgogICAgIENvZGVMb2NhdGlvbkxhYmVsIGxh
c3RQcm90b0JlZ2luID0gQ29kZUxvY2F0aW9uTGFiZWwoSklUU3R1YlJvdXRpbmU6OmFzQ29kZVB0
cihwcm90b3R5cGVTdHJ1Y3R1cmVzLT5saXN0W2N1cnJlbnRJbmRleCAtIDFdLnN0dWJSb3V0aW5l
KSk7CiAgICAgcGF0Y2hCdWZmZXIubGluayhmYWlsdXJlQ2FzZXMxLCBsYXN0UHJvdG9CZWdpbik7
Ci0gICAgcGF0Y2hCdWZmZXIubGluayhmYWlsdXJlQ2FzZXMyLCBsYXN0UHJvdG9CZWdpbik7Cisg
ICAgaWYgKGZhaWx1cmVDYXNlczIuaXNTZXQoKSkKKyAgICAgICAgcGF0Y2hCdWZmZXIubGluayhm
YWlsdXJlQ2FzZXMyLCBsYXN0UHJvdG9CZWdpbik7CiAgICAgCiAgICAgLy8gT24gc3VjY2VzcyBy
ZXR1cm4gYmFjayB0byB0aGUgaG90IHBhdGNoIGNvZGUsIGF0IGEgcG9pbnQgaXQgd2lsbCBwZXJm
b3JtIHRoZSBzdG9yZSB0byBkZXN0IGZvciB1cy4KICAgICBwYXRjaEJ1ZmZlci5saW5rKHN1Y2Nl
c3MsIHN0dWJJbmZvLT5ob3RQYXRoQmVnaW4ubGFiZWxBdE9mZnNldChzdHViSW5mby0+cGF0Y2gu
YmFzZWxpbmUudS5nZXQucHV0UmVzdWx0KSk7CkBAIC0xMDI1LDcgKzEwMjUsNyBAQCB2b2lkIEpJ
VDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0CiAgICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IGNvdW50OyArK2ksICsraXQpIHsKICAgICAgICAgcHJvdG9PYmplY3QgPSBhc09iamVj
dChjdXJyU3RydWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoY2FsbEZyYW1lKSk7CiAgICAgICAg
IGN1cnJTdHJ1Y3R1cmUgPSBpdC0+Z2V0KCk7Ci0gICAgICAgIHRlc3RQcm90b3R5cGUocHJvdG9P
YmplY3QsIGJ1Y2tldHNPZkZhaWwpOworICAgICAgICB0ZXN0UHJvdG90eXBlKHByb3RvT2JqZWN0
LCBidWNrZXRzT2ZGYWlsLCBzdHViSW5mbyk7CiAgICAgfQogICAgIEFTU0VSVChwcm90b09iamVj
dCk7CiAgICAgCkBAIC0xMTA0LDcgKzExMDQsNyBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVH
ZXRCeUlkQ2hhaW4oU3RyCiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGNvdW50OyArK2ks
ICsraXQpIHsKICAgICAgICAgcHJvdG9PYmplY3QgPSBhc09iamVjdChjdXJyU3RydWN0dXJlLT5w
cm90b3R5cGVGb3JMb29rdXAoY2FsbEZyYW1lKSk7CiAgICAgICAgIGN1cnJTdHJ1Y3R1cmUgPSBp
dC0+Z2V0KCk7Ci0gICAgICAgIHRlc3RQcm90b3R5cGUocHJvdG9PYmplY3QsIGJ1Y2tldHNPZkZh
aWwpOworICAgICAgICB0ZXN0UHJvdG90eXBlKHByb3RvT2JqZWN0LCBidWNrZXRzT2ZGYWlsLCBz
dHViSW5mbyk7CiAgICAgfQogICAgIEFTU0VSVChwcm90b09iamVjdCk7CiAgICAgCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcAkocmV2
aXNpb24gMTMzMzUyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFj
Y2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY4MSw3ICs2ODEsNyBAQCB2b2lkIEpJVDo6cHJp
dmF0ZUNvbXBpbGVQdXRCeUlkVHJhbnNpdGlvCiAgICAgZmFpbHVyZUNhc2VzLmFwcGVuZChlbWl0
SnVtcElmTm90SlNDZWxsKHJlZ1QwKSk7CiAgICAgZmFpbHVyZUNhc2VzLmFwcGVuZChicmFuY2hQ
dHIoTm90RXF1YWwsIEFkZHJlc3MocmVnVDAsIEpTQ2VsbDo6c3RydWN0dXJlT2Zmc2V0KCkpLCBU
cnVzdGVkSW1tUHRyKG9sZFN0cnVjdHVyZSkpKTsKICAgICAKLSAgICB0ZXN0UHJvdG90eXBlKG9s
ZFN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCksIGZhaWx1cmVDYXNlcyk7CisgICAgdGVzdFBy
b3RvdHlwZShvbGRTdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpLCBmYWlsdXJlQ2FzZXMsIHN0
dWJJbmZvKTsKICAgICAKICAgICBBU1NFUlQob2xkU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUo
KS5pc051bGwoKSB8fCBvbGRTdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpLmFzQ2VsbCgpLT5z
dHJ1Y3R1cmUoKSA9PSBjaGFpbi0+aGVhZCgpLT5nZXQoKSk7CiAKQEAgLTY4OSw3ICs2ODksNyBA
QCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVQdXRCeUlkVHJhbnNpdGlvCiAgICAgaWYgKCFkaXJl
Y3QpIHsKICAgICAgICAgZm9yIChXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiogaXQgPSBjaGFpbi0+
aGVhZCgpOyAqaXQ7ICsraXQpIHsKICAgICAgICAgICAgIEFTU0VSVCgoKml0KS0+c3RvcmVkUHJv
dG90eXBlKCkuaXNOdWxsKCkgfHwgKCppdCktPnN0b3JlZFByb3RvdHlwZSgpLmFzQ2VsbCgpLT5z
dHJ1Y3R1cmUoKSA9PSBpdFsxXS5nZXQoKSk7Ci0gICAgICAgICAgICB0ZXN0UHJvdG90eXBlKCgq
aXQpLT5zdG9yZWRQcm90b3R5cGUoKSwgZmFpbHVyZUNhc2VzKTsKKyAgICAgICAgICAgIHRlc3RQ
cm90b3R5cGUoKCppdCktPnN0b3JlZFByb3RvdHlwZSgpLCBmYWlsdXJlQ2FzZXMsIHN0dWJJbmZv
KTsKICAgICAgICAgfQogICAgIH0KIApAQCAtODQxLDggKzg0MSw3IEBAIHZvaWQgSklUOjpwcml2
YXRlQ29tcGlsZUdldEJ5SWRQcm90byhTdHIKICAgICBKdW1wIGZhaWx1cmVDYXNlczEgPSBjaGVj
a1N0cnVjdHVyZShyZWdUMCwgc3RydWN0dXJlKTsKIAogICAgIC8vIENoZWNrIHRoZSBwcm90b3R5
cGUgb2JqZWN0J3MgU3RydWN0dXJlIGhhZCBub3QgY2hhbmdlZC4KLSAgICBtb3ZlKFRydXN0ZWRJ
bW1QdHIocHJvdG9PYmplY3QpLCByZWdUMyk7Ci0gICAgSnVtcCBmYWlsdXJlQ2FzZXMyID0gYnJh
bmNoUHRyKE5vdEVxdWFsLCBBZGRyZXNzKHJlZ1QzLCBKU0NlbGw6OnN0cnVjdHVyZU9mZnNldCgp
KSwgVHJ1c3RlZEltbVB0cihwcm90b3R5cGVTdHJ1Y3R1cmUpKTsKKyAgICBKdW1wIGZhaWx1cmVD
YXNlczIgPSBhZGRTdHJ1Y3R1cmVUcmFuc2l0aW9uQ2hlY2socHJvdG9PYmplY3QsIHByb3RvdHlw
ZVN0cnVjdHVyZSwgc3R1YkluZm8sIHJlZ1QzKTsKIAogICAgIGJvb2wgbmVlZHNTdHViTGluayA9
IGZhbHNlOwogICAgIApAQCAtODcxLDcgKzg3MCw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGls
ZUdldEJ5SWRQcm90byhTdHIKICAgICAvLyBVc2UgdGhlIHBhdGNoIGluZm9ybWF0aW9uIHRvIGxp
bmsgdGhlIGZhaWx1cmUgY2FzZXMgYmFjayB0byB0aGUgb3JpZ2luYWwgc2xvdyBjYXNlIHJvdXRp
bmUuCiAgICAgQ29kZUxvY2F0aW9uTGFiZWwgc2xvd0Nhc2VCZWdpbiA9IHN0dWJJbmZvLT5jYWxs
UmV0dXJuTG9jYXRpb24ubGFiZWxBdE9mZnNldCgtc3R1YkluZm8tPnBhdGNoLmJhc2VsaW5lLnUu
Z2V0LmNvbGRQYXRoQmVnaW4pOwogICAgIHBhdGNoQnVmZmVyLmxpbmsoZmFpbHVyZUNhc2VzMSwg
c2xvd0Nhc2VCZWdpbik7Ci0gICAgcGF0Y2hCdWZmZXIubGluayhmYWlsdXJlQ2FzZXMyLCBzbG93
Q2FzZUJlZ2luKTsKKyAgICBpZiAoZmFpbHVyZUNhc2VzMi5pc1NldCgpKQorICAgICAgICBwYXRj
aEJ1ZmZlci5saW5rKGZhaWx1cmVDYXNlczIsIHNsb3dDYXNlQmVnaW4pOwogCiAgICAgLy8gT24g
c3VjY2VzcyByZXR1cm4gYmFjayB0byB0aGUgaG90IHBhdGNoIGNvZGUsIGF0IGEgcG9pbnQgaXQg
d2lsbCBwZXJmb3JtIHRoZSBzdG9yZSB0byBkZXN0IGZvciB1cy4KICAgICBwYXRjaEJ1ZmZlci5s
aW5rKHN1Y2Nlc3MsIHN0dWJJbmZvLT5ob3RQYXRoQmVnaW4ubGFiZWxBdE9mZnNldChzdHViSW5m
by0+cGF0Y2guYmFzZWxpbmUudS5nZXQucHV0UmVzdWx0KSk7CkBAIC05NzYsOCArOTc2LDcgQEAg
dm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvTGlzdAogICAgIEp1bXAgZmFpbHVy
ZUNhc2VzMSA9IGNoZWNrU3RydWN0dXJlKHJlZ1QwLCBzdHJ1Y3R1cmUpOwogCiAgICAgLy8gQ2hl
Y2sgdGhlIHByb3RvdHlwZSBvYmplY3QncyBTdHJ1Y3R1cmUgaGFkIG5vdCBjaGFuZ2VkLgotICAg
IG1vdmUoVHJ1c3RlZEltbVB0cihwcm90b09iamVjdCksIHJlZ1QzKTsKLSAgICBKdW1wIGZhaWx1
cmVDYXNlczIgPSBicmFuY2hQdHIoTm90RXF1YWwsIEFkZHJlc3MocmVnVDMsIEpTQ2VsbDo6c3Ry
dWN0dXJlT2Zmc2V0KCkpLCBUcnVzdGVkSW1tUHRyKHByb3RvdHlwZVN0cnVjdHVyZSkpOworICAg
IEp1bXAgZmFpbHVyZUNhc2VzMiA9IGFkZFN0cnVjdHVyZVRyYW5zaXRpb25DaGVjayhwcm90b09i
amVjdCwgcHJvdG90eXBlU3RydWN0dXJlLCBzdHViSW5mbywgcmVnVDMpOwogCiAgICAgLy8gQ2hl
Y2tzIG91dCBva2F5IQogICAgIGJvb2wgbmVlZHNTdHViTGluayA9IGZhbHNlOwpAQCAtMTAxNyw3
ICsxMDE2LDggQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvTGlzdAogICAg
IC8vIFVzZSB0aGUgcGF0Y2ggaW5mb3JtYXRpb24gdG8gbGluayB0aGUgZmFpbHVyZSBjYXNlcyBi
YWNrIHRvIHRoZSBvcmlnaW5hbCBzbG93IGNhc2Ugcm91dGluZS4KICAgICBDb2RlTG9jYXRpb25M
YWJlbCBsYXN0UHJvdG9CZWdpbiA9IENvZGVMb2NhdGlvbkxhYmVsKEpJVFN0dWJSb3V0aW5lOjph
c0NvZGVQdHIocHJvdG90eXBlU3RydWN0dXJlcy0+bGlzdFtjdXJyZW50SW5kZXggLSAxXS5zdHVi
Um91dGluZSkpOwogICAgIHBhdGNoQnVmZmVyLmxpbmsoZmFpbHVyZUNhc2VzMSwgbGFzdFByb3Rv
QmVnaW4pOwotICAgIHBhdGNoQnVmZmVyLmxpbmsoZmFpbHVyZUNhc2VzMiwgbGFzdFByb3RvQmVn
aW4pOworICAgIGlmIChmYWlsdXJlQ2FzZXMyLmlzU2V0KCkpCisgICAgICAgIHBhdGNoQnVmZmVy
LmxpbmsoZmFpbHVyZUNhc2VzMiwgbGFzdFByb3RvQmVnaW4pOwogCiAgICAgLy8gT24gc3VjY2Vz
cyByZXR1cm4gYmFjayB0byB0aGUgaG90IHBhdGNoIGNvZGUsIGF0IGEgcG9pbnQgaXQgd2lsbCBw
ZXJmb3JtIHRoZSBzdG9yZSB0byBkZXN0IGZvciB1cy4KICAgICBwYXRjaEJ1ZmZlci5saW5rKHN1
Y2Nlc3MsIHN0dWJJbmZvLT5ob3RQYXRoQmVnaW4ubGFiZWxBdE9mZnNldChzdHViSW5mby0+cGF0
Y2guYmFzZWxpbmUudS5nZXQucHV0UmVzdWx0KSk7CkBAIC0xMDU0LDcgKzEwNTQsNyBAQCB2b2lk
IEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0CiAgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IGNvdW50OyArK2ksICsraXQpIHsKICAgICAgICAgcHJvdG9PYmplY3QgPSBhc09i
amVjdChjdXJyU3RydWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoY2FsbEZyYW1lKSk7CiAgICAg
ICAgIGN1cnJTdHJ1Y3R1cmUgPSBpdC0+Z2V0KCk7Ci0gICAgICAgIHRlc3RQcm90b3R5cGUocHJv
dG9PYmplY3QsIGJ1Y2tldHNPZkZhaWwpOworICAgICAgICB0ZXN0UHJvdG90eXBlKHByb3RvT2Jq
ZWN0LCBidWNrZXRzT2ZGYWlsLCBzdHViSW5mbyk7CiAgICAgfQogICAgIEFTU0VSVChwcm90b09i
amVjdCk7CiAgICAgCkBAIC0xMTMzLDcgKzExMzMsNyBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBp
bGVHZXRCeUlkQ2hhaW4oU3RyCiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGNvdW50OyAr
K2ksICsraXQpIHsKICAgICAgICAgcHJvdG9PYmplY3QgPSBhc09iamVjdChjdXJyU3RydWN0dXJl
LT5wcm90b3R5cGVGb3JMb29rdXAoY2FsbEZyYW1lKSk7CiAgICAgICAgIGN1cnJTdHJ1Y3R1cmUg
PSBpdC0+Z2V0KCk7Ci0gICAgICAgIHRlc3RQcm90b3R5cGUocHJvdG9PYmplY3QsIGJ1Y2tldHNP
ZkZhaWwpOworICAgICAgICB0ZXN0UHJvdG90eXBlKHByb3RvT2JqZWN0LCBidWNrZXRzT2ZGYWls
LCBzdHViSW5mbyk7CiAgICAgfQogICAgIEFTU0VSVChwcm90b09iamVjdCk7CiAKQEAgLTEzMDgs
MTQgKzEzMDgsNDAgQEAgdm9pZCBKSVQ6OmVtaXRXcml0ZUJhcnJpZXIoSlNDZWxsKiBvd25lcgog
I2VuZGlmCiB9CiAKLXZvaWQgSklUOjp0ZXN0UHJvdG90eXBlKEpTVmFsdWUgcHJvdG90eXBlLCBK
dW1wTGlzdCYgZmFpbHVyZUNhc2VzKQorSklUOjpKdW1wIEpJVDo6YWRkU3RydWN0dXJlVHJhbnNp
dGlvbkNoZWNrKEpTQ2VsbCogb2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RydWN0dXJl
U3R1YkluZm8qIHN0dWJJbmZvLCBSZWdpc3RlcklEIHNjcmF0Y2gpCit7CisgICAgaWYgKG9iamVj
dC0+c3RydWN0dXJlKCkgPT0gc3RydWN0dXJlICYmIHN0cnVjdHVyZS0+dHJhbnNpdGlvbldhdGNo
cG9pbnRTZXRJc1N0aWxsVmFsaWQoKSkgeworICAgICAgICBzdHJ1Y3R1cmUtPmFkZFRyYW5zaXRp
b25XYXRjaHBvaW50KHN0dWJJbmZvLT5hZGRXYXRjaHBvaW50KG1fY29kZUJsb2NrKSk7CisjaWYg
IUFTU0VSVF9ESVNBQkxFRAorICAgICAgICBtb3ZlKFRydXN0ZWRJbW1QdHIob2JqZWN0KSwgc2Ny
YXRjaCk7CisgICAgICAgIEp1bXAgb2sgPSBicmFuY2hQdHIoRXF1YWwsIEFkZHJlc3Moc2NyYXRj
aCwgSlNDZWxsOjpzdHJ1Y3R1cmVPZmZzZXQoKSksIFRydXN0ZWRJbW1QdHIoc3RydWN0dXJlKSk7
CisgICAgICAgIGJyZWFrcG9pbnQoKTsKKyAgICAgICAgb2subGluayh0aGlzKTsKKyNlbmRpZgor
ICAgICAgICBKdW1wIHJlc3VsdDsgLy8gUmV0dXJuaW5nIGFuIHVuc2V0IGp1bXAgdGhpcyB3YXkg
YmVjYXVzZSBvdGhlcndpc2UgVkMrKyB3b3VsZCBjb21wbGFpbi4KKyAgICAgICAgcmV0dXJuIHJl
c3VsdDsKKyAgICB9CisgICAgCisgICAgbW92ZShUcnVzdGVkSW1tUHRyKG9iamVjdCksIHNjcmF0
Y2gpOworICAgIHJldHVybiBicmFuY2hQdHIoTm90RXF1YWwsIEFkZHJlc3Moc2NyYXRjaCwgSlND
ZWxsOjpzdHJ1Y3R1cmVPZmZzZXQoKSksIFRydXN0ZWRJbW1QdHIoc3RydWN0dXJlKSk7Cit9CisK
K3ZvaWQgSklUOjphZGRTdHJ1Y3R1cmVUcmFuc2l0aW9uQ2hlY2soSlNDZWxsKiBvYmplY3QsIFN0
cnVjdHVyZSogc3RydWN0dXJlLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEp1bXBMaXN0
JiBmYWlsdXJlQ2FzZXMsIFJlZ2lzdGVySUQgc2NyYXRjaCkKK3sKKyAgICBKdW1wIGZhaWx1cmVD
YXNlID0gYWRkU3RydWN0dXJlVHJhbnNpdGlvbkNoZWNrKG9iamVjdCwgc3RydWN0dXJlLCBzdHVi
SW5mbywgc2NyYXRjaCk7CisgICAgaWYgKCFmYWlsdXJlQ2FzZS5pc1NldCgpKQorICAgICAgICBy
ZXR1cm47CisgICAgCisgICAgZmFpbHVyZUNhc2VzLmFwcGVuZChmYWlsdXJlQ2FzZSk7Cit9CisK
K3ZvaWQgSklUOjp0ZXN0UHJvdG90eXBlKEpTVmFsdWUgcHJvdG90eXBlLCBKdW1wTGlzdCYgZmFp
bHVyZUNhc2VzLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8pCiB7CiAgICAgaWYgKHByb3Rv
dHlwZS5pc051bGwoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgQVNTRVJUKHByb3RvdHlwZS5p
c0NlbGwoKSk7Ci0gICAgbW92ZShUcnVzdGVkSW1tUHRyKHByb3RvdHlwZS5hc0NlbGwoKSksIHJl
Z1QzKTsKLSAgICBmYWlsdXJlQ2FzZXMuYXBwZW5kKGJyYW5jaFB0cihOb3RFcXVhbCwgQWRkcmVz
cyhyZWdUMywgSlNDZWxsOjpzdHJ1Y3R1cmVPZmZzZXQoKSksIFRydXN0ZWRJbW1QdHIocHJvdG90
eXBlLmFzQ2VsbCgpLT5zdHJ1Y3R1cmUoKSkpKTsKKyAgICBhZGRTdHJ1Y3R1cmVUcmFuc2l0aW9u
Q2hlY2socHJvdG90eXBlLmFzQ2VsbCgpLCBwcm90b3R5cGUuYXNDZWxsKCktPnN0cnVjdHVyZSgp
LCBzdHViSW5mbywgZmFpbHVyZUNhc2VzLCByZWdUMyk7CiB9CiAKIHZvaWQgSklUOjpwYXRjaE1l
dGhvZENhbGxQcm90byhKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIENvZGVCbG9jayogY29kZUJs
b2NrLCBNZXRob2RDYWxsTGlua0luZm8mIG1ldGhvZENhbGxMaW5rSW5mbywgU3RydWN0dXJlU3R1
YkluZm8mIHN0dWJJbmZvLCBKU09iamVjdCogY2FsbGVlLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
SlNPYmplY3QqIHByb3RvLCBSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3MpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>