<?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>34162</bug_id>
          
          <creation_ts>2010-01-26 05:05:17 -0800</creation_ts>
          <short_desc>[Android] [Qt] Touch event page co-ordinates are incorrect when touch is received in an iframe.</short_desc>
          <delta_ts>2013-10-18 09:16:09 -0700</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>528+ (Nightly build)</version>
          <rep_platform>Android</rep_platform>
          <op_sys>Android</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>
          
          <blocked>32485</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ben Murdoch">benm</reporter>
          <assigned_to name="Ben Murdoch">benm</assigned_to>
          <cc>android-webkit-unforking</cc>
    
    <cc>aurelio.santos</cc>
    
    <cc>commit-queue</cc>
    
    <cc>hausmann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>184567</commentid>
    <comment_count>0</comment_count>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2010-01-26 05:05:17 -0800</bug_when>
    <thetext>The pageX/pageY co-ordinates in a touch should be relative to the containing frame. If the target element is in an iframe, the code currently does not readjust the page co-ordinates to be relative to that iframe but leaves them relative to the main frame.

Patch and test to follow. The patch also renames a variable in the Android specific code to more clearly reflect it&apos;s contents.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>184570</commentid>
    <comment_count>1</comment_count>
      <attachid>47405</attachid>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2010-01-26 05:15:50 -0800</bug_when>
    <thetext>Created attachment 47405
Proposed patch and updated test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>184624</commentid>
    <comment_count>2</comment_count>
      <attachid>47420</attachid>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2010-01-26 10:20:22 -0800</bug_when>
    <thetext>Created attachment 47420
Proposed patch and updated test.

This patch additionally removes some dead code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185398</commentid>
    <comment_count>3</comment_count>
      <attachid>47420</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-01-28 02:29:22 -0800</bug_when>
    <thetext>Comment on attachment 47420
Proposed patch and updated test.

Rejecting patch 47420 from commit-queue.

Failed to run &quot;[&apos;git&apos;, &apos;svn&apos;, &apos;dcommit&apos;]&quot; exit_code: 1
Last 500 characters of output:
int.h
	M	WebCore/platform/android/PlatformTouchEventAndroid.cpp
	M	WebCore/platform/android/PlatformTouchPointAndroid.cpp
A repository hook failed: MERGE request failed on &apos;/repository/webkit/trunk&apos;: Commit blocked by pre-commit hook (exit code 1) with output:
svnlook: Can&apos;t write to stream: Broken pipe

    The following ChangeLog files contain OOPS:

        trunk/LayoutTests/ChangeLog

    Please don&apos;t ever say &quot;OOPS&quot; in a ChangeLog file.
 at /usr/local/git/libexec/git-core/git-svn line 558


Full output: http://webkit-commit-queue.appspot.com/results/215684</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185404</commentid>
    <comment_count>4</comment_count>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2010-01-28 02:50:46 -0800</bug_when>
    <thetext>My bad, I have a duplicate entry in the change log. Will remove and land manually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185409</commentid>
    <comment_count>5</comment_count>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2010-01-28 03:31:41 -0800</bug_when>
    <thetext>Landed as r53994.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941207</commentid>
    <comment_count>6</comment_count>
    <who name="Aurélio Santos">aurelio.santos</who>
    <bug_when>2013-10-18 08:28:42 -0700</bug_when>
    <thetext>This problem is still occurring to me in some webkit browsers when a CSS transition is applied to the iframe element. The browsers that I tested and saw this problem still happening are:

iOS5 Safari Mobile. Webkit version: 534.46
iOS6 Safari Mobile. Webkit version: 536.26
Android 4.0.3 stock browser. Webkit version: 534.30
Tizen Browser. Webkit version: 537.3

Could there have been a regression?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941223</commentid>
    <comment_count>7</comment_count>
    <who name="Aurélio Santos">aurelio.santos</who>
    <bug_when>2013-10-18 09:16:09 -0700</bug_when>
    <thetext>I have created a simple test to show this problem happening on the specified browsers:

http://jsfiddle.net/aurhe/kQ8P4/3/embedded/result/</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>47405</attachid>
            <date>2010-01-26 05:15:50 -0800</date>
            <delta_ts>2010-01-26 10:20:22 -0800</delta_ts>
            <desc>Proposed patch and updated test.</desc>
            <filename>34162.txt</filename>
            <type>text/plain</type>
            <size>10667</size>
            <attacher name="Ben Murdoch">benm</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1Mzg1MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMTAtMDEtMjYgIEJlbiBNdXJkb2NoICA8YmVubUBnb29nbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtBbmRy
b2lkXSBbUXRdIFRvdWNoIGV2ZW50IHBhZ2UgY28tb3JkaW5hdGVzIGFyZSBpbmNvcnJlY3Qgd2hl
biB0b3VjaCBpcyByZWNlaXZlZCBpbiBhbiBpZnJhbWUuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDE2MgorCisgICAgICAgIFRoZSBwYWdlWC9wYWdl
WSBjby1vcmRpbmF0ZXMgb2YgYSB0b3VjaCBldmVudCBzaG91bGQgYmUgcmVsYXRpdmUgdG8gdGhl
IGNvbnRhaW5pbmcgZnJhbWUsIG5vdCB0aGUgbWFpbiBmcmFtZS4gVGhpcyBjaGFuZ2UgaW1wbGVt
ZW50cyB0aGF0IGFuZCBhbHNvIHVwZGF0ZXMgdGhlIGV4aXN0aW5nIHRvdWNoLWluc2lkZS1pZnJh
bWUgdGVzdCB0byBhbHNvIGV4YW1pbmUgdGhlIHBhZ2UgY28tb3JkaW5hdGVzLgorCisgICAgICAg
ICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVy
OjpoYW5kbGVUb3VjaEV2ZW50KTogUmVuYW1lIGZyYW1lUG9pbnQgdG8gcGFnZVBvaW50LCBhcyBp
dCBzZWVtcyBhIGNsZWFyZXIgbmFtZS4gQWxzbyBhZGp1c3QgdGhlIHBhZ2VQb2ludCB0byBiZSBy
ZWxhdGl2ZSB0byB0aGUgdG91Y2ggdGFyZ2V0IGVsZW1lbnQncyBjb250YWluaW5nIGZyYW1lIHJh
dGhlciB0aGFuIHRoZSBtYWluIGZyYW1lLgorICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3JtVG91
Y2hFdmVudC5oOiBSZW5hbWUgQW5kcm9pZCBzcGVjaWZpYyBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIg
dG8gYmV0dGVyIHJlZmxlY3QgaXQncyBjb250ZW50cy4KKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0
Zm9ybVRvdWNoUG9pbnQuaDogZGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vYW5kcm9pZC9QbGF0
Zm9ybVRvdWNoRXZlbnRBbmRyb2lkLmNwcDogZGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vYW5k
cm9pZC9QbGF0Zm9ybVRvdWNoUG9pbnRBbmRyb2lkLmNwcDogZGl0dG8uCisKIDIwMTAtMDEtMjYg
IFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IEFkYW0gQmFydGguCkluZGV4OiBXZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAkocmV2aXNpb24gNTM3OTMp
CisrKyBXZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjU0
OSw4ICsyNTQ5LDggQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZVRvdWNoRXZlbnQoY29ucwog
CiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBwb2ludHMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAg
Y29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50JiBwb2ludCA9IHBvaW50c1tpXTsKLSAgICAgICAgSW50
UG9pbnQgZnJhbWVQb2ludCA9IGRvY3VtZW50UG9pbnRGb3JXaW5kb3dQb2ludChtX2ZyYW1lLCBw
b2ludC5wb3MoKSk7Ci0gICAgICAgIEhpdFRlc3RSZXN1bHQgcmVzdWx0ID0gaGl0VGVzdFJlc3Vs
dEF0UG9pbnQoZnJhbWVQb2ludCwgLyphbGxvd1NoYWRvd0NvbnRlbnQqLyBmYWxzZSk7CisgICAg
ICAgIEludFBvaW50IHBhZ2VQb2ludCA9IGRvY3VtZW50UG9pbnRGb3JXaW5kb3dQb2ludChtX2Zy
YW1lLCBwb2ludC5wb3MoKSk7CisgICAgICAgIEhpdFRlc3RSZXN1bHQgcmVzdWx0ID0gaGl0VGVz
dFJlc3VsdEF0UG9pbnQocGFnZVBvaW50LCAvKmFsbG93U2hhZG93Q29udGVudCovIGZhbHNlKTsK
ICAgICAgICAgTm9kZSogdGFyZ2V0ID0gcmVzdWx0LmlubmVyTm9kZSgpOwogCiAgICAgICAgIC8v
IFRvdWNoIGV2ZW50cyBzaG91bGQgbm90IGdvIHRvIHRleHQgbm9kZXMKQEAgLTI1NjMsMTcgKzI1
NjMsMjIgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZVRvdWNoRXZlbnQoY29ucwogICAgICAg
ICBpZiAoIWRvYy0+aGFzTGlzdGVuZXJUeXBlKERvY3VtZW50OjpUT1VDSF9MSVNURU5FUikpCiAg
ICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBpbnQgYWRqdXN0ZWRQYWdlWCA9IGxyb3Vu
ZGYoZnJhbWVQb2ludC54KCkgLyBtX2ZyYW1lLT5wYWdlWm9vbUZhY3RvcigpKTsKLSAgICAgICAg
aW50IGFkanVzdGVkUGFnZVkgPSBscm91bmRmKGZyYW1lUG9pbnQueSgpIC8gbV9mcmFtZS0+cGFn
ZVpvb21GYWN0b3IoKSk7CisgICAgICAgIGlmIChtX2ZyYW1lICE9IGRvYy0+ZnJhbWUoKSkgewor
ICAgICAgICAgICAgLy8gcGFnZVBvaW50IHNob3VsZCBhbHdheXMgYmUgcmVsYXRpdmUgdG8gdGhl
IHRhcmdldCBlbGVtZW50cyBjb250YWluaW5nIGZyYW1lLgorICAgICAgICAgICAgcGFnZVBvaW50
ID0gZG9jdW1lbnRQb2ludEZvcldpbmRvd1BvaW50KGRvYy0+ZnJhbWUoKSwgcG9pbnQucG9zKCkp
OworICAgICAgICB9CisKKyAgICAgICAgaW50IGFkanVzdGVkUGFnZVggPSBscm91bmRmKHBhZ2VQ
b2ludC54KCkgLyBtX2ZyYW1lLT5wYWdlWm9vbUZhY3RvcigpKTsKKyAgICAgICAgaW50IGFkanVz
dGVkUGFnZVkgPSBscm91bmRmKHBhZ2VQb2ludC55KCkgLyBtX2ZyYW1lLT5wYWdlWm9vbUZhY3Rv
cigpKTsKIAotICAgICAgICBSZWZQdHI8VG91Y2g+IHRvdWNoID0gVG91Y2g6OmNyZWF0ZShtX2Zy
YW1lLCB0YXJnZXQsIHBvaW50LmlkKCksCisgICAgICAgIFJlZlB0cjxUb3VjaD4gdG91Y2ggPSBU
b3VjaDo6Y3JlYXRlKGRvYy0+ZnJhbWUoKSwgdGFyZ2V0LCBwb2ludC5pZCgpLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludC5zY3JlZW5Qb3MoKS54KCks
IHBvaW50LnNjcmVlblBvcygpLnkoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYWRqdXN0ZWRQYWdlWCwgYWRqdXN0ZWRQYWdlWSk7CiAKICAgICAgICAgaWYg
KGV2ZW50LnR5cGUoKSA9PSBUb3VjaFN0YXJ0ICYmICFpKSB7CiAgICAgICAgICAgICBtX3RvdWNo
RXZlbnRUYXJnZXQgPSB0YXJnZXQ7CiAgICAgICAgICAgICBtX2ZpcnN0VG91Y2hTY3JlZW5Qb3Mg
PSBwb2ludC5zY3JlZW5Qb3MoKTsKLSAgICAgICAgICAgIG1fZmlyc3RUb3VjaFBhZ2VQb3MgPSBm
cmFtZVBvaW50OworICAgICAgICAgICAgbV9maXJzdFRvdWNoUGFnZVBvcyA9IHBhZ2VQb2ludDsK
ICAgICAgICAgfQogCiAgICAgICAgIGlmIChwb2ludC5zdGF0ZSgpID09IFBsYXRmb3JtVG91Y2hQ
b2ludDo6VG91Y2hSZWxlYXNlZCkKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1Ub3Vj
aEV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVRvdWNoRXZl
bnQuaAkocmV2aXNpb24gNTM3OTMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtVG91Y2hF
dmVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBAIHB1YmxpYzoKICNpZiBQTEFU
Rk9STShRVCkKICAgICBQbGF0Zm9ybVRvdWNoRXZlbnQoUVRvdWNoRXZlbnQqKTsKICNlbGlmIFBM
QVRGT1JNKEFORFJPSUQpCi0gICAgUGxhdGZvcm1Ub3VjaEV2ZW50KGNvbnN0IEludFBvaW50JiBh
YnNvbHV0ZVBhZ2VQb3MsIFRvdWNoRXZlbnRUeXBlLCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlN0YXRl
KTsKKyAgICBQbGF0Zm9ybVRvdWNoRXZlbnQoY29uc3QgSW50UG9pbnQmIHdpbmRvd1BvcywgVG91
Y2hFdmVudFR5cGUsIFBsYXRmb3JtVG91Y2hQb2ludDo6U3RhdGUpOwogI2VuZGlmCiAKICAgICBU
b3VjaEV2ZW50VHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CkluZGV4OiBXZWJD
b3JlL3BsYXRmb3JtL1BsYXRmb3JtVG91Y2hQb2ludC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGxhdGZvcm0vUGxhdGZvcm1Ub3VjaFBvaW50LmgJKHJldmlzaW9uIDUzNzkzKQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS9QbGF0Zm9ybVRvdWNoUG9pbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDcsNyAr
NDcsNyBAQCBwdWJsaWM6CiAjaWYgUExBVEZPUk0oUVQpCiAgICAgUGxhdGZvcm1Ub3VjaFBvaW50
KGNvbnN0IFFUb3VjaEV2ZW50OjpUb3VjaFBvaW50Jik7CiAjZWxpZiBQTEFURk9STShBTkRST0lE
KQotICAgIFBsYXRmb3JtVG91Y2hQb2ludChjb25zdCBJbnRQb2ludCYgYWJzb2x1dGVQYWdlUG9z
LCBTdGF0ZSk7CisgICAgUGxhdGZvcm1Ub3VjaFBvaW50KGNvbnN0IEludFBvaW50JiB3aW5kb3dQ
b3MsIFN0YXRlKTsKICNlbmRpZgogCiAgICAgaW50IGlkKCkgY29uc3QgeyByZXR1cm4gbV9pZDsg
fQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9hbmRyb2lkL1BsYXRmb3JtVG91Y2hFdmVudEFuZHJv
aWQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vYW5kcm9pZC9QbGF0Zm9ybVRv
dWNoRXZlbnRBbmRyb2lkLmNwcAkocmV2aXNpb24gNTM3OTMpCisrKyBXZWJDb3JlL3BsYXRmb3Jt
L2FuZHJvaWQvUGxhdGZvcm1Ub3VjaEV2ZW50QW5kcm9pZC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTMwLDE0ICszMCwxNCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBsYXRmb3JtVG91Y2hF
dmVudDo6UGxhdGZvcm1Ub3VjaEV2ZW50KGNvbnN0IEludFBvaW50JiBhYnNvbHV0ZVBhZ2VQb3Ms
IFRvdWNoRXZlbnRUeXBlIHR5cGUsIFBsYXRmb3JtVG91Y2hQb2ludDo6U3RhdGUgc3RhdGUpCitQ
bGF0Zm9ybVRvdWNoRXZlbnQ6OlBsYXRmb3JtVG91Y2hFdmVudChjb25zdCBJbnRQb2ludCYgd2lu
ZG93UG9zLCBUb3VjaEV2ZW50VHlwZSB0eXBlLCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlN0YXRlIHN0
YXRlKQogICAgIDogbV90eXBlKHR5cGUpCiAgICAgLCBtX2N0cmxLZXkoZmFsc2UpCiAgICAgLCBt
X2FsdEtleShmYWxzZSkKICAgICAsIG1fc2hpZnRLZXkoZmFsc2UpCiAgICAgLCBtX21ldGFLZXko
ZmFsc2UpCiB7Ci0gICAgbV90b3VjaFBvaW50cy5hcHBlbmQoUGxhdGZvcm1Ub3VjaFBvaW50KGFi
c29sdXRlUGFnZVBvcywgc3RhdGUpKTsKKyAgICBtX3RvdWNoUG9pbnRzLmFwcGVuZChQbGF0Zm9y
bVRvdWNoUG9pbnQod2luZG93UG9zLCBzdGF0ZSkpOwogfQogCiB9CkluZGV4OiBXZWJDb3JlL3Bs
YXRmb3JtL2FuZHJvaWQvUGxhdGZvcm1Ub3VjaFBvaW50QW5kcm9pZC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9hbmRyb2lkL1BsYXRmb3JtVG91Y2hQb2ludEFuZHJvaWQuY3Bw
CShyZXZpc2lvbiA1Mzc5MykKKysrIFdlYkNvcmUvcGxhdGZvcm0vYW5kcm9pZC9QbGF0Zm9ybVRv
dWNoUG9pbnRBbmRyb2lkLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTEgKzMwLDExIEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGxhdGZvcm1Ub3VjaFBvaW50OjpQbGF0Zm9ybVRvdWNo
UG9pbnQoY29uc3QgSW50UG9pbnQmIGFic29sdXRlUGFnZVBvcywgU3RhdGUgc3RhdGUpCitQbGF0
Zm9ybVRvdWNoUG9pbnQ6OlBsYXRmb3JtVG91Y2hQb2ludChjb25zdCBJbnRQb2ludCYgd2luZG93
UG9zLCBTdGF0ZSBzdGF0ZSkKICAgICA6IG1faWQoMCkKICAgICAsIG1fc3RhdGUoc3RhdGUpCi0g
ICAgLCBtX3NjcmVlblBvcyhhYnNvbHV0ZVBhZ2VQb3MpCi0gICAgLCBtX3BvcyhhYnNvbHV0ZVBh
Z2VQb3MpIHsgfQorICAgICwgbV9zY3JlZW5Qb3Mod2luZG93UG9zKQorICAgICwgbV9wb3Mod2lu
ZG93UG9zKSB7IH0KIAogfQogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA1Mzg1MCkKKysrIExheW91dFRl
c3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEwLTAxLTI2
ICBCZW4gTXVyZG9jaCAgPGJlbm1AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbQW5kcm9pZF0gW1F0XSBUb3VjaCBldmVudCBwYWdl
IGNvLW9yZGluYXRlcyBhcmUgaW5jb3JyZWN0IHdoZW4gdG91Y2ggaXMgcmVjZWl2ZWQgaW4gYW4g
aWZyYW1lLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MzQxNjIKKworICAgICAgICBVcGRhdGUgdGhlIGV4aXN0aW5nIGlmcmFtZSB0b3VjaCBldmVudCB0
ZXN0IHRvIGFsc28gZXhhbWluZSB0aGUgcGFnZSBjby1vcmRpbmF0ZXMgb2YgdGhlIHRvdWNoIHRo
YXQgaXMgcmVjZWl2ZWQuCisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy90b3VjaC9yZXNvdXJjZXMv
dG91Y2gtaW5zaWRlLWlmcmFtZTIuaHRtbDogVXBkYXRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50
cy90b3VjaC90b3VjaC1pbnNpZGUtaWZyYW1lLWV4cGVjdGVkLnR4dDogVXBkYXRlZC4KKyAgICAg
ICAgKiBmYXN0L2V2ZW50cy90b3VjaC90b3VjaC1pbnNpZGUtaWZyYW1lLmh0bWw6IFVwZGF0ZWQu
CisKIDIwMTAtMDEtMjYgIFNpbW9uIEhhdXNtYW5uICA8c2ltb24uaGF1c21hbm5Abm9raWEuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEhvbGdlciBGcmV5dGhlci4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3RvdWNoL3RvdWNoLWluc2lkZS1pZnJhbWUtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL3RvdWNoLWluc2lkZS1p
ZnJhbWUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1Mzc5MykKKysrIExheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL3RvdWNoL3RvdWNoLWluc2lkZS1pZnJhbWUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xLDQgKzEsMTIgQEAKLVRlc3QgdGhhdCB0b3VjaCBldmVudHMgYXJlIHNlbnQgdG8g
aWZyYW1lcyB0aGF0IGxpc3RlbiBmb3IgdGhlbSBldmVuIGlmIHRoZSBwYXJlbnQgZnJhbWUgZG9l
cyBub3QgbGlzdGVuIGZvciB0aGVtLgogCi1QQVNTCitUZXN0IGlmcmFtZXMgcmVjZWl2ZSB0b3Vj
aGVzIGNvcnJlY3RseS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdG91
Y2gucGFnZVggaXMgNTAKK1BBU1MgdG91Y2gucGFnZVkgaXMgNTAKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy90b3VjaC90b3VjaC1pbnNpZGUtaWZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvdG91Y2gtaW5zaWRlLWlmcmFtZS5odG1sCShyZXZp
c2lvbiA1Mzc5MykKKysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL3RvdWNoLWluc2lk
ZS1pZnJhbWUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwzMSArMSw0MiBAQAogPGh0bWw+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0
eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LWZ1bmN0aW9uLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPGlmcmFtZSBzdHlsZT0icG9zaXRpb246
YWJzb2x1dGU7IHRvcDoxMDBweDsgbGVmdDoxMDBweDsiIHNyYz0iLi9yZXNvdXJjZXMvdG91Y2gt
aW5zaWRlLWlmcmFtZTIuaHRtbCI+PC9pZnJhbWU+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgogPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKK2Rlc2NyaXB0aW9uKCdUZXN0IGlm
cmFtZXMgcmVjZWl2ZSB0b3VjaGVzIGNvcnJlY3RseS4nKTsKKwordmFyIHRvdWNoID0gbnVsbDsK
KworZnVuY3Rpb24gdGVzdENvbXBsZXRlKGV2ZW50KQogewotICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25l
KCk7CisgICAgdG91Y2ggPSBldmVudC50b3VjaGVzWzBdOworICAgIHNob3VsZEJlKCJ0b3VjaC5w
YWdlWCIsICI1MCIpOworICAgIHNob3VsZEJlKCJ0b3VjaC5wYWdlWSIsICI1MCIpOworICAgIGlz
U3VjY2Vzc2Z1bGx5UGFyc2VkKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9u
ZSgpOwogfQogCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAgICBpZiAod2luZG93LmV2ZW50U2Vu
ZGVyKQotICAgIHsKLSAgICAgICAgZXZlbnRTZW5kZXIuYWRkVG91Y2hQb2ludCg1MCwgMTUwKTsK
K2Z1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAg
ICAgICAvLyBUb3VjaCB0aGUgY2VudGVyIG9mIHRoZSBkaXYgaW4gdGhlIGlmcmFtZS4KKyAgICAg
ICAgLy8gMTAwcHggaXMgb2Zmc2V0IHRvIGlmcmFtZSBpbiBtYWluIGZyYW1lLAorICAgICAgICAv
LyAycHggZm9yIHRoZSBpZnJhbWUgYm9yZGVyLCA1MHB4IHRvIGdldCB0byBjZW50cmUgb2YgdGhl
IGRpdi4KKyAgICAgICAgZXZlbnRTZW5kZXIuYWRkVG91Y2hQb2ludCgxNTIsIDE1Mik7CiAgICAg
ICAgIGV2ZW50U2VuZGVyLnRvdWNoU3RhcnQoKTsKKyAgICB9IGVsc2UgeworICAgICAgIGRlYnVn
KCdUaGlzIHRlc3QgcmVxdWlyZXMgRFJULicpOwogICAgIH0KIH0KIAotZnVuY3Rpb24gdGVzdENv
bXBsZXRlKCkKLXsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpLmlubmVy
VGV4dCA9ICdQQVNTJzsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Citp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIud2FpdFVudGlsRG9uZSgpOwogfQorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
IDwvc2NyaXB0PgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCk7Ij4KLTxwPlRlc3QgdGhhdCB0b3Vj
aCBldmVudHMgYXJlIHNlbnQgdG8gaWZyYW1lcyB0aGF0IGxpc3RlbiBmb3IgdGhlbSBldmVuIGlm
IHRoZSBwYXJlbnQgZnJhbWUgZG9lcyBub3QgbGlzdGVuIGZvciB0aGVtLjwvcD4KLTxkaXYgaWQ9
ImNvbnNvbGUiPgotPHA+RkFJTCAtIG5vIHRvdWNoc3RhcnQgcmVjZWl2ZWQhPC9wPgotPC9kaXY+
Ci08aWZyYW1lIHNyYz0iLi9yZXNvdXJjZXMvdG91Y2gtaW5zaWRlLWlmcmFtZTIuaHRtbCIgLz4K
IDwvYm9keT4KIDwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL3Jl
c291cmNlcy90b3VjaC1pbnNpZGUtaWZyYW1lMi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3RvdWNoL3Jlc291cmNlcy90b3VjaC1pbnNpZGUtaWZyYW1lMi5odG1s
CShyZXZpc2lvbiA1Mzc5MykKKysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL3Jlc291
cmNlcy90b3VjaC1pbnNpZGUtaWZyYW1lMi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDggKzEs
OCBAQAogPGh0bWw+Ci08Ym9keT4KLTxkaXYgaWQ9J215ZGl2JyBzdHlsZT0nd2lkdGg6MTAwcHg7
aGVpZ2h0OjEwMHB4Oyc+PC9kaXY+Cis8Ym9keSBvbmxvYWQ9InBhcmVudC5ydW5UZXN0KCkiPgor
PGRpdiBpZD0nbXlkaXYnIHN0eWxlPSd3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHg7cG9zaXRpb246
YWJzb2x1dGU7dG9wOjBweDsgbGVmdDowcHg7IGJhY2tncm91bmQtY29sb3I6Ymx1ZTsnPjwvZGl2
PgogPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPgotZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ215ZGl2JykuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIGZ1bmN0aW9uKCkgeyBw
YXJlbnQudGVzdENvbXBsZXRlKCk7IH0sIGZhbHNlKTsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdteWRpdicpLmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBmdW5jdGlvbigpIHsgcGFy
ZW50LnRlc3RDb21wbGV0ZShldmVudCk7IH0sIGZhbHNlKTsKIDwvc2NyaXB0PgogPC9ib2R5Pgog
PC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>47420</attachid>
            <date>2010-01-26 10:20:22 -0800</date>
            <delta_ts>2010-01-28 02:29:22 -0800</delta_ts>
            <desc>Proposed patch and updated test.</desc>
            <filename>34162-2.txt</filename>
            <type>text/plain</type>
            <size>13155</size>
            <attacher name="Ben Murdoch">benm</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1Mzg1NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTAtMDEtMjYgIEJlbiBNdXJkb2NoICA8YmVubUBnb29nbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtBbmRy
b2lkXSBbUXRdIFRvdWNoIGV2ZW50IHBhZ2UgY28tb3JkaW5hdGVzIGFyZSBpbmNvcnJlY3Qgd2hl
biB0b3VjaCBpcyByZWNlaXZlZCBpbiBhbiBpZnJhbWUuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDE2MgorCisgICAgICAgIFRoZSBwYWdlWC9wYWdl
WSBjby1vcmRpbmF0ZXMgb2YgYSB0b3VjaCBldmVudCBzaG91bGQgYmUgcmVsYXRpdmUgdG8gdGhl
IGNvbnRhaW5pbmcgZnJhbWUsIG5vdCB0aGUgbWFpbiBmcmFtZS4gVGhpcyBjaGFuZ2UgaW1wbGVt
ZW50cyB0aGF0IGFuZCBhbHNvIHVwZGF0ZXMgdGhlIGV4aXN0aW5nIHRvdWNoLWluc2lkZS1pZnJh
bWUgdGVzdCB0byBhbHNvIGV4YW1pbmUgdGhlIHBhZ2UgY28tb3JkaW5hdGVzLgorCisgICAgICAg
ICogZG9tL1RvdWNoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRvdWNoOjpUb3VjaCk6IFJlbW92
ZSBkZWFkIGNvZGUuCisgICAgICAgICogZG9tL1RvdWNoLmg6IFJlbW92ZSBkZWFkIGNvZGUuCisg
ICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRI
YW5kbGVyOjpoYW5kbGVUb3VjaEV2ZW50KTogUmVuYW1lIGZyYW1lUG9pbnQgdG8gcGFnZVBvaW50
LCBhcyBpdCBzZWVtcyBhIGNsZWFyZXIgbmFtZS4gQWxzbyBhZGp1c3QgdGhlIHBhZ2VQb2ludCB0
byBiZSByZWxhdGl2ZSB0byB0aGUgdG91Y2ggdGFyZ2V0IGVsZW1lbnQncyBjb250YWluaW5nIGZy
YW1lIHJhdGhlciB0aGFuIHRoZSBtYWluIGZyYW1lLgorICAgICAgICAqIHBsYXRmb3JtL1BsYXRm
b3JtVG91Y2hFdmVudC5oOiBSZW5hbWUgQW5kcm9pZCBzcGVjaWZpYyBjb25zdHJ1Y3RvciBwYXJh
bWV0ZXIgdG8gYmV0dGVyIHJlZmxlY3QgaXQncyBjb250ZW50cy4KKyAgICAgICAgKiBwbGF0Zm9y
bS9QbGF0Zm9ybVRvdWNoUG9pbnQuaDogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vYW5kcm9p
ZC9QbGF0Zm9ybVRvdWNoRXZlbnRBbmRyb2lkLmNwcDogRGl0dG8uCisgICAgICAgICogcGxhdGZv
cm0vYW5kcm9pZC9QbGF0Zm9ybVRvdWNoUG9pbnRBbmRyb2lkLmNwcDogRGl0dG8uCisKIDIwMTAt
MDEtMjYgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgpJbmRleDogV2ViQ29yZS9kb20vVG91Y2guY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL1RvdWNoLmNwcAkocmV2aXNpb24gNTM3OTMpCisr
KyBXZWJDb3JlL2RvbS9Ub3VjaC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1LDExICs1NSwxMCBA
QCBzdGF0aWMgaW50IGNvbnRlbnRzWShGcmFtZSogZnJhbWUpCiAKIFRvdWNoOjpUb3VjaChGcmFt
ZSogZnJhbWUsIEV2ZW50VGFyZ2V0KiB0YXJnZXQsIHVuc2lnbmVkIGlkZW50aWZpZXIsIAogICAg
ICAgICBpbnQgc2NyZWVuWCwgaW50IHNjcmVlblksIGludCBwYWdlWCwgaW50IHBhZ2VZKQotICAg
IDogbV9mcmFtZShmcmFtZSkKLSAgICAsIG1fdGFyZ2V0KHRhcmdldCkKKyAgICA6IG1fdGFyZ2V0
KHRhcmdldCkKICAgICAsIG1faWRlbnRpZmllcihpZGVudGlmaWVyKQotICAgICwgbV9jbGllbnRY
KHBhZ2VYIC0gY29udGVudHNYKG1fZnJhbWUuZ2V0KCkpKQotICAgICwgbV9jbGllbnRZKHBhZ2VZ
IC0gY29udGVudHNZKG1fZnJhbWUuZ2V0KCkpKQorICAgICwgbV9jbGllbnRYKHBhZ2VYIC0gY29u
dGVudHNYKGZyYW1lKSkKKyAgICAsIG1fY2xpZW50WShwYWdlWSAtIGNvbnRlbnRzWShmcmFtZSkp
CiAgICAgLCBtX3NjcmVlblgoc2NyZWVuWCkKICAgICAsIG1fc2NyZWVuWShzY3JlZW5ZKQogICAg
ICwgbV9wYWdlWChwYWdlWCkKQEAgLTY3LDE2ICs2Niw2IEBAIFRvdWNoOjpUb3VjaChGcmFtZSog
ZnJhbWUsIEV2ZW50VGFyZ2V0KiAKIHsKIH0KIAotdm9pZCBUb3VjaDo6dXBkYXRlTG9jYXRpb24o
aW50IHNjcmVlblgsIGludCBzY3JlZW5ZLCBpbnQgcGFnZVgsIGludCBwYWdlWSkKLXsKLSAgICBt
X2NsaWVudFggPSBwYWdlWCAtIGNvbnRlbnRzWChtX2ZyYW1lLmdldCgpKTsKLSAgICBtX2NsaWVu
dFkgPSBwYWdlWSAtIGNvbnRlbnRzWShtX2ZyYW1lLmdldCgpKTsKLSAgICBtX3NjcmVlblggPSBz
Y3JlZW5YOwotICAgIG1fc2NyZWVuWSA9IHNjcmVlblk7Ci0gICAgbV9wYWdlWCA9IHBhZ2VYOwot
ICAgIG1fcGFnZVkgPSBwYWdlWTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5k
aWYKSW5kZXg6IFdlYkNvcmUvZG9tL1RvdWNoLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20v
VG91Y2guaAkocmV2aXNpb24gNTM3OTMpCisrKyBXZWJDb3JlL2RvbS9Ub3VjaC5oCSh3b3JraW5n
IGNvcHkpCkBAIC00NSw5ICs0NSw2IEBAIHB1YmxpYzoKICAgICAgICAgICAgICAgICBzY3JlZW5Z
LCBwYWdlWCwgcGFnZVkpKTsKICAgICB9CiAKLSAgICB2b2lkIHVwZGF0ZUxvY2F0aW9uKGludCBz
Y3JlZW5YLCBpbnQgc2NyZWVuWSwgaW50IHBhZ2VYLCBpbnQgcGFnZVkpOwotCi0gICAgRnJhbWUq
IGZyYW1lKCkgY29uc3QgeyByZXR1cm4gbV9mcmFtZS5nZXQoKTsgfQogICAgIEV2ZW50VGFyZ2V0
KiB0YXJnZXQoKSBjb25zdCB7IHJldHVybiBtX3RhcmdldC5nZXQoKTsgfQogICAgIHVuc2lnbmVk
IGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KICAgICBpbnQgY2xp
ZW50WCgpIGNvbnN0IHsgcmV0dXJuIG1fY2xpZW50WDsgfQpAQCAtNjEsNyArNTgsNiBAQCBwcml2
YXRlOgogICAgIFRvdWNoKEZyYW1lKiBmcmFtZSwgRXZlbnRUYXJnZXQqIHRhcmdldCwgdW5zaWdu
ZWQgaWRlbnRpZmllciwKICAgICAgICAgICAgIGludCBzY3JlZW5YLCBpbnQgc2NyZWVuWSwgaW50
IHBhZ2VYLCBpbnQgcGFnZVkpOwogCi0gICAgUmVmUHRyPEZyYW1lPiBtX2ZyYW1lOwogICAgIFJl
ZlB0cjxFdmVudFRhcmdldD4gbV90YXJnZXQ7CiAgICAgdW5zaWduZWQgbV9pZGVudGlmaWVyOwog
ICAgIGludCBtX2NsaWVudFg7CkluZGV4OiBXZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAkocmV2aXNpb24gNTM3
OTMpCisrKyBXZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjU0OSw4ICsyNTQ5LDggQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZVRvdWNoRXZlbnQoY29u
cwogCiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBwb2ludHMuc2l6ZSgpOyArK2kpIHsKICAgICAg
ICAgY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50JiBwb2ludCA9IHBvaW50c1tpXTsKLSAgICAgICAg
SW50UG9pbnQgZnJhbWVQb2ludCA9IGRvY3VtZW50UG9pbnRGb3JXaW5kb3dQb2ludChtX2ZyYW1l
LCBwb2ludC5wb3MoKSk7Ci0gICAgICAgIEhpdFRlc3RSZXN1bHQgcmVzdWx0ID0gaGl0VGVzdFJl
c3VsdEF0UG9pbnQoZnJhbWVQb2ludCwgLyphbGxvd1NoYWRvd0NvbnRlbnQqLyBmYWxzZSk7Cisg
ICAgICAgIEludFBvaW50IHBhZ2VQb2ludCA9IGRvY3VtZW50UG9pbnRGb3JXaW5kb3dQb2ludCht
X2ZyYW1lLCBwb2ludC5wb3MoKSk7CisgICAgICAgIEhpdFRlc3RSZXN1bHQgcmVzdWx0ID0gaGl0
VGVzdFJlc3VsdEF0UG9pbnQocGFnZVBvaW50LCAvKmFsbG93U2hhZG93Q29udGVudCovIGZhbHNl
KTsKICAgICAgICAgTm9kZSogdGFyZ2V0ID0gcmVzdWx0LmlubmVyTm9kZSgpOwogCiAgICAgICAg
IC8vIFRvdWNoIGV2ZW50cyBzaG91bGQgbm90IGdvIHRvIHRleHQgbm9kZXMKQEAgLTI1NjMsMTcg
KzI1NjMsMjIgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZVRvdWNoRXZlbnQoY29ucwogICAg
ICAgICBpZiAoIWRvYy0+aGFzTGlzdGVuZXJUeXBlKERvY3VtZW50OjpUT1VDSF9MSVNURU5FUikp
CiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBpbnQgYWRqdXN0ZWRQYWdlWCA9IGxy
b3VuZGYoZnJhbWVQb2ludC54KCkgLyBtX2ZyYW1lLT5wYWdlWm9vbUZhY3RvcigpKTsKLSAgICAg
ICAgaW50IGFkanVzdGVkUGFnZVkgPSBscm91bmRmKGZyYW1lUG9pbnQueSgpIC8gbV9mcmFtZS0+
cGFnZVpvb21GYWN0b3IoKSk7CisgICAgICAgIGlmIChtX2ZyYW1lICE9IGRvYy0+ZnJhbWUoKSkg
eworICAgICAgICAgICAgLy8gcGFnZVBvaW50IHNob3VsZCBhbHdheXMgYmUgcmVsYXRpdmUgdG8g
dGhlIHRhcmdldCBlbGVtZW50cyBjb250YWluaW5nIGZyYW1lLgorICAgICAgICAgICAgcGFnZVBv
aW50ID0gZG9jdW1lbnRQb2ludEZvcldpbmRvd1BvaW50KGRvYy0+ZnJhbWUoKSwgcG9pbnQucG9z
KCkpOworICAgICAgICB9CisKKyAgICAgICAgaW50IGFkanVzdGVkUGFnZVggPSBscm91bmRmKHBh
Z2VQb2ludC54KCkgLyBtX2ZyYW1lLT5wYWdlWm9vbUZhY3RvcigpKTsKKyAgICAgICAgaW50IGFk
anVzdGVkUGFnZVkgPSBscm91bmRmKHBhZ2VQb2ludC55KCkgLyBtX2ZyYW1lLT5wYWdlWm9vbUZh
Y3RvcigpKTsKIAotICAgICAgICBSZWZQdHI8VG91Y2g+IHRvdWNoID0gVG91Y2g6OmNyZWF0ZSht
X2ZyYW1lLCB0YXJnZXQsIHBvaW50LmlkKCksCisgICAgICAgIFJlZlB0cjxUb3VjaD4gdG91Y2gg
PSBUb3VjaDo6Y3JlYXRlKGRvYy0+ZnJhbWUoKSwgdGFyZ2V0LCBwb2ludC5pZCgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludC5zY3JlZW5Qb3MoKS54
KCksIHBvaW50LnNjcmVlblBvcygpLnkoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYWRqdXN0ZWRQYWdlWCwgYWRqdXN0ZWRQYWdlWSk7CiAKICAgICAgICAg
aWYgKGV2ZW50LnR5cGUoKSA9PSBUb3VjaFN0YXJ0ICYmICFpKSB7CiAgICAgICAgICAgICBtX3Rv
dWNoRXZlbnRUYXJnZXQgPSB0YXJnZXQ7CiAgICAgICAgICAgICBtX2ZpcnN0VG91Y2hTY3JlZW5Q
b3MgPSBwb2ludC5zY3JlZW5Qb3MoKTsKLSAgICAgICAgICAgIG1fZmlyc3RUb3VjaFBhZ2VQb3Mg
PSBmcmFtZVBvaW50OworICAgICAgICAgICAgbV9maXJzdFRvdWNoUGFnZVBvcyA9IHBhZ2VQb2lu
dDsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChwb2ludC5zdGF0ZSgpID09IFBsYXRmb3JtVG91
Y2hQb2ludDo6VG91Y2hSZWxlYXNlZCkKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1U
b3VjaEV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVRvdWNo
RXZlbnQuaAkocmV2aXNpb24gNTM3OTMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtVG91
Y2hFdmVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBAIHB1YmxpYzoKICNpZiBQ
TEFURk9STShRVCkKICAgICBQbGF0Zm9ybVRvdWNoRXZlbnQoUVRvdWNoRXZlbnQqKTsKICNlbGlm
IFBMQVRGT1JNKEFORFJPSUQpCi0gICAgUGxhdGZvcm1Ub3VjaEV2ZW50KGNvbnN0IEludFBvaW50
JiBhYnNvbHV0ZVBhZ2VQb3MsIFRvdWNoRXZlbnRUeXBlLCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlN0
YXRlKTsKKyAgICBQbGF0Zm9ybVRvdWNoRXZlbnQoY29uc3QgSW50UG9pbnQmIHdpbmRvd1Bvcywg
VG91Y2hFdmVudFR5cGUsIFBsYXRmb3JtVG91Y2hQb2ludDo6U3RhdGUpOwogI2VuZGlmCiAKICAg
ICBUb3VjaEV2ZW50VHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CkluZGV4OiBX
ZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtVG91Y2hQb2ludC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGxhdGZvcm0vUGxhdGZvcm1Ub3VjaFBvaW50LmgJKHJldmlzaW9uIDUzNzkzKQorKysgV2Vi
Q29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVRvdWNoUG9pbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDcs
NyArNDcsNyBAQCBwdWJsaWM6CiAjaWYgUExBVEZPUk0oUVQpCiAgICAgUGxhdGZvcm1Ub3VjaFBv
aW50KGNvbnN0IFFUb3VjaEV2ZW50OjpUb3VjaFBvaW50Jik7CiAjZWxpZiBQTEFURk9STShBTkRS
T0lEKQotICAgIFBsYXRmb3JtVG91Y2hQb2ludChjb25zdCBJbnRQb2ludCYgYWJzb2x1dGVQYWdl
UG9zLCBTdGF0ZSk7CisgICAgUGxhdGZvcm1Ub3VjaFBvaW50KGNvbnN0IEludFBvaW50JiB3aW5k
b3dQb3MsIFN0YXRlKTsKICNlbmRpZgogCiAgICAgaW50IGlkKCkgY29uc3QgeyByZXR1cm4gbV9p
ZDsgfQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9hbmRyb2lkL1BsYXRmb3JtVG91Y2hFdmVudEFu
ZHJvaWQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vYW5kcm9pZC9QbGF0Zm9y
bVRvdWNoRXZlbnRBbmRyb2lkLmNwcAkocmV2aXNpb24gNTM3OTMpCisrKyBXZWJDb3JlL3BsYXRm
b3JtL2FuZHJvaWQvUGxhdGZvcm1Ub3VjaEV2ZW50QW5kcm9pZC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTMwLDE0ICszMCwxNCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBsYXRmb3JtVG91
Y2hFdmVudDo6UGxhdGZvcm1Ub3VjaEV2ZW50KGNvbnN0IEludFBvaW50JiBhYnNvbHV0ZVBhZ2VQ
b3MsIFRvdWNoRXZlbnRUeXBlIHR5cGUsIFBsYXRmb3JtVG91Y2hQb2ludDo6U3RhdGUgc3RhdGUp
CitQbGF0Zm9ybVRvdWNoRXZlbnQ6OlBsYXRmb3JtVG91Y2hFdmVudChjb25zdCBJbnRQb2ludCYg
d2luZG93UG9zLCBUb3VjaEV2ZW50VHlwZSB0eXBlLCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlN0YXRl
IHN0YXRlKQogICAgIDogbV90eXBlKHR5cGUpCiAgICAgLCBtX2N0cmxLZXkoZmFsc2UpCiAgICAg
LCBtX2FsdEtleShmYWxzZSkKICAgICAsIG1fc2hpZnRLZXkoZmFsc2UpCiAgICAgLCBtX21ldGFL
ZXkoZmFsc2UpCiB7Ci0gICAgbV90b3VjaFBvaW50cy5hcHBlbmQoUGxhdGZvcm1Ub3VjaFBvaW50
KGFic29sdXRlUGFnZVBvcywgc3RhdGUpKTsKKyAgICBtX3RvdWNoUG9pbnRzLmFwcGVuZChQbGF0
Zm9ybVRvdWNoUG9pbnQod2luZG93UG9zLCBzdGF0ZSkpOwogfQogCiB9CkluZGV4OiBXZWJDb3Jl
L3BsYXRmb3JtL2FuZHJvaWQvUGxhdGZvcm1Ub3VjaFBvaW50QW5kcm9pZC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9hbmRyb2lkL1BsYXRmb3JtVG91Y2hQb2ludEFuZHJvaWQu
Y3BwCShyZXZpc2lvbiA1Mzc5MykKKysrIFdlYkNvcmUvcGxhdGZvcm0vYW5kcm9pZC9QbGF0Zm9y
bVRvdWNoUG9pbnRBbmRyb2lkLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTEgKzMwLDExIEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGxhdGZvcm1Ub3VjaFBvaW50OjpQbGF0Zm9ybVRv
dWNoUG9pbnQoY29uc3QgSW50UG9pbnQmIGFic29sdXRlUGFnZVBvcywgU3RhdGUgc3RhdGUpCitQ
bGF0Zm9ybVRvdWNoUG9pbnQ6OlBsYXRmb3JtVG91Y2hQb2ludChjb25zdCBJbnRQb2ludCYgd2lu
ZG93UG9zLCBTdGF0ZSBzdGF0ZSkKICAgICA6IG1faWQoMCkKICAgICAsIG1fc3RhdGUoc3RhdGUp
Ci0gICAgLCBtX3NjcmVlblBvcyhhYnNvbHV0ZVBhZ2VQb3MpCi0gICAgLCBtX3BvcyhhYnNvbHV0
ZVBhZ2VQb3MpIHsgfQorICAgICwgbV9zY3JlZW5Qb3Mod2luZG93UG9zKQorICAgICwgbV9wb3Mo
d2luZG93UG9zKSB7IH0KIAogfQogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA1Mzg1NikKKysrIExheW91
dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDEwLTAx
LTI2ICBCZW4gTXVyZG9jaCAgPGJlbm1AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbQW5kcm9pZF0gW1F0XSBUb3VjaCBldmVudCBw
YWdlIGNvLW9yZGluYXRlcyBhcmUgaW5jb3JyZWN0IHdoZW4gdG91Y2ggaXMgcmVjZWl2ZWQgaW4g
YW4gaWZyYW1lLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MzQxNjIKKworICAgICAgICAqIGZhc3QvZXZlbnRzL3RvdWNoL3Jlc291cmNlcy90b3VjaC1p
bnNpZGUtaWZyYW1lMi5odG1sOgorICAgICAgICAqIGZhc3QvZXZlbnRzL3RvdWNoL3RvdWNoLWlu
c2lkZS1pZnJhbWUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZXZlbnRzL3RvdWNoL3Rv
dWNoLWluc2lkZS1pZnJhbWUuaHRtbDoKKworMjAxMC0wMS0yNiAgQmVuIE11cmRvY2ggIDxiZW5t
QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgW0FuZHJvaWRdIFtRdF0gVG91Y2ggZXZlbnQgcGFnZSBjby1vcmRpbmF0ZXMgYXJlIGlu
Y29ycmVjdCB3aGVuIHRvdWNoIGlzIHJlY2VpdmVkIGluIGFuIGlmcmFtZS4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM0MTYyCisKKyAgICAgICAgVXBk
YXRlIHRoZSBleGlzdGluZyBpZnJhbWUgdG91Y2ggZXZlbnQgdGVzdCB0byBhbHNvIGV4YW1pbmUg
dGhlIHBhZ2UgY28tb3JkaW5hdGVzIG9mIHRoZSB0b3VjaCB0aGF0IGlzIHJlY2VpdmVkLgorCisg
ICAgICAgICogZmFzdC9ldmVudHMvdG91Y2gvcmVzb3VyY2VzL3RvdWNoLWluc2lkZS1pZnJhbWUy
Lmh0bWw6IFVwZGF0ZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvdG91Y2gvdG91Y2gtaW5zaWRl
LWlmcmFtZS1leHBlY3RlZC50eHQ6IFVwZGF0ZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvdG91
Y2gvdG91Y2gtaW5zaWRlLWlmcmFtZS5odG1sOiBVcGRhdGVkLgorCiAyMDEwLTAxLTI2ICBTaW1v
biBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBIb2xnZXIgRnJleXRoZXIuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3Vj
aC90b3VjaC1pbnNpZGUtaWZyYW1lLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy90b3VjaC90b3VjaC1pbnNpZGUtaWZyYW1lLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gNTM3OTMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC90b3VjaC1p
bnNpZGUtaWZyYW1lLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDEyIEBA
Ci1UZXN0IHRoYXQgdG91Y2ggZXZlbnRzIGFyZSBzZW50IHRvIGlmcmFtZXMgdGhhdCBsaXN0ZW4g
Zm9yIHRoZW0gZXZlbiBpZiB0aGUgcGFyZW50IGZyYW1lIGRvZXMgbm90IGxpc3RlbiBmb3IgdGhl
bS4KIAotUEFTUworVGVzdCBpZnJhbWVzIHJlY2VpdmUgdG91Y2hlcyBjb3JyZWN0bHkuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHRvdWNoLnBhZ2VYIGlzIDUwCitQQVNT
IHRvdWNoLnBhZ2VZIGlzIDUwCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKIApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvdG91Y2gt
aW5zaWRlLWlmcmFtZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L3RvdWNoL3RvdWNoLWluc2lkZS1pZnJhbWUuaHRtbAkocmV2aXNpb24gNTM3OTMpCisrKyBMYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC90b3VjaC1pbnNpZGUtaWZyYW1lLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTEsMzEgKzEsNDIgQEAKIDxodG1sPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC1mdW5jdGlvbi5qcyI+PC9zY3Jp
cHQ+Cis8Ym9keT4KKzxpZnJhbWUgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyB0b3A6MTAwcHg7
IGxlZnQ6MTAwcHg7IiBzcmM9Ii4vcmVzb3VyY2VzL3RvdWNoLWluc2lkZS1pZnJhbWUyLmh0bWwi
PjwvaWZyYW1lPgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLWlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCitkZXNjcmlwdGlvbignVGVzdCBpZnJhbWVzIHJlY2VpdmUgdG91Y2hl
cyBjb3JyZWN0bHkuJyk7CisKK3ZhciB0b3VjaCA9IG51bGw7CisKK2Z1bmN0aW9uIHRlc3RDb21w
bGV0ZShldmVudCkKIHsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0g
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIHRvdWNoID0gZXZl
bnQudG91Y2hlc1swXTsKKyAgICBzaG91bGRCZSgidG91Y2gucGFnZVgiLCAiNTAiKTsKKyAgICBz
aG91bGRCZSgidG91Y2gucGFnZVkiLCAiNTAiKTsKKyAgICBpc1N1Y2Nlc3NmdWxseVBhcnNlZCgp
OworICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKIH0KIAotZnVuY3Rpb24g
cnVuVGVzdCgpCi17Ci0gICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikKLSAgICB7Ci0gICAgICAg
IGV2ZW50U2VuZGVyLmFkZFRvdWNoUG9pbnQoNTAsIDE1MCk7CitmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgLy8gVG91Y2ggdGhlIGNl
bnRlciBvZiB0aGUgZGl2IGluIHRoZSBpZnJhbWUuCisgICAgICAgIC8vIDEwMHB4IGlzIG9mZnNl
dCB0byBpZnJhbWUgaW4gbWFpbiBmcmFtZSwKKyAgICAgICAgLy8gMnB4IGZvciB0aGUgaWZyYW1l
IGJvcmRlciwgNTBweCB0byBnZXQgdG8gY2VudHJlIG9mIHRoZSBkaXYuCisgICAgICAgIGV2ZW50
U2VuZGVyLmFkZFRvdWNoUG9pbnQoMTUyLCAxNTIpOwogICAgICAgICBldmVudFNlbmRlci50b3Vj
aFN0YXJ0KCk7CisgICAgfSBlbHNlIHsKKyAgICAgICBkZWJ1ZygnVGhpcyB0ZXN0IHJlcXVpcmVz
IERSVC4nKTsKICAgICB9CiB9CiAKLWZ1bmN0aW9uIHRlc3RDb21wbGV0ZSgpCi17Ci0gICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKS5pbm5lclRleHQgPSAnUEFTUyc7Ci0gICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsK
IH0KKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CiA8L3NjcmlwdD4KLTxib2R5IG9u
bG9hZD0icnVuVGVzdCgpOyI+Ci08cD5UZXN0IHRoYXQgdG91Y2ggZXZlbnRzIGFyZSBzZW50IHRv
IGlmcmFtZXMgdGhhdCBsaXN0ZW4gZm9yIHRoZW0gZXZlbiBpZiB0aGUgcGFyZW50IGZyYW1lIGRv
ZXMgbm90IGxpc3RlbiBmb3IgdGhlbS48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj4KLTxwPkZBSUwg
LSBubyB0b3VjaHN0YXJ0IHJlY2VpdmVkITwvcD4KLTwvZGl2PgotPGlmcmFtZSBzcmM9Ii4vcmVz
b3VyY2VzL3RvdWNoLWluc2lkZS1pZnJhbWUyLmh0bWwiIC8+CiA8L2JvZHk+CiA8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9yZXNvdXJjZXMvdG91Y2gtaW5zaWRl
LWlmcmFtZTIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3Vj
aC9yZXNvdXJjZXMvdG91Y2gtaW5zaWRlLWlmcmFtZTIuaHRtbAkocmV2aXNpb24gNTM3OTMpCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9yZXNvdXJjZXMvdG91Y2gtaW5zaWRlLWlm
cmFtZTIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw4ICsxLDggQEAKIDxodG1sPgotPGJvZHk+
Ci08ZGl2IGlkPSdteWRpdicgc3R5bGU9J3dpZHRoOjEwMHB4O2hlaWdodDoxMDBweDsnPjwvZGl2
PgorPGJvZHkgb25sb2FkPSJwYXJlbnQucnVuVGVzdCgpIj4KKzxkaXYgaWQ9J215ZGl2JyBzdHls
ZT0nd2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowcHg7IGxl
ZnQ6MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOmJsdWU7Jz48L2Rpdj4KIDxzY3JpcHQgdHlwZT0ndGV4
dC9qYXZhc2NyaXB0Jz4KLWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdteWRpdicpLmFkZEV2ZW50
TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBmdW5jdGlvbigpIHsgcGFyZW50LnRlc3RDb21wbGV0ZSgp
OyB9LCBmYWxzZSk7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbXlkaXYnKS5hZGRFdmVudExp
c3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oKSB7IHBhcmVudC50ZXN0Q29tcGxldGUoZXZl
bnQpOyB9LCBmYWxzZSk7CiA8L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4K
</data>
<flag name="review"
          id="29852"
          type_id="1"
          status="+"
          setter="hausmann"
    />
    <flag name="commit-queue"
          id="30080"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>