<?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>35686</bug_id>
          
          <creation_ts>2010-03-03 07:47:13 -0800</creation_ts>
          <short_desc>Type=number UI part 3: Implement interactive behavior of spin-button</short_desc>
          <delta_ts>2010-04-30 01:53:46 -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>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>32813</dependson>
          <blocked>27968</blocked>
    
    <blocked>38380</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>adele</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>195606</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-03-03 07:47:13 -0800</bug_when>
    <thetext>Make spin-buttons workable by user&apos;s click.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195607</commentid>
    <comment_count>1</comment_count>
      <attachid>49908</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-03-03 07:48:09 -0800</bug_when>
    <thetext>Created attachment 49908
Proposed patch (EWS failure expected)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195608</commentid>
    <comment_count>2</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-03-03 07:49:09 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=49908) [details]
&gt; Proposed patch (EWS failure expected)

This depends on a patch in Bug#32813.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>212751</commentid>
    <comment_count>3</comment_count>
      <attachid>49908</attachid>
    <who name="Adele Peterson">adele</who>
    <bug_when>2010-04-14 22:14:45 -0700</bug_when>
    <thetext>Comment on attachment 49908
Proposed patch (EWS failure expected)

The general approach here looks good. I wish there were a better name for &quot;stepUpFromRenderer&quot;.  I don&apos;t have a good suggestion right now though.

SpinUpState doesn&apos;t have any different visual effect right now, right?  What will it do in the future?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>212913</commentid>
    <comment_count>4</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-04-15 10:26:15 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 49908 [details])
&gt; The general approach here looks good. I wish there were a better name for
&gt; &quot;stepUpFromRenderer&quot;.  I don&apos;t have a good suggestion right now though.

How about &quot;stepUpForUI&quot;? I also have no good idea.

&gt; SpinUpState doesn&apos;t have any different visual effect right now, right? 

Right.

&gt; What will it do in the future?

I had had no idea.  But I recently know the existence of HITheme API.  Appearance.h has khemeStatePressedUp and kThemeStatePressedDown.
I&apos;ll try to replace NSStepperCell with HITheme API after this patch is landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219401</commentid>
    <comment_count>5</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-04-30 01:49:33 -0700</bug_when>
    <thetext>Landed as r58564.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49908</attachid>
            <date>2010-03-03 07:48:09 -0800</date>
            <delta_ts>2010-04-30 01:49:46 -0700</delta_ts>
            <desc>Proposed patch (EWS failure expected)</desc>
            <filename>bug-35686-20100304004807.patch</filename>
            <type>text/plain</type>
            <size>19829</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkYWU0NjA4Li41NTBiOTBmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMDMt
MDQgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBpbnRlcmFjdGl2ZSBiZWhh
dmlvciBvZiBzcGluIGJ1dHRvbnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yNzk2OAorCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvZm9ybXMv
aW5wdXQtbnVtYmVyLWNsaWNrLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vbWFjL2Zhc3QvZm9ybXMvaW5wdXQtbnVtYmVyLWNsaWNrLmh0bWw6IEFkZGVkLgorCiAyMDEw
LTAzLTAzICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBBZGVsZSBQZXRlcnNvbi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L2Zvcm1zL2lucHV0LW51bWJlci1jbGljay1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mb3Jtcy9pbnB1dC1udW1iZXItY2xpY2stZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE2OTI5NGQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mb3Jtcy9pbnB1dC1udW1i
ZXItY2xpY2stZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTQgQEAKKworVGVzdCBmb3IgdGhlIHNw
aW4gY29udHJvbCBiZWhhdmlvciBpbiBhIHR5cGU9bnVtbmJlciBpbnB1dC4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgaS52YWx1ZSBpcyAiNC4xNCIKK1BBU1MgaS52YWx1
ZSBpcyAiNC4xNCIKK1BBU1MgaS52YWx1ZSBpcyAiMC4xNCIKK1BBU1MgaS52YWx1ZSBpcyAiMC4x
NCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mb3Jtcy9pbnB1dC1udW1i
ZXItY2xpY2suaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Zvcm1zL2lucHV0
LW51bWJlci1jbGljay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdh
MDE1OTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9m
b3Jtcy9pbnB1dC1udW1iZXItY2xpY2suaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisKKzxpbnB1
dCBpZD1pMSB0eXBlPW51bWJlciB2YWx1ZT0iMy4xNCIgYXV0b2ZvY3VzIHN0ZXA9MSBtaW49IjAu
MTQiIG1heD01PgorCis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IGZvciB0aGUgc3BpbiBjb250cm9s
IGJlaGF2aW9yIGluIGEgdHlwZT1udW1uYmVyIGlucHV0LicpOworCitpZiAod2luZG93LmV2ZW50
U2VuZGVyKSB7CisgICAgLy8gVGhlIHNwaW4gY29udHJvbCBpcyBhdCAoMTMwLC0xKSBpbiB0aGUg
aW5wdXQgZWxlbWVudCBvbiBNYWMuCisgICAgLy8gVGhlIHNpemUgaXMgMTV4MjIuCisgICAgdmFy
IGkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaTEnKTsKKyAgICBldmVudFNlbmRlci5tb3Vz
ZU1vdmVUbyhpLm9mZnNldExlZnQgKyAxMzUsIGkub2Zmc2V0VG9wICsgNCk7CisgICAgZXZlbnRT
ZW5kZXIubW91c2VEb3duKCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOworICAgIC8vIFRo
ZSB1cCBidXR0b24gaGFzIGJlZW4gY2xpY2tlZC4KKyAgICBzaG91bGRCZSgnaS52YWx1ZScsICci
NC4xNCInKTsKKworICAgIC8vIENsaWNrIGl0IGFnYWluLgorICAgIGV2ZW50U2VuZGVyLm1vdXNl
RG93bigpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKyAgICAvLyBUaGUgbWF4aW11bSB2
YWx1ZSBpcyA1LiAgU28gdGhlIHZhbHVlIGlzIG5vdCBjaGFuZ2VkLgorICAgIHNob3VsZEJlKCdp
LnZhbHVlJywgJyI0LjE0IicpOworCisgICAgLy8gQ2xpY2sgdGhlIGRvd24gYnV0dG9uIGZvciB0
aW1lcy4KKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhpLm9mZnNldExlZnQgKyAxMzUsIGku
b2Zmc2V0VG9wICsgMTUpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOworICAgIGV2ZW50
U2VuZGVyLm1vdXNlVXAoKTsKKyAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICBldmVu
dFNlbmRlci5tb3VzZVVwKCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CisgICAgZXZl
bnRTZW5kZXIubW91c2VVcCgpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOworICAgIGV2
ZW50U2VuZGVyLm1vdXNlVXAoKTsKKyAgICBzaG91bGRCZSgnaS52YWx1ZScsICciMC4xNCInKTsK
KworICAgIC8vIFRoZSBtaW5pbXVtIHZhbHVlIGlzIDAuICBTbyB0aGUgdmFsdWUgaXMgbm90IGNo
YW5nZWQuCisgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CisgICAgZXZlbnRTZW5kZXIubW91
c2VVcCgpOworICAgIHNob3VsZEJlKCdpLnZhbHVlJywgJyIwLjE0IicpOworfSBlbHNlIHsKKyAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKS5pbm5lckhUTUwgPSAnTm8gZXZlbnRT
ZW5kZXInOworfQorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGQxODE1NTEuLjZiNjExZDEgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
NTMgQEAKKzIwMTAtMDMtMDQgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBp
bnRlcmFjdGl2ZSBiZWhhdmlvciBvZiBzcGluIGJ1dHRvbnMuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzk2OAorCisgICAgICAgIEludHJvZHVjZSBT
cGluQnV0dG9uRWxlbWVudC4gSXQgaXMgYSBzaGFkb3cgZWxlbWVudCBjbGFzcyBmb3IKKyAgICAg
ICAgc3BpbiBidXR0b25zLiBJZiB0aGUgdXBwZXIgc2lkZSBvZiB0aGUgZWxlbWVudCBpcyBjbGlj
a2VkLCBjYWxscworICAgICAgICBIVE1MSW5wdXRFbGVtZW50OjpzdGVwVXBGcm9tUmVuZGVyZXIo
MSkuIElmIHRoZSBsb3dlciBidXR0b24gaXMKKyAgICAgICAgY2xpY2tlZCwgY2FsbHMgSFRNTElu
cHV0RWxlbWVudDo6c3RlcFVwRnJvbVJlbmRlcmVyKC0xKS4KKworICAgICAgICBTcGluQnV0dG9u
RWxlbWVudCB0cmFja3MgdGhlIG1vdXNlIHBvaW50ZXIgcG9zaXRpb24sIGFuZAorICAgICAgICBS
ZW5kZXJUaGVtZSBzZXRzIENvbnRyb2xTdGF0ZXM6OlNwaW5VcFN0YXRlIGlmIHRoZSBwb2ludGVy
IGlzIG9uCisgICAgICAgIHRoZSB1cHBlciBzaWRlLgorCisgICAgICAgIFRlc3Q6IHBsYXRmb3Jt
L21hYy9mYXN0L2Zvcm1zL2lucHV0LW51bWJlci1jbGljay5odG1sCisKKyAgICAgICAgKiBkb20v
RWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aXNTcGluQnV0dG9uRWxlbWVu
dCk6CisgICAgICAgICogZWRpdGluZy9WaXNpYmxlU2VsZWN0aW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlZpc2libGVTZWxlY3Rpb246OmFkanVzdFNlbGVjdGlvblRvQXZvaWRDcm9zc2luZ0Vk
aXRpbmdCb3VuZGFyaWVzKToKKyAgICAgICAgIFJlbW92ZSBhbiBhc3NlcnRpb24uIGxhc3RFZGl0
YWJsZVBvc2l0aW9uQmVmb3JlUG9zaXRpb25JblJvb3QoKSBjYW4KKyAgICAgICAgIHJldHVybiBu
dWxsIGluIGEgY2FzZSB0aGF0IG1fZW5kIGlzIGF0IGEgc2hhZG93IGVsZW1lbnQgKGEgc3BpbiBi
dXR0b24pCisgICAgICAgICBhbmQgYmFzZVJvb3QgaXMgYW5vdGhlciBzaGFkb3cgZWxlbWVudCAo
aW5uZXIgdGV4dCBibG9jaykgaW4gdGhlIHNhbWUKKyAgICAgICAgIG5vZGUgKGFuIElOUFVUIGVs
ZW1lbnQpLgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpzdGVwVXBGcm9tUmVuZGVyZXIpOgorICAgICAgICAq
IGh0bWwvSFRNTElucHV0RWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxl
bWVudDo6aGFzU3BpbkJ1dHRvbik6CisgICAgICAgICBBZGQgdHlwZXMgc3VwcG9ydGluZyBzdGVw
IGF0dHJpYnV0ZSBleGNlcHQgUkFOR0UuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHRD
b250cm9sU2luZ2xlTGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJv
bFNpbmdsZUxpbmU6Om5vZGVBdFBvaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHRD
b250cm9sU2luZ2xlTGluZTo6Zm9yd2FyZEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRleHRDb250cm9sU2luZ2xlTGluZTo6cHJlZmVycmVkQ29udGVudFdpZHRoKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6Y3JlYXRlU3VidHJlZUlmTmVl
ZGVkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmg6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lOjpjb250cm9sU3RhdGVzRm9yUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGhlbWU6OmlzU3BpblVwQnV0dG9uUGFydFByZXNzZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWU6OmlzU3BpblVwQnV0dG9uUGFydEhvdmVyZWQpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJUaGVtZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9UZXh0Q29udHJv
bElubmVyRWxlbWVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3BpbkJ1dHRvbkVsZW1lbnQ6
OlNwaW5CdXR0b25FbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNwaW5CdXR0b25FbGVtZW50
OjpkZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvVGV4dENvbnRyb2xJ
bm5lckVsZW1lbnRzLmg6CisgICAgICAgIChXZWJDb3JlOjpTcGluQnV0dG9uRWxlbWVudDo6aXNT
cGluQnV0dG9uRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTcGluQnV0dG9uRWxlbWVudDo6
aXNFbmFibGVkRm9ybUNvbnRyb2wpOgorICAgICAgICAoV2ViQ29yZTo6U3BpbkJ1dHRvbkVsZW1l
bnQ6Om9uVXBCdXR0b24pOgorCiAyMDEwLTAzLTAzICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGVsZSBQZXRlcnNvbi4KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvY3NzL2h0bWwuY3NzIGIvV2ViQ29yZS9jc3MvaHRtbC5jc3MKaW5kZXggOWQ5
MjI1Yy4uNDE4YTRlMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvaHRtbC5jc3MKKysrIGIvV2Vi
Q29yZS9jc3MvaHRtbC5jc3MKQEAgLTM2MiwxMiArMzYyLDE0IEBAIGlucHV0Ojotd2Via2l0LWlu
cHV0LWxpc3QtYnV0dG9uIHsKIGlucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHsKICAg
ICAtd2Via2l0LWFwcGVhcmFuY2U6IGlubmVyLXNwaW4tYnV0dG9uOwogICAgIGRpc3BsYXk6IGlu
bGluZS1ibG9jazsKKyAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogfQogCiBpbnB1dDo6
LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7CiAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBvdXRl
ci1zcGluLWJ1dHRvbjsKICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgbWFyZ2luLWxl
ZnQ6IDJweDsKKyAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogfQogCiB0ZXh0YXJlYSB7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9XZWJDb3JlL2RvbS9FbGVtZW50
LmgKaW5kZXggMzQ4ZWQxYy4uZDBkMzAxMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRWxlbWVu
dC5oCisrKyBiL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtMjUyLDYgKzI1Miw3IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIGJvb2wgaXNGb3JtQ29udHJvbEVsZW1lbnQoKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0VuYWJsZWRGb3JtQ29udHJvbCgpIGNvbnN0
IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNSZWFkT25seUZvcm1Db250cm9s
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNTcGluQnV0dG9u
RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzVGV4
dEZvcm1Db250cm9sKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wg
aXNPcHRpb25hbEZvcm1Db250cm9sKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0
dWFsIGJvb2wgaXNSZXF1aXJlZEZvcm1Db250cm9sKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlU2VsZWN0aW9uLmNwcCBiL1dlYkNv
cmUvZWRpdGluZy9WaXNpYmxlU2VsZWN0aW9uLmNwcAppbmRleCBiYWVmMmI1Li44Yjg2OTczIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5jcHAKKysrIGIvV2Vi
Q29yZS9lZGl0aW5nL1Zpc2libGVTZWxlY3Rpb24uY3BwCkBAIC00ODksMTAgKzQ4OSw4IEBAIHZv
aWQgVmlzaWJsZVNlbGVjdGlvbjo6YWRqdXN0U2VsZWN0aW9uVG9Bdm9pZENyb3NzaW5nRWRpdGlu
Z0JvdW5kYXJpZXMoKQogICAgICAgICBpZiAoZW5kUm9vdCAhPSBiYXNlUm9vdCkgewogICAgICAg
ICAgICAgVmlzaWJsZVBvc2l0aW9uIGxhc3QgPSBsYXN0RWRpdGFibGVQb3NpdGlvbkJlZm9yZVBv
c2l0aW9uSW5Sb290KG1fZW5kLCBiYXNlUm9vdCk7CiAgICAgICAgICAgICBtX2VuZCA9IGxhc3Qu
ZGVlcEVxdWl2YWxlbnQoKTsKLSAgICAgICAgICAgIGlmIChtX2VuZC5pc051bGwoKSkgewotICAg
ICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgaWYgKG1fZW5k
LmlzTnVsbCgpKQogICAgICAgICAgICAgICAgIG1fZW5kID0gbV9zdGFydDsKLSAgICAgICAgICAg
IH0KICAgICAgICAgfQogICAgIC8vIFRoZSBzZWxlY3Rpb24gaXMgYmFzZWQgaW4gbm9uLWVkaXRh
YmxlIGNvbnRlbnQuCiAgICAgfSBlbHNlIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAppbmRl
eCA1YjkxMjNkLi5kN2EyOGUwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxl
bWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBAIC0yNzQz
LDQgKzI3NDMsMjggQEAgSFRNTE9wdGlvbkVsZW1lbnQqIEhUTUxJbnB1dEVsZW1lbnQ6OnNlbGVj
dGVkT3B0aW9uKCkgY29uc3QKIH0KICNlbmRpZiAgLy8gRU5BQkxFKERBVEFMSVNUKQogCit2b2lk
IEhUTUxJbnB1dEVsZW1lbnQ6OnN0ZXBVcEZyb21SZW5kZXJlcihpbnQgbikKK3sKKyAgICAvLyBU
aGUgZGlmZmVyZW5jZSBmcm9tIHN0ZXBVcCgpL3N0ZXBEb3duKCkgaXM6CisgICAgLy8gSWYgdGhl
IGN1cnJlbnQgdmFsdWUgaXMgaW52YWxpZCwgdGhlIHZhbHVlIHdpbGwgYmUKKyAgICAvLyAgLSB0
aGUgbWluaW11bSB2YWx1ZSBpZiBuID4gMAorICAgIC8vICAtIHRoZSBtYXhpbXVtIHZhbHVlIGlm
IG4gPCAwCisKKyAgICBBU1NFUlQoaGFzU3BpbkJ1dHRvbigpKTsKKyAgICBpZiAoIWhhc1NwaW5C
dXR0b24oKSkKKyAgICAgICAgcmV0dXJuOworICAgIEFTU0VSVChuKTsKKyAgICBpZiAoIW4pCisg
ICAgICAgIHJldHVybjsKKworICAgIGNvbnN0IGRvdWJsZSBuYW4gPSBudW1lcmljX2xpbWl0czxk
b3VibGU+OjpxdWlldF9OYU4oKTsKKyAgICBkb3VibGUgY3VycmVudCA9IHBhcnNlVG9Eb3VibGUo
dmFsdWUoKSwgbmFuKTsKKyAgICBpZiAoIWlzZmluaXRlKGN1cnJlbnQpKSB7CisgICAgICAgIHNl
dFZhbHVlKHNlcmlhbGl6ZShuID4gMCA/IG1pbmltdW0oKSA6IG1heGltdW0oKSkpOworICAgICAg
ICByZXR1cm47CisgICAgfQorICAgIEV4Y2VwdGlvbkNvZGUgZWM7CisgICAgc3RlcFVwKG4sIGVj
KTsKK30KKwogfSAvLyBuYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmggYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCmluZGV4IDE4YTI1
YjkuLjU2NzdjYTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgK
KysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaApAQCAtMTIxLDYgKzEyMSw4IEBA
IHB1YmxpYzoKICAgICB2b2lkIHN0ZXBEb3duKGludCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZv
aWQgc3RlcFVwKEV4Y2VwdGlvbkNvZGUmIGVjKSB7IHN0ZXBVcCgxLCBlYyk7IH0KICAgICB2b2lk
IHN0ZXBEb3duKEV4Y2VwdGlvbkNvZGUmIGVjKSB7IHN0ZXBEb3duKDEsIGVjKTsgfQorICAgIC8v
IHN0ZXBVcCgpL3N0ZXBEb3duKCkgZm9yIHVzZXItaW50ZXJhY3Rpb24uCisgICAgdm9pZCBzdGVw
VXBGcm9tUmVuZGVyZXIoaW50KTsKIAogICAgIGJvb2wgaXNUZXh0QnV0dG9uKCkgY29uc3QgeyBy
ZXR1cm4gbV90eXBlID09IFNVQk1JVCB8fCBtX3R5cGUgPT0gUkVTRVQgfHwgbV90eXBlID09IEJV
VFRPTjsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1JhZGlvQnV0dG9uKCkgY29uc3QgeyByZXR1cm4g
bV90eXBlID09IFJBRElPOyB9CkBAIC0xMjgsNyArMTMwLDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgYm9vbCBpc1NlYXJjaEZpZWxkKCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09IFNFQVJDSDsg
fQogICAgIHZpcnR1YWwgYm9vbCBpc0lucHV0VHlwZUhpZGRlbigpIGNvbnN0IHsgcmV0dXJuIG1f
dHlwZSA9PSBISURERU47IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNQYXNzd29yZEZpZWxkKCkgY29u
c3QgeyByZXR1cm4gbV90eXBlID09IFBBU1NXT1JEOyB9Ci0gICAgdmlydHVhbCBib29sIGhhc1Nw
aW5CdXR0b24oKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gTlVNQkVSOyB9CisgICAgdmlydHVh
bCBib29sIGhhc1NwaW5CdXR0b24oKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gTlVNQkVSIHx8
IG1fdHlwZSA9PSBEQVRFIHx8IG1fdHlwZSA9PSBEQVRFVElNRSB8fCBtX3R5cGUgPT0gREFURVRJ
TUVMT0NBTCB8fCBtX3R5cGUgPT0gTU9OVEggfHwgbV90eXBlID09IFRJTUUgfHwgbV90eXBlID09
IFdFRUs7IH0KIAogICAgIGJvb2wgY2hlY2tlZCgpIGNvbnN0IHsgcmV0dXJuIG1fY2hlY2tlZDsg
fQogICAgIHZvaWQgc2V0Q2hlY2tlZChib29sLCBib29sIHNlbmRDaGFuZ2VFdmVudCA9IGZhbHNl
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xl
TGluZS5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUu
Y3BwCmluZGV4IDZiMmVjY2MuLmRhZTJhN2MgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcApAQCAtMjgxLDggKzI4MSwxMSBAQCBib29s
IFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6bm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJl
cXVlc3QmIHJlcXVlc3QsIEhpdAogICAgIGlmIChyZXN1bHQuaW5uZXJOb2RlKCktPmlzRGVzY2Vu
ZGFudE9mKGlubmVyVGV4dEVsZW1lbnQoKSkgfHwgcmVzdWx0LmlubmVyTm9kZSgpID09IG5vZGUo
KSkKICAgICAgICAgaGl0SW5uZXJUZXh0RWxlbWVudChyZXN1bHQsIHhQb3MsIHlQb3MsIHR4LCB0
eSk7CiAKLSAgICAvLyBJZiB3ZSdyZSBub3QgYSBzZWFyY2ggZmllbGQsIG9yIHdlIGFscmVhZHkg
Zm91bmQgdGhlIHJlc3VsdHMgb3IgY2FuY2VsIGJ1dHRvbnMsIHdlJ3JlIGRvbmUuCi0gICAgaWYg
KCFtX2lubmVyQmxvY2sgfHwgcmVzdWx0LmlubmVyTm9kZSgpID09IG1fcmVzdWx0c0J1dHRvbiB8
fCByZXN1bHQuaW5uZXJOb2RlKCkgPT0gbV9jYW5jZWxCdXR0b24pCisgICAgLy8gSWYgdGhpcyBo
YXMgbm8gZGVjb3JhdGlvbnMsIHdlJ3JlIGRvbmUuCisgICAgaWYgKCFtX2lubmVyQmxvY2sgfHwg
IW1fb3V0ZXJTcGluQnV0dG9uKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAvLyBJZiB3ZSBh
bHJlYWR5IGZvdW5kIGEgZGVjb3JhdGlvbiwgd2UncmUgZG9uZS4KKyAgICBpZiAocmVzdWx0Lmlu
bmVyTm9kZSgpID09IG1fcmVzdWx0c0J1dHRvbiB8fCByZXN1bHQuaW5uZXJOb2RlKCkgPT0gbV9j
YW5jZWxCdXR0b24gfHwgcmVzdWx0LmlubmVyTm9kZSgpID09IG1fb3V0ZXJTcGluQnV0dG9uKQog
ICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIE5vZGUqIGlubmVyTm9kZSA9IDA7CkBAIC0zMzEs
MTAgKzMzNCwxMyBAQCB2b2lkIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6Zm9yd2FyZEV2
ZW50KEV2ZW50KiBldmVudCkKICAgICB9CiAKICAgICBGbG9hdFBvaW50IGxvY2FsUG9pbnQgPSBp
bm5lclRleHRSZW5kZXJlci0+YWJzb2x1dGVUb0xvY2FsKHN0YXRpY19jYXN0PE1vdXNlRXZlbnQq
PihldmVudCktPmFic29sdXRlTG9jYXRpb24oKSwgZmFsc2UsIHRydWUpOworICAgIGludCB0ZXh0
UmlnaHQgPSBpbm5lclRleHRSZW5kZXJlci0+Ym9yZGVyQm94UmVjdCgpLnJpZ2h0KCk7CiAgICAg
aWYgKG1fcmVzdWx0c0J1dHRvbiAmJiBsb2NhbFBvaW50LngoKSA8IGlubmVyVGV4dFJlbmRlcmVy
LT5ib3JkZXJCb3hSZWN0KCkueCgpKQogICAgICAgICBtX3Jlc3VsdHNCdXR0b24tPmRlZmF1bHRF
dmVudEhhbmRsZXIoZXZlbnQpOwotICAgIGVsc2UgaWYgKG1fY2FuY2VsQnV0dG9uICYmIGxvY2Fs
UG9pbnQueCgpID4gaW5uZXJUZXh0UmVuZGVyZXItPmJvcmRlckJveFJlY3QoKS5yaWdodCgpKQor
ICAgIGVsc2UgaWYgKG1fY2FuY2VsQnV0dG9uICYmIGxvY2FsUG9pbnQueCgpID4gdGV4dFJpZ2h0
ICYmIGxvY2FsUG9pbnQueCgpIDwgdGV4dFJpZ2h0ICsgbV9jYW5jZWxCdXR0b24tPnJlbmRlckJv
eCgpLT53aWR0aCgpKQogICAgICAgICBtX2NhbmNlbEJ1dHRvbi0+ZGVmYXVsdEV2ZW50SGFuZGxl
cihldmVudCk7CisgICAgZWxzZSBpZiAobV9vdXRlclNwaW5CdXR0b24gJiYgbG9jYWxQb2ludC54
KCkgPiB0ZXh0UmlnaHQpCisgICAgICAgIG1fb3V0ZXJTcGluQnV0dG9uLT5kZWZhdWx0RXZlbnRI
YW5kbGVyKGV2ZW50KTsKICAgICBlbHNlCiAgICAgICAgIFJlbmRlclRleHRDb250cm9sOjpmb3J3
YXJkRXZlbnQoZXZlbnQpOwogfQpAQCAtNDU5LDcgKzQ2NSw3IEBAIGludCBSZW5kZXJUZXh0Q29u
dHJvbFNpbmdsZUxpbmU6OnByZWZlcnJlZENvbnRlbnRXaWR0aChmbG9hdCBjaGFyV2lkdGgpIGNv
bnN0CiAgICAgICAgIHJlc3VsdCArPSBjYW5jZWxSZW5kZXJlci0+Ym9yZGVyTGVmdCgpICsgY2Fu
Y2VsUmVuZGVyZXItPmJvcmRlclJpZ2h0KCkgKwogICAgICAgICAgICAgICAgICAgY2FuY2VsUmVu
ZGVyZXItPnBhZGRpbmdMZWZ0KCkgKyBjYW5jZWxSZW5kZXJlci0+cGFkZGluZ1JpZ2h0KCk7CiAK
LSAgICByZXR1cm4gcmVzdWx0OworICAgIHJldHVybiByZXN1bHQgKyBwcmVmZXJyZWREZWNvcmF0
aW9uV2lkdGhSaWdodCgpOwogfQogCiBpbnQgUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpw
cmVmZXJyZWREZWNvcmF0aW9uV2lkdGhSaWdodCgpIGNvbnN0CkBAIC01MDIsOCArNTA4LDcgQEAg
dm9pZCBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OmNyZWF0ZVN1YnRyZWVJZk5lZWRlZCgp
CiAgICAgaWYgKCFpbnB1dEVsZW1lbnQoKS0+aXNTZWFyY2hGaWVsZCgpKSB7CiAgICAgICAgIFJl
bmRlclRleHRDb250cm9sOjpjcmVhdGVTdWJ0cmVlSWZOZWVkZWQobV9pbm5lckJsb2NrLmdldCgp
KTsKICAgICAgICAgaWYgKGlucHV0RWxlbWVudCgpLT5oYXNTcGluQnV0dG9uKCkgJiYgIW1fb3V0
ZXJTcGluQnV0dG9uKSB7Ci0gICAgICAgICAgICAvLyBGSVhNRTogSW50cm9kdWNlIGEgZGVkaWNh
dGVkIGVsZW1lbnQgZm9yIHNwaW4gYnV0dG9ucy4KLSAgICAgICAgICAgIG1fb3V0ZXJTcGluQnV0
dG9uID0gbmV3IFRleHRDb250cm9sSW5uZXJFbGVtZW50KGRvY3VtZW50KCksIG5vZGUoKSk7Cisg
ICAgICAgICAgICBtX291dGVyU3BpbkJ1dHRvbiA9IG5ldyBTcGluQnV0dG9uRWxlbWVudChkb2N1
bWVudCgpLCBub2RlKCkpOwogICAgICAgICAgICAgbV9vdXRlclNwaW5CdXR0b24tPmF0dGFjaElu
bmVyRWxlbWVudChub2RlKCksIGNyZWF0ZU91dGVyU3BpbkJ1dHRvblN0eWxlKCksIHJlbmRlckFy
ZW5hKCkpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oIGIvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmgKaW5kZXggN2UxODRjNy4uMzYwYTQ0MCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5l
LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmgK
QEAgLTMyLDYgKzMyLDcgQEAgY2xhc3MgSW5wdXRFbGVtZW50OwogY2xhc3MgU2VhcmNoRmllbGRD
YW5jZWxCdXR0b25FbGVtZW50OwogY2xhc3MgU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uRWxlbWVu
dDsKIGNsYXNzIFNlYXJjaFBvcHVwTWVudTsKK2NsYXNzIFNwaW5CdXR0b25FbGVtZW50OwogY2xh
c3MgVGV4dENvbnRyb2xJbm5lckVsZW1lbnQ7CiAKIGNsYXNzIFJlbmRlclRleHRDb250cm9sU2lu
Z2xlTGluZSA6IHB1YmxpYyBSZW5kZXJUZXh0Q29udHJvbCwgcHJpdmF0ZSBQb3B1cE1lbnVDbGll
bnQgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCmluZGV4IDk4NGExNzYuLmM1MGRhYmUgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAorKysgYi9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJS
ZW5kZXJWaWV3LmgiCiAjaW5jbHVkZSAiU2VsZWN0aW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUg
IlNldHRpbmdzLmgiCisjaW5jbHVkZSAiVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmgiCiAKIC8v
IFRoZSBtZXRob2RzIGluIHRoaXMgZmlsZSBhcmUgc2hhcmVkIGJ5IGFsbCB0aGVtZXMgb24gZXZl
cnkgcGxhdGZvcm0uCiAKQEAgLTY0MiwxMCArNjQzLDE2IEBAIGJvb2wgUmVuZGVyVGhlbWU6OnN0
YXRlQ2hhbmdlZChSZW5kZXJPYmplY3QqIG8sIENvbnRyb2xTdGF0ZSBzdGF0ZSkgY29uc3QKIENv
bnRyb2xTdGF0ZXMgUmVuZGVyVGhlbWU6OmNvbnRyb2xTdGF0ZXNGb3JSZW5kZXJlcihjb25zdCBS
ZW5kZXJPYmplY3QqIG8pIGNvbnN0CiB7CiAgICAgQ29udHJvbFN0YXRlcyByZXN1bHQgPSAwOwot
ICAgIGlmIChpc0hvdmVyZWQobykpCisgICAgaWYgKGlzSG92ZXJlZChvKSkgewogICAgICAgICBy
ZXN1bHQgfD0gSG92ZXJTdGF0ZTsKLSAgICBpZiAoaXNQcmVzc2VkKG8pKQorICAgICAgICBpZiAo
aXNTcGluVXBCdXR0b25QYXJ0SG92ZXJlZChvKSkKKyAgICAgICAgICAgIHJlc3VsdCB8PSBTcGlu
VXBTdGF0ZTsKKyAgICB9CisgICAgaWYgKGlzUHJlc3NlZChvKSkgewogICAgICAgICByZXN1bHQg
fD0gUHJlc3NlZFN0YXRlOworICAgICAgICBpZiAoaXNTcGluVXBCdXR0b25QYXJ0UHJlc3NlZChv
KSkKKyAgICAgICAgICAgIHJlc3VsdCB8PSBTcGluVXBTdGF0ZTsKKyAgICB9CiAgICAgaWYgKGlz
Rm9jdXNlZChvKSAmJiBvLT5zdHlsZSgpLT5vdXRsaW5lU3R5bGVJc0F1dG8oKSkKICAgICAgICAg
cmVzdWx0IHw9IEZvY3VzU3RhdGU7CiAgICAgaWYgKGlzRW5hYmxlZChvKSkKQEAgLTcyOSw2ICs3
MzYsMTYgQEAgYm9vbCBSZW5kZXJUaGVtZTo6aXNQcmVzc2VkKGNvbnN0IFJlbmRlck9iamVjdCog
bykgY29uc3QKICAgICByZXR1cm4gby0+bm9kZSgpLT5hY3RpdmUoKTsKIH0KIAorYm9vbCBSZW5k
ZXJUaGVtZTo6aXNTcGluVXBCdXR0b25QYXJ0UHJlc3NlZChjb25zdCBSZW5kZXJPYmplY3QqIG8p
IGNvbnN0Cit7CisgICAgTm9kZSogbm9kZSA9IG8tPm5vZGUoKTsKKyAgICBpZiAoIW5vZGUgfHwg
IW5vZGUtPmFjdGl2ZSgpIHx8ICFub2RlLT5pc0VsZW1lbnROb2RlKCkKKyAgICAgICAgfHwgIXN0
YXRpY19jYXN0PEVsZW1lbnQqPihub2RlKS0+aXNTcGluQnV0dG9uRWxlbWVudCgpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgU3BpbkJ1dHRvbkVsZW1lbnQqIGVsZW1lbnQgPSBzdGF0aWNf
Y2FzdDxTcGluQnV0dG9uRWxlbWVudCo+KG5vZGUpOworICAgIHJldHVybiBlbGVtZW50LT5vblVw
QnV0dG9uKCk7Cit9CisKIGJvb2wgUmVuZGVyVGhlbWU6OmlzUmVhZE9ubHlDb250cm9sKGNvbnN0
IFJlbmRlck9iamVjdCogbykgY29uc3QKIHsKICAgICBOb2RlKiBub2RlID0gby0+bm9kZSgpOwpA
QCAtNzQ0LDYgKzc2MSwxNiBAQCBib29sIFJlbmRlclRoZW1lOjppc0hvdmVyZWQoY29uc3QgUmVu
ZGVyT2JqZWN0KiBvKSBjb25zdAogICAgIHJldHVybiBvLT5ub2RlKCktPmhvdmVyZWQoKTsKIH0K
IAorYm9vbCBSZW5kZXJUaGVtZTo6aXNTcGluVXBCdXR0b25QYXJ0SG92ZXJlZChjb25zdCBSZW5k
ZXJPYmplY3QqIG8pIGNvbnN0Cit7CisgICAgTm9kZSogbm9kZSA9IG8tPm5vZGUoKTsKKyAgICBp
ZiAoIW5vZGUgfHwgIW5vZGUtPmFjdGl2ZSgpIHx8ICFub2RlLT5pc0VsZW1lbnROb2RlKCkKKyAg
ICAgICAgfHwgIXN0YXRpY19jYXN0PEVsZW1lbnQqPihub2RlKS0+aXNTcGluQnV0dG9uRWxlbWVu
dCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgU3BpbkJ1dHRvbkVsZW1lbnQqIGVsZW1l
bnQgPSBzdGF0aWNfY2FzdDxTcGluQnV0dG9uRWxlbWVudCo+KG5vZGUpOworICAgIHJldHVybiBl
bGVtZW50LT5vblVwQnV0dG9uKCk7Cit9CisKIGJvb2wgUmVuZGVyVGhlbWU6OmlzRGVmYXVsdChj
b25zdCBSZW5kZXJPYmplY3QqIG8pIGNvbnN0CiB7CiAgICAgLy8gQSBidXR0b24gc2hvdWxkIG9u
bHkgaGF2ZSB0aGUgZGVmYXVsdCBhcHBlYXJhbmNlIGlmIHRoZSBwYWdlIGlzIGFjdGl2ZQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaCBiL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lLmgKaW5kZXggMGE3ZWE5Ny4uZjQyOWIxNyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZS5oCkBAIC0yNzQsNyArMjc0LDkgQEAgcHVibGljOgogICAgIGJvb2wgaXNFbmFibGVk
KGNvbnN0IFJlbmRlck9iamVjdCopIGNvbnN0OwogICAgIGJvb2wgaXNGb2N1c2VkKGNvbnN0IFJl
bmRlck9iamVjdCopIGNvbnN0OwogICAgIGJvb2wgaXNQcmVzc2VkKGNvbnN0IFJlbmRlck9iamVj
dCopIGNvbnN0OworICAgIGJvb2wgaXNTcGluVXBCdXR0b25QYXJ0UHJlc3NlZChjb25zdCBSZW5k
ZXJPYmplY3QqKSBjb25zdDsKICAgICBib29sIGlzSG92ZXJlZChjb25zdCBSZW5kZXJPYmplY3Qq
KSBjb25zdDsKKyAgICBib29sIGlzU3BpblVwQnV0dG9uUGFydEhvdmVyZWQoY29uc3QgUmVuZGVy
T2JqZWN0KikgY29uc3Q7CiAgICAgYm9vbCBpc1JlYWRPbmx5Q29udHJvbChjb25zdCBSZW5kZXJP
YmplY3QqKSBjb25zdDsKICAgICBib29sIGlzRGVmYXVsdChjb25zdCBSZW5kZXJPYmplY3QqKSBj
b25zdDsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dENvbnRyb2xJbm5lckVs
ZW1lbnRzLmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5j
cHAKaW5kZXggNGNkNTVjNS4uNDNlNDg4NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcv
VGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9UZXh0
Q29udHJvbElubmVyRWxlbWVudHMuY3BwCkBAIC0yMTEsNCArMjExLDYyIEBAIHZvaWQgU2VhcmNo
RmllbGRDYW5jZWxCdXR0b25FbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldnQp
CiAgICAgICAgIEhUTUxEaXZFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKGV2dCk7CiB9CiAK
K1NwaW5CdXR0b25FbGVtZW50OjpTcGluQnV0dG9uRWxlbWVudChEb2N1bWVudCogZG9jLCBOb2Rl
KiBzaGFkb3dQYXJlbnQpCisgICAgOiBUZXh0Q29udHJvbElubmVyRWxlbWVudChkb2MsIHNoYWRv
d1BhcmVudCkKKyAgICAsIG1fY2FwdHVyaW5nKGZhbHNlKQorICAgICwgbV9vblVwQnV0dG9uKGZh
bHNlKQoreworfQorCit2b2lkIFNwaW5CdXR0b25FbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVy
KEV2ZW50KiBldnQpCit7CisgICAgaWYgKCFldnQtPmlzTW91c2VFdmVudCgpKSB7CisgICAgICAg
IGlmICghZXZ0LT5kZWZhdWx0SGFuZGxlZCgpKQorICAgICAgICAgICAgSFRNTERpdkVsZW1lbnQ6
OmRlZmF1bHRFdmVudEhhbmRsZXIoZXZ0KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBj
b25zdCBNb3VzZUV2ZW50KiBtZXZ0ID0gc3RhdGljX2Nhc3Q8TW91c2VFdmVudCo+KGV2dCk7Cisg
ICAgaWYgKG1ldnQtPmJ1dHRvbigpICE9IExlZnRCdXR0b24pIHsKKyAgICAgICAgaWYgKCFldnQt
PmRlZmF1bHRIYW5kbGVkKCkpCisgICAgICAgICAgICBIVE1MRGl2RWxlbWVudDo6ZGVmYXVsdEV2
ZW50SGFuZGxlcihldnQpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgSFRNTElucHV0
RWxlbWVudCogaW5wdXQgPSBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4oc2hhZG93QW5j
ZXN0b3JOb2RlKCkpOworICAgIEludFBvaW50IGxvY2FsID0gcm91bmRlZEludFBvaW50KHJlbmRl
ckJveCgpLT5hYnNvbHV0ZVRvTG9jYWwobWV2dC0+YWJzb2x1dGVMb2NhdGlvbigpLCBmYWxzZSwg
dHJ1ZSkpOworICAgIGlmIChldnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkuY2xpY2tFdmVudCkg
eworICAgICAgICBpZiAocmVuZGVyQm94KCktPmJvcmRlckJveFJlY3QoKS5jb250YWlucyhsb2Nh
bCkpIHsKKyAgICAgICAgICAgIGlucHV0LT5mb2N1cygpOworICAgICAgICAgICAgaW5wdXQtPnNl
bGVjdCgpOworICAgICAgICAgICAgaWYgKGxvY2FsLnkoKSA8IHJlbmRlckJveCgpLT55KCkgKyBy
ZW5kZXJCb3goKS0+aGVpZ2h0KCkgLyAyKQorICAgICAgICAgICAgICAgIGlucHV0LT5zdGVwVXBG
cm9tUmVuZGVyZXIoMSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgaW5wdXQt
PnN0ZXBVcEZyb21SZW5kZXJlcigtMSk7CisgICAgICAgICAgICBldnQtPnNldERlZmF1bHRIYW5k
bGVkKCk7CisgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKGV2dC0+dHlwZSgpID09IGV2ZW50TmFt
ZXMoKS5tb3VzZW1vdmVFdmVudCkgeworICAgICAgICBpZiAocmVuZGVyQm94KCktPmJvcmRlckJv
eFJlY3QoKS5jb250YWlucyhsb2NhbCkpIHsKKyAgICAgICAgICAgIGlmICghbV9jYXB0dXJpbmcp
IHsKKyAgICAgICAgICAgICAgICBpZiAoRnJhbWUqIGZyYW1lID0gZG9jdW1lbnQoKS0+ZnJhbWUo
KSkgeworICAgICAgICAgICAgICAgICAgICBmcmFtZS0+ZXZlbnRIYW5kbGVyKCktPnNldENhcHR1
cmluZ01vdXNlRXZlbnRzTm9kZShpbnB1dCk7CisgICAgICAgICAgICAgICAgICAgIG1fY2FwdHVy
aW5nID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAg
ICBib29sIG9sZE9uVXBCdXR0b24gPSBtX29uVXBCdXR0b247CisgICAgICAgICAgICBtX29uVXBC
dXR0b24gPSBsb2NhbC55KCkgPCByZW5kZXJCb3goKS0+eSgpICsgcmVuZGVyQm94KCktPmhlaWdo
dCgpIC8gMjsKKyAgICAgICAgICAgIGlmIChtX29uVXBCdXR0b24gIT0gb2xkT25VcEJ1dHRvbikK
KyAgICAgICAgICAgICAgICByZW5kZXJlcigpLT5yZXBhaW50KCk7CisgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICBpZiAobV9jYXB0dXJpbmcpIHsKKyAgICAgICAgICAgICAgICBpZiAoRnJh
bWUqIGZyYW1lID0gZG9jdW1lbnQoKS0+ZnJhbWUoKSkgeworICAgICAgICAgICAgICAgICAgICBm
cmFtZS0+ZXZlbnRIYW5kbGVyKCktPnNldENhcHR1cmluZ01vdXNlRXZlbnRzTm9kZSgwKTsKKyAg
ICAgICAgICAgICAgICAgICAgbV9jYXB0dXJpbmcgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisgICAgaWYgKCFldnQtPmRlZmF1bHRI
YW5kbGVkKCkpCisgICAgICAgIEhUTUxEaXZFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKGV2
dCk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRDb250cm9sSW5u
ZXJFbGVtZW50cy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRz
LmgKaW5kZXggZjcyZGRmMi4uZjU5YWM5NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcv
VGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dENv
bnRyb2xJbm5lckVsZW1lbnRzLmgKQEAgLTY4LDYgKzY4LDIxIEBAIHByaXZhdGU6CiAgICAgYm9v
bCBtX2NhcHR1cmluZzsKIH07CiAKK2NsYXNzIFNwaW5CdXR0b25FbGVtZW50IDogcHVibGljIFRl
eHRDb250cm9sSW5uZXJFbGVtZW50IHsKK3B1YmxpYzoKKyAgICBTcGluQnV0dG9uRWxlbWVudChE
b2N1bWVudCosIE5vZGUqKTsKKyAgICB2aXJ0dWFsIGJvb2wgaXNTcGluQnV0dG9uRWxlbWVudCgp
IGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNFbmFibGVkRm9ybUNv
bnRyb2woKSB7IHJldHVybiBzdGF0aWNfY2FzdDxFbGVtZW50Kj4oc2hhZG93QW5jZXN0b3JOb2Rl
KCkpLT5pc0VuYWJsZWRGb3JtQ29udHJvbCgpOyB9CisgICAgdmlydHVhbCB2b2lkIGRlZmF1bHRF
dmVudEhhbmRsZXIoRXZlbnQqKTsKKworICAgIGJvb2wgb25VcEJ1dHRvbigpIGNvbnN0IHsgcmV0
dXJuIG1fb25VcEJ1dHRvbjsgfQorICAgIHN0YXRpYyBjb25zdCBBdG9taWNTdHJpbmcmIHNwaW5C
dXR0b25Ob2RlTmFtZSgpOworCitwcml2YXRlOgorICAgIGJvb2wgbV9jYXB0dXJpbmc7CisgICAg
Ym9vbCBtX29uVXBCdXR0b247Cit9OworCiB9IC8vbmFtZXNwYWNlCiAKICNlbmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>