<?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>117614</bug_id>
          
          <creation_ts>2013-06-13 16:11:54 -0700</creation_ts>
          <short_desc>Function names on Object.prototype should be common identifiers</short_desc>
          <delta_ts>2013-12-17 21:09:13 -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>New Bugs</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>900315</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-06-13 16:11:54 -0700</bug_when>
    <thetext>Function names on Object.prototype should be common identifiers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>900318</commentid>
    <comment_count>1</comment_count>
      <attachid>204649</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-06-13 16:17:06 -0700</bug_when>
    <thetext>Created attachment 204649
Fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>900335</commentid>
    <comment_count>2</comment_count>
      <attachid>204649</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-06-13 17:39:11 -0700</bug_when>
    <thetext>Comment on attachment 204649
Fixes the bug

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

&gt; Source/JavaScriptCore/runtime/JSObject.h:1472
&gt; +#define JSC_NATIVE_INTRINSIC_FUNCTION_IDENT(jsName, cppName, attributes, length, intrinsic) \

We can do this without a second macro. We just need this inline function:

    inline Identifier makeIdentifier(ExecState* exec, const char* name)
    {
        return Identifier(exec, name);
    }

    inline Identifier makeIdentifier(ExecState*, const Identifier&amp; identifier)
    {
        return identifier;
    }

Then change the existing macro to use this function instead of calling the Identifier constructor directly. I’d love to not add a new macro. I also have no idea why this is a macro instead of an inline function in the first place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>900639</commentid>
    <comment_count>3</comment_count>
      <attachid>204649</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-06-14 13:36:14 -0700</bug_when>
    <thetext>Comment on attachment 204649
Fixes the bug

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

&gt;&gt; Source/JavaScriptCore/runtime/JSObject.h:1472
&gt;&gt; +#define JSC_NATIVE_INTRINSIC_FUNCTION_IDENT(jsName, cppName, attributes, length, intrinsic) \
&gt; 
&gt; We can do this without a second macro. We just need this inline function:
&gt; 
&gt;     inline Identifier makeIdentifier(ExecState* exec, const char* name)
&gt;     {
&gt;         return Identifier(exec, name);
&gt;     }
&gt; 
&gt;     inline Identifier makeIdentifier(ExecState*, const Identifier&amp; identifier)
&gt;     {
&gt;         return identifier;
&gt;     }
&gt; 
&gt; Then change the existing macro to use this function instead of calling the Identifier constructor directly. I’d love to not add a new macro. I also have no idea why this is a macro instead of an inline function in the first place.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>900640</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-06-14 13:36:41 -0700</bug_when>
    <thetext>Committed r151605: &lt;http://trac.webkit.org/changeset/151605&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960829</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-12-17 21:09:13 -0800</bug_when>
    <thetext>This was 3-6% improvement on various Dromaeo CSS query tests:
https://perf.webkit.org/#mode=charts&amp;chartList=%5B%5B%22mac-mountainlion%22%2C%22Dromaeo%2Fcssquery-dojo%3ARuns%22%5D%2C%5B%22mac-mountainlion%22%2C%22Dromaeo%2Fcssquery-jquery%3ARuns%22%5D%2C%5B%22mac-mountainlion%22%2C%22Dromaeo%2Fcssquery-prototype%3ARuns%22%5D%2C%5B%22mac-lion%22%2C%22Dromaeo%2Fcssquery-prototype%3ARuns%22%5D%5D&amp;days=209&amp;zoom=%5B1370938426131.5286%2C1371950721246.015%5D</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>204649</attachid>
            <date>2013-06-13 16:17:06 -0700</date>
            <delta_ts>2013-06-14 13:36:14 -0700</delta_ts>
            <desc>Fixes the bug</desc>
            <filename>bug-117614-20130613161524.patch</filename>
            <type>text/plain</type>
            <size>16694</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTUxNTcyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBA
CisyMDEzLTA2LTEzICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAg
IEZ1bmN0aW9uIG5hbWVzIG9uIE9iamVjdC5wcm90b3R5cGUgc2hvdWxkIGJlIGNvbW1vbiBpZGVu
dGlmaWVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTE3NjE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UGF0Y2ggd3JpdHRlbiBieSBTYW0gV2VpbmlnLiBNYWtlIE9iamVjdCdzIHByb3RvdHlwZSBmdW5j
dGlvbiBuYW1lcyBjb21tb24gaWRlbnRpZmlmZXJzIHNpbmNlIHRoZXkncmUgdXNlZCBmcmVxdWVu
dGx5LgorCisgICAgICAgICogcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oOgorICAgICAgICAq
IHJ1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OmNvbnN0cnVj
dEZ1bmN0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAg
ICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OnJlc2V0KToKKyAgICAgICAgKiBydW50aW1lL0pTT2Jq
ZWN0Lmg6CisgICAgICAgICogcnVudGltZS9PYmplY3RQcm90b3R5cGUuY3BwOgorICAgICAgICAo
SlNDOjpPYmplY3RQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1l
L1N0cmluZ1Byb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0M6OlN0cmluZ1Byb3RvdHlwZTo6Zmlu
aXNoQ3JlYXRpb24pOgorCiAyMDEzLTA2LTEyICBDb25yYWQgU2h1bHR6ICA8Y29ucmFkX3NodWx0
ekBhcHBsZS5jb20+CiAKICAgICAgICAgSlNFeHBvcnQgaGVhZGVyIGRvY3VtZW50YXRpb24gc3Vi
c3RpdHV0ZXMgInNlbWljb2xvbiIgZm9yICJjb2xvbiIKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAkocmV2aXNpb24gMTUxNTI1
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAko
d29ya2luZyBjb3B5KQpAQCAtMjcsOSArMjcsMzMgQEAKIC8vIE1hcmtlZEFyZ3VtZW50QnVmZmVy
IG9mIHByb3BlcnR5IG5hbWVzLCBwYXNzZWQgdG8gYSBtYWNybyBzbyB3ZSBjYW4gZG8gc2V0IHRo
ZW0gdXAgdmFyaW91cwogLy8gd2F5cyB3aXRob3V0IHJlcGVhdGluZyB0aGUgbGlzdC4KICNkZWZp
bmUgSlNDX0NPTU1PTl9JREVOVElGSUVSU19FQUNIX1BST1BFUlRZX05BTUUobWFjcm8pIFwKKyAg
ICBtYWNybyhBcnJheSkgXAorICAgIG1hY3JvKEJvb2xlYW4pIFwKKyAgICBtYWNybyhEYXRlKSBc
CisgICAgbWFjcm8oRXJyb3IpIFwKKyAgICBtYWNybyhFdmFsRXJyb3IpIFwKKyAgICBtYWNybyhG
dW5jdGlvbikgXAorICAgIG1hY3JvKEluZmluaXR5KSBcCisgICAgbWFjcm8oSlNPTikgXAorICAg
IG1hY3JvKE1hdGgpIFwKKyAgICBtYWNybyhOYU4pIFwKKyAgICBtYWNybyhOdW1iZXIpIFwKKyAg
ICBtYWNybyhPYmplY3QpIFwKKyAgICBtYWNybyhSYW5nZUVycm9yKSBcCisgICAgbWFjcm8oUmVm
ZXJlbmNlRXJyb3IpIFwKKyAgICBtYWNybyhSZWdFeHApIFwKKyAgICBtYWNybyhTdHJpbmcpIFwK
KyAgICBtYWNybyhTeW50YXhFcnJvcikgXAorICAgIG1hY3JvKFR5cGVFcnJvcikgXAorICAgIG1h
Y3JvKFVSSUVycm9yKSBcCisgICAgbWFjcm8oVVRDKSBcCisgICAgbWFjcm8oX19kZWZpbmVHZXR0
ZXJfXykgXAorICAgIG1hY3JvKF9fZGVmaW5lU2V0dGVyX18pIFwKKyAgICBtYWNybyhfX2xvb2t1
cEdldHRlcl9fKSBcCisgICAgbWFjcm8oX19sb29rdXBTZXR0ZXJfXykgXAorICAgIG1hY3JvKGFu
b255bW91cykgXAogICAgIG1hY3JvKGFwcGx5KSBcCiAgICAgbWFjcm8oYXJndW1lbnRzKSBcCi0g
ICAgbWFjcm8oQXJyYXkpIFwKICAgICBtYWNybyhiaW5kKSBcCiAgICAgbWFjcm8oYnl0ZWNvZGUp
IFwKICAgICBtYWNybyhieXRlY29kZUluZGV4KSBcCkBAIC00NywxNCArNzEsMTYgQEAKICAgICBt
YWNybyhjb3VudGVycykgXAogICAgIG1hY3JvKGRlc2NyaXB0aW9uKSBcCiAgICAgbWFjcm8oZGVz
Y3JpcHRpb25zKSBcCisgICAgbWFjcm8oZGlzcGxheU5hbWUpIFwKKyAgICBtYWNybyhkb2N1bWVu
dCkgXAogICAgIG1hY3JvKGVudW1lcmFibGUpIFwKICAgICBtYWNybyhldmFsKSBcCiAgICAgbWFj
cm8oZXhlYykgXAogICAgIG1hY3JvKGV4ZWN1dGlvbkNvdW50KSBcCiAgICAgbWFjcm8oZXhpdEtp
bmQpIFwKICAgICBtYWNybyhmcm9tQ2hhckNvZGUpIFwKLSAgICBtYWNybyhnbG9iYWwpIFwKICAg
ICBtYWNybyhnZXQpIFwKKyAgICBtYWNybyhnbG9iYWwpIFwKICAgICBtYWNybyhoYXNPd25Qcm9w
ZXJ0eSkgXAogICAgIG1hY3JvKGhhc2gpIFwKICAgICBtYWNybyhoZWFkZXIpIFwKQEAgLTY3LDE2
ICs5MywxNiBAQAogICAgIG1hY3JvKGlzQXJyYXkpIFwKICAgICBtYWNybyhpc1Byb3RvdHlwZU9m
KSBcCiAgICAgbWFjcm8oaXNXYXRjaHBvaW50KSBcCisgICAgbWFjcm8oam9pbikgXAogICAgIG1h
Y3JvKGxhc3RJbmRleCkgXAogICAgIG1hY3JvKGxlbmd0aCkgXAogICAgIG1hY3JvKG1lc3NhZ2Up
IFwKICAgICBtYWNybyhtdWx0aWxpbmUpIFwKICAgICBtYWNybyhuYW1lKSBcCiAgICAgbWFjcm8o
bm93KSBcCisgICAgbWFjcm8obnVtSW5saW5lZENhbGxzKSBcCiAgICAgbWFjcm8obnVtSW5saW5l
ZEdldEJ5SWRzKSBcCiAgICAgbWFjcm8obnVtSW5saW5lZFB1dEJ5SWRzKSBcCi0gICAgbWFjcm8o
bnVtSW5saW5lZENhbGxzKSBcCi0gICAgbWFjcm8oT2JqZWN0KSBcCiAgICAgbWFjcm8ob3Bjb2Rl
KSBcCiAgICAgbWFjcm8ob3JpZ2luKSBcCiAgICAgbWFjcm8ob3NyRXhpdFNpdGVzKSBcCkBAIC05
NywxNiArMTIzLDEwIEBACiAgICAgbWFjcm8odG9Mb2NhbGVTdHJpbmcpIFwKICAgICBtYWNybyh0
b1ByZWNpc2lvbikgXAogICAgIG1hY3JvKHRvU3RyaW5nKSBcCi0gICAgbWFjcm8oVVRDKSBcCiAg
ICAgbWFjcm8odmFsdWUpIFwKICAgICBtYWNybyh2YWx1ZU9mKSBcCi0gICAgbWFjcm8od3JpdGFi
bGUpIFwKLSAgICBtYWNybyhkaXNwbGF5TmFtZSkgXAotICAgIG1hY3JvKGpvaW4pIFwKLSAgICBt
YWNybyhfX2RlZmluZUdldHRlcl9fKSBcCi0gICAgbWFjcm8oX19kZWZpbmVTZXR0ZXJfXykgXAot
ICAgIG1hY3JvKF9fbG9va3VwR2V0dGVyX18pIFwKLSAgICBtYWNybyhfX2xvb2t1cFNldHRlcl9f
KQorICAgIG1hY3JvKHdpbmRvdykgXAorICAgIG1hY3JvKHdyaXRhYmxlKQogCiAjZGVmaW5lIEpT
Q19DT01NT05fSURFTlRJRklFUlNfRUFDSF9LRVlXT1JEKG1hY3JvKSBcCiAgICAgbWFjcm8obnVs
bCkgXApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1
Y3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVu
Y3Rpb25Db25zdHJ1Y3Rvci5jcHAJKHJldmlzaW9uIDE1MTUyNSkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMjQsNyArMTI0LDcgQEAgSlNPYmplY3QqIGNvbnN0cnVjdEZ1bmN0aW9uU2tpcHBpbmdFdmFs
RQogLy8gRUNNQSAxNS4zLjIgVGhlIEZ1bmN0aW9uIENvbnN0cnVjdG9yCiBKU09iamVjdCogY29u
c3RydWN0RnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBjb25zdCBBcmdMaXN0JiBhcmdzKQogewotICAgIHJldHVybiBjb25zdHJ1Y3RGdW5jdGlv
bihleGVjLCBnbG9iYWxPYmplY3QsIGFyZ3MsIElkZW50aWZpZXIoZXhlYywgImFub255bW91cyIp
LCBTdHJpbmcoKSwgVGV4dFBvc2l0aW9uOjptaW5pbXVtUG9zaXRpb24oKSk7CisgICAgcmV0dXJu
IGNvbnN0cnVjdEZ1bmN0aW9uKGV4ZWMsIGdsb2JhbE9iamVjdCwgYXJncywgZXhlYy0+cHJvcGVy
dHlOYW1lcygpLmFub255bW91cywgU3RyaW5nKCksIFRleHRQb3NpdGlvbjo6bWluaW11bVBvc2l0
aW9uKCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAJKHJldmlzaW9uIDE1MTUyNSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjk3LDMxICsyOTcsMzEgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6cmVz
ZXQoSlNWYWx1ZSBwcm90bwogICAgIG1fZXJyb3JQcm90b3R5cGUtPnB1dERpcmVjdFdpdGhvdXRU
cmFuc2l0aW9uKGV4ZWMtPnZtKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5jb25zdHJ1Y3Rvciwg
bV9lcnJvckNvbnN0cnVjdG9yLmdldCgpLCBEb250RW51bSk7CiAKICAgICBwdXREaXJlY3RXaXRo
b3V0VHJhbnNpdGlvbihleGVjLT52bSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuT2JqZWN0LCBv
YmplY3RDb25zdHJ1Y3RvciwgRG9udEVudW0pOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0
aW9uKGV4ZWMtPnZtKCksIElkZW50aWZpZXIoZXhlYywgIkZ1bmN0aW9uIiksIGZ1bmN0aW9uQ29u
c3RydWN0b3IsIERvbnRFbnVtKTsKKyAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVj
LT52bSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuRnVuY3Rpb24sIGZ1bmN0aW9uQ29uc3RydWN0
b3IsIERvbnRFbnVtKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT52bSgp
LCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuQXJyYXksIGFycmF5Q29uc3RydWN0b3IsIERvbnRFbnVt
KTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT52bSgpLCBJZGVudGlmaWVy
KGV4ZWMsICJCb29sZWFuIiksIGJvb2xlYW5Db25zdHJ1Y3RvciwgRG9udEVudW0pOwotICAgIHB1
dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPnZtKCksIElkZW50aWZpZXIoZXhlYywgIlN0
cmluZyIpLCBzdHJpbmdDb25zdHJ1Y3RvciwgRG9udEVudW0pOwotICAgIHB1dERpcmVjdFdpdGhv
dXRUcmFuc2l0aW9uKGV4ZWMtPnZtKCksIElkZW50aWZpZXIoZXhlYywgIk51bWJlciIpLCBudW1i
ZXJDb25zdHJ1Y3RvciwgRG9udEVudW0pOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KGV4ZWMtPnZtKCksIElkZW50aWZpZXIoZXhlYywgIkRhdGUiKSwgZGF0ZUNvbnN0cnVjdG9yLCBE
b250RW51bSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+dm0oKSwgSWRl
bnRpZmllcihleGVjLCAiUmVnRXhwIiksIG1fcmVnRXhwQ29uc3RydWN0b3IuZ2V0KCksIERvbnRF
bnVtKTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT52bSgpLCBJZGVudGlm
aWVyKGV4ZWMsICJFcnJvciIpLCBtX2Vycm9yQ29uc3RydWN0b3IuZ2V0KCksIERvbnRFbnVtKTsK
LSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT52bSgpLCBJZGVudGlmaWVyKGV4
ZWMsICJFdmFsRXJyb3IiKSwgbV9ldmFsRXJyb3JDb25zdHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0p
OwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPnZtKCksIElkZW50aWZpZXIo
ZXhlYywgIlJhbmdlRXJyb3IiKSwgbV9yYW5nZUVycm9yQ29uc3RydWN0b3IuZ2V0KCksIERvbnRF
bnVtKTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT52bSgpLCBJZGVudGlm
aWVyKGV4ZWMsICJSZWZlcmVuY2VFcnJvciIpLCBtX3JlZmVyZW5jZUVycm9yQ29uc3RydWN0b3Iu
Z2V0KCksIERvbnRFbnVtKTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT52
bSgpLCBJZGVudGlmaWVyKGV4ZWMsICJTeW50YXhFcnJvciIpLCBtX3N5bnRheEVycm9yQ29uc3Ry
dWN0b3IuZ2V0KCksIERvbnRFbnVtKTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihl
eGVjLT52bSgpLCBJZGVudGlmaWVyKGV4ZWMsICJUeXBlRXJyb3IiKSwgbV90eXBlRXJyb3JDb25z
dHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0pOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KGV4ZWMtPnZtKCksIElkZW50aWZpZXIoZXhlYywgIlVSSUVycm9yIiksIG1fVVJJRXJyb3JDb25z
dHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0pOworICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KGV4ZWMtPnZtKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5Cb29sZWFuLCBib29sZWFuQ29uc3Ry
dWN0b3IsIERvbnRFbnVtKTsKKyAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT52
bSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuU3RyaW5nLCBzdHJpbmdDb25zdHJ1Y3RvciwgRG9u
dEVudW0pOworICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPnZtKCksIGV4ZWMt
PnByb3BlcnR5TmFtZXMoKS5OdW1iZXIsIG51bWJlckNvbnN0cnVjdG9yLCBEb250RW51bSk7Cisg
ICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+dm0oKSwgZXhlYy0+cHJvcGVydHlO
YW1lcygpLkRhdGUsIGRhdGVDb25zdHJ1Y3RvciwgRG9udEVudW0pOworICAgIHB1dERpcmVjdFdp
dGhvdXRUcmFuc2l0aW9uKGV4ZWMtPnZtKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5SZWdFeHAs
IG1fcmVnRXhwQ29uc3RydWN0b3IuZ2V0KCksIERvbnRFbnVtKTsKKyAgICBwdXREaXJlY3RXaXRo
b3V0VHJhbnNpdGlvbihleGVjLT52bSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuRXJyb3IsIG1f
ZXJyb3JDb25zdHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0pOworICAgIHB1dERpcmVjdFdpdGhvdXRU
cmFuc2l0aW9uKGV4ZWMtPnZtKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5FdmFsRXJyb3IsIG1f
ZXZhbEVycm9yQ29uc3RydWN0b3IuZ2V0KCksIERvbnRFbnVtKTsKKyAgICBwdXREaXJlY3RXaXRo
b3V0VHJhbnNpdGlvbihleGVjLT52bSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuUmFuZ2VFcnJv
ciwgbV9yYW5nZUVycm9yQ29uc3RydWN0b3IuZ2V0KCksIERvbnRFbnVtKTsKKyAgICBwdXREaXJl
Y3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT52bSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuUmVm
ZXJlbmNlRXJyb3IsIG1fcmVmZXJlbmNlRXJyb3JDb25zdHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0p
OworICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPnZtKCksIGV4ZWMtPnByb3Bl
cnR5TmFtZXMoKS5TeW50YXhFcnJvciwgbV9zeW50YXhFcnJvckNvbnN0cnVjdG9yLmdldCgpLCBE
b250RW51bSk7CisgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+dm0oKSwgZXhl
Yy0+cHJvcGVydHlOYW1lcygpLlR5cGVFcnJvciwgbV90eXBlRXJyb3JDb25zdHJ1Y3Rvci5nZXQo
KSwgRG9udEVudW0pOworICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPnZtKCks
IGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5VUklFcnJvciwgbV9VUklFcnJvckNvbnN0cnVjdG9yLmdl
dCgpLCBEb250RW51bSk7CiAKICAgICBtX2V2YWxGdW5jdGlvbi5zZXQoZXhlYy0+dm0oKSwgdGhp
cywgSlNGdW5jdGlvbjo6Y3JlYXRlKGV4ZWMsIHRoaXMsIDEsIGV4ZWMtPnByb3BlcnR5TmFtZXMo
KS5ldmFsLnN0cmluZygpLCBnbG9iYWxGdW5jRXZhbCkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRU
cmFuc2l0aW9uKGV4ZWMtPnZtKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5ldmFsLCBtX2V2YWxG
dW5jdGlvbi5nZXQoKSwgRG9udEVudW0pOwogCi0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRp
b24oZXhlYy0+dm0oKSwgSWRlbnRpZmllcihleGVjLCAiSlNPTiIpLCBKU09OT2JqZWN0OjpjcmVh
dGUoZXhlYywgdGhpcywgSlNPTk9iamVjdDo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPnZtKCksIHRo
aXMsIG1fb2JqZWN0UHJvdG90eXBlLmdldCgpKSksIERvbnRFbnVtKTsKLSAgICBwdXREaXJlY3RX
aXRob3V0VHJhbnNpdGlvbihleGVjLT52bSgpLCBJZGVudGlmaWVyKGV4ZWMsICJNYXRoIiksIE1h
dGhPYmplY3Q6OmNyZWF0ZShleGVjLCB0aGlzLCBNYXRoT2JqZWN0OjpjcmVhdGVTdHJ1Y3R1cmUo
ZXhlYy0+dm0oKSwgdGhpcywgbV9vYmplY3RQcm90b3R5cGUuZ2V0KCkpKSwgRG9udEVudW0pOwor
ICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPnZtKCksIGV4ZWMtPnByb3BlcnR5
TmFtZXMoKS5KU09OLCBKU09OT2JqZWN0OjpjcmVhdGUoZXhlYywgdGhpcywgSlNPTk9iamVjdDo6
Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPnZtKCksIHRoaXMsIG1fb2JqZWN0UHJvdG90eXBlLmdldCgp
KSksIERvbnRFbnVtKTsKKyAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT52bSgp
LCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuTWF0aCwgTWF0aE9iamVjdDo6Y3JlYXRlKGV4ZWMsIHRo
aXMsIE1hdGhPYmplY3Q6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT52bSgpLCB0aGlzLCBtX29iamVj
dFByb3RvdHlwZS5nZXQoKSkpLCBEb250RW51bSk7CiAKICAgICBHbG9iYWxQcm9wZXJ0eUluZm8g
c3RhdGljR2xvYmFsc1tdID0gewotICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8oSWRlbnRpZmll
cihleGVjLCAiTmFOIiksIGpzTmFOKCksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5
KSwKLSAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKElkZW50aWZpZXIoZXhlYywgIkluZmluaXR5
IiksIGpzTnVtYmVyKHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6aW5maW5pdHkoKSksIERv
bnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKLSAgICAgICAgR2xvYmFsUHJvcGVydHlJ
bmZvKElkZW50aWZpZXIoZXhlYywgInVuZGVmaW5lZCIpLCBqc1VuZGVmaW5lZCgpLCBEb250RW51
bSB8IERvbnREZWxldGUgfCBSZWFkT25seSkKKyAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKGV4
ZWMtPnByb3BlcnR5TmFtZXMoKS5OYU4sIGpzTmFOKCksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8
IFJlYWRPbmx5KSwKKyAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKGV4ZWMtPnByb3BlcnR5TmFt
ZXMoKS5JbmZpbml0eSwganNOdW1iZXIoc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjppbmZp
bml0eSgpKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAorICAgICAgICBHbG9i
YWxQcm9wZXJ0eUluZm8oZXhlYy0+cHJvcGVydHlOYW1lcygpLnVuZGVmaW5lZEtleXdvcmQsIGpz
VW5kZWZpbmVkKCksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KQogICAgIH07CiAg
ICAgYWRkU3RhdGljR2xvYmFscyhzdGF0aWNHbG9iYWxzLCBXVEZfQVJSQVlfTEVOR1RIKHN0YXRp
Y0dsb2JhbHMpKTsKICAgICAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
T2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNP
YmplY3QuaAkocmV2aXNpb24gMTUxNTI1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ2OSwxMSArMTQ2OSwyMCBAQCBDT01Q
SUxFX0FTU0VSVCghKHNpemVvZihKU09iamVjdCkgJSBzaXplCiAgICAgICAgIGV4ZWMsIGdsb2Jh
bE9iamVjdCwgSWRlbnRpZmllcihleGVjLCAoanNOYW1lKSksIChsZW5ndGgpLCBjcHBOYW1lLCBc
CiAgICAgICAgIChpbnRyaW5zaWMpLCAoYXR0cmlidXRlcykpCiAKKyNkZWZpbmUgSlNDX05BVElW
RV9JTlRSSU5TSUNfRlVOQ1RJT05fSURFTlQoanNOYW1lLCBjcHBOYW1lLCBhdHRyaWJ1dGVzLCBs
ZW5ndGgsIGludHJpbnNpYykgXAorICAgIHB1dERpcmVjdE5hdGl2ZUZ1bmN0aW9uKFwKKyAgICAg
ICAgZXhlYywgZ2xvYmFsT2JqZWN0LCAoanNOYW1lKSwgKGxlbmd0aCksIGNwcE5hbWUsIFwKKyAg
ICAgICAgKGludHJpbnNpYyksIChhdHRyaWJ1dGVzKSkKKwogLy8gQXMgYWJvdmUsIGJ1dCB0aGlz
IGFzc3VtZXMgdGhhdCB0aGUgZnVuY3Rpb24geW91J3JlIGRlZmluaW5nIGRvZXNuJ3QgaGF2ZSBh
bgogLy8gaW50cmluc2ljLgogI2RlZmluZSBKU0NfTkFUSVZFX0ZVTkNUSU9OKGpzTmFtZSwgY3Bw
TmFtZSwgYXR0cmlidXRlcywgbGVuZ3RoKSBcCiAgICAgSlNDX05BVElWRV9JTlRSSU5TSUNfRlVO
Q1RJT04oanNOYW1lLCBjcHBOYW1lLCAoYXR0cmlidXRlcyksIChsZW5ndGgpLCBOb0ludHJpbnNp
YykKIAorI2RlZmluZSBKU0NfTkFUSVZFX0ZVTkNUSU9OX0lERU5UKGpzTmFtZSwgY3BwTmFtZSwg
YXR0cmlidXRlcywgbGVuZ3RoKSBcCisgICAgSlNDX05BVElWRV9JTlRSSU5TSUNfRlVOQ1RJT05f
SURFTlQoanNOYW1lLCBjcHBOYW1lLCAoYXR0cmlidXRlcyksIChsZW5ndGgpLCBOb0ludHJpbnNp
YykKKworCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAogI2VuZGlmIC8vIEpTT2JqZWN0X2gKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNw
cAkocmV2aXNpb24gMTUxNTI1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2Jq
ZWN0UHJvdG90eXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTcsMTYgKzU3LDE2IEBAIHZvaWQg
T2JqZWN0UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihFeGUKICAgICBBU1NFUlQoaW5oZXJpdHMo
JnNfaW5mbykpOwogICAgIHZtLnByb3RvdHlwZU1hcC5hZGRQcm90b3R5cGUodGhpcyk7CiAgICAg
Ci0gICAgSlNDX05BVElWRV9GVU5DVElPTigidG9TdHJpbmciLCBvYmplY3RQcm90b0Z1bmNUb1N0
cmluZywgRG9udEVudW0sIDApOwotICAgIEpTQ19OQVRJVkVfRlVOQ1RJT04oInRvTG9jYWxlU3Ry
aW5nIiwgb2JqZWN0UHJvdG9GdW5jVG9Mb2NhbGVTdHJpbmcsIERvbnRFbnVtLCAwKTsKLSAgICBK
U0NfTkFUSVZFX0ZVTkNUSU9OKCJ2YWx1ZU9mIiwgb2JqZWN0UHJvdG9GdW5jVmFsdWVPZiwgRG9u
dEVudW0sIDApOwotICAgIEpTQ19OQVRJVkVfRlVOQ1RJT04oImhhc093blByb3BlcnR5Iiwgb2Jq
ZWN0UHJvdG9GdW5jSGFzT3duUHJvcGVydHksIERvbnRFbnVtLCAxKTsKLSAgICBKU0NfTkFUSVZF
X0ZVTkNUSU9OKCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsIG9iamVjdFByb3RvRnVuY1Byb3BlcnR5
SXNFbnVtZXJhYmxlLCBEb250RW51bSwgMSk7Ci0gICAgSlNDX05BVElWRV9GVU5DVElPTigiaXNQ
cm90b3R5cGVPZiIsIG9iamVjdFByb3RvRnVuY0lzUHJvdG90eXBlT2YsIERvbnRFbnVtLCAxKTsK
LSAgICBKU0NfTkFUSVZFX0ZVTkNUSU9OKCJfX2RlZmluZUdldHRlcl9fIiwgb2JqZWN0UHJvdG9G
dW5jRGVmaW5lR2V0dGVyLCBEb250RW51bSwgMik7Ci0gICAgSlNDX05BVElWRV9GVU5DVElPTigi
X19kZWZpbmVTZXR0ZXJfXyIsIG9iamVjdFByb3RvRnVuY0RlZmluZVNldHRlciwgRG9udEVudW0s
IDIpOwotICAgIEpTQ19OQVRJVkVfRlVOQ1RJT04oIl9fbG9va3VwR2V0dGVyX18iLCBvYmplY3RQ
cm90b0Z1bmNMb29rdXBHZXR0ZXIsIERvbnRFbnVtLCAxKTsKLSAgICBKU0NfTkFUSVZFX0ZVTkNU
SU9OKCJfX2xvb2t1cFNldHRlcl9fIiwgb2JqZWN0UHJvdG9GdW5jTG9va3VwU2V0dGVyLCBEb250
RW51bSwgMSk7CisgICAgSlNDX05BVElWRV9GVU5DVElPTl9JREVOVCh2bS5wcm9wZXJ0eU5hbWVz
LT50b1N0cmluZywgb2JqZWN0UHJvdG9GdW5jVG9TdHJpbmcsIERvbnRFbnVtLCAwKTsKKyAgICBK
U0NfTkFUSVZFX0ZVTkNUSU9OX0lERU5UKHZtLnByb3BlcnR5TmFtZXMtPnRvTG9jYWxlU3RyaW5n
LCBvYmplY3RQcm90b0Z1bmNUb0xvY2FsZVN0cmluZywgRG9udEVudW0sIDApOworICAgIEpTQ19O
QVRJVkVfRlVOQ1RJT05fSURFTlQodm0ucHJvcGVydHlOYW1lcy0+dmFsdWVPZiwgb2JqZWN0UHJv
dG9GdW5jVmFsdWVPZiwgRG9udEVudW0sIDApOworICAgIEpTQ19OQVRJVkVfRlVOQ1RJT05fSURF
TlQodm0ucHJvcGVydHlOYW1lcy0+aGFzT3duUHJvcGVydHksIG9iamVjdFByb3RvRnVuY0hhc093
blByb3BlcnR5LCBEb250RW51bSwgMSk7CisgICAgSlNDX05BVElWRV9GVU5DVElPTl9JREVOVCh2
bS5wcm9wZXJ0eU5hbWVzLT5wcm9wZXJ0eUlzRW51bWVyYWJsZSwgb2JqZWN0UHJvdG9GdW5jUHJv
cGVydHlJc0VudW1lcmFibGUsIERvbnRFbnVtLCAxKTsKKyAgICBKU0NfTkFUSVZFX0ZVTkNUSU9O
X0lERU5UKHZtLnByb3BlcnR5TmFtZXMtPmlzUHJvdG90eXBlT2YsIG9iamVjdFByb3RvRnVuY0lz
UHJvdG90eXBlT2YsIERvbnRFbnVtLCAxKTsKKyAgICBKU0NfTkFUSVZFX0ZVTkNUSU9OX0lERU5U
KHZtLnByb3BlcnR5TmFtZXMtPl9fZGVmaW5lR2V0dGVyX18sIG9iamVjdFByb3RvRnVuY0RlZmlu
ZUdldHRlciwgRG9udEVudW0sIDIpOworICAgIEpTQ19OQVRJVkVfRlVOQ1RJT05fSURFTlQodm0u
cHJvcGVydHlOYW1lcy0+X19kZWZpbmVTZXR0ZXJfXywgb2JqZWN0UHJvdG9GdW5jRGVmaW5lU2V0
dGVyLCBEb250RW51bSwgMik7CisgICAgSlNDX05BVElWRV9GVU5DVElPTl9JREVOVCh2bS5wcm9w
ZXJ0eU5hbWVzLT5fX2xvb2t1cEdldHRlcl9fLCBvYmplY3RQcm90b0Z1bmNMb29rdXBHZXR0ZXIs
IERvbnRFbnVtLCAxKTsKKyAgICBKU0NfTkFUSVZFX0ZVTkNUSU9OX0lERU5UKHZtLnByb3BlcnR5
TmFtZXMtPl9fbG9va3VwU2V0dGVyX18sIG9iamVjdFByb3RvRnVuY0xvb2t1cFNldHRlciwgRG9u
dEVudW0sIDEpOwogfQogCiBPYmplY3RQcm90b3R5cGUqIE9iamVjdFByb3RvdHlwZTo6Y3JlYXRl
KEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdQ
cm90b3R5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cmluZ1Byb3RvdHlwZS5jcHAJKHJldmlzaW9uIDE1MTUyNSkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk3
LDggKzk3LDggQEAgdm9pZCBTdHJpbmdQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKEV4ZQogICAg
IEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCBuYW1lQW5kTWVzc2FnZSk7CiAgICAgQVNTRVJUKGlu
aGVyaXRzKCZzX2luZm8pKTsKIAotICAgIEpTQ19OQVRJVkVfSU5UUklOU0lDX0ZVTkNUSU9OKCJ0
b1N0cmluZyIsIHN0cmluZ1Byb3RvRnVuY1RvU3RyaW5nLCBEb250RW51bSwgMCwgU3RyaW5nUHJv
dG90eXBlVmFsdWVPZkludHJpbnNpYyk7Ci0gICAgSlNDX05BVElWRV9JTlRSSU5TSUNfRlVOQ1RJ
T04oInZhbHVlT2YiLCBzdHJpbmdQcm90b0Z1bmNUb1N0cmluZywgRG9udEVudW0sIDAsIFN0cmlu
Z1Byb3RvdHlwZVZhbHVlT2ZJbnRyaW5zaWMpOworICAgIEpTQ19OQVRJVkVfSU5UUklOU0lDX0ZV
TkNUSU9OX0lERU5UKHZtLnByb3BlcnR5TmFtZXMtPnRvU3RyaW5nLCBzdHJpbmdQcm90b0Z1bmNU
b1N0cmluZywgRG9udEVudW0sIDAsIFN0cmluZ1Byb3RvdHlwZVZhbHVlT2ZJbnRyaW5zaWMpOwor
ICAgIEpTQ19OQVRJVkVfSU5UUklOU0lDX0ZVTkNUSU9OX0lERU5UKHZtLnByb3BlcnR5TmFtZXMt
PnZhbHVlT2YsIHN0cmluZ1Byb3RvRnVuY1RvU3RyaW5nLCBEb250RW51bSwgMCwgU3RyaW5nUHJv
dG90eXBlVmFsdWVPZkludHJpbnNpYyk7CiAgICAgSlNDX05BVElWRV9JTlRSSU5TSUNfRlVOQ1RJ
T04oImNoYXJBdCIsIHN0cmluZ1Byb3RvRnVuY0NoYXJBdCwgRG9udEVudW0sIDEsIENoYXJBdElu
dHJpbnNpYyk7CiAgICAgSlNDX05BVElWRV9JTlRSSU5TSUNfRlVOQ1RJT04oImNoYXJDb2RlQXQi
LCBzdHJpbmdQcm90b0Z1bmNDaGFyQ29kZUF0LCBEb250RW51bSwgMSwgQ2hhckNvZGVBdEludHJp
bnNpYyk7CiAgICAgSlNDX05BVElWRV9GVU5DVElPTigiY29uY2F0Iiwgc3RyaW5nUHJvdG9GdW5j
Q29uY2F0LCBEb250RW51bSwgMSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNTE1NzIpCisr
KyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBA
QAorMjAxMy0wNi0xMyAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KKworICAgICAg
ICBGdW5jdGlvbiBuYW1lcyBvbiBPYmplY3QucHJvdG90eXBlIHNob3VsZCBiZSBjb21tb24gaWRl
bnRpZmllcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTExNzYxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFVzZSB0aGUgYWRkZWQgY29tbW9uIGlkZW50aWZpZXJzLgorCisgICAgICAgICogYmluZGluZ3Mv
anMvSlNET01XaW5kb3dCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFz
ZTo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjp1
cGRhdGVEb2N1bWVudCk6CisKIDIwMTMtMDYtMTMgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBw
bGUuY29tPgogCiAgICAgICAgIE1vdmUgTm9kZTo6c2hvdWxkVXNlSW5wdXRNZXRob2QoKSB0byBF
bGVtZW50LgpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRv
d0Jhc2UuY3BwCShyZXZpc2lvbiAxNTE1MjUpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTVdpbmRvd0Jhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NSw4ICs2NSw4IEBAIHZv
aWQgSlNET01XaW5kb3dCYXNlOjpmaW5pc2hDcmVhdGlvbihWTSYKICAgICBBU1NFUlQoaW5oZXJp
dHMoJnNfaW5mbykpOwogCiAgICAgR2xvYmFsUHJvcGVydHlJbmZvIHN0YXRpY0dsb2JhbHNbXSA9
IHsKLSAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKElkZW50aWZpZXIoZ2xvYmFsRXhlYygpLCAi
ZG9jdW1lbnQiKSwganNOdWxsKCksIERvbnREZWxldGUgfCBSZWFkT25seSksCi0gICAgICAgIEds
b2JhbFByb3BlcnR5SW5mbyhJZGVudGlmaWVyKGdsb2JhbEV4ZWMoKSwgIndpbmRvdyIpLCBtX3No
ZWxsLCBEb250RGVsZXRlIHwgUmVhZE9ubHkpCisgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2
bS5wcm9wZXJ0eU5hbWVzLT5kb2N1bWVudCwganNOdWxsKCksIERvbnREZWxldGUgfCBSZWFkT25s
eSksCisgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT53aW5kb3cs
IG1fc2hlbGwsIERvbnREZWxldGUgfCBSZWFkT25seSkKICAgICB9OwogICAgIAogICAgIGFkZFN0
YXRpY0dsb2JhbHMoc3RhdGljR2xvYmFscywgV1RGX0FSUkFZX0xFTkdUSChzdGF0aWNHbG9iYWxz
KSk7CkBAIC04MSw3ICs4MSw3IEBAIHZvaWQgSlNET01XaW5kb3dCYXNlOjp1cGRhdGVEb2N1bWVu
dCgpCiB7CiAgICAgQVNTRVJUKG1faW1wbC0+ZG9jdW1lbnQoKSk7CiAgICAgRXhlY1N0YXRlKiBl
eGVjID0gZ2xvYmFsRXhlYygpOwotICAgIHN5bWJvbFRhYmxlUHV0V2l0aEF0dHJpYnV0ZXModGhp
cywgZXhlYy0+dm0oKSwgSWRlbnRpZmllcihleGVjLCAiZG9jdW1lbnQiKSwgdG9KUyhleGVjLCB0
aGlzLCBtX2ltcGwtPmRvY3VtZW50KCkpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkpOworICAgIHN5
bWJvbFRhYmxlUHV0V2l0aEF0dHJpYnV0ZXModGhpcywgZXhlYy0+dm0oKSwgZXhlYy0+dm0oKS5w
cm9wZXJ0eU5hbWVzLT5kb2N1bWVudCwgdG9KUyhleGVjLCB0aGlzLCBtX2ltcGwtPmRvY3VtZW50
KCkpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkpOwogfQogCiBTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBKU0RPTVdpbmRvd0Jhc2U6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdAo=
</data>
<flag name="review"
          id="226036"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>