<?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>126696</bug_id>
          
          <creation_ts>2014-01-09 07:38:38 -0800</creation_ts>
          <short_desc>DocumentOrderedMap should use iterator</short_desc>
          <delta_ts>2014-01-09 12:18:26 -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>DOM</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="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kling</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>965891</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-01-09 07:38:38 -0800</bug_when>
    <thetext>Instead of ElementTraversal</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>965901</commentid>
    <comment_count>1</comment_count>
      <attachid>220734</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-01-09 07:52:26 -0800</bug_when>
    <thetext>Created attachment 220734
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>965908</commentid>
    <comment_count>2</comment_count>
      <attachid>220738</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-01-09 08:15:08 -0800</bug_when>
    <thetext>Created attachment 220738
better patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>965924</commentid>
    <comment_count>3</comment_count>
      <attachid>220738</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-01-09 08:48:35 -0800</bug_when>
    <thetext>Comment on attachment 220738
better patch

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

&gt; Source/WebCore/dom/DocumentOrderedMap.cpp:213
&gt; +        auto elementDescandants = descendantsOfType&lt;Element&gt;(*scope.rootNode());

Typo, descandants.

&gt; Source/WebCore/dom/DocumentOrderedMap.cpp:214
&gt; +        auto it = entry.element ? elementDescandants.find(*entry.element) : elementDescandants.begin();

We need a better name for find(). beginAt()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>966019</commentid>
    <comment_count>4</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-01-09 12:18:26 -0800</bug_when>
    <thetext>https://trac.webkit.org/r161572</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220734</attachid>
            <date>2014-01-09 07:52:26 -0800</date>
            <delta_ts>2014-01-09 08:15:08 -0800</delta_ts>
            <desc>patch</desc>
            <filename>documentorderedmap-iterator.patch</filename>
            <type>text/plain</type>
            <size>4311</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2MTU1MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE0LTAxLTA5ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBEb2N1bWVudE9yZGVyZWRNYXAg
c2hvdWxkIHVzZSBpdGVyYXRvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTI2Njk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBkb20vRG9jdW1lbnRPcmRlcmVkTWFwLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50T3JkZXJlZE1hcDo6Z2V0KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
T3JkZXJlZE1hcDo6Z2V0QWxsRWxlbWVudHNCeUlkKTogVXNlIGVsZW1lbnQgaXRlcmF0b3IgaW5z
dGVhZCBvZiBFbGVtZW50VHJhdmVyc2FsLgorCiAyMDE0LTAxLTA5ICBBbmRyZWkgQnVjdXIgIDxh
YnVjdXJAYWRvYmUuY29tPgogCiAgICAgICAgIFtDU1NSZWdpb25zXSBNb3ZlIHJlZ2lvbnMgYXV0
by1zaXplIGNvZGUgaW50byBSZW5kZXJOYW1lZEZsb3dGcmFnbWVudApJbmRleDogU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50T3JkZXJlZE1hcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50T3JkZXJlZE1hcC5jcHAJKHJldmlzaW9uIDE2MTU1MikKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE9yZGVyZWRNYXAuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRP
cmRlcmVkTWFwLmgiCiAKLSNpbmNsdWRlICJFbGVtZW50VHJhdmVyc2FsLmgiCisjaW5jbHVkZSAi
RWxlbWVudEl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiSFRNTEltYWdlRWxlbWVudC5oIgogI2luY2x1
ZGUgIkhUTUxMYWJlbEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTWFwRWxlbWVudC5oIgpAQCAt
OTksNyArOTksNyBAQCB2b2lkIERvY3VtZW50T3JkZXJlZE1hcDo6YWRkKGNvbnN0IEF0b21pCiAK
ICAgICBNYXBFbnRyeSYgZW50cnkgPSBhZGRSZXN1bHQuaXRlcmF0b3ItPnZhbHVlOwogICAgIEFT
U0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKGVudHJ5LmNvdW50KTsKLSAgICBlbnRyeS5l
bGVtZW50ID0gMDsKKyAgICBlbnRyeS5lbGVtZW50ID0gbnVsbHB0cjsKICAgICBlbnRyeS5jb3Vu
dCsrOwogICAgIGVudHJ5Lm9yZGVyZWRMaXN0LmNsZWFyKCk7CiB9CkBAIC0xMTksNyArMTE5LDcg
QEAgdm9pZCBEb2N1bWVudE9yZGVyZWRNYXA6OnJlbW92ZShjb25zdCBBdAogICAgICAgICBtX21h
cC5yZW1vdmUoaXQpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGlmIChlbnRyeS5lbGVtZW50ID09
ICZlbGVtZW50KQotICAgICAgICAgICAgZW50cnkuZWxlbWVudCA9IDA7CisgICAgICAgICAgICBl
bnRyeS5lbGVtZW50ID0gbnVsbHB0cjsKICAgICAgICAgZW50cnkuY291bnQtLTsKICAgICAgICAg
ZW50cnkub3JkZXJlZExpc3QuY2xlYXIoKTsgLy8gRklYTUU6IFJlbW92ZSB0aGUgZWxlbWVudCBp
bnN0ZWFkIGlmIHRoZXJlIGFyZSBvbmx5IGZldyBpdGVtcyBsZWZ0LgogICAgIH0KQEAgLTEzMiw3
ICsxMzIsNyBAQCBpbmxpbmUgRWxlbWVudCogRG9jdW1lbnRPcmRlcmVkTWFwOjpnZXQoCiAKICAg
ICBhdXRvIGl0ID0gbV9tYXAuZmluZCgma2V5KTsKICAgICBpZiAoaXQgPT0gbV9tYXAuZW5kKCkp
Ci0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIE1hcEVu
dHJ5JiBlbnRyeSA9IGl0LT52YWx1ZTsKICAgICBBU1NFUlQoZW50cnkuY291bnQpOwpAQCAtMTQz
LDE2ICsxNDMsMTYgQEAgaW5saW5lIEVsZW1lbnQqIERvY3VtZW50T3JkZXJlZE1hcDo6Z2V0KAog
ICAgIH0KIAogICAgIC8vIFdlIGtub3cgdGhlcmUncyBhdCBsZWFzdCBvbmUgbm9kZSB0aGF0IG1h
dGNoZXM7IGl0ZXJhdGUgdG8gZmluZCB0aGUgZmlyc3Qgb25lLgotICAgIGZvciAoRWxlbWVudCog
ZWxlbWVudCA9IEVsZW1lbnRUcmF2ZXJzYWw6OmZpcnN0V2l0aGluKHNjb3BlLnJvb3ROb2RlKCkp
OyBlbGVtZW50OyBlbGVtZW50ID0gRWxlbWVudFRyYXZlcnNhbDo6bmV4dChlbGVtZW50KSkgewot
ICAgICAgICBpZiAoIWtleU1hdGNoZXMoa2V5LCBlbGVtZW50KSkKKyAgICBmb3IgKGF1dG8mIGVs
ZW1lbnQgOiBkZXNjZW5kYW50c09mVHlwZTxFbGVtZW50Pigqc2NvcGUucm9vdE5vZGUoKSkpIHsK
KyAgICAgICAgaWYgKCFrZXlNYXRjaGVzKGtleSwgJmVsZW1lbnQpKQogICAgICAgICAgICAgY29u
dGludWU7Ci0gICAgICAgIGVudHJ5LmVsZW1lbnQgPSBlbGVtZW50OwotICAgICAgICBBU1NFUlRf
V0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihlbGVtZW50LT5pc0luVHJlZVNjb3BlKCkpOwotICAg
ICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTigmZWxlbWVudC0+dHJlZVNjb3Bl
KCkgPT0gJnNjb3BlKTsKLSAgICAgICAgcmV0dXJuIGVsZW1lbnQ7CisgICAgICAgIGVudHJ5LmVs
ZW1lbnQgPSAmZWxlbWVudDsKKyAgICAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJ
T04oZWxlbWVudC5pc0luVHJlZVNjb3BlKCkpOworICAgICAgICBBU1NFUlRfV0lUSF9TRUNVUklU
WV9JTVBMSUNBVElPTigmZWxlbWVudC50cmVlU2NvcGUoKSA9PSAmc2NvcGUpOworICAgICAgICBy
ZXR1cm4gY29uc3RfY2FzdDxFbGVtZW50Kj4oJmVsZW1lbnQpOwogICAgIH0KICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAog
RWxlbWVudCogRG9jdW1lbnRPcmRlcmVkTWFwOjpnZXRFbGVtZW50QnlJZChjb25zdCBBdG9taWNT
dHJpbmdJbXBsJiBrZXksIGNvbnN0IFRyZWVTY29wZSYgc2NvcGUpIGNvbnN0CkBAIC0yMDEsMTkg
KzIwMSwyMyBAQCBjb25zdCBWZWN0b3I8RWxlbWVudCo+KiBEb2N1bWVudE9yZGVyZWRNCiAKICAg
ICBhdXRvIGl0ID0gbV9tYXAuZmluZCgma2V5KTsKICAgICBpZiAoaXQgPT0gbV9tYXAuZW5kKCkp
Ci0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIE1hcEVu
dHJ5JiBlbnRyeSA9IGl0LT52YWx1ZTsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNB
VElPTihlbnRyeS5jb3VudCk7CiAgICAgaWYgKCFlbnRyeS5jb3VudCkKLSAgICAgICAgcmV0dXJu
IDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgaWYgKGVudHJ5Lm9yZGVyZWRMaXN0
LmlzRW1wdHkoKSkgewogICAgICAgICBlbnRyeS5vcmRlcmVkTGlzdC5yZXNlcnZlQ2FwYWNpdHko
ZW50cnkuY291bnQpOwotICAgICAgICBmb3IgKEVsZW1lbnQqIGVsZW1lbnQgPSBlbnRyeS5lbGVt
ZW50ID8gZW50cnkuZWxlbWVudCA6IEVsZW1lbnRUcmF2ZXJzYWw6OmZpcnN0V2l0aGluKHNjb3Bl
LnJvb3ROb2RlKCkpOyBlbGVtZW50OyBlbGVtZW50ID0gRWxlbWVudFRyYXZlcnNhbDo6bmV4dChl
bGVtZW50KSkgewotICAgICAgICAgICAgaWYgKCFrZXlNYXRjaGVzSWQoa2V5LCBlbGVtZW50KSkK
KyAgICAgICAgYXV0byBlbGVtZW50RGVzY2FuZGFudHMgPSBkZXNjZW5kYW50c09mVHlwZTxFbGVt
ZW50Pigqc2NvcGUucm9vdE5vZGUoKSk7CisgICAgICAgIGF1dG8gaXQgPSBlbnRyeS5lbGVtZW50
ID8gZWxlbWVudERlc2NhbmRhbnRzLmZpbmQoKmVudHJ5LmVsZW1lbnQpIDogZWxlbWVudERlc2Nh
bmRhbnRzLmJlZ2luKCk7CisgICAgICAgIGF1dG8gZW5kID0gZWxlbWVudERlc2NhbmRhbnRzLmVu
ZCgpOworICAgICAgICBmb3IgKDsgaXQgIT0gZW5kOyArK2l0KSB7CisgICAgICAgICAgICBhdXRv
JiBlbGVtZW50ID0gKml0OworICAgICAgICAgICAgaWYgKCFrZXlNYXRjaGVzSWQoa2V5LCAmZWxl
bWVudCkpCiAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICBlbnRyeS5vcmRl
cmVkTGlzdC5hcHBlbmQoZWxlbWVudCk7CisgICAgICAgICAgICBlbnRyeS5vcmRlcmVkTGlzdC5h
cHBlbmQoJmVsZW1lbnQpOwogICAgICAgICB9CiAgICAgICAgIEFTU0VSVChlbnRyeS5vcmRlcmVk
TGlzdC5zaXplKCkgPT0gZW50cnkuY291bnQpOwogICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220738</attachid>
            <date>2014-01-09 08:15:08 -0800</date>
            <delta_ts>2014-01-09 08:48:35 -0800</delta_ts>
            <desc>better patch</desc>
            <filename>documentorderedmap-iterator-2.patch</filename>
            <type>text/plain</type>
            <size>8012</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2MTU1MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE0LTAxLTA5ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBEb2N1bWVudE9yZGVyZWRNYXAg
c2hvdWxkIHVzZSBpdGVyYXRvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTI2Njk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBkb20vRG9jdW1lbnRPcmRlcmVkTWFwLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50T3JkZXJlZE1hcDo6Z2V0KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
T3JkZXJlZE1hcDo6Z2V0QWxsRWxlbWVudHNCeUlkKTogVXNlIGVsZW1lbnQgaXRlcmF0b3IgaW5z
dGVhZCBvZiBFbGVtZW50VHJhdmVyc2FsLgorCiAyMDE0LTAxLTA5ICBBbmRyZWkgQnVjdXIgIDxh
YnVjdXJAYWRvYmUuY29tPgogCiAgICAgICAgIFtDU1NSZWdpb25zXSBNb3ZlIHJlZ2lvbnMgYXV0
by1zaXplIGNvZGUgaW50byBSZW5kZXJOYW1lZEZsb3dGcmFnbWVudApJbmRleDogU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50T3JkZXJlZE1hcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50T3JkZXJlZE1hcC5jcHAJKHJldmlzaW9uIDE2MTU1MikKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE9yZGVyZWRNYXAuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRP
cmRlcmVkTWFwLmgiCiAKLSNpbmNsdWRlICJFbGVtZW50VHJhdmVyc2FsLmgiCisjaW5jbHVkZSAi
RWxlbWVudEl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiSFRNTEltYWdlRWxlbWVudC5oIgogI2luY2x1
ZGUgIkhUTUxMYWJlbEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTWFwRWxlbWVudC5oIgpAQCAt
NDEsNDUgKzQxLDQ1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEhU
TUxOYW1lczsKIAotaW5saW5lIGJvb2wga2V5TWF0Y2hlc0lkKGNvbnN0IEF0b21pY1N0cmluZ0lt
cGwmIGtleSwgRWxlbWVudCogZWxlbWVudCkKK2lubGluZSBib29sIGtleU1hdGNoZXNJZChjb25z
dCBBdG9taWNTdHJpbmdJbXBsJiBrZXksIGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpCiB7Ci0gICAg
cmV0dXJuIGVsZW1lbnQtPmdldElkQXR0cmlidXRlKCkuaW1wbCgpID09ICZrZXk7CisgICAgcmV0
dXJuIGVsZW1lbnQuZ2V0SWRBdHRyaWJ1dGUoKS5pbXBsKCkgPT0gJmtleTsKIH0KIAotaW5saW5l
IGJvb2wga2V5TWF0Y2hlc05hbWUoY29uc3QgQXRvbWljU3RyaW5nSW1wbCYga2V5LCBFbGVtZW50
KiBlbGVtZW50KQoraW5saW5lIGJvb2wga2V5TWF0Y2hlc05hbWUoY29uc3QgQXRvbWljU3RyaW5n
SW1wbCYga2V5LCBjb25zdCBFbGVtZW50JiBlbGVtZW50KQogewotICAgIHJldHVybiBlbGVtZW50
LT5nZXROYW1lQXR0cmlidXRlKCkuaW1wbCgpID09ICZrZXk7CisgICAgcmV0dXJuIGVsZW1lbnQu
Z2V0TmFtZUF0dHJpYnV0ZSgpLmltcGwoKSA9PSAma2V5OwogfQogCi1pbmxpbmUgYm9vbCBrZXlN
YXRjaGVzTWFwTmFtZShjb25zdCBBdG9taWNTdHJpbmdJbXBsJiBrZXksIEVsZW1lbnQqIGVsZW1l
bnQpCitpbmxpbmUgYm9vbCBrZXlNYXRjaGVzTWFwTmFtZShjb25zdCBBdG9taWNTdHJpbmdJbXBs
JiBrZXksIGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpCiB7Ci0gICAgcmV0dXJuIGlzSFRNTE1hcEVs
ZW1lbnQoZWxlbWVudCkgJiYgdG9IVE1MTWFwRWxlbWVudChlbGVtZW50KS0+Z2V0TmFtZSgpLmlt
cGwoKSA9PSAma2V5OworICAgIHJldHVybiBpc0hUTUxNYXBFbGVtZW50KGVsZW1lbnQpICYmIHRv
SFRNTE1hcEVsZW1lbnQoZWxlbWVudCkuZ2V0TmFtZSgpLmltcGwoKSA9PSAma2V5OwogfQogCi1p
bmxpbmUgYm9vbCBrZXlNYXRjaGVzTG93ZXJjYXNlZE1hcE5hbWUoY29uc3QgQXRvbWljU3RyaW5n
SW1wbCYga2V5LCBFbGVtZW50KiBlbGVtZW50KQoraW5saW5lIGJvb2wga2V5TWF0Y2hlc0xvd2Vy
Y2FzZWRNYXBOYW1lKGNvbnN0IEF0b21pY1N0cmluZ0ltcGwmIGtleSwgY29uc3QgRWxlbWVudCYg
ZWxlbWVudCkKIHsKLSAgICByZXR1cm4gaXNIVE1MTWFwRWxlbWVudChlbGVtZW50KSAmJiB0b0hU
TUxNYXBFbGVtZW50KGVsZW1lbnQpLT5nZXROYW1lKCkubG93ZXIoKS5pbXBsKCkgPT0gJmtleTsK
KyAgICByZXR1cm4gaXNIVE1MTWFwRWxlbWVudChlbGVtZW50KSAmJiB0b0hUTUxNYXBFbGVtZW50
KGVsZW1lbnQpLmdldE5hbWUoKS5sb3dlcigpLmltcGwoKSA9PSAma2V5OwogfQogCi1pbmxpbmUg
Ym9vbCBrZXlNYXRjaGVzTG93ZXJjYXNlZFVzZW1hcChjb25zdCBBdG9taWNTdHJpbmdJbXBsJiBr
ZXksIEVsZW1lbnQqIGVsZW1lbnQpCitpbmxpbmUgYm9vbCBrZXlNYXRjaGVzTG93ZXJjYXNlZFVz
ZW1hcChjb25zdCBBdG9taWNTdHJpbmdJbXBsJiBrZXksIGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQp
CiB7CiAgICAgLy8gRklYTUU6IEhUTUw1IHNwZWNpZmljYXRpb24gc2F5cyB3ZSBzaG91bGQgbWF0
Y2ggYm90aCBpbWFnZSBhbmQgb2JqZWN0IGVsZW1lbnRzLgotICAgIHJldHVybiBpc0hUTUxJbWFn
ZUVsZW1lbnQoZWxlbWVudCkgJiYgdG9IVE1MSW1hZ2VFbGVtZW50KGVsZW1lbnQpLT5tYXRjaGVz
TG93ZXJjYXNlZFVzZW1hcChrZXkpOworICAgIHJldHVybiBpc0hUTUxJbWFnZUVsZW1lbnQoZWxl
bWVudCkgJiYgdG9IVE1MSW1hZ2VFbGVtZW50KGVsZW1lbnQpLm1hdGNoZXNMb3dlcmNhc2VkVXNl
bWFwKGtleSk7CiB9CiAKLWlubGluZSBib29sIGtleU1hdGNoZXNMYWJlbEZvckF0dHJpYnV0ZShj
b25zdCBBdG9taWNTdHJpbmdJbXBsJiBrZXksIEVsZW1lbnQqIGVsZW1lbnQpCitpbmxpbmUgYm9v
bCBrZXlNYXRjaGVzTGFiZWxGb3JBdHRyaWJ1dGUoY29uc3QgQXRvbWljU3RyaW5nSW1wbCYga2V5
LCBjb25zdCBFbGVtZW50JiBlbGVtZW50KQogewotICAgIHJldHVybiBpc0hUTUxMYWJlbEVsZW1l
bnQoZWxlbWVudCkgJiYgZWxlbWVudC0+Z2V0QXR0cmlidXRlKGZvckF0dHIpLmltcGwoKSA9PSAm
a2V5OworICAgIHJldHVybiBpc0hUTUxMYWJlbEVsZW1lbnQoZWxlbWVudCkgJiYgZWxlbWVudC5n
ZXRBdHRyaWJ1dGUoZm9yQXR0cikuaW1wbCgpID09ICZrZXk7CiB9CiAKLWlubGluZSBib29sIGtl
eU1hdGNoZXNXaW5kb3dOYW1lZEl0ZW0oY29uc3QgQXRvbWljU3RyaW5nSW1wbCYga2V5LCBFbGVt
ZW50KiBlbGVtZW50KQoraW5saW5lIGJvb2wga2V5TWF0Y2hlc1dpbmRvd05hbWVkSXRlbShjb25z
dCBBdG9taWNTdHJpbmdJbXBsJiBrZXksIGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpCiB7Ci0gICAg
cmV0dXJuIFdpbmRvd05hbWVDb2xsZWN0aW9uOjpub2RlTWF0Y2hlcyhlbGVtZW50LCAma2V5KTsK
KyAgICByZXR1cm4gV2luZG93TmFtZUNvbGxlY3Rpb246Om5vZGVNYXRjaGVzKGNvbnN0X2Nhc3Q8
RWxlbWVudCo+KCZlbGVtZW50KSwgJmtleSk7CiB9CiAKLWlubGluZSBib29sIGtleU1hdGNoZXNE
b2N1bWVudE5hbWVkSXRlbShjb25zdCBBdG9taWNTdHJpbmdJbXBsJiBrZXksIEVsZW1lbnQqIGVs
ZW1lbnQpCitpbmxpbmUgYm9vbCBrZXlNYXRjaGVzRG9jdW1lbnROYW1lZEl0ZW0oY29uc3QgQXRv
bWljU3RyaW5nSW1wbCYga2V5LCBjb25zdCBFbGVtZW50JiBlbGVtZW50KQogewotICAgIHJldHVy
biBEb2N1bWVudE5hbWVDb2xsZWN0aW9uOjpub2RlTWF0Y2hlcyhlbGVtZW50LCAma2V5KTsKKyAg
ICByZXR1cm4gRG9jdW1lbnROYW1lQ29sbGVjdGlvbjo6bm9kZU1hdGNoZXMoY29uc3RfY2FzdDxF
bGVtZW50Kj4oJmVsZW1lbnQpLCAma2V5KTsKIH0KIAogdm9pZCBEb2N1bWVudE9yZGVyZWRNYXA6
OmNsZWFyKCkKQEAgLTk5LDcgKzk5LDcgQEAgdm9pZCBEb2N1bWVudE9yZGVyZWRNYXA6OmFkZChj
b25zdCBBdG9taQogCiAgICAgTWFwRW50cnkmIGVudHJ5ID0gYWRkUmVzdWx0Lml0ZXJhdG9yLT52
YWx1ZTsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihlbnRyeS5jb3VudCk7
Ci0gICAgZW50cnkuZWxlbWVudCA9IDA7CisgICAgZW50cnkuZWxlbWVudCA9IG51bGxwdHI7CiAg
ICAgZW50cnkuY291bnQrKzsKICAgICBlbnRyeS5vcmRlcmVkTGlzdC5jbGVhcigpOwogfQpAQCAt
MTE5LDIwICsxMTksMjAgQEAgdm9pZCBEb2N1bWVudE9yZGVyZWRNYXA6OnJlbW92ZShjb25zdCBB
dAogICAgICAgICBtX21hcC5yZW1vdmUoaXQpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGlmIChl
bnRyeS5lbGVtZW50ID09ICZlbGVtZW50KQotICAgICAgICAgICAgZW50cnkuZWxlbWVudCA9IDA7
CisgICAgICAgICAgICBlbnRyeS5lbGVtZW50ID0gbnVsbHB0cjsKICAgICAgICAgZW50cnkuY291
bnQtLTsKICAgICAgICAgZW50cnkub3JkZXJlZExpc3QuY2xlYXIoKTsgLy8gRklYTUU6IFJlbW92
ZSB0aGUgZWxlbWVudCBpbnN0ZWFkIGlmIHRoZXJlIGFyZSBvbmx5IGZldyBpdGVtcyBsZWZ0Lgog
ICAgIH0KIH0KIAotdGVtcGxhdGU8Ym9vbCBrZXlNYXRjaGVzKGNvbnN0IEF0b21pY1N0cmluZ0lt
cGwmLCBFbGVtZW50Kik+Cit0ZW1wbGF0ZTxib29sIGtleU1hdGNoZXMoY29uc3QgQXRvbWljU3Ry
aW5nSW1wbCYsIGNvbnN0IEVsZW1lbnQmKT4KIGlubGluZSBFbGVtZW50KiBEb2N1bWVudE9yZGVy
ZWRNYXA6OmdldChjb25zdCBBdG9taWNTdHJpbmdJbXBsJiBrZXksIGNvbnN0IFRyZWVTY29wZSYg
c2NvcGUpIGNvbnN0CiB7CiAgICAgbV9tYXAuY2hlY2tDb25zaXN0ZW5jeSgpOwogCiAgICAgYXV0
byBpdCA9IG1fbWFwLmZpbmQoJmtleSk7CiAgICAgaWYgKGl0ID09IG1fbWFwLmVuZCgpKQotICAg
ICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBNYXBFbnRyeSYg
ZW50cnkgPSBpdC0+dmFsdWU7CiAgICAgQVNTRVJUKGVudHJ5LmNvdW50KTsKQEAgLTE0MywxNiAr
MTQzLDE2IEBAIGlubGluZSBFbGVtZW50KiBEb2N1bWVudE9yZGVyZWRNYXA6OmdldCgKICAgICB9
CiAKICAgICAvLyBXZSBrbm93IHRoZXJlJ3MgYXQgbGVhc3Qgb25lIG5vZGUgdGhhdCBtYXRjaGVz
OyBpdGVyYXRlIHRvIGZpbmQgdGhlIGZpcnN0IG9uZS4KLSAgICBmb3IgKEVsZW1lbnQqIGVsZW1l
bnQgPSBFbGVtZW50VHJhdmVyc2FsOjpmaXJzdFdpdGhpbihzY29wZS5yb290Tm9kZSgpKTsgZWxl
bWVudDsgZWxlbWVudCA9IEVsZW1lbnRUcmF2ZXJzYWw6Om5leHQoZWxlbWVudCkpIHsKKyAgICBm
b3IgKGF1dG8mIGVsZW1lbnQgOiBkZXNjZW5kYW50c09mVHlwZTxFbGVtZW50Pigqc2NvcGUucm9v
dE5vZGUoKSkpIHsKICAgICAgICAgaWYgKCFrZXlNYXRjaGVzKGtleSwgZWxlbWVudCkpCiAgICAg
ICAgICAgICBjb250aW51ZTsKLSAgICAgICAgZW50cnkuZWxlbWVudCA9IGVsZW1lbnQ7Ci0gICAg
ICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKGVsZW1lbnQtPmlzSW5UcmVlU2Nv
cGUoKSk7Ci0gICAgICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCZlbGVtZW50
LT50cmVlU2NvcGUoKSA9PSAmc2NvcGUpOwotICAgICAgICByZXR1cm4gZWxlbWVudDsKKyAgICAg
ICAgZW50cnkuZWxlbWVudCA9ICZlbGVtZW50OworICAgICAgICBBU1NFUlRfV0lUSF9TRUNVUklU
WV9JTVBMSUNBVElPTihlbGVtZW50LmlzSW5UcmVlU2NvcGUoKSk7CisgICAgICAgIEFTU0VSVF9X
SVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCZlbGVtZW50LnRyZWVTY29wZSgpID09ICZzY29wZSk7
CisgICAgICAgIHJldHVybiAmZWxlbWVudDsKICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIEVsZW1lbnQqIERv
Y3VtZW50T3JkZXJlZE1hcDo6Z2V0RWxlbWVudEJ5SWQoY29uc3QgQXRvbWljU3RyaW5nSW1wbCYg
a2V5LCBjb25zdCBUcmVlU2NvcGUmIHNjb3BlKSBjb25zdApAQCAtMjAxLDE5ICsyMDEsMjMgQEAg
Y29uc3QgVmVjdG9yPEVsZW1lbnQqPiogRG9jdW1lbnRPcmRlcmVkTQogCiAgICAgYXV0byBpdCA9
IG1fbWFwLmZpbmQoJmtleSk7CiAgICAgaWYgKGl0ID09IG1fbWFwLmVuZCgpKQotICAgICAgICBy
ZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBNYXBFbnRyeSYgZW50cnkg
PSBpdC0+dmFsdWU7CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oZW50cnku
Y291bnQpOwogICAgIGlmICghZW50cnkuY291bnQpCi0gICAgICAgIHJldHVybiAwOworICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKIAogICAgIGlmIChlbnRyeS5vcmRlcmVkTGlzdC5pc0VtcHR5KCkp
IHsKICAgICAgICAgZW50cnkub3JkZXJlZExpc3QucmVzZXJ2ZUNhcGFjaXR5KGVudHJ5LmNvdW50
KTsKLSAgICAgICAgZm9yIChFbGVtZW50KiBlbGVtZW50ID0gZW50cnkuZWxlbWVudCA/IGVudHJ5
LmVsZW1lbnQgOiBFbGVtZW50VHJhdmVyc2FsOjpmaXJzdFdpdGhpbihzY29wZS5yb290Tm9kZSgp
KTsgZWxlbWVudDsgZWxlbWVudCA9IEVsZW1lbnRUcmF2ZXJzYWw6Om5leHQoZWxlbWVudCkpIHsK
KyAgICAgICAgYXV0byBlbGVtZW50RGVzY2FuZGFudHMgPSBkZXNjZW5kYW50c09mVHlwZTxFbGVt
ZW50Pigqc2NvcGUucm9vdE5vZGUoKSk7CisgICAgICAgIGF1dG8gaXQgPSBlbnRyeS5lbGVtZW50
ID8gZWxlbWVudERlc2NhbmRhbnRzLmZpbmQoKmVudHJ5LmVsZW1lbnQpIDogZWxlbWVudERlc2Nh
bmRhbnRzLmJlZ2luKCk7CisgICAgICAgIGF1dG8gZW5kID0gZWxlbWVudERlc2NhbmRhbnRzLmVu
ZCgpOworICAgICAgICBmb3IgKDsgaXQgIT0gZW5kOyArK2l0KSB7CisgICAgICAgICAgICBhdXRv
JiBlbGVtZW50ID0gKml0OwogICAgICAgICAgICAgaWYgKCFrZXlNYXRjaGVzSWQoa2V5LCBlbGVt
ZW50KSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIGVudHJ5Lm9yZGVy
ZWRMaXN0LmFwcGVuZChlbGVtZW50KTsKKyAgICAgICAgICAgIGVudHJ5Lm9yZGVyZWRMaXN0LmFw
cGVuZCgmZWxlbWVudCk7CiAgICAgICAgIH0KICAgICAgICAgQVNTRVJUKGVudHJ5Lm9yZGVyZWRM
aXN0LnNpemUoKSA9PSBlbnRyeS5jb3VudCk7CiAgICAgfQpJbmRleDogU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50T3JkZXJlZE1hcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudE9yZGVyZWRNYXAuaAkocmV2aXNpb24gMTYxNTUyKQorKysgU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50T3JkZXJlZE1hcC5oCSh3b3JraW5nIGNvcHkpCkBAIC02Nyw3ICs2Nyw3
IEBAIHB1YmxpYzoKICAgICBjb25zdCBWZWN0b3I8RWxlbWVudCo+KiBnZXRBbGxFbGVtZW50c0J5
SWQoY29uc3QgQXRvbWljU3RyaW5nSW1wbCYsIGNvbnN0IFRyZWVTY29wZSYpIGNvbnN0OwogCiBw
cml2YXRlOgotICAgIHRlbXBsYXRlPGJvb2wga2V5TWF0Y2hlcyhjb25zdCBBdG9taWNTdHJpbmdJ
bXBsJiwgRWxlbWVudCopPiBFbGVtZW50KiBnZXQoY29uc3QgQXRvbWljU3RyaW5nSW1wbCYsIGNv
bnN0IFRyZWVTY29wZSYpIGNvbnN0OworICAgIHRlbXBsYXRlPGJvb2wga2V5TWF0Y2hlcyhjb25z
dCBBdG9taWNTdHJpbmdJbXBsJiwgY29uc3QgRWxlbWVudCYpPiBFbGVtZW50KiBnZXQoY29uc3Qg
QXRvbWljU3RyaW5nSW1wbCYsIGNvbnN0IFRyZWVTY29wZSYpIGNvbnN0OwogCiAgICAgc3RydWN0
IE1hcEVudHJ5IHsKICAgICAgICAgTWFwRW50cnkoKQo=
</data>
<flag name="review"
          id="244509"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>