<?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>207377</bug_id>
          
          <creation_ts>2020-02-07 01:51:22 -0800</creation_ts>
          <short_desc>IndexedDB: index cursor iteration is slow when there are a lot of index records from different object stores</short_desc>
          <delta_ts>2020-02-17 09:45:00 -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 Misc.</component>
          <version>Safari Technology Preview</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos">carlos.aristu</reporter>
          <assigned_to name="Sihui Liu">sihui_liu</assigned_to>
          <cc>achristensen</cc>
    
    <cc>alecflett</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jsbell</cc>
    
    <cc>sihui_liu</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1616088</commentid>
    <comment_count>0</comment_count>
      <attachid>390067</attachid>
    <who name="Carlos">carlos.aristu</who>
    <bug_when>2020-02-07 01:51:22 -0800</bug_when>
    <thetext>Created attachment 390067
Bug Reproducer

The fact of having an object store with a lot of data is impacting in the performance of the rest of object stores, making the openCursor operation much slower when using an index (even if the object store that we want to read is almost empty).

Note that when not using an index (IDBIndex), the performance seems to be not affected.

Tested with Safari Technology preview release 100 (Safari 13.2, WebKit 15610.1.2.1) on Mac, and with Safari 13 on iOS.

Steps to reproduce: 

1- Open the attached reproducer, performance.html. An IndexedDB database with two objectStores (testStore and testStore2) is created.
2- Click in “Read data (object store)”, it reads the contents of the object store “testStore2” using the openCursor operation directly with the objectStore. The testStore2 is empty and the read finishes in a few milliseconds.
3- Click in “Read data (index)”, it reads the contents of the object store “testStore2” using the openCursor operation by an index of testStore2. The testStore2 is empty and the read finishes in a few milliseconds.
4- Click in “Populate database” and wait until it finishes. It will populate “testStore” with 250000 records and testStore2 with 10 records.
5- Click in “Read data (object store)”. Reading again testStore2 (which is almost empty, 10 records). It finishes in a few milliseconds.
6- Click in “Read data (index)”. Reading again objectStestStore2tore2 (which is almost empty, 10 records). It takes at least 200 ms</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1616588</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-02-08 13:28:12 -0800</bug_when>
    <thetext>&lt;rdar://problem/59288679&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619204</commentid>
    <comment_count>2</comment_count>
      <attachid>390818</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2020-02-14 14:20:52 -0800</bug_when>
    <thetext>Created attachment 390818
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619283</commentid>
    <comment_count>3</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2020-02-14 16:21:13 -0800</bug_when>
    <thetext>The layout test failure is not caused by the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619687</commentid>
    <comment_count>4</comment_count>
      <attachid>390818</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-17 09:44:59 -0800</bug_when>
    <thetext>Comment on attachment 390818
Patch

Clearing flags on attachment: 390818

Committed r256738: &lt;https://trac.webkit.org/changeset/256738&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619688</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-17 09:45:00 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>390067</attachid>
            <date>2020-02-07 01:51:22 -0800</date>
            <delta_ts>2020-02-07 01:51:22 -0800</delta_ts>
            <desc>Bug Reproducer</desc>
            <filename>performance.html</filename>
            <type>text/html</type>
            <size>3375</size>
            <attacher name="Carlos">carlos.aristu</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8c2NyaXB0PgpmdW5jdGlvbiB3cml0ZSh0ZXh0KSB7CiAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ291dHB1dCcpLmlubmVySFRNTCA9IHRleHQ7Cn0KCmNvbnN0IG9wZW5S
ZXF1ZXN0ID0gd2luZG93LmluZGV4ZWREQi5vcGVuKCd0ZXN0ZGInKTsKbGV0IGRiOwpvcGVuUmVx
dWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbihldmVudCkgewogIHdyaXRlKCdvcGVuIHN1Y2Nlc3Mn
KTsKICBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7Cn07CgpvcGVuUmVxdWVzdC5vbnVwZ3JhZGVu
ZWVkZWQgPSBmdW5jdGlvbihldmVudCkgewogIGNvbnN0IGRiID0gZXZlbnQudGFyZ2V0LnJlc3Vs
dDsKICBjb25zdCBzdG9yZTEgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgndGVzdFN0b3JlJywgeyBr
ZXlQYXRoOiAndGVzdElEJyB9KTsKICBzdG9yZTEuY3JlYXRlSW5kZXgoJ215SW5kZXgxJywgJ2En
KTsKICBzdG9yZTEuY3JlYXRlSW5kZXgoJ215SW5kZXgyJywgJ2InKTsKICBjb25zdCBzdG9yZTIg
PSBkYi5jcmVhdGVPYmplY3RTdG9yZSgndGVzdFN0b3JlMicsIHsga2V5UGF0aDogJ3Rlc3RJRCcg
fSk7CiAgc3RvcmUyLmNyZWF0ZUluZGV4KCdteUluZGV4MScsICdhJyk7Cn07CgpvcGVuUmVxdWVz
dC5vbmVycm9yID0gb3BlblJlcXVlc3Qub25hYm9ydCA9IGZ1bmN0aW9uKCkgewogIHdyaXRlKCdl
cnJvciBvcGVuaW5nIGRiJyk7Cn07CgpmdW5jdGlvbiBwb3B1bGF0ZVN0b3JlKHN0b3JlLCBvYmpl
Y3RzVG9BZGQpIHsKICBjb25zdCBvYmplY3RTdG9yZSA9IGRiLnRyYW5zYWN0aW9uKHN0b3JlLCAn
cmVhZHdyaXRlJykub2JqZWN0U3RvcmUoc3RvcmUpOwogIGxldCByZXF1ZXN0OwogIGZvciAodmFy
IGkgPSAwOyBpIDwgb2JqZWN0c1RvQWRkOyBpKyspIHsKICAgIHJlcXVlc3QgPSBvYmplY3RTdG9y
ZS5wdXQoewogICAgICB0ZXN0SUQ6IGksCiAgICAgIGE6ICdmb28nICsgaSwKICAgICAgYjogJ2Jh
cicgKyBpLAogICAgICBjOiAndGVzdCcgKyBpCiAgICB9KTsKICB9CiAgcmV0dXJuIG5ldyBQcm9t
aXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKICAgIHJlcXVlc3Qub25zdWNjZXNzID0gKCkgPT4g
ewogICAgICByZXNvbHZlKCk7CiAgICB9OwogICAgcmVxdWVzdC5vbmVycm9yID0gZXZlbnQgPT4g
ewogICAgICBhbGVydCgnZXJyb3IgYWRkaW5nIScpOwogICAgICByZWplY3QobmV3IEVycm9yKCdF
cnJvciBwb3B1bGF0aW5nIGRiJykpOwogICAgfTsKICB9KTsKfQoKYXN5bmMgZnVuY3Rpb24gcG9w
dWxhdGVEYXRhYmFzZSgpIHsKICBjb25zdCBzdGFydFRpbWUgPSB3aW5kb3cucGVyZm9ybWFuY2Uu
bm93KCk7CiAgYXdhaXQgcG9wdWxhdGVTdG9yZSgndGVzdFN0b3JlJywgMjUwMDAwKTsKICBhd2Fp
dCBwb3B1bGF0ZVN0b3JlKCd0ZXN0U3RvcmUyJywgMTApOwogIHdyaXRlKAogICAgJ0RhdGFiYXNl
IHBvcHVsYXRlZCBpbiAnICsgKHdpbmRvdy5wZXJmb3JtYW5jZS5ub3coKSAtIHN0YXJ0VGltZSkg
KyAnIG1zLicKICApOwp9CgpmdW5jdGlvbiBkb1JlYWRXaXRoU3RvcmUoKSB7CiAgY29uc3QgcmVh
ZGVyID0gZGIKICAgIC50cmFuc2FjdGlvbigndGVzdFN0b3JlMicsICdyZWFkb25seScpCiAgICAu
b2JqZWN0U3RvcmUoJ3Rlc3RTdG9yZTInKTsKICBjb25zdCByZXF1ZXN0ID0gcmVhZGVyLm9wZW5D
dXJzb3IoKTsKICBjb25zdCBvYmpzID0gW107CiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZl
LCByZWplY3QpID0+IHsKICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oZXZlbnQpIHsK
ICAgICAgdmFyIGN1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CiAgICAgIGlmIChjdXJzb3Ip
IHsKICAgICAgICBjdXJzb3IuY29udGludWUoKTsKICAgICAgICBvYmpzLnB1c2goY3Vyc29yLnZh
bHVlKTsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXNvbHZlKG9ianMpOwogICAgICB9CiAgICB9
OwogICAgcmVxdWVzdC5vbmVycm9yID0gZnVuY3Rpb24oZXZlbnQpIHsKICAgICAgcmVqZWMobmV3
IEVycm9yKCdFcnJvciByZWFkaW5nIGRiJykpOwogICAgfTsKICB9KTsKfQoKYXN5bmMgZnVuY3Rp
b24gcmVhZFdpdGhTdG9yZSgpIHsKICBjb25zdCBzdGFydFRpbWUgPSB3aW5kb3cucGVyZm9ybWFu
Y2Uubm93KCk7CiAgY29uc3Qgb2JqcyA9IGF3YWl0IGRvUmVhZFdpdGhTdG9yZSgpOwogIHdyaXRl
KCdSZWFkIGZpbmlzaGVkIGluICcgKyAod2luZG93LnBlcmZvcm1hbmNlLm5vdygpIC0gc3RhcnRU
aW1lKSArICcgbXMuOiAnKyBKU09OLnN0cmluZ2lmeShvYmpzKSk7Cn0KCmZ1bmN0aW9uIGRvUmVh
ZFdpdGhJbmRleCgpIHsKICBjb25zdCByZWFkZXIgPSBkYgogICAgLnRyYW5zYWN0aW9uKCd0ZXN0
U3RvcmUyJywgJ3JlYWRvbmx5JykKICAgIC5vYmplY3RTdG9yZSgndGVzdFN0b3JlMicpCiAgICAu
aW5kZXgoJ215SW5kZXgxJyk7CiAgY29uc3QgcmVxdWVzdCA9IHJlYWRlci5vcGVuQ3Vyc29yKCk7
CiAgY29uc3Qgb2JqcyA9IFtdOwogIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0
KSA9PiB7CiAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgIHZh
ciBjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0OwogICAgICBpZiAoY3Vyc29yKSB7CiAgICAg
ICAgY3Vyc29yLmNvbnRpbnVlKCk7CiAgICAgICAgb2Jqcy5wdXNoKGN1cnNvci52YWx1ZSk7CiAg
ICAgIH0gZWxzZSB7CiAgICAgICAgcmVzb2x2ZShvYmpzKTsKICAgICAgfQogICAgfTsKICAgIHJl
cXVlc3Qub25lcnJvciA9IGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgIHJlamVjdChuZXcgRXJyb3Io
J0Vycm9yIHJlYWRpbmcgZGInKSk7CiAgICB9OwogIH0pOwp9Cgphc3luYyBmdW5jdGlvbiByZWFk
V2l0aEluZGV4KCkgewogIGNvbnN0IHN0YXJ0VGltZSA9IHdpbmRvdy5wZXJmb3JtYW5jZS5ub3co
KTsKICBjb25zdCBvYmpzID0gYXdhaXQgZG9SZWFkV2l0aEluZGV4KCk7CiAgd3JpdGUoCiAgICAn
UmVhZCB1c2luZyBpbmRleCBmaW5pc2hlZCBpbiAnICsKICAgICAgKHdpbmRvdy5wZXJmb3JtYW5j
ZS5ub3coKSAtIHN0YXJ0VGltZSkgKwogICAgICAnIG1zLjogJysgSlNPTi5zdHJpbmdpZnkob2Jq
cykKICApOwp9Cjwvc2NyaXB0Pgo8L2hlYWQ+Cjxib2R5PgogIDxkaXYgaWQ9Im91dHB1dCI+CiAg
PC9kaXY+CiAgPGJ1dHRvbiBvbmNsaWNrPSJyZWFkV2l0aFN0b3JlKCkiPlJlYWQgZGF0YSAob2Jq
ZWN0IHN0b3JlKTwvYnV0dG9uPgogIDxidXR0b24gb25jbGljaz0icmVhZFdpdGhJbmRleCgpIj5S
ZWFkIGRhdGEgKGluZGV4KTwvYnV0dG9uPgogIDxidXR0b24gb25jbGljaz0idGhpcy5kaXNhYmxl
ZD10cnVlO3BvcHVsYXRlRGF0YWJhc2UoKSI+UG9wdWxhdGUgZGF0YWJhc2U8L2J1dHRvbj4KPC9i
b2R5Pgo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390818</attachid>
            <date>2020-02-14 14:20:52 -0800</date>
            <delta_ts>2020-02-17 09:44:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207377-20200214142051.patch</filename>
            <type>text/plain</type>
            <size>4501</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2NjIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmIwMjM3OTYzMDNiYzdi
MmNkYWJkYTAzMGQwYTgwMTZmZjZiOWY4ZS4uZWQ3YzMwM2RkNTY5NzQyMDhkOTYzYjZhOWU1YzQy
MzdlZmM1NTU0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIwLTAyLTE0ICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEluZGV4ZWREQjogaW5kZXgg
Y3Vyc29yIGl0ZXJhdGlvbiBpcyBzbG93IHdoZW4gdGhlcmUgYXJlIGEgbG90IG9mIGluZGV4IHJl
Y29yZHMgZnJvbSBkaWZmZXJlbnQgb2JqZWN0IHN0b3JlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA3Mzc3CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS81OTI4ODY3OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBNYWtlIHRoZSBJbmRleCBvZiBJbmRleFJlY29yZHMgdGFibGUgaW5jbHVkZSBpbmRleElE
IHNpbmNlIHdlIGFsd2F5cyBwZXJmb3JtIHNlYXJjaCB3aXRoIGluZGV4SUQuCisgICAgICAgIFRo
aXMgd291bGQgbGV0IFNRTGl0ZSBvcHRpbWl6ZSB0aGUgaW5kZXggc3RhdGVtZW50IGluIFNRTGl0
ZUN1cnNvciB3aXRoIENvdmVyaW5nIEluZGV4IGFuZCBmaXggdGhlIHNsb3duZXNzLgorCisgICAg
ICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkJhY2tpbmdTdG9yZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlNRTGl0ZUlEQkJhY2tpbmdTdG9yZTo6ZW5z
dXJlVmFsaWRJbmRleFJlY29yZHNJbmRleCk6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6
OnYxSW5kZXhSZWNvcmRzSW5kZXhTY2hlbWEpOiBEZWxldGVkLgorCiAyMDIwLTAyLTE0ICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgogCiAgICAgICAgIEluZGV4ZWREQjogcHJlZmV0
Y2ggY3Vyc29yIHJlY29yZHMgb24gY2xpZW50IHNpZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJCYWNraW5nU3RvcmUuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkJhY2tpbmdT
dG9yZS5jcHAKaW5kZXggNTczYmVjNzdlMmYyZjNkMWMxMjEyMWJjNThmZWNjM2ZjZjFhM2UyMC4u
MzQwODhiNGU1OWIzMDAwNGRjODAxZDliMWQ5Y2Y1N2E4ZDNiYzExZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkJhY2tpbmdTdG9y
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0
ZUlEQkJhY2tpbmdTdG9yZS5jcHAKQEAgLTY0LDcgKzY0LDcgQEAgY29uc3RleHByIGF1dG8gb2Jq
ZWN0U3RvcmVJbmZvVGFibGVOYW1lID0gIk9iamVjdFN0b3JlSW5mbyJfczsKIGNvbnN0ZXhwciBh
dXRvIG9iamVjdFN0b3JlSW5mb1RhYmxlTmFtZUFsdGVybmF0ZSA9ICJcIk9iamVjdFN0b3JlSW5m
b1wiIl9zOwogY29uc3RleHByIGF1dG8gdjJPYmplY3RTdG9yZUluZm9TY2hlbWEgPSAiQ1JFQVRF
IFRBQkxFIE9iamVjdFN0b3JlSW5mbyAoaWQgSU5URUdFUiBQUklNQVJZIEtFWSBOT1QgTlVMTCBP
TiBDT05GTElDVCBGQUlMIFVOSVFVRSBPTiBDT05GTElDVCBGQUlMLCBuYW1lIFRFWFQgTk9UIE5V
TEwgT04gQ09ORkxJQ1QgRkFJTCBVTklRVUUgT04gQ09ORkxJQ1QgRkFJTCwga2V5UGF0aCBCTE9C
IE5PVCBOVUxMIE9OIENPTkZMSUNUIEZBSUwsIGF1dG9JbmMgSU5URUdFUiBOT1QgTlVMTCBPTiBD
T05GTElDVCBGQUlMKSJfczsKIGNvbnN0ZXhwciBhdXRvIHYxSW5kZXhSZWNvcmRzUmVjb3JkSW5k
ZXhTY2hlbWEgPSAiQ1JFQVRFIElOREVYIEluZGV4UmVjb3Jkc1JlY29yZEluZGV4IE9OIEluZGV4
UmVjb3JkcyAob2JqZWN0U3RvcmVJRCwgb2JqZWN0U3RvcmVSZWNvcmRJRCkiX3M7Ci1jb25zdGV4
cHIgYXV0byB2MkluZGV4UmVjb3Jkc0luZGV4U2NoZW1hID0gIkNSRUFURSBJTkRFWCBJbmRleFJl
Y29yZHNJbmRleCBPTiBJbmRleFJlY29yZHMgKGtleSwgdmFsdWUpIl9zOworY29uc3RleHByIGF1
dG8gSW5kZXhSZWNvcmRzSW5kZXhTY2hlbWEgPSAiQ1JFQVRFIElOREVYIEluZGV4UmVjb3Jkc0lu
ZGV4IE9OIEluZGV4UmVjb3JkcyAoaW5kZXhJRCwga2V5LCB2YWx1ZSkiX3M7CiAKIC8vIEN1cnJl
bnQgdmVyc2lvbiBvZiB0aGUgbWV0YWRhdGEgc2NoZW1hIGJlaW5nIHVzZWQgaW4gdGhlIG1ldGFk
YXRhIGRhdGFiYXNlLgogc3RhdGljIGNvbnN0IGludCBjdXJyZW50TWV0YWRhdGFWZXJzaW9uID0g
MTsKQEAgLTE5NSwxMiArMTk1LDYgQEAgc3RhdGljIGNvbnN0IFN0cmluZyB2M0luZGV4UmVjb3Jk
c1RhYmxlU2NoZW1hQWx0ZXJuYXRlKCkKICAgICByZXR1cm4gaW5kZXhSZWNvcmRzVGFibGVTY2hl
bWFTdHJpbmc7CiB9CiAKLXN0YXRpYyBjb25zdCBTdHJpbmcmIHYxSW5kZXhSZWNvcmRzSW5kZXhT
Y2hlbWEoKQotewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxXVEY6OlN0cmluZz4gaW5kZXhS
ZWNvcmRzSW5kZXhTY2hlbWFTdHJpbmcoIkNSRUFURSBJTkRFWCBJbmRleFJlY29yZHNJbmRleCBP
TiBJbmRleFJlY29yZHMgKGtleSkiKTsKLSAgICByZXR1cm4gaW5kZXhSZWNvcmRzSW5kZXhTY2hl
bWFTdHJpbmc7Ci19Ci0KIHN0YXRpYyBjb25zdCBTdHJpbmcgYmxvYlJlY29yZHNUYWJsZVNjaGVt
YShjb25zdCBTdHJpbmcmIHRhYmxlTmFtZSkKIHsKICAgICByZXR1cm4gbWFrZVN0cmluZygiQ1JF
QVRFIFRBQkxFICIsIHRhYmxlTmFtZSwgIiAob2JqZWN0U3RvcmVSb3cgSU5URUdFUiBOT1QgTlVM
TCBPTiBDT05GTElDVCBGQUlMLCBibG9iVVJMIFRFWFQgTk9UIE5VTEwgT04gQ09ORkxJQ1QgRkFJ
TCkiKTsKQEAgLTUxNSw3ICs1MDksNyBAQCBib29sIFNRTGl0ZUlEQkJhY2tpbmdTdG9yZTo6ZW5z
dXJlVmFsaWRJbmRleFJlY29yZHNJbmRleCgpCiAKICAgICAgICAgLy8gSWYgdGhlcmUgaXMgbm8g
SW5kZXhSZWNvcmRzSW5kZXggaW5kZXggYXQgYWxsLCBjcmVhdGUgaXQgYW5kIHRoZW4gYmFpbC4K
ICAgICAgICAgaWYgKHNxbGl0ZVJlc3VsdCA9PSBTUUxJVEVfRE9ORSkgewotICAgICAgICAgICAg
aWYgKCFtX3NxbGl0ZURCLT5leGVjdXRlQ29tbWFuZCh2MkluZGV4UmVjb3Jkc0luZGV4U2NoZW1h
KSkgeworICAgICAgICAgICAgaWYgKCFtX3NxbGl0ZURCLT5leGVjdXRlQ29tbWFuZChJbmRleFJl
Y29yZHNJbmRleFNjaGVtYSkpIHsKICAgICAgICAgICAgICAgICBMT0dfRVJST1IoIkNvdWxkIG5v
dCBjcmVhdGUgSW5kZXhSZWNvcmRzSW5kZXggaW5kZXggaW4gZGF0YWJhc2UgKCVpKSAtICVzIiwg
bV9zcWxpdGVEQi0+bGFzdEVycm9yKCksIG1fc3FsaXRlREItPmxhc3RFcnJvck1zZygpKTsKICAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICB9CkBAIC01MzQsMTEgKzUy
OCwxMCBAQCBib29sIFNRTGl0ZUlEQkJhY2tpbmdTdG9yZTo6ZW5zdXJlVmFsaWRJbmRleFJlY29y
ZHNJbmRleCgpCiAgICAgQVNTRVJUKCFjdXJyZW50U2NoZW1hLmlzRW1wdHkoKSk7CiAKICAgICAv
LyBJZiB0aGUgc2NoZW1hIGluIHRoZSBiYWNraW5nIHN0b3JlIGlzIHRoZSBjdXJyZW50IHNjaGVt
YSwgd2UncmUgZG9uZS4KLSAgICBpZiAoY3VycmVudFNjaGVtYSA9PSB2MkluZGV4UmVjb3Jkc0lu
ZGV4U2NoZW1hKQorICAgIGlmIChjdXJyZW50U2NoZW1hID09IEluZGV4UmVjb3Jkc0luZGV4U2No
ZW1hKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIFJFTEVBU0VfQVNTRVJUKGN1cnJlbnRT
Y2hlbWEgPT0gdjFJbmRleFJlY29yZHNJbmRleFNjaGVtYSgpKTsKLQorICAgIC8vIE90aGVyd2lz
ZSwgdXBkYXRlIHRoZSBzY2hlbWEuCiAgICAgU1FMaXRlVHJhbnNhY3Rpb24gdHJhbnNhY3Rpb24o
Km1fc3FsaXRlREIpOwogICAgIHRyYW5zYWN0aW9uLmJlZ2luKCk7CiAKQEAgLTU0Nyw3ICs1NDAs
NyBAQCBib29sIFNRTGl0ZUlEQkJhY2tpbmdTdG9yZTo6ZW5zdXJlVmFsaWRJbmRleFJlY29yZHNJ
bmRleCgpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICBpZiAoIW1fc3FsaXRl
REItPmV4ZWN1dGVDb21tYW5kKHYySW5kZXhSZWNvcmRzSW5kZXhTY2hlbWEpKSB7CisgICAgaWYg
KCFtX3NxbGl0ZURCLT5leGVjdXRlQ29tbWFuZChJbmRleFJlY29yZHNJbmRleFNjaGVtYSkpIHsK
ICAgICAgICAgTE9HX0VSUk9SKCJDb3VsZCBub3QgY3JlYXRlIEluZGV4UmVjb3Jkc0luZGV4IGlu
ZGV4IGluIGRhdGFiYXNlICglaSkgLSAlcyIsIG1fc3FsaXRlREItPmxhc3RFcnJvcigpLCBtX3Nx
bGl0ZURCLT5sYXN0RXJyb3JNc2coKSk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>