<?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>107653</bug_id>
          
          <creation_ts>2013-01-23 02:20:54 -0800</creation_ts>
          <short_desc>[WK2] Add applyDeviceScaleFactorInCompositor and applyPageScaleFactorInCompositor APIs to WebPreferences.</short_desc>
          <delta_ts>2013-01-24 00:40:42 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</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>105978</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dongseong Hwang">dongseong.hwang</reporter>
          <assigned_to name="Dongseong Hwang">dongseong.hwang</assigned_to>
          <cc>andersca</cc>
    
    <cc>benjamin</cc>
    
    <cc>kenneth</cc>
    
    <cc>mikhail.pozdnyakov</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>814033</commentid>
    <comment_count>0</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-01-23 02:20:54 -0800</bug_when>
    <thetext>EFL and Qt will use this preferences.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814035</commentid>
    <comment_count>1</comment_count>
      <attachid>184185</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-01-23 02:26:31 -0800</bug_when>
    <thetext>Created attachment 184185
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814075</commentid>
    <comment_count>2</comment_count>
      <attachid>184192</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-01-23 03:39:57 -0800</bug_when>
    <thetext>Created attachment 184192
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814855</commentid>
    <comment_count>3</comment_count>
      <attachid>184185</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-01-23 17:04:17 -0800</bug_when>
    <thetext>Comment on attachment 184185
Patch

This doesn&apos;t actually expose the preference to API and you also have not explained what this would be used for and why it is necessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815053</commentid>
    <comment_count>4</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-01-23 21:40:25 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 184185 [details])
&gt; This doesn&apos;t actually expose the preference to API and you also have not explained what this would be used for and why it is necessary.

It is very reasonable concern. I did block Bug 105978 that uses this preference, but I did not explain enough. sorry for that.

EFL and Qt want to use page scale in WebCore as Chromium did. So EFL and Qt want to set applyDeviceScaleFactorInCompositor and applyPageScaleFactorInCompositor as Chromium did.
EFL and Qt want to set both in UI Process, so we need to add new API in WebPreferencesStore although we don&apos;t add new API in WK2 API (WKPreferences). (I made a mistake about title.)

Could we add new those APIs in WebPreferencesStore?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815060</commentid>
    <comment_count>5</comment_count>
      <attachid>184399</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-01-23 21:49:01 -0800</bug_when>
    <thetext>Created attachment 184399
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815175</commentid>
    <comment_count>6</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2013-01-24 00:28:02 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 184185 [details])
&gt; This doesn&apos;t actually expose the preference to API and you also have not explained what this would be used for and why it is necessary.

I think the point is that it is not a user preference, but something which should be set by out view. Dongsung, is there a reason why this cannot always be set in the WebProcess, like together with turning on fixed layouting?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815188</commentid>
    <comment_count>7</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-01-24 00:40:29 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #3)
&gt; &gt; (From update of attachment 184185 [details] [details])
&gt; &gt; This doesn&apos;t actually expose the preference to API and you also have not explained what this would be used for and why it is necessary.
&gt; 
&gt; I think the point is that it is not a user preference, but something which should be set by out view. Dongsung, is there a reason why this cannot always be set in the WebProcess, like together with turning on fixed layouting?

aha, do you mean it is fine that setting them in WebPage::setUseFixedLayout(bool fixed)?
I did not do that because I did not fully understand what is FixedLayout.

Ok, I see. This bug is invalid.

Thank kenneth and sam.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184185</attachid>
            <date>2013-01-23 02:26:31 -0800</date>
            <delta_ts>2013-01-23 21:48:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107653-20130123192320.patch</filename>
            <type>text/plain</type>
            <size>3674</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNTIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNWQ2MmQ5ZjAzNjJkNTZi
ODJkMWUzYTFkMTJkZGM5NWQ2MTQ0MGVhNy4uMjJiOGE0MGY3MTQ2MDlhODEzOGM3Y2VjZDRiNGU0
YTVmOGM2Yjc5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEzLTAxLTIzICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIFtXSzJdIEFk
ZCBhcHBseURldmljZVNjYWxlRmFjdG9ySW5Db21wb3NpdG9yIGFuZCBhcHBseVBhZ2VTY2FsZUZh
Y3RvckluQ29tcG9zaXRvciBBUElzIHRvIFdlYktpdDIgV0tQcmVmZXJlbmNlcy4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzY1MworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBkZWZhdWx0IHZhbHVl
IG9mIGFwcGx5RGV2aWNlU2NhbGVGYWN0b3JJbkNvbXBvc2l0b3IgaXMgdHJ1ZSwgYW5kIHRoZQor
ICAgICAgICBkZWZhdWx0IHZhbHVlIG9mIGFwcGx5UGFnZVNjYWxlRmFjdG9ySW5Db21wb3NpdG9y
IGlzIGZhbHNlLCBiZWNhdXNlIG9mCisgICAgICAgIHRoZSBkZWZhdWx0IHZhbHVlcyBpbiBTZXR0
aW5ncy4KKworICAgICAgICBFRkwgYW5kIFF0IHdpbGwgdXNlIHRoaXMgcHJlZmVyZW5jZXMuCisK
KyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oOgorICAgICAgICAoV2ViS2l0
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKToKKwogMjAxMy0wMS0yMiAgQW5kZXJz
IENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBhIHBsYXRmb3Jv
bSBzdHJhdGVneSBmb3IgbG9jYWwgc3RvcmFnZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQ
cmVmZXJlbmNlc1N0b3JlLmgKaW5kZXggNDBlZmJmNzEwNzgwNWFjZDVkNGRjZjU4MDU2NDY0Y2Q5
YWExZTgwZS4uMjA1ZTAxZjZkOTcxZDczOGY5OTE2ODJjZGVlNDVlZTVjYmE4NmU4NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCkBAIC03NCw2ICs3NCw4
IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogICAgIG1hY3JvKEh5cGVybGlua0F1ZGl0aW5nRW5hYmxl
ZCwgaHlwZXJsaW5rQXVkaXRpbmdFbmFibGVkLCBCb29sLCBib29sLCB0cnVlKSBcCiAgICAgbWFj
cm8oTmVlZHNTaXRlU3BlY2lmaWNRdWlya3MsIG5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzLCBCb29s
LCBib29sLCBmYWxzZSkgXAogICAgIG1hY3JvKEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVk
LCBhY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAorICAg
IG1hY3JvKEFwcGx5RGV2aWNlU2NhbGVGYWN0b3JJbkNvbXBvc2l0b3IsIGFwcGx5RGV2aWNlU2Nh
bGVGYWN0b3JJbkNvbXBvc2l0b3IsIEJvb2wsIGJvb2wsIHRydWUpIFwKKyAgICBtYWNybyhBcHBs
eVBhZ2VTY2FsZUZhY3RvckluQ29tcG9zaXRvciwgYXBwbHlQYWdlU2NhbGVGYWN0b3JJbkNvbXBv
c2l0b3IsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCiAgICAgbWFjcm8oRm9yY2VDb21wb3NpdGluZ01v
ZGUsIGZvcmNlQ29tcG9zaXRpbmdNb2RlLCBCb29sLCBib29sLCBmYWxzZSkgXAogICAgIG1hY3Jv
KEFjY2VsZXJhdGVkRHJhd2luZ0VuYWJsZWQsIGFjY2VsZXJhdGVkRHJhd2luZ0VuYWJsZWQsIEJv
b2wsIGJvb2wsIGZhbHNlKSBcCiAgICAgbWFjcm8oQ2FudmFzVXNlc0FjY2VsZXJhdGVkRHJhd2lu
ZywgY2FudmFzVXNlc0FjY2VsZXJhdGVkRHJhd2luZywgQm9vbCwgYm9vbCwgdHJ1ZSkgXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDEzZGU4
NTJjYzE0MDJjMTg5YmY2MzYwYTNiMTU4ZDcwY2JhYWNhMzIuLjlmOTVkNDE0NDQwNWMxMDAzMDBj
Y2Q3ZjY1MWNkZDhjMjFlMDU4MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTIzNDcsNiArMjM0Nyw4IEBAIHZvaWQgV2ViUGFnZTo6dXBk
YXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAgICAgc2V0
dGluZ3MtPnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1
ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6YWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWRL
ZXkoKSkgJiYgTGF5ZXJUcmVlSG9zdDo6c3VwcG9ydHNBY2NlbGVyYXRlZENvbXBvc2l0aW5nKCkp
OwogICAgIHNldHRpbmdzLT5zZXRBY2NlbGVyYXRlZERyYXdpbmdFbmFibGVkKHN0b3JlLmdldEJv
b2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6YWNjZWxlcmF0ZWREcmF3aW5nRW5hYmxl
ZEtleSgpKSAmJiBMYXllclRyZWVIb3N0OjpzdXBwb3J0c0FjY2VsZXJhdGVkQ29tcG9zaXRpbmco
KSk7CiAgICAgc2V0dGluZ3MtPnNldENhbnZhc1VzZXNBY2NlbGVyYXRlZERyYXdpbmcoc3RvcmUu
Z2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpjYW52YXNVc2VzQWNjZWxlcmF0
ZWREcmF3aW5nS2V5KCkpICYmIExheWVyVHJlZUhvc3Q6OnN1cHBvcnRzQWNjZWxlcmF0ZWRDb21w
b3NpdGluZygpKTsKKyAgICBzZXR0aW5ncy0+c2V0QXBwbHlEZXZpY2VTY2FsZUZhY3RvckluQ29t
cG9zaXRvcihzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmFwcGx5
RGV2aWNlU2NhbGVGYWN0b3JJbkNvbXBvc2l0b3JLZXkoKSkpOworICAgIHNldHRpbmdzLT5zZXRB
cHBseVBhZ2VTY2FsZUZhY3RvckluQ29tcG9zaXRvcihzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXko
V2ViUHJlZmVyZW5jZXNLZXk6OmFwcGx5UGFnZVNjYWxlRmFjdG9ySW5Db21wb3NpdG9yS2V5KCkp
KTsKICAgICBzZXR0aW5ncy0+c2V0U2hvd0RlYnVnQm9yZGVycyhzdG9yZS5nZXRCb29sVmFsdWVG
b3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmNvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGVLZXkoKSkp
OwogICAgIHNldHRpbmdzLT5zZXRTaG93UmVwYWludENvdW50ZXIoc3RvcmUuZ2V0Qm9vbFZhbHVl
Rm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpjb21wb3NpdGluZ1JlcGFpbnRDb3VudGVyc1Zpc2li
bGVLZXkoKSkpOwogICAgIHNldHRpbmdzLT5zZXRTaG93VGlsZWRTY3JvbGxpbmdJbmRpY2F0b3Io
c3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojp0aWxlZFNjcm9sbGlu
Z0luZGljYXRvclZpc2libGVLZXkoKSkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184192</attachid>
            <date>2013-01-23 03:39:57 -0800</date>
            <delta_ts>2013-01-23 03:40:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107653-20130123203645.patch</filename>
            <type>text/plain</type>
            <size>34842</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNTIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMjJiOGE0MGY3MTQ2MDlh
ODEzOGM3Y2VjZDRiNGU0YTVmOGM2Yjc5ZS4uYzRkZTZiMjJjMWEzZWVlY2JhNTAzZjNiODA1YzBk
Y2M2YmMzN2MxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDkxIEBACiAyMDEzLTAxLTIzICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgogCisgICAgICAgIFtFRkxdW1F0
XVtXSzJdIFdlIHNob3VsZCBjb25zaWRlciBhIHBhZ2Ugc2NhbGUgZmFjdG9yIGluIFdlYkNvcmUg
aW5zdGVhZCBvZiBvdXIgb3duIHNjYWxlIGZhY3Rvci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzY1MworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEN1cnJlbnRseSwgUGFnZVZpZXdwb3J0Q29udHJvbGxl
ciBzZW5kcyBhIHBhZ2Ugc2NhbGUgZmFjdG9yIHRvIENvb3JkaW5hdGVkCisgICAgICAgIEdyYXBo
aWNzIFN5c3RlbSByZWdhcmRsZXNzIG9mIHRoZSBwYWdlIHNjYWxlIGZhY3RvciBpbiBXZWJDb3Jl
LiBUaGlzIHBhdGNoIG1ha2VzCisgICAgICAgIENvb3JkaW5hdGVkIEdyYXBoaWNzIFN5c3RlbSB1
c2UgdGhlIHBhZ2Ugc2NhbGUgZmFjdG9yIGluIFdlYkNvcmUgdG8gbWF0Y2ggb3RoZXIKKyAgICAg
ICAgcG9ydHMuCisKKyAgICAgICAgV2hlbiBpdCBpcyBuZWVkZWQgdG8gY2hhbmdlIGEgcGFnZSBz
Y2FsZSwgUGFnZVZpZXdwb3J0Q29udHJvbGxlciBzZW5kcyB0aGUgc2NhbGUKKyAgICAgICAgdG8g
UGFnZSBpbiBXZWIgUHJvY2VzcyB2aWEgV2ViUGFnZVByb3h5OjpzY2FsZVBhZ2UuIFdoZW4gdGhl
IHBhZ2Ugc2NhbGUgaW4KKyAgICAgICAgV2ViQ29yZSBpcyBjaGFuZ2VkLCBDb29yZGluYXRlZEdy
YXBoaWNzTGF5ZXIgY2FuIGJlIG5vdGlmaWVkIHZpYQorICAgICAgICBkZXZpY2VPclBhZ2VTY2Fs
ZUZhY3RvckNoYW5nZWQgY2FsbGJhY2suIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllciB1c2VzIHRo
ZSBwYWdlCisgICAgICAgIHNjYWxlIGZhY3RvciBsaWtlIHByZXZpb3VzIG91ciBvd24gc2NhbGUg
ZmFjdG9yLgorCisgICAgICAgIFdlIHNldCB0cnVlIHRvIGFwcGx5RGV2aWNlU2NhbGVGYWN0b3JJ
bkNvbXBvc2l0b3IgYW5kCisgICAgICAgIEFwcGx5UGFnZVNjYWxlRmFjdG9ySW5Db21wb3NpdG9y
IGluIFNldHRpbmdzIGxpa2UgY2hyb21pdW0sIGJlY2F1c2UKKyAgICAgICAgVGlsZWRCYWNraW5n
U3RvcmUgdGhhdCBpcyBhIGJhY2tpbmcgc3RvcmUgb2YgZWFjaCBHcmFwaGljc0xheWVyIGFwcGxp
ZXMgdGhlCisgICAgICAgIHNjYWxlIHRvIG91ciByYXN0ZXIgZ3JhcGhpY3MgZW5naW5lcyBpbnN0
ZWFkIG9mIGFwcGx5aW5nIHRoZSBzY2FsZSB0byB0aGUgbG9jYWwKKyAgICAgICAgdHJhbnNmb3Jt
IG9mIGVhY2ggcmVuZGVyIG9iamVjdC4KKworICAgICAgICBUaGFuayBLZW5uZXRoIFJvaGRlIENo
cmlzdGlhbnNlbiBmb3IgaW1wbGVtZW50aW5nIHRoZSBiYXNlIHBhdGNoIG9mIHRoaXMgcGF0Y2gu
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlld0ltcGwuY3BwOgorICAgICAgICAoRXdr
Vmlld0ltcGw6OkV3a1ZpZXdJbXBsKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlj
a3dlYnZpZXcuY3BwOgorICAgICAgICAoUVF1aWNrV2ViVmlld1ByaXZhdGU6OmluaXRpYWxpemUp
OgorICAgICAgICAoUVF1aWNrV2ViVmlld0xlZ2FjeVByaXZhdGU6OnVwZGF0ZVZpZXdwb3J0U2l6
ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9yYXcvcXJhd3dlYnZpZXcuY3BwOgorICAg
ICAgICAoUVJhd1dlYlZpZXc6OnNldFNpemUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGlu
YXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OkNvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5KToKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0
UHJveHk6OnNldFZpc2libGVDb250ZW50c1JlY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Lmg6CisgICAgICAg
IChDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eSk6CisgICAgICAgICogVUlQcm9jZXNzL0Ry
YXdpbmdBcmVhUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eTo6c2V0
VmlzaWJsZUNvbnRlbnRzUmVjdCk6CisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHlJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OnNldFZp
c2libGVDb250ZW50c1JlY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5
SW1wbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6UGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6ZGlkUmVuZGVyRnJhbWUp
OgorICAgICAgICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9sbGVyOjpkaWRDaGFuZ2VDb250
ZW50c1Zpc2liaWxpdHkpOgorICAgICAgICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9sbGVy
OjpzeW5jVmlzaWJsZUNvbnRlbnRzKToKKyAgICAgICAgKFdlYktpdDo6UGFnZVZpZXdwb3J0Q29u
dHJvbGxlcjo6YXBwbHlTY2FsZUFmdGVyUmVuZGVyaW5nQ29udGVudHMpOgorICAgICAgICAoV2Vi
S2l0OjpQYWdlVmlld3BvcnRDb250cm9sbGVyOjphcHBseVBvc2l0aW9uQWZ0ZXJSZW5kZXJpbmdD
b250ZW50cyk6CisgICAgICAgICogVUlQcm9jZXNzL2VmbC9QYWdlQ2xpZW50TGVnYWN5SW1wbC5j
cHA6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRMZWdhY3lJbXBsOjp1cGRhdGVWaWV3cG9y
dFNpemUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGlu
YXRlZEdyYXBoaWNzTGF5ZXI6OkNvb3JkaW5hdGVkR3JhcGhpY3NMYXllcik6CisgICAgICAgIChX
ZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OmRldmljZU9yUGFnZVNjYWxlRmFjdG9y
Q2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OmVm
ZmVjdGl2ZUNvbnRlbnRzU2NhbGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29y
ZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5oOgorICAgICAgICAoQ29v
cmRpbmF0ZWRHcmFwaGljc0xheWVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29v
cmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwOgorICAgICAgICAo
V2ViS2l0OjpDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dCk6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6Y3JlYXRlR3Jh
cGhpY3NMYXllcik6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6
ZGV2aWNlU2NhbGVGYWN0b3IpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpwYWdlU2NhbGVGYWN0b3IpOgorICAgICAgICAoV2Vi
S2l0OjpDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OnNldFZpc2libGVDb250ZW50c1JlY3QpOgor
ICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmRldmljZU9yUGFnZVNj
YWxlRmFjdG9yQ2hhbmdlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Lmg6CisgICAgICAgIChDb29yZGlu
YXRlZExheWVyVHJlZUhvc3QpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGlu
YXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5tZXNzYWdlcy5pbjoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6RHJhd2luZ0FyZWFJbXBsOjp1cGRhdGVCYWNraW5nU3RvcmVTdGF0ZSk6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaDoKKyAgICAgICAgKExheWVyVHJl
ZUhvc3QpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6c2NhbGVQYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6c2V0RGV2aWNlU2NhbGVGYWN0b3IpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9n
dGsvTGF5ZXJUcmVlSG9zdEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3RH
dGs6OmRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCk6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL2d0ay9MYXllclRyZWVIb3N0R3RrLmg6CisgICAgICAgIChMYXllclRyZWVIb3N0
R3RrKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0xheWVyVHJlZUhvc3RNYWMu
aDoKKyAgICAgICAgKExheWVyVHJlZUhvc3RNYWMpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9tYWMvTGF5ZXJUcmVlSG9zdE1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVl
SG9zdENBOjpkZXZpY2VPclBhZ2VTY2FsZUZhY3RvckNoYW5nZWQpOgorCisyMDEzLTAxLTIzICBI
dWFuZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCiAgICAgICAgIFtXSzJd
IEFkZCBhcHBseURldmljZVNjYWxlRmFjdG9ySW5Db21wb3NpdG9yIGFuZCBhcHBseVBhZ2VTY2Fs
ZUZhY3RvckluQ29tcG9zaXRvciBBUElzIHRvIFdlYktpdDIgV0tQcmVmZXJlbmNlcy4KICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzY1MwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3SW1wbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3SW1wbC5jcHAKaW5kZXgg
NzVmYjFkNzA4ZDhhNzg4MTRmMjZlMjQ3ZDVjMTliNjgxNDQ5NmY4NS4uMGU4YjBjZTUwNjBhNmIw
MzUzNDc4YjM4ZTgzOTQ4OTQyYzFkMGU0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvRXdrVmlld0ltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL0V3a1ZpZXdJbXBsLmNwcApAQCAtMTQ5LDYgKzE0OSw4IEBAIEV3a1ZpZXdJ
bXBsOjpFd2tWaWV3SW1wbChFdmFzX09iamVjdCogdmlldywgUGFzc1JlZlB0cjxFd2tDb250ZXh0
PiBjb250ZXh0LCBQYXNzCiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogICAgIG1fcGFn
ZVByb3h5LT5wYWdlR3JvdXAoKS0+cHJlZmVyZW5jZXMoKS0+c2V0QWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgbV9wYWdlUHJveHktPnBhZ2VHcm91cCgpLT5wcmVmZXJl
bmNlcygpLT5zZXRGb3JjZUNvbXBvc2l0aW5nTW9kZSh0cnVlKTsKKyAgICBtX3BhZ2VQcm94eS0+
cGFnZUdyb3VwKCktPnByZWZlcmVuY2VzKCktPnNldEFwcGx5RGV2aWNlU2NhbGVGYWN0b3JJbkNv
bXBvc2l0b3IodHJ1ZSk7CisgICAgbV9wYWdlUHJveHktPnBhZ2VHcm91cCgpLT5wcmVmZXJlbmNl
cygpLT5zZXRBcHBseVBhZ2VTY2FsZUZhY3RvckluQ29tcG9zaXRvcih0cnVlKTsKICNpZiBFTkFC
TEUoV0VCR0wpCiAgICAgbV9wYWdlUHJveHktPnBhZ2VHcm91cCgpLT5wcmVmZXJlbmNlcygpLT5z
ZXRXZWJHTEVuYWJsZWQodHJ1ZSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCmluZGV4IDIwNTMwNzliMGI0MmVjZWI4MTgy
YmQwYThlNjY3MjhjNTk5MTllMzIuLmFkMGJiZDEzNmE3OWQyZmQ4NjkwMzYxYzkwOTdmMjk5Zjkw
YmQ0ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNr
d2Vidmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3
ZWJ2aWV3LmNwcApAQCAtMzIzLDYgKzMyMyw4IEBAIHZvaWQgUVF1aWNrV2ViVmlld1ByaXZhdGU6
OmluaXRpYWxpemUoV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGFnZUdyb3VwUmVmIHBhCiAg
ICAgLy8gQW55IHBhZ2Ugc2V0dGluZyBzaG91bGQgcHJlZmVycmFibGUgYmUgc2V0IGJlZm9yZSBj
cmVhdGluZyB0aGUgcGFnZS4KICAgICB3ZWJQYWdlUHJveHktPnBhZ2VHcm91cCgpLT5wcmVmZXJl
bmNlcygpLT5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCh0cnVlKTsKICAgICB3ZWJQ
YWdlUHJveHktPnBhZ2VHcm91cCgpLT5wcmVmZXJlbmNlcygpLT5zZXRGb3JjZUNvbXBvc2l0aW5n
TW9kZSh0cnVlKTsKKyAgICB3ZWJQYWdlUHJveHktPnBhZ2VHcm91cCgpLT5wcmVmZXJlbmNlcygp
LT5zZXRBcHBseURldmljZVNjYWxlRmFjdG9ySW5Db21wb3NpdG9yKHRydWUpOworICAgIHdlYlBh
Z2VQcm94eS0+cGFnZUdyb3VwKCktPnByZWZlcmVuY2VzKCktPnNldEFwcGx5UGFnZVNjYWxlRmFj
dG9ySW5Db21wb3NpdG9yKHRydWUpOwogICAgIHdlYlBhZ2VQcm94eS0+cGFnZUdyb3VwKCktPnBy
ZWZlcmVuY2VzKCktPnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgd2ViUGFn
ZVByb3h5LT5wYWdlR3JvdXAoKS0+cHJlZmVyZW5jZXMoKS0+c2V0V2ViR0xFbmFibGVkKHRydWUp
OwogCkBAIC04NDIsNyArODQ0LDcgQEAgdm9pZCBRUXVpY2tXZWJWaWV3TGVnYWN5UHJpdmF0ZTo6
dXBkYXRlVmlld3BvcnRTaXplKCkKICAgICB3ZWJQYWdlUHJveHktPmRyYXdpbmdBcmVhKCktPnNl
dFNpemUodmlld3BvcnRTaXplLnRvU2l6ZSgpLCBJbnRTaXplKCkpOwogICAgIC8vIFRoZSBiYWNr
aW5nIHN0b3JlIHNjYWxlIGZhY3RvciBzaG91bGQgYWxyZWFkeSBiZSBzZXQgdG8gdGhlIGRldmlj
ZSBwaXhlbCByYXRpbwogICAgIC8vIG9mIHRoZSB1bmRlcmx5aW5nIHdpbmRvdywgdGh1cyB3ZSBz
ZXQgdGhlIGVmZmVjdGl2ZSBzY2FsZSB0byAxIGhlcmUuCi0gICAgd2ViUGFnZVByb3h5LT5kcmF3
aW5nQXJlYSgpLT5zZXRWaXNpYmxlQ29udGVudHNSZWN0KEZsb2F0UmVjdChGbG9hdFBvaW50KCks
IEZsb2F0U2l6ZSh2aWV3cG9ydFNpemUpKSwgMSwgRmxvYXRQb2ludCgpKTsKKyAgICB3ZWJQYWdl
UHJveHktPmRyYXdpbmdBcmVhKCktPnNldFZpc2libGVDb250ZW50c1JlY3QoRmxvYXRSZWN0KEZs
b2F0UG9pbnQoKSwgRmxvYXRTaXplKHZpZXdwb3J0U2l6ZSkpLCBGbG9hdFBvaW50KCkpOwogfQog
CiBxcmVhbCBRUXVpY2tXZWJWaWV3TGVnYWN5UHJpdmF0ZTo6em9vbUZhY3RvcigpIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Jhdy9xcmF3d2Vidmll
dy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Jhdy9xcmF3d2Vidmlldy5j
cHAKaW5kZXggMmRkNDVkMGVmZmU5ZTBmM2ZmYmFkMzY0OWQzMGU5NTc2ZmJmOWRjMy4uMzYxZjc0
ZGFiODUxYWQ4OThlZDM5ZDI3N2E3YTZmNDc5YjI1OTczMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9xdC9yYXcvcXJhd3dlYnZpZXcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcmF3L3FyYXd3ZWJ2aWV3LmNwcApAQCAtMzU1LDcgKzM1
NSw3IEBAIHZvaWQgUVJhd1dlYlZpZXc6OnNldFNpemUoY29uc3QgUVNpemUmIHNpemUpCiAgICAg
ZC0+bV9zaXplID0gc2l6ZTsKIAogICAgIGRyYXdpbmdBcmVhLT5zZXRTaXplKGQtPm1fc2l6ZSwg
V2ViQ29yZTo6SW50U2l6ZSgpKTsKLSAgICBkcmF3aW5nQXJlYS0+c2V0VmlzaWJsZUNvbnRlbnRz
UmVjdChXZWJDb3JlOjpJbnRSZWN0KFdlYkNvcmU6OkludFBvaW50KCksIGQtPm1fc2l6ZSksIDEg
LypzY2FsZSovLCBXZWJDb3JlOjpGbG9hdFBvaW50KCkpOworICAgIGRyYXdpbmdBcmVhLT5zZXRW
aXNpYmxlQ29udGVudHNSZWN0KFdlYkNvcmU6OkludFJlY3QoV2ViQ29yZTo6SW50UG9pbnQoKSwg
ZC0+bV9zaXplKSwgV2ViQ29yZTo6RmxvYXRQb2ludCgpKTsKIH0KIAogV0tQYWdlUmVmIFFSYXdX
ZWJWaWV3OjpwYWdlUmVmKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdFByb3h5LmNwcAppbmRleCBiYWE4ZjY1MjNkZWJmZGViYmM0ZTUyMmI0NzVlMTRj
YzE4ZmQyZWI1Li42YTA4NTIxMDFjMDdlMmFhYTYyZjA2N2MxNTUyMzE2ZjdjMTA4ZTZmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29y
ZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuY3Bw
CkBAIC00MSw3ICs0MSw2IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogQ29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0UHJveHk6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5KERyYXdpbmdB
cmVhUHJveHkqIGRyYXdpbmdBcmVhUHJveHkpCiAgICAgOiBtX2RyYXdpbmdBcmVhUHJveHkoZHJh
d2luZ0FyZWFQcm94eSkKICAgICAsIG1fcmVuZGVyZXIoYWRvcHRSZWYobmV3IExheWVyVHJlZVJl
bmRlcmVyKHRoaXMpKSkKLSAgICAsIG1fbGFzdFNlbnRTY2FsZSgwKQogewogfQogCkBAIC01NSwx
MSArNTQsNiBAQCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Ojp1cGRhdGVWaWV3
cG9ydCgpCiAgICAgbV9kcmF3aW5nQXJlYVByb3h5LT51cGRhdGVWaWV3cG9ydCgpOwogfQogCi1m
bG9hdCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6ZGV2aWNlU2NhbGVGYWN0b3IoKSBj
b25zdAotewotICAgIHJldHVybiBtX2RyYXdpbmdBcmVhUHJveHktPnBhZ2UoKS0+ZGV2aWNlU2Nh
bGVGYWN0b3IoKTsKLX0KLQogdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6ZGlz
cGF0Y2hVcGRhdGUoY29uc3QgRnVuY3Rpb248dm9pZCgpPiYgZnVuY3Rpb24pCiB7CiAgICAgbV9y
ZW5kZXJlci0+YXBwZW5kVXBkYXRlKGZ1bmN0aW9uKTsKQEAgLTE4NSwxOSArMTc5LDE2IEBAIHZv
aWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OnNldEFuaW1hdGlvbnNMb2NrZWQoYm9v
bCBsb2NrZWQpCiAgICAgZGlzcGF0Y2hVcGRhdGUoYmluZCgmTGF5ZXJUcmVlUmVuZGVyZXI6OnNl
dEFuaW1hdGlvbnNMb2NrZWQsIG1fcmVuZGVyZXIuZ2V0KCksIGxvY2tlZCkpOwogfQogCi12b2lk
IENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpzZXRWaXNpYmxlQ29udGVudHNSZWN0KGNv
bnN0IEZsb2F0UmVjdCYgcmVjdCwgZmxvYXQgcGFnZVNjYWxlRmFjdG9yLCBjb25zdCBGbG9hdFBv
aW50JiB0cmFqZWN0b3J5VmVjdG9yKQordm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94
eTo6c2V0VmlzaWJsZUNvbnRlbnRzUmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QsIGNvbnN0IEZs
b2F0UG9pbnQmIHRyYWplY3RvcnlWZWN0b3IpCiB7CiAgICAgLy8gSW5mb3JtIHRoZSByZW5kZXJl
ciB0byBhZGp1c3Qgdmlld3BvcnQtZml4ZWQgbGF5ZXJzLgogICAgIGRpc3BhdGNoVXBkYXRlKGJp
bmQoJkxheWVyVHJlZVJlbmRlcmVyOjpzZXRWaXNpYmxlQ29udGVudHNSZWN0LCBtX3JlbmRlcmVy
LmdldCgpLCByZWN0KSk7CiAKLSAgICBjb25zdCBmbG9hdCBlZmZlY3RpdmVTY2FsZSA9IGRldmlj
ZVNjYWxlRmFjdG9yKCkgKiBwYWdlU2NhbGVGYWN0b3I7Ci0KLSAgICBpZiAocmVjdCA9PSBtX2xh
c3RTZW50VmlzaWJsZVJlY3QgJiYgZWZmZWN0aXZlU2NhbGUgPT0gbV9sYXN0U2VudFNjYWxlICYm
IHRyYWplY3RvcnlWZWN0b3IgPT0gbV9sYXN0U2VudFRyYWplY3RvcnlWZWN0b3IpCisgICAgaWYg
KHJlY3QgPT0gbV9sYXN0U2VudFZpc2libGVSZWN0ICYmIHRyYWplY3RvcnlWZWN0b3IgPT0gbV9s
YXN0U2VudFRyYWplY3RvcnlWZWN0b3IpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fZHJhd2lu
Z0FyZWFQcm94eS0+cGFnZSgpLT5wcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OkNvb3JkaW5hdGVk
TGF5ZXJUcmVlSG9zdDo6U2V0VmlzaWJsZUNvbnRlbnRzUmVjdChyZWN0LCBlZmZlY3RpdmVTY2Fs
ZSwgdHJhamVjdG9yeVZlY3RvciksIG1fZHJhd2luZ0FyZWFQcm94eS0+cGFnZSgpLT5wYWdlSUQo
KSk7CisgICAgbV9kcmF3aW5nQXJlYVByb3h5LT5wYWdlKCktPnByb2Nlc3MoKS0+c2VuZChNZXNz
YWdlczo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpTZXRWaXNpYmxlQ29udGVudHNSZWN0KHJl
Y3QsIHRyYWplY3RvcnlWZWN0b3IpLCBtX2RyYXdpbmdBcmVhUHJveHktPnBhZ2UoKS0+cGFnZUlE
KCkpOwogICAgIG1fbGFzdFNlbnRWaXNpYmxlUmVjdCA9IHJlY3Q7Ci0gICAgbV9sYXN0U2VudFNj
YWxlID0gZWZmZWN0aXZlU2NhbGU7CiAgICAgbV9sYXN0U2VudFRyYWplY3RvcnlWZWN0b3IgPSB0
cmFqZWN0b3J5VmVjdG9yOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0UHJveHkuaAppbmRleCA3NTkxYjg0ODVkMzk4ODZlZDdlZDJjZDA1ZDExNjEz
ZmU2N2ZhY2QzLi42NzNhNmI4MmJmN2ZkNGExYTc3YmZlY2M2MTkyMDFhYzY0MDdjYTM5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29y
ZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmgKQEAg
LTY0LDcgKzY0LDcgQEAgcHVibGljOgogICAgIHZvaWQgZGVsZXRlQ29tcG9zaXRpbmdMYXllcihD
b29yZGluYXRlZExheWVySUQpOwogICAgIHZvaWQgc2V0Um9vdENvbXBvc2l0aW5nTGF5ZXIoQ29v
cmRpbmF0ZWRMYXllcklEKTsKICAgICB2b2lkIHNldENvbnRlbnRzU2l6ZShjb25zdCBXZWJDb3Jl
OjpGbG9hdFNpemUmKTsKLSAgICB2b2lkIHNldFZpc2libGVDb250ZW50c1JlY3QoY29uc3QgV2Vi
Q29yZTo6RmxvYXRSZWN0JiwgZmxvYXQgcGFnZVNjYWxlRmFjdG9yLCBjb25zdCBXZWJDb3JlOjpG
bG9hdFBvaW50JiB0cmFqZWN0b3J5VmVjdG9yKTsKKyAgICB2b2lkIHNldFZpc2libGVDb250ZW50
c1JlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2lu
dCYgdHJhamVjdG9yeVZlY3Rvcik7CiAgICAgdm9pZCBkaWRSZW5kZXJGcmFtZShjb25zdCBXZWJD
b3JlOjpJbnRTaXplJiBjb250ZW50c1NpemUsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGNvdmVy
ZWRSZWN0KTsKICAgICB2b2lkIGNyZWF0ZVRpbGVGb3JMYXllcihDb29yZGluYXRlZExheWVySUQs
IHVpbnQzMl90IHRpbGVJRCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGNvbnN0IFN1cmZhY2VV
cGRhdGVJbmZvJik7CiAgICAgdm9pZCB1cGRhdGVUaWxlRm9yTGF5ZXIoQ29vcmRpbmF0ZWRMYXll
cklELCB1aW50MzJfdCB0aWxlSUQsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBjb25zdCBTdXJm
YWNlVXBkYXRlSW5mbyYpOwpAQCAtOTQsMTUgKzk0LDEyIEBAIHB1YmxpYzoKICNlbmRpZgogICAg
IHZvaWQgc2V0QmFja2dyb3VuZENvbG9yKGNvbnN0IFdlYkNvcmU6OkNvbG9yJik7CiAKLSAgICBm
bG9hdCBkZXZpY2VTY2FsZUZhY3RvcigpIGNvbnN0OwotCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBk
aXNwYXRjaFVwZGF0ZShjb25zdCBGdW5jdGlvbjx2b2lkKCk+Jik7CiAKICAgICBEcmF3aW5nQXJl
YVByb3h5KiBtX2RyYXdpbmdBcmVhUHJveHk7CiAgICAgUmVmUHRyPExheWVyVHJlZVJlbmRlcmVy
PiBtX3JlbmRlcmVyOwogICAgIFdlYkNvcmU6OkZsb2F0UmVjdCBtX2xhc3RTZW50VmlzaWJsZVJl
Y3Q7Ci0gICAgZmxvYXQgbV9sYXN0U2VudFNjYWxlOwogICAgIFdlYkNvcmU6OkZsb2F0UG9pbnQg
bV9sYXN0U2VudFRyYWplY3RvcnlWZWN0b3I7CiAgICAgdHlwZWRlZiBIYXNoTWFwPHVpbnQzMl90
IC8qIGF0bGFzSUQgKi8sIFJlZlB0cjxDb29yZGluYXRlZFN1cmZhY2U+ID4gU3VyZmFjZU1hcDsK
ICAgICBTdXJmYWNlTWFwIG1fc3VyZmFjZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Ry
YXdpbmdBcmVhUHJveHkuaAppbmRleCAxZWIxODE5NTFiMGJlYmQwODE1ODdjOWFjYzg0YjdhMjQ1
ZTNjNDU5Li5iYWQ2Mzg0ZGU4NmJlMDRmOWYxZjc1NjA5N2VmYTg1NzU3MTc5NDc2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKQEAgLTg2LDcgKzg2LDcg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgV2ViQ29yZTo6SW50UmVjdCB2aWV3cG9ydFZpc2libGVS
ZWN0KCkgY29uc3QgeyByZXR1cm4gY29udGVudHNSZWN0KCk7IH0KICAgICB2aXJ0dWFsIFdlYkNv
cmU6OkludFJlY3QgY29udGVudHNSZWN0KCkgY29uc3Q7CiAgICAgQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0UHJveHkqIGNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5KCkgY29uc3QgeyByZXR1
cm4gbV9jb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5nZXQoKTsgfQotICAgIHZpcnR1YWwg
dm9pZCBzZXRWaXNpYmxlQ29udGVudHNSZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgLyog
dmlzaWJsZUNvbnRlbnRzUmVjdCAqLywgZmxvYXQgLyogc2NhbGUgKi8sIGNvbnN0IFdlYkNvcmU6
OkZsb2F0UG9pbnQmIC8qIHRyYWplY3RvcnlWZWN0b3IgKi8pIHsgfQorICAgIHZpcnR1YWwgdm9p
ZCBzZXRWaXNpYmxlQ29udGVudHNSZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgLyogdmlz
aWJsZUNvbnRlbnRzUmVjdCAqLywgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgLyogdHJhamVj
dG9yeVZlY3RvciAqLykgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVDb29yZGluYXRl
ZExheWVyVHJlZUhvc3RQcm94eU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6
Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKIAogICAgIFdlYlBhZ2VQcm94
eSogcGFnZSgpIHsgcmV0dXJuIG1fd2ViUGFnZVByb3h5OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcAppbmRleCA2NWYxYjllYjk0NWM2
MTExZTJlZmUzZjM0YjFkODA1MWZkMDBiZWYzLi4xODM0ZjlkMGEyM2MwYzQyMGJkZmNmYjIxNmRk
MDE0YWFmMDBlNDY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2lu
Z0FyZWFQcm94eUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5n
QXJlYVByb3h5SW1wbC5jcHAKQEAgLTM3NiwxMCArMzc2LDEwIEBAIHZvaWQgRHJhd2luZ0FyZWFQ
cm94eUltcGw6OmRpZFJlY2VpdmVDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eU1lc3NhZ2Uo
Q29yZUlQCiAgICAgICAgIG1fY29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHktPmRpZFJlY2Vp
dmVDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eU1lc3NhZ2UoY29ubmVjdGlvbiwgbWVzc2Fn
ZUlELCBkZWNvZGVyKTsKIH0KIAotdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6c2V0VmlzaWJs
ZUNvbnRlbnRzUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHZpc2libGVDb250ZW50c1Jl
Y3QsIGZsb2F0IHNjYWxlLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiB0cmFqZWN0b3J5VmVj
dG9yKQordm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6c2V0VmlzaWJsZUNvbnRlbnRzUmVjdChj
b25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHZpc2libGVDb250ZW50c1JlY3QsIGNvbnN0IFdlYkNv
cmU6OkZsb2F0UG9pbnQmIHRyYWplY3RvcnlWZWN0b3IpCiB7CiAgICAgaWYgKG1fY29vcmRpbmF0
ZWRMYXllclRyZWVIb3N0UHJveHkpCi0gICAgICAgIG1fY29vcmRpbmF0ZWRMYXllclRyZWVIb3N0
UHJveHktPnNldFZpc2libGVDb250ZW50c1JlY3QodmlzaWJsZUNvbnRlbnRzUmVjdCwgc2NhbGUs
IHRyYWplY3RvcnlWZWN0b3IpOworICAgICAgICBtX2Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFBy
b3h5LT5zZXRWaXNpYmxlQ29udGVudHNSZWN0KHZpc2libGVDb250ZW50c1JlY3QsIHRyYWplY3Rv
cnlWZWN0b3IpOwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Ry
YXdpbmdBcmVhUHJveHlJbXBsLmgKaW5kZXggNmNlZDIwN2I0Y2M2OThiN2QyYTVjM2Y2YTJiN2Rh
M2NiYmIyMWZjYy4uNGFlNjAyMzFhYTI5MTIzYjJkNzU2NTg3MjJkNTdjZDM4ZjE5OGIzMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgKQEAg
LTgzLDcgKzgzLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGV4aXRBY2NlbGVyYXRlZENvbXBvc2l0
aW5nTW9kZSgpOwogICAgIHZvaWQgdXBkYXRlQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUoY29u
c3QgTGF5ZXJUcmVlQ29udGV4dCYpOwogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKLSAg
ICB2aXJ0dWFsIHZvaWQgc2V0VmlzaWJsZUNvbnRlbnRzUmVjdChjb25zdCBXZWJDb3JlOjpGbG9h
dFJlY3QmIHZpc2libGVDb250ZW50c1JlY3QsIGZsb2F0IHNjYWxlLCBjb25zdCBXZWJDb3JlOjpG
bG9hdFBvaW50JiB0cmFqZWN0b3J5KTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0VmlzaWJsZUNvbnRl
bnRzUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHZpc2libGVDb250ZW50c1JlY3QsIGNv
bnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHRyYWplY3RvcnkpIE9WRVJSSURFOwogICAgIHZvaWQg
ZGlkUmVjZWl2ZUNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5TWVzc2FnZShDb3JlSVBDOjpD
b25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYp
OwogI2VuZGlmCiAjZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Bh
Z2VWaWV3cG9ydENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VW
aWV3cG9ydENvbnRyb2xsZXIuY3BwCmluZGV4IGY3MWMwM2MwMzNhYmUxYzUyMmU2ZDFmYzBiYTRl
MzQ2ZDk1NDU1YjEuLmUwYjNjMTUzZjQyNjZmYmMyMGU2M2M3ZDdmOGViZjg5MGQzZDYyMmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJvbGxl
ci5jcHAKQEAgLTE5Nyw2ICsxOTcsOSBAQCB2b2lkIFBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6OmRp
ZFJlbmRlckZyYW1lKGNvbnN0IEludFNpemUmIGNvbnRlbnRzU2l6ZSwgY29uc3QgSQogICAgICAg
ICBGbG9hdFBvaW50IGN1cnJlbnREaXNjcmV0ZVBvcyA9IHJvdW5kZWRJbnRQb2ludChtX2NvbnRl
bnRzUG9zaXRpb24pOwogICAgICAgICBGbG9hdFBvaW50IHBpeGVsQWxpZ25lZFBvcyA9IHBpeGVs
QWxpZ25lZEZsb2F0UG9pbnQoY3VycmVudERpc2NyZXRlUG9zKTsKICAgICAgICAgbV9jb250ZW50
c1Bvc2l0aW9uID0gYm91bmRDb250ZW50c1Bvc2l0aW9uKHBpeGVsQWxpZ25lZFBvcyk7CisKKyAg
ICAgICAgLy8gRklYTUUgOiB0aGUgY29udGVudHMgcG9zaXRpb24gZG9lcyBub3QgYWZmZWN0IGFu
eXRoaW5nIHdoZW4gZGVsZWdhdGVzIHNjcm9sbGluZyBpcyBlbmFibGVkLgorICAgICAgICBtX3dl
YlBhZ2VQcm94eS0+c2NhbGVQYWdlKG1fcGFnZVNjYWxlRmFjdG9yLCByb3VuZGVkSW50UG9pbnQo
bV9jb250ZW50c1Bvc2l0aW9uKSk7CiAgICAgfQogCiAgICAgLy8gVGhlcmUgbWlnaHQgYmUgcmVu
ZGVyZWQgZnJhbWVzIG5vdCBjb3ZlcmluZyBvdXIgcmVxdWVzdGVkIHBvc2l0aW9uIHlldCwgd2Fp
dCBmb3IgaXQuCkBAIC0yNTgsNyArMjYxLDcgQEAgdm9pZCBQYWdlVmlld3BvcnRDb250cm9sbGVy
OjpkaWRDaGFuZ2VDb250ZW50c1Zpc2liaWxpdHkoY29uc3QgRmxvYXRQb2ludCYgcG9zaXQKICAg
ICBpZiAoIW1fcGVuZGluZ1Bvc2l0aW9uQ2hhbmdlKQogICAgICAgICBtX2NvbnRlbnRzUG9zaXRp
b24gPSBwb3NpdGlvbjsKICAgICBpZiAoIW1fcGVuZGluZ1NjYWxlQ2hhbmdlKQotICAgICAgICBt
X3BhZ2VTY2FsZUZhY3RvciA9IHNjYWxlOworICAgICAgICBhcHBseVNjYWxlQWZ0ZXJSZW5kZXJp
bmdDb250ZW50cyhzY2FsZSk7CiAKICAgICBzeW5jVmlzaWJsZUNvbnRlbnRzKHRyYWplY3RvcnlW
ZWN0b3IpOwogfQpAQCAtMjcxLDcgKzI3NCw3IEBAIHZvaWQgUGFnZVZpZXdwb3J0Q29udHJvbGxl
cjo6c3luY1Zpc2libGVDb250ZW50cyhjb25zdCBGbG9hdFBvaW50JiB0cmFqZWN0b3J5VmVjCiAK
ICAgICBGbG9hdFJlY3QgdmlzaWJsZUNvbnRlbnRzUmVjdChib3VuZENvbnRlbnRzUG9zaXRpb24o
bV9jb250ZW50c1Bvc2l0aW9uKSwgdmlzaWJsZUNvbnRlbnRzU2l6ZSgpKTsKICAgICB2aXNpYmxl
Q29udGVudHNSZWN0LmludGVyc2VjdChGbG9hdFJlY3QoRmxvYXRQb2ludDo6emVybygpLCBtX2Nv
bnRlbnRzU2l6ZSkpOwotICAgIGRyYXdpbmdBcmVhLT5zZXRWaXNpYmxlQ29udGVudHNSZWN0KHZp
c2libGVDb250ZW50c1JlY3QsIG1fcGFnZVNjYWxlRmFjdG9yLCB0cmFqZWN0b3J5VmVjdG9yKTsK
KyAgICBkcmF3aW5nQXJlYS0+c2V0VmlzaWJsZUNvbnRlbnRzUmVjdCh2aXNpYmxlQ29udGVudHNS
ZWN0LCB0cmFqZWN0b3J5VmVjdG9yKTsKIAogICAgIG1fY2xpZW50LT5kaWRDaGFuZ2VWaXNpYmxl
Q29udGVudHMoKTsKIH0KQEAgLTMyNiw2ICszMjksOSBAQCB2b2lkIFBhZ2VWaWV3cG9ydENvbnRy
b2xsZXI6OnJlc3VtZUNvbnRlbnQoKQogCiB2b2lkIFBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6OmFw
cGx5U2NhbGVBZnRlclJlbmRlcmluZ0NvbnRlbnRzKGZsb2F0IHNjYWxlKQogeworICAgIGlmICht
X3BhZ2VTY2FsZUZhY3RvciA9PSBzY2FsZSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgbV9wYWdl
U2NhbGVGYWN0b3IgPSBzY2FsZTsKICAgICBtX3BlbmRpbmdTY2FsZUNoYW5nZSA9IHRydWU7CiAg
ICAgc3luY1Zpc2libGVDb250ZW50cygpOwpAQCAtMzMzLDYgKzMzOSw5IEBAIHZvaWQgUGFnZVZp
ZXdwb3J0Q29udHJvbGxlcjo6YXBwbHlTY2FsZUFmdGVyUmVuZGVyaW5nQ29udGVudHMoZmxvYXQg
c2NhbGUpCiAKIHZvaWQgUGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6YXBwbHlQb3NpdGlvbkFmdGVy
UmVuZGVyaW5nQ29udGVudHMoY29uc3QgRmxvYXRQb2ludCYgcG9zKQogeworICAgIGlmIChtX2Nv
bnRlbnRzUG9zaXRpb24gPT0gcG9zKQorICAgICAgICByZXR1cm47CisKICAgICBtX2NvbnRlbnRz
UG9zaXRpb24gPSBwb3M7CiAgICAgbV9wZW5kaW5nUG9zaXRpb25DaGFuZ2UgPSB0cnVlOwogICAg
IHN5bmNWaXNpYmxlQ29udGVudHMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9lZmwvUGFnZUNsaWVudExlZ2FjeUltcGwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2VmbC9QYWdlQ2xpZW50TGVnYWN5SW1wbC5jcHAKaW5kZXggYTA4ZmU5NmRiY2Q4OGE5MGIy
M2ZiNDdiNjg3NTZhMTlhZWExYjVkNS4uYTA3Zjg1MDY2NjQ5ZTM1Mjk4MDQ1NmViMjFkNzE1ODBi
NTc2M2JmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9QYWdlQ2xp
ZW50TGVnYWN5SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9QYWdl
Q2xpZW50TGVnYWN5SW1wbC5jcHAKQEAgLTUwLDcgKzUwLDcgQEAgdm9pZCBQYWdlQ2xpZW50TGVn
YWN5SW1wbDo6ZGlkQ29tbWl0TG9hZCgpCiB2b2lkIFBhZ2VDbGllbnRMZWdhY3lJbXBsOjp1cGRh
dGVWaWV3cG9ydFNpemUoKQogewogI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQotICAgIG1f
dmlld0ltcGwtPnBhZ2UoKS0+ZHJhd2luZ0FyZWEoKS0+c2V0VmlzaWJsZUNvbnRlbnRzUmVjdChJ
bnRSZWN0KHJvdW5kZWRJbnRQb2ludChtX3ZpZXdJbXBsLT5wYWdlUG9zaXRpb24oKSksIG1fdmll
d0ltcGwtPnNpemUoKSksIG1fdmlld0ltcGwtPnBhZ2VTY2FsZUZhY3RvcigpLCBGbG9hdFBvaW50
KCkpOworICAgIG1fdmlld0ltcGwtPnBhZ2UoKS0+ZHJhd2luZ0FyZWEoKS0+c2V0VmlzaWJsZUNv
bnRlbnRzUmVjdChJbnRSZWN0KHJvdW5kZWRJbnRQb2ludChtX3ZpZXdJbXBsLT5wYWdlUG9zaXRp
b24oKSksIG1fdmlld0ltcGwtPnNpemUoKSksIEZsb2F0UG9pbnQoKSk7CiAjZW5kaWYKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NM
YXllci5jcHAKaW5kZXggNWYyNjYyZWYwOTE4YjNhYTkyMTQwYTQ4NDUyYTU1NTgyZjU3YmQzOS4u
OGZmNTEwZDc4ZTYzYzcyODcwZDAwZDFkYmMxMTU3MWE1NjM5Yjc4ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRp
bmF0ZWRHcmFwaGljc0xheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCkBA
IC0xMjIsNyArMTIyLDYgQEAgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpDb29yZGluYXRlZEdy
YXBoaWNzTGF5ZXIoR3JhcGhpY3NMYXllckNsaWVudCogY2xpZW50KQogICAgICwgbV9wZW5kaW5n
Q29udGVudHNTY2FsZUFkanVzdG1lbnQoZmFsc2UpCiAgICAgLCBtX3BlbmRpbmdWaXNpYmxlUmVj
dEFkanVzdG1lbnQoZmFsc2UpCiAgICAgLCBtX2Nvb3JkaW5hdG9yKDApCi0gICAgLCBtX2NvbnRl
bnRzU2NhbGUoMSkKICAgICAsIG1fY29tcG9zaXRlZE5hdGl2ZUltYWdlUHRyKDApCiAgICAgLCBt
X2NhbnZhc1BsYXRmb3JtTGF5ZXIoMCkKICAgICAsIG1fYW5pbWF0aW9uU3RhcnRlZFRpbWVyKHRo
aXMsICZDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OmFuaW1hdGlvblN0YXJ0ZWRUaW1lckZpcmVk
KQpAQCAtNjU2LDE2ICs2NTUsMTUgQEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnNl
dFZpc2libGVDb250ZW50UmVjdFRyYWplY3RvcnlWZWN0b3IoY29uc3QgRmxvYXQKICAgICBzZXRO
ZWVkc1Zpc2libGVSZWN0QWRqdXN0bWVudCgpOwogfQogCi12b2lkIENvb3JkaW5hdGVkR3JhcGhp
Y3NMYXllcjo6c2V0Q29udGVudHNTY2FsZShmbG9hdCBzY2FsZSkKK3ZvaWQgQ29vcmRpbmF0ZWRH
cmFwaGljc0xheWVyOjpkZXZpY2VPclBhZ2VTY2FsZUZhY3RvckNoYW5nZWQoKQogewotICAgIG1f
Y29udGVudHNTY2FsZSA9IHNjYWxlOwogICAgIGlmIChzaG91bGRIYXZlQmFja2luZ1N0b3JlKCkp
CiAgICAgICAgIG1fcGVuZGluZ0NvbnRlbnRzU2NhbGVBZGp1c3RtZW50ID0gdHJ1ZTsKIH0KIAog
ZmxvYXQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjplZmZlY3RpdmVDb250ZW50c1NjYWxlKCkK
IHsKLSAgICByZXR1cm4gc2VsZk9yQW5jZXN0b3JIYXZlTm9uQWZmaW5lVHJhbnNmb3JtcygpID8g
MSA6IG1fY29udGVudHNTY2FsZTsKKyAgICByZXR1cm4gc2VsZk9yQW5jZXN0b3JIYXZlTm9uQWZm
aW5lVHJhbnNmb3JtcygpID8gMSA6IGRldmljZVNjYWxlRmFjdG9yKCkgKiBwYWdlU2NhbGVGYWN0
b3IoKTsKIH0KIAogdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OmFkanVzdENvbnRlbnRz
U2NhbGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdy
YXBoaWNzTGF5ZXIuaAppbmRleCA2YzQzNTg1YzcwYzhlMDMwNjVlNGRjYWEyN2U0ZjBkYTJmYTM2
OTQ2Li40Yzc2NmI0YWY4NDRiMTkwMzk5MDFhMzYyZjFmMmNkNmNiNWJkZTEwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuaApA
QCAtMTE5LDYgKzExOSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHNEaXNw
bGF5KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHNldE5lZWRzRGlzcGxheUluUmVjdChj
b25zdCBGbG9hdFJlY3QmKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udGVudHNO
ZWVkc0Rpc3BsYXkoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgZGV2aWNlT3JQYWdlU2Nh
bGVGYWN0b3JDaGFuZ2VkKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGZsdXNoQ29tcG9z
aXRpbmdTdGF0ZShjb25zdCBGbG9hdFJlY3QmKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQg
Zmx1c2hDb21wb3NpdGluZ1N0YXRlRm9yVGhpc0xheWVyT25seSgpIE9WRVJSSURFOwogI2lmIEVO
QUJMRShDU1NfRklMVEVSUykKQEAgLTEzMyw3ICsxMzQsNiBAQCBwdWJsaWM6CiAgICAgRmxvYXRQ
b2ludCBjb21wdXRlUG9zaXRpb25SZWxhdGl2ZVRvQmFzZSgpOwogICAgIHZvaWQgY29tcHV0ZVBp
eGVsQWxpZ25tZW50KEZsb2F0UG9pbnQmIHBvc2l0aW9uLCBGbG9hdFNpemUmLCBGbG9hdFBvaW50
M0QmIGFuY2hvclBvaW50LCBGbG9hdFNpemUmIGFsaWdubWVudE9mZnNldCk7CiAKLSAgICB2b2lk
IHNldENvbnRlbnRzU2NhbGUoZmxvYXQpOwogICAgIHZvaWQgc2V0VmlzaWJsZUNvbnRlbnRSZWN0
VHJhamVjdG9yeVZlY3Rvcihjb25zdCBGbG9hdFBvaW50Jik7CiAKICAgICB2b2lkIHNldFJvb3RM
YXllcihib29sKTsKQEAgLTIzNSw3ICsyMzUsNiBAQCBwcml2YXRlOgogICAgIFdlYktpdDo6Q29v
cmRpbmF0ZWRHcmFwaGljc0xheWVyQ2xpZW50KiBtX2Nvb3JkaW5hdG9yOwogICAgIE93blB0cjxU
aWxlZEJhY2tpbmdTdG9yZT4gbV9tYWluQmFja2luZ1N0b3JlOwogICAgIE93blB0cjxUaWxlZEJh
Y2tpbmdTdG9yZT4gbV9wcmV2aW91c0JhY2tpbmdTdG9yZTsKLSAgICBmbG9hdCBtX2NvbnRlbnRz
U2NhbGU7CiAKICAgICBSZWZQdHI8SW1hZ2U+IG1fY29tcG9zaXRlZEltYWdlOwogICAgIE5hdGl2
ZUltYWdlUHRyIG1fY29tcG9zaXRlZE5hdGl2ZUltYWdlUHRyOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0
ZWRMYXllclRyZWVIb3N0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9D
b29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKaW5kZXggNzk3
YWVlMzUyYjBlYjA4MzI0ZjU4Y2E5YjNmZDIyZmJmNWNhZjk2YS4uMDBmYTQ3ZjhkYzI1ODliZTkw
Nzc5ZjJlYTQ3YWNjZGI2NDU2MTI4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCkBAIC04Nyw3ICs4Nyw2IEBAIENv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0KFdlYlBhZ2Uq
IHdlYlBhZ2UpCiAgICAgLCBtX2lzRmx1c2hpbmdMYXllckNoYW5nZXMoZmFsc2UpCiAgICAgLCBt
X3dhaXRpbmdGb3JVSVByb2Nlc3ModHJ1ZSkKICAgICAsIG1faXNTdXNwZW5kZWQoZmFsc2UpCi0g
ICAgLCBtX2NvbnRlbnRzU2NhbGUoMSkKICAgICAsIG1fc2hvdWxkU2VuZFNjcm9sbFBvc2l0aW9u
VXBkYXRlKHRydWUpCiAgICAgLCBtX3Nob3VsZFN5bmNGcmFtZShmYWxzZSkKICAgICAsIG1fZGlk
SW5pdGlhbGl6ZVJvb3RDb21wb3NpdGluZ0xheWVyKGZhbHNlKQpAQCAtNjc5LDEyICs2NzgsMjEg
QEAgUGFzc093blB0cjxHcmFwaGljc0xheWVyPiBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmNy
ZWF0ZUdyYXBoaWNzTGF5ZXIoR3JhcGhpY3MKICAgICBsYXllci0+c2V0Q29vcmRpbmF0b3IodGhp
cyk7CiAgICAgbV9yZWdpc3RlcmVkTGF5ZXJzLmFkZChsYXllcik7CiAgICAgbV9sYXllcnNUb0Ny
ZWF0ZS5hcHBlbmQobGF5ZXItPmlkKCkpOwotICAgIGxheWVyLT5zZXRDb250ZW50c1NjYWxlKG1f
Y29udGVudHNTY2FsZSk7CiAgICAgbGF5ZXItPnNldE5lZWRzVmlzaWJsZVJlY3RBZGp1c3RtZW50
KCk7CiAgICAgc2NoZWR1bGVMYXllckZsdXNoKCk7CiAgICAgcmV0dXJuIGFkb3B0UHRyKGxheWVy
KTsKIH0KIAorZmxvYXQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpkZXZpY2VTY2FsZUZhY3Rv
cigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fd2ViUGFnZS0+ZGV2aWNlU2NhbGVGYWN0b3IoKTsK
K30KKworZmxvYXQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpwYWdlU2NhbGVGYWN0b3IoKSBj
b25zdAoreworICAgIHJldHVybiBtX3dlYlBhZ2UtPnBhZ2VTY2FsZUZhY3RvcigpOworfQorCiBi
b29sIExheWVyVHJlZUhvc3Q6OnN1cHBvcnRzQWNjZWxlcmF0ZWRDb21wb3NpdGluZygpCiB7CiAg
ICAgcmV0dXJuIHRydWU7CkBAIC03NTEsMjQgKzc1OSwxOCBAQCB2b2lkIENvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdDo6c2V0TGF5ZXJBbmltYXRpb25zKENvb3JkaW5hdGVkTGF5ZXJJRCBsYXllcklE
LCBjbwogICAgIG1fd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6Q29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0UHJveHk6OlNldExheWVyQW5pbWF0aW9ucyhsYXllcklELCBhY3RpdmVBbmltYXRpb25zKSk7
CiB9CiAKLXZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzZXRWaXNpYmxlQ29udGVudHNS
ZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCwgZmxvYXQgc2NhbGUsIGNvbnN0IEZsb2F0UG9pbnQm
IHRyYWplY3RvcnlWZWN0b3IpCit2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6c2V0Vmlz
aWJsZUNvbnRlbnRzUmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QsIGNvbnN0IEZsb2F0UG9pbnQm
IHRyYWplY3RvcnlWZWN0b3IpCiB7Ci0gICAgYm9vbCBjb250ZW50c1JlY3REaWRDaGFuZ2UgPSBy
ZWN0ICE9IG1fdmlzaWJsZUNvbnRlbnRzUmVjdDsKLSAgICBib29sIGNvbnRlbnRzU2NhbGVEaWRD
aGFuZ2UgPSBzY2FsZSAhPSBtX2NvbnRlbnRzU2NhbGU7Ci0KICAgICAvLyBBIHplcm8gdHJhamVj
dG9yeVZlY3RvciBpbmRpY2F0ZXMgdGhhdCB0aWxlcyBhbGwgYXJvdW5kIHRoZSB2aWV3cG9ydCBh
cmUgcmVxdWVzdGVkLgogICAgIHRvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyKG1fbm9uQ29tcG9z
aXRlZENvbnRlbnRMYXllci5nZXQoKSktPnNldFZpc2libGVDb250ZW50UmVjdFRyYWplY3RvcnlW
ZWN0b3IodHJhamVjdG9yeVZlY3Rvcik7CiAKLSAgICBpZiAoY29udGVudHNSZWN0RGlkQ2hhbmdl
IHx8IGNvbnRlbnRzU2NhbGVEaWRDaGFuZ2UpIHsKKyAgICBib29sIGNvbnRlbnRzUmVjdERpZENo
YW5nZSA9IHJlY3QgIT0gbV92aXNpYmxlQ29udGVudHNSZWN0OworICAgIGlmIChjb250ZW50c1Jl
Y3REaWRDaGFuZ2UpIHsKICAgICAgICAgbV92aXNpYmxlQ29udGVudHNSZWN0ID0gcmVjdDsKLSAg
ICAgICAgbV9jb250ZW50c1NjYWxlID0gc2NhbGU7CiAKICAgICAgICAgSGFzaFNldDxXZWJDb3Jl
OjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXIqPjo6aXRlcmF0b3IgZW5kID0gbV9yZWdpc3RlcmVk
TGF5ZXJzLmVuZCgpOwogICAgICAgICBmb3IgKEhhc2hTZXQ8V2ViQ29yZTo6Q29vcmRpbmF0ZWRH
cmFwaGljc0xheWVyKj46Oml0ZXJhdG9yIGl0ID0gbV9yZWdpc3RlcmVkTGF5ZXJzLmJlZ2luKCk7
IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICAgICAgaWYgKGNvbnRlbnRzU2NhbGVEaWRDaGFu
Z2UpCi0gICAgICAgICAgICAgICAgKCppdCktPnNldENvbnRlbnRzU2NhbGUoc2NhbGUpOwotICAg
ICAgICAgICAgaWYgKGNvbnRlbnRzUmVjdERpZENoYW5nZSkKLSAgICAgICAgICAgICAgICAoKml0
KS0+c2V0TmVlZHNWaXNpYmxlUmVjdEFkanVzdG1lbnQoKTsKKyAgICAgICAgICAgICgqaXQpLT5z
ZXROZWVkc1Zpc2libGVSZWN0QWRqdXN0bWVudCgpOwogICAgICAgICB9CiAgICAgfQogCkBAIC03
ODMsNiArNzg1LDE0IEBAIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzZXRWaXNpYmxl
Q29udGVudHNSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCwgZmxvCiAgICAgICAgIG1fc2hvdWxk
U2VuZFNjcm9sbFBvc2l0aW9uVXBkYXRlID0gdHJ1ZTsKIH0KIAordm9pZCBDb29yZGluYXRlZExh
eWVyVHJlZUhvc3Q6OmRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgpCit7CisgICAgbV9y
b290TGF5ZXItPmRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgpOworICAgIG1fbm9uQ29t
cG9zaXRlZENvbnRlbnRMYXllci0+ZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCk7Cisg
ICAgaWYgKG1fcGFnZU92ZXJsYXlMYXllcikKKyAgICAgICAgbV9wYWdlT3ZlcmxheUxheWVyLT5k
ZXZpY2VPclBhZ2VTY2FsZUZhY3RvckNoYW5nZWQoKTsKK30KKwogR3JhcGhpY3NMYXllckZhY3Rv
cnkqIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6Z3JhcGhpY3NMYXllckZhY3RvcnkoKQogewog
ICAgIHJldHVybiB0aGlzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmggYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29y
ZGluYXRlZExheWVyVHJlZUhvc3QuaAppbmRleCAwMTAyMmIyY2M0ZTk4NDg4YTRkZjc4N2VhMzY5
MGI3MmFjY2ZmNzI5Li5lZmRkNmY3ZjA5YWRlMTM4MjExYWU3NWI0ZTNiZTI2OGJmMTk5Y2ZjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJl
ZUhvc3QuaApAQCAtNzYsNyArNzYsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgcGF1
c2VSZW5kZXJpbmcoKSB7IG1faXNTdXNwZW5kZWQgPSB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lk
IHJlc3VtZVJlbmRlcmluZygpIHsgbV9pc1N1c3BlbmRlZCA9IGZhbHNlOyBzY2hlZHVsZUxheWVy
Rmx1c2goKTsgfQotICAgIHZpcnR1YWwgdm9pZCBkZXZpY2VTY2FsZUZhY3RvckRpZENoYW5nZSgp
IHsgfQorICAgIHZpcnR1YWwgdm9pZCBkZXZpY2VPclBhZ2VTY2FsZUZhY3RvckNoYW5nZWQoKSBP
VkVSUklERTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8Q29vcmRpbmF0ZWRJbWFnZUJhY2tpbmc+
IGNyZWF0ZUltYWdlQmFja2luZ0lmTmVlZGVkKFdlYkNvcmU6OkltYWdlKikgT1ZFUlJJREU7CiAK
ICAgICB2aXJ0dWFsIGJvb2wgaXNGbHVzaGluZ0xheWVyQ2hhbmdlcygpIGNvbnN0IE9WRVJSSURF
IHsgcmV0dXJuIG1faXNGbHVzaGluZ0xheWVyQ2hhbmdlczsgfQpAQCAtODYsNyArODYsNyBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCBXZWJDb3JlOjpGbG9hdFJlY3QgdmlzaWJsZUNvbnRlbnRzUmVj
dCgpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCByZW5kZXJOZXh0RnJhbWUoKTsKICAgICB2aXJ0
dWFsIHZvaWQgcHVyZ2VCYWNraW5nU3RvcmVzKCk7Ci0gICAgdmlydHVhbCB2b2lkIHNldFZpc2li
bGVDb250ZW50c1JlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiwgZmxvYXQgc2NhbGUsIGNv
bnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0VmlzaWJsZUNv
bnRlbnRzUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmLCBjb25zdCBXZWJDb3JlOjpGbG9h
dFBvaW50Jik7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVDb29yZGluYXRlZExheWVyVHJl
ZUhvc3RNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENv
cmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdmlydHVhbCBXZWJDb3JlOjpHcmFwaGljc0xh
eWVyRmFjdG9yeSogZ3JhcGhpY3NMYXllckZhY3RvcnkoKSBPVkVSUklERTsKIApAQCAtMTIzLDYg
KzEyMyw4IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeUFuaW1hdGlvblN0YXJ0
ZWQoY29uc3QgV2ViQ29yZTo6R3JhcGhpY3NMYXllciosIGRvdWJsZSB0aW1lKTsKICAgICB2aXJ0
dWFsIHZvaWQgbm90aWZ5Rmx1c2hSZXF1aXJlZChjb25zdCBXZWJDb3JlOjpHcmFwaGljc0xheWVy
Kik7CiAgICAgdmlydHVhbCB2b2lkIHBhaW50Q29udGVudHMoY29uc3QgV2ViQ29yZTo6R3JhcGhp
Y3NMYXllciosIFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCYsIFdlYkNvcmU6OkdyYXBoaWNzTGF5
ZXJQYWludGluZ1BoYXNlLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBjbGlwUmVjdCk7CisgICAg
dmlydHVhbCBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvcigpIGNvbnN0IE9WRVJSSURFOworICAgIHZp
cnR1YWwgZmxvYXQgcGFnZVNjYWxlRmFjdG9yKCkgY29uc3QgT1ZFUlJJREU7CiAKICAgICAvLyBD
b29yZGluYXRlZEltYWdlQmFja2luZzo6Q29vcmRpbmF0b3IKICAgICB2aXJ0dWFsIHZvaWQgY3Jl
YXRlSW1hZ2VCYWNraW5nKENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQpIE9WRVJSSURFOwpAQCAt
MTk0LDcgKzE5Niw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3dhaXRpbmdGb3JVSVByb2Nlc3M7
CiAgICAgYm9vbCBtX2lzU3VzcGVuZGVkOwogICAgIFdlYkNvcmU6OkZsb2F0UmVjdCBtX3Zpc2li
bGVDb250ZW50c1JlY3Q7Ci0gICAgZmxvYXQgbV9jb250ZW50c1NjYWxlOwogICAgIGJvb2wgbV9z
aG91bGRTZW5kU2Nyb2xsUG9zaXRpb25VcGRhdGU7CiAKICAgICBMYXllclRyZWVDb250ZXh0IG1f
bGF5ZXJUcmVlQ29udGV4dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdy
YXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5tZXNzYWdlcy5pbgppbmRleCAwMzdiZjY5
ZjljZGFlYmNjMmZlYmNhMTg4NWQ0ZGViMTZjOTgwNWI4Li5jYzVlY2ZmZjM5MmM2OGQ2NTYwYjky
NTFkMTJjNjhmYWUwODA2ZThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Lm1lc3NhZ2VzLmluCkBAIC0yMSw3
ICsyMSw3IEBACiAKICNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiBtZXNzYWdlcyAtPiBD
b29yZGluYXRlZExheWVyVHJlZUhvc3QgewotICAgIFNldFZpc2libGVDb250ZW50c1JlY3QoV2Vi
Q29yZTo6RmxvYXRSZWN0IHZpc2libGVDb250ZW50c1JlY3QsIGZsb2F0IHNjYWxlLCBXZWJDb3Jl
OjpGbG9hdFBvaW50IHRyYWplY3RvcnlWZWN0b3J5KQorICAgIFNldFZpc2libGVDb250ZW50c1Jl
Y3QoV2ViQ29yZTo6RmxvYXRSZWN0IHZpc2libGVDb250ZW50c1JlY3QsIFdlYkNvcmU6OkZsb2F0
UG9pbnQgdHJhamVjdG9yeVZlY3RvcnkpCiAgICAgUmVuZGVyTmV4dEZyYW1lKCkKICAgICBQdXJn
ZUJhY2tpbmdTdG9yZXMoKQogI2lmIEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUlt
cGwuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1w
bC5jcHAKaW5kZXggYTA3ZDczMmVlNzBkM2RkMjdiMjJkYWU2NTY0NjYzNWE3OWYwMmNiYS4uNjRl
NThkOGU2NDgwMGI4MWY4ODBkYzM5ZmMwZTRiMDgzNWY1N2Y3YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKQEAgLTM4
MCw3ICszODAsNyBAQCB2b2lkIERyYXdpbmdBcmVhSW1wbDo6dXBkYXRlQmFja2luZ1N0b3JlU3Rh
dGUodWludDY0X3Qgc3RhdGVJRCwgYm9vbCByZXNwb25kSW1tZQogICAgICAgICBtX3dlYlBhZ2Ut
PnNjcm9sbE1haW5GcmFtZUlmTm90QXRNYXhTY3JvbGxQb3NpdGlvbihzY3JvbGxPZmZzZXQpOwog
CiAgICAgICAgIGlmIChtX2xheWVyVHJlZUhvc3QpIHsKLSAgICAgICAgICAgIG1fbGF5ZXJUcmVl
SG9zdC0+ZGV2aWNlU2NhbGVGYWN0b3JEaWRDaGFuZ2UoKTsKKyAgICAgICAgICAgIG1fbGF5ZXJU
cmVlSG9zdC0+ZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCk7CiAgICAgICAgICAgICAv
LyBVc2UgdGhlIHByZXZpb3VzbHkgc2V0IHBhZ2Ugc2l6ZSBpbnN0ZWFkIG9mIHRoZSBhcmd1bWVu
dC4KICAgICAgICAgICAgIC8vIEl0IGdldHMgYWRqdXN0ZWQgcHJvcGVybHkgd2hlbiB1c2luZyB0
aGUgZml4ZWQgbGF5b3V0IG1vZGUuCiAgICAgICAgICAgICBtX2xheWVyVHJlZUhvc3QtPnNpemVE
aWRDaGFuZ2UobV93ZWJQYWdlLT5zaXplKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmgKaW5kZXggMjA5NmMwYzgxOGEwNzMxMzZlMWUy
YjVlZjU1YjJjZjg3NjRiN2M1Mi4uMTI0ZTRhOGVlMTA1Y2YxYWRmODMzNzhjOTUwY2UyNzk1NDVh
NDE3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVy
VHJlZUhvc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJU
cmVlSG9zdC5oCkBAIC03MCw3ICs3MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZm9y
Y2VSZXBhaW50KCkgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBmb3JjZVJlcGFpbnRBc3luYyh1aW50
NjRfdCAvKmNhbGxiYWNrSUQqLykgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQg
c2l6ZURpZENoYW5nZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBuZXdTaXplKSA9IDA7Ci0gICAg
dmlydHVhbCB2b2lkIGRldmljZVNjYWxlRmFjdG9yRGlkQ2hhbmdlKCkgPSAwOworICAgIHZpcnR1
YWwgdm9pZCBkZXZpY2VPclBhZ2VTY2FsZUZhY3RvckNoYW5nZWQoKSA9IDA7CiAKICAgICB2aXJ0
dWFsIHZvaWQgZGlkSW5zdGFsbFBhZ2VPdmVybGF5KCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBk
aWRVbmluc3RhbGxQYWdlT3ZlcmxheSgpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCA5YTJmMjMxZThjMzA0NzUwYTI0NzlhNDhmODRl
YmY0YzM2MDM5N2ZkLi45Zjk1ZDQxNDQ0MDVjMTAwMzAwY2NkN2Y2NTFjZGQ4YzIxZTA1ODBjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0x
MjEyLDYgKzEyMTIsMTEgQEAgdm9pZCBXZWJQYWdlOjpzY2FsZVBhZ2UoZG91YmxlIHNjYWxlLCBj
b25zdCBJbnRQb2ludCYgb3JpZ2luKQogICAgIGZvciAoSGFzaFNldDxQbHVnaW5WaWV3Kj46OmNv
bnN0X2l0ZXJhdG9yIGl0ID0gbV9wbHVnaW5WaWV3cy5iZWdpbigpLCBlbmQgPSBtX3BsdWdpblZp
ZXdzLmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpCiAgICAgICAgICgqaXQpLT5wYWdlU2NhbGVGYWN0
b3JEaWRDaGFuZ2UoKTsKIAorI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKKyAgICBp
ZiAobV9kcmF3aW5nQXJlYS0+bGF5ZXJUcmVlSG9zdCgpKQorICAgICAgICBtX2RyYXdpbmdBcmVh
LT5sYXllclRyZWVIb3N0KCktPmRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgpOworI2Vu
ZGlmCisKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlBhZ2VTY2FsZUZhY3RvckRp
ZENoYW5nZShzY2FsZSkpOwogfQogCkBAIC0xMjQyLDYgKzEyNDcsMTEgQEAgdm9pZCBXZWJQYWdl
OjpzZXREZXZpY2VTY2FsZUZhY3RvcihmbG9hdCBzY2FsZUZhY3RvcikKICAgICAgICAgbGF5b3V0
SWZOZWVkZWQoKTsKICAgICAgICAgbV9maW5kQ29udHJvbGxlci5kZXZpY2VTY2FsZUZhY3RvckRp
ZENoYW5nZSgpOwogICAgIH0KKworI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKKyAg
ICBpZiAobV9kcmF3aW5nQXJlYS0+bGF5ZXJUcmVlSG9zdCgpKQorICAgICAgICBtX2RyYXdpbmdB
cmVhLT5sYXllclRyZWVIb3N0KCktPmRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgpOwor
I2VuZGlmCiB9CiAKIGZsb2F0IFdlYlBhZ2U6OmRldmljZVNjYWxlRmFjdG9yKCkgY29uc3QKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvTGF5ZXJUcmVl
SG9zdEd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL0xheWVy
VHJlZUhvc3RHdGsuY3BwCmluZGV4IDA3ZmUxMjg1NWE3ZGE4MTlhODIzMWUwOTg1OWRiZWEyMzBl
MGU5N2QuLjFlOWQ2NzEyZTczYTU1Y2M4OGUxMjBjZTg2NDc1Yzc5MmYyOTY5YzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvTGF5ZXJUcmVlSG9zdEd0
ay5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9MYXllclRy
ZWVIb3N0R3RrLmNwcApAQCAtMjA3LDcgKzIwNyw3IEBAIHZvaWQgTGF5ZXJUcmVlSG9zdEd0azo6
c2l6ZURpZENoYW5nZShjb25zdCBJbnRTaXplJiBuZXdTaXplKQogICAgIGNvbXBvc2l0ZUxheWVy
c1RvQ29udGV4dChGb3JSZXNpemUpOwogfQogCi12b2lkIExheWVyVHJlZUhvc3RHdGs6OmRldmlj
ZVNjYWxlRmFjdG9yRGlkQ2hhbmdlKCkKK3ZvaWQgTGF5ZXJUcmVlSG9zdEd0azo6ZGV2aWNlT3JQ
YWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCkKIHsKICAgICAvLyBPdGhlciBsYXllcnMgbGVhcm4gb2Yg
dGhlIHNjYWxlIGZhY3RvciBjaGFuZ2UgdmlhIFdlYlBhZ2U6OnNldERldmljZVNjYWxlRmFjdG9y
LgogICAgIG1fbm9uQ29tcG9zaXRlZENvbnRlbnRMYXllci0+ZGV2aWNlT3JQYWdlU2NhbGVGYWN0
b3JDaGFuZ2VkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvZ3RrL0xheWVyVHJlZUhvc3RHdGsuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9ndGsvTGF5ZXJUcmVlSG9zdEd0ay5oCmluZGV4IDg0MGFkYTgxM2E2NzBkNjBlZWJiOGU1
YjQxMzA4MmY2ODZmNGQwOGYuLjFlZGFkYmM0ODMwM2Q5Y2MyNzlmZTk1OTE3NDQ5MDEwMDEzOGI2
MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvTGF5
ZXJUcmVlSG9zdEd0ay5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9n
dGsvTGF5ZXJUcmVlSG9zdEd0ay5oCkBAIC01Myw3ICs1Myw3IEBAIHByb3RlY3RlZDoKICAgICAv
LyBMYXllclRyZWVIb3N0LgogICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlKCk7CiAgICAgdmly
dHVhbCB2b2lkIHNpemVEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgbmV3U2l6ZSk7
Ci0gICAgdmlydHVhbCB2b2lkIGRldmljZVNjYWxlRmFjdG9yRGlkQ2hhbmdlKCk7CisgICAgdmly
dHVhbCB2b2lkIGRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgpOwogICAgIHZpcnR1YWwg
dm9pZCBmb3JjZVJlcGFpbnQoKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0Um9vdENvbXBvc2l0aW5n
TGF5ZXIoV2ViQ29yZTo6R3JhcGhpY3NMYXllciopOwogICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVs
ZUxheWVyRmx1c2goKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9tYWMvTGF5ZXJUcmVlSG9zdE1hYy5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL21hYy9MYXllclRyZWVIb3N0TWFjLmgKaW5kZXggNGQzMDY5ZjU1OTdiYzkyY2M2YzMw
OTIwYTRkYmZkNWEwODhiMjFhNC4uZTA5MmIyMzlhODU2YzVkNzBlNTBiNWFhN2ZmYzVhNzI1NTNj
NmI4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9M
YXllclRyZWVIb3N0TWFjLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L21hYy9MYXllclRyZWVIb3N0TWFjLmgKQEAgLTU0LDcgKzU0LDcgQEAgcHJpdmF0ZToKICAgICB2
aXJ0dWFsIHZvaWQgc2Nyb2xsTm9uQ29tcG9zaXRlZENvbnRlbnRzKGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmIHNjcm9sbFJlY3QsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNjcm9sbE9mZnNldCkg
T1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGZvcmNlUmVwYWludCgpIE9WRVJSSURFOwogICAg
IHZpcnR1YWwgdm9pZCBzaXplRGlkQ2hhbmdlKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIG5ld1Np
emUpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBkZXZpY2VTY2FsZUZhY3RvckRpZENoYW5n
ZSgpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBkZXZpY2VPclBhZ2VTY2FsZUZhY3RvckNo
YW5nZWQoKSBPVkVSUklERTsKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRJbnN0YWxsUGFnZU92ZXJs
YXkoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkVW5pbnN0YWxsUGFnZU92ZXJsYXko
KSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvTGF5ZXJUcmVlSG9zdE1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9tYWMvTGF5ZXJUcmVlSG9zdE1hYy5tbQppbmRleCA1MzU1MTAwNzdmYWI5OTM0ZDk0NGY0
NTgxZTAzYTkxNzUwMTUwMzYzLi41OTgwZDU2MDY4YWY2NjE4NDlmNjU4MTRjZDFmNTY5YWZhZmI2
NmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0xh
eWVyVHJlZUhvc3RNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L21hYy9MYXllclRyZWVIb3N0TWFjLm1tCkBAIC0xNjIsNyArMTYyLDcgQEAgdm9pZCBMYXllclRy
ZWVIb3N0TWFjOjpzaXplRGlkQ2hhbmdlKGNvbnN0IEludFNpemUmIG5ld1NpemUpCiAgICAgW0NB
VHJhbnNhY3Rpb24gc3luY2hyb25pemVdOwogfQogCi12b2lkIExheWVyVHJlZUhvc3RNYWM6OmRl
dmljZVNjYWxlRmFjdG9yRGlkQ2hhbmdlKCkKK3ZvaWQgTGF5ZXJUcmVlSG9zdENBOjpkZXZpY2VP
clBhZ2VTY2FsZUZhY3RvckNoYW5nZWQoKQogewogICAgIC8vIE90aGVyIGxheWVycyBsZWFybiBv
ZiB0aGUgc2NhbGUgZmFjdG9yIGNoYW5nZSB2aWEgV2ViUGFnZTo6c2V0RGV2aWNlU2NhbGVGYWN0
b3IuCiAgICAgbV9ub25Db21wb3NpdGVkQ29udGVudExheWVyLT5kZXZpY2VPclBhZ2VTY2FsZUZh
Y3RvckNoYW5nZWQoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184399</attachid>
            <date>2013-01-23 21:49:01 -0800</date>
            <delta_ts>2013-01-24 00:40:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107653-20130124144546.patch</filename>
            <type>text/plain</type>
            <size>3715</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNjQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNzNjMTgxNDBjM2JkZmVh
NjkwZmU5ZDM4NjMzYjg5OGE1MTZmNzI0OS4uYzdiNzRhNWRkNzc4Y2ViNDlkZjE5YWJjZGQ3NGUx
NGI1ODFmMjY5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAxLTIzICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIFtXSzJdIEFk
ZCBhcHBseURldmljZVNjYWxlRmFjdG9ySW5Db21wb3NpdG9yIGFuZCBhcHBseVBhZ2VTY2FsZUZh
Y3RvckluQ29tcG9zaXRvciBBUElzIHRvIFdlYlByZWZlcmVuY2VzLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA3NjUzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGRlZmF1bHQgdmFsdWUgb2YgYXBw
bHlEZXZpY2VTY2FsZUZhY3RvckluQ29tcG9zaXRvciBpcyB0cnVlLCBhbmQgdGhlCisgICAgICAg
IGRlZmF1bHQgdmFsdWUgb2YgYXBwbHlQYWdlU2NhbGVGYWN0b3JJbkNvbXBvc2l0b3IgaXMgZmFs
c2UsIGJlY2F1c2Ugb2YKKyAgICAgICAgdGhlIGRlZmF1bHQgdmFsdWVzIGluIFNldHRpbmdzLgor
CisgICAgICAgIEVGTCBhbmQgUXQgd2lsbCB1c2UgdGhpcyBwcmVmZXJlbmNlcyB0byBzaGFyZSB0
aGUgc2NhbGluZyBtZWNoYW5pc20gd2l0aAorICAgICAgICBDaHJvbWl1bS4KKworICAgICAgICAq
IFNoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmg6CisgICAgICAgIChXZWJLaXQpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMpOgorCiAyMDEzLTAxLTIzICBTYW0gV2VpbmlnICA8c2Ft
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgQ2xlYW51cCB0aGUgbmFtZXMgb2YgdGhlIFdlYktpdDIg
eHBjIHNlcnZpY2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVy
ZW5jZXNTdG9yZS5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUu
aAppbmRleCA0MGVmYmY3MTA3ODA1YWNkNWQ0ZGNmNTgwNTY0NjRjZDlhYTFlODBlLi4yMDVlMDFm
NmQ5NzFkNzM4Zjk5MTY4MmNkZWU0NWVlNWNiYTg2ZTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgKQEAgLTc0LDYgKzc0LDggQEAgbmFtZXNwYWNlIFdl
YktpdCB7CiAgICAgbWFjcm8oSHlwZXJsaW5rQXVkaXRpbmdFbmFibGVkLCBoeXBlcmxpbmtBdWRp
dGluZ0VuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUpIFwKICAgICBtYWNybyhOZWVkc1NpdGVTcGVj
aWZpY1F1aXJrcywgbmVlZHNTaXRlU3BlY2lmaWNRdWlya3MsIEJvb2wsIGJvb2wsIGZhbHNlKSBc
CiAgICAgbWFjcm8oQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQsIGFjY2VsZXJhdGVkQ29t
cG9zaXRpbmdFbmFibGVkLCBCb29sLCBib29sLCB0cnVlKSBcCisgICAgbWFjcm8oQXBwbHlEZXZp
Y2VTY2FsZUZhY3RvckluQ29tcG9zaXRvciwgYXBwbHlEZXZpY2VTY2FsZUZhY3RvckluQ29tcG9z
aXRvciwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAorICAgIG1hY3JvKEFwcGx5UGFnZVNjYWxlRmFjdG9y
SW5Db21wb3NpdG9yLCBhcHBseVBhZ2VTY2FsZUZhY3RvckluQ29tcG9zaXRvciwgQm9vbCwgYm9v
bCwgZmFsc2UpIFwKICAgICBtYWNybyhGb3JjZUNvbXBvc2l0aW5nTW9kZSwgZm9yY2VDb21wb3Np
dGluZ01vZGUsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCiAgICAgbWFjcm8oQWNjZWxlcmF0ZWREcmF3
aW5nRW5hYmxlZCwgYWNjZWxlcmF0ZWREcmF3aW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2Up
IFwKICAgICBtYWNybyhDYW52YXNVc2VzQWNjZWxlcmF0ZWREcmF3aW5nLCBjYW52YXNVc2VzQWNj
ZWxlcmF0ZWREcmF3aW5nLCBCb29sLCBib29sLCB0cnVlKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggY2E4MzM4OGRiNTY3NzhhZDJhODZi
MDA0N2ZmODY2MjkyMTdiZWJhOS4uOWEyZjIzMWU4YzMwNDc1MGEyNDc5YTQ4Zjg0ZWJmNGMzNjAz
OTdmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cApAQCAtMjMzNyw2ICsyMzM3LDggQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhj
b25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9yZSkKICAgICBzZXR0aW5ncy0+c2V0QWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZl
cmVuY2VzS2V5OjphY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZEtleSgpKSAmJiBMYXllclRy
ZWVIb3N0OjpzdXBwb3J0c0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKSk7CiAgICAgc2V0dGluZ3Mt
PnNldEFjY2VsZXJhdGVkRHJhd2luZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdl
YlByZWZlcmVuY2VzS2V5OjphY2NlbGVyYXRlZERyYXdpbmdFbmFibGVkS2V5KCkpICYmIExheWVy
VHJlZUhvc3Q6OnN1cHBvcnRzQWNjZWxlcmF0ZWRDb21wb3NpdGluZygpKTsKICAgICBzZXR0aW5n
cy0+c2V0Q2FudmFzVXNlc0FjY2VsZXJhdGVkRHJhd2luZyhzdG9yZS5nZXRCb29sVmFsdWVGb3JL
ZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmNhbnZhc1VzZXNBY2NlbGVyYXRlZERyYXdpbmdLZXkoKSkg
JiYgTGF5ZXJUcmVlSG9zdDo6c3VwcG9ydHNBY2NlbGVyYXRlZENvbXBvc2l0aW5nKCkpOworICAg
IHNldHRpbmdzLT5zZXRBcHBseURldmljZVNjYWxlRmFjdG9ySW5Db21wb3NpdG9yKHN0b3JlLmdl
dEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6YXBwbHlEZXZpY2VTY2FsZUZhY3Rv
ckluQ29tcG9zaXRvcktleSgpKSk7CisgICAgc2V0dGluZ3MtPnNldEFwcGx5UGFnZVNjYWxlRmFj
dG9ySW5Db21wb3NpdG9yKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tl
eTo6YXBwbHlQYWdlU2NhbGVGYWN0b3JJbkNvbXBvc2l0b3JLZXkoKSkpOwogICAgIHNldHRpbmdz
LT5zZXRTaG93RGVidWdCb3JkZXJzKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJl
bmNlc0tleTo6Y29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZUtleSgpKSk7CiAgICAgc2V0dGluZ3Mt
PnNldFNob3dSZXBhaW50Q291bnRlcihzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVy
ZW5jZXNLZXk6OmNvbXBvc2l0aW5nUmVwYWludENvdW50ZXJzVmlzaWJsZUtleSgpKSk7CiAgICAg
c2V0dGluZ3MtPnNldFNob3dUaWxlZFNjcm9sbGluZ0luZGljYXRvcihzdG9yZS5nZXRCb29sVmFs
dWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnRpbGVkU2Nyb2xsaW5nSW5kaWNhdG9yVmlzaWJs
ZUtleSgpKSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>