<?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>12517</bug_id>
          
          <creation_ts>2007-01-31 16:46:16 -0800</creation_ts>
          <short_desc>REGRESSION: Tab order incorrect when input inside frame/iframe gets initial focus</short_desc>
          <delta_ts>2007-02-14 19:28:43 -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>Forms</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>EasyFix, HasReduction, InRadar, Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>KwhiteRight</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>29625</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-01-31 16:46:16 -0800</bug_when>
    <thetext>Summary:

When an &lt;input&gt; element inside a &lt;frame&gt; or an &lt;iframe&gt; gets the initial focus on the page, the tabbing order is incorrect.

Steps to reproduce #1:

1. Open Safari/WebKit.
2. Open one of the two attached test cases.
3. Hit Tab.

Expected results #1:

Next &lt;input&gt; element should be focused.

Actual results #1:

Either &quot;nothing&quot; happens (focus does not change), or focus changes to address bar.

Steps to reproduce #2:

4. Hit Cmd-R (or the Reload button in Safari).
5. Hit Tab again.

Expected results #2:

Next &lt;input&gt; element should be focused.

Actual results #2:

Focus changes to address bar.  Further tabs to to the Google search, then back to the initially focused &lt;input&gt; element again, then finally to the second &lt;input&gt; element.

Regression:

This is a regression from shipping Safari 2.0.4 (419.3) on Mac OS X 10.4.8 (8N1037).

Tested with a locally-built debug build of WebKit r19315 with afari 2.0.4 (419.3) on Mac OS X 10.4.8 (8N1037).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>29623</commentid>
    <comment_count>1</comment_count>
      <attachid>12840</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-01-31 16:47:45 -0800</bug_when>
    <thetext>Created attachment 12840
Test focus (no frames; works as expected)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>29624</commentid>
    <comment_count>2</comment_count>
      <attachid>12841</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-01-31 16:48:28 -0800</bug_when>
    <thetext>Created attachment 12841
Test frame focus (does not work as expected)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>29617</commentid>
    <comment_count>3</comment_count>
      <attachid>12842</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-01-31 16:48:58 -0800</bug_when>
    <thetext>Created attachment 12842
Test iframe focus (does not work as expected)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>29154</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2007-02-01 18:43:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/4971227&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25355</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2007-02-07 01:52:33 -0800</bug_when>
    <thetext>With the frame test it takes me 3 tab presses to move focus from the first &lt;input&gt; to the second.

With the iframe test it takes me 2 tab presses to move focus from the first &lt;input&gt; to the second.

In both test cases, Shift-Tab first moves focus to the second &lt;input&gt;, then back to the first, and focus moves correctly from then on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25360</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2007-02-07 02:03:58 -0800</bug_when>
    <thetext>I suspect that the cause for this is HTMLInputElement::focus is not resulting in the focused frame getting set correctly. Should be a pretty simple fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23267</commentid>
    <comment_count>7</comment_count>
      <attachid>13177</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2007-02-14 18:19:48 -0800</bug_when>
    <thetext>Created attachment 13177
Patch with ChangeLog and test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23250</commentid>
    <comment_count>8</comment_count>
      <attachid>13177</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-02-14 18:38:53 -0800</bug_when>
    <thetext>Comment on attachment 13177
Patch with ChangeLog and test

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23246</commentid>
    <comment_count>9</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2007-02-14 19:28:43 -0800</bug_when>
    <thetext>Landed as r19636</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>12840</attachid>
            <date>2007-01-31 16:47:45 -0800</date>
            <delta_ts>2007-01-31 16:47:45 -0800</delta_ts>
            <desc>Test focus (no frames; works as expected)</desc>
            <filename>test-focus.html</filename>
            <type>text/html</type>
            <size>136</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">PGlucHV0IGlkPSJ1c2VybmFtZSIgdHlwZT0idGV4dCI+CjxpbnB1dCBpZD0icGFzc3dvcmQiIHR5
cGU9InBhc3N3b3JkIj4KPHNjcmlwdD4KZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVzZXJuYW1l
IikuZm9jdXMoKTsKPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>12841</attachid>
            <date>2007-01-31 16:48:28 -0800</date>
            <delta_ts>2007-01-31 16:48:28 -0800</delta_ts>
            <desc>Test frame focus (does not work as expected)</desc>
            <filename>test-frame-focus.html</filename>
            <type>text/html</type>
            <size>403</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8L2hlYWQ+CjxmcmFtZXNldCBjb2xzPSIxOTAsKiI+CjxmcmFtZSBuYW1l
PSJuYXZiYXIiIHRpdGxlPSJOYXZpZ2F0aW9uIiBzcmM9ImRhdGE6dGV4dC9odG1sLDxicj4iIG1h
cmdpbmhlaWdodD0iMCIgbWFyZ2lud2lkdGg9IjAiIHNjcm9sbGluZz0iYXV0byIgYm9yZGVyPSIx
Ij4KPGZyYW1lIG5hbWU9InZpZXdlciIgdGl0bGU9IkNvbnRlbnRzIiBzcmM9J2RhdGE6dGV4dC9o
dG1sLDxpbnB1dCBpZD0idXNlcm5hbWUiIHR5cGU9InRleHQiPjxpbnB1dCBpZD0icGFzc3dvcmQi
IHR5cGU9InBhc3N3b3JkIj48c2NyaXB0PmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ1c2VybmFt
ZSIpLmZvY3VzKCk7PC9zY3JpcHQ+JyBzY3JvbGxpbmc9ImF1dG8iPgo8L2ZyYW1lc2V0Pgo8L2h0
bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>12842</attachid>
            <date>2007-01-31 16:48:58 -0800</date>
            <delta_ts>2007-01-31 16:48:58 -0800</delta_ts>
            <desc>Test iframe focus (does not work as expected)</desc>
            <filename>test-iframe-focus.html</filename>
            <type>text/html</type>
            <size>264</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8L2hlYWQ+Cjxib2R5Pgo8aWZyYW1lIG5hbWU9InZpZXdlciIgdGl0bGU9
IkNvbnRlbnRzIiBzcmM9J2RhdGE6dGV4dC9odG1sLDxpbnB1dCBpZD0idXNlcm5hbWUiIHR5cGU9
InRleHQiPjxpbnB1dCBpZD0icGFzc3dvcmQiIHR5cGU9InBhc3N3b3JkIj48c2NyaXB0PmRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ1c2VybmFtZSIpLmZvY3VzKCk7PC9zY3JpcHQ+JyBzY3JvbGxp
bmc9ImF1dG8iPjwvaWZyYW1lPgo8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>13177</attachid>
            <date>2007-02-14 18:19:48 -0800</date>
            <delta_ts>2007-02-14 18:38:53 -0800</delta_ts>
            <desc>Patch with ChangeLog and test</desc>
            <filename>bugzilla-12517.diff.txt</filename>
            <type>text/plain</type>
            <size>14640</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE5NjM1KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMDctMDItMTQgIEFkYW0gUm9iZW4gIDxhcm9i
ZW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRlc3QgZm9yIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEy
NTE3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80OTcxMjI3PiBSRUdSRVNTSU9OOiBUYWIgb3Jk
ZXIgaW5jb3JyZWN0IHdoZW4gaW5wdXQKKyAgICAgICAgaW5zaWRlIGZyYW1lL2lmcmFtZSBnZXRz
IGluaXRpYWwgZm9jdXMgKDEyNTE3KQorCisgICAgICAgICogZmFzdC9ldmVudHMvZnJhbWUtcHJv
Z3JhbW1hdGljLWZvY3VzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVu
dHMvZnJhbWUtcHJvZ3JhbW1hdGljLWZvY3VzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
Zm9ybXMvZm9jdXMyLWV4cGVjdGVkLnR4dDogVXBkYXRlZCByZXN1bHRzIHRvIG5vdy1jb3JyZWN0
CisgICAgICAgIGJlaGF2aW9yLgorCiAyMDA3LTAyLTE0ICBKdXN0aW4gR2FyY2lhICA8anVzdGlu
LmdhcmNpYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgYWRlbGUKSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL2ZyYW1lLXByb2dyYW1tYXRpYy1mb2N1cy1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZnJhbWUtcHJvZ3JhbW1h
dGljLWZvY3VzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL2ZyYW1lLXByb2dyYW1tYXRpYy1mb2N1cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMTMgQEAKKyAgCitUaGlzIHBhZ2UgdGVzdHMgdGhhdCBmcmFtZXMgcmVjZWl2
ZSBmb2N1cyBldmVudHMgd2hlbiBvbmUgb2YgdGhlaXIgY2hpbGQgZWxlbWVudHMgaXMgcHJvZ3Jh
bW1hdGljYWxseSBmb2N1c2VkLCBhbmQgcmVjZWl2ZSBibHVyIGV2ZW50cyB3aGVuIGFuIGVsZW1l
bnQgbm90IGluIHRoYXQgZnJhbWUgaXMgcHJvZ3JhbW1hdGljYWxseSBmb2N1c2VkLgorCis8aW5w
dXQ+IGZvY3VzZWQKKzxpbnB1dD4gYmx1cnJlZAorbWFpbiBmcmFtZSBibHVycmVkCitpZnJhbWUg
Zm9jdXNlZAorPGlucHV0PiBpbiBpZnJhbWUgZm9jdXNlZAorPGlucHV0PiBpbiBmcmFtZSBibHVy
cmVkCitpZnJhbWUgYmx1cnJlZAorbWFpbiBmcmFtZSBmb2N1c2VkCis8aW5wdXQ+IGZvY3VzZWQK
KwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZnJhbWUtcHJvZ3JhbW1hdGljLWZvY3Vz
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZnJhbWUtcHJvZ3Jh
bW1hdGljLWZvY3VzLmh0bWwJKHJldmlzaW9uIDE5NDg5KQkoZnJvbSBMYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9mcmFtZS1jbGljay1mb2N1cy5odG1sOjE5NDg5KQorKysgTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvZnJhbWUtcHJvZ3JhbW1hdGljLWZvY3VzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw0NyBAQAorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBmdW5j
dGlvbiBsb2cobXNnKSB7CisgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbG9n
JykuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobXNnICsgJ1xuJykpOworICAg
ICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICAgICAgICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHdpbmRv
dy5vbmZvY3VzID0gZnVuY3Rpb24oKSB7IGxvZygnbWFpbiBmcmFtZSBmb2N1c2VkJyk7IH0KKyAg
ICAgICAgICAgIHdpbmRvdy5vbmJsdXIgPSBmdW5jdGlvbigpIHsgbG9nKCdtYWluIGZyYW1lIGJs
dXJyZWQnKTsgfQorCisgICAgICAgICAgICB2YXIgdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdmcmFtZScpLmNvbnRlbnRXaW5kb3c7CisgICAgICAgICAgICB3Lm9uZm9jdXMgPSBmdW5jdGlv
bigpIHsgbG9nKCdpZnJhbWUgZm9jdXNlZCcpOyB9CisgICAgICAgICAgICB3Lm9uYmx1ciA9IGZ1
bmN0aW9uKCkgeyBsb2coJ2lmcmFtZSBibHVycmVkJyk7IH0KKworICAgICAgICAgICAgaWYgKHdp
bmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92
ZVRvKDEsIDMwMCk7CisgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VDbGljaygpOwor
CisgICAgICAgICAgICAgICAgLy8gV2UgbmVlZCB0byAid2FpdCIgYSBiaXQgYmVmb3JlIHRoZSBu
ZXh0IGNsaWNrIC0tIG90aGVyd2lzZSBpdCBpcyBpZ25vcmVkCisgICAgICAgICAgICAgICAgZXZl
bnRTZW5kZXIubGVhcEZvcndhcmQoMjAwMCk7CisKKyAgICAgICAgICAgICAgICBldmVudFNlbmRl
ci5tb3VzZU1vdmVUbyg1MCwgNTApOworICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNl
Q2xpY2soKTsKKworICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLmxlYXBGb3J3YXJkKDIwMDAp
OworCisgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMSwgMzAwKTsKKyAg
ICAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZUNsaWNrKCk7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4K
KyAgICA8aWZyYW1lIGlkPSJmcmFtZSIgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBw
eDsgbWFyZ2luOiAwcHg7IGJvcmRlcjogMnB4IHNvbGlkIGJsYWNrOyI+PC9pZnJhbWU+CisgICAg
PHA+VGhpcyBwYWdlIHRlc3RzIHRoYXQgZnJhbWVzIHJlY2VpdmUgZm9jdXMgZXZlbnRzIHdoZW4g
YSBjbGljayBvY2N1cnMKKyAgICB3aXRoaW4gdGhlaXIgY29udGVudCBhcmVhLCBhbmQgYmx1ciBl
dmVudHMgd2hlbiBhIGNsaWNrIG9jY3VycyBvdXRzaWRlCisgICAgdGhlaXIgY29udGVudCBhcmVh
LjwvcD4KKyAgICA8cD5UbyB0ZXN0LCBjbGljayBpbiB0aGUgZnJhbWUgYW5kIHRoZW4gY2xpY2sg
b24gdGhpcyB0ZXh0LjwvcD4KKworICAgIDxwcmUgaWQ9ImxvZyI+PC9wcmU+Cis8L2JvZHk+Cis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9mcmFtZS1wcm9ncmFtbWF0aWMt
Zm9jdXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9mcmFtZS1w
cm9ncmFtbWF0aWMtZm9jdXMuaHRtbAkocmV2aXNpb24gMTk0ODkpCisrKyBMYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy9mcmFtZS1wcm9ncmFtbWF0aWMtZm9jdXMuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMTMsMjkgKzEzLDMwIEBACiAgICAgICAgICAgICB3aW5kb3cub25mb2N1cyA9IGZ1bmN0aW9u
KCkgeyBsb2coJ21haW4gZnJhbWUgZm9jdXNlZCcpOyB9CiAgICAgICAgICAgICB3aW5kb3cub25i
bHVyID0gZnVuY3Rpb24oKSB7IGxvZygnbWFpbiBmcmFtZSBibHVycmVkJyk7IH0KIAorICAgICAg
ICAgICAgdmFyIGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lucHV0Jylb
MF07CisgICAgICAgICAgICBpbnB1dC5vbmZvY3VzID0gZnVuY3Rpb24oKSB7IGxvZygnPGlucHV0
PiBmb2N1c2VkJyk7IH0KKyAgICAgICAgICAgIGlucHV0Lm9uYmx1ciA9IGZ1bmN0aW9uKCkgeyBs
b2cgKCc8aW5wdXQ+IGJsdXJyZWQnKTsgfQorCiAgICAgICAgICAgICB2YXIgdyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdmcmFtZScpLmNvbnRlbnRXaW5kb3c7CiAgICAgICAgICAgICB3Lm9u
Zm9jdXMgPSBmdW5jdGlvbigpIHsgbG9nKCdpZnJhbWUgZm9jdXNlZCcpOyB9CiAgICAgICAgICAg
ICB3Lm9uYmx1ciA9IGZ1bmN0aW9uKCkgeyBsb2coJ2lmcmFtZSBibHVycmVkJyk7IH0KIAotICAg
ICAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewotICAgICAgICAgICAgICAgIGV2ZW50
U2VuZGVyLm1vdXNlTW92ZVRvKDUwLCA1MCk7Ci0gICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIu
bW91c2VDbGljaygpOwotCi0gICAgICAgICAgICAgICAgLy8gV2UgbmVlZCB0byAid2FpdCIgYSBi
aXQgYmVmb3JlIHRoZSBzZWNvbmQgY2xpY2sgLS0gb3RoZXJ3aXNlIGl0IGlzIGlnbm9yZWQKLSAg
ICAgICAgICAgICAgICBldmVudFNlbmRlci5sZWFwRm9yd2FyZCgyMDAwKTsKKyAgICAgICAgICAg
IHZhciBpbnB1dEluSWZyYW1lID0gdy5kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaW5w
dXQnKVswXTsKKyAgICAgICAgICAgIGlucHV0SW5JZnJhbWUub25mb2N1cyA9IGZ1bmN0aW9uKCkg
eyBsb2coJzxpbnB1dD4gaW4gaWZyYW1lIGZvY3VzZWQnKTsgfQorICAgICAgICAgICAgaW5wdXRJ
bklmcmFtZS5vbmJsdXIgPSBmdW5jdGlvbigpIHsgbG9nICgnPGlucHV0PiBpbiBmcmFtZSBibHVy
cmVkJyk7IH0KIAotICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDEsIDMw
MCk7Ci0gICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VDbGljaygpOwotICAgICAgICAg
ICAgfQorICAgICAgICAgICAgaW5wdXQuZm9jdXMoKTsKKyAgICAgICAgICAgIGlucHV0SW5JZnJh
bWUuZm9jdXMoKTsKKyAgICAgICAgICAgIGlucHV0LmZvY3VzKCk7CiAgICAgICAgIH0KICAgICA8
L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IG9ubG9hZD0idGVzdCgpIj4KLSAgICA8aWZyYW1lIGlk
PSJmcmFtZSIgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgbWFyZ2luOiAwcHg7
IGJvcmRlcjogMnB4IHNvbGlkIGJsYWNrOyI+PC9pZnJhbWU+Ci0gICAgPHA+VGhpcyBwYWdlIHRl
c3RzIHRoYXQgZnJhbWVzIHJlY2VpdmUgZm9jdXMgZXZlbnRzIHdoZW4gYSBjbGljayBvY2N1cnMK
LSAgICB3aXRoaW4gdGhlaXIgY29udGVudCBhcmVhLCBhbmQgYmx1ciBldmVudHMgd2hlbiBhIGNs
aWNrIG9jY3VycyBvdXRzaWRlCi0gICAgdGhlaXIgY29udGVudCBhcmVhLjwvcD4KLSAgICA8cD5U
byB0ZXN0LCBjbGljayBpbiB0aGUgZnJhbWUgYW5kIHRoZW4gY2xpY2sgb24gdGhpcyB0ZXh0Ljwv
cD4KKyAgICA8aW5wdXQ+CisgICAgPGlmcmFtZSBpZD0iZnJhbWUiIHNyYz0iZGF0YTp0ZXh0L2h0
bWwsPGlucHV0PiIgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgbWFyZ2luOiAw
cHg7IGJvcmRlcjogMnB4IHNvbGlkIGJsYWNrOyI+PC9pZnJhbWU+CisgICAgPHA+VGhpcyBwYWdl
IHRlc3RzIHRoYXQgZnJhbWVzIHJlY2VpdmUgZm9jdXMgZXZlbnRzIHdoZW4gb25lIG9mIHRoZWly
IGNoaWxkCisgICAgZWxlbWVudHMgaXMgcHJvZ3JhbW1hdGljYWxseSBmb2N1c2VkLCBhbmQgcmVj
ZWl2ZSBibHVyIGV2ZW50cyB3aGVuIGFuCisgICAgZWxlbWVudCBub3QgaW4gdGhhdCBmcmFtZSBp
cyBwcm9ncmFtbWF0aWNhbGx5IGZvY3VzZWQuPC9wPgogCiAgICAgPHByZSBpZD0ibG9nIj48L3By
ZT4KIDwvYm9keT4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L2ZyYW1lLXByb2dyYW1tYXRpYy1mb2N1cy5odG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOmVvbC1z
dHlsZQogICArIG5hdGl2ZQoKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvZm9jdXMyLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZvY3VzMi1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDE5NjE5KQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9m
b2N1czItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00OSw4ICs0OSw2IEBAIGJsdXIg
ZXZlbnQ6IFt0b10gQU5DSE9SCiBJRlJBTUUgRE9DVU1FTlQ6CiBmb2N1cyBldmVudDogW3RvXSBC
VVRUT04KIGtleXByZXNzIGV2ZW50OiBbdG9dIEJVVFRPTgotZm9jdXMgZXZlbnQ6IFt0b10gQlVU
VE9OCi1rZXlwcmVzcyBldmVudDogW3RvXSBCVVRUT04KIGJsdXIgZXZlbnQ6IFt0b10gQlVUVE9O
CiBmb2N1cyBldmVudDogW3RvXSBDSEVDS0JPWAoga2V5cHJlc3MgZXZlbnQ6IFt0b10gQ0hFQ0tC
T1gKQEAgLTg2LDQgKzg0LDcgQEAgZm9jdXMgZXZlbnQ6IFt0b10gVEVYVEFSRUEKIGtleXByZXNz
IGV2ZW50OiBbdG9dIFRFWFRBUkVBCiBibHVyIGV2ZW50OiBbdG9dIFRFWFRBUkVBCiBmb2N1cyBl
dmVudDogW3RvXSBESVYKK2tleXByZXNzIGV2ZW50OiBbdG9dIERJVgorYmx1ciBldmVudDogW3Rv
XSBESVYKK2ZvY3VzIGV2ZW50OiBbdG9dIEFOQ0hPUgogCkluZGV4OiBXZWJDb3JlL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTk2MzUpCisrKyBX
ZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDA3LTAy
LTE0ICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTI1MTcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5NzEyMjc+IFJF
R1JFU1NJT046IFRhYiBvcmRlciBpbmNvcnJlY3Qgd2hlbiBpbnB1dAorICAgICAgICBpbnNpZGUg
ZnJhbWUvaWZyYW1lIGdldHMgaW5pdGlhbCBmb2N1cyAoMTI1MTcpCisKKyAgICAgICAgKiBkb20v
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojpmb2N1cyk6IENhbGwgRm9j
dXNDb250cm9sbGVyOjpzZXRGb2N1c2VkTm9kZSB0byBzZXQKKyAgICAgICAgdGhlIGZvY3VzIGZv
ciB0aGUgd2hvbGUgcGFnZS4KKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6Zm9jdXMpOiBEaXR0by4KKyAgICAg
ICAgKiBodG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TFRleHRBcmVhRWxlbWVudDo6Zm9jdXMpOiBEaXR0by4KKyAgICAgICAgKiBwYWdlL0V2ZW50SGFu
ZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhhbmRsZVRleHRJbnB1
dEV2ZW50KTogU2VuZCB0aGUgdGV4dElucHV0CisgICAgICAgIGV2ZW50IHRvIHRoZSBzYW1lIHRh
cmdldCB0aGF0IHdhcyBzZW50IHRoZSBrZXlwcmVzcyBldmVudCBiZWZvcmUgaXQuCisgICAgICAg
ICogcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNDb250
cm9sbGVyOjphZHZhbmNlRm9jdXMpOiBBZGRlZCBhIEZJWE1FLgorICAgICAgICAoV2ViQ29yZTo6
Rm9jdXNDb250cm9sbGVyOjpzZXRGb2N1c2VkTm9kZSk6IEFkZGVkLiBTZXRzIHRoZSBmb2N1c2Vk
CisgICAgICAgIG5vZGUgZm9yIGEgd2hvbGUgcGFnZS4KKyAgICAgICAgKiBwYWdlL0ZvY3VzQ29u
dHJvbGxlci5oOiBBZGRlZCBkZWNsYXJhdGlvbi4KKyAgICAgICAgKiBwbGF0Zm9ybS9jZi9SZXRh
aW5QdHIuaDogUmVtb3ZlZCB1bnVzZWQgcG9pbnRlcl9jYXN0IGZ1bmN0aW9ucy4KKwogMjAwNy0w
Mi0xNCAgSnVzdGluIEdhcmNpYSAgPGp1c3Rpbi5nYXJjaWFAYXBwbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IGFkZWxlCkluZGV4OiBXZWJDb3JlL2RvbS9FbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2RvbS9FbGVtZW50LmNwcAkocmV2aXNpb24gMTk2MTkpCisrKyBXZWJD
b3JlL2RvbS9FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTAgKzMwLDEyIEBACiAj
aW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFZGl0b3IuaCIKICNpbmNsdWRlICJFeGNl
cHRpb25Db2RlLmgiCisjaW5jbHVkZSAiRm9jdXNDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRnJh
bWUuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNp
bmNsdWRlICJOYW1lZEF0dHJNYXAuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUmVu
ZGVyQmxvY2suaCIKICNpbmNsdWRlICJTZWxlY3Rpb25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAi
VGV4dEl0ZXJhdG9yLmgiCkBAIC04NzEsOSArODczLDEwIEBAIHZvaWQgRWxlbWVudDo6Zm9jdXMo
KQogICAgIGRvYy0+dXBkYXRlTGF5b3V0KCk7CiAgICAgCiAgICAgaWYgKCFzdXBwb3J0c0ZvY3Vz
KCkpCi0gICAgICAgIHJldHVybjsgICAgICAgICAgICAgICAgCi0gICAgICAgIAotICAgIGRvYy0+
c2V0Rm9jdXNlZE5vZGUodGhpcyk7CisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBpZiAoUGFn
ZSogcGFnZSA9IGRvYy0+cGFnZSgpKQorICAgICAgICBwYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS0+
c2V0Rm9jdXNlZE5vZGUodGhpcyk7CiAKICAgICBpZiAoIWlzRm9jdXNhYmxlKCkpIHsKICAgICAg
ICAgc2V0TmVlZHNGb2N1c0FwcGVhcmFuY2VVcGRhdGUodHJ1ZSk7CkluZGV4OiBXZWJDb3JlL2h0
bWwvSFRNTElucHV0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxJ
bnB1dEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxOTYxOSkKKysrIFdlYkNvcmUvaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUg
IkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnRIYW5kbGVyLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1l
cy5oIgorI2luY2x1ZGUgIkZvY3VzQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkZvcm1EYXRhTGlz
dC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCkBA
IC00MSw2ICs0Miw3IEBACiAjaW5jbHVkZSAiS2V5Ym9hcmRFdmVudC5oIgogI2luY2x1ZGUgIkxv
Y2FsaXplZFN0cmluZ3MuaCIKICNpbmNsdWRlICJNb3VzZUV2ZW50LmgiCisjaW5jbHVkZSAiUGFn
ZS5oIgogI2luY2x1ZGUgIlJlbmRlckJ1dHRvbi5oIgogI2luY2x1ZGUgIlJlbmRlckZpbGVVcGxv
YWRDb250cm9sLmgiCiAjaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIKQEAgLTE4OSw3ICsxOTEsOCBA
QCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OmZvY3VzKCkKICAgICAgICAgZG9jLT51cGRhdGVMYXlv
dXQoKTsKICAgICAgICAgaWYgKCFzdXBwb3J0c0ZvY3VzKCkpCiAgICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgIGRvYy0+c2V0Rm9jdXNlZE5vZGUodGhpcyk7CisgICAgICAgIGlmIChQYWdlKiBw
YWdlID0gZG9jLT5wYWdlKCkpCisgICAgICAgICAgICBwYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS0+
c2V0Rm9jdXNlZE5vZGUodGhpcyk7CiAgICAgICAgIC8vIEZJWE1FOiBTaG91bGQgaXNGb2N1c2Fi
bGUgZG8gdGhlIHVwZGF0ZUxheW91dD8KICAgICAgICAgaWYgKCFpc0ZvY3VzYWJsZSgpKSB7CiAg
ICAgICAgICAgICBzZXROZWVkc0ZvY3VzQXBwZWFyYW5jZVVwZGF0ZSh0cnVlKTsKSW5kZXg6IFdl
YkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHAJKHJldmlzaW9uIDE5NjE5KQorKysgV2ViQ29y
ZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw5ICsz
MSwxMSBAQAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNs
dWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAiRm9jdXNDb250cm9sbGVyLmgiCiAjaW5jbHVk
ZSAiRm9ybURhdGFMaXN0LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJIVE1MTmFt
ZXMuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKICNpbmNs
dWRlICJSZW5kZXJUZXh0Q29udHJvbC5oIgogI2luY2x1ZGUgIlNlbGVjdGlvbi5oIgpAQCAtMjA2
LDcgKzIwOCw4IEBAIHZvaWQgSFRNTFRleHRBcmVhRWxlbWVudDo6Zm9jdXMoKQogICAgIGRvYy0+
dXBkYXRlTGF5b3V0KCk7CiAgICAgaWYgKCFzdXBwb3J0c0ZvY3VzKCkpCiAgICAgICAgIHJldHVy
bjsKLSAgICBkb2MtPnNldEZvY3VzZWROb2RlKHRoaXMpOworICAgIGlmIChQYWdlKiBwYWdlID0g
ZG9jLT5wYWdlKCkpCisgICAgICAgIHBhZ2UtPmZvY3VzQ29udHJvbGxlcigpLT5zZXRGb2N1c2Vk
Tm9kZSh0aGlzKTsKICAgICAvLyBGSVhNRTogU2hvdWxkIGlzRm9jdXNhYmxlIGRvIHRoZSB1cGRh
dGVMYXlvdXQ/CiAgICAgaWYgKCFpc0ZvY3VzYWJsZSgpKSB7CiAgICAgICAgIHNldE5lZWRzRm9j
dXNBcHBlYXJhbmNlVXBkYXRlKHRydWUpOwpJbmRleDogV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxl
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAJKHJldmlz
aW9uIDE5NjE5KQorKysgV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEzNTksNyArMTM1OSwxMSBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlVGV4dElu
cHV0RXZlbnQoCiB7CiAgICAgaWYgKCFtX2ZyYW1lKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgRXZlbnRUYXJnZXROb2RlKiB0YXJnZXQgPSBldmVudFRhcmdldE5vZGVGb3JEb2N1bWVudCht
X2ZyYW1lLT5kb2N1bWVudCgpKTsKKyAgICBFdmVudFRhcmdldCogdGFyZ2V0OworICAgIGlmICh1
bmRlcmx5aW5nRXZlbnQpCisgICAgICAgIHRhcmdldCA9IHVuZGVybHlpbmdFdmVudC0+dGFyZ2V0
KCk7CisgICAgZWxzZQorICAgICAgICB0YXJnZXQgPSBldmVudFRhcmdldE5vZGVGb3JEb2N1bWVu
dChtX2ZyYW1lLT5kb2N1bWVudCgpKTsKICAgICBpZiAoIXRhcmdldCkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgIFJlZlB0cjxUZXh0RXZlbnQ+IGV2ZW50ID0gbmV3IFRleHRFdmVudChtX2Zy
YW1lLT5kb21XaW5kb3coKSwgdGV4dCk7CkluZGV4OiBXZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9s
bGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAko
cmV2aXNpb24gMTk2MTkpCisrKyBXZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTg5LDYgKzE4OSwxMCBAQCBib29sIEZvY3VzQ29udHJvbGxlcjo6YWR2
YW5jZUZvY3VzKEZvY3VzCiAgICAgICAgIHNldEZvY3VzZWRGcmFtZShvd25lci0+Y29udGVudEZy
YW1lKCkpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CisgICAgCisgICAgLy8gRklYTUU6
IEl0IHdvdWxkIGJlIG5pY2UgdG8ganVzdCBiZSBhYmxlIHRvIGNhbGwgc2V0Rm9jdXNlZE5vZGUo
bm9kZSkgaGVyZSwgYnV0IHdlIGNhbid0IGRvCisgICAgLy8gdGhhdCBiZWNhdXNlIHNvbWUgZWxl
bWVudHMgKGUuZy4gSFRNTElucHV0RWxlbWVudCBhbmQgSFRNTFRleHRBcmVhRWxlbWVudCkgZG8g
ZXh0cmEgd29yayBpbgorICAgIC8vIHRoZWlyIGZvY3VzKCkgbWV0aG9kcy4KIAogICAgIERvY3Vt
ZW50KiBuZXdEb2N1bWVudCA9IG5vZGUtPmRvY3VtZW50KCk7CiAKQEAgLTIwMyw0ICsyMDcsMzIg
QEAgYm9vbCBGb2N1c0NvbnRyb2xsZXI6OmFkdmFuY2VGb2N1cyhGb2N1cwogICAgIHJldHVybiB0
cnVlOwogfQogCitib29sIEZvY3VzQ29udHJvbGxlcjo6c2V0Rm9jdXNlZE5vZGUoTm9kZSogbm9k
ZSkKK3sKKyAgICBSZWZQdHI8RnJhbWU+IG9sZEZvY3VzZWRGcmFtZSA9IGZvY3VzZWRGcmFtZSgp
OworICAgIFJlZlB0cjxEb2N1bWVudD4gb2xkRG9jdW1lbnQgPSBvbGRGb2N1c2VkRnJhbWUgPyBv
bGRGb2N1c2VkRnJhbWUtPmRvY3VtZW50KCkgOiAwOworICAgIAorICAgIGlmICghbm9kZSkgewor
ICAgICAgICBpZiAob2xkRG9jdW1lbnQpCisgICAgICAgICAgICBvbGREb2N1bWVudC0+c2V0Rm9j
dXNlZE5vZGUoMCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICAKKyAgICBSZWZQ
dHI8RG9jdW1lbnQ+IG5ld0RvY3VtZW50ID0gbm9kZSA/IG5vZGUtPmRvY3VtZW50KCkgOiAwOwor
ICAgIFJlZlB0cjxGcmFtZT4gbmV3Rm9jdXNlZEZyYW1lID0gbmV3RG9jdW1lbnQgPyBuZXdEb2N1
bWVudC0+ZnJhbWUoKSA6IDA7CisgICAgCisgICAgaWYgKG5ld0RvY3VtZW50ICYmIG5ld0RvY3Vt
ZW50LT5mb2N1c2VkTm9kZSgpID09IG5vZGUpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIAor
ICAgIGlmIChvbGREb2N1bWVudCAmJiBvbGREb2N1bWVudCAhPSBuZXdEb2N1bWVudCkKKyAgICAg
ICAgb2xkRG9jdW1lbnQtPnNldEZvY3VzZWROb2RlKDApOworICAgIAorICAgIHNldEZvY3VzZWRG
cmFtZShuZXdGb2N1c2VkRnJhbWUpOworICAgIAorICAgIGlmIChuZXdEb2N1bWVudCkKKyAgICAg
ICAgbmV3RG9jdW1lbnQtPnNldEZvY3VzZWROb2RlKG5vZGUpOworICAgIAorICAgIHJldHVybiB0
cnVlOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3BhZ2UvRm9j
dXNDb250cm9sbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxl
ci5oCShyZXZpc2lvbiAxOTYxOSkKKysrIFdlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaAko
d29ya2luZyBjb3B5KQpAQCAtMzQsNiArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICBjbGFzcyBGcmFtZTsKICAgICBjbGFzcyBLZXlib2FyZEV2ZW50OworICAgIGNsYXNzIE5vZGU7
CiAgICAgY2xhc3MgUGFnZTsKIAogICAgIGNsYXNzIEZvY3VzQ29udHJvbGxlciB7CkBAIC00Niw2
ICs0Nyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBib29sIGFkdmFuY2VGb2N1
cyhLZXlib2FyZEV2ZW50Kik7CiAgICAgICAgIGJvb2wgYWR2YW5jZUZvY3VzKEZvY3VzRGlyZWN0
aW9uLCBLZXlib2FyZEV2ZW50Kik7CisgICAgICAgIAorICAgICAgICBib29sIHNldEZvY3VzZWRO
b2RlKE5vZGUqKTsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIFBhZ2UqIG1fcGFnZTsKSW5kZXg6
IFdlYkNvcmUvcGxhdGZvcm0vY2YvUmV0YWluUHRyLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
bGF0Zm9ybS9jZi9SZXRhaW5QdHIuaAkocmV2aXNpb24gMTk2MTkpCisrKyBXZWJDb3JlL3BsYXRm
b3JtL2NmL1JldGFpblB0ci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xOTIsMjEgKzE5Miw2IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICB7IAogICAgICAgICByZXR1cm4gYSAhPSBiLmdldCgpOyAK
ICAgICB9Ci0gICAgCi0gICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGlu
ZSBSZXRhaW5QdHI8VD4gc3RhdGljX3BvaW50ZXJfY2FzdChjb25zdCBSZXRhaW5QdHI8VT4mIHAp
Ci0gICAgeyAKLSAgICAgICAgcmV0dXJuIFJldGFpblB0cjxUPihzdGF0aWNfY2FzdDx0eXBlbmFt
ZSBSZXRhaW5QdHI8VD46OlB0clR5cGU+KHAuZ2V0KCkpKTsgCi0gICAgfQotCi0gICAgdGVtcGxh
dGUgPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSBSZXRhaW5QdHI8VD4gY29uc3RfcG9p
bnRlcl9jYXN0KGNvbnN0IFJldGFpblB0cjxVPiYgcCkKLSAgICB7IAotICAgICAgICByZXR1cm4g
UmV0YWluUHRyPFQ+KGNvbnN0X2Nhc3Q8dHlwZW5hbWUgUmV0YWluUHRyPFQ+OjpQdHJUeXBlPihw
LmdldCgpKSk7IAotICAgIH0KLQotICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBpbmxpbmUgdHlw
ZW5hbWUgUmVtb3ZlUG9pbnRlcjxUPjo6dHlwZSBnZXRQdHIoY29uc3QgUmV0YWluUHRyPFQ+JiBw
KQotICAgIHsKLSAgICAgICAgcmV0dXJuIHAuZ2V0KCk7Ci0gICAgfQogCiB9CiAK
</data>
<flag name="review"
          id="5129"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>