<?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>96238</bug_id>
          
          <creation_ts>2012-09-10 00:09:43 -0700</creation_ts>
          <short_desc>Introduce ValidationMessageClient</short_desc>
          <delta_ts>2012-09-12 18:02:13 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>96365</dependson>
          <blocked>95527</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>japhet</cc>
    
    <cc>jonlee</cc>
    
    <cc>mifenton</cc>
    
    <cc>morrita</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>715763</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-09-10 00:09:43 -0700</bug_when>
    <thetext>Add new function to ChromeClient to manage form validation messages, and use it.

The function will be wrapped with a compile-time flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715817</commentid>
    <comment_count>1</comment_count>
      <attachid>163062</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-09-10 01:21:22 -0700</bug_when>
    <thetext>Created attachment 163062
Patch 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716275</commentid>
    <comment_count>2</comment_count>
      <attachid>163062</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-09-10 10:58:43 -0700</bug_when>
    <thetext>Comment on attachment 163062
Patch 1

Can we make ValidationMessage class an abstract class or an interface and add this new mechanism as a subclass of it?
Also, could it be this new ChromeClient API a supplement?
Introducing new ifdefs are sad. It would be great if we can minimize its impact.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716768</commentid>
    <comment_count>3</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-09-10 18:46:10 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 163062 [details])
&gt; Can we make ValidationMessage class an abstract class or an interface and add this new mechanism as a subclass of it?
&gt; Also, could it be this new ChromeClient API a supplement?
&gt; Introducing new ifdefs are sad. It would be great if we can minimize its impact.

I can move the changes into ValidationMessage class. However I object making a subclass and making the ChromeClient API a supplement. I&apos;m going to remove the current implementation with Shadow DOM when we complete the ChromeClient API implementation for all platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716774</commentid>
    <comment_count>4</comment_count>
      <attachid>163062</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-09-10 19:05:10 -0700</bug_when>
    <thetext>Comment on attachment 163062
Patch 1

(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; (From update of attachment 163062 [details] [details])
&gt; &gt; Can we make ValidationMessage class an abstract class or an interface and add this new mechanism as a subclass of it?
&gt; &gt; Also, could it be this new ChromeClient API a supplement?
&gt; &gt; Introducing new ifdefs are sad. It would be great if we can minimize its impact.
&gt; 
&gt; I can move the changes into ValidationMessage class. However I object making a subclass and making the ChromeClient API a supplement. I&apos;m going to remove the current implementation with Shadow DOM when we complete the ChromeClient API implementation for all platforms.

That makes sense.
What do you think about per-validation-message state tracking?
If WebKit layer needs to maintain element-to-state map, probably we could morph
ValidationMessage to ValidationMessageClient (or something) which is implemented by 
WebKit layer. Such object could also be used to notify relayout change, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717021</commentid>
    <comment_count>5</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-09-11 03:30:43 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; What do you think about per-validation-message state tracking?
&gt; If WebKit layer needs to maintain element-to-state map, probably we could morph
&gt; ValidationMessage to ValidationMessageClient (or something) which is implemented by 
&gt; WebKit layer. Such object could also be used to notify relayout change, etc.

The client approach sounds good.  It makes the patch cleaner.
I have posted a patch to prepare the client approach to Bug 96365.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717822</commentid>
    <comment_count>6</comment_count>
      <attachid>163496</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-09-11 19:15:59 -0700</bug_when>
    <thetext>Created attachment 163496
Patch 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718451</commentid>
    <comment_count>7</comment_count>
      <attachid>163496</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-09-12 09:26:38 -0700</bug_when>
    <thetext>Comment on attachment 163496
Patch 2

Looks good. ValidationMessageClient could be per-Element basis. But it might be overdone.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718943</commentid>
    <comment_count>8</comment_count>
      <attachid>163496</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-12 18:02:08 -0700</bug_when>
    <thetext>Comment on attachment 163496
Patch 2

Clearing flags on attachment: 163496

Committed r128394: &lt;http://trac.webkit.org/changeset/128394&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718944</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-12 18:02:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163062</attachid>
            <date>2012-09-10 01:21:22 -0700</date>
            <delta_ts>2012-09-11 03:30:53 -0700</delta_ts>
            <desc>Patch 1</desc>
            <filename>bug-96238-20120910172043.patch</filename>
            <type>text/plain</type>
            <size>12148</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MDE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWNhZTY2ZjExM2ExZjk5
NWQxY2NiMDY4YzY2YjViOTQwMTY5NjI4OC4uNmFjYzgxZmIxYjk3MTRjNWViZGVhZWI3NWQ4NjZk
MjI1MTgzODk2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEyLTA5LTEwICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgbmV3IGZ1bmN0aW9u
IHRvIENocm9tZUNsaWVudCB0byBtYW5hZ2UgZm9ybSB2YWxpZGF0aW9uIG1lc3NhZ2VzLCBhbmQg
dXNlIGl0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
NjIzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElu
dHJvZHVjZSBFTkFCTEVfVkFMSURBVElPTl9NRVNTQUdFX1VJX1dJVEhPVVRfU0hBRE9XX0RPTSBj
b21waWxlLXRpbWUKKyAgICAgICAgZmxhZy4gSWYgaXQgaXMgc2V0LCBDaHJvbWVDbGllbnQ6OnNo
b3dGb3JtVmFsaWRhaXRvbk1lc3NhZ2UgaXMgdXNlZCBmb3IKKyAgICAgICAgaW50ZXJhY3RpdmUg
Zm9ybSB2YWxpZGF0aW9uIG1lc3NhZ2VzLCBhbmQgV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2Ug
aXMKKyAgICAgICAgbm90IHVzZWQuCisKKyAgICAgICAgV2UnbGwgcmVtb3ZlIHRoZSBmbGFnIGFu
ZCBXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZSBpbiB0aGUgZnV0dXJlLgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cyBiZWNhdXNlIHRoaXMgbWFrZXMgbm8gYmVoYXZpb3IgY2hhbmdlcy4KKworICAg
ICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50Ojp+SFRNTEZvcm1Db250cm9sRWxlbWVudCk6CisgICAg
ICAgIE5lZWQgdG8gaGlkZSB0aGUgbWVzc2FnZSBleHBsaWNpdGx5LiBUaGUgY3VycmVudCBpbXBs
ZW1lbnRhdGlvbiBkb2Vzbid0CisgICAgICAgIG5lZWQgaXQgYmVjYXVzZSBzaGFkb3cgdHJlZXMg
YXJlIGRlbGV0ZWQgd2l0aCB0aGUgaG9zdC4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtQ29u
dHJvbEVsZW1lbnQ6OnJlbW92ZWRGcm9tKToKKyAgICAgICAgQ2FsbHMgaGlkZVZpc2libGVWYWxp
ZGF0aW9uTWVzc2FnZSBpbnN0ZWFkIG9mIGRlbGV0aW5nIG1fdmFsaWR0aW9uTWVzc2FnZS4KKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OnVwZGF0ZVZpc2libGVWYWxp
ZGF0aW9uTWVzc2FnZSk6CisgICAgICAgIFNob3dzIGEgdmFsaWRhdGlvbiBtZXNzYWdlIHdpdGgg
Q2hyb21lQ2xpZW50OjpzaG93Rm9ybVZhbGlkYWl0b25NZXNzYWdlLgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEZvcm1Db250cm9sRWxlbWVudDo6aGlkZVZpc2libGVWYWxpZGF0aW9uTWVzc2FnZSk6
CisgICAgICAgIEhpZGVzIGEgdmFsaWRhdGlvbiBtZXNzYWdlIHdpdGggQ2hyb21lQ2xpZW50Ojpz
aG93Rm9ybVZhbGlkYWl0b25NZXNzYWdlLgorICAgICAgICAoV2ViQ29yZSk6IEV4Y2x1ZGUgdmlz
aWJsZVZhbGlkYXRpb25NZXNzYWdlIGlmCisgICAgICAgIFZBTElEQVRJT05fTUVTU0FHRV9VSV9X
SVRIT1VUX1NIQURPV19ET00gaXMgc2V0LgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1Db250
cm9sRWxlbWVudDo6c2V0TmVlZHNWYWxpZGl0eUNoZWNrKToKKyAgICAgICAgSWYgdGhlIGNvbnRy
b2wgYmVjb21lcyB2YWxpZCwgaGlkZXMgdGhlIHZhbGlkYXRpb24gbWVzc2FnZS4KKworICAgICAg
ICBUaGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBzdXBwb3J0cyBtZXNzYWdlIHVwZGF0ZSB3aGls
ZSB0aGUgbWVzc2FnZSBpcworICAgICAgICBzaG93bi4gZS5nLiA8aW5wdXQgcmVxdWlyZWQgcGF0
dGVybj0iWzAtOV0rIj4gbWlnaHQgc2hvdyB0aGUKKyAgICAgICAgdmFsdWVNaXNzaW5nIG1lc3Nh
Z2UgdGhlbiBwYXR0ZXJuTWlzbWF0Y2ggbWVzc2FnZSBieSB0eXBpbmcgbm9uLWRpZ2l0CisgICAg
ICAgIGJlZm9yZSBoaWRpbmcgdGhlIHZhbHVlTWlzc2luZyBtZXNzYWdlLgorCisgICAgICAgIFdl
IGRvbid0IHN1cHBvcnQgdGhpcyBiZWhhdmlvciB3aXRoIHRoZSBuZXcgQVBJIGJlY2F1c2UKKyAg
ICAgICAgIC0gQ2hlY2tpbmcgdGhlIGV4aXN0ZW5jZSBvZiBhIHZpc2libGUgdmFsaWRhdGlvbiBt
ZXNzYWdlIGlzIGhhcmRlcgorICAgICAgICAgLSBJRTEwIGFuZCBPcGVyYSBkb24ndCBzdXBwb3J0
IHRoZSBiZWhhdmlvci4KKworICAgICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5o
OgorICAgICAgICAoSFRNTEZvcm1Db250cm9sRWxlbWVudCk6IERpc2FibGUgdW5uZWNlc3Nhcnkg
bWVtYmVycy4KKyAgICAgICAgKiBodG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKToK
KyAgICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTaGFkb3dUcmVlQ29udGFpbnMgY2FsbCBpcyB1bm5l
Y2Vzc2FyeSBpZiBTaGFkb3cgRE9NIGlzCisgICAgICAgIG5vdCB1c2VkIGZvciB2YWxpZGF0aW9u
IG1lc3NhZ2VzLgorICAgICAgICAqIGh0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwOiBEaXNhYmxl
IGlmIFZBTElEQVRJT05fTUVTU0FHRV9VSV9XSVRIT1VUX1NIQURPV19ET00gaXMgc2V0LgorICAg
ICAgICAqIGh0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaDogZGl0dG8uCisgICAgICAgICogbG9hZGVy
L0VtcHR5Q2xpZW50cy5oOiBBZGQgZW1wdHkgaW1wbGVtZW50YXRpb24gZm9yIHNob3dGb3JtVmFs
aWRhaXRvbk1lc3NhZ2UuCisgICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKyAgICAgICAg
KENocm9tZUNsaWVudCk6IEFkZCBzaG93Rm9ybVZhbGlkYWl0b25NZXNzYWdlLgorCiAyMDEyLTA5
LTA5ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgogCiAgICAgICAgIEFk
ZCBTdHJpbmdCdWlsZGVyOjphcHBlbmROdW1iZXIoKSBhbmQgdXNlIGl0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAppbmRleCAyZDQ3YWM4YzQ1NjY3
NDhjYmU4MzcwZDBiZWYxZWI4ZTA3ZDFkMTJhLi4xMTRkZjVlYWY4MDgwYWZlOWRkMTgwM2UyMGVk
ODEzYzQ5OGM4YmUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29u
dHJvbEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9s
RWxlbWVudC5jcHAKQEAgLTI2LDYgKzI2LDggQEAKICNpbmNsdWRlICJIVE1MRm9ybUNvbnRyb2xF
bGVtZW50LmgiCiAKICNpbmNsdWRlICJBdHRyaWJ1dGUuaCIKKyNpbmNsdWRlICJDaHJvbWUuaCIK
KyNpbmNsdWRlICJDaHJvbWVDbGllbnQuaCIKICNpbmNsdWRlICJFbGVtZW50U2hhZG93LmgiCiAj
aW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudEhhbmRsZXIuaCIKQEAgLTM1LDYgKzM3
LDcgQEAKICNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MSW5wdXRF
bGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTExlZ2VuZEVsZW1lbnQuaCIKKyNpbmNsdWRlICJQYWdl
LmgiCiAjaW5jbHVkZSAiUmVuZGVyQm94LmgiCiAjaW5jbHVkZSAiUmVuZGVyVGhlbWUuaCIKICNp
bmNsdWRlICJTY3JpcHRFdmVudExpc3RlbmVyLmgiCkBAIC02Nyw2ICs3MCw5IEBAIEhUTUxGb3Jt
Q29udHJvbEVsZW1lbnQ6OkhUTUxGb3JtQ29udHJvbEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgdGFnTmFtZSwgRG9jCiAKIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6On5IVE1MRm9ybUNvbnRy
b2xFbGVtZW50KCkKIHsKKyNpZiAhRU5BQkxFKFZBTElEQVRJT05fTUVTU0FHRV9VSV9XSVRIT1VU
X1NIQURPV19ET00pCisgICAgaGlkZVZpc2libGVWYWxpZGF0aW9uTWVzc2FnZSgpOworI2VuZGlm
CiB9CiAKIHZvaWQgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6d2lsbEFkZEF1dGhvclNoYWRvd1Jv
b3QoKQpAQCAtMjM5LDcgKzI0NSwxMSBAQCBOb2RlOjpJbnNlcnRpb25Ob3RpZmljYXRpb25SZXF1
ZXN0IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6Omluc2VydGVkSW50byhDb250YWluZQogCiB2b2lk
IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OnJlbW92ZWRGcm9tKENvbnRhaW5lck5vZGUqIGluc2Vy
dGlvblBvaW50KQogeworI2lmIEVOQUJMRShWQUxJREFUSU9OX01FU1NBR0VfVUlfV0lUSE9VVF9T
SEFET1dfRE9NKQorICAgIGhpZGVWaXNpYmxlVmFsaWRhdGlvbk1lc3NhZ2UoKTsKKyNlbHNlCiAg
ICAgbV92YWxpZGF0aW9uTWVzc2FnZSA9IG51bGxwdHI7CisjZW5kaWYKICAgICBtX2FuY2VzdG9y
RGlzYWJsZWRTdGF0ZSA9IEFuY2VzdG9yRGlzYWJsZWRTdGF0ZVVua25vd247CiAgICAgbV9kYXRh
TGlzdEFuY2VzdG9yU3RhdGUgPSBVbmtub3duOwogICAgIEhUTUxFbGVtZW50OjpyZW1vdmVkRnJv
bShpbnNlcnRpb25Qb2ludCk7CkBAIC0zOTgsNiArNDA4LDE0IEBAIHZvaWQgSFRNTEZvcm1Db250
cm9sRWxlbWVudDo6c2V0TmVlZHNXaWxsVmFsaWRhdGVDaGVjaygpCiAKIHZvaWQgSFRNTEZvcm1D
b250cm9sRWxlbWVudDo6dXBkYXRlVmlzaWJsZVZhbGlkYXRpb25NZXNzYWdlKCkKIHsKKyNpZiBF
TkFCTEUoVkFMSURBVElPTl9NRVNTQUdFX1VJX1dJVEhPVVRfU0hBRE9XX0RPTSkKKyAgICBpZiAo
IWRvY3VtZW50KCktPnBhZ2UoKSB8fCAhZG9jdW1lbnQoKS0+cGFnZSgpLT5jaHJvbWUoKSkKKyAg
ICAgICAgcmV0dXJuOworICAgIFN0cmluZyBtZXNzYWdlOworICAgIGlmIChyZW5kZXJlcigpICYm
IHdpbGxWYWxpZGF0ZSgpKQorICAgICAgICBtZXNzYWdlID0gdmFsaWRhdGlvbk1lc3NhZ2UoKS5z
dHJpcFdoaXRlU3BhY2UoKTsKKyAgICBkb2N1bWVudCgpLT5wYWdlKCktPmNocm9tZSgpLT5jbGll
bnQoKS0+c2hvd0Zvcm1WYWxpZGF0aW9uTWVzc2FnZSh0aGlzLCBtZXNzYWdlKTsKKyNlbHNlCiAg
ICAgUGFnZSogcGFnZSA9IGRvY3VtZW50KCktPnBhZ2UoKTsKICAgICBpZiAoIXBhZ2UpCiAgICAg
ICAgIHJldHVybjsKQEAgLTQyNSwxOCArNDQzLDI3IEBAIHZvaWQgSFRNTEZvcm1Db250cm9sRWxl
bWVudDo6dXBkYXRlVmlzaWJsZVZhbGlkYXRpb25NZXNzYWdlKCkKICAgICAgICAgLy8gYmVjYXVz
ZSB0aGUgZXhpc3RpbmcgbWVzc2FnZSBtaWdodCBiZSB0byBiZSBoaWRkZW4uCiAgICAgICAgIG1f
dmFsaWRhdGlvbk1lc3NhZ2UtPnNldE1lc3NhZ2UobWVzc2FnZSk7CiAgICAgfQorI2VuZGlmCiB9
CiAKIHZvaWQgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6aGlkZVZpc2libGVWYWxpZGF0aW9uTWVz
c2FnZSgpCiB7CisjaWYgRU5BQkxFKFZBTElEQVRJT05fTUVTU0FHRV9VSV9XSVRIT1VUX1NIQURP
V19ET00pCisgICAgaWYgKCFkb2N1bWVudCgpLT5wYWdlKCkgfHwgIWRvY3VtZW50KCktPnBhZ2Uo
KS0+Y2hyb21lKCkpCisgICAgICAgIHJldHVybjsKKyAgICBkb2N1bWVudCgpLT5wYWdlKCktPmNo
cm9tZSgpLT5jbGllbnQoKS0+c2hvd0Zvcm1WYWxpZGF0aW9uTWVzc2FnZSh0aGlzLCBlbXB0eVN0
cmluZygpKTsKKyNlbHNlCiAgICAgaWYgKG1fdmFsaWRhdGlvbk1lc3NhZ2UpCiAgICAgICAgIG1f
dmFsaWRhdGlvbk1lc3NhZ2UtPnJlcXVlc3RUb0hpZGVNZXNzYWdlKCk7CisjZW5kaWYKIH0KIAor
I2lmICFFTkFCTEUoVkFMSURBVElPTl9NRVNTQUdFX1VJX1dJVEhPVVRfU0hBRE9XX0RPTSkKIFN0
cmluZyBIVE1MRm9ybUNvbnRyb2xFbGVtZW50Ojp2aXNpYmxlVmFsaWRhdGlvbk1lc3NhZ2UoKSBj
b25zdAogewogICAgIHJldHVybiBtX3ZhbGlkYXRpb25NZXNzYWdlID8gbV92YWxpZGF0aW9uTWVz
c2FnZS0+bWVzc2FnZSgpIDogU3RyaW5nKCk7CiB9CisjZW5kaWYKIAogYm9vbCBIVE1MRm9ybUNv
bnRyb2xFbGVtZW50OjpjaGVja1ZhbGlkaXR5KFZlY3RvcjxSZWZQdHI8Rm9ybUFzc29jaWF0ZWRF
bGVtZW50PiA+KiB1bmhhbmRsZWRJbnZhbGlkQ29udHJvbHMpCiB7CkBAIC00NjcsMTMgKzQ5NCwx
NyBAQCB2b2lkIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OnNldE5lZWRzVmFsaWRpdHlDaGVjaygp
CiAgICAgICAgIHNldE5lZWRzU3R5bGVSZWNhbGMoKTsKICAgICB9CiAgICAgbV9pc1ZhbGlkID0g
bmV3SXNWYWxpZDsKLQorI2lmIEVOQUJMRShWQUxJREFUSU9OX01FU1NBR0VfVUlfV0lUSE9VVF9T
SEFET1dfRE9NKQorICAgIGlmIChtX2lzVmFsaWQpCisgICAgICAgIGhpZGVWaXNpYmxlVmFsaWRh
dGlvbk1lc3NhZ2UoKTsKKyNlbHNlCiAgICAgLy8gVXBkYXRlcyBvbmx5IGlmIHRoaXMgY29udHJv
bCBhbHJlYWR5IGhhcyBhIHZhbGlkdGlvbiBtZXNzYWdlLgogICAgIGlmICghdmlzaWJsZVZhbGlk
YXRpb25NZXNzYWdlKCkuaXNFbXB0eSgpKSB7CiAgICAgICAgIC8vIENhbGxzIHVwZGF0ZVZpc2li
bGVWYWxpZGF0aW9uTWVzc2FnZSgpIGV2ZW4gaWYgbV9pc1ZhbGlkIGlzIG5vdAogICAgICAgICAv
LyBjaGFuZ2VkIGJlY2F1c2UgYSB2YWxpZGF0aW9uIG1lc3NhZ2UgY2FuIGJlIGNoYWduZWQuCiAg
ICAgICAgIHVwZGF0ZVZpc2libGVWYWxpZGF0aW9uTWVzc2FnZSgpOwogICAgIH0KKyNlbmRpZgog
fQogCiB2b2lkIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OnNldEN1c3RvbVZhbGlkaXR5KGNvbnN0
IFN0cmluZyYgZXJyb3IpCkBAIC00OTIsMTAgKzUyMywxMiBAQCBib29sIEhUTUxGb3JtQ29udHJv
bEVsZW1lbnQ6OnNob3VsZE1hdGNoUmVhZFdyaXRlU2VsZWN0b3IoKSBjb25zdAogICAgIHJldHVy
biAhcmVhZE9ubHkoKTsKIH0KIAorI2lmICFFTkFCTEUoVkFMSURBVElPTl9NRVNTQUdFX1VJX1dJ
VEhPVVRfU0hBRE9XX0RPTSkKIGJvb2wgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6dmFsaWRhdGlv
bk1lc3NhZ2VTaGFkb3dUcmVlQ29udGFpbnMoTm9kZSogbm9kZSkgY29uc3QKIHsKICAgICByZXR1
cm4gbV92YWxpZGF0aW9uTWVzc2FnZSAmJiBtX3ZhbGlkYXRpb25NZXNzYWdlLT5zaGFkb3dUcmVl
Q29udGFpbnMobm9kZSk7CiB9CisjZW5kaWYKIAogdm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50
OjpkaXNwYXRjaEJsdXJFdmVudChQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKQogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaAppbmRleCBkMTI5
YmMyYzJhMzZkMDUyMzMyNGFjY2VkMjc2ZjE0NzU4NWIxMzMxLi5hNzcxZjFkMDZlNWQxMjFlZGIy
YTdhNjM1ODhiYWY5ODRiN2M4NDVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxGb3JtQ29udHJvbEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3Jt
Q29udHJvbEVsZW1lbnQuaApAQCAtMTM1LDcgKzEzNSw5IEBAIHByb3RlY3RlZDoKICAgICB2b2lk
IHNldE5lZWRzV2lsbFZhbGlkYXRlQ2hlY2soKTsKICAgICB2aXJ0dWFsIGJvb2wgcmVjYWxjV2ls
bFZhbGlkYXRlKCkgY29uc3Q7CiAKKyNpZiAhRU5BQkxFKFZBTElEQVRJT05fTUVTU0FHRV9VSV9X
SVRIT1VUX1NIQURPV19ET00pCiAgICAgYm9vbCB2YWxpZGF0aW9uTWVzc2FnZVNoYWRvd1RyZWVD
b250YWlucyhOb2RlKikgY29uc3Q7CisjZW5kaWYKIAogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZv
aWQgcmVmRm9ybUFzc29jaWF0ZWRFbGVtZW50KCkgeyByZWYoKTsgfQpAQCAtMTQ4LDEwICsxNTAs
MTQgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIEhUTUxGb3JtRWxlbWVudCogdmlydHVhbEZvcm0o
KSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaXNEZWZhdWx0QnV0dG9uRm9yRm9ybSgpIGNvbnN0
OwogICAgIHZpcnR1YWwgYm9vbCBpc1ZhbGlkRm9ybUNvbnRyb2xFbGVtZW50KCk7CisjaWYgIUVO
QUJMRShWQUxJREFUSU9OX01FU1NBR0VfVUlfV0lUSE9VVF9TSEFET1dfRE9NKQogICAgIFN0cmlu
ZyB2aXNpYmxlVmFsaWRhdGlvbk1lc3NhZ2UoKSBjb25zdDsKKyNlbmRpZgogICAgIHZvaWQgdXBk
YXRlQW5jZXN0b3JEaXNhYmxlZFN0YXRlKCkgY29uc3Q7CiAKKyNpZiAhRU5BQkxFKFZBTElEQVRJ
T05fTUVTU0FHRV9VSV9XSVRIT1VUX1NIQURPV19ET00pCiAgICAgT3duUHRyPFZhbGlkYXRpb25N
ZXNzYWdlPiBtX3ZhbGlkYXRpb25NZXNzYWdlOworI2VuZGlmCiAgICAgYm9vbCBtX2Rpc2FibGVk
IDogMTsKICAgICBib29sIG1fcmVhZE9ubHkgOiAxOwogICAgIGJvb2wgbV9yZXF1aXJlZCA6IDE7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwCmluZGV4IDkyNjFkNTJi
NmQ0NzNlZTE4YTMyZGU0YzY1Zjc4NGQ0ZDEzMjZhZGYuLjdkOGFmZDZiMTJlZTU3MGRiNmY4NGI1
ZTg0NDI2MmVhODZlNzlhNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNl
bGVjdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1l
bnQuY3BwCkBAIC0zNTEsNyArMzUxLDExIEBAIGJvb2wgSFRNTFNlbGVjdEVsZW1lbnQ6OmNoaWxk
U2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZVJlbmRlcmluZ0NvbnRleHQmIGNoCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoIXVzZXNNZW51TGlzdCgpKQogICAgICAgICByZXR1
cm4gdHJ1ZTsKKyNpZiBFTkFCTEUoVkFMSURBVElPTl9NRVNTQUdFX1VJX1dJVEhPVVRfU0hBRE9X
X0RPTSkKKyAgICByZXR1cm4gZmFsc2U7CisjZWxzZQogICAgIHJldHVybiB2YWxpZGF0aW9uTWVz
c2FnZVNoYWRvd1RyZWVDb250YWlucyhjaGlsZENvbnRleHQubm9kZSgpKTsKKyNlbmRpZgogfQog
CiBQYXNzUmVmUHRyPEhUTUxDb2xsZWN0aW9uPiBIVE1MU2VsZWN0RWxlbWVudDo6c2VsZWN0ZWRP
cHRpb25zKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3Nh
Z2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5jcHAKaW5kZXgg
NjdkMzJkYzgxYTIwMjFhZTJiMDcwYmQ1ZDMxMDQzMTljZjJmMmYwMi4uNGFlNDc2NDIzNTdlZjk0
MTg3ZTE4OWQwOWFhZmFlN2YwZjU5OWYwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9WYWxpZGF0aW9uTWVzc2FnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0
aW9uTWVzc2FnZS5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJWYWxpZGF0aW9uTWVzc2FnZS5oIgogCisjaWYgIUVOQUJMRShWQUxJREFUSU9OX01F
U1NBR0VfVUlfV0lUSE9VVF9TSEFET1dfRE9NKQogI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMu
aCIKICNpbmNsdWRlICJDU1NWYWx1ZUtleXdvcmRzLmgiCiAjaW5jbHVkZSAiRWxlbWVudFNoYWRv
dy5oIgpAQCAtMjA2LDMgKzIwNyw0IEBAIHZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6OmRlbGV0ZUJ1
YmJsZVRyZWUoVGltZXI8VmFsaWRhdGlvbk1lc3NhZ2U+KikKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRp
b25NZXNzYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmgKaW5k
ZXggNDI5ODJlNTA3ZmIwMDcyNDZhMTE3ODdkYjhiN2YzNGQxYzJkMjcwOC4uZmJjNzAwMjFjZWJk
MDhhYmMzNTRlMTI0OTJkMDVmMDMzNGMzZjJlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRh
dGlvbk1lc3NhZ2UuaApAQCAtMzEsNiArMzEsNyBAQAogI2lmbmRlZiBWYWxpZGF0aW9uTWVzc2Fn
ZV9oCiAjZGVmaW5lIFZhbGlkYXRpb25NZXNzYWdlX2gKIAorI2lmICFFTkFCTEUoVkFMSURBVElP
Tl9NRVNTQUdFX1VJX1dJVEhPVVRfU0hBRE9XX0RPTSkKICNpbmNsdWRlICJUaW1lci5oIgogI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KQEAgLTY4
LDUgKzY5LDUgQEAgcHJpdmF0ZToKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQorI2Vu
ZGlmCiAjZW5kaWYgLy8gVmFsaWRhdGlvbk1lc3NhZ2VfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5
Q2xpZW50cy5oCmluZGV4IGZiZGEyZjYwMDY1ZDc4MDY5NDU1ODRkOWI2MDI5MTRiNGE1MTc2MGUu
LmE0ODNkYTYzNmNiOGI1YmU3NGVlNjVjMDI5ZTA4M2UwNDE5YmFjOGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRW1wdHlDbGllbnRzLmgKQEAgLTEyNyw2ICsxMjcsOSBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIHNldFBhZ2VQb3B1cERyaXZlcihQYWdlUG9wdXBEcml2ZXIqKSBPVkVSUklERSB7
IH0KICAgICB2aXJ0dWFsIHZvaWQgcmVzZXRQYWdlUG9wdXBEcml2ZXIoKSBPVkVSUklERSB7IH0K
ICNlbmRpZgorI2lmIEVOQUJMRShWQUxJREFUSU9OX01FU1NBR0VfVUlfV0lUSE9VVF9TSEFET1df
RE9NKQorICAgIHZpcnR1YWwgdm9pZCBzaG93Rm9ybVZhbGlkYXRpb25NZXNzYWdlKGNvbnN0IEVs
ZW1lbnQqLCBjb25zdCBTdHJpbmcmKSBPVkVSUklERSB7IH0KKyNlbmRpZgogCiAgICAgdmlydHVh
bCB2b2lkIHNldFN0YXR1c2JhclRleHQoY29uc3QgU3RyaW5nJikgeyB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0Nocm9tZUNsaWVudC5oCmluZGV4IGZhNWI0ODVlMDkxMmQ1M2VhMWI4MTNhYmRmYmU1NDNiODk2
ZmUwMzQuLjk4ZmI1OGY1MDMyMTYyMmFmNGZjZTE0Zjc2MWEzOTkzZTAzNmE2OTUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMzI1LDYgKzMyNSwxNiBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBzZXRQYWdlUG9wdXBEcml2ZXIoUGFnZVBvcHVw
RHJpdmVyKikgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVzZXRQYWdlUG9wdXBEcml2ZXIo
KSA9IDA7CiAjZW5kaWYKKyNpZiBFTkFCTEUoVkFMSURBVElPTl9NRVNTQUdFX1VJX1dJVEhPVVRf
U0hBRE9XX0RPTSkKKyAgICAgICAgLy8gU2hvdyB2YWxpZGF0aW9uIG1lc3NhZ2UgZm9yIHRoZSBz
cGVjaWZpZWQgYW5jaG9yIGVsZW1lbnQgaWYgdGhlCisgICAgICAgIC8vIHNwZWNpZmllZCBtZXNz
YWdlIGlzIG5vdCBlbXB0eS4gVGhlIGltcGxlbWVudGF0aW9uIG9mIHRoaXMgZnVuY3Rpb24KKyAg
ICAgICAgLy8gbWF5IGhpZGUgdGhlIG1lc3NhZ2UgYXV0b21hdGljYWxseSBhZnRlciBzb21lIHBl
cmlvZC4KKyAgICAgICAgLy8gSGlkZSB2YWxpZGF0aW9uIG1lc3NhZ2UgZm9yIHRoZSBzcGVjaWZp
ZWQgYW5jaG9yIGlmIHRoZSBzcGVjaWZpZWQKKyAgICAgICAgLy8gbWVzc2FnZSBpcyBlbXB0eSBh
bmQgdGhlIG1lc3NhZ2UgZm9yIHRoZSBhbmNob3IgaXMgYWxyZWFkeSB2aXNpYmxlLgorICAgICAg
ICAvLyBUaGUgYW5jaG9yIGFyZ3VtZW50IG11c3Qgbm90IGJlIDAuCisgICAgICAgIHZpcnR1YWwg
dm9pZCBzaG93Rm9ybVZhbGlkYXRpb25NZXNzYWdlKGNvbnN0IEVsZW1lbnQqIGFuY2hvciwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlKSA9IDA7CisjZW5kaWYKKwogICAgICAgICAvLyBUaGlzIGZ1bmN0
aW9uIGlzIGNhbGxlZCB3aGVuZXZlciBhIHRleHQgZmllbGQgPGlucHV0PiBpcwogICAgICAgICAv
LyBjcmVhdGVkLiBUaGUgaW1wbGVtZW50YXRpb24gc2hvdWxkIHJldHVybiB0cnVlIGlmIGl0IHdh
bnRzCiAgICAgICAgIC8vIHRvIGRvIHNvbWV0aGluZyBpbiBhZGRUZXh0RmllbGREZWNvcmF0aW9u
c1RvKCkuCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163496</attachid>
            <date>2012-09-11 19:15:59 -0700</date>
            <delta_ts>2012-09-12 18:02:07 -0700</delta_ts>
            <desc>Patch 2</desc>
            <filename>bug-96238-20120912111512.patch</filename>
            <type>text/plain</type>
            <size>20162</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MjU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzg3Mzk1ZGE2NzUyODlk
MDg0MjZhYzNjMjAxYzY3MjhmZGU3MjJkNi4uMTk5NDJlZDc0MGFlNzA5ZTcxNzZkMDRlMzU3Y2Y5
ZWZhNWY1MjhjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDEyLTA5LTExICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBJbnRyb2R1Y2UgVmFsaWRh
dGlvbk1lc3NhZ2VDbGllbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTk2MjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQgaW50ZXJmYWNlIGlzIHJlc3BvbnNpYmxl
IHRvIG9wZXJhdGUgdmFsaWRhdGlvbgorICAgICAgICBtZXNzYWdlIFVJIGZvciBpbnRlcmFjdGl2
ZSBmb3JtIHZhbGlkYXRpb24uIElmIGEgUGFnZSBvYmplY3QgaGFzIGEKKyAgICAgICAgVmFsaWR0
aW9uTWVzc2FnZUNsaWVudCwgVmFsaWRhdGlvbk1lc3NhZSBjbGFzcyB1c2VzCisgICAgICAgIFZh
bGlkdGlvbk1lc3NhZ2VDbGllbnQgaW5zdGVhZCBvZiBTaGFkb3cgRE9NLgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cyBiZWNhdXNlIG9mIG5vIGJlaGF2aW9yIGNoYW5nZXMuCisKKyAgICAgICAgKiBH
TlVtYWtlZmlsZS5saXN0LmFtOiBBZGQgVmFsaWR0aW9uTWVzc2FnZUNsaWVudC5oLgorICAgICAg
ICAqIFRhcmdldC5wcmk6IGRpdHRvLgorICAgICAgICAqIFdlYkNvcmUuZ3lwaTogZGl0dG8uCisg
ICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBkaXR0by4KKworICAg
ICAgICAqIGh0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VmFs
aWRhdGlvbk1lc3NhZ2U6On5WYWxpZGF0aW9uTWVzc2FnZSk6CisgICAgICAgIEhpZGUgYSB2YWxp
ZGF0aW9uIG1lc3NhZ2UgdmlhIFZhbGlkYXRpb25NZXNzYWdlQ2xpZW50IGlmIGl0IGlzIGF2YWls
YWJsZS4KKyAgICAgICAgKFdlYkNvcmU6OlZhbGlkYXRpb25NZXNzYWdlOjp2YWxpZGF0aW9uTWVz
c2FnZUNsaWVudCk6CisgICAgICAgIEEgaGVscGVyIGZ1bmN0aW9uIHRvIGdldCBQYWdlOjp2YWxp
ZGF0aW9uTWVzc2FnZUNsaWVudC4KKyAgICAgICAgKFdlYkNvcmU6OlZhbGlkYXRpb25NZXNzYWdl
Ojp1cGRhdGVWYWxpZGF0aW9uTWVzc2FnZSk6CisgICAgICAgIEFkZGluZyB0aXRsZSBhdHRyaWJ1
dGUgaXMgbm90IG5lZWVkZWQgaWYgVmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQgaXMKKyAgICAgICAg
dXNlZC4gSXQgc2hvdWRsIGJlIGhhbmRsZWQgaW4gYSBWYWxpZHRpb25NZXNzYWdlQ2xpZW50IGlt
cGxlbWVudGF0aW9uLgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1l
c3NhZ2UpOgorICAgICAgICBTaG93IGEgdmFsaWRhdGlvbiBtZXNzYWdlIHZpYSBWYWxpZGF0aW9u
TWVzc2FnZUNsaWVudCBpZiBpdCBpcyBhdmFpbGFibGUuCisgICAgICAgIChXZWJDb3JlOjpWYWxp
ZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0VGltZXIpOgorICAgICAgICBBZGQg
YW4gYXNzZXJ0aW9uIHRoYXQgVmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQgc2hvdWxkIG5vdCBiZSBh
dmFpbGFibGUuCisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6YnVpbGRCdWJi
bGVUcmVlKTogZGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6cmVx
dWVzdFRvSGlkZU1lc3NhZ2UpOgorICAgICAgICBIaWRlIGEgdmFsaWRhdGlvbiBtZXNzYWdlIHZp
YSBWYWxpZGF0aW9uTWVzc2FnZUNsaWVudCBpZiBpdCBpcyBhdmFpbGFibGUuCisgICAgICAgIChX
ZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2hhZG93VHJlZUNvbnRhaW5zKToKKyAgICAgICAg
QWx3YXlzIHJldHVybnMgZmFsc2UgaWYgVmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQgaXMgYXZhaWxh
YmxlLCBpdCBtZWFucyBubyBTaGFkb3cgRE9NLgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlv
bk1lc3NhZ2U6OmRlbGV0ZUJ1YmJsZVRyZWUpOgorICAgICAgICBBZGQgYW4gYXNzZXJ0aW9uIHRo
YXQgVmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQgc2hvdWxkIG5vdCBiZSBhdmFpbGFibGUuCisgICAg
ICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6aXNWaXNpYmxlKToKKyAgICAgICAgQXNr
IFZhbGlkYXRpb25NZXNzYWdlQ2xpZW50IGZvciB2aXNpYmlsaXR5IGlmIGl0IGlzIGF2YWlsYWJs
ZS4KKyAgICAgICAgKiBodG1sL1ZhbGlkYXRpb25NZXNzYWdlLmg6CisgICAgICAgIChXZWJDb3Jl
KTogQWRkIGEgY29tbWVudC4KKyAgICAgICAgKFZhbGlkYXRpb25NZXNzYWdlKTogQWRkIHZhbGlk
dGlvbk1lc3NhZ2VDbGllbnQgbWVtYmVyIGZ1bmN0aW9uLgorCisgICAgICAgICogcGFnZS9QYWdl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OlBhZ2UpOiBJbml0aWFsaXplIG1fdmFsaWRh
dGlvbk1lc3NhZ2VDbGllbnQuCisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpQYWdlQ2xpZW50czo6
UGFnZUNsaWVudHMpOgorICAgICAgICBJbml0aWFsaXplIHZhbGlkYXRpb25NZXNzYWdlQ2xpZW50
IG1lbWJlciB3aXRoIDAuCisgICAgICAgIFNvLCBleGlzdGluZyBjb2RlIG1ha2VzIFBhZ2U6Om1f
dmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQgMC4KKyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAg
ICAgKFBhZ2VDbGllbnRzKTogQWRkIHZhbGlkYXRpb25NZXNzYWdlQ2xpZW50IG1lbWJlci4KKyAg
ICAgICAgKFdlYkNvcmU6OlBhZ2U6OnZhbGlkYXRpb25NZXNzYWdlQ2xpZW50KToKKyAgICAgICAg
QWRkZWQuIEFjY2Vzc29yIGZvciBtX3ZhbGlkYXRpb25NZXNzYWdlQ2xpZW50LgorICAgICAgICAo
UGFnZSk6IEFkZCBtX3ZhbGlkYXRpb25NZXNzYWdlQ2xpZW50LgorCisgICAgICAgICogcGFnZS9T
ZXR0aW5ncy5oOgorICAgICAgICAoU2V0dGluZ3MpOiBVcGRhdGVkIHRoZSBjb21tZW50IGZvciBz
ZXRJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZC4KKworICAgICAgICAqIHBhZ2UvVmFs
aWRhdGlvbk1lc3NhZ2VDbGllbnQuaDogQWRkZWQuCisKIDIwMTItMDktMTEgIE1pY2hhZWwgU2Fi
b2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CiAKICAgICAgICAgQnVpbGQgZml4ZWQgZm9yIGh0dHA6
Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEyODI0MwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0KaW5kZXggNjVmNzIyMWZiNDFiZGI3NjJkMzRmZGYyM2U1ZTFlZmQ1YjU4YjQyNS4uN2U4
YTM3MmY5YTU3MDUyOWVjOWE1NjQwOGIzZGU5ZjQwMjZkMzQ3NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtCkBAIC00MDY5LDYgKzQwNjksNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAog
CVNvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlclNjcmlwdFR5cGVzLmggXAogCVNvdXJjZS9XZWJDb3Jl
L3BhZ2UvVXNlclN0eWxlU2hlZXQuaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyU3R5bGVT
aGVldFR5cGVzLmggXAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvVmFsaWRhdGlvbk1lc3NhZ2VDbGll
bnQuaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9XZWJDb3JlS2V5Ym9hcmRVSU1vZGUuaCBcCiAJ
U291cmNlL1dlYkNvcmUvcGFnZS9XZWJLaXRBbmltYXRpb24uaCBcCiAJU291cmNlL1dlYkNvcmUv
cGFnZS9XZWJLaXRBbmltYXRpb24uY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1Rh
cmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDg3MzI1NGVlOGJmOTRm
ZjNkMTc0MzJkOGYyNjhjMDkyODE3NTQwYWIuLmU1NDE1YzRjYWRkYWQ1NTNhMzgzOGNmODFkMjFh
MWI5YTY1NjNlYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIv
U291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMjAxMiw2ICsyMDEyLDcgQEAgSEVBREVSUyAr
PSBcCiAgICAgcGFnZS9TcGVlY2hJbnB1dFJlc3VsdC5oIFwKICAgICBwYWdlL1NwZWVjaElucHV0
UmVzdWx0TGlzdC5oIFwKICAgICBwYWdlL1RvdWNoQWRqdXN0bWVudC5oIFwKKyAgICBwYWdlL1Zh
bGlkYXRpb25NZXNzYWdlQ2xpZW50LmggXAogICAgIHBhZ2UvV2ViS2l0QW5pbWF0aW9uLmggXAog
ICAgIHBhZ2UvV2ViS2l0QW5pbWF0aW9uTGlzdC5oIFwKICAgICBwYWdlL1dpbmRvd0ZlYXR1cmVz
LmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGVlN2E4NTgxNWQ1MTNlYjE2YjhjNzE5ZDgxY2FiZjQy
MGM2NzcyZGQuLjZhNzc1M2Q1ZGM3MzBkNjE4OWY0MzQwZDFlOGNhMDM2NGQ0YmM1OTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKQEAgLTI2MSw2ICsyNjEsNyBAQAogICAgICAgICAgICAgJ3BhZ2UvVXNlclNj
cmlwdFR5cGVzLmgnLAogICAgICAgICAgICAgJ3BhZ2UvVXNlclN0eWxlU2hlZXQuaCcsCiAgICAg
ICAgICAgICAncGFnZS9Vc2VyU3R5bGVTaGVldFR5cGVzLmgnLAorICAgICAgICAgICAgJ3BhZ2Uv
VmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQuaCcsCiAgICAgICAgICAgICAncGFnZS9XZWJDb3JlS2V5
Ym9hcmRVSU1vZGUuaCcsCiAgICAgICAgICAgICAncGFnZS9XaW5kb3dGZWF0dXJlcy5oJywKICAg
ICAgICAgICAgICdwYWdlL1dpbmRvd0ZvY3VzQWxsb3dlZEluZGljYXRvci5oJywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAzYzNi
ZDhkZjdmZmM3N2NkNzQwYjNlYTFmZWUxZTU0ODlhODY1ODdhLi42NzUyOTRmZDg2Yjc4OWU4NzUw
ZTEyOGU2MTAxOGI5NWM0OGE0M2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02MjI5LDYgKzYyMjksNyBAQAogCQlGNTA4MjQ2
RTE1NDhEOTYyMDBBMTE5QUIgLyogTW9ja1BhZ2VQb3B1cERyaXZlci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNTA4MjQ2QzE1NDhEOTYyMDBBMTE5
QUIgLyogTW9ja1BhZ2VQb3B1cERyaXZlci5jcHAgKi87IH07CiAJCUY1MDgyNDZGMTU0OEQ5NjIw
MEExMTlBQiAvKiBNb2NrUGFnZVBvcHVwRHJpdmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNTA4MjQ2RDE1NDhEOTYyMDBBMTE5QUIgLyogTW9ja1Bh
Z2VQb3B1cERyaXZlci5oICovOyB9OwogCQlGNTEyMkM5MDE1NDdGQTFCMDAyOEE5M0IgLyogUGFn
ZVBvcHVwRHJpdmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGNTEyMkM4RjE1NDdGQTFCMDAyOEE5M0IgLyogUGFnZVBvcHVwRHJpdmVyLmggKi87IH07
CisJCUY1MTNBM0VBMTVGRjQ4NDEwMDE1MjZEQiAvKiBWYWxpZGF0aW9uTWVzc2FnZUNsaWVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjUxM0EzRTkx
NUZGNDg0MTAwMTUyNkRCIC8qIFZhbGlkYXRpb25NZXNzYWdlQ2xpZW50LmggKi87IH07CiAJCUY1
MTQyQzY5MTIzRjEyQjAwMEY1QkQ0QyAvKiBMb2NhbGl6ZWROdW1iZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1MTQyQzY4MTIzRjEyQjAwMEY1QkQ0
QyAvKiBMb2NhbGl6ZWROdW1iZXIuaCAqLzsgfTsKIAkJRjUyQUQ1RTQxNTM0MjQ1RjAwNTlGQkU2
IC8qIEVtcHR5Q2xpZW50cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGNTJBRDVFMzE1MzQyNDVGMDA1OUZCRTYgLyogRW1wdHlDbGllbnRzLmNwcCAq
LzsgfTsKIAkJRjU0NEY3ODgxNUNGQjJBODAwQUYzM0E4IC8qIExvY2FsaXplci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNTQ0Rjc4NjE1Q0ZCMkE4
MDBBRjMzQTggLyogTG9jYWxpemVyLmNwcCAqLzsgfTsKQEAgLTEzNjE4LDYgKzEzNjE5LDcgQEAK
IAkJRjUwODI0NkMxNTQ4RDk2MjAwQTExOUFCIC8qIE1vY2tQYWdlUG9wdXBEcml2ZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTW9ja1BhZ2VQb3B1cERyaXZlci5j
cHA7IHBhdGggPSB0ZXN0aW5nL01vY2tQYWdlUG9wdXBEcml2ZXIuY3BwOyBzb3VyY2VUcmVlID0g
U09VUkNFX1JPT1Q7IH07CiAJCUY1MDgyNDZEMTU0OEQ5NjIwMEExMTlBQiAvKiBNb2NrUGFnZVBv
cHVwRHJpdmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE1vY2tQYWdlUG9w
dXBEcml2ZXIuaDsgcGF0aCA9IHRlc3RpbmcvTW9ja1BhZ2VQb3B1cERyaXZlci5oOyBzb3VyY2VU
cmVlID0gU09VUkNFX1JPT1Q7IH07CiAJCUY1MTIyQzhGMTU0N0ZBMUIwMDI4QTkzQiAvKiBQYWdl
UG9wdXBEcml2ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFnZVBvcHVw
RHJpdmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY1MTNBM0U5MTVGRjQ4NDEw
MDE1MjZEQiAvKiBWYWxpZGF0aW9uTWVzc2FnZUNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBWYWxpZGF0aW9uTWVzc2FnZUNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlGNTE0MkM2ODEyM0YxMkIwMDBGNUJENEMgLyogTG9jYWxpemVkTnVtYmVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExvY2FsaXplZE51bWJlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNTIzRDIzQjAyREU0Mzk2MDE4NjM1Q0EgLyog
SFRNTERvY3VtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEhUTUxEb2N1bWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQlGNTIzRDIzQzAyREU0Mzk2MDE4NjM1
Q0EgLyogSFRNTERvY3VtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEhUTUxEb2N1bWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0
YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKQEAgLTE1OTEwLDYgKzE1OTEyLDcgQEAKIAkJ
CQlCQ0EyQjA4QTEwNTA1QkNEMDA0M0JEMUMgLyogVXNlclNjcmlwdFR5cGVzLmggKi8sCiAJCQkJ
QkM4QkYxNTAxMDU4MTNCRjAwQTQwQTA3IC8qIFVzZXJTdHlsZVNoZWV0LmggKi8sCiAJCQkJQkM4
QkYxNTkxMDU4MTQxODAwQTQwQTA3IC8qIFVzZXJTdHlsZVNoZWV0VHlwZXMuaCAqLywKKwkJCQlG
NTEzQTNFOTE1RkY0ODQxMDAxNTI2REIgLyogVmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQuaCAqLywK
IAkJCQlCRTk4M0Q5NTA1MkEyRTBBMDA4OTJEODUgLyogV2ViQ29yZUtleWJvYXJkVUlNb2RlLmgg
Ki8sCiAJCQkJMzE5RTY5QUMxMzI5OUJCRDAwNEFDOTFBIC8qIFdlYktpdEFuaW1hdGlvbi5jcHAg
Ki8sCiAJCQkJMzE5RTY5QUQxMzI5OUJCRDAwNEFDOTFBIC8qIFdlYktpdEFuaW1hdGlvbi5oICov
LApAQCAtMjUzNzYsNiArMjUzNzksNyBAQAogCQkJCTFGQUZCRjE5MTVBNUZBNzQwMDA4M0EyMCAv
KiBVVElVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFM0JCRjA4MTE2MkRBMTEwMEI5
NDA5QSAvKiBVVUlELmggaW4gSGVhZGVycyAqLywKIAkJCQlGNUExNTQyODEyNzk1MzREMDBEMEIw
QzAgLyogVmFsaWRhdGlvbk1lc3NhZ2UuaCBpbiBIZWFkZXJzICovLAorCQkJCUY1MTNBM0VBMTVG
RjQ4NDEwMDE1MjZEQiAvKiBWYWxpZGF0aW9uTWVzc2FnZUNsaWVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMTVDNzcwOEQxMDBEM0M2QjAwNUJBMjY3IC8qIFZhbGlkaXR5U3RhdGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUZEMzE2MEFGMTJCMDI2RjcwMEMxQTM1OSAvKiBWZWN0b3JNYXRoLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQ0EyNTcxNTEyOTNDMDEwMDA3QTI2M0QgLyogVmVydGljYWxQb3Np
dGlvbkNhY2hlLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9u
TWVzc2FnZS5jcHAKaW5kZXggZjI2NTVlNjM1NzM0Y2FmMjI2MjIwMTAzZDRjMmNmMmRmMDg1YWI5
OC4uMWQ1NTFjOTMxM2UwNzA3MDQ0ODViZTJiNGNjMzkwYjgzNDk3ZDU0ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5jcHAKQEAgLTQ2LDYgKzQ2LDcgQEAKICNpbmNs
dWRlICJTaGFkb3dSb290LmgiCiAjaW5jbHVkZSAiU3R5bGVSZXNvbHZlci5oIgogI2luY2x1ZGUg
IlRleHQuaCIKKyNpbmNsdWRlICJWYWxpZGF0aW9uTWVzc2FnZUNsaWVudC5oIgogI2luY2x1ZGUg
PHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTYwLDYgKzYxLDEx
IEBAIEFMV0FZU19JTkxJTkUgVmFsaWRhdGlvbk1lc3NhZ2U6OlZhbGlkYXRpb25NZXNzYWdlKEhU
TUxGb3JtQ29udHJvbEVsZW1lbnQqIGVsZW1lCiAKIFZhbGlkYXRpb25NZXNzYWdlOjp+VmFsaWRh
dGlvbk1lc3NhZ2UoKQogeworICAgIGlmIChWYWxpZGF0aW9uTWVzc2FnZUNsaWVudCogY2xpZW50
ID0gdmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQoKSkgeworICAgICAgICBjbGllbnQtPmhpZGVWYWxp
ZGF0aW9uTWVzc2FnZSgqbV9lbGVtZW50KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAg
IGRlbGV0ZUJ1YmJsZVRyZWUoKTsKIH0KIApAQCAtNjgsMTYgKzc0LDI1IEBAIFBhc3NPd25QdHI8
VmFsaWRhdGlvbk1lc3NhZ2U+IFZhbGlkYXRpb25NZXNzYWdlOjpjcmVhdGUoSFRNTEZvcm1Db250
cm9sRWxlbWVudCoKICAgICByZXR1cm4gYWRvcHRQdHIobmV3IFZhbGlkYXRpb25NZXNzYWdlKGVs
ZW1lbnQpKTsKIH0KIAorVmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQqIFZhbGlkYXRpb25NZXNzYWdl
Ojp2YWxpZGF0aW9uTWVzc2FnZUNsaWVudCgpIGNvbnN0Cit7CisgICAgaWYgKFBhZ2UqIHBhZ2Ug
PSBtX2VsZW1lbnQtPmRvY3VtZW50KCktPnBhZ2UoKSkKKyAgICAgICAgcmV0dXJuIHBhZ2UtPnZh
bGlkYXRpb25NZXNzYWdlQ2xpZW50KCk7CisgICAgcmV0dXJuIDA7Cit9CisKIHZvaWQgVmFsaWRh
dGlvbk1lc3NhZ2U6OnVwZGF0ZVZhbGlkYXRpb25NZXNzYWdlKGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSkKIHsKICAgICBTdHJpbmcgdXBkYXRlZE1lc3NhZ2UgPSBtZXNzYWdlOwotICAgIC8vIEhUTUw1
IHNwZWNpZmljYXRpb24gZG9lc24ndCBhc2sgVUEgdG8gc2hvdyB0aGUgdGl0bGUgYXR0cmlidXRl
IHZhbHVlCi0gICAgLy8gd2l0aCB0aGUgdmFsaWRhdGlvbk1lc3NhZ2UuIEhvd2V2ZXIsIHRoaXMg
YmVoYXZpb3IgaXMgc2FtZSBhcyBPcGVyYQotICAgIC8vIGFuZCB0aGUgc3BlY2lmaWNhdGlvbiBk
ZXNjcmliZXMgc3VjaCBiZWhhdmlvciBhcyBhbiBleGFtcGxlLgotICAgIGNvbnN0IEF0b21pY1N0
cmluZyYgdGl0bGUgPSBtX2VsZW1lbnQtPmZhc3RHZXRBdHRyaWJ1dGUodGl0bGVBdHRyKTsKLSAg
ICBpZiAoIXVwZGF0ZWRNZXNzYWdlLmlzRW1wdHkoKSAmJiAhdGl0bGUuaXNFbXB0eSgpKSB7Ci0g
ICAgICAgIHVwZGF0ZWRNZXNzYWdlLmFwcGVuZCgnXG4nKTsKLSAgICAgICAgdXBkYXRlZE1lc3Nh
Z2UuYXBwZW5kKHRpdGxlKTsKKyAgICBpZiAoIXZhbGlkYXRpb25NZXNzYWdlQ2xpZW50KCkpIHsK
KyAgICAgICAgLy8gSFRNTDUgc3BlY2lmaWNhdGlvbiBkb2Vzbid0IGFzayBVQSB0byBzaG93IHRo
ZSB0aXRsZSBhdHRyaWJ1dGUgdmFsdWUKKyAgICAgICAgLy8gd2l0aCB0aGUgdmFsaWRhdGlvbk1l
c3NhZ2UuIEhvd2V2ZXIsIHRoaXMgYmVoYXZpb3IgaXMgc2FtZSBhcyBPcGVyYQorICAgICAgICAv
LyBhbmQgdGhlIHNwZWNpZmljYXRpb24gZGVzY3JpYmVzIHN1Y2ggYmVoYXZpb3IgYXMgYW4gZXhh
bXBsZS4KKyAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiB0aXRsZSA9IG1fZWxlbWVudC0+ZmFz
dEdldEF0dHJpYnV0ZSh0aXRsZUF0dHIpOworICAgICAgICBpZiAoIXVwZGF0ZWRNZXNzYWdlLmlz
RW1wdHkoKSAmJiAhdGl0bGUuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICB1cGRhdGVkTWVzc2Fn
ZS5hcHBlbmQoJ1xuJyk7CisgICAgICAgICAgICB1cGRhdGVkTWVzc2FnZS5hcHBlbmQodGl0bGUp
OworICAgICAgICB9CiAgICAgfQogCiAgICAgaWYgKHVwZGF0ZWRNZXNzYWdlLmlzRW1wdHkoKSkg
ewpAQCAtODksNiArMTA0LDExIEBAIHZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6OnVwZGF0ZVZhbGlk
YXRpb25NZXNzYWdlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIAogdm9pZCBWYWxpZGF0aW9uTWVz
c2FnZTo6c2V0TWVzc2FnZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB7CisgICAgaWYgKFZhbGlk
YXRpb25NZXNzYWdlQ2xpZW50KiBjbGllbnQgPSB2YWxpZGF0aW9uTWVzc2FnZUNsaWVudCgpKSB7
CisgICAgICAgIGNsaWVudC0+c2hvd1ZhbGlkYXRpb25NZXNzYWdlKCptX2VsZW1lbnQsIG1lc3Nh
Z2UpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgLy8gRG9uJ3QgbW9kaWZ5IHRoZSBE
T00gdHJlZSBpbiB0aGlzIGNvbnRleHQuCiAgICAgLy8gSWYgc28sIGFuIGFzc2VydGlvbiBpbiBO
b2RlOjppc0ZvY3VzYWJsZSgpIGZhaWxzLgogICAgIEFTU0VSVCghbWVzc2FnZS5pc0VtcHR5KCkp
OwpAQCAtMTAyLDYgKzEyMiw3IEBAIHZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2Uo
Y29uc3QgU3RyaW5nJiBtZXNzYWdlKQogCiB2b2lkIFZhbGlkYXRpb25NZXNzYWdlOjpzZXRNZXNz
YWdlRE9NQW5kU3RhcnRUaW1lcihUaW1lcjxWYWxpZGF0aW9uTWVzc2FnZT4qKQogeworICAgIEFT
U0VSVCghdmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQoKSk7CiAgICAgQVNTRVJUKG1fbWVzc2FnZUhl
YWRpbmcpOwogICAgIEFTU0VSVChtX21lc3NhZ2VCb2R5KTsKICAgICBtX21lc3NhZ2VIZWFkaW5n
LT5yZW1vdmVBbGxDaGlsZHJlbigpOwpAQCAtMTUzLDYgKzE3NCw3IEBAIHN0YXRpYyB2b2lkIGFk
anVzdEJ1YmJsZVBvc2l0aW9uKGNvbnN0IExheW91dFJlY3QmIGhvc3RSZWN0LCBIVE1MRWxlbWVu
dCogYnViYmxlCiAKIHZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6OmJ1aWxkQnViYmxlVHJlZShUaW1l
cjxWYWxpZGF0aW9uTWVzc2FnZT4qKQogeworICAgIEFTU0VSVCghdmFsaWRhdGlvbk1lc3NhZ2VD
bGllbnQoKSk7CiAgICAgU2hhZG93Um9vdCogc2hhZG93Um9vdCA9IG1fZWxlbWVudC0+ZW5zdXJl
VXNlckFnZW50U2hhZG93Um9vdCgpOwogCiAgICAgRG9jdW1lbnQqIGRvYyA9IG1fZWxlbWVudC0+
ZG9jdW1lbnQoKTsKQEAgLTE5OSw2ICsyMjEsMTEgQEAgdm9pZCBWYWxpZGF0aW9uTWVzc2FnZTo6
YnVpbGRCdWJibGVUcmVlKFRpbWVyPFZhbGlkYXRpb25NZXNzYWdlPiopCiAKIHZvaWQgVmFsaWRh
dGlvbk1lc3NhZ2U6OnJlcXVlc3RUb0hpZGVNZXNzYWdlKCkKIHsKKyAgICBpZiAoVmFsaWRhdGlv
bk1lc3NhZ2VDbGllbnQqIGNsaWVudCA9IHZhbGlkYXRpb25NZXNzYWdlQ2xpZW50KCkpIHsKKyAg
ICAgICAgY2xpZW50LT5oaWRlVmFsaWRhdGlvbk1lc3NhZ2UoKm1fZWxlbWVudCk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisKICAgICAvLyBXZSBtdXN0IG5vdCBtb2RpZnkgdGhlIERPTSB0cmVl
IGluIHRoaXMgY29udGV4dCBieSB0aGUgc2FtZSByZWFzb24gYXMgc2V0TWVzc2FnZSgpLgogICAg
IG1fdGltZXIgPSBhZG9wdFB0cihuZXcgVGltZXI8VmFsaWRhdGlvbk1lc3NhZ2U+KHRoaXMsICZW
YWxpZGF0aW9uTWVzc2FnZTo6ZGVsZXRlQnViYmxlVHJlZSkpOwogICAgIG1fdGltZXItPnN0YXJ0
T25lU2hvdCgwKTsKQEAgLTIwNiwxMyArMjMzLDE0IEBAIHZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6
OnJlcXVlc3RUb0hpZGVNZXNzYWdlKCkKIAogYm9vbCBWYWxpZGF0aW9uTWVzc2FnZTo6c2hhZG93
VHJlZUNvbnRhaW5zKE5vZGUqIG5vZGUpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX2J1YmJsZSkKKyAg
ICBpZiAodmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQoKSB8fCAhbV9idWJibGUpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICByZXR1cm4gbV9idWJibGUtPnRyZWVTY29wZSgpID09IG5vZGUtPnRy
ZWVTY29wZSgpOwogfQogCiB2b2lkIFZhbGlkYXRpb25NZXNzYWdlOjpkZWxldGVCdWJibGVUcmVl
KFRpbWVyPFZhbGlkYXRpb25NZXNzYWdlPiopCiB7CisgICAgQVNTRVJUKCF2YWxpZGF0aW9uTWVz
c2FnZUNsaWVudCgpKTsKICAgICBpZiAobV9idWJibGUpIHsKICAgICAgICAgbV9tZXNzYWdlSGVh
ZGluZyA9IDA7CiAgICAgICAgIG1fbWVzc2FnZUJvZHkgPSAwOwpAQCAtMjI0LDYgKzI1Miw4IEBA
IHZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6OmRlbGV0ZUJ1YmJsZVRyZWUoVGltZXI8VmFsaWRhdGlv
bk1lc3NhZ2U+KikKIAogYm9vbCBWYWxpZGF0aW9uTWVzc2FnZTo6aXNWaXNpYmxlKCkgY29uc3QK
IHsKKyAgICBpZiAoVmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQqIGNsaWVudCA9IHZhbGlkYXRpb25N
ZXNzYWdlQ2xpZW50KCkpCisgICAgICAgIHJldHVybiBjbGllbnQtPmlzVmFsaWRhdGlvbk1lc3Nh
Z2VWaXNpYmxlKCptX2VsZW1lbnQpOwogICAgIHJldHVybiAhbV9tZXNzYWdlLmlzRW1wdHkoKTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCmluZGV4IGI1YmI4ZGJi
ODc5NmI1NTY1ZWQxYjMyZTM1NjJjMTQ5M2MyNDVjYjIuLjJiM2U3NjVkYzZjZmVhNDYxZDU3ZWVh
OTE4OWFlZTRkNDk0M2M4ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRh
dGlvbk1lc3NhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdl
LmgKQEAgLTQyLDcgKzQyLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEhUTUxFbGVt
ZW50OwogY2xhc3MgSFRNTEZvcm1Db250cm9sRWxlbWVudDsKIGNsYXNzIE5vZGU7CitjbGFzcyBW
YWxpZGF0aW9uTWVzc2FnZUNsaWVudDsKIAorLy8gRklYTUU6IFdlIHNob3VsZCByZW1vdmUgdGhl
IGNvZGUgZm9yICF2YWxpZGF0aW9uTWVzc2FnZUNsaWVudCgpIHdoZW4gYWxsCisvLyBwb3J0cyBz
dXBwb3J0aW5nIGludGVyYWN0aXZlIHZhbGlkYXRpb24gc3dpdGNoIHRvIFZhbGlkYXRpb25NZXNz
YWdlQ2xpZW50LgogY2xhc3MgVmFsaWRhdGlvbk1lc3NhZ2UgewogICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFZhbGlkYXRpb25NZXNzYWdlKTsKIHB1YmxpYzoKQEAgLTU1LDYgKzU4LDcgQEAgcHVi
bGljOgogCiBwcml2YXRlOgogICAgIFZhbGlkYXRpb25NZXNzYWdlKEhUTUxGb3JtQ29udHJvbEVs
ZW1lbnQqKTsKKyAgICBWYWxpZGF0aW9uTWVzc2FnZUNsaWVudCogdmFsaWRhdGlvbk1lc3NhZ2VD
bGllbnQoKSBjb25zdDsKICAgICB2b2lkIHNldE1lc3NhZ2UoY29uc3QgU3RyaW5nJik7CiAgICAg
dm9pZCBzZXRNZXNzYWdlRE9NQW5kU3RhcnRUaW1lcihUaW1lcjxWYWxpZGF0aW9uTWVzc2FnZT4q
ID0gMCk7CiAgICAgdm9pZCBidWlsZEJ1YmJsZVRyZWUoVGltZXI8VmFsaWRhdGlvbk1lc3NhZ2U+
Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCA4NTc4ZDMzZDJmZTJmMjRiMWI2OGRiOTFhOWIxZTU5
NzdhMWRjNWM3Li5hNWYzNjVlMzU1NjNjNmE5MjA2MmNlMTllOTkxOTY5YzJmMWUxY2ZlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZS5jcHAKQEAgLTEzMyw2ICsxMzMsNyBAQCBQYWdlOjpQYWdlKFBhZ2VDbGllbnRz
JiBwYWdlQ2xpZW50cykKICAgICAsIG1fYmFja0ZvcndhcmRDb250cm9sbGVyKEJhY2tGb3J3YXJk
Q29udHJvbGxlcjo6Y3JlYXRlKHRoaXMsIHBhZ2VDbGllbnRzLmJhY2tGb3J3YXJkQ2xpZW50KSkK
ICAgICAsIG1fdGhlbWUoUmVuZGVyVGhlbWU6OnRoZW1lRm9yUGFnZSh0aGlzKSkKICAgICAsIG1f
ZWRpdG9yQ2xpZW50KHBhZ2VDbGllbnRzLmVkaXRvckNsaWVudCkKKyAgICAsIG1fdmFsaWRhdGlv
bk1lc3NhZ2VDbGllbnQocGFnZUNsaWVudHMudmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQpCiAgICAg
LCBtX2ZyYW1lQ291bnQoMCkKICAgICAsIG1fb3BlbmVkQnlET00oZmFsc2UpCiAgICAgLCBtX3Rh
YktleUN5Y2xlc1Rocm91Z2hFbGVtZW50cyh0cnVlKQpAQCAtMTIyNyw2ICsxMjI4LDcgQEAgUGFn
ZTo6UGFnZUNsaWVudHM6OlBhZ2VDbGllbnRzKCkKICAgICAsIGVkaXRvckNsaWVudCgwKQogICAg
ICwgZHJhZ0NsaWVudCgwKQogICAgICwgaW5zcGVjdG9yQ2xpZW50KDApCisgICAgLCB2YWxpZGF0
aW9uTWVzc2FnZUNsaWVudCgwKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IGU0NGI5MTIxZDVm
Njk0NTQxMWZiZDkzN2RjYmY4MjUzNmY5MTNmYjkuLjZmNGZlMDViZWFhNTYzMzdjNjY3NTAxYTUw
NmIyZjcyYWFiZjg3YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC04NSw2ICs4NSw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTY3JvbGxpbmdDb29yZGluYXRvcjsKICAgICBjbGFzcyBT
ZXR0aW5nczsKICAgICBjbGFzcyBTdG9yYWdlTmFtZXNwYWNlOworICAgIGNsYXNzIFZhbGlkYXRp
b25NZXNzYWdlQ2xpZW50OwogCiAgICAgdHlwZWRlZiB1aW50NjRfdCBMaW5rSGFzaDsKIApAQCAt
MTI0LDYgKzEyNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIERyYWdDbGll
bnQqIGRyYWdDbGllbnQ7CiAgICAgICAgICAgICBJbnNwZWN0b3JDbGllbnQqIGluc3BlY3RvckNs
aWVudDsKICAgICAgICAgICAgIFJlZlB0cjxCYWNrRm9yd2FyZExpc3Q+IGJhY2tGb3J3YXJkQ2xp
ZW50OworICAgICAgICAgICAgVmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQqIHZhbGlkYXRpb25NZXNz
YWdlQ2xpZW50OwogICAgICAgICB9OwogCiAgICAgICAgIGV4cGxpY2l0IFBhZ2UoUGFnZUNsaWVu
dHMmKTsKQEAgLTE4Niw2ICsxODgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjaWYgRU5BQkxF
KFBPSU5URVJfTE9DSykKICAgICAgICAgUG9pbnRlckxvY2tDb250cm9sbGVyKiBwb2ludGVyTG9j
a0NvbnRyb2xsZXIoKSBjb25zdCB7IHJldHVybiBtX3BvaW50ZXJMb2NrQ29udHJvbGxlci5nZXQo
KTsgfQogI2VuZGlmCisgICAgICAgIFZhbGlkYXRpb25NZXNzYWdlQ2xpZW50KiB2YWxpZGF0aW9u
TWVzc2FnZUNsaWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fdmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQ7
IH0KIAogICAgICAgICBTY3JvbGxpbmdDb29yZGluYXRvciogc2Nyb2xsaW5nQ29vcmRpbmF0b3Io
KTsKIApAQCAtMzgyLDYgKzM4NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgUmVm
UHRyPFJlbmRlclRoZW1lPiBtX3RoZW1lOwogCiAgICAgICAgIEVkaXRvckNsaWVudCogbV9lZGl0
b3JDbGllbnQ7CisgICAgICAgIFZhbGlkYXRpb25NZXNzYWdlQ2xpZW50KiBtX3ZhbGlkYXRpb25N
ZXNzYWdlQ2xpZW50OwogCiAgICAgICAgIGludCBtX2ZyYW1lQ291bnQ7CiAgICAgICAgIFN0cmlu
ZyBtX2dyb3VwTmFtZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAppbmRleCA2ZmEzYmMwMjRiOGI4YzJm
OWFjYzBlZDAzZDI2MTlkNDY2NTMyOTYzLi5lZDhkZjFlMjY3YTAwN2YyOWQ1OTQ1YTBlYjdkNGU1
N2YwYTJhODk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCkBAIC00NjAsMTAgKzQ2MCw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBzZXRRdWFudGl6ZWRNZW1vcnlJbmZvRW5h
YmxlZChib29sIGZsYWcpIHsgbV9xdWFudGl6ZWRNZW1vcnlJbmZvRW5hYmxlZCA9IGZsYWc7IH0K
ICAgICAgICAgYm9vbCBxdWFudGl6ZWRNZW1vcnlJbmZvRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJu
IG1fcXVhbnRpemVkTWVtb3J5SW5mb0VuYWJsZWQ7IH0KIAotICAgICAgICAvLyBUaGlzIHNldHRp
bmcgd2lsbCBiZSByZW1vdmVkIHdoZW4gYW4gSFRNTDUgY29tcGF0aWJpbGl0eSBpc3N1ZSBpcwot
ICAgICAgICAvLyByZXNvbHZlZCBhbmQgV2ViS2l0IGltcGxlbWVudGF0aW9uIG9mIGludGVyYWN0
aXZlIHZhbGlkYXRpb24gaXMKLSAgICAgICAgLy8gY29tcGxldGVkLiBTZWUgaHR0cDovL3dlYmtp
dC5vcmcvYi80MDUyMCwgaHR0cDovL3dlYmtpdC5vcmcvYi80MDc0NywKLSAgICAgICAgLy8gYW5k
IGh0dHA6Ly93ZWJraXQub3JnL2IvNDA5MDgKKyAgICAgICAgLy8gVGhpcyBmZWF0dXJlIHJlcXVp
cmVzIGFuIGltcGxlbWVudGF0aW9uIG9mIFZhbGlkYXRpb25NZXNzYWdlQ2xpZW50LgogICAgICAg
ICB2b2lkIHNldEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkKGJvb2wgZmxhZykgeyBt
X2ludGVyYWN0aXZlRm9ybVZhbGlkYXRpb24gPSBmbGFnOyB9CiAgICAgICAgIGJvb2wgaW50ZXJh
Y3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2ludGVyYWN0aXZl
Rm9ybVZhbGlkYXRpb247IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9WYWxp
ZGF0aW9uTWVzc2FnZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9WYWxpZGF0aW9uTWVz
c2FnZUNsaWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVjOGEzNTU2Y2M2N2JhMzliYWRmYzBhMDkzNDhmODMz
Y2FlYmRjNzgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1ZhbGlkYXRp
b25NZXNzYWdlQ2xpZW50LmgKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UKKyAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IKKyAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisgKiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgVmFsaWRhdGlvbk1lc3NhZ2VDbGllbnRfaAorI2RlZmluZSBWYWxpZGF0aW9uTWVzc2Fn
ZUNsaWVudF9oCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRWxlbWVudDsKKworY2xh
c3MgVmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQgeworcHVibGljOgorICAgIHZpcnR1YWwgflZhbGlk
YXRpb25NZXNzYWdlQ2xpZW50KCkgeyB9CisKKyAgICAvLyBTaG93IHZhbGlkYXRpb24gbWVzc2Fn
ZSBmb3IgdGhlIHNwZWNpZmllZCBhbmNob3IgZWxlbWVudC4gQW4KKyAgICAvLyBpbXBsZW1lbnRh
dGlvbiBvZiB0aGlzIGZ1bmN0aW9uIG1heSBoaWRlIHRoZSBtZXNzYWdlIGF1dG9tYXRpY2FsbHkg
YWZ0ZXIKKyAgICAvLyBzb21lIHBlcmlvZC4KKyAgICB2aXJ0dWFsIHZvaWQgc2hvd1ZhbGlkYXRp
b25NZXNzYWdlKGNvbnN0IEVsZW1lbnQmIGFuY2hvciwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKSA9
IDA7CisKKyAgICAvLyBIaWRlIHZhbGlkYXRpb24gbWVzc2FnZSBmb3IgdGhlIHNwZWNpZmllZCBh
bmNob3IgaWYgdGhlIG1lc3NhZ2UgZm9yIHRoZQorICAgIC8vIGFuY2hvciBpcyBhbHJlYWR5IHZp
c2libGUuCisgICAgdmlydHVhbCB2b2lkIGhpZGVWYWxpZGF0aW9uTWVzc2FnZShjb25zdCBFbGVt
ZW50JiBhbmNob3IpID0gMDsKKworICAgIC8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgdmFsaWRhdGlv
biBtZXNzYWdlIGZvciB0aGUgc3BlY2lmaWVkIGFuY2hvciBlbGVtZW50CisgICAgLy8gaXMgdmlz
aWJsZS4KKyAgICB2aXJ0dWFsIGJvb2wgaXNWYWxpZGF0aW9uTWVzc2FnZVZpc2libGUoY29uc3Qg
RWxlbWVudCYgYW5jaG9yKSA9IDA7Cit9OworCit9CisKKyNlbmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>