<?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>33031</bug_id>
          
          <creation_ts>2009-12-29 15:45:42 -0800</creation_ts>
          <short_desc>[V8] Generate configuring of all indexers.</short_desc>
          <delta_ts>2009-12-30 08:55:45 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</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>
          <dependson>32996</dependson>
          <blocked>32569</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dimitri Glazkov (Google)">dglazkov</reporter>
          <assigned_to name="Dimitri Glazkov (Google)">dglazkov</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>175729</commentid>
    <comment_count>0</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-12-29 15:45:42 -0800</bug_when>
    <thetext>It&apos;s a bit ugly. The biggest issue is that apparently V8 API completely decouples numeric and non-numeric property lookup, which forces us to have extra indexers. The indexers simply convert index value to string and pass it along to named property handling machinery. It&apos;s sad. I&apos;ll ask V8 folks what&apos;s up with that.

Otherwise, the story is very similar to bug 32996</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175730</commentid>
    <comment_count>1</comment_count>
      <attachid>45624</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-12-29 15:50:12 -0800</bug_when>
    <thetext>Created attachment 45624
Generate configuring of all indexers, v1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175757</commentid>
    <comment_count>2</comment_count>
      <attachid>45624</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-12-29 18:51:53 -0800</bug_when>
    <thetext>Comment on attachment 45624
Generate configuring of all indexers, v1.

This patch feels like deja vu.  I didn&apos;t quite follow all the machinations here, but the net result looks good.  Hopefully our tests are strong enough to catch screw ups.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175930</commentid>
    <comment_count>3</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-12-30 08:55:45 -0800</bug_when>
    <thetext>Landed as http://trac.webkit.org/changeset/52663.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45624</attachid>
            <date>2009-12-29 15:50:12 -0800</date>
            <delta_ts>2009-12-29 18:51:53 -0800</delta_ts>
            <desc>Generate configuring of all indexers, v1.</desc>
            <filename>bug-33031-20091229155010.patch</filename>
            <type>text/plain</type>
            <size>13598</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MDI2NzA4OS4uMTI4NDdjNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAwOS0xMi0yOSAgRGltaXRyaSBHbGF6
a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFtWOF0gR2VuZXJhdGUgY29uZmlndXJpbmcgb2YgYWxsIGlu
ZGV4ZXJzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MzMwMzEKKworICAgICAgICBSZWZhY3RvcmlnLCBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgor
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG06IEFkZGVkIGdl
bmVyYXRpb24gb2YgaW5kZXhlcnMgZm9yCisgICAgICAgICAgICBzcGVjaWFsIGNhc2VzLgorICAg
ICAgICAqIGJpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpW
OERPTVdyYXBwZXI6OmdldFRlbXBsYXRlKTogUmVtb3ZlZCBjdXN0b20gdGVtcGFsdGUgY29uZmln
dXJhdGlvbiBvZgorICAgICAgICAgICAgaW5kZXhlcnMuCisgICAgICAgICogYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4Q3VzdG9tQmluZGluZy5oOiBBZGRlZCBkZWNscyBmb3IgQXBwbGV0LCBFbWJlZCwg
YW5kIE9iamVjdAorICAgICAgICAgICAgZWxlbWVudHMgKHRoZXNlIHdpbGwgYmUgZ2VuZXJhdGVk
LCB0b28gLS0gbGF0ZXIuKQorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxQbHVn
SW5FbGVtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om5wT2JqZWN0SW5kZXhlZEdl
dHRlcik6IE1vdmVkIGNvbW1vbiBjb2RlIHRvIGEgc2VwYXJhdGUgbWV0aG9kLgorICAgICAgICAo
V2ViQ29yZTo6bnBPYmplY3RJbmRleGVkU2V0dGVyKTogRGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpJTkRFWEVEX1BST1BFUlRZX0dFVFRFUik6IEFkZGVkIGN1c3RvbSBoYW5kbGVycyBmb3IgQXBw
bGV0LCBFbWJlZCwgYW5kIE9iamVjdAorICAgICAgICAgIGFsbCBjYWxsaW5nIHRoZSBjb21tb24g
bWV0aG9kLgorICAgICAgICAoV2ViQ29yZTo6SU5ERVhFRF9QUk9QRVJUWV9TRVRURVIpOiBEaXR0
by4KKwogMjAwOS0xMi0yOCAgRGltaXRyaSBHbGF6a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbSBiL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KaW5kZXggMzFlZWVlZi4uZTVlYzk0ZiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQorKysg
Yi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCkBAIC0xMTQwLDM1
ICsxMTQwLDkxIEBAIHN1YiBHZW5lcmF0ZVNpbmdsZUJhdGNoZWRBdHRyaWJ1dGUKIEVORAogfQog
CitteSAlaW5kZXhlclNwZWNpYWxDYXNlcyA9ICgKKyAgICAiU3RvcmFnZSIgPT4gMSwKKyAgICAi
SFRNTEFwcGxldEVsZW1lbnQiID0+IDEsCisgICAgIkhUTUxFbWJlZEVsZW1lbnQiID0+IDEsCisg
ICAgIkhUTUxPYmplY3RFbGVtZW50IiA9PiAxCispOworCiBzdWIgR2VuZXJhdGVJbXBsZW1lbnRh
dGlvbkluZGV4ZXIKIHsKICAgICBteSAkZGF0YU5vZGUgPSBzaGlmdDsKICAgICBteSAkaW5kZXhl
ciA9IHNoaWZ0OwogICAgIG15ICRpbnRlcmZhY2VOYW1lID0gJGRhdGFOb2RlLT5uYW1lOwogCi0g
ICAgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ikhhc0luZGV4R2V0dGVyIn0p
IHsKLSAgICAgICAgJGltcGxJbmNsdWRlc3siVjhDb2xsZWN0aW9uLmgifSA9IDE7Ci0gICAgICAg
IGlmICghJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSGFzQ3VzdG9tSW5kZXhHZXR0
ZXIifSkgewotICAgICAgICAgICAgaWYgKCRpbmRleGVyLT50eXBlIGVxICJET01TdHJpbmciKSB7
Ci0gICAgICAgICAgICAgICAgbXkgJGNvbnZlcnNpb24gPSAkaW5kZXhlci0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57IkNvbnZlcnROdWxsU3RyaW5nVG8ifTsKLSAgICAgICAgICAgICAgICBpZiAoJGNv
bnZlcnNpb24gJiYgJGNvbnZlcnNpb24gZXEgIk51bGwiKSB7Ci0gICAgICAgICAgICAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCA8PEVORCk7CisgICAgIyBGSVhNRTogRmlndXJlIG91dCB3aGF0
IEhhc051bWVyaWNJbmRleEdldHRlciBpcyByZWFsbHkgc3VwcG9zZWQgdG8gZG8uIFJpZ2h0IG5v
dywgaXQncyBvbmx5IHNldCBvbiBXZWJHTC1yZWxhdGVkIGZpbGVzLgorICAgIG15ICRoYXNDdXN0
b21TZXR0ZXIgPSAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJIYXNDdXN0b21JbmRl
eFNldHRlciJ9ICYmICEkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJIYXNOdW1lcmlj
SW5kZXhHZXR0ZXIifTsKKyAgICBteSAkaGFzR2V0dGVyID0gJGRhdGFOb2RlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiSGFzSW5kZXhHZXR0ZXIifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJDdXN0b21HZXRPd25Qcm9wZXJ0eVNsb3QifTsKKworICAgICMgRklYTUU6IEZpbmQg
YSB3YXkgdG8gbm90IGhhdmUgdG8gc3BlY2lhbC1jYXNlIEhUTUxPcHRpb25zQ29sbGVjdGlvbi4K
KyAgICBpZiAoJGludGVyZmFjZU5hbWUgZXEgIkhUTUxPcHRpb25zQ29sbGVjdGlvbiIpIHsKKyAg
ICAgICAgJGhhc0dldHRlciA9IDE7CisgICAgfQorCisgICAgIyBGSVhNRTogSW52ZXN0aWdhdGUg
YW5kIHJlbW92ZSB0aGlzIG5hc3RpbmVzc3MuIEluIFY4LCBuYW1lZCBwcm9wZXJ0eSBoYW5kbGlu
ZyBhbmQgaW5kZXhlciBoYW5kbGluZyBhcmUgYXBwYXJlbnRseSBkZWNvdXBsZWQsCisgICAgIyB3
aGljaCBtZWFucyB0aGF0IG9iamVjdFtYXSB3aGVyZSBYIGlzIGEgbnVtYmVyIGRvZXNuJ3QgcmVh
Y2ggbmFtZWQgcHJvcGVydHkgaW5kZXhlci4gU28gd2UgbmVlZCB0byBwcm92aWRlCisgICAgIyBz
aW1wbGlzdGljLCBtaXJyb3JlZCBpbmRleGVyIGhhbmRsaW5nIGluIGFkZGl0aW9uIHRvIG5hbWVk
IHByb3BlcnR5IGhhbmRsaW5nLgorICAgIG15ICRpc1NwZWNpYWxDYXNlID0gZXhpc3RzICRpbmRl
eGVyU3BlY2lhbENhc2VzeyRpbnRlcmZhY2VOYW1lfTsKKyAgICBpZiAoJGlzU3BlY2lhbENhc2Up
IHsKKyAgICAgICAgJGhhc0dldHRlciA9IDE7CisgICAgICAgICRoYXNDdXN0b21TZXR0ZXIgPSAx
OworICAgIH0KKworICAgIGlmICghJGhhc0dldHRlcikgeworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgJGltcGxJbmNsdWRlc3siVjhDb2xsZWN0aW9uLmgifSA9IDE7CisKKyAgICBteSAk
aW5kZXhlclR5cGUgPSAkaW5kZXhlciA/ICRpbmRleGVyLT50eXBlIDogMDsKKworICAgICMgRklY
TUU6IFJlbW92ZSB0aGlzIG9uY2UgdG9WOCBoZWxwZXIgbWV0aG9kcyBhcmUgaW1wbGVtZW50ZWQg
KHNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzI1NjMpLgorICAg
IGlmICgkaW50ZXJmYWNlTmFtZSBlcSAiV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZSIpIHsKKyAgICAg
ICAgJGluZGV4ZXJUeXBlID0gIldlYktpdENTU0tleWZyYW1lUnVsZSI7CisgICAgfQorCisgICAg
aWYgKCRpbmRleGVyVHlwZSAmJiAhJGhhc0N1c3RvbVNldHRlcikgeworICAgICAgICBpZiAoJGlu
ZGV4ZXJUeXBlIGVxICJET01TdHJpbmciKSB7CisgICAgICAgICAgICBteSAkY29udmVyc2lvbiA9
ICRpbmRleGVyLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29udmVydE51bGxTdHJpbmdUbyJ9Owor
ICAgICAgICAgICAgaWYgKCRjb252ZXJzaW9uICYmICRjb252ZXJzaW9uIGVxICJOdWxsIikgewor
ICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCA8PEVORCk7CiAgIHNldENvbGxlY3Rp
b25TdHJpbmdPck51bGxJbmRleGVkR2V0dGVyPCR7aW50ZXJmYWNlTmFtZX0+KGRlc2MpOwogRU5E
Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsIDw8RU5EKTsKLSAgc2V0Q29sbGVjdGlvblN0cmluZ0luZGV4ZWRHZXR0ZXI8JHtp
bnRlcmZhY2VOYW1lfT4oZGVzYyk7Ci1FTkQKLSAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgICAgIG15ICRpbmRleGVyVHlwZSA9ICRpbmRleGVyLT50
eXBlOwotICAgICAgICAgICAgICAgIG15ICRpbmRleGVyQ2xhc3NJbmRleCA9IHVjKCRpbmRleGVy
VHlwZSk7CiAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsIDw8RU5EKTsKLSAgc2V0
Q29sbGVjdGlvbkluZGV4ZWRHZXR0ZXI8JHtpbnRlcmZhY2VOYW1lfSwgJHtpbmRleGVyVHlwZX0+
KGRlc2MsIFY4Q2xhc3NJbmRleDo6JHtpbmRleGVyQ2xhc3NJbmRleH0pOworICBzZXRDb2xsZWN0
aW9uU3RyaW5nSW5kZXhlZEdldHRlcjwke2ludGVyZmFjZU5hbWV9PihkZXNjKTsKIEVORAogICAg
ICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgbXkgJGluZGV4ZXJDbGFz
c0luZGV4ID0gdWMoJGluZGV4ZXJUeXBlKTsKKyAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50
LCA8PEVORCk7CisgIHNldENvbGxlY3Rpb25JbmRleGVkR2V0dGVyPCR7aW50ZXJmYWNlTmFtZX0s
ICR7aW5kZXhlclR5cGV9PihkZXNjLCBWOENsYXNzSW5kZXg6OiR7aW5kZXhlckNsYXNzSW5kZXh9
KTsKK0VORAogICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG15ICRo
YXNEZWxldGVyID0gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tRGVsZXRl
UHJvcGVydHkifTsKKyAgICBteSAkaGFzRW51bWVyYXRvciA9ICEkaXNTcGVjaWFsQ2FzZSAmJiBJ
c05vZGVTdWJUeXBlKCRkYXRhTm9kZSk7CisgICAgbXkgJHNldE9uID0gIkluc3RhbmNlIjsKKwor
ICAgICMgVjggaGFzIGFjY2Vzcy1jaGVjayBjYWxsYmFjayBBUEkgKHNlZSBPYmplY3RUZW1wbGF0
ZTo6U2V0QWNjZXNzQ2hlY2tDYWxsYmFja3MpIGFuZCBpdCdzIHVzZWQgb24gRE9NV2luZG93Cisg
ICAgIyBpbnN0ZWFkIG9mIGRlbGV0ZXJzIG9yIGVudW1lcmF0b3JzLiBJbiBhZGRpdGlvbiwgdGhl
IGdldHRlciBzaG91bGQgYmUgc2V0IG9uIHByb3RvdHlwZSB0ZW1wbGF0ZSwgdG8KKyAgICAjIGdl
dCBpbXBsZW1lbnRhdGlvbiBzdHJhaWdodCBvdXQgb2YgdGhlIERPTVdpbmRvdyBwcm90b3R5cGUg
cmVnYXJkbGVzcyBvZiB3aGF0IHByb3RvdHlwZSBpcyBhY3R1YWxseSBzZXQKKyAgICAjIG9uIHRo
ZSBvYmplY3QuCisgICAgaWYgKCRpbnRlcmZhY2VOYW1lIGVxICJET01XaW5kb3ciKSB7CisgICAg
ICAgICRzZXRPbiA9ICJQcm90b3R5cGUiOworICAgICAgICAkaGFzRGVsZXRlciA9IDA7CiAgICAg
fQorCisgICAgcHVzaChAaW1wbENvbnRlbnQsICIgIGRlc2MtPiR7c2V0T259VGVtcGxhdGUoKS0+
U2V0SW5kZXhlZFByb3BlcnR5SGFuZGxlcihWOEN1c3RvbTo6djgke2ludGVyZmFjZU5hbWV9SW5k
ZXhlZFByb3BlcnR5R2V0dGVyIik7CisgICAgcHVzaChAaW1wbENvbnRlbnQsICRoYXNDdXN0b21T
ZXR0ZXIgPyAiLCBWOEN1c3RvbTo6djgke2ludGVyZmFjZU5hbWV9SW5kZXhlZFByb3BlcnR5U2V0
dGVyIiA6ICIsIDAiKTsKKyAgICBwdXNoKEBpbXBsQ29udGVudCwgIiwgMCIpOyAjIEluZGV4ZWRQ
cm9wZXJ0eVF1ZXJ5IC0tIG5vdCBiZWluZyB1c2VkIGF0IHRoZSBtb21lbnQuCisgICAgcHVzaChA
aW1wbENvbnRlbnQsICRoYXNEZWxldGVyID8gIiwgVjhDdXN0b206OnY4JHtpbnRlcmZhY2VOYW1l
fUluZGV4ZWRQcm9wZXJ0eURlbGV0ZXIiIDogIiwgMCIpOworICAgIHB1c2goQGltcGxDb250ZW50
LCAiLCBub2RlQ29sbGVjdGlvbkluZGV4ZWRQcm9wZXJ0eUVudW1lcmF0b3I8JHtpbnRlcmZhY2VO
YW1lfT4sIHY4OjpJbnRlZ2VyOjpOZXcoVjhDbGFzc0luZGV4OjpOT0RFKSIpIGlmICRoYXNFbnVt
ZXJhdG9yOworICAgIHB1c2goQGltcGxDb250ZW50LCAiKTtcbiIpOwogfQogCiBzdWIgR2VuZXJh
dGVJbXBsZW1lbnRhdGlvbk5hbWVkUHJvcGVydHlHZXR0ZXIKQEAgLTE1MTYsNyArMTU3Miw3IEBA
IEVORAogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIlxuI2VuZGlmIC8vICR7Y29uZGl0aW9u
YWxTdHJpbmd9XG4iKSBpZiAkY29uZGl0aW9uYWxTdHJpbmc7CiAgICAgfQogCi0gICAgR2VuZXJh
dGVJbXBsZW1lbnRhdGlvbkluZGV4ZXIoJGRhdGFOb2RlLCAkaW5kZXhlcikgaWYgJGluZGV4ZXI7
CisgICAgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbkluZGV4ZXIoJGRhdGFOb2RlLCAkaW5kZXhlcik7
CiAgICAgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbk5hbWVkUHJvcGVydHlHZXR0ZXIoJGRhdGFOb2Rl
LCAkbmFtZWRQcm9wZXJ0eUdldHRlcik7CiAKICAgICAjIERlZmluZSBvdXIgZnVuY3Rpb25zIHdp
dGggU2V0KCkgb3IgU2V0QWNjZXNzb3IoKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92
OC9WOERPTVdyYXBwZXIuY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuY3Bw
CmluZGV4IDQ5Mjc0YTYuLmViNzYxY2EgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvdjgv
VjhET01XcmFwcGVyLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5j
cHAKQEAgLTI3OSwxMiArMjc5LDggQEAgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxh
dGU+IFY4RE9NV3JhcHBlcjo6Z2V0VGVtcGxhdGUoVjhDbGFzc0luZGV4OjpWOFcKICAgICAgICAg
ZGVzY3JpcHRvci0+SW5zdGFuY2VUZW1wbGF0ZSgpLT5TZXRDYWxsQXNGdW5jdGlvbkhhbmRsZXIo
VjhIVE1MQ29sbGVjdGlvbjo6Y2FsbEFzRnVuY3Rpb25DYWxsYmFjayk7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgVjhDbGFzc0luZGV4OjpIVE1MT1BUSU9OU0NPTExFQ1RJT046Ci0gICAgICAg
IGRlc2NyaXB0b3ItPkluc3RhbmNlVGVtcGxhdGUoKS0+U2V0SW5kZXhlZFByb3BlcnR5SGFuZGxl
cihVU0VfSU5ERVhFRF9QUk9QRVJUWV9HRVRURVIoSFRNTE9wdGlvbnNDb2xsZWN0aW9uKSwgVVNF
X0lOREVYRURfUFJPUEVSVFlfU0VUVEVSKEhUTUxPcHRpb25zQ29sbGVjdGlvbikpOwogICAgICAg
ICBkZXNjcmlwdG9yLT5JbnN0YW5jZVRlbXBsYXRlKCktPlNldENhbGxBc0Z1bmN0aW9uSGFuZGxl
cihWOEhUTUxDb2xsZWN0aW9uOjpjYWxsQXNGdW5jdGlvbkNhbGxiYWNrKTsKICAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBWOENsYXNzSW5kZXg6OkhUTUxTRUxFQ1RFTEVNRU5UOgotICAgICAgICBk
ZXNjcmlwdG9yLT5JbnN0YW5jZVRlbXBsYXRlKCktPlNldEluZGV4ZWRQcm9wZXJ0eUhhbmRsZXIo
VVNFX0lOREVYRURfUFJPUEVSVFlfR0VUVEVSKEhUTUxTZWxlY3RFbGVtZW50KSwgVVNFX0lOREVY
RURfUFJPUEVSVFlfU0VUVEVSKEhUTUxTZWxlY3RFbGVtZW50KSwgMCwgMCwgbm9kZUNvbGxlY3Rp
b25JbmRleGVkUHJvcGVydHlFbnVtZXJhdG9yPEhUTUxTZWxlY3RFbGVtZW50Piwgdjg6OkludGVn
ZXI6Ok5ldyhWOENsYXNzSW5kZXg6Ok5PREUpKTsKLSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBW
OENsYXNzSW5kZXg6OkhUTUxET0NVTUVOVDogewogICAgICAgICAvLyBXZSBhZGQgYW4gZXh0cmEg
aW50ZXJuYWwgZmllbGQgdG8gYWxsIERvY3VtZW50IHdyYXBwZXJzIGZvcgogICAgICAgICAvLyBz
dG9yaW5nIGEgcGVyIGRvY3VtZW50IERPTUltcGxlbWVudGF0aW9uIHdyYXBwZXIuCkBAIC0zMTcs
MTIgKzMxMyw4IEBAIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBWOERPTVdy
YXBwZXI6OmdldFRlbXBsYXRlKFY4Q2xhc3NJbmRleDo6VjhXCiAgICAgICAgIC8vIEhUTUxBcHBs
ZXRFbGVtZW50LCBIVE1MRW1iZWRFbGVtZW50IGFuZCBIVE1MT2JqZWN0RWxlbWVudCBhcmUKICAg
ICAgICAgLy8gaW5oZXJpdGVkIGZyb20gSFRNTFBsdWdJbkVsZW1lbnQsIGFuZCB0aGV5IHNoYXJl
IHRoZSBzYW1lIHByb3BlcnR5CiAgICAgICAgIC8vIGhhbmRsaW5nIGNvZGUuCi0gICAgICAgIGRl
c2NyaXB0b3ItPkluc3RhbmNlVGVtcGxhdGUoKS0+U2V0SW5kZXhlZFByb3BlcnR5SGFuZGxlcihV
U0VfSU5ERVhFRF9QUk9QRVJUWV9HRVRURVIoSFRNTFBsdWdJbkVsZW1lbnQpLCBVU0VfSU5ERVhF
RF9QUk9QRVJUWV9TRVRURVIoSFRNTFBsdWdJbkVsZW1lbnQpKTsKICAgICAgICAgZGVzY3JpcHRv
ci0+SW5zdGFuY2VUZW1wbGF0ZSgpLT5TZXRDYWxsQXNGdW5jdGlvbkhhbmRsZXIoVjhIVE1MUGx1
Z0luRWxlbWVudDo6ZGVmYXVsdENhbGxiYWNrKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBW
OENsYXNzSW5kZXg6OkhUTUxGT1JNRUxFTUVOVDoKLSAgICAgICAgZGVzY3JpcHRvci0+SW5zdGFu
Y2VUZW1wbGF0ZSgpLT5TZXRJbmRleGVkUHJvcGVydHlIYW5kbGVyKFVTRV9JTkRFWEVEX1BST1BF
UlRZX0dFVFRFUihIVE1MRm9ybUVsZW1lbnQpLCAwLCAwLCAwLCBub2RlQ29sbGVjdGlvbkluZGV4
ZWRQcm9wZXJ0eUVudW1lcmF0b3I8SFRNTEZvcm1FbGVtZW50Piwgdjg6OkludGVnZXI6Ok5ldyhW
OENsYXNzSW5kZXg6Ok5PREUpKTsKLSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBWOENsYXNzSW5k
ZXg6OlNUWUxFU0hFRVQ6ICAvLyBmYWxsIHRocm91Z2gKICAgICBjYXNlIFY4Q2xhc3NJbmRleDo6
Q1NTU1RZTEVTSEVFVDogewogICAgICAgICAvLyBXZSBhZGQgYW4gZXh0cmEgaW50ZXJuYWwgZmll
bGQgdG8gaG9sZCBhIHJlZmVyZW5jZSB0bwpAQCAtMzM3LDIwICszMjksMTAgQEAgdjg6OlBlcnNp
c3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IFY4RE9NV3JhcHBlcjo6Z2V0VGVtcGxhdGUoVjhD
bGFzc0luZGV4OjpWOFcKICAgICAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3RUZW1wbGF0ZT4gaW5z
dGFuY2VUZW1wbGF0ZSA9IGRlc2NyaXB0b3ItPkluc3RhbmNlVGVtcGxhdGUoKTsKICAgICAgICAg
QVNTRVJUKGluc3RhbmNlVGVtcGxhdGUtPkludGVybmFsRmllbGRDb3VudCgpID09IFY4Q3VzdG9t
OjprRGVmYXVsdFdyYXBwZXJJbnRlcm5hbEZpZWxkQ291bnQpOwogICAgICAgICBpbnN0YW5jZVRl
bXBsYXRlLT5TZXRJbnRlcm5hbEZpZWxkQ291bnQoVjhDdXN0b206OmtOYW1lZE5vZGVNYXBJbnRl
cm5hbEZpZWxkQ291bnQpOwotICAgICAgICBpbnN0YW5jZVRlbXBsYXRlLT5TZXRJbmRleGVkUHJv
cGVydHlIYW5kbGVyKFVTRV9JTkRFWEVEX1BST1BFUlRZX0dFVFRFUihOYW1lZE5vZGVNYXApLCAw
LCAwLCAwLCBjb2xsZWN0aW9uSW5kZXhlZFByb3BlcnR5RW51bWVyYXRvcjxOYW1lZE5vZGVNYXA+
LCB2ODo6SW50ZWdlcjo6TmV3KFY4Q2xhc3NJbmRleDo6Tk9ERSkpOwogICAgICAgICBicmVhazsK
ICAgICB9Ci0jaWYgRU5BQkxFKERPTV9TVE9SQUdFKQotICAgIGNhc2UgVjhDbGFzc0luZGV4OjpT
VE9SQUdFOgotICAgICAgICBkZXNjcmlwdG9yLT5JbnN0YW5jZVRlbXBsYXRlKCktPlNldEluZGV4
ZWRQcm9wZXJ0eUhhbmRsZXIoVVNFX0lOREVYRURfUFJPUEVSVFlfR0VUVEVSKFN0b3JhZ2UpLCBV
U0VfSU5ERVhFRF9QUk9QRVJUWV9TRVRURVIoU3RvcmFnZSksIDAsIFVTRV9JTkRFWEVEX1BST1BF
UlRZX0RFTEVURVIoU3RvcmFnZSkpOwotICAgICAgICBicmVhazsKLSNlbmRpZgogICAgIGNhc2Ug
VjhDbGFzc0luZGV4OjpET01XSU5ET1c6IHsKLSAgICAgICAgdjg6OkxvY2FsPHY4OjpTaWduYXR1
cmU+IGRlZmF1bHRTaWduYXR1cmUgPSB2ODo6U2lnbmF0dXJlOjpOZXcoZGVzY3JpcHRvcik7Ci0K
LSAgICAgICAgZGVzY3JpcHRvci0+UHJvdG90eXBlVGVtcGxhdGUoKS0+U2V0SW5kZXhlZFByb3Bl
cnR5SGFuZGxlcihVU0VfSU5ERVhFRF9QUk9QRVJUWV9HRVRURVIoRE9NV2luZG93KSk7CiAgICAg
ICAgIGRlc2NyaXB0b3ItPlByb3RvdHlwZVRlbXBsYXRlKCktPlNldEludGVybmFsRmllbGRDb3Vu
dChWOEN1c3RvbTo6a0RPTVdpbmRvd0ludGVybmFsRmllbGRDb3VudCk7Ci0KICAgICAgICAgZGVz
Y3JpcHRvci0+U2V0SGlkZGVuUHJvdG90eXBlKHRydWUpOwogCiAgICAgICAgIC8vIFJlc2VydmUg
c3BhY2VzIGZvciByZWZlcmVuY2VzIHRvIGxvY2F0aW9uLCBoaXN0b3J5IGFuZApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21CaW5kaW5nLmggYi9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbUJpbmRpbmcuaAppbmRleCBhZDNhMGFlLi5kNTA2
MDc0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbUJpbmRp
bmcuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbUJpbmRpbmcuaApA
QCAtMzY3LDggKzM2NywxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIERFQ0xBUkVf
TkFNRURfUFJPUEVSVFlfU0VUVEVSKEhUTUxFbWJlZEVsZW1lbnQpOwogICAgICAgICBERUNMQVJF
X05BTUVEX1BST1BFUlRZX0dFVFRFUihIVE1MT2JqZWN0RWxlbWVudCk7CiAgICAgICAgIERFQ0xB
UkVfTkFNRURfUFJPUEVSVFlfU0VUVEVSKEhUTUxPYmplY3RFbGVtZW50KTsKLSAgICAgICAgREVD
TEFSRV9JTkRFWEVEX1BST1BFUlRZX0dFVFRFUihIVE1MUGx1Z0luRWxlbWVudCk7Ci0gICAgICAg
IERFQ0xBUkVfSU5ERVhFRF9QUk9QRVJUWV9TRVRURVIoSFRNTFBsdWdJbkVsZW1lbnQpOworICAg
ICAgICBERUNMQVJFX0lOREVYRURfUFJPUEVSVFlfR0VUVEVSKEhUTUxBcHBsZXRFbGVtZW50KTsK
KyAgICAgICAgREVDTEFSRV9JTkRFWEVEX1BST1BFUlRZX1NFVFRFUihIVE1MQXBwbGV0RWxlbWVu
dCk7CisgICAgICAgIERFQ0xBUkVfSU5ERVhFRF9QUk9QRVJUWV9HRVRURVIoSFRNTEVtYmVkRWxl
bWVudCk7CisgICAgICAgIERFQ0xBUkVfSU5ERVhFRF9QUk9QRVJUWV9TRVRURVIoSFRNTEVtYmVk
RWxlbWVudCk7CisgICAgICAgIERFQ0xBUkVfSU5ERVhFRF9QUk9QRVJUWV9HRVRURVIoSFRNTE9i
amVjdEVsZW1lbnQpOworICAgICAgICBERUNMQVJFX0lOREVYRURfUFJPUEVSVFlfU0VUVEVSKEhU
TUxPYmplY3RFbGVtZW50KTsKIAogICAgICAgICBERUNMQVJFX05BTUVEX1BST1BFUlRZX0dFVFRF
UihTdHlsZVNoZWV0TGlzdCk7CiAgICAgICAgIERFQ0xBUkVfSU5ERVhFRF9QUk9QRVJUWV9HRVRU
RVIoTmFtZWROb2RlTWFwKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SFRNTFBsdWdJbkVsZW1lbnRDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhIVE1MUGx1Z0luRWxlbWVudEN1c3RvbS5jcHAKaW5kZXggNmFjZDY4OS4uZTE3M2FiOSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MUGx1Z0luRWxlbWVu
dEN1c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MUGx1Z0lu
RWxlbWVudEN1c3RvbS5jcHAKQEAgLTExNCw3ICsxMTQsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gVjhIVE1MUGx1Z0luRWxlbWVudDo6ZGVmYXVsdENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVu
dHMmCiAgICAgcmV0dXJuIG5wT2JqZWN0SW52b2tlRGVmYXVsdEhhbmRsZXIoYXJncyk7CiB9CiAK
LUlOREVYRURfUFJPUEVSVFlfR0VUVEVSKEhUTUxQbHVnSW5FbGVtZW50KQordjg6OkhhbmRsZTx2
ODo6VmFsdWU+IG5wT2JqZWN0SW5kZXhlZEdldHRlcih1aW50MzJfdCBpbmRleCwgY29uc3Qgdjg6
OkFjY2Vzc29ySW5mbyYgaW5mbykKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5IVE1MUGx1Z0luRWxl
bWVudC5JbmRleGVkUHJvcGVydHlHZXR0ZXIiKTsKICAgICBIVE1MUGx1Z0luRWxlbWVudCogaW1w
ID0gVjhET01XcmFwcGVyOjpjb252ZXJ0RE9NV3JhcHBlclRvTm9kZTxIVE1MUGx1Z0luRWxlbWVu
dD4oaW5mby5Ib2xkZXIoKSk7CkBAIC0xMjksNyArMTI5LDcgQEAgSU5ERVhFRF9QUk9QRVJUWV9H
RVRURVIoSFRNTFBsdWdJbkVsZW1lbnQpCiAgICAgcmV0dXJuIG5wT2JqZWN0R2V0SW5kZXhlZFBy
b3BlcnR5KGluc3RhbmNlLCBpbmRleCk7CiB9CiAKLUlOREVYRURfUFJPUEVSVFlfU0VUVEVSKEhU
TUxQbHVnSW5FbGVtZW50KQordjg6OkhhbmRsZTx2ODo6VmFsdWU+IG5wT2JqZWN0SW5kZXhlZFNl
dHRlcih1aW50MzJfdCBpbmRleCwgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsIGNvbnN0IHY4
OjpBY2Nlc3NvckluZm8mIGluZm8pCiB7CiAgICAgSU5DX1NUQVRTKCJET00uSFRNTFBsdWdJbkVs
ZW1lbnQuSW5kZXhlZFByb3BlcnR5U2V0dGVyIik7CiAgICAgSFRNTFBsdWdJbkVsZW1lbnQqIGlt
cCA9IFY4RE9NV3JhcHBlcjo6Y29udmVydERPTVdyYXBwZXJUb05vZGU8SFRNTFBsdWdJbkVsZW1l
bnQ+KGluZm8uSG9sZGVyKCkpOwpAQCAtMTQ0LDQgKzE0NCw0MCBAQCBJTkRFWEVEX1BST1BFUlRZ
X1NFVFRFUihIVE1MUGx1Z0luRWxlbWVudCkKICAgICByZXR1cm4gbnBPYmplY3RTZXRJbmRleGVk
UHJvcGVydHkoaW5zdGFuY2UsIGluZGV4LCB2YWx1ZSk7CiB9CiAKK0lOREVYRURfUFJPUEVSVFlf
R0VUVEVSKEhUTUxBcHBsZXRFbGVtZW50KQoreworICAgIElOQ19TVEFUUygiRE9NLkhUTUxBcHBs
ZXRFbGVtZW50LkluZGV4ZWRQcm9wZXJ0eUdldHRlciIpOworICAgIHJldHVybiBucE9iamVjdElu
ZGV4ZWRHZXR0ZXIoaW5kZXgsIGluZm8pOworfQorCitJTkRFWEVEX1BST1BFUlRZX0dFVFRFUihI
VE1MRW1iZWRFbGVtZW50KQoreworICAgIElOQ19TVEFUUygiRE9NLkhUTUxFbWJlZEVsZW1lbnQu
SW5kZXhlZFByb3BlcnR5R2V0dGVyIik7CisgICAgcmV0dXJuIG5wT2JqZWN0SW5kZXhlZEdldHRl
cihpbmRleCwgaW5mbyk7Cit9CisKK0lOREVYRURfUFJPUEVSVFlfR0VUVEVSKEhUTUxPYmplY3RF
bGVtZW50KQoreworICAgIElOQ19TVEFUUygiRE9NLkhUTUxPYmplY3RFbGVtZW50LkluZGV4ZWRQ
cm9wZXJ0eUdldHRlciIpOworICAgIHJldHVybiBucE9iamVjdEluZGV4ZWRHZXR0ZXIoaW5kZXgs
IGluZm8pOworfQorCitJTkRFWEVEX1BST1BFUlRZX1NFVFRFUihIVE1MQXBwbGV0RWxlbWVudCkK
K3sKKyAgICBJTkNfU1RBVFMoIkRPTS5IVE1MQXBwbGV0RWxlbWVudC5JbmRleGVkUHJvcGVydHlT
ZXR0ZXIiKTsKKyAgICByZXR1cm4gbnBPYmplY3RJbmRleGVkU2V0dGVyKGluZGV4LCB2YWx1ZSwg
aW5mbyk7Cit9CisKK0lOREVYRURfUFJPUEVSVFlfU0VUVEVSKEhUTUxFbWJlZEVsZW1lbnQpCit7
CisgICAgSU5DX1NUQVRTKCJET00uSFRNTEVtYmVkRWxlbWVudC5JbmRleGVkUHJvcGVydHlTZXR0
ZXIiKTsKKyAgICByZXR1cm4gbnBPYmplY3RJbmRleGVkU2V0dGVyKGluZGV4LCB2YWx1ZSwgaW5m
byk7Cit9CisKK0lOREVYRURfUFJPUEVSVFlfU0VUVEVSKEhUTUxPYmplY3RFbGVtZW50KQorewor
ICAgIElOQ19TVEFUUygiRE9NLkhUTUxPYmplY3RFbGVtZW50LkluZGV4ZWRQcm9wZXJ0eVNldHRl
ciIpOworICAgIHJldHVybiBucE9iamVjdEluZGV4ZWRTZXR0ZXIoaW5kZXgsIHZhbHVlLCBpbmZv
KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>
<flag name="review"
          id="27709"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>