<?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>160967</bug_id>
          
          <creation_ts>2016-08-18 12:01:33 -0700</creation_ts>
          <short_desc>Move an NPAPI-only function from WebCore to WebKit</short_desc>
          <delta_ts>2016-08-19 13:15:53 -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>New Bugs</component>
          <version>WebKit 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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1221139</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-08-18 12:01:33 -0700</bug_when>
    <thetext>Move an NPAPI-only function from WebCore to WebKit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1221140</commentid>
    <comment_count>1</comment_count>
      <attachid>286382</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-08-18 12:02:11 -0700</bug_when>
    <thetext>Created attachment 286382
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1221150</commentid>
    <comment_count>2</comment_count>
      <attachid>286386</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-08-18 12:15:59 -0700</bug_when>
    <thetext>Created attachment 286386
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1221151</commentid>
    <comment_count>3</comment_count>
      <attachid>286387</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-08-18 12:17:02 -0700</bug_when>
    <thetext>Created attachment 286387
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1221152</commentid>
    <comment_count>4</comment_count>
      <attachid>286388</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-08-18 12:17:50 -0700</bug_when>
    <thetext>Created attachment 286388
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1221165</commentid>
    <comment_count>5</comment_count>
      <attachid>286391</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-08-18 13:04:00 -0700</bug_when>
    <thetext>Created attachment 286391
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1221175</commentid>
    <comment_count>6</comment_count>
      <attachid>286392</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-08-18 14:01:04 -0700</bug_when>
    <thetext>Created attachment 286392
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1221266</commentid>
    <comment_count>7</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-08-18 17:14:06 -0700</bug_when>
    <thetext>Committed r204617: &lt;http://trac.webkit.org/changeset/204617&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1221452</commentid>
    <comment_count>8</comment_count>
      <attachid>286392</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-08-19 13:15:53 -0700</bug_when>
    <thetext>Comment on attachment 286392
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=286392&amp;action=review

&gt; Source/WebKit/win/Plugins/PluginView.cpp:756
&gt; +    , m_elementNPObject(nullptr)

Why not initialize this in the class definition instead?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>286382</attachid>
            <date>2016-08-18 12:02:11 -0700</date>
            <delta_ts>2016-08-18 12:15:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160967-20160818120022.patch</filename>
            <type>text/plain</type>
            <size>13196</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0NTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWY1MDQ5NjlkZjljNGVl
YWU0YjljMTgyZDk5NmY2MTE5YTBhODk5My4uYzFkMGI2ZTk3YzdkZmVjYzAyNGJjOTk0YjM2NzE4
YTZhMzI1NzY3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE2LTA4LTE4ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBhbiBOUEFQ
SS1vbmx5IGZ1bmN0aW9uIGZyb20gV2ViQ29yZSB0byBXZWJLaXQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDk2NworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6Y3JlYXRlU2NyaXB0T2JqZWN0Rm9y
UGx1Z2luRWxlbWVudCk6IERlbGV0ZWQuCisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0Q29u
dHJvbGxlci5oOgorICAgICAgICAqIGJyaWRnZS9OUF9qc29iamVjdC5oOgorCiAyMDE2LTA4LTE4
ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFtNZWRp
YVN0cmVhbV0gY2xlYW51cCBNZWRpYUNvbnN0cmFpbnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggYTlk
MWZkNzNkNjA4NzFlYTBjMWY1ZmVlMzZlYjM5Mjc3YTA5NGIyYS4uMmZlYzVhNzVjOGNmZTAzNzEx
YjUzOTA3YWVkNjIwMjYzNWI0MjQzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDE2LTA4LTE4ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAg
ICAgICAgTW92ZSBhbiBOUEFQSS1vbmx5IGZ1bmN0aW9uIGZyb20gV2ViQ29yZSB0byBXZWJLaXQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDk2Nwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogUGx1Z2lu
cy9XZWJOZXRzY2FwZVBsdWdpblZpZXcuaDoKKyAgICAgICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBl
UGx1Z2luVmlldy5tbToKKyAgICAgICAgKC1bV2ViTmV0c2NhcGVQbHVnaW5WaWV3IGdldFZhcmlh
YmxlOnZhbHVlOl0pOgorICAgICAgICAoLVtXZWJOZXRzY2FwZVBsdWdpblZpZXcgX2Rlc3Ryb3lQ
bHVnaW5dKToKKwogMjAxNi0wOC0xOCAgUmF3aW5kZXIgU2luZ2ggIDxyYXdpbmRlci5zaW5naC13
ZWJraXRAY2lzcmEuY2Fub24uY29tLmF1PgogCiAgICAgICAgIFt3ZWItYW5pbWF0aW9uc10gQWRk
IEFuaW1hdGFibGUsIEFuaW1hdGlvbkVmZmVjdCwgS2V5ZnJhbWVFZmZlY3QgYW5kIEFuaW1hdGlv
biBpbnRlcmZhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCBhOGU0ZjMzM2Y1ZTljMmE5YTBiZDIwMTQ0
ZDcxZmNiYWUyYjI4Yzg1Li4yZTAwYTNhY2IwNmIxZDFiYjZkYmM5MTM4ZjZkNDczNjk3NzJlNmY4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTYtMDgtMTggIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIGFuIE5QQVBJLW9u
bHkgZnVuY3Rpb24gZnJvbSBXZWJDb3JlIHRvIFdlYktpdAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYwOTY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBQbHVnaW5zL1BsdWdpblZpZXcuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6flBsdWdpblZpZXcpOgorICAgICAgICAoV2ViQ29y
ZTo6UGx1Z2luVmlldzo6UGx1Z2luVmlldyk6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3
OjpnZXRWYWx1ZSk6CisgICAgICAgICogUGx1Z2lucy9QbHVnaW5WaWV3Lmg6CisKIDIwMTYtMDgt
MTUgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1v
dmUgdW51c2VkIGluY2x1ZGVzIG9mIHd0ZiBoZWFkZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZjg0MjVjYjZhYzM2ZDE3ODIy
MmQwNGIwMjA0NWQzNzM0MzEyMTQ2NS4uYTg0YzY0ZTI4ZGY3OGZiMjRhYjlmY2Y4YTA2NTg0NDA0
NWMyM2I5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtNzM3LDcgKzczNyw3IEBACiAJCTFBNTY5Q0ZEMEQ3RTJCODIwMDdDMzk4
MyAvKiBjX3V0aWxpdHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUE1NjlDQ0MwRDdFMkI4MjAwN0MzOTgzIC8qIGNfdXRpbGl0eS5jcHAgKi87IH07
CiAJCTFBNTY5Q0ZFMEQ3RTJCODIwMDdDMzk4MyAvKiBjX3V0aWxpdHkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNTY5Q0NEMEQ3RTJCODIwMDdDMzk4
MyAvKiBjX3V0aWxpdHkuaCAqLzsgfTsKIAkJMUE1NjlEMEEwRDdFMkI4MjAwN0MzOTgzIC8qIE5Q
X2pzb2JqZWN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBNTY5Q0RBMEQ3RTJCODIwMDdDMzk4MyAvKiBOUF9qc29iamVjdC5jcHAgKi87IH07Ci0J
CTFBNTY5RDBCMEQ3RTJCODIwMDdDMzk4MyAvKiBOUF9qc29iamVjdC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE1NjlDREIwRDdFMkI4MjAwN0MzOTgz
IC8qIE5QX2pzb2JqZWN0LmggKi87IH07CisJCTFBNTY5RDBCMEQ3RTJCODIwMDdDMzk4MyAvKiBO
UF9qc29iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUE1NjlDREIwRDdFMkI4MjAwN0MzOTgzIC8qIE5QX2pzb2JqZWN0LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUE1NjlEMEQwRDdFMkI4MjAw
N0MzOTgzIC8qIG5wcnVudGltZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQTU2OUNERDBEN0UyQjgyMDA3QzM5ODMgLyogbnBydW50aW1lLmNwcCAq
LzsgfTsKIAkJMUE1NjlEMEYwRDdFMkI4MjAwN0MzOTgzIC8qIG5wcnVudGltZV9pbXBsLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTU2OUNERjBEN0Uy
QjgyMDA3QzM5ODMgLyogbnBydW50aW1lX2ltcGwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQTU2OUQxMDBEN0UyQjgyMDA3QzM5ODMgLyogbnBy
dW50aW1lX2ludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQTU2OUNFMDBEN0UyQjgyMDA3QzM5ODMgLyogbnBydW50aW1lX2ludGVybmFsLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAKaW5kZXggNGQ5YTU5
MWZiMzliNGU2NDRmMDk5OTBiMDZhNDIxMDc1MzVkNjg4Mi4uNjg4Mzk3YTA1Yzc4MDEwY2NlYTI0
OTVkMjMwMzkwOTUxN2M0ZTYwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvU2NyaXB0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0Q29udHJvbGxlci5jcHAKQEAgLTM4NCw3ICszODQsNiBAQCB2b2lkIFNjcmlwdENvbnRy
b2xsZXI6OmNvbGxlY3RJc29sYXRlZENvbnRleHRzKFZlY3RvcjxzdGQ6OnBhaXI8SlNDOjpFeGVj
U3RhdGUqLAogfQogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCi0KIE5QT2JqZWN0
KiBTY3JpcHRDb250cm9sbGVyOjp3aW5kb3dTY3JpcHROUE9iamVjdCgpCiB7CiAgICAgaWYgKCFt
X3dpbmRvd1NjcmlwdE5QT2JqZWN0KSB7CkBAIC00MDUsMTcgKzQwNCw2IEBAIE5QT2JqZWN0KiBT
Y3JpcHRDb250cm9sbGVyOjp3aW5kb3dTY3JpcHROUE9iamVjdCgpCiAKICAgICByZXR1cm4gbV93
aW5kb3dTY3JpcHROUE9iamVjdDsKIH0KLQotTlBPYmplY3QqIFNjcmlwdENvbnRyb2xsZXI6OmNy
ZWF0ZVNjcmlwdE9iamVjdEZvclBsdWdpbkVsZW1lbnQoSFRNTFBsdWdJbkVsZW1lbnQqIHBsdWdp
bikKLXsKLSAgICBKU09iamVjdCogb2JqZWN0ID0ganNPYmplY3RGb3JQbHVnaW5FbGVtZW50KHBs
dWdpbik7Ci0gICAgaWYgKCFvYmplY3QpCi0gICAgICAgIHJldHVybiBfTlBOX0NyZWF0ZU5vU2Ny
aXB0T2JqZWN0KCk7Ci0KLSAgICAvLyBXcmFwIHRoZSBKU09iamVjdCBpbiBhbiBOUE9iamVjdAot
ICAgIHJldHVybiBfTlBOX0NyZWF0ZVNjcmlwdE9iamVjdCgwLCBvYmplY3QsIGJpbmRpbmdSb290
T2JqZWN0KCkpOwotfQotCiAjZW5kaWYKIAogI2lmICFQTEFURk9STShDT0NPQSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaAppbmRleCBhMzA2YzQwNzcx
NmQwYzMzN2MyODRiYzRlYzhiNWQxNjUzZGJmZGU2Li5hMGM3MWYyNjA4MTJiMGQzMjExOTE2ODY4
MTE5ZDcwYmY2NzE3NjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
Q29udHJvbGxlci5oCkBAIC0xNDcsNyArMTQ3LDcgQEAgcHVibGljOgogICAgIHZvaWQgdXBkYXRl
UGxhdGZvcm1TY3JpcHRPYmplY3RzKCk7CiAKICAgICBSZWZQdHI8SlNDOjpCaW5kaW5nczo6SW5z
dGFuY2U+ICBjcmVhdGVTY3JpcHRJbnN0YW5jZUZvcldpZGdldChXaWRnZXQqKTsKLSAgICBKU0M6
OkJpbmRpbmdzOjpSb290T2JqZWN0KiBiaW5kaW5nUm9vdE9iamVjdCgpOworICAgIFdFQkNPUkVf
RVhQT1JUIEpTQzo6QmluZGluZ3M6OlJvb3RPYmplY3QqIGJpbmRpbmdSb290T2JqZWN0KCk7CiAg
ICAgSlNDOjpCaW5kaW5nczo6Um9vdE9iamVjdCogY2FjaGVhYmxlQmluZGluZ1Jvb3RPYmplY3Qo
KTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIFJlZlB0cjxKU0M6OkJpbmRpbmdzOjpSb290T2JqZWN0
PiBjcmVhdGVSb290T2JqZWN0KHZvaWQqIG5hdGl2ZUhhbmRsZSk7CkBAIC0xNjIsNyArMTYyLDYg
QEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIEpTQzo6SlNPYmplY3QqIGpzT2JqZWN0Rm9y
UGx1Z2luRWxlbWVudChIVE1MUGx1Z0luRWxlbWVudCopOwogICAgIAogI2lmIEVOQUJMRShORVRT
Q0FQRV9QTFVHSU5fQVBJKQotICAgIE5QT2JqZWN0KiBjcmVhdGVTY3JpcHRPYmplY3RGb3JQbHVn
aW5FbGVtZW50KEhUTUxQbHVnSW5FbGVtZW50Kik7CiAgICAgV0VCQ09SRV9FWFBPUlQgTlBPYmpl
Y3QqIHdpbmRvd1NjcmlwdE5QT2JqZWN0KCk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYnJpZGdlL05QX2pzb2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvTlBf
anNvYmplY3QuaAppbmRleCBiNjhmZmYxZmM0OGE2NTA5ZDMxZjQ1MzZhMzNjYjNmMDY1NDc3OGI5
Li5jZjllOWZkZTkxMjFjMjM1YzIzZmMzOTc2Njg0YTliYjU4NWU4NjgwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9icmlkZ2UvTlBfanNvYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2UvTlBfanNvYmplY3QuaApAQCAtNDcsOCArNDcsOCBAQCBzdHJ1Y3QgSmF2YVNjcmlwdE9i
amVjdAogICAgIEpTQzo6QmluZGluZ3M6OlJvb3RPYmplY3QqIHJvb3RPYmplY3Q7CiB9OwogCi1O
UE9iamVjdCogX05QTl9DcmVhdGVTY3JpcHRPYmplY3QoTlBQLCBKU0M6OkpTT2JqZWN0KiwgUmVm
UHRyPEpTQzo6QmluZGluZ3M6OlJvb3RPYmplY3Q+JiYpOwotTlBPYmplY3QqIF9OUE5fQ3JlYXRl
Tm9TY3JpcHRPYmplY3Qodm9pZCk7CitXRUJDT1JFX0VYUE9SVCBOUE9iamVjdCogX05QTl9DcmVh
dGVTY3JpcHRPYmplY3QoTlBQLCBKU0M6OkpTT2JqZWN0KiwgUmVmUHRyPEpTQzo6QmluZGluZ3M6
OlJvb3RPYmplY3Q+JiYpOworV0VCQ09SRV9FWFBPUlQgTlBPYmplY3QqIF9OUE5fQ3JlYXRlTm9T
Y3JpcHRPYmplY3Qodm9pZCk7CiAKICNlbmRpZiAvLyBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQ
SSkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBs
dWdpblZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5W
aWV3LmgKaW5kZXggNWY4YjNjYmNiM2ViZDEyNzNkNTI3NWRkZmM4OTM1ZGY1NGQyMGE5OS4uZDA4
ZmZmYWVjMDI4NjYwMzY2Y2U4ODQ2MDFmYjQ1MDBhZDNlMDZhZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5oCkBAIC01OSw3ICs1OSw5
IEBAIHR5cGVkZWYgdW5pb24gUGx1Z2luUG9ydCB7CiAgICAgUmV0YWluUHRyPENBTGF5ZXI+IF9w
bHVnaW5MYXllcjsKICAgICB1bnNpZ25lZCBfZGF0YUxlbmd0aFJlY2VpdmVkOwogICAgIFJldGFp
blB0cjxOU0Vycm9yPiBfZXJyb3I7Ci0gICAgICAgIAorCisgICAgTlBPYmplY3QqIF9lbGVtZW50
TlBPYmplY3Q7CisKICAgICB1bnNpZ25lZCBhcmdzQ291bnQ7CiAgICAgY2hhciAqKmNBdHRyaWJ1
dGVzOwogICAgIGNoYXIgKipjVmFsdWVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
UGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVn
aW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQppbmRleCBjMjhlM2E1YzY0NjA5ODJhYTBjYTU2
NjgwMzgxMjcwOTU5NjhmNzFjLi45NmMxZGNhN2IzOWE4MmMxMWQ4YzY0NTA0ZmY2OTExNjAxYTQy
ZjkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1
Z2luVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1
Z2luVmlldy5tbQpAQCAtNjEsNyArNjEsOCBAQAogI2ltcG9ydCA8V2ViQ29yZS9GcmFtZVRyZWUu
aD4KICNpbXBvcnQgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0hUTUxQ
bHVnSW5FbGVtZW50Lmg+Ci0jaW1wb3J0IDxXZWJDb3JlL1BhZ2UuaD4gCisjaW1wb3J0IDxXZWJD
b3JlL05QX2pzb2JqZWN0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1BhZ2UuaD4KICNpbXBvcnQgPFdl
YkNvcmUvUHJveHlTZXJ2ZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2NyaXB0Q29udHJvbGxlci5o
PgogI2ltcG9ydCA8V2ViQ29yZS9TZWN1cml0eU9yaWdpbi5oPgpAQCAtNzAsNiArNzEsNyBAQAog
I2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlT2JqQ0V4dHJhcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9X
ZWJDb3JlVVJMUmVzcG9uc2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvbnBydW50aW1lX2ltcGwuaD4K
KyNpbXBvcnQgPFdlYkNvcmUvcnVudGltZV9yb290Lmg+CiAjaW1wb3J0IDxXZWJLaXRMZWdhY3kv
RE9NUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0TGVnYWN5L1dlYlVJRGVsZWdhdGUuaD4KICNp
bXBvcnQgPG9iamMvcnVudGltZS5oPgpAQCAtMTkyMiwxNyArMTkyNCwyNiBAQCBzdGF0aWMgaW5s
aW5lIHZvaWQgZ2V0TlBSZWN0KGNvbnN0IE5TUmVjdCYgbnIsIE5QUmVjdCYgbnByKQogCiAgICAg
ICAgIGNhc2UgTlBOVlBsdWdpbkVsZW1lbnROUE9iamVjdDoKICAgICAgICAgewotICAgICAgICAg
ICAgaWYgKCFfZWxlbWVudCkKLSAgICAgICAgICAgICAgICByZXR1cm4gTlBFUlJfR0VORVJJQ19F
UlJPUjsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgTlBPYmplY3QgKnBsdWdJblNjcmlwdE9i
amVjdCA9IF9lbGVtZW50LT5nZXROUE9iamVjdCgpOworICAgICAgICAgICAgaWYgKCFfZWxlbWVu
dE5QT2JqZWN0KSB7CisgICAgICAgICAgICAgICAgaWYgKCFfZWxlbWVudCkKKyAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIE5QRVJSX0dFTkVSSUNfRVJST1I7CisKKyAgICAgICAgICAgICAgICBG
cmFtZSogZnJhbWUgPSBjb3JlKHNlbGYud2ViRnJhbWUpOworICAgICAgICAgICAgICAgIGlmICgh
ZnJhbWUpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBOUEVSUl9HRU5FUklDX0VSUk9SOwor
CisgICAgICAgICAgICAgICAgSlNDOjpKU09iamVjdCogb2JqZWN0ID0gZnJhbWUtPnNjcmlwdCgp
LmpzT2JqZWN0Rm9yUGx1Z2luRWxlbWVudChfZWxlbWVudC5nZXQoKSk7CisgICAgICAgICAgICAg
ICAgaWYgKCFvYmplY3QpCisgICAgICAgICAgICAgICAgICAgIF9lbGVtZW50TlBPYmplY3QgPSBf
TlBOX0NyZWF0ZU5vU2NyaXB0T2JqZWN0KCk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgICAgICAgICBfZWxlbWVudE5QT2JqZWN0ID0gX05QTl9DcmVhdGVTY3JpcHRPYmplY3Qo
MCwgb2JqZWN0LCBmcmFtZS0+c2NyaXB0KCkuYmluZGluZ1Jvb3RPYmplY3QoKSk7CisgICAgICAg
ICAgICB9CiAKICAgICAgICAgICAgIC8vIFJldHVybiB2YWx1ZSBpcyBleHBlY3RlZCB0byBiZSBy
ZXRhaW5lZCwgYXMgZGVzY3JpYmVkIGhlcmU6IDxodHRwOi8vd3d3Lm1vemlsbGEub3JnL3Byb2pl
Y3RzL3BsdWdpbnMvbnBydW50aW1lLmh0bWwjYnJvd3NlcmFjY2Vzcz4KLSAgICAgICAgICAgIGlm
IChwbHVnSW5TY3JpcHRPYmplY3QpCi0gICAgICAgICAgICAgICAgX05QTl9SZXRhaW5PYmplY3Qo
cGx1Z0luU2NyaXB0T2JqZWN0KTsKKyAgICAgICAgICAgIGlmIChfZWxlbWVudE5QT2JqZWN0KQor
ICAgICAgICAgICAgICAgIF9OUE5fUmV0YWluT2JqZWN0KF9lbGVtZW50TlBPYmplY3QpOwogCi0g
ICAgICAgICAgICB2b2lkICoqdiA9ICh2b2lkICoqKXZhbHVlOwotICAgICAgICAgICAgKnYgPSBw
bHVnSW5TY3JpcHRPYmplY3Q7CisgICAgICAgICAgICAqKHZvaWQgKiopdmFsdWUgPSBfZWxlbWVu
dE5QT2JqZWN0OwogCiAgICAgICAgICAgICByZXR1cm4gTlBFUlJfTk9fRVJST1I7CiAgICAgICAg
IH0KQEAgLTIyODAsNyArMjI5MSwxMCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgZ2V0TlBSZWN0KGNv
bnN0IE5TUmVjdCYgbnIsIE5QUmVjdCYgbnByKQogICAgIE5QRXJyb3IgbnBFcnI7CiAgICAgbnBF
cnIgPSAhW19wbHVnaW5QYWNrYWdlLmdldCgpIHBsdWdpbkZ1bmNzXS0+ZGVzdHJveShwbHVnaW4s
IE5VTEwpOwogICAgIExPRyhQbHVnaW5zLCAiTlBQX0Rlc3Ryb3k6ICVkIiwgbnBFcnIpOwotICAg
IAorCisgICAgaWYgKF9lbGVtZW50TlBPYmplY3QpCisgICAgICAgIF9OUE5fUmVsZWFzZU9iamVj
dChfZWxlbWVudE5QT2JqZWN0KTsKKwogICAgIGlmIChGcmFtZSogZnJhbWUgPSBjb3JlKFtzZWxm
IHdlYkZyYW1lXSkpCiAgICAgICAgIGZyYW1lLT5zY3JpcHQoKS5jbGVhbnVwU2NyaXB0T2JqZWN0
c0ZvclBsdWdpbihzZWxmKTsKICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dp
bi9QbHVnaW5zL1BsdWdpblZpZXcuY3BwIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVn
aW5WaWV3LmNwcAppbmRleCA2MTljYjA2Njk5OWJjNTFlNWFmOWE5ZDk2ZjQ0ZDI0ZDJmNDdhM2Fi
Li40OGJlYzkxMmJmMGIwZDFiYmQ1MGU5OGVlYmQ3MDZiNjVlMjMxMzcyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvd2luL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKQEAgLTU1LDYgKzU1LDcgQEAKICNpbmNsdWRl
IDxXZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01JTUVUeXBlUmVn
aXN0cnkuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01vdXNlRXZlbnQuaD4KKyNpbmNsdWRlIDxXZWJD
b3JlL05QX2pzb2JqZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvUGFnZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1Nb3Vz
ZUV2ZW50Lmg+CkBAIC0yOTIsNiArMjkzLDkgQEAgUGx1Z2luVmlldzo6flBsdWdpblZpZXcoKQog
CiAgICAgc3RvcCgpOwogCisgICAgaWYgKG1fZWxlbWVudE5QT2JqZWN0KQorICAgICAgICBfTlBO
X1JlbGVhc2VPYmplY3QobV9lbGVtZW50TlBPYmplY3QpOworICAgIAogICAgIGZyZWVTdHJpbmdB
cnJheShtX3BhcmFtTmFtZXMsIG1fcGFyYW1Db3VudCk7CiAgICAgZnJlZVN0cmluZ0FycmF5KG1f
cGFyYW1WYWx1ZXMsIG1fcGFyYW1Db3VudCk7CiAKQEAgLTc0OSw2ICs3NTMsNyBAQCBQbHVnaW5W
aWV3OjpQbHVnaW5WaWV3KEZyYW1lKiBwYXJlbnRGcmFtZSwgY29uc3QgSW50U2l6ZSYgc2l6ZSwg
UGx1Z2luUGFja2FnZSogcAogICAgICwgbV9wYXJhbVZhbHVlcygwKQogICAgICwgbV9taW1lVHlw
ZShtaW1lVHlwZSkKICAgICAsIG1faW5zdGFuY2UoMCkKKyAgICAsIG1fZWxlbWVudE5QT2JqZWN0
KG51bGxwdHIpCiAgICAgLCBtX2lzV2luZG93ZWQodHJ1ZSkKICAgICAsIG1faXNUcmFuc3BhcmVu
dChmYWxzZSkKICAgICAsIG1faGF2ZUluaXRpYWxpemVkKGZhbHNlKQpAQCAtMTIyNCwxOCArMTIy
OSwyMyBAQCBOUEVycm9yIFBsdWdpblZpZXc6OmdldFZhbHVlKE5QTlZhcmlhYmxlIHZhcmlhYmxl
LCB2b2lkKiB2YWx1ZSkKICAgICAgICAgaWYgKG1faXNKYXZhU2NyaXB0UGF1c2VkKQogICAgICAg
ICAgICAgcmV0dXJuIE5QRVJSX0dFTkVSSUNfRVJST1I7CiAKLSAgICAgICAgTlBPYmplY3QqIHBs
dWdpblNjcmlwdE9iamVjdCA9IDA7Ci0KLSAgICAgICAgaWYgKG1fZWxlbWVudC0+aGFzVGFnTmFt
ZShhcHBsZXRUYWcpIHx8IG1fZWxlbWVudC0+aGFzVGFnTmFtZShlbWJlZFRhZykgfHwgbV9lbGVt
ZW50LT5oYXNUYWdOYW1lKG9iamVjdFRhZykpCi0gICAgICAgICAgICBwbHVnaW5TY3JpcHRPYmpl
Y3QgPSBtX2VsZW1lbnQtPmdldE5QT2JqZWN0KCk7Ci0KLSAgICAgICAgLy8gUmV0dXJuIHZhbHVl
IGlzIGV4cGVjdGVkIHRvIGJlIHJldGFpbmVkLCBhcyBkZXNjcmliZWQgaGVyZTogPGh0dHA6Ly93
d3cubW96aWxsYS5vcmcvcHJvamVjdHMvcGx1Z2luL25wcnVudGltZS5odG1sPgotICAgICAgICBp
ZiAocGx1Z2luU2NyaXB0T2JqZWN0KQotICAgICAgICAgICAgX05QTl9SZXRhaW5PYmplY3QocGx1
Z2luU2NyaXB0T2JqZWN0KTsKKyAgICAgICAgaWYgKCFtX2VsZW1lbnROUE9iamVjdCkgeworICAg
ICAgICAgICAgRnJhbWUqIGZyYW1lID0gZ2V0RnJhbWUocGFyZW50RnJhbWUoKSwgbV9lbGVtZW50
KTsKKyAgICAgICAgICAgIGlmICghZnJhbWUpCisgICAgICAgICAgICAgICAgcmV0dXJuIE5QRVJS
X0dFTkVSSUNfRVJST1I7CisKKyAgICAgICAgICAgIEpTQzo6SlNPYmplY3QqIG9iamVjdCA9IGZy
YW1lLT5zY3JpcHQoKS5qc09iamVjdEZvclBsdWdpbkVsZW1lbnQoX2VsZW1lbnQuZ2V0KCkpOwor
ICAgICAgICAgICAgaWYgKCFvYmplY3QpCisgICAgICAgICAgICAgICAgbV9lbGVtZW50TlBPYmpl
Y3QgPSBfTlBOX0NyZWF0ZU5vU2NyaXB0T2JqZWN0KCk7CisgICAgICAgICAgICBlbHNlCisgICAg
ICAgICAgICAgICAgbV9lbGVtZW50TlBPYmplY3QgPSBfTlBOX0NyZWF0ZVNjcmlwdE9iamVjdCgw
LCBvYmplY3QsIGZyYW1lLT5zY3JpcHQoKS5iaW5kaW5nUm9vdE9iamVjdCgpKTsKKyAgICAgICAg
fQogCi0gICAgICAgIHZvaWQqKiB2ID0gKHZvaWQqKil2YWx1ZTsKLSAgICAgICAgKnYgPSBwbHVn
aW5TY3JpcHRPYmplY3Q7CisgICAgICAgIC8vIFJldHVybiB2YWx1ZSBpcyBleHBlY3RlZCB0byBi
ZSByZXRhaW5lZCwgYXMgZGVzY3JpYmVkIGhlcmU6IDxodHRwOi8vd3d3Lm1vemlsbGEub3JnL3By
b2plY3RzL3BsdWdpbnMvbnBydW50aW1lLmh0bWwjYnJvd3NlcmFjY2Vzcz4KKyAgICAgICAgaWYg
KG1fZWxlbWVudE5QT2JqZWN0KQorICAgICAgICAgICAgX05QTl9SZXRhaW5PYmplY3QobV9lbGVt
ZW50TlBPYmplY3QpOwogCisgICAgICAgICoodm9pZCAqKil2YWx1ZSA9IG1fZWxlbWVudE5QT2Jq
ZWN0OwogICAgICAgICByZXR1cm4gTlBFUlJfTk9fRVJST1I7CiAgICAgfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXcuaCBiL1NvdXJjZS9XZWJLaXQv
d2luL1BsdWdpbnMvUGx1Z2luVmlldy5oCmluZGV4IDY5Y2IwMTNhMDQ2ZjEzZTUzOWVhYmQ0NzZi
NTdmNWFkZTNhMDc5YTAuLjYwNmJhMDUwOGU4MDQwMGVhMTUzZGU1MzM3NjQzYTk5NjA5Y2E5OWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlldy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlldy5oCkBAIC0zMTAsNiArMzEwLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBOUFdpbmRvdyBtX25wV2luZG93OwogI2Vu
ZGlmCiAKKyAgICAgICAgTlBPYmplY3QqIG1fZWxlbWVudE5QT2JqZWN0OworCiAgICAgICAgIFZl
Y3Rvcjxib29sLCA0PiBtX3BvcHVwU3RhdGVTdGFjazsKIAogICAgICAgICBIYXNoU2V0PFJlZlB0
cjxQbHVnaW5TdHJlYW0+ID4gbV9zdHJlYW1zOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>286386</attachid>
            <date>2016-08-18 12:15:59 -0700</date>
            <delta_ts>2016-08-18 12:17:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160967-20160818121409.patch</filename>
            <type>text/plain</type>
            <size>15281</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0NTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWY1MDQ5NjlkZjljNGVl
YWU0YjljMTgyZDk5NmY2MTE5YTBhODk5My4uYzFkMGI2ZTk3YzdkZmVjYzAyNGJjOTk0YjM2NzE4
YTZhMzI1NzY3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE2LTA4LTE4ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBhbiBOUEFQ
SS1vbmx5IGZ1bmN0aW9uIGZyb20gV2ViQ29yZSB0byBXZWJLaXQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDk2NworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6Y3JlYXRlU2NyaXB0T2JqZWN0Rm9y
UGx1Z2luRWxlbWVudCk6IERlbGV0ZWQuCisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0Q29u
dHJvbGxlci5oOgorICAgICAgICAqIGJyaWRnZS9OUF9qc29iamVjdC5oOgorCiAyMDE2LTA4LTE4
ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFtNZWRp
YVN0cmVhbV0gY2xlYW51cCBNZWRpYUNvbnN0cmFpbnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggYTlk
MWZkNzNkNjA4NzFlYTBjMWY1ZmVlMzZlYjM5Mjc3YTA5NGIyYS4uMmZlYzVhNzVjOGNmZTAzNzEx
YjUzOTA3YWVkNjIwMjYzNWI0MjQzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDE2LTA4LTE4ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAg
ICAgICAgTW92ZSBhbiBOUEFQSS1vbmx5IGZ1bmN0aW9uIGZyb20gV2ViQ29yZSB0byBXZWJLaXQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDk2Nwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogUGx1Z2lu
cy9XZWJOZXRzY2FwZVBsdWdpblZpZXcuaDoKKyAgICAgICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBl
UGx1Z2luVmlldy5tbToKKyAgICAgICAgKC1bV2ViTmV0c2NhcGVQbHVnaW5WaWV3IGdldFZhcmlh
YmxlOnZhbHVlOl0pOgorICAgICAgICAoLVtXZWJOZXRzY2FwZVBsdWdpblZpZXcgX2Rlc3Ryb3lQ
bHVnaW5dKToKKwogMjAxNi0wOC0xOCAgUmF3aW5kZXIgU2luZ2ggIDxyYXdpbmRlci5zaW5naC13
ZWJraXRAY2lzcmEuY2Fub24uY29tLmF1PgogCiAgICAgICAgIFt3ZWItYW5pbWF0aW9uc10gQWRk
IEFuaW1hdGFibGUsIEFuaW1hdGlvbkVmZmVjdCwgS2V5ZnJhbWVFZmZlY3QgYW5kIEFuaW1hdGlv
biBpbnRlcmZhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCBhOGU0ZjMzM2Y1ZTljMmE5YTBiZDIwMTQ0
ZDcxZmNiYWUyYjI4Yzg1Li4yZTAwYTNhY2IwNmIxZDFiYjZkYmM5MTM4ZjZkNDczNjk3NzJlNmY4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTYtMDgtMTggIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIGFuIE5QQVBJLW9u
bHkgZnVuY3Rpb24gZnJvbSBXZWJDb3JlIHRvIFdlYktpdAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYwOTY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBQbHVnaW5zL1BsdWdpblZpZXcuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6flBsdWdpblZpZXcpOgorICAgICAgICAoV2ViQ29y
ZTo6UGx1Z2luVmlldzo6UGx1Z2luVmlldyk6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3
OjpnZXRWYWx1ZSk6CisgICAgICAgICogUGx1Z2lucy9QbHVnaW5WaWV3Lmg6CisKIDIwMTYtMDgt
MTUgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1v
dmUgdW51c2VkIGluY2x1ZGVzIG9mIHd0ZiBoZWFkZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZjg0MjVjYjZhYzM2ZDE3ODIy
MmQwNGIwMjA0NWQzNzM0MzEyMTQ2NS4uYTg0YzY0ZTI4ZGY3OGZiMjRhYjlmY2Y4YTA2NTg0NDA0
NWMyM2I5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtNzM3LDcgKzczNyw3IEBACiAJCTFBNTY5Q0ZEMEQ3RTJCODIwMDdDMzk4
MyAvKiBjX3V0aWxpdHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUE1NjlDQ0MwRDdFMkI4MjAwN0MzOTgzIC8qIGNfdXRpbGl0eS5jcHAgKi87IH07
CiAJCTFBNTY5Q0ZFMEQ3RTJCODIwMDdDMzk4MyAvKiBjX3V0aWxpdHkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNTY5Q0NEMEQ3RTJCODIwMDdDMzk4
MyAvKiBjX3V0aWxpdHkuaCAqLzsgfTsKIAkJMUE1NjlEMEEwRDdFMkI4MjAwN0MzOTgzIC8qIE5Q
X2pzb2JqZWN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBNTY5Q0RBMEQ3RTJCODIwMDdDMzk4MyAvKiBOUF9qc29iamVjdC5jcHAgKi87IH07Ci0J
CTFBNTY5RDBCMEQ3RTJCODIwMDdDMzk4MyAvKiBOUF9qc29iamVjdC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE1NjlDREIwRDdFMkI4MjAwN0MzOTgz
IC8qIE5QX2pzb2JqZWN0LmggKi87IH07CisJCTFBNTY5RDBCMEQ3RTJCODIwMDdDMzk4MyAvKiBO
UF9qc29iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUE1NjlDREIwRDdFMkI4MjAwN0MzOTgzIC8qIE5QX2pzb2JqZWN0LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUE1NjlEMEQwRDdFMkI4MjAw
N0MzOTgzIC8qIG5wcnVudGltZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQTU2OUNERDBEN0UyQjgyMDA3QzM5ODMgLyogbnBydW50aW1lLmNwcCAq
LzsgfTsKIAkJMUE1NjlEMEYwRDdFMkI4MjAwN0MzOTgzIC8qIG5wcnVudGltZV9pbXBsLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTU2OUNERjBEN0Uy
QjgyMDA3QzM5ODMgLyogbnBydW50aW1lX2ltcGwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQTU2OUQxMDBEN0UyQjgyMDA3QzM5ODMgLyogbnBy
dW50aW1lX2ludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQTU2OUNFMDBEN0UyQjgyMDA3QzM5ODMgLyogbnBydW50aW1lX2ludGVybmFsLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAKaW5kZXggNGQ5YTU5
MWZiMzliNGU2NDRmMDk5OTBiMDZhNDIxMDc1MzVkNjg4Mi4uNjg4Mzk3YTA1Yzc4MDEwY2NlYTI0
OTVkMjMwMzkwOTUxN2M0ZTYwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvU2NyaXB0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0Q29udHJvbGxlci5jcHAKQEAgLTM4NCw3ICszODQsNiBAQCB2b2lkIFNjcmlwdENvbnRy
b2xsZXI6OmNvbGxlY3RJc29sYXRlZENvbnRleHRzKFZlY3RvcjxzdGQ6OnBhaXI8SlNDOjpFeGVj
U3RhdGUqLAogfQogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCi0KIE5QT2JqZWN0
KiBTY3JpcHRDb250cm9sbGVyOjp3aW5kb3dTY3JpcHROUE9iamVjdCgpCiB7CiAgICAgaWYgKCFt
X3dpbmRvd1NjcmlwdE5QT2JqZWN0KSB7CkBAIC00MDUsMTcgKzQwNCw2IEBAIE5QT2JqZWN0KiBT
Y3JpcHRDb250cm9sbGVyOjp3aW5kb3dTY3JpcHROUE9iamVjdCgpCiAKICAgICByZXR1cm4gbV93
aW5kb3dTY3JpcHROUE9iamVjdDsKIH0KLQotTlBPYmplY3QqIFNjcmlwdENvbnRyb2xsZXI6OmNy
ZWF0ZVNjcmlwdE9iamVjdEZvclBsdWdpbkVsZW1lbnQoSFRNTFBsdWdJbkVsZW1lbnQqIHBsdWdp
bikKLXsKLSAgICBKU09iamVjdCogb2JqZWN0ID0ganNPYmplY3RGb3JQbHVnaW5FbGVtZW50KHBs
dWdpbik7Ci0gICAgaWYgKCFvYmplY3QpCi0gICAgICAgIHJldHVybiBfTlBOX0NyZWF0ZU5vU2Ny
aXB0T2JqZWN0KCk7Ci0KLSAgICAvLyBXcmFwIHRoZSBKU09iamVjdCBpbiBhbiBOUE9iamVjdAot
ICAgIHJldHVybiBfTlBOX0NyZWF0ZVNjcmlwdE9iamVjdCgwLCBvYmplY3QsIGJpbmRpbmdSb290
T2JqZWN0KCkpOwotfQotCiAjZW5kaWYKIAogI2lmICFQTEFURk9STShDT0NPQSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaAppbmRleCBhMzA2YzQwNzcx
NmQwYzMzN2MyODRiYzRlYzhiNWQxNjUzZGJmZGU2Li5hMGM3MWYyNjA4MTJiMGQzMjExOTE2ODY4
MTE5ZDcwYmY2NzE3NjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
Q29udHJvbGxlci5oCkBAIC0xNDcsNyArMTQ3LDcgQEAgcHVibGljOgogICAgIHZvaWQgdXBkYXRl
UGxhdGZvcm1TY3JpcHRPYmplY3RzKCk7CiAKICAgICBSZWZQdHI8SlNDOjpCaW5kaW5nczo6SW5z
dGFuY2U+ICBjcmVhdGVTY3JpcHRJbnN0YW5jZUZvcldpZGdldChXaWRnZXQqKTsKLSAgICBKU0M6
OkJpbmRpbmdzOjpSb290T2JqZWN0KiBiaW5kaW5nUm9vdE9iamVjdCgpOworICAgIFdFQkNPUkVf
RVhQT1JUIEpTQzo6QmluZGluZ3M6OlJvb3RPYmplY3QqIGJpbmRpbmdSb290T2JqZWN0KCk7CiAg
ICAgSlNDOjpCaW5kaW5nczo6Um9vdE9iamVjdCogY2FjaGVhYmxlQmluZGluZ1Jvb3RPYmplY3Qo
KTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIFJlZlB0cjxKU0M6OkJpbmRpbmdzOjpSb290T2JqZWN0
PiBjcmVhdGVSb290T2JqZWN0KHZvaWQqIG5hdGl2ZUhhbmRsZSk7CkBAIC0xNjIsNyArMTYyLDYg
QEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIEpTQzo6SlNPYmplY3QqIGpzT2JqZWN0Rm9y
UGx1Z2luRWxlbWVudChIVE1MUGx1Z0luRWxlbWVudCopOwogICAgIAogI2lmIEVOQUJMRShORVRT
Q0FQRV9QTFVHSU5fQVBJKQotICAgIE5QT2JqZWN0KiBjcmVhdGVTY3JpcHRPYmplY3RGb3JQbHVn
aW5FbGVtZW50KEhUTUxQbHVnSW5FbGVtZW50Kik7CiAgICAgV0VCQ09SRV9FWFBPUlQgTlBPYmpl
Y3QqIHdpbmRvd1NjcmlwdE5QT2JqZWN0KCk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYnJpZGdlL05QX2pzb2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvTlBf
anNvYmplY3QuaAppbmRleCBiNjhmZmYxZmM0OGE2NTA5ZDMxZjQ1MzZhMzNjYjNmMDY1NDc3OGI5
Li5jZjllOWZkZTkxMjFjMjM1YzIzZmMzOTc2Njg0YTliYjU4NWU4NjgwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9icmlkZ2UvTlBfanNvYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2UvTlBfanNvYmplY3QuaApAQCAtNDcsOCArNDcsOCBAQCBzdHJ1Y3QgSmF2YVNjcmlwdE9i
amVjdAogICAgIEpTQzo6QmluZGluZ3M6OlJvb3RPYmplY3QqIHJvb3RPYmplY3Q7CiB9OwogCi1O
UE9iamVjdCogX05QTl9DcmVhdGVTY3JpcHRPYmplY3QoTlBQLCBKU0M6OkpTT2JqZWN0KiwgUmVm
UHRyPEpTQzo6QmluZGluZ3M6OlJvb3RPYmplY3Q+JiYpOwotTlBPYmplY3QqIF9OUE5fQ3JlYXRl
Tm9TY3JpcHRPYmplY3Qodm9pZCk7CitXRUJDT1JFX0VYUE9SVCBOUE9iamVjdCogX05QTl9DcmVh
dGVTY3JpcHRPYmplY3QoTlBQLCBKU0M6OkpTT2JqZWN0KiwgUmVmUHRyPEpTQzo6QmluZGluZ3M6
OlJvb3RPYmplY3Q+JiYpOworV0VCQ09SRV9FWFBPUlQgTlBPYmplY3QqIF9OUE5fQ3JlYXRlTm9T
Y3JpcHRPYmplY3Qodm9pZCk7CiAKICNlbmRpZiAvLyBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQ
SSkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcAppbmRleCBiOGU1
MzE3NzJlOWI2MDVkZDBkMTQxNWExNzY3OWFhNDIwMGVkNGRiLi43YzhiZTU1ZDkwMTk1OGQzNjRh
MDlkMzgzZTg3NDA0YzkyZDE2ZTdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxQbHVnSW5FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5F
bGVtZW50LmNwcApAQCAtMjgyLDE4ICsyODIsNiBAQCBib29sIEhUTUxQbHVnSW5FbGVtZW50Ojpz
dXBwb3J0c0ZvY3VzKCkgY29uc3QKICAgICByZXR1cm4gIWRvd25jYXN0PFJlbmRlckVtYmVkZGVk
T2JqZWN0PigqcmVuZGVyZXIoKSkuaXNQbHVnaW5VbmF2YWlsYWJsZSgpOwogfQogCi0jaWYgRU5B
QkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCi0KLU5QT2JqZWN0KiBIVE1MUGx1Z0luRWxlbWVudDo6
Z2V0TlBPYmplY3QoKQotewotICAgIEFTU0VSVChkb2N1bWVudCgpLmZyYW1lKCkpOwotICAgIGlm
ICghbV9OUE9iamVjdCkKLSAgICAgICAgbV9OUE9iamVjdCA9IGRvY3VtZW50KCkuZnJhbWUoKS0+
c2NyaXB0KCkuY3JlYXRlU2NyaXB0T2JqZWN0Rm9yUGx1Z2luRWxlbWVudCh0aGlzKTsKLSAgICBy
ZXR1cm4gbV9OUE9iamVjdDsKLX0KLQotI2VuZGlmIC8qIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5f
QVBJKSAqLwotCiBSZW5kZXJQdHI8UmVuZGVyRWxlbWVudD4gSFRNTFBsdWdJbkVsZW1lbnQ6OmNy
ZWF0ZUVsZW1lbnRSZW5kZXJlcihSZW5kZXJTdHlsZSYmIHN0eWxlLCBjb25zdCBSZW5kZXJUcmVl
UG9zaXRpb24mIGluc2VydGlvblBvc2l0aW9uKQogewogICAgIGlmIChtX3BsdWdpblJlcGxhY2Vt
ZW50ICYmIG1fcGx1Z2luUmVwbGFjZW1lbnQtPndpbGxDcmVhdGVSZW5kZXJlcigpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5oCmluZGV4IDY3MmE4MjllMWUyYTg2NjYxNjEw
YzJlZmJmZGZjNjQ5NjJlNDk5NDQuLmE4N2E5ODc5N2M0OGQ3ZjY5MjViY2E0MTk2MDA5NzM3MDRk
ZjAyZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmgKQEAgLTI2LDEw
ICsyNiw2IEBACiAjaW5jbHVkZSAiSFRNTEZyYW1lT3duZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAi
SW1hZ2UuaCIKIAotI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQotc3RydWN0IE5QT2Jq
ZWN0OwotI2VuZGlmCi0KIG5hbWVzcGFjZSBKU0MgewogbmFtZXNwYWNlIEJpbmRpbmdzIHsKIGNs
YXNzIEluc3RhbmNlOwpAQCAtNzEsMTAgKzY3LDYgQEAgcHVibGljOgogCiAgICAgSlNDOjpKU09i
amVjdCogc2NyaXB0T2JqZWN0Rm9yUGx1Z2luUmVwbGFjZW1lbnQoKTsKIAotI2lmIEVOQUJMRShO
RVRTQ0FQRV9QTFVHSU5fQVBJKQotICAgIFdFQkNPUkVfRVhQT1JUIE5QT2JqZWN0KiBnZXROUE9i
amVjdCgpOwotI2VuZGlmCi0KICAgICBib29sIGlzQ2FwdHVyaW5nTW91c2VFdmVudHMoKSBjb25z
dCB7IHJldHVybiBtX2lzQ2FwdHVyaW5nTW91c2VFdmVudHM7IH0KICAgICB2b2lkIHNldElzQ2Fw
dHVyaW5nTW91c2VFdmVudHMoYm9vbCBjYXB0dXJpbmcpIHsgbV9pc0NhcHR1cmluZ01vdXNlRXZl
bnRzID0gY2FwdHVyaW5nOyB9CiAKQEAgLTEyOCw5ICsxMjAsNiBAQCBwcml2YXRlOgogICAgIFJl
ZlB0cjxKU0M6OkJpbmRpbmdzOjpJbnN0YW5jZT4gbV9pbnN0YW5jZTsKICAgICBUaW1lciBtX3N3
YXBSZW5kZXJlclRpbWVyOwogICAgIFJlZlB0cjxQbHVnaW5SZXBsYWNlbWVudD4gbV9wbHVnaW5S
ZXBsYWNlbWVudDsKLSNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKLSAgICBOUE9iamVj
dCogbV9OUE9iamVjdDsKLSNlbmRpZgogICAgIGJvb2wgbV9pc0NhcHR1cmluZ01vdXNlRXZlbnRz
OwogCiAgICAgRGlzcGxheVN0YXRlIG1fZGlzcGxheVN0YXRlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcuaCBiL1NvdXJjZS9XZWJL
aXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3LmgKaW5kZXggNWY4YjNjYmNiM2Vi
ZDEyNzNkNTI3NWRkZmM4OTM1ZGY1NGQyMGE5OS4uZDA4ZmZmYWVjMDI4NjYwMzY2Y2U4ODQ2MDFm
YjQ1MDBhZDNlMDZhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJO
ZXRzY2FwZVBsdWdpblZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5l
dHNjYXBlUGx1Z2luVmlldy5oCkBAIC01OSw3ICs1OSw5IEBAIHR5cGVkZWYgdW5pb24gUGx1Z2lu
UG9ydCB7CiAgICAgUmV0YWluUHRyPENBTGF5ZXI+IF9wbHVnaW5MYXllcjsKICAgICB1bnNpZ25l
ZCBfZGF0YUxlbmd0aFJlY2VpdmVkOwogICAgIFJldGFpblB0cjxOU0Vycm9yPiBfZXJyb3I7Ci0g
ICAgICAgIAorCisgICAgTlBPYmplY3QqIF9lbGVtZW50TlBPYmplY3Q7CisKICAgICB1bnNpZ25l
ZCBhcmdzQ291bnQ7CiAgICAgY2hhciAqKmNBdHRyaWJ1dGVzOwogICAgIGNoYXIgKipjVmFsdWVz
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdp
blZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmll
dy5tbQppbmRleCBjMjhlM2E1YzY0NjA5ODJhYTBjYTU2NjgwMzgxMjcwOTU5NjhmNzFjLi45NmMx
ZGNhN2IzOWE4MmMxMWQ4YzY0NTA0ZmY2OTExNjAxYTQyZjkzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQpAQCAtNjEsNyArNjEs
OCBAQAogI2ltcG9ydCA8V2ViQ29yZS9GcmFtZVRyZWUuaD4KICNpbXBvcnQgPFdlYkNvcmUvRnJh
bWVWaWV3Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0hUTUxQbHVnSW5FbGVtZW50Lmg+Ci0jaW1wb3J0
IDxXZWJDb3JlL1BhZ2UuaD4gCisjaW1wb3J0IDxXZWJDb3JlL05QX2pzb2JqZWN0Lmg+CisjaW1w
b3J0IDxXZWJDb3JlL1BhZ2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvUHJveHlTZXJ2ZXIuaD4KICNp
bXBvcnQgPFdlYkNvcmUvU2NyaXB0Q29udHJvbGxlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9TZWN1
cml0eU9yaWdpbi5oPgpAQCAtNzAsNiArNzEsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3Jl
T2JqQ0V4dHJhcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlVVJMUmVzcG9uc2UuaD4KICNp
bXBvcnQgPFdlYkNvcmUvbnBydW50aW1lX2ltcGwuaD4KKyNpbXBvcnQgPFdlYkNvcmUvcnVudGlt
ZV9yb290Lmg+CiAjaW1wb3J0IDxXZWJLaXRMZWdhY3kvRE9NUHJpdmF0ZS5oPgogI2ltcG9ydCA8
V2ViS2l0TGVnYWN5L1dlYlVJRGVsZWdhdGUuaD4KICNpbXBvcnQgPG9iamMvcnVudGltZS5oPgpA
QCAtMTkyMiwxNyArMTkyNCwyNiBAQCBzdGF0aWMgaW5saW5lIHZvaWQgZ2V0TlBSZWN0KGNvbnN0
IE5TUmVjdCYgbnIsIE5QUmVjdCYgbnByKQogCiAgICAgICAgIGNhc2UgTlBOVlBsdWdpbkVsZW1l
bnROUE9iamVjdDoKICAgICAgICAgewotICAgICAgICAgICAgaWYgKCFfZWxlbWVudCkKLSAgICAg
ICAgICAgICAgICByZXR1cm4gTlBFUlJfR0VORVJJQ19FUlJPUjsKLSAgICAgICAgICAgIAotICAg
ICAgICAgICAgTlBPYmplY3QgKnBsdWdJblNjcmlwdE9iamVjdCA9IF9lbGVtZW50LT5nZXROUE9i
amVjdCgpOworICAgICAgICAgICAgaWYgKCFfZWxlbWVudE5QT2JqZWN0KSB7CisgICAgICAgICAg
ICAgICAgaWYgKCFfZWxlbWVudCkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5QRVJSX0dF
TkVSSUNfRVJST1I7CisKKyAgICAgICAgICAgICAgICBGcmFtZSogZnJhbWUgPSBjb3JlKHNlbGYu
d2ViRnJhbWUpOworICAgICAgICAgICAgICAgIGlmICghZnJhbWUpCisgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBOUEVSUl9HRU5FUklDX0VSUk9SOworCisgICAgICAgICAgICAgICAgSlNDOjpK
U09iamVjdCogb2JqZWN0ID0gZnJhbWUtPnNjcmlwdCgpLmpzT2JqZWN0Rm9yUGx1Z2luRWxlbWVu
dChfZWxlbWVudC5nZXQoKSk7CisgICAgICAgICAgICAgICAgaWYgKCFvYmplY3QpCisgICAgICAg
ICAgICAgICAgICAgIF9lbGVtZW50TlBPYmplY3QgPSBfTlBOX0NyZWF0ZU5vU2NyaXB0T2JqZWN0
KCk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBfZWxlbWVudE5Q
T2JqZWN0ID0gX05QTl9DcmVhdGVTY3JpcHRPYmplY3QoMCwgb2JqZWN0LCBmcmFtZS0+c2NyaXB0
KCkuYmluZGluZ1Jvb3RPYmplY3QoKSk7CisgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIC8v
IFJldHVybiB2YWx1ZSBpcyBleHBlY3RlZCB0byBiZSByZXRhaW5lZCwgYXMgZGVzY3JpYmVkIGhl
cmU6IDxodHRwOi8vd3d3Lm1vemlsbGEub3JnL3Byb2plY3RzL3BsdWdpbnMvbnBydW50aW1lLmh0
bWwjYnJvd3NlcmFjY2Vzcz4KLSAgICAgICAgICAgIGlmIChwbHVnSW5TY3JpcHRPYmplY3QpCi0g
ICAgICAgICAgICAgICAgX05QTl9SZXRhaW5PYmplY3QocGx1Z0luU2NyaXB0T2JqZWN0KTsKKyAg
ICAgICAgICAgIGlmIChfZWxlbWVudE5QT2JqZWN0KQorICAgICAgICAgICAgICAgIF9OUE5fUmV0
YWluT2JqZWN0KF9lbGVtZW50TlBPYmplY3QpOwogCi0gICAgICAgICAgICB2b2lkICoqdiA9ICh2
b2lkICoqKXZhbHVlOwotICAgICAgICAgICAgKnYgPSBwbHVnSW5TY3JpcHRPYmplY3Q7CisgICAg
ICAgICAgICAqKHZvaWQgKiopdmFsdWUgPSBfZWxlbWVudE5QT2JqZWN0OwogCiAgICAgICAgICAg
ICByZXR1cm4gTlBFUlJfTk9fRVJST1I7CiAgICAgICAgIH0KQEAgLTIyODAsNyArMjI5MSwxMCBA
QCBzdGF0aWMgaW5saW5lIHZvaWQgZ2V0TlBSZWN0KGNvbnN0IE5TUmVjdCYgbnIsIE5QUmVjdCYg
bnByKQogICAgIE5QRXJyb3IgbnBFcnI7CiAgICAgbnBFcnIgPSAhW19wbHVnaW5QYWNrYWdlLmdl
dCgpIHBsdWdpbkZ1bmNzXS0+ZGVzdHJveShwbHVnaW4sIE5VTEwpOwogICAgIExPRyhQbHVnaW5z
LCAiTlBQX0Rlc3Ryb3k6ICVkIiwgbnBFcnIpOwotICAgIAorCisgICAgaWYgKF9lbGVtZW50TlBP
YmplY3QpCisgICAgICAgIF9OUE5fUmVsZWFzZU9iamVjdChfZWxlbWVudE5QT2JqZWN0KTsKKwog
ICAgIGlmIChGcmFtZSogZnJhbWUgPSBjb3JlKFtzZWxmIHdlYkZyYW1lXSkpCiAgICAgICAgIGZy
YW1lLT5zY3JpcHQoKS5jbGVhbnVwU2NyaXB0T2JqZWN0c0ZvclBsdWdpbihzZWxmKTsKICAgICAg
ICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXcuY3Bw
IGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAppbmRleCA2MTljYjA2
Njk5OWJjNTFlNWFmOWE5ZDk2ZjQ0ZDI0ZDJmNDdhM2FiLi40OGJlYzkxMmJmMGIwZDFiYmQ1MGU5
OGVlYmQ3MDZiNjVlMjMxMzcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5z
L1BsdWdpblZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmll
dy5jcHAKQEAgLTU1LDYgKzU1LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0tleWJvYXJkRXZlbnQu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL01JTUVUeXBlUmVnaXN0cnkuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL01vdXNlRXZlbnQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL05QX2pzb2JqZWN0Lmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGFnZS5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1Nb3VzZUV2ZW50Lmg+CkBAIC0yOTIsNiArMjkz
LDkgQEAgUGx1Z2luVmlldzo6flBsdWdpblZpZXcoKQogCiAgICAgc3RvcCgpOwogCisgICAgaWYg
KG1fZWxlbWVudE5QT2JqZWN0KQorICAgICAgICBfTlBOX1JlbGVhc2VPYmplY3QobV9lbGVtZW50
TlBPYmplY3QpOworICAgIAogICAgIGZyZWVTdHJpbmdBcnJheShtX3BhcmFtTmFtZXMsIG1fcGFy
YW1Db3VudCk7CiAgICAgZnJlZVN0cmluZ0FycmF5KG1fcGFyYW1WYWx1ZXMsIG1fcGFyYW1Db3Vu
dCk7CiAKQEAgLTc0OSw2ICs3NTMsNyBAQCBQbHVnaW5WaWV3OjpQbHVnaW5WaWV3KEZyYW1lKiBw
YXJlbnRGcmFtZSwgY29uc3QgSW50U2l6ZSYgc2l6ZSwgUGx1Z2luUGFja2FnZSogcAogICAgICwg
bV9wYXJhbVZhbHVlcygwKQogICAgICwgbV9taW1lVHlwZShtaW1lVHlwZSkKICAgICAsIG1faW5z
dGFuY2UoMCkKKyAgICAsIG1fZWxlbWVudE5QT2JqZWN0KG51bGxwdHIpCiAgICAgLCBtX2lzV2lu
ZG93ZWQodHJ1ZSkKICAgICAsIG1faXNUcmFuc3BhcmVudChmYWxzZSkKICAgICAsIG1faGF2ZUlu
aXRpYWxpemVkKGZhbHNlKQpAQCAtMTIyNCwxOCArMTIyOSwyMyBAQCBOUEVycm9yIFBsdWdpblZp
ZXc6OmdldFZhbHVlKE5QTlZhcmlhYmxlIHZhcmlhYmxlLCB2b2lkKiB2YWx1ZSkKICAgICAgICAg
aWYgKG1faXNKYXZhU2NyaXB0UGF1c2VkKQogICAgICAgICAgICAgcmV0dXJuIE5QRVJSX0dFTkVS
SUNfRVJST1I7CiAKLSAgICAgICAgTlBPYmplY3QqIHBsdWdpblNjcmlwdE9iamVjdCA9IDA7Ci0K
LSAgICAgICAgaWYgKG1fZWxlbWVudC0+aGFzVGFnTmFtZShhcHBsZXRUYWcpIHx8IG1fZWxlbWVu
dC0+aGFzVGFnTmFtZShlbWJlZFRhZykgfHwgbV9lbGVtZW50LT5oYXNUYWdOYW1lKG9iamVjdFRh
ZykpCi0gICAgICAgICAgICBwbHVnaW5TY3JpcHRPYmplY3QgPSBtX2VsZW1lbnQtPmdldE5QT2Jq
ZWN0KCk7Ci0KLSAgICAgICAgLy8gUmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkIHRvIGJlIHJldGFp
bmVkLCBhcyBkZXNjcmliZWQgaGVyZTogPGh0dHA6Ly93d3cubW96aWxsYS5vcmcvcHJvamVjdHMv
cGx1Z2luL25wcnVudGltZS5odG1sPgotICAgICAgICBpZiAocGx1Z2luU2NyaXB0T2JqZWN0KQot
ICAgICAgICAgICAgX05QTl9SZXRhaW5PYmplY3QocGx1Z2luU2NyaXB0T2JqZWN0KTsKKyAgICAg
ICAgaWYgKCFtX2VsZW1lbnROUE9iamVjdCkgeworICAgICAgICAgICAgRnJhbWUqIGZyYW1lID0g
Z2V0RnJhbWUocGFyZW50RnJhbWUoKSwgbV9lbGVtZW50KTsKKyAgICAgICAgICAgIGlmICghZnJh
bWUpCisgICAgICAgICAgICAgICAgcmV0dXJuIE5QRVJSX0dFTkVSSUNfRVJST1I7CisKKyAgICAg
ICAgICAgIEpTQzo6SlNPYmplY3QqIG9iamVjdCA9IGZyYW1lLT5zY3JpcHQoKS5qc09iamVjdEZv
clBsdWdpbkVsZW1lbnQoX2VsZW1lbnQuZ2V0KCkpOworICAgICAgICAgICAgaWYgKCFvYmplY3Qp
CisgICAgICAgICAgICAgICAgbV9lbGVtZW50TlBPYmplY3QgPSBfTlBOX0NyZWF0ZU5vU2NyaXB0
T2JqZWN0KCk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgbV9lbGVtZW50TlBP
YmplY3QgPSBfTlBOX0NyZWF0ZVNjcmlwdE9iamVjdCgwLCBvYmplY3QsIGZyYW1lLT5zY3JpcHQo
KS5iaW5kaW5nUm9vdE9iamVjdCgpKTsKKyAgICAgICAgfQogCi0gICAgICAgIHZvaWQqKiB2ID0g
KHZvaWQqKil2YWx1ZTsKLSAgICAgICAgKnYgPSBwbHVnaW5TY3JpcHRPYmplY3Q7CisgICAgICAg
IC8vIFJldHVybiB2YWx1ZSBpcyBleHBlY3RlZCB0byBiZSByZXRhaW5lZCwgYXMgZGVzY3JpYmVk
IGhlcmU6IDxodHRwOi8vd3d3Lm1vemlsbGEub3JnL3Byb2plY3RzL3BsdWdpbnMvbnBydW50aW1l
Lmh0bWwjYnJvd3NlcmFjY2Vzcz4KKyAgICAgICAgaWYgKG1fZWxlbWVudE5QT2JqZWN0KQorICAg
ICAgICAgICAgX05QTl9SZXRhaW5PYmplY3QobV9lbGVtZW50TlBPYmplY3QpOwogCisgICAgICAg
ICoodm9pZCAqKil2YWx1ZSA9IG1fZWxlbWVudE5QT2JqZWN0OwogICAgICAgICByZXR1cm4gTlBF
UlJfTk9fRVJST1I7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVn
aW5zL1BsdWdpblZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlldy5o
CmluZGV4IDY5Y2IwMTNhMDQ2ZjEzZTUzOWVhYmQ0NzZiNTdmNWFkZTNhMDc5YTAuLjYwNmJhMDUw
OGU4MDQwMGVhMTUzZGU1MzM3NjQzYTk5NjA5Y2E5OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvd2luL1BsdWdpbnMvUGx1Z2luVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdp
bnMvUGx1Z2luVmlldy5oCkBAIC0zMTAsNiArMzEwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICBOUFdpbmRvdyBtX25wV2luZG93OwogI2VuZGlmCiAKKyAgICAgICAgTlBPYmplY3Qq
IG1fZWxlbWVudE5QT2JqZWN0OworCiAgICAgICAgIFZlY3Rvcjxib29sLCA0PiBtX3BvcHVwU3Rh
dGVTdGFjazsKIAogICAgICAgICBIYXNoU2V0PFJlZlB0cjxQbHVnaW5TdHJlYW0+ID4gbV9zdHJl
YW1zOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>286387</attachid>
            <date>2016-08-18 12:17:02 -0700</date>
            <delta_ts>2016-08-18 12:17:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160967-20160818121512.patch</filename>
            <type>text/plain</type>
            <size>16445</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0NTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWY1MDQ5NjlkZjljNGVl
YWU0YjljMTgyZDk5NmY2MTE5YTBhODk5My4uYzFkMGI2ZTk3YzdkZmVjYzAyNGJjOTk0YjM2NzE4
YTZhMzI1NzY3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE2LTA4LTE4ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBhbiBOUEFQ
SS1vbmx5IGZ1bmN0aW9uIGZyb20gV2ViQ29yZSB0byBXZWJLaXQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDk2NworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6Y3JlYXRlU2NyaXB0T2JqZWN0Rm9y
UGx1Z2luRWxlbWVudCk6IERlbGV0ZWQuCisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0Q29u
dHJvbGxlci5oOgorICAgICAgICAqIGJyaWRnZS9OUF9qc29iamVjdC5oOgorCiAyMDE2LTA4LTE4
ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFtNZWRp
YVN0cmVhbV0gY2xlYW51cCBNZWRpYUNvbnN0cmFpbnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggYTlk
MWZkNzNkNjA4NzFlYTBjMWY1ZmVlMzZlYjM5Mjc3YTA5NGIyYS4uMmZlYzVhNzVjOGNmZTAzNzEx
YjUzOTA3YWVkNjIwMjYzNWI0MjQzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDE2LTA4LTE4ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAg
ICAgICAgTW92ZSBhbiBOUEFQSS1vbmx5IGZ1bmN0aW9uIGZyb20gV2ViQ29yZSB0byBXZWJLaXQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDk2Nwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogUGx1Z2lu
cy9XZWJOZXRzY2FwZVBsdWdpblZpZXcuaDoKKyAgICAgICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBl
UGx1Z2luVmlldy5tbToKKyAgICAgICAgKC1bV2ViTmV0c2NhcGVQbHVnaW5WaWV3IGdldFZhcmlh
YmxlOnZhbHVlOl0pOgorICAgICAgICAoLVtXZWJOZXRzY2FwZVBsdWdpblZpZXcgX2Rlc3Ryb3lQ
bHVnaW5dKToKKwogMjAxNi0wOC0xOCAgUmF3aW5kZXIgU2luZ2ggIDxyYXdpbmRlci5zaW5naC13
ZWJraXRAY2lzcmEuY2Fub24uY29tLmF1PgogCiAgICAgICAgIFt3ZWItYW5pbWF0aW9uc10gQWRk
IEFuaW1hdGFibGUsIEFuaW1hdGlvbkVmZmVjdCwgS2V5ZnJhbWVFZmZlY3QgYW5kIEFuaW1hdGlv
biBpbnRlcmZhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCBhOGU0ZjMzM2Y1ZTljMmE5YTBiZDIwMTQ0
ZDcxZmNiYWUyYjI4Yzg1Li4yZTAwYTNhY2IwNmIxZDFiYjZkYmM5MTM4ZjZkNDczNjk3NzJlNmY4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTYtMDgtMTggIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIGFuIE5QQVBJLW9u
bHkgZnVuY3Rpb24gZnJvbSBXZWJDb3JlIHRvIFdlYktpdAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYwOTY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBQbHVnaW5zL1BsdWdpblZpZXcuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6flBsdWdpblZpZXcpOgorICAgICAgICAoV2ViQ29y
ZTo6UGx1Z2luVmlldzo6UGx1Z2luVmlldyk6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3
OjpnZXRWYWx1ZSk6CisgICAgICAgICogUGx1Z2lucy9QbHVnaW5WaWV3Lmg6CisKIDIwMTYtMDgt
MTUgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1v
dmUgdW51c2VkIGluY2x1ZGVzIG9mIHd0ZiBoZWFkZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZjg0MjVjYjZhYzM2ZDE3ODIy
MmQwNGIwMjA0NWQzNzM0MzEyMTQ2NS4uYTg0YzY0ZTI4ZGY3OGZiMjRhYjlmY2Y4YTA2NTg0NDA0
NWMyM2I5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtNzM3LDcgKzczNyw3IEBACiAJCTFBNTY5Q0ZEMEQ3RTJCODIwMDdDMzk4
MyAvKiBjX3V0aWxpdHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUE1NjlDQ0MwRDdFMkI4MjAwN0MzOTgzIC8qIGNfdXRpbGl0eS5jcHAgKi87IH07
CiAJCTFBNTY5Q0ZFMEQ3RTJCODIwMDdDMzk4MyAvKiBjX3V0aWxpdHkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNTY5Q0NEMEQ3RTJCODIwMDdDMzk4
MyAvKiBjX3V0aWxpdHkuaCAqLzsgfTsKIAkJMUE1NjlEMEEwRDdFMkI4MjAwN0MzOTgzIC8qIE5Q
X2pzb2JqZWN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBNTY5Q0RBMEQ3RTJCODIwMDdDMzk4MyAvKiBOUF9qc29iamVjdC5jcHAgKi87IH07Ci0J
CTFBNTY5RDBCMEQ3RTJCODIwMDdDMzk4MyAvKiBOUF9qc29iamVjdC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE1NjlDREIwRDdFMkI4MjAwN0MzOTgz
IC8qIE5QX2pzb2JqZWN0LmggKi87IH07CisJCTFBNTY5RDBCMEQ3RTJCODIwMDdDMzk4MyAvKiBO
UF9qc29iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUE1NjlDREIwRDdFMkI4MjAwN0MzOTgzIC8qIE5QX2pzb2JqZWN0LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUE1NjlEMEQwRDdFMkI4MjAw
N0MzOTgzIC8qIG5wcnVudGltZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQTU2OUNERDBEN0UyQjgyMDA3QzM5ODMgLyogbnBydW50aW1lLmNwcCAq
LzsgfTsKIAkJMUE1NjlEMEYwRDdFMkI4MjAwN0MzOTgzIC8qIG5wcnVudGltZV9pbXBsLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTU2OUNERjBEN0Uy
QjgyMDA3QzM5ODMgLyogbnBydW50aW1lX2ltcGwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQTU2OUQxMDBEN0UyQjgyMDA3QzM5ODMgLyogbnBy
dW50aW1lX2ludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQTU2OUNFMDBEN0UyQjgyMDA3QzM5ODMgLyogbnBydW50aW1lX2ludGVybmFsLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAKaW5kZXggNGQ5YTU5
MWZiMzliNGU2NDRmMDk5OTBiMDZhNDIxMDc1MzVkNjg4Mi4uNjg4Mzk3YTA1Yzc4MDEwY2NlYTI0
OTVkMjMwMzkwOTUxN2M0ZTYwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvU2NyaXB0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0Q29udHJvbGxlci5jcHAKQEAgLTM4NCw3ICszODQsNiBAQCB2b2lkIFNjcmlwdENvbnRy
b2xsZXI6OmNvbGxlY3RJc29sYXRlZENvbnRleHRzKFZlY3RvcjxzdGQ6OnBhaXI8SlNDOjpFeGVj
U3RhdGUqLAogfQogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCi0KIE5QT2JqZWN0
KiBTY3JpcHRDb250cm9sbGVyOjp3aW5kb3dTY3JpcHROUE9iamVjdCgpCiB7CiAgICAgaWYgKCFt
X3dpbmRvd1NjcmlwdE5QT2JqZWN0KSB7CkBAIC00MDUsMTcgKzQwNCw2IEBAIE5QT2JqZWN0KiBT
Y3JpcHRDb250cm9sbGVyOjp3aW5kb3dTY3JpcHROUE9iamVjdCgpCiAKICAgICByZXR1cm4gbV93
aW5kb3dTY3JpcHROUE9iamVjdDsKIH0KLQotTlBPYmplY3QqIFNjcmlwdENvbnRyb2xsZXI6OmNy
ZWF0ZVNjcmlwdE9iamVjdEZvclBsdWdpbkVsZW1lbnQoSFRNTFBsdWdJbkVsZW1lbnQqIHBsdWdp
bikKLXsKLSAgICBKU09iamVjdCogb2JqZWN0ID0ganNPYmplY3RGb3JQbHVnaW5FbGVtZW50KHBs
dWdpbik7Ci0gICAgaWYgKCFvYmplY3QpCi0gICAgICAgIHJldHVybiBfTlBOX0NyZWF0ZU5vU2Ny
aXB0T2JqZWN0KCk7Ci0KLSAgICAvLyBXcmFwIHRoZSBKU09iamVjdCBpbiBhbiBOUE9iamVjdAot
ICAgIHJldHVybiBfTlBOX0NyZWF0ZVNjcmlwdE9iamVjdCgwLCBvYmplY3QsIGJpbmRpbmdSb290
T2JqZWN0KCkpOwotfQotCiAjZW5kaWYKIAogI2lmICFQTEFURk9STShDT0NPQSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaAppbmRleCBhMzA2YzQwNzcx
NmQwYzMzN2MyODRiYzRlYzhiNWQxNjUzZGJmZGU2Li5hMGM3MWYyNjA4MTJiMGQzMjExOTE2ODY4
MTE5ZDcwYmY2NzE3NjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
Q29udHJvbGxlci5oCkBAIC0xNDcsNyArMTQ3LDcgQEAgcHVibGljOgogICAgIHZvaWQgdXBkYXRl
UGxhdGZvcm1TY3JpcHRPYmplY3RzKCk7CiAKICAgICBSZWZQdHI8SlNDOjpCaW5kaW5nczo6SW5z
dGFuY2U+ICBjcmVhdGVTY3JpcHRJbnN0YW5jZUZvcldpZGdldChXaWRnZXQqKTsKLSAgICBKU0M6
OkJpbmRpbmdzOjpSb290T2JqZWN0KiBiaW5kaW5nUm9vdE9iamVjdCgpOworICAgIFdFQkNPUkVf
RVhQT1JUIEpTQzo6QmluZGluZ3M6OlJvb3RPYmplY3QqIGJpbmRpbmdSb290T2JqZWN0KCk7CiAg
ICAgSlNDOjpCaW5kaW5nczo6Um9vdE9iamVjdCogY2FjaGVhYmxlQmluZGluZ1Jvb3RPYmplY3Qo
KTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIFJlZlB0cjxKU0M6OkJpbmRpbmdzOjpSb290T2JqZWN0
PiBjcmVhdGVSb290T2JqZWN0KHZvaWQqIG5hdGl2ZUhhbmRsZSk7CkBAIC0xNjIsNyArMTYyLDYg
QEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIEpTQzo6SlNPYmplY3QqIGpzT2JqZWN0Rm9y
UGx1Z2luRWxlbWVudChIVE1MUGx1Z0luRWxlbWVudCopOwogICAgIAogI2lmIEVOQUJMRShORVRT
Q0FQRV9QTFVHSU5fQVBJKQotICAgIE5QT2JqZWN0KiBjcmVhdGVTY3JpcHRPYmplY3RGb3JQbHVn
aW5FbGVtZW50KEhUTUxQbHVnSW5FbGVtZW50Kik7CiAgICAgV0VCQ09SRV9FWFBPUlQgTlBPYmpl
Y3QqIHdpbmRvd1NjcmlwdE5QT2JqZWN0KCk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYnJpZGdlL05QX2pzb2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvTlBf
anNvYmplY3QuaAppbmRleCBiNjhmZmYxZmM0OGE2NTA5ZDMxZjQ1MzZhMzNjYjNmMDY1NDc3OGI5
Li5jZjllOWZkZTkxMjFjMjM1YzIzZmMzOTc2Njg0YTliYjU4NWU4NjgwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9icmlkZ2UvTlBfanNvYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2UvTlBfanNvYmplY3QuaApAQCAtNDcsOCArNDcsOCBAQCBzdHJ1Y3QgSmF2YVNjcmlwdE9i
amVjdAogICAgIEpTQzo6QmluZGluZ3M6OlJvb3RPYmplY3QqIHJvb3RPYmplY3Q7CiB9OwogCi1O
UE9iamVjdCogX05QTl9DcmVhdGVTY3JpcHRPYmplY3QoTlBQLCBKU0M6OkpTT2JqZWN0KiwgUmVm
UHRyPEpTQzo6QmluZGluZ3M6OlJvb3RPYmplY3Q+JiYpOwotTlBPYmplY3QqIF9OUE5fQ3JlYXRl
Tm9TY3JpcHRPYmplY3Qodm9pZCk7CitXRUJDT1JFX0VYUE9SVCBOUE9iamVjdCogX05QTl9DcmVh
dGVTY3JpcHRPYmplY3QoTlBQLCBKU0M6OkpTT2JqZWN0KiwgUmVmUHRyPEpTQzo6QmluZGluZ3M6
OlJvb3RPYmplY3Q+JiYpOworV0VCQ09SRV9FWFBPUlQgTlBPYmplY3QqIF9OUE5fQ3JlYXRlTm9T
Y3JpcHRPYmplY3Qodm9pZCk7CiAKICNlbmRpZiAvLyBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQ
SSkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcAppbmRleCBiOGU1
MzE3NzJlOWI2MDVkZDBkMTQxNWExNzY3OWFhNDIwMGVkNGRiLi40MTMwYTI2MWEwZThiNDEyMTEz
ZTkwNGVhYmEzZGE2MmE4NDhhYTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxQbHVnSW5FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5F
bGVtZW50LmNwcApAQCAtNjcsOSArNjcsNiBAQCBIVE1MUGx1Z0luRWxlbWVudDo6SFRNTFBsdWdJ
bkVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvYwogICAg
IDogSFRNTEZyYW1lT3duZXJFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogICAgICwgbV9pbkJl
Zm9yZUxvYWRFdmVudEhhbmRsZXIoZmFsc2UpCiAgICAgLCBtX3N3YXBSZW5kZXJlclRpbWVyKCp0
aGlzLCAmSFRNTFBsdWdJbkVsZW1lbnQ6OnN3YXBSZW5kZXJlclRpbWVyRmlyZWQpCi0jaWYgRU5B
QkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCi0gICAgLCBtX05QT2JqZWN0KDApCi0jZW5kaWYKICAg
ICAsIG1faXNDYXB0dXJpbmdNb3VzZUV2ZW50cyhmYWxzZSkKICAgICAsIG1fZGlzcGxheVN0YXRl
KFBsYXlpbmcpCiB7CkBAIC03OSwxMyArNzYsNiBAQCBIVE1MUGx1Z0luRWxlbWVudDo6SFRNTFBs
dWdJbkVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvYwog
SFRNTFBsdWdJbkVsZW1lbnQ6On5IVE1MUGx1Z0luRWxlbWVudCgpCiB7CiAgICAgQVNTRVJUKCFt
X2luc3RhbmNlKTsgLy8gY2xlYXJlZCBpbiBkZXRhY2goKQotCi0jaWYgRU5BQkxFKE5FVFNDQVBF
X1BMVUdJTl9BUEkpCi0gICAgaWYgKG1fTlBPYmplY3QpIHsKLSAgICAgICAgX05QTl9SZWxlYXNl
T2JqZWN0KG1fTlBPYmplY3QpOwotICAgICAgICBtX05QT2JqZWN0ID0gMDsKLSAgICB9Ci0jZW5k
aWYKIH0KIAogYm9vbCBIVE1MUGx1Z0luRWxlbWVudDo6Y2FuUHJvY2Vzc0RyYWcoKSBjb25zdApA
QCAtMTExLDEzICsxMDEsNiBAQCB2b2lkIEhUTUxQbHVnSW5FbGVtZW50Ojp3aWxsRGV0YWNoUmVu
ZGVyZXJzKCkKICAgICAgICAgICAgIGZyYW1lLT5ldmVudEhhbmRsZXIoKS5zZXRDYXB0dXJpbmdN
b3VzZUV2ZW50c0VsZW1lbnQobnVsbHB0cik7CiAgICAgICAgIG1faXNDYXB0dXJpbmdNb3VzZUV2
ZW50cyA9IGZhbHNlOwogICAgIH0KLQotI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQot
ICAgIGlmIChtX05QT2JqZWN0KSB7Ci0gICAgICAgIF9OUE5fUmVsZWFzZU9iamVjdChtX05QT2Jq
ZWN0KTsKLSAgICAgICAgbV9OUE9iamVjdCA9IDA7Ci0gICAgfQotI2VuZGlmCiB9CiAKIHZvaWQg
SFRNTFBsdWdJbkVsZW1lbnQ6OnJlc2V0SW5zdGFuY2UoKQpAQCAtMjgyLDE4ICsyNjUsNiBAQCBi
b29sIEhUTUxQbHVnSW5FbGVtZW50OjpzdXBwb3J0c0ZvY3VzKCkgY29uc3QKICAgICByZXR1cm4g
IWRvd25jYXN0PFJlbmRlckVtYmVkZGVkT2JqZWN0PigqcmVuZGVyZXIoKSkuaXNQbHVnaW5VbmF2
YWlsYWJsZSgpOwogfQogCi0jaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCi0KLU5QT2Jq
ZWN0KiBIVE1MUGx1Z0luRWxlbWVudDo6Z2V0TlBPYmplY3QoKQotewotICAgIEFTU0VSVChkb2N1
bWVudCgpLmZyYW1lKCkpOwotICAgIGlmICghbV9OUE9iamVjdCkKLSAgICAgICAgbV9OUE9iamVj
dCA9IGRvY3VtZW50KCkuZnJhbWUoKS0+c2NyaXB0KCkuY3JlYXRlU2NyaXB0T2JqZWN0Rm9yUGx1
Z2luRWxlbWVudCh0aGlzKTsKLSAgICByZXR1cm4gbV9OUE9iamVjdDsKLX0KLQotI2VuZGlmIC8q
IEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKSAqLwotCiBSZW5kZXJQdHI8UmVuZGVyRWxlbWVu
dD4gSFRNTFBsdWdJbkVsZW1lbnQ6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcihSZW5kZXJTdHlsZSYm
IHN0eWxlLCBjb25zdCBSZW5kZXJUcmVlUG9zaXRpb24mIGluc2VydGlvblBvc2l0aW9uKQogewog
ICAgIGlmIChtX3BsdWdpblJlcGxhY2VtZW50ICYmIG1fcGx1Z2luUmVwbGFjZW1lbnQtPndpbGxD
cmVhdGVSZW5kZXJlcigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1
Z0luRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5oCmlu
ZGV4IDY3MmE4MjllMWUyYTg2NjYxNjEwYzJlZmJmZGZjNjQ5NjJlNDk5NDQuLmE4N2E5ODc5N2M0
OGQ3ZjY5MjViY2E0MTk2MDA5NzM3MDRkZjAyZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQ
bHVnSW5FbGVtZW50LmgKQEAgLTI2LDEwICsyNiw2IEBACiAjaW5jbHVkZSAiSFRNTEZyYW1lT3du
ZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiSW1hZ2UuaCIKIAotI2lmIEVOQUJMRShORVRTQ0FQRV9Q
TFVHSU5fQVBJKQotc3RydWN0IE5QT2JqZWN0OwotI2VuZGlmCi0KIG5hbWVzcGFjZSBKU0Mgewog
bmFtZXNwYWNlIEJpbmRpbmdzIHsKIGNsYXNzIEluc3RhbmNlOwpAQCAtNzEsMTAgKzY3LDYgQEAg
cHVibGljOgogCiAgICAgSlNDOjpKU09iamVjdCogc2NyaXB0T2JqZWN0Rm9yUGx1Z2luUmVwbGFj
ZW1lbnQoKTsKIAotI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQotICAgIFdFQkNPUkVf
RVhQT1JUIE5QT2JqZWN0KiBnZXROUE9iamVjdCgpOwotI2VuZGlmCi0KICAgICBib29sIGlzQ2Fw
dHVyaW5nTW91c2VFdmVudHMoKSBjb25zdCB7IHJldHVybiBtX2lzQ2FwdHVyaW5nTW91c2VFdmVu
dHM7IH0KICAgICB2b2lkIHNldElzQ2FwdHVyaW5nTW91c2VFdmVudHMoYm9vbCBjYXB0dXJpbmcp
IHsgbV9pc0NhcHR1cmluZ01vdXNlRXZlbnRzID0gY2FwdHVyaW5nOyB9CiAKQEAgLTEyOCw5ICsx
MjAsNiBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxKU0M6OkJpbmRpbmdzOjpJbnN0YW5jZT4gbV9p
bnN0YW5jZTsKICAgICBUaW1lciBtX3N3YXBSZW5kZXJlclRpbWVyOwogICAgIFJlZlB0cjxQbHVn
aW5SZXBsYWNlbWVudD4gbV9wbHVnaW5SZXBsYWNlbWVudDsKLSNpZiBFTkFCTEUoTkVUU0NBUEVf
UExVR0lOX0FQSSkKLSAgICBOUE9iamVjdCogbV9OUE9iamVjdDsKLSNlbmRpZgogICAgIGJvb2wg
bV9pc0NhcHR1cmluZ01vdXNlRXZlbnRzOwogCiAgICAgRGlzcGxheVN0YXRlIG1fZGlzcGxheVN0
YXRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBs
dWdpblZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5W
aWV3LmgKaW5kZXggNWY4YjNjYmNiM2ViZDEyNzNkNTI3NWRkZmM4OTM1ZGY1NGQyMGE5OS4uZDA4
ZmZmYWVjMDI4NjYwMzY2Y2U4ODQ2MDFmYjQ1MDBhZDNlMDZhZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5oCkBAIC01OSw3ICs1OSw5
IEBAIHR5cGVkZWYgdW5pb24gUGx1Z2luUG9ydCB7CiAgICAgUmV0YWluUHRyPENBTGF5ZXI+IF9w
bHVnaW5MYXllcjsKICAgICB1bnNpZ25lZCBfZGF0YUxlbmd0aFJlY2VpdmVkOwogICAgIFJldGFp
blB0cjxOU0Vycm9yPiBfZXJyb3I7Ci0gICAgICAgIAorCisgICAgTlBPYmplY3QqIF9lbGVtZW50
TlBPYmplY3Q7CisKICAgICB1bnNpZ25lZCBhcmdzQ291bnQ7CiAgICAgY2hhciAqKmNBdHRyaWJ1
dGVzOwogICAgIGNoYXIgKipjVmFsdWVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
UGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVn
aW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQppbmRleCBjMjhlM2E1YzY0NjA5ODJhYTBjYTU2
NjgwMzgxMjcwOTU5NjhmNzFjLi45NmMxZGNhN2IzOWE4MmMxMWQ4YzY0NTA0ZmY2OTExNjAxYTQy
ZjkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1
Z2luVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1
Z2luVmlldy5tbQpAQCAtNjEsNyArNjEsOCBAQAogI2ltcG9ydCA8V2ViQ29yZS9GcmFtZVRyZWUu
aD4KICNpbXBvcnQgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0hUTUxQ
bHVnSW5FbGVtZW50Lmg+Ci0jaW1wb3J0IDxXZWJDb3JlL1BhZ2UuaD4gCisjaW1wb3J0IDxXZWJD
b3JlL05QX2pzb2JqZWN0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1BhZ2UuaD4KICNpbXBvcnQgPFdl
YkNvcmUvUHJveHlTZXJ2ZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2NyaXB0Q29udHJvbGxlci5o
PgogI2ltcG9ydCA8V2ViQ29yZS9TZWN1cml0eU9yaWdpbi5oPgpAQCAtNzAsNiArNzEsNyBAQAog
I2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlT2JqQ0V4dHJhcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9X
ZWJDb3JlVVJMUmVzcG9uc2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvbnBydW50aW1lX2ltcGwuaD4K
KyNpbXBvcnQgPFdlYkNvcmUvcnVudGltZV9yb290Lmg+CiAjaW1wb3J0IDxXZWJLaXRMZWdhY3kv
RE9NUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0TGVnYWN5L1dlYlVJRGVsZWdhdGUuaD4KICNp
bXBvcnQgPG9iamMvcnVudGltZS5oPgpAQCAtMTkyMiwxNyArMTkyNCwyNiBAQCBzdGF0aWMgaW5s
aW5lIHZvaWQgZ2V0TlBSZWN0KGNvbnN0IE5TUmVjdCYgbnIsIE5QUmVjdCYgbnByKQogCiAgICAg
ICAgIGNhc2UgTlBOVlBsdWdpbkVsZW1lbnROUE9iamVjdDoKICAgICAgICAgewotICAgICAgICAg
ICAgaWYgKCFfZWxlbWVudCkKLSAgICAgICAgICAgICAgICByZXR1cm4gTlBFUlJfR0VORVJJQ19F
UlJPUjsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgTlBPYmplY3QgKnBsdWdJblNjcmlwdE9i
amVjdCA9IF9lbGVtZW50LT5nZXROUE9iamVjdCgpOworICAgICAgICAgICAgaWYgKCFfZWxlbWVu
dE5QT2JqZWN0KSB7CisgICAgICAgICAgICAgICAgaWYgKCFfZWxlbWVudCkKKyAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIE5QRVJSX0dFTkVSSUNfRVJST1I7CisKKyAgICAgICAgICAgICAgICBG
cmFtZSogZnJhbWUgPSBjb3JlKHNlbGYud2ViRnJhbWUpOworICAgICAgICAgICAgICAgIGlmICgh
ZnJhbWUpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBOUEVSUl9HRU5FUklDX0VSUk9SOwor
CisgICAgICAgICAgICAgICAgSlNDOjpKU09iamVjdCogb2JqZWN0ID0gZnJhbWUtPnNjcmlwdCgp
LmpzT2JqZWN0Rm9yUGx1Z2luRWxlbWVudChfZWxlbWVudC5nZXQoKSk7CisgICAgICAgICAgICAg
ICAgaWYgKCFvYmplY3QpCisgICAgICAgICAgICAgICAgICAgIF9lbGVtZW50TlBPYmplY3QgPSBf
TlBOX0NyZWF0ZU5vU2NyaXB0T2JqZWN0KCk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgICAgICAgICBfZWxlbWVudE5QT2JqZWN0ID0gX05QTl9DcmVhdGVTY3JpcHRPYmplY3Qo
MCwgb2JqZWN0LCBmcmFtZS0+c2NyaXB0KCkuYmluZGluZ1Jvb3RPYmplY3QoKSk7CisgICAgICAg
ICAgICB9CiAKICAgICAgICAgICAgIC8vIFJldHVybiB2YWx1ZSBpcyBleHBlY3RlZCB0byBiZSBy
ZXRhaW5lZCwgYXMgZGVzY3JpYmVkIGhlcmU6IDxodHRwOi8vd3d3Lm1vemlsbGEub3JnL3Byb2pl
Y3RzL3BsdWdpbnMvbnBydW50aW1lLmh0bWwjYnJvd3NlcmFjY2Vzcz4KLSAgICAgICAgICAgIGlm
IChwbHVnSW5TY3JpcHRPYmplY3QpCi0gICAgICAgICAgICAgICAgX05QTl9SZXRhaW5PYmplY3Qo
cGx1Z0luU2NyaXB0T2JqZWN0KTsKKyAgICAgICAgICAgIGlmIChfZWxlbWVudE5QT2JqZWN0KQor
ICAgICAgICAgICAgICAgIF9OUE5fUmV0YWluT2JqZWN0KF9lbGVtZW50TlBPYmplY3QpOwogCi0g
ICAgICAgICAgICB2b2lkICoqdiA9ICh2b2lkICoqKXZhbHVlOwotICAgICAgICAgICAgKnYgPSBw
bHVnSW5TY3JpcHRPYmplY3Q7CisgICAgICAgICAgICAqKHZvaWQgKiopdmFsdWUgPSBfZWxlbWVu
dE5QT2JqZWN0OwogCiAgICAgICAgICAgICByZXR1cm4gTlBFUlJfTk9fRVJST1I7CiAgICAgICAg
IH0KQEAgLTIyODAsNyArMjI5MSwxMCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgZ2V0TlBSZWN0KGNv
bnN0IE5TUmVjdCYgbnIsIE5QUmVjdCYgbnByKQogICAgIE5QRXJyb3IgbnBFcnI7CiAgICAgbnBF
cnIgPSAhW19wbHVnaW5QYWNrYWdlLmdldCgpIHBsdWdpbkZ1bmNzXS0+ZGVzdHJveShwbHVnaW4s
IE5VTEwpOwogICAgIExPRyhQbHVnaW5zLCAiTlBQX0Rlc3Ryb3k6ICVkIiwgbnBFcnIpOwotICAg
IAorCisgICAgaWYgKF9lbGVtZW50TlBPYmplY3QpCisgICAgICAgIF9OUE5fUmVsZWFzZU9iamVj
dChfZWxlbWVudE5QT2JqZWN0KTsKKwogICAgIGlmIChGcmFtZSogZnJhbWUgPSBjb3JlKFtzZWxm
IHdlYkZyYW1lXSkpCiAgICAgICAgIGZyYW1lLT5zY3JpcHQoKS5jbGVhbnVwU2NyaXB0T2JqZWN0
c0ZvclBsdWdpbihzZWxmKTsKICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dp
bi9QbHVnaW5zL1BsdWdpblZpZXcuY3BwIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVn
aW5WaWV3LmNwcAppbmRleCA2MTljYjA2Njk5OWJjNTFlNWFmOWE5ZDk2ZjQ0ZDI0ZDJmNDdhM2Fi
Li40OGJlYzkxMmJmMGIwZDFiYmQ1MGU5OGVlYmQ3MDZiNjVlMjMxMzcyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvd2luL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKQEAgLTU1LDYgKzU1LDcgQEAKICNpbmNsdWRl
IDxXZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01JTUVUeXBlUmVn
aXN0cnkuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01vdXNlRXZlbnQuaD4KKyNpbmNsdWRlIDxXZWJD
b3JlL05QX2pzb2JqZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvUGFnZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1Nb3Vz
ZUV2ZW50Lmg+CkBAIC0yOTIsNiArMjkzLDkgQEAgUGx1Z2luVmlldzo6flBsdWdpblZpZXcoKQog
CiAgICAgc3RvcCgpOwogCisgICAgaWYgKG1fZWxlbWVudE5QT2JqZWN0KQorICAgICAgICBfTlBO
X1JlbGVhc2VPYmplY3QobV9lbGVtZW50TlBPYmplY3QpOworICAgIAogICAgIGZyZWVTdHJpbmdB
cnJheShtX3BhcmFtTmFtZXMsIG1fcGFyYW1Db3VudCk7CiAgICAgZnJlZVN0cmluZ0FycmF5KG1f
cGFyYW1WYWx1ZXMsIG1fcGFyYW1Db3VudCk7CiAKQEAgLTc0OSw2ICs3NTMsNyBAQCBQbHVnaW5W
aWV3OjpQbHVnaW5WaWV3KEZyYW1lKiBwYXJlbnRGcmFtZSwgY29uc3QgSW50U2l6ZSYgc2l6ZSwg
UGx1Z2luUGFja2FnZSogcAogICAgICwgbV9wYXJhbVZhbHVlcygwKQogICAgICwgbV9taW1lVHlw
ZShtaW1lVHlwZSkKICAgICAsIG1faW5zdGFuY2UoMCkKKyAgICAsIG1fZWxlbWVudE5QT2JqZWN0
KG51bGxwdHIpCiAgICAgLCBtX2lzV2luZG93ZWQodHJ1ZSkKICAgICAsIG1faXNUcmFuc3BhcmVu
dChmYWxzZSkKICAgICAsIG1faGF2ZUluaXRpYWxpemVkKGZhbHNlKQpAQCAtMTIyNCwxOCArMTIy
OSwyMyBAQCBOUEVycm9yIFBsdWdpblZpZXc6OmdldFZhbHVlKE5QTlZhcmlhYmxlIHZhcmlhYmxl
LCB2b2lkKiB2YWx1ZSkKICAgICAgICAgaWYgKG1faXNKYXZhU2NyaXB0UGF1c2VkKQogICAgICAg
ICAgICAgcmV0dXJuIE5QRVJSX0dFTkVSSUNfRVJST1I7CiAKLSAgICAgICAgTlBPYmplY3QqIHBs
dWdpblNjcmlwdE9iamVjdCA9IDA7Ci0KLSAgICAgICAgaWYgKG1fZWxlbWVudC0+aGFzVGFnTmFt
ZShhcHBsZXRUYWcpIHx8IG1fZWxlbWVudC0+aGFzVGFnTmFtZShlbWJlZFRhZykgfHwgbV9lbGVt
ZW50LT5oYXNUYWdOYW1lKG9iamVjdFRhZykpCi0gICAgICAgICAgICBwbHVnaW5TY3JpcHRPYmpl
Y3QgPSBtX2VsZW1lbnQtPmdldE5QT2JqZWN0KCk7Ci0KLSAgICAgICAgLy8gUmV0dXJuIHZhbHVl
IGlzIGV4cGVjdGVkIHRvIGJlIHJldGFpbmVkLCBhcyBkZXNjcmliZWQgaGVyZTogPGh0dHA6Ly93
d3cubW96aWxsYS5vcmcvcHJvamVjdHMvcGx1Z2luL25wcnVudGltZS5odG1sPgotICAgICAgICBp
ZiAocGx1Z2luU2NyaXB0T2JqZWN0KQotICAgICAgICAgICAgX05QTl9SZXRhaW5PYmplY3QocGx1
Z2luU2NyaXB0T2JqZWN0KTsKKyAgICAgICAgaWYgKCFtX2VsZW1lbnROUE9iamVjdCkgeworICAg
ICAgICAgICAgRnJhbWUqIGZyYW1lID0gZ2V0RnJhbWUocGFyZW50RnJhbWUoKSwgbV9lbGVtZW50
KTsKKyAgICAgICAgICAgIGlmICghZnJhbWUpCisgICAgICAgICAgICAgICAgcmV0dXJuIE5QRVJS
X0dFTkVSSUNfRVJST1I7CisKKyAgICAgICAgICAgIEpTQzo6SlNPYmplY3QqIG9iamVjdCA9IGZy
YW1lLT5zY3JpcHQoKS5qc09iamVjdEZvclBsdWdpbkVsZW1lbnQoX2VsZW1lbnQuZ2V0KCkpOwor
ICAgICAgICAgICAgaWYgKCFvYmplY3QpCisgICAgICAgICAgICAgICAgbV9lbGVtZW50TlBPYmpl
Y3QgPSBfTlBOX0NyZWF0ZU5vU2NyaXB0T2JqZWN0KCk7CisgICAgICAgICAgICBlbHNlCisgICAg
ICAgICAgICAgICAgbV9lbGVtZW50TlBPYmplY3QgPSBfTlBOX0NyZWF0ZVNjcmlwdE9iamVjdCgw
LCBvYmplY3QsIGZyYW1lLT5zY3JpcHQoKS5iaW5kaW5nUm9vdE9iamVjdCgpKTsKKyAgICAgICAg
fQogCi0gICAgICAgIHZvaWQqKiB2ID0gKHZvaWQqKil2YWx1ZTsKLSAgICAgICAgKnYgPSBwbHVn
aW5TY3JpcHRPYmplY3Q7CisgICAgICAgIC8vIFJldHVybiB2YWx1ZSBpcyBleHBlY3RlZCB0byBi
ZSByZXRhaW5lZCwgYXMgZGVzY3JpYmVkIGhlcmU6IDxodHRwOi8vd3d3Lm1vemlsbGEub3JnL3By
b2plY3RzL3BsdWdpbnMvbnBydW50aW1lLmh0bWwjYnJvd3NlcmFjY2Vzcz4KKyAgICAgICAgaWYg
KG1fZWxlbWVudE5QT2JqZWN0KQorICAgICAgICAgICAgX05QTl9SZXRhaW5PYmplY3QobV9lbGVt
ZW50TlBPYmplY3QpOwogCisgICAgICAgICoodm9pZCAqKil2YWx1ZSA9IG1fZWxlbWVudE5QT2Jq
ZWN0OwogICAgICAgICByZXR1cm4gTlBFUlJfTk9fRVJST1I7CiAgICAgfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXcuaCBiL1NvdXJjZS9XZWJLaXQv
d2luL1BsdWdpbnMvUGx1Z2luVmlldy5oCmluZGV4IDY5Y2IwMTNhMDQ2ZjEzZTUzOWVhYmQ0NzZi
NTdmNWFkZTNhMDc5YTAuLjYwNmJhMDUwOGU4MDQwMGVhMTUzZGU1MzM3NjQzYTk5NjA5Y2E5OWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlldy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlldy5oCkBAIC0zMTAsNiArMzEwLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBOUFdpbmRvdyBtX25wV2luZG93OwogI2Vu
ZGlmCiAKKyAgICAgICAgTlBPYmplY3QqIG1fZWxlbWVudE5QT2JqZWN0OworCiAgICAgICAgIFZl
Y3Rvcjxib29sLCA0PiBtX3BvcHVwU3RhdGVTdGFjazsKIAogICAgICAgICBIYXNoU2V0PFJlZlB0
cjxQbHVnaW5TdHJlYW0+ID4gbV9zdHJlYW1zOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>286388</attachid>
            <date>2016-08-18 12:17:50 -0700</date>
            <delta_ts>2016-08-18 13:03:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160967-20160818121600.patch</filename>
            <type>text/plain</type>
            <size>16445</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0NTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWY1MDQ5NjlkZjljNGVl
YWU0YjljMTgyZDk5NmY2MTE5YTBhODk5My4uYzFkMGI2ZTk3YzdkZmVjYzAyNGJjOTk0YjM2NzE4
YTZhMzI1NzY3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE2LTA4LTE4ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBhbiBOUEFQ
SS1vbmx5IGZ1bmN0aW9uIGZyb20gV2ViQ29yZSB0byBXZWJLaXQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDk2NworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6Y3JlYXRlU2NyaXB0T2JqZWN0Rm9y
UGx1Z2luRWxlbWVudCk6IERlbGV0ZWQuCisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0Q29u
dHJvbGxlci5oOgorICAgICAgICAqIGJyaWRnZS9OUF9qc29iamVjdC5oOgorCiAyMDE2LTA4LTE4
ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFtNZWRp
YVN0cmVhbV0gY2xlYW51cCBNZWRpYUNvbnN0cmFpbnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggYTlk
MWZkNzNkNjA4NzFlYTBjMWY1ZmVlMzZlYjM5Mjc3YTA5NGIyYS4uMmZlYzVhNzVjOGNmZTAzNzEx
YjUzOTA3YWVkNjIwMjYzNWI0MjQzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDE2LTA4LTE4ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAg
ICAgICAgTW92ZSBhbiBOUEFQSS1vbmx5IGZ1bmN0aW9uIGZyb20gV2ViQ29yZSB0byBXZWJLaXQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDk2Nwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogUGx1Z2lu
cy9XZWJOZXRzY2FwZVBsdWdpblZpZXcuaDoKKyAgICAgICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBl
UGx1Z2luVmlldy5tbToKKyAgICAgICAgKC1bV2ViTmV0c2NhcGVQbHVnaW5WaWV3IGdldFZhcmlh
YmxlOnZhbHVlOl0pOgorICAgICAgICAoLVtXZWJOZXRzY2FwZVBsdWdpblZpZXcgX2Rlc3Ryb3lQ
bHVnaW5dKToKKwogMjAxNi0wOC0xOCAgUmF3aW5kZXIgU2luZ2ggIDxyYXdpbmRlci5zaW5naC13
ZWJraXRAY2lzcmEuY2Fub24uY29tLmF1PgogCiAgICAgICAgIFt3ZWItYW5pbWF0aW9uc10gQWRk
IEFuaW1hdGFibGUsIEFuaW1hdGlvbkVmZmVjdCwgS2V5ZnJhbWVFZmZlY3QgYW5kIEFuaW1hdGlv
biBpbnRlcmZhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCBhOGU0ZjMzM2Y1ZTljMmE5YTBiZDIwMTQ0
ZDcxZmNiYWUyYjI4Yzg1Li4yZTAwYTNhY2IwNmIxZDFiYjZkYmM5MTM4ZjZkNDczNjk3NzJlNmY4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTYtMDgtMTggIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIGFuIE5QQVBJLW9u
bHkgZnVuY3Rpb24gZnJvbSBXZWJDb3JlIHRvIFdlYktpdAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYwOTY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBQbHVnaW5zL1BsdWdpblZpZXcuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6flBsdWdpblZpZXcpOgorICAgICAgICAoV2ViQ29y
ZTo6UGx1Z2luVmlldzo6UGx1Z2luVmlldyk6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3
OjpnZXRWYWx1ZSk6CisgICAgICAgICogUGx1Z2lucy9QbHVnaW5WaWV3Lmg6CisKIDIwMTYtMDgt
MTUgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1v
dmUgdW51c2VkIGluY2x1ZGVzIG9mIHd0ZiBoZWFkZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZjg0MjVjYjZhYzM2ZDE3ODIy
MmQwNGIwMjA0NWQzNzM0MzEyMTQ2NS4uYTg0YzY0ZTI4ZGY3OGZiMjRhYjlmY2Y4YTA2NTg0NDA0
NWMyM2I5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtNzM3LDcgKzczNyw3IEBACiAJCTFBNTY5Q0ZEMEQ3RTJCODIwMDdDMzk4
MyAvKiBjX3V0aWxpdHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUE1NjlDQ0MwRDdFMkI4MjAwN0MzOTgzIC8qIGNfdXRpbGl0eS5jcHAgKi87IH07
CiAJCTFBNTY5Q0ZFMEQ3RTJCODIwMDdDMzk4MyAvKiBjX3V0aWxpdHkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNTY5Q0NEMEQ3RTJCODIwMDdDMzk4
MyAvKiBjX3V0aWxpdHkuaCAqLzsgfTsKIAkJMUE1NjlEMEEwRDdFMkI4MjAwN0MzOTgzIC8qIE5Q
X2pzb2JqZWN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBNTY5Q0RBMEQ3RTJCODIwMDdDMzk4MyAvKiBOUF9qc29iamVjdC5jcHAgKi87IH07Ci0J
CTFBNTY5RDBCMEQ3RTJCODIwMDdDMzk4MyAvKiBOUF9qc29iamVjdC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE1NjlDREIwRDdFMkI4MjAwN0MzOTgz
IC8qIE5QX2pzb2JqZWN0LmggKi87IH07CisJCTFBNTY5RDBCMEQ3RTJCODIwMDdDMzk4MyAvKiBO
UF9qc29iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUE1NjlDREIwRDdFMkI4MjAwN0MzOTgzIC8qIE5QX2pzb2JqZWN0LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUE1NjlEMEQwRDdFMkI4MjAw
N0MzOTgzIC8qIG5wcnVudGltZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQTU2OUNERDBEN0UyQjgyMDA3QzM5ODMgLyogbnBydW50aW1lLmNwcCAq
LzsgfTsKIAkJMUE1NjlEMEYwRDdFMkI4MjAwN0MzOTgzIC8qIG5wcnVudGltZV9pbXBsLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTU2OUNERjBEN0Uy
QjgyMDA3QzM5ODMgLyogbnBydW50aW1lX2ltcGwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQTU2OUQxMDBEN0UyQjgyMDA3QzM5ODMgLyogbnBy
dW50aW1lX2ludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQTU2OUNFMDBEN0UyQjgyMDA3QzM5ODMgLyogbnBydW50aW1lX2ludGVybmFsLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAKaW5kZXggNGQ5YTU5
MWZiMzliNGU2NDRmMDk5OTBiMDZhNDIxMDc1MzVkNjg4Mi4uNjg4Mzk3YTA1Yzc4MDEwY2NlYTI0
OTVkMjMwMzkwOTUxN2M0ZTYwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvU2NyaXB0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0Q29udHJvbGxlci5jcHAKQEAgLTM4NCw3ICszODQsNiBAQCB2b2lkIFNjcmlwdENvbnRy
b2xsZXI6OmNvbGxlY3RJc29sYXRlZENvbnRleHRzKFZlY3RvcjxzdGQ6OnBhaXI8SlNDOjpFeGVj
U3RhdGUqLAogfQogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCi0KIE5QT2JqZWN0
KiBTY3JpcHRDb250cm9sbGVyOjp3aW5kb3dTY3JpcHROUE9iamVjdCgpCiB7CiAgICAgaWYgKCFt
X3dpbmRvd1NjcmlwdE5QT2JqZWN0KSB7CkBAIC00MDUsMTcgKzQwNCw2IEBAIE5QT2JqZWN0KiBT
Y3JpcHRDb250cm9sbGVyOjp3aW5kb3dTY3JpcHROUE9iamVjdCgpCiAKICAgICByZXR1cm4gbV93
aW5kb3dTY3JpcHROUE9iamVjdDsKIH0KLQotTlBPYmplY3QqIFNjcmlwdENvbnRyb2xsZXI6OmNy
ZWF0ZVNjcmlwdE9iamVjdEZvclBsdWdpbkVsZW1lbnQoSFRNTFBsdWdJbkVsZW1lbnQqIHBsdWdp
bikKLXsKLSAgICBKU09iamVjdCogb2JqZWN0ID0ganNPYmplY3RGb3JQbHVnaW5FbGVtZW50KHBs
dWdpbik7Ci0gICAgaWYgKCFvYmplY3QpCi0gICAgICAgIHJldHVybiBfTlBOX0NyZWF0ZU5vU2Ny
aXB0T2JqZWN0KCk7Ci0KLSAgICAvLyBXcmFwIHRoZSBKU09iamVjdCBpbiBhbiBOUE9iamVjdAot
ICAgIHJldHVybiBfTlBOX0NyZWF0ZVNjcmlwdE9iamVjdCgwLCBvYmplY3QsIGJpbmRpbmdSb290
T2JqZWN0KCkpOwotfQotCiAjZW5kaWYKIAogI2lmICFQTEFURk9STShDT0NPQSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaAppbmRleCBhMzA2YzQwNzcx
NmQwYzMzN2MyODRiYzRlYzhiNWQxNjUzZGJmZGU2Li5hMGM3MWYyNjA4MTJiMGQzMjExOTE2ODY4
MTE5ZDcwYmY2NzE3NjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
Q29udHJvbGxlci5oCkBAIC0xNDcsNyArMTQ3LDcgQEAgcHVibGljOgogICAgIHZvaWQgdXBkYXRl
UGxhdGZvcm1TY3JpcHRPYmplY3RzKCk7CiAKICAgICBSZWZQdHI8SlNDOjpCaW5kaW5nczo6SW5z
dGFuY2U+ICBjcmVhdGVTY3JpcHRJbnN0YW5jZUZvcldpZGdldChXaWRnZXQqKTsKLSAgICBKU0M6
OkJpbmRpbmdzOjpSb290T2JqZWN0KiBiaW5kaW5nUm9vdE9iamVjdCgpOworICAgIFdFQkNPUkVf
RVhQT1JUIEpTQzo6QmluZGluZ3M6OlJvb3RPYmplY3QqIGJpbmRpbmdSb290T2JqZWN0KCk7CiAg
ICAgSlNDOjpCaW5kaW5nczo6Um9vdE9iamVjdCogY2FjaGVhYmxlQmluZGluZ1Jvb3RPYmplY3Qo
KTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIFJlZlB0cjxKU0M6OkJpbmRpbmdzOjpSb290T2JqZWN0
PiBjcmVhdGVSb290T2JqZWN0KHZvaWQqIG5hdGl2ZUhhbmRsZSk7CkBAIC0xNjIsNyArMTYyLDYg
QEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIEpTQzo6SlNPYmplY3QqIGpzT2JqZWN0Rm9y
UGx1Z2luRWxlbWVudChIVE1MUGx1Z0luRWxlbWVudCopOwogICAgIAogI2lmIEVOQUJMRShORVRT
Q0FQRV9QTFVHSU5fQVBJKQotICAgIE5QT2JqZWN0KiBjcmVhdGVTY3JpcHRPYmplY3RGb3JQbHVn
aW5FbGVtZW50KEhUTUxQbHVnSW5FbGVtZW50Kik7CiAgICAgV0VCQ09SRV9FWFBPUlQgTlBPYmpl
Y3QqIHdpbmRvd1NjcmlwdE5QT2JqZWN0KCk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYnJpZGdlL05QX2pzb2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvTlBf
anNvYmplY3QuaAppbmRleCBiNjhmZmYxZmM0OGE2NTA5ZDMxZjQ1MzZhMzNjYjNmMDY1NDc3OGI5
Li5jZjllOWZkZTkxMjFjMjM1YzIzZmMzOTc2Njg0YTliYjU4NWU4NjgwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9icmlkZ2UvTlBfanNvYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2UvTlBfanNvYmplY3QuaApAQCAtNDcsOCArNDcsOCBAQCBzdHJ1Y3QgSmF2YVNjcmlwdE9i
amVjdAogICAgIEpTQzo6QmluZGluZ3M6OlJvb3RPYmplY3QqIHJvb3RPYmplY3Q7CiB9OwogCi1O
UE9iamVjdCogX05QTl9DcmVhdGVTY3JpcHRPYmplY3QoTlBQLCBKU0M6OkpTT2JqZWN0KiwgUmVm
UHRyPEpTQzo6QmluZGluZ3M6OlJvb3RPYmplY3Q+JiYpOwotTlBPYmplY3QqIF9OUE5fQ3JlYXRl
Tm9TY3JpcHRPYmplY3Qodm9pZCk7CitXRUJDT1JFX0VYUE9SVCBOUE9iamVjdCogX05QTl9DcmVh
dGVTY3JpcHRPYmplY3QoTlBQLCBKU0M6OkpTT2JqZWN0KiwgUmVmUHRyPEpTQzo6QmluZGluZ3M6
OlJvb3RPYmplY3Q+JiYpOworV0VCQ09SRV9FWFBPUlQgTlBPYmplY3QqIF9OUE5fQ3JlYXRlTm9T
Y3JpcHRPYmplY3Qodm9pZCk7CiAKICNlbmRpZiAvLyBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQ
SSkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcAppbmRleCBiOGU1
MzE3NzJlOWI2MDVkZDBkMTQxNWExNzY3OWFhNDIwMGVkNGRiLi40MTMwYTI2MWEwZThiNDEyMTEz
ZTkwNGVhYmEzZGE2MmE4NDhhYTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxQbHVnSW5FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5F
bGVtZW50LmNwcApAQCAtNjcsOSArNjcsNiBAQCBIVE1MUGx1Z0luRWxlbWVudDo6SFRNTFBsdWdJ
bkVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvYwogICAg
IDogSFRNTEZyYW1lT3duZXJFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogICAgICwgbV9pbkJl
Zm9yZUxvYWRFdmVudEhhbmRsZXIoZmFsc2UpCiAgICAgLCBtX3N3YXBSZW5kZXJlclRpbWVyKCp0
aGlzLCAmSFRNTFBsdWdJbkVsZW1lbnQ6OnN3YXBSZW5kZXJlclRpbWVyRmlyZWQpCi0jaWYgRU5B
QkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCi0gICAgLCBtX05QT2JqZWN0KDApCi0jZW5kaWYKICAg
ICAsIG1faXNDYXB0dXJpbmdNb3VzZUV2ZW50cyhmYWxzZSkKICAgICAsIG1fZGlzcGxheVN0YXRl
KFBsYXlpbmcpCiB7CkBAIC03OSwxMyArNzYsNiBAQCBIVE1MUGx1Z0luRWxlbWVudDo6SFRNTFBs
dWdJbkVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvYwog
SFRNTFBsdWdJbkVsZW1lbnQ6On5IVE1MUGx1Z0luRWxlbWVudCgpCiB7CiAgICAgQVNTRVJUKCFt
X2luc3RhbmNlKTsgLy8gY2xlYXJlZCBpbiBkZXRhY2goKQotCi0jaWYgRU5BQkxFKE5FVFNDQVBF
X1BMVUdJTl9BUEkpCi0gICAgaWYgKG1fTlBPYmplY3QpIHsKLSAgICAgICAgX05QTl9SZWxlYXNl
T2JqZWN0KG1fTlBPYmplY3QpOwotICAgICAgICBtX05QT2JqZWN0ID0gMDsKLSAgICB9Ci0jZW5k
aWYKIH0KIAogYm9vbCBIVE1MUGx1Z0luRWxlbWVudDo6Y2FuUHJvY2Vzc0RyYWcoKSBjb25zdApA
QCAtMTExLDEzICsxMDEsNiBAQCB2b2lkIEhUTUxQbHVnSW5FbGVtZW50Ojp3aWxsRGV0YWNoUmVu
ZGVyZXJzKCkKICAgICAgICAgICAgIGZyYW1lLT5ldmVudEhhbmRsZXIoKS5zZXRDYXB0dXJpbmdN
b3VzZUV2ZW50c0VsZW1lbnQobnVsbHB0cik7CiAgICAgICAgIG1faXNDYXB0dXJpbmdNb3VzZUV2
ZW50cyA9IGZhbHNlOwogICAgIH0KLQotI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQot
ICAgIGlmIChtX05QT2JqZWN0KSB7Ci0gICAgICAgIF9OUE5fUmVsZWFzZU9iamVjdChtX05QT2Jq
ZWN0KTsKLSAgICAgICAgbV9OUE9iamVjdCA9IDA7Ci0gICAgfQotI2VuZGlmCiB9CiAKIHZvaWQg
SFRNTFBsdWdJbkVsZW1lbnQ6OnJlc2V0SW5zdGFuY2UoKQpAQCAtMjgyLDE4ICsyNjUsNiBAQCBi
b29sIEhUTUxQbHVnSW5FbGVtZW50OjpzdXBwb3J0c0ZvY3VzKCkgY29uc3QKICAgICByZXR1cm4g
IWRvd25jYXN0PFJlbmRlckVtYmVkZGVkT2JqZWN0PigqcmVuZGVyZXIoKSkuaXNQbHVnaW5VbmF2
YWlsYWJsZSgpOwogfQogCi0jaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCi0KLU5QT2Jq
ZWN0KiBIVE1MUGx1Z0luRWxlbWVudDo6Z2V0TlBPYmplY3QoKQotewotICAgIEFTU0VSVChkb2N1
bWVudCgpLmZyYW1lKCkpOwotICAgIGlmICghbV9OUE9iamVjdCkKLSAgICAgICAgbV9OUE9iamVj
dCA9IGRvY3VtZW50KCkuZnJhbWUoKS0+c2NyaXB0KCkuY3JlYXRlU2NyaXB0T2JqZWN0Rm9yUGx1
Z2luRWxlbWVudCh0aGlzKTsKLSAgICByZXR1cm4gbV9OUE9iamVjdDsKLX0KLQotI2VuZGlmIC8q
IEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKSAqLwotCiBSZW5kZXJQdHI8UmVuZGVyRWxlbWVu
dD4gSFRNTFBsdWdJbkVsZW1lbnQ6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcihSZW5kZXJTdHlsZSYm
IHN0eWxlLCBjb25zdCBSZW5kZXJUcmVlUG9zaXRpb24mIGluc2VydGlvblBvc2l0aW9uKQogewog
ICAgIGlmIChtX3BsdWdpblJlcGxhY2VtZW50ICYmIG1fcGx1Z2luUmVwbGFjZW1lbnQtPndpbGxD
cmVhdGVSZW5kZXJlcigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1
Z0luRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5oCmlu
ZGV4IDY3MmE4MjllMWUyYTg2NjYxNjEwYzJlZmJmZGZjNjQ5NjJlNDk5NDQuLmE4N2E5ODc5N2M0
OGQ3ZjY5MjViY2E0MTk2MDA5NzM3MDRkZjAyZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQ
bHVnSW5FbGVtZW50LmgKQEAgLTI2LDEwICsyNiw2IEBACiAjaW5jbHVkZSAiSFRNTEZyYW1lT3du
ZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiSW1hZ2UuaCIKIAotI2lmIEVOQUJMRShORVRTQ0FQRV9Q
TFVHSU5fQVBJKQotc3RydWN0IE5QT2JqZWN0OwotI2VuZGlmCi0KIG5hbWVzcGFjZSBKU0Mgewog
bmFtZXNwYWNlIEJpbmRpbmdzIHsKIGNsYXNzIEluc3RhbmNlOwpAQCAtNzEsMTAgKzY3LDYgQEAg
cHVibGljOgogCiAgICAgSlNDOjpKU09iamVjdCogc2NyaXB0T2JqZWN0Rm9yUGx1Z2luUmVwbGFj
ZW1lbnQoKTsKIAotI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQotICAgIFdFQkNPUkVf
RVhQT1JUIE5QT2JqZWN0KiBnZXROUE9iamVjdCgpOwotI2VuZGlmCi0KICAgICBib29sIGlzQ2Fw
dHVyaW5nTW91c2VFdmVudHMoKSBjb25zdCB7IHJldHVybiBtX2lzQ2FwdHVyaW5nTW91c2VFdmVu
dHM7IH0KICAgICB2b2lkIHNldElzQ2FwdHVyaW5nTW91c2VFdmVudHMoYm9vbCBjYXB0dXJpbmcp
IHsgbV9pc0NhcHR1cmluZ01vdXNlRXZlbnRzID0gY2FwdHVyaW5nOyB9CiAKQEAgLTEyOCw5ICsx
MjAsNiBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxKU0M6OkJpbmRpbmdzOjpJbnN0YW5jZT4gbV9p
bnN0YW5jZTsKICAgICBUaW1lciBtX3N3YXBSZW5kZXJlclRpbWVyOwogICAgIFJlZlB0cjxQbHVn
aW5SZXBsYWNlbWVudD4gbV9wbHVnaW5SZXBsYWNlbWVudDsKLSNpZiBFTkFCTEUoTkVUU0NBUEVf
UExVR0lOX0FQSSkKLSAgICBOUE9iamVjdCogbV9OUE9iamVjdDsKLSNlbmRpZgogICAgIGJvb2wg
bV9pc0NhcHR1cmluZ01vdXNlRXZlbnRzOwogCiAgICAgRGlzcGxheVN0YXRlIG1fZGlzcGxheVN0
YXRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBs
dWdpblZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5W
aWV3LmgKaW5kZXggNWY4YjNjYmNiM2ViZDEyNzNkNTI3NWRkZmM4OTM1ZGY1NGQyMGE5OS4uZDA4
ZmZmYWVjMDI4NjYwMzY2Y2U4ODQ2MDFmYjQ1MDBhZDNlMDZhZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5oCkBAIC01OSw3ICs1OSw5
IEBAIHR5cGVkZWYgdW5pb24gUGx1Z2luUG9ydCB7CiAgICAgUmV0YWluUHRyPENBTGF5ZXI+IF9w
bHVnaW5MYXllcjsKICAgICB1bnNpZ25lZCBfZGF0YUxlbmd0aFJlY2VpdmVkOwogICAgIFJldGFp
blB0cjxOU0Vycm9yPiBfZXJyb3I7Ci0gICAgICAgIAorCisgICAgTlBPYmplY3QqIF9lbGVtZW50
TlBPYmplY3Q7CisKICAgICB1bnNpZ25lZCBhcmdzQ291bnQ7CiAgICAgY2hhciAqKmNBdHRyaWJ1
dGVzOwogICAgIGNoYXIgKipjVmFsdWVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
UGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVn
aW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQppbmRleCBjMjhlM2E1YzY0NjA5ODJhYTBjYTU2
NjgwMzgxMjcwOTU5NjhmNzFjLi45NmMxZGNhN2IzOWE4MmMxMWQ4YzY0NTA0ZmY2OTExNjAxYTQy
ZjkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1
Z2luVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1
Z2luVmlldy5tbQpAQCAtNjEsNyArNjEsOCBAQAogI2ltcG9ydCA8V2ViQ29yZS9GcmFtZVRyZWUu
aD4KICNpbXBvcnQgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0hUTUxQ
bHVnSW5FbGVtZW50Lmg+Ci0jaW1wb3J0IDxXZWJDb3JlL1BhZ2UuaD4gCisjaW1wb3J0IDxXZWJD
b3JlL05QX2pzb2JqZWN0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1BhZ2UuaD4KICNpbXBvcnQgPFdl
YkNvcmUvUHJveHlTZXJ2ZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2NyaXB0Q29udHJvbGxlci5o
PgogI2ltcG9ydCA8V2ViQ29yZS9TZWN1cml0eU9yaWdpbi5oPgpAQCAtNzAsNiArNzEsNyBAQAog
I2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlT2JqQ0V4dHJhcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9X
ZWJDb3JlVVJMUmVzcG9uc2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvbnBydW50aW1lX2ltcGwuaD4K
KyNpbXBvcnQgPFdlYkNvcmUvcnVudGltZV9yb290Lmg+CiAjaW1wb3J0IDxXZWJLaXRMZWdhY3kv
RE9NUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0TGVnYWN5L1dlYlVJRGVsZWdhdGUuaD4KICNp
bXBvcnQgPG9iamMvcnVudGltZS5oPgpAQCAtMTkyMiwxNyArMTkyNCwyNiBAQCBzdGF0aWMgaW5s
aW5lIHZvaWQgZ2V0TlBSZWN0KGNvbnN0IE5TUmVjdCYgbnIsIE5QUmVjdCYgbnByKQogCiAgICAg
ICAgIGNhc2UgTlBOVlBsdWdpbkVsZW1lbnROUE9iamVjdDoKICAgICAgICAgewotICAgICAgICAg
ICAgaWYgKCFfZWxlbWVudCkKLSAgICAgICAgICAgICAgICByZXR1cm4gTlBFUlJfR0VORVJJQ19F
UlJPUjsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgTlBPYmplY3QgKnBsdWdJblNjcmlwdE9i
amVjdCA9IF9lbGVtZW50LT5nZXROUE9iamVjdCgpOworICAgICAgICAgICAgaWYgKCFfZWxlbWVu
dE5QT2JqZWN0KSB7CisgICAgICAgICAgICAgICAgaWYgKCFfZWxlbWVudCkKKyAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIE5QRVJSX0dFTkVSSUNfRVJST1I7CisKKyAgICAgICAgICAgICAgICBG
cmFtZSogZnJhbWUgPSBjb3JlKHNlbGYud2ViRnJhbWUpOworICAgICAgICAgICAgICAgIGlmICgh
ZnJhbWUpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBOUEVSUl9HRU5FUklDX0VSUk9SOwor
CisgICAgICAgICAgICAgICAgSlNDOjpKU09iamVjdCogb2JqZWN0ID0gZnJhbWUtPnNjcmlwdCgp
LmpzT2JqZWN0Rm9yUGx1Z2luRWxlbWVudChfZWxlbWVudC5nZXQoKSk7CisgICAgICAgICAgICAg
ICAgaWYgKCFvYmplY3QpCisgICAgICAgICAgICAgICAgICAgIF9lbGVtZW50TlBPYmplY3QgPSBf
TlBOX0NyZWF0ZU5vU2NyaXB0T2JqZWN0KCk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgICAgICAgICBfZWxlbWVudE5QT2JqZWN0ID0gX05QTl9DcmVhdGVTY3JpcHRPYmplY3Qo
MCwgb2JqZWN0LCBmcmFtZS0+c2NyaXB0KCkuYmluZGluZ1Jvb3RPYmplY3QoKSk7CisgICAgICAg
ICAgICB9CiAKICAgICAgICAgICAgIC8vIFJldHVybiB2YWx1ZSBpcyBleHBlY3RlZCB0byBiZSBy
ZXRhaW5lZCwgYXMgZGVzY3JpYmVkIGhlcmU6IDxodHRwOi8vd3d3Lm1vemlsbGEub3JnL3Byb2pl
Y3RzL3BsdWdpbnMvbnBydW50aW1lLmh0bWwjYnJvd3NlcmFjY2Vzcz4KLSAgICAgICAgICAgIGlm
IChwbHVnSW5TY3JpcHRPYmplY3QpCi0gICAgICAgICAgICAgICAgX05QTl9SZXRhaW5PYmplY3Qo
cGx1Z0luU2NyaXB0T2JqZWN0KTsKKyAgICAgICAgICAgIGlmIChfZWxlbWVudE5QT2JqZWN0KQor
ICAgICAgICAgICAgICAgIF9OUE5fUmV0YWluT2JqZWN0KF9lbGVtZW50TlBPYmplY3QpOwogCi0g
ICAgICAgICAgICB2b2lkICoqdiA9ICh2b2lkICoqKXZhbHVlOwotICAgICAgICAgICAgKnYgPSBw
bHVnSW5TY3JpcHRPYmplY3Q7CisgICAgICAgICAgICAqKHZvaWQgKiopdmFsdWUgPSBfZWxlbWVu
dE5QT2JqZWN0OwogCiAgICAgICAgICAgICByZXR1cm4gTlBFUlJfTk9fRVJST1I7CiAgICAgICAg
IH0KQEAgLTIyODAsNyArMjI5MSwxMCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgZ2V0TlBSZWN0KGNv
bnN0IE5TUmVjdCYgbnIsIE5QUmVjdCYgbnByKQogICAgIE5QRXJyb3IgbnBFcnI7CiAgICAgbnBF
cnIgPSAhW19wbHVnaW5QYWNrYWdlLmdldCgpIHBsdWdpbkZ1bmNzXS0+ZGVzdHJveShwbHVnaW4s
IE5VTEwpOwogICAgIExPRyhQbHVnaW5zLCAiTlBQX0Rlc3Ryb3k6ICVkIiwgbnBFcnIpOwotICAg
IAorCisgICAgaWYgKF9lbGVtZW50TlBPYmplY3QpCisgICAgICAgIF9OUE5fUmVsZWFzZU9iamVj
dChfZWxlbWVudE5QT2JqZWN0KTsKKwogICAgIGlmIChGcmFtZSogZnJhbWUgPSBjb3JlKFtzZWxm
IHdlYkZyYW1lXSkpCiAgICAgICAgIGZyYW1lLT5zY3JpcHQoKS5jbGVhbnVwU2NyaXB0T2JqZWN0
c0ZvclBsdWdpbihzZWxmKTsKICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dp
bi9QbHVnaW5zL1BsdWdpblZpZXcuY3BwIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVn
aW5WaWV3LmNwcAppbmRleCA2MTljYjA2Njk5OWJjNTFlNWFmOWE5ZDk2ZjQ0ZDI0ZDJmNDdhM2Fi
Li40OGJlYzkxMmJmMGIwZDFiYmQ1MGU5OGVlYmQ3MDZiNjVlMjMxMzcyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvd2luL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKQEAgLTU1LDYgKzU1LDcgQEAKICNpbmNsdWRl
IDxXZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01JTUVUeXBlUmVn
aXN0cnkuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01vdXNlRXZlbnQuaD4KKyNpbmNsdWRlIDxXZWJD
b3JlL05QX2pzb2JqZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvUGFnZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1Nb3Vz
ZUV2ZW50Lmg+CkBAIC0yOTIsNiArMjkzLDkgQEAgUGx1Z2luVmlldzo6flBsdWdpblZpZXcoKQog
CiAgICAgc3RvcCgpOwogCisgICAgaWYgKG1fZWxlbWVudE5QT2JqZWN0KQorICAgICAgICBfTlBO
X1JlbGVhc2VPYmplY3QobV9lbGVtZW50TlBPYmplY3QpOworICAgIAogICAgIGZyZWVTdHJpbmdB
cnJheShtX3BhcmFtTmFtZXMsIG1fcGFyYW1Db3VudCk7CiAgICAgZnJlZVN0cmluZ0FycmF5KG1f
cGFyYW1WYWx1ZXMsIG1fcGFyYW1Db3VudCk7CiAKQEAgLTc0OSw2ICs3NTMsNyBAQCBQbHVnaW5W
aWV3OjpQbHVnaW5WaWV3KEZyYW1lKiBwYXJlbnRGcmFtZSwgY29uc3QgSW50U2l6ZSYgc2l6ZSwg
UGx1Z2luUGFja2FnZSogcAogICAgICwgbV9wYXJhbVZhbHVlcygwKQogICAgICwgbV9taW1lVHlw
ZShtaW1lVHlwZSkKICAgICAsIG1faW5zdGFuY2UoMCkKKyAgICAsIG1fZWxlbWVudE5QT2JqZWN0
KG51bGxwdHIpCiAgICAgLCBtX2lzV2luZG93ZWQodHJ1ZSkKICAgICAsIG1faXNUcmFuc3BhcmVu
dChmYWxzZSkKICAgICAsIG1faGF2ZUluaXRpYWxpemVkKGZhbHNlKQpAQCAtMTIyNCwxOCArMTIy
OSwyMyBAQCBOUEVycm9yIFBsdWdpblZpZXc6OmdldFZhbHVlKE5QTlZhcmlhYmxlIHZhcmlhYmxl
LCB2b2lkKiB2YWx1ZSkKICAgICAgICAgaWYgKG1faXNKYXZhU2NyaXB0UGF1c2VkKQogICAgICAg
ICAgICAgcmV0dXJuIE5QRVJSX0dFTkVSSUNfRVJST1I7CiAKLSAgICAgICAgTlBPYmplY3QqIHBs
dWdpblNjcmlwdE9iamVjdCA9IDA7Ci0KLSAgICAgICAgaWYgKG1fZWxlbWVudC0+aGFzVGFnTmFt
ZShhcHBsZXRUYWcpIHx8IG1fZWxlbWVudC0+aGFzVGFnTmFtZShlbWJlZFRhZykgfHwgbV9lbGVt
ZW50LT5oYXNUYWdOYW1lKG9iamVjdFRhZykpCi0gICAgICAgICAgICBwbHVnaW5TY3JpcHRPYmpl
Y3QgPSBtX2VsZW1lbnQtPmdldE5QT2JqZWN0KCk7Ci0KLSAgICAgICAgLy8gUmV0dXJuIHZhbHVl
IGlzIGV4cGVjdGVkIHRvIGJlIHJldGFpbmVkLCBhcyBkZXNjcmliZWQgaGVyZTogPGh0dHA6Ly93
d3cubW96aWxsYS5vcmcvcHJvamVjdHMvcGx1Z2luL25wcnVudGltZS5odG1sPgotICAgICAgICBp
ZiAocGx1Z2luU2NyaXB0T2JqZWN0KQotICAgICAgICAgICAgX05QTl9SZXRhaW5PYmplY3QocGx1
Z2luU2NyaXB0T2JqZWN0KTsKKyAgICAgICAgaWYgKCFtX2VsZW1lbnROUE9iamVjdCkgeworICAg
ICAgICAgICAgRnJhbWUqIGZyYW1lID0gZ2V0RnJhbWUocGFyZW50RnJhbWUoKSwgbV9lbGVtZW50
KTsKKyAgICAgICAgICAgIGlmICghZnJhbWUpCisgICAgICAgICAgICAgICAgcmV0dXJuIE5QRVJS
X0dFTkVSSUNfRVJST1I7CisKKyAgICAgICAgICAgIEpTQzo6SlNPYmplY3QqIG9iamVjdCA9IGZy
YW1lLT5zY3JpcHQoKS5qc09iamVjdEZvclBsdWdpbkVsZW1lbnQoX2VsZW1lbnQuZ2V0KCkpOwor
ICAgICAgICAgICAgaWYgKCFvYmplY3QpCisgICAgICAgICAgICAgICAgbV9lbGVtZW50TlBPYmpl
Y3QgPSBfTlBOX0NyZWF0ZU5vU2NyaXB0T2JqZWN0KCk7CisgICAgICAgICAgICBlbHNlCisgICAg
ICAgICAgICAgICAgbV9lbGVtZW50TlBPYmplY3QgPSBfTlBOX0NyZWF0ZVNjcmlwdE9iamVjdCgw
LCBvYmplY3QsIGZyYW1lLT5zY3JpcHQoKS5iaW5kaW5nUm9vdE9iamVjdCgpKTsKKyAgICAgICAg
fQogCi0gICAgICAgIHZvaWQqKiB2ID0gKHZvaWQqKil2YWx1ZTsKLSAgICAgICAgKnYgPSBwbHVn
aW5TY3JpcHRPYmplY3Q7CisgICAgICAgIC8vIFJldHVybiB2YWx1ZSBpcyBleHBlY3RlZCB0byBi
ZSByZXRhaW5lZCwgYXMgZGVzY3JpYmVkIGhlcmU6IDxodHRwOi8vd3d3Lm1vemlsbGEub3JnL3By
b2plY3RzL3BsdWdpbnMvbnBydW50aW1lLmh0bWwjYnJvd3NlcmFjY2Vzcz4KKyAgICAgICAgaWYg
KG1fZWxlbWVudE5QT2JqZWN0KQorICAgICAgICAgICAgX05QTl9SZXRhaW5PYmplY3QobV9lbGVt
ZW50TlBPYmplY3QpOwogCisgICAgICAgICoodm9pZCAqKil2YWx1ZSA9IG1fZWxlbWVudE5QT2Jq
ZWN0OwogICAgICAgICByZXR1cm4gTlBFUlJfTk9fRVJST1I7CiAgICAgfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXcuaCBiL1NvdXJjZS9XZWJLaXQv
d2luL1BsdWdpbnMvUGx1Z2luVmlldy5oCmluZGV4IDY5Y2IwMTNhMDQ2ZjEzZTUzOWVhYmQ0NzZi
NTdmNWFkZTNhMDc5YTAuLjYwNmJhMDUwOGU4MDQwMGVhMTUzZGU1MzM3NjQzYTk5NjA5Y2E5OWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlldy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlldy5oCkBAIC0zMTAsNiArMzEwLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBOUFdpbmRvdyBtX25wV2luZG93OwogI2Vu
ZGlmCiAKKyAgICAgICAgTlBPYmplY3QqIG1fZWxlbWVudE5QT2JqZWN0OworCiAgICAgICAgIFZl
Y3Rvcjxib29sLCA0PiBtX3BvcHVwU3RhdGVTdGFjazsKIAogICAgICAgICBIYXNoU2V0PFJlZlB0
cjxQbHVnaW5TdHJlYW0+ID4gbV9zdHJlYW1zOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>286391</attachid>
            <date>2016-08-18 13:04:00 -0700</date>
            <delta_ts>2016-08-18 14:01:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160967-20160818130211.patch</filename>
            <type>text/plain</type>
            <size>17379</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0NTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWY1MDQ5NjlkZjljNGVl
YWU0YjljMTgyZDk5NmY2MTE5YTBhODk5My4uYzFkMGI2ZTk3YzdkZmVjYzAyNGJjOTk0YjM2NzE4
YTZhMzI1NzY3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE2LTA4LTE4ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBhbiBOUEFQ
SS1vbmx5IGZ1bmN0aW9uIGZyb20gV2ViQ29yZSB0byBXZWJLaXQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDk2NworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6Y3JlYXRlU2NyaXB0T2JqZWN0Rm9y
UGx1Z2luRWxlbWVudCk6IERlbGV0ZWQuCisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0Q29u
dHJvbGxlci5oOgorICAgICAgICAqIGJyaWRnZS9OUF9qc29iamVjdC5oOgorCiAyMDE2LTA4LTE4
ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFtNZWRp
YVN0cmVhbV0gY2xlYW51cCBNZWRpYUNvbnN0cmFpbnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggYTlk
MWZkNzNkNjA4NzFlYTBjMWY1ZmVlMzZlYjM5Mjc3YTA5NGIyYS4uMmZlYzVhNzVjOGNmZTAzNzEx
YjUzOTA3YWVkNjIwMjYzNWI0MjQzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDE2LTA4LTE4ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAg
ICAgICAgTW92ZSBhbiBOUEFQSS1vbmx5IGZ1bmN0aW9uIGZyb20gV2ViQ29yZSB0byBXZWJLaXQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDk2Nwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogUGx1Z2lu
cy9XZWJOZXRzY2FwZVBsdWdpblZpZXcuaDoKKyAgICAgICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBl
UGx1Z2luVmlldy5tbToKKyAgICAgICAgKC1bV2ViTmV0c2NhcGVQbHVnaW5WaWV3IGdldFZhcmlh
YmxlOnZhbHVlOl0pOgorICAgICAgICAoLVtXZWJOZXRzY2FwZVBsdWdpblZpZXcgX2Rlc3Ryb3lQ
bHVnaW5dKToKKwogMjAxNi0wOC0xOCAgUmF3aW5kZXIgU2luZ2ggIDxyYXdpbmRlci5zaW5naC13
ZWJraXRAY2lzcmEuY2Fub24uY29tLmF1PgogCiAgICAgICAgIFt3ZWItYW5pbWF0aW9uc10gQWRk
IEFuaW1hdGFibGUsIEFuaW1hdGlvbkVmZmVjdCwgS2V5ZnJhbWVFZmZlY3QgYW5kIEFuaW1hdGlv
biBpbnRlcmZhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCBhOGU0ZjMzM2Y1ZTljMmE5YTBiZDIwMTQ0
ZDcxZmNiYWUyYjI4Yzg1Li4yZTAwYTNhY2IwNmIxZDFiYjZkYmM5MTM4ZjZkNDczNjk3NzJlNmY4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTYtMDgtMTggIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIGFuIE5QQVBJLW9u
bHkgZnVuY3Rpb24gZnJvbSBXZWJDb3JlIHRvIFdlYktpdAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYwOTY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBQbHVnaW5zL1BsdWdpblZpZXcuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6flBsdWdpblZpZXcpOgorICAgICAgICAoV2ViQ29y
ZTo6UGx1Z2luVmlldzo6UGx1Z2luVmlldyk6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3
OjpnZXRWYWx1ZSk6CisgICAgICAgICogUGx1Z2lucy9QbHVnaW5WaWV3Lmg6CisKIDIwMTYtMDgt
MTUgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1v
dmUgdW51c2VkIGluY2x1ZGVzIG9mIHd0ZiBoZWFkZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZjg0MjVjYjZhYzM2ZDE3ODIy
MmQwNGIwMjA0NWQzNzM0MzEyMTQ2NS4uYTg0YzY0ZTI4ZGY3OGZiMjRhYjlmY2Y4YTA2NTg0NDA0
NWMyM2I5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtNzM3LDcgKzczNyw3IEBACiAJCTFBNTY5Q0ZEMEQ3RTJCODIwMDdDMzk4
MyAvKiBjX3V0aWxpdHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUE1NjlDQ0MwRDdFMkI4MjAwN0MzOTgzIC8qIGNfdXRpbGl0eS5jcHAgKi87IH07
CiAJCTFBNTY5Q0ZFMEQ3RTJCODIwMDdDMzk4MyAvKiBjX3V0aWxpdHkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNTY5Q0NEMEQ3RTJCODIwMDdDMzk4
MyAvKiBjX3V0aWxpdHkuaCAqLzsgfTsKIAkJMUE1NjlEMEEwRDdFMkI4MjAwN0MzOTgzIC8qIE5Q
X2pzb2JqZWN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBNTY5Q0RBMEQ3RTJCODIwMDdDMzk4MyAvKiBOUF9qc29iamVjdC5jcHAgKi87IH07Ci0J
CTFBNTY5RDBCMEQ3RTJCODIwMDdDMzk4MyAvKiBOUF9qc29iamVjdC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE1NjlDREIwRDdFMkI4MjAwN0MzOTgz
IC8qIE5QX2pzb2JqZWN0LmggKi87IH07CisJCTFBNTY5RDBCMEQ3RTJCODIwMDdDMzk4MyAvKiBO
UF9qc29iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUE1NjlDREIwRDdFMkI4MjAwN0MzOTgzIC8qIE5QX2pzb2JqZWN0LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUE1NjlEMEQwRDdFMkI4MjAw
N0MzOTgzIC8qIG5wcnVudGltZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQTU2OUNERDBEN0UyQjgyMDA3QzM5ODMgLyogbnBydW50aW1lLmNwcCAq
LzsgfTsKIAkJMUE1NjlEMEYwRDdFMkI4MjAwN0MzOTgzIC8qIG5wcnVudGltZV9pbXBsLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTU2OUNERjBEN0Uy
QjgyMDA3QzM5ODMgLyogbnBydW50aW1lX2ltcGwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQTU2OUQxMDBEN0UyQjgyMDA3QzM5ODMgLyogbnBy
dW50aW1lX2ludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQTU2OUNFMDBEN0UyQjgyMDA3QzM5ODMgLyogbnBydW50aW1lX2ludGVybmFsLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAKaW5kZXggNGQ5YTU5
MWZiMzliNGU2NDRmMDk5OTBiMDZhNDIxMDc1MzVkNjg4Mi4uNjg4Mzk3YTA1Yzc4MDEwY2NlYTI0
OTVkMjMwMzkwOTUxN2M0ZTYwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvU2NyaXB0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0Q29udHJvbGxlci5jcHAKQEAgLTM4NCw3ICszODQsNiBAQCB2b2lkIFNjcmlwdENvbnRy
b2xsZXI6OmNvbGxlY3RJc29sYXRlZENvbnRleHRzKFZlY3RvcjxzdGQ6OnBhaXI8SlNDOjpFeGVj
U3RhdGUqLAogfQogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCi0KIE5QT2JqZWN0
KiBTY3JpcHRDb250cm9sbGVyOjp3aW5kb3dTY3JpcHROUE9iamVjdCgpCiB7CiAgICAgaWYgKCFt
X3dpbmRvd1NjcmlwdE5QT2JqZWN0KSB7CkBAIC00MDUsMTcgKzQwNCw2IEBAIE5QT2JqZWN0KiBT
Y3JpcHRDb250cm9sbGVyOjp3aW5kb3dTY3JpcHROUE9iamVjdCgpCiAKICAgICByZXR1cm4gbV93
aW5kb3dTY3JpcHROUE9iamVjdDsKIH0KLQotTlBPYmplY3QqIFNjcmlwdENvbnRyb2xsZXI6OmNy
ZWF0ZVNjcmlwdE9iamVjdEZvclBsdWdpbkVsZW1lbnQoSFRNTFBsdWdJbkVsZW1lbnQqIHBsdWdp
bikKLXsKLSAgICBKU09iamVjdCogb2JqZWN0ID0ganNPYmplY3RGb3JQbHVnaW5FbGVtZW50KHBs
dWdpbik7Ci0gICAgaWYgKCFvYmplY3QpCi0gICAgICAgIHJldHVybiBfTlBOX0NyZWF0ZU5vU2Ny
aXB0T2JqZWN0KCk7Ci0KLSAgICAvLyBXcmFwIHRoZSBKU09iamVjdCBpbiBhbiBOUE9iamVjdAot
ICAgIHJldHVybiBfTlBOX0NyZWF0ZVNjcmlwdE9iamVjdCgwLCBvYmplY3QsIGJpbmRpbmdSb290
T2JqZWN0KCkpOwotfQotCiAjZW5kaWYKIAogI2lmICFQTEFURk9STShDT0NPQSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaAppbmRleCBhMzA2YzQwNzcx
NmQwYzMzN2MyODRiYzRlYzhiNWQxNjUzZGJmZGU2Li5hMGM3MWYyNjA4MTJiMGQzMjExOTE2ODY4
MTE5ZDcwYmY2NzE3NjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
Q29udHJvbGxlci5oCkBAIC0xNDcsNyArMTQ3LDcgQEAgcHVibGljOgogICAgIHZvaWQgdXBkYXRl
UGxhdGZvcm1TY3JpcHRPYmplY3RzKCk7CiAKICAgICBSZWZQdHI8SlNDOjpCaW5kaW5nczo6SW5z
dGFuY2U+ICBjcmVhdGVTY3JpcHRJbnN0YW5jZUZvcldpZGdldChXaWRnZXQqKTsKLSAgICBKU0M6
OkJpbmRpbmdzOjpSb290T2JqZWN0KiBiaW5kaW5nUm9vdE9iamVjdCgpOworICAgIFdFQkNPUkVf
RVhQT1JUIEpTQzo6QmluZGluZ3M6OlJvb3RPYmplY3QqIGJpbmRpbmdSb290T2JqZWN0KCk7CiAg
ICAgSlNDOjpCaW5kaW5nczo6Um9vdE9iamVjdCogY2FjaGVhYmxlQmluZGluZ1Jvb3RPYmplY3Qo
KTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIFJlZlB0cjxKU0M6OkJpbmRpbmdzOjpSb290T2JqZWN0
PiBjcmVhdGVSb290T2JqZWN0KHZvaWQqIG5hdGl2ZUhhbmRsZSk7CkBAIC0xNjIsNyArMTYyLDYg
QEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIEpTQzo6SlNPYmplY3QqIGpzT2JqZWN0Rm9y
UGx1Z2luRWxlbWVudChIVE1MUGx1Z0luRWxlbWVudCopOwogICAgIAogI2lmIEVOQUJMRShORVRT
Q0FQRV9QTFVHSU5fQVBJKQotICAgIE5QT2JqZWN0KiBjcmVhdGVTY3JpcHRPYmplY3RGb3JQbHVn
aW5FbGVtZW50KEhUTUxQbHVnSW5FbGVtZW50Kik7CiAgICAgV0VCQ09SRV9FWFBPUlQgTlBPYmpl
Y3QqIHdpbmRvd1NjcmlwdE5QT2JqZWN0KCk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYnJpZGdlL05QX2pzb2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvTlBf
anNvYmplY3QuaAppbmRleCBiNjhmZmYxZmM0OGE2NTA5ZDMxZjQ1MzZhMzNjYjNmMDY1NDc3OGI5
Li5jZjllOWZkZTkxMjFjMjM1YzIzZmMzOTc2Njg0YTliYjU4NWU4NjgwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9icmlkZ2UvTlBfanNvYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2UvTlBfanNvYmplY3QuaApAQCAtNDcsOCArNDcsOCBAQCBzdHJ1Y3QgSmF2YVNjcmlwdE9i
amVjdAogICAgIEpTQzo6QmluZGluZ3M6OlJvb3RPYmplY3QqIHJvb3RPYmplY3Q7CiB9OwogCi1O
UE9iamVjdCogX05QTl9DcmVhdGVTY3JpcHRPYmplY3QoTlBQLCBKU0M6OkpTT2JqZWN0KiwgUmVm
UHRyPEpTQzo6QmluZGluZ3M6OlJvb3RPYmplY3Q+JiYpOwotTlBPYmplY3QqIF9OUE5fQ3JlYXRl
Tm9TY3JpcHRPYmplY3Qodm9pZCk7CitXRUJDT1JFX0VYUE9SVCBOUE9iamVjdCogX05QTl9DcmVh
dGVTY3JpcHRPYmplY3QoTlBQLCBKU0M6OkpTT2JqZWN0KiwgUmVmUHRyPEpTQzo6QmluZGluZ3M6
OlJvb3RPYmplY3Q+JiYpOworV0VCQ09SRV9FWFBPUlQgTlBPYmplY3QqIF9OUE5fQ3JlYXRlTm9T
Y3JpcHRPYmplY3Qodm9pZCk7CiAKICNlbmRpZiAvLyBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQ
SSkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcAppbmRleCBiOGU1
MzE3NzJlOWI2MDVkZDBkMTQxNWExNzY3OWFhNDIwMGVkNGRiLi40MTMwYTI2MWEwZThiNDEyMTEz
ZTkwNGVhYmEzZGE2MmE4NDhhYTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxQbHVnSW5FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5F
bGVtZW50LmNwcApAQCAtNjcsOSArNjcsNiBAQCBIVE1MUGx1Z0luRWxlbWVudDo6SFRNTFBsdWdJ
bkVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvYwogICAg
IDogSFRNTEZyYW1lT3duZXJFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogICAgICwgbV9pbkJl
Zm9yZUxvYWRFdmVudEhhbmRsZXIoZmFsc2UpCiAgICAgLCBtX3N3YXBSZW5kZXJlclRpbWVyKCp0
aGlzLCAmSFRNTFBsdWdJbkVsZW1lbnQ6OnN3YXBSZW5kZXJlclRpbWVyRmlyZWQpCi0jaWYgRU5B
QkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCi0gICAgLCBtX05QT2JqZWN0KDApCi0jZW5kaWYKICAg
ICAsIG1faXNDYXB0dXJpbmdNb3VzZUV2ZW50cyhmYWxzZSkKICAgICAsIG1fZGlzcGxheVN0YXRl
KFBsYXlpbmcpCiB7CkBAIC03OSwxMyArNzYsNiBAQCBIVE1MUGx1Z0luRWxlbWVudDo6SFRNTFBs
dWdJbkVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvYwog
SFRNTFBsdWdJbkVsZW1lbnQ6On5IVE1MUGx1Z0luRWxlbWVudCgpCiB7CiAgICAgQVNTRVJUKCFt
X2luc3RhbmNlKTsgLy8gY2xlYXJlZCBpbiBkZXRhY2goKQotCi0jaWYgRU5BQkxFKE5FVFNDQVBF
X1BMVUdJTl9BUEkpCi0gICAgaWYgKG1fTlBPYmplY3QpIHsKLSAgICAgICAgX05QTl9SZWxlYXNl
T2JqZWN0KG1fTlBPYmplY3QpOwotICAgICAgICBtX05QT2JqZWN0ID0gMDsKLSAgICB9Ci0jZW5k
aWYKIH0KIAogYm9vbCBIVE1MUGx1Z0luRWxlbWVudDo6Y2FuUHJvY2Vzc0RyYWcoKSBjb25zdApA
QCAtMTExLDEzICsxMDEsNiBAQCB2b2lkIEhUTUxQbHVnSW5FbGVtZW50Ojp3aWxsRGV0YWNoUmVu
ZGVyZXJzKCkKICAgICAgICAgICAgIGZyYW1lLT5ldmVudEhhbmRsZXIoKS5zZXRDYXB0dXJpbmdN
b3VzZUV2ZW50c0VsZW1lbnQobnVsbHB0cik7CiAgICAgICAgIG1faXNDYXB0dXJpbmdNb3VzZUV2
ZW50cyA9IGZhbHNlOwogICAgIH0KLQotI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQot
ICAgIGlmIChtX05QT2JqZWN0KSB7Ci0gICAgICAgIF9OUE5fUmVsZWFzZU9iamVjdChtX05QT2Jq
ZWN0KTsKLSAgICAgICAgbV9OUE9iamVjdCA9IDA7Ci0gICAgfQotI2VuZGlmCiB9CiAKIHZvaWQg
SFRNTFBsdWdJbkVsZW1lbnQ6OnJlc2V0SW5zdGFuY2UoKQpAQCAtMjgyLDE4ICsyNjUsNiBAQCBi
b29sIEhUTUxQbHVnSW5FbGVtZW50OjpzdXBwb3J0c0ZvY3VzKCkgY29uc3QKICAgICByZXR1cm4g
IWRvd25jYXN0PFJlbmRlckVtYmVkZGVkT2JqZWN0PigqcmVuZGVyZXIoKSkuaXNQbHVnaW5VbmF2
YWlsYWJsZSgpOwogfQogCi0jaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCi0KLU5QT2Jq
ZWN0KiBIVE1MUGx1Z0luRWxlbWVudDo6Z2V0TlBPYmplY3QoKQotewotICAgIEFTU0VSVChkb2N1
bWVudCgpLmZyYW1lKCkpOwotICAgIGlmICghbV9OUE9iamVjdCkKLSAgICAgICAgbV9OUE9iamVj
dCA9IGRvY3VtZW50KCkuZnJhbWUoKS0+c2NyaXB0KCkuY3JlYXRlU2NyaXB0T2JqZWN0Rm9yUGx1
Z2luRWxlbWVudCh0aGlzKTsKLSAgICByZXR1cm4gbV9OUE9iamVjdDsKLX0KLQotI2VuZGlmIC8q
IEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKSAqLwotCiBSZW5kZXJQdHI8UmVuZGVyRWxlbWVu
dD4gSFRNTFBsdWdJbkVsZW1lbnQ6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcihSZW5kZXJTdHlsZSYm
IHN0eWxlLCBjb25zdCBSZW5kZXJUcmVlUG9zaXRpb24mIGluc2VydGlvblBvc2l0aW9uKQogewog
ICAgIGlmIChtX3BsdWdpblJlcGxhY2VtZW50ICYmIG1fcGx1Z2luUmVwbGFjZW1lbnQtPndpbGxD
cmVhdGVSZW5kZXJlcigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1
Z0luRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5oCmlu
ZGV4IDY3MmE4MjllMWUyYTg2NjYxNjEwYzJlZmJmZGZjNjQ5NjJlNDk5NDQuLmE4N2E5ODc5N2M0
OGQ3ZjY5MjViY2E0MTk2MDA5NzM3MDRkZjAyZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQ
bHVnSW5FbGVtZW50LmgKQEAgLTI2LDEwICsyNiw2IEBACiAjaW5jbHVkZSAiSFRNTEZyYW1lT3du
ZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiSW1hZ2UuaCIKIAotI2lmIEVOQUJMRShORVRTQ0FQRV9Q
TFVHSU5fQVBJKQotc3RydWN0IE5QT2JqZWN0OwotI2VuZGlmCi0KIG5hbWVzcGFjZSBKU0Mgewog
bmFtZXNwYWNlIEJpbmRpbmdzIHsKIGNsYXNzIEluc3RhbmNlOwpAQCAtNzEsMTAgKzY3LDYgQEAg
cHVibGljOgogCiAgICAgSlNDOjpKU09iamVjdCogc2NyaXB0T2JqZWN0Rm9yUGx1Z2luUmVwbGFj
ZW1lbnQoKTsKIAotI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQotICAgIFdFQkNPUkVf
RVhQT1JUIE5QT2JqZWN0KiBnZXROUE9iamVjdCgpOwotI2VuZGlmCi0KICAgICBib29sIGlzQ2Fw
dHVyaW5nTW91c2VFdmVudHMoKSBjb25zdCB7IHJldHVybiBtX2lzQ2FwdHVyaW5nTW91c2VFdmVu
dHM7IH0KICAgICB2b2lkIHNldElzQ2FwdHVyaW5nTW91c2VFdmVudHMoYm9vbCBjYXB0dXJpbmcp
IHsgbV9pc0NhcHR1cmluZ01vdXNlRXZlbnRzID0gY2FwdHVyaW5nOyB9CiAKQEAgLTEyOCw5ICsx
MjAsNiBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxKU0M6OkJpbmRpbmdzOjpJbnN0YW5jZT4gbV9p
bnN0YW5jZTsKICAgICBUaW1lciBtX3N3YXBSZW5kZXJlclRpbWVyOwogICAgIFJlZlB0cjxQbHVn
aW5SZXBsYWNlbWVudD4gbV9wbHVnaW5SZXBsYWNlbWVudDsKLSNpZiBFTkFCTEUoTkVUU0NBUEVf
UExVR0lOX0FQSSkKLSAgICBOUE9iamVjdCogbV9OUE9iamVjdDsKLSNlbmRpZgogICAgIGJvb2wg
bV9pc0NhcHR1cmluZ01vdXNlRXZlbnRzOwogCiAgICAgRGlzcGxheVN0YXRlIG1fZGlzcGxheVN0
YXRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBs
dWdpblZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5W
aWV3LmgKaW5kZXggNWY4YjNjYmNiM2ViZDEyNzNkNTI3NWRkZmM4OTM1ZGY1NGQyMGE5OS4uZDA4
ZmZmYWVjMDI4NjYwMzY2Y2U4ODQ2MDFmYjQ1MDBhZDNlMDZhZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5oCkBAIC01OSw3ICs1OSw5
IEBAIHR5cGVkZWYgdW5pb24gUGx1Z2luUG9ydCB7CiAgICAgUmV0YWluUHRyPENBTGF5ZXI+IF9w
bHVnaW5MYXllcjsKICAgICB1bnNpZ25lZCBfZGF0YUxlbmd0aFJlY2VpdmVkOwogICAgIFJldGFp
blB0cjxOU0Vycm9yPiBfZXJyb3I7Ci0gICAgICAgIAorCisgICAgTlBPYmplY3QqIF9lbGVtZW50
TlBPYmplY3Q7CisKICAgICB1bnNpZ25lZCBhcmdzQ291bnQ7CiAgICAgY2hhciAqKmNBdHRyaWJ1
dGVzOwogICAgIGNoYXIgKipjVmFsdWVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
UGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVn
aW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQppbmRleCBjMjhlM2E1YzY0NjA5ODJhYTBjYTU2
NjgwMzgxMjcwOTU5NjhmNzFjLi45NmMxZGNhN2IzOWE4MmMxMWQ4YzY0NTA0ZmY2OTExNjAxYTQy
ZjkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1
Z2luVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1
Z2luVmlldy5tbQpAQCAtNjEsNyArNjEsOCBAQAogI2ltcG9ydCA8V2ViQ29yZS9GcmFtZVRyZWUu
aD4KICNpbXBvcnQgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0hUTUxQ
bHVnSW5FbGVtZW50Lmg+Ci0jaW1wb3J0IDxXZWJDb3JlL1BhZ2UuaD4gCisjaW1wb3J0IDxXZWJD
b3JlL05QX2pzb2JqZWN0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1BhZ2UuaD4KICNpbXBvcnQgPFdl
YkNvcmUvUHJveHlTZXJ2ZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2NyaXB0Q29udHJvbGxlci5o
PgogI2ltcG9ydCA8V2ViQ29yZS9TZWN1cml0eU9yaWdpbi5oPgpAQCAtNzAsNiArNzEsNyBAQAog
I2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlT2JqQ0V4dHJhcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9X
ZWJDb3JlVVJMUmVzcG9uc2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvbnBydW50aW1lX2ltcGwuaD4K
KyNpbXBvcnQgPFdlYkNvcmUvcnVudGltZV9yb290Lmg+CiAjaW1wb3J0IDxXZWJLaXRMZWdhY3kv
RE9NUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0TGVnYWN5L1dlYlVJRGVsZWdhdGUuaD4KICNp
bXBvcnQgPG9iamMvcnVudGltZS5oPgpAQCAtMTkyMiwxNyArMTkyNCwyNiBAQCBzdGF0aWMgaW5s
aW5lIHZvaWQgZ2V0TlBSZWN0KGNvbnN0IE5TUmVjdCYgbnIsIE5QUmVjdCYgbnByKQogCiAgICAg
ICAgIGNhc2UgTlBOVlBsdWdpbkVsZW1lbnROUE9iamVjdDoKICAgICAgICAgewotICAgICAgICAg
ICAgaWYgKCFfZWxlbWVudCkKLSAgICAgICAgICAgICAgICByZXR1cm4gTlBFUlJfR0VORVJJQ19F
UlJPUjsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgTlBPYmplY3QgKnBsdWdJblNjcmlwdE9i
amVjdCA9IF9lbGVtZW50LT5nZXROUE9iamVjdCgpOworICAgICAgICAgICAgaWYgKCFfZWxlbWVu
dE5QT2JqZWN0KSB7CisgICAgICAgICAgICAgICAgaWYgKCFfZWxlbWVudCkKKyAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIE5QRVJSX0dFTkVSSUNfRVJST1I7CisKKyAgICAgICAgICAgICAgICBG
cmFtZSogZnJhbWUgPSBjb3JlKHNlbGYud2ViRnJhbWUpOworICAgICAgICAgICAgICAgIGlmICgh
ZnJhbWUpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBOUEVSUl9HRU5FUklDX0VSUk9SOwor
CisgICAgICAgICAgICAgICAgSlNDOjpKU09iamVjdCogb2JqZWN0ID0gZnJhbWUtPnNjcmlwdCgp
LmpzT2JqZWN0Rm9yUGx1Z2luRWxlbWVudChfZWxlbWVudC5nZXQoKSk7CisgICAgICAgICAgICAg
ICAgaWYgKCFvYmplY3QpCisgICAgICAgICAgICAgICAgICAgIF9lbGVtZW50TlBPYmplY3QgPSBf
TlBOX0NyZWF0ZU5vU2NyaXB0T2JqZWN0KCk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgICAgICAgICBfZWxlbWVudE5QT2JqZWN0ID0gX05QTl9DcmVhdGVTY3JpcHRPYmplY3Qo
MCwgb2JqZWN0LCBmcmFtZS0+c2NyaXB0KCkuYmluZGluZ1Jvb3RPYmplY3QoKSk7CisgICAgICAg
ICAgICB9CiAKICAgICAgICAgICAgIC8vIFJldHVybiB2YWx1ZSBpcyBleHBlY3RlZCB0byBiZSBy
ZXRhaW5lZCwgYXMgZGVzY3JpYmVkIGhlcmU6IDxodHRwOi8vd3d3Lm1vemlsbGEub3JnL3Byb2pl
Y3RzL3BsdWdpbnMvbnBydW50aW1lLmh0bWwjYnJvd3NlcmFjY2Vzcz4KLSAgICAgICAgICAgIGlm
IChwbHVnSW5TY3JpcHRPYmplY3QpCi0gICAgICAgICAgICAgICAgX05QTl9SZXRhaW5PYmplY3Qo
cGx1Z0luU2NyaXB0T2JqZWN0KTsKKyAgICAgICAgICAgIGlmIChfZWxlbWVudE5QT2JqZWN0KQor
ICAgICAgICAgICAgICAgIF9OUE5fUmV0YWluT2JqZWN0KF9lbGVtZW50TlBPYmplY3QpOwogCi0g
ICAgICAgICAgICB2b2lkICoqdiA9ICh2b2lkICoqKXZhbHVlOwotICAgICAgICAgICAgKnYgPSBw
bHVnSW5TY3JpcHRPYmplY3Q7CisgICAgICAgICAgICAqKHZvaWQgKiopdmFsdWUgPSBfZWxlbWVu
dE5QT2JqZWN0OwogCiAgICAgICAgICAgICByZXR1cm4gTlBFUlJfTk9fRVJST1I7CiAgICAgICAg
IH0KQEAgLTIyODAsNyArMjI5MSwxMCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgZ2V0TlBSZWN0KGNv
bnN0IE5TUmVjdCYgbnIsIE5QUmVjdCYgbnByKQogICAgIE5QRXJyb3IgbnBFcnI7CiAgICAgbnBF
cnIgPSAhW19wbHVnaW5QYWNrYWdlLmdldCgpIHBsdWdpbkZ1bmNzXS0+ZGVzdHJveShwbHVnaW4s
IE5VTEwpOwogICAgIExPRyhQbHVnaW5zLCAiTlBQX0Rlc3Ryb3k6ICVkIiwgbnBFcnIpOwotICAg
IAorCisgICAgaWYgKF9lbGVtZW50TlBPYmplY3QpCisgICAgICAgIF9OUE5fUmVsZWFzZU9iamVj
dChfZWxlbWVudE5QT2JqZWN0KTsKKwogICAgIGlmIChGcmFtZSogZnJhbWUgPSBjb3JlKFtzZWxm
IHdlYkZyYW1lXSkpCiAgICAgICAgIGZyYW1lLT5zY3JpcHQoKS5jbGVhbnVwU2NyaXB0T2JqZWN0
c0ZvclBsdWdpbihzZWxmKTsKICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dp
bi9QbHVnaW5zL1BsdWdpblZpZXcuY3BwIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVn
aW5WaWV3LmNwcAppbmRleCA2MTljYjA2Njk5OWJjNTFlNWFmOWE5ZDk2ZjQ0ZDI0ZDJmNDdhM2Fi
Li5iOWYyMTAwNzZmYWVlMzI0NTk3Y2Q5ZTc1OTY2NzliNzdlNzlkOGZkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvd2luL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKQEAgLTU1LDYgKzU1LDcgQEAKICNpbmNsdWRl
IDxXZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01JTUVUeXBlUmVn
aXN0cnkuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01vdXNlRXZlbnQuaD4KKyNpbmNsdWRlIDxXZWJD
b3JlL05QX2pzb2JqZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvUGFnZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1Nb3Vz
ZUV2ZW50Lmg+CkBAIC0yOTIsNiArMjkzLDkgQEAgUGx1Z2luVmlldzo6flBsdWdpblZpZXcoKQog
CiAgICAgc3RvcCgpOwogCisgICAgaWYgKG1fZWxlbWVudE5QT2JqZWN0KQorICAgICAgICBfTlBO
X1JlbGVhc2VPYmplY3QobV9lbGVtZW50TlBPYmplY3QpOworICAgIAogICAgIGZyZWVTdHJpbmdB
cnJheShtX3BhcmFtTmFtZXMsIG1fcGFyYW1Db3VudCk7CiAgICAgZnJlZVN0cmluZ0FycmF5KG1f
cGFyYW1WYWx1ZXMsIG1fcGFyYW1Db3VudCk7CiAKQEAgLTc0OSw2ICs3NTMsNyBAQCBQbHVnaW5W
aWV3OjpQbHVnaW5WaWV3KEZyYW1lKiBwYXJlbnRGcmFtZSwgY29uc3QgSW50U2l6ZSYgc2l6ZSwg
UGx1Z2luUGFja2FnZSogcAogICAgICwgbV9wYXJhbVZhbHVlcygwKQogICAgICwgbV9taW1lVHlw
ZShtaW1lVHlwZSkKICAgICAsIG1faW5zdGFuY2UoMCkKKyAgICAsIG1fZWxlbWVudE5QT2JqZWN0
KG51bGxwdHIpCiAgICAgLCBtX2lzV2luZG93ZWQodHJ1ZSkKICAgICAsIG1faXNUcmFuc3BhcmVu
dChmYWxzZSkKICAgICAsIG1faGF2ZUluaXRpYWxpemVkKGZhbHNlKQpAQCAtMTE5Miw2ICsxMTk3
LDE0IEBAIE5QRXJyb3IgUGx1Z2luVmlldzo6Z2V0VmFsdWVTdGF0aWMoTlBOVmFyaWFibGUgdmFy
aWFibGUsIHZvaWQqIHZhbHVlKQogICAgIHJldHVybiBOUEVSUl9HRU5FUklDX0VSUk9SOwogfQog
CitzdGF0aWMgRnJhbWUqIGdldEZyYW1lKEZyYW1lKiBwYXJlbnRGcmFtZSwgRWxlbWVudCogZWxl
bWVudCkKK3sKKyAgICBpZiAocGFyZW50RnJhbWUpCisgICAgICAgIHJldHVybiBwYXJlbnRGcmFt
ZTsKKyAgICAKKyAgICByZXR1cm4gZWxlbWVudC0+ZG9jdW1lbnQoKS5mcmFtZSgpOworfQorCiBO
UEVycm9yIFBsdWdpblZpZXc6OmdldFZhbHVlKE5QTlZhcmlhYmxlIHZhcmlhYmxlLCB2b2lkKiB2
YWx1ZSkKIHsKICAgICBMT0coUGx1Z2lucywgIlBsdWdpblZpZXc6OmdldFZhbHVlKCVzKSIsIHBy
ZXR0eU5hbWVGb3JOUE5WYXJpYWJsZSh2YXJpYWJsZSkuZGF0YSgpKTsKQEAgLTEyMjQsMTggKzEy
MzcsMjMgQEAgTlBFcnJvciBQbHVnaW5WaWV3OjpnZXRWYWx1ZShOUE5WYXJpYWJsZSB2YXJpYWJs
ZSwgdm9pZCogdmFsdWUpCiAgICAgICAgIGlmIChtX2lzSmF2YVNjcmlwdFBhdXNlZCkKICAgICAg
ICAgICAgIHJldHVybiBOUEVSUl9HRU5FUklDX0VSUk9SOwogCi0gICAgICAgIE5QT2JqZWN0KiBw
bHVnaW5TY3JpcHRPYmplY3QgPSAwOwotCi0gICAgICAgIGlmIChtX2VsZW1lbnQtPmhhc1RhZ05h
bWUoYXBwbGV0VGFnKSB8fCBtX2VsZW1lbnQtPmhhc1RhZ05hbWUoZW1iZWRUYWcpIHx8IG1fZWxl
bWVudC0+aGFzVGFnTmFtZShvYmplY3RUYWcpKQotICAgICAgICAgICAgcGx1Z2luU2NyaXB0T2Jq
ZWN0ID0gbV9lbGVtZW50LT5nZXROUE9iamVjdCgpOwotCi0gICAgICAgIC8vIFJldHVybiB2YWx1
ZSBpcyBleHBlY3RlZCB0byBiZSByZXRhaW5lZCwgYXMgZGVzY3JpYmVkIGhlcmU6IDxodHRwOi8v
d3d3Lm1vemlsbGEub3JnL3Byb2plY3RzL3BsdWdpbi9ucHJ1bnRpbWUuaHRtbD4KLSAgICAgICAg
aWYgKHBsdWdpblNjcmlwdE9iamVjdCkKLSAgICAgICAgICAgIF9OUE5fUmV0YWluT2JqZWN0KHBs
dWdpblNjcmlwdE9iamVjdCk7CisgICAgICAgIGlmICghbV9lbGVtZW50TlBPYmplY3QpIHsKKyAg
ICAgICAgICAgIEZyYW1lKiBmcmFtZSA9IGdldEZyYW1lKHBhcmVudEZyYW1lKCksIG1fZWxlbWVu
dCk7CisgICAgICAgICAgICBpZiAoIWZyYW1lKQorICAgICAgICAgICAgICAgIHJldHVybiBOUEVS
Ul9HRU5FUklDX0VSUk9SOworCisgICAgICAgICAgICBKU0M6OkpTT2JqZWN0KiBvYmplY3QgPSBm
cmFtZS0+c2NyaXB0KCkuanNPYmplY3RGb3JQbHVnaW5FbGVtZW50KG1fZWxlbWVudC5nZXQoKSk7
CisgICAgICAgICAgICBpZiAoIW9iamVjdCkKKyAgICAgICAgICAgICAgICBtX2VsZW1lbnROUE9i
amVjdCA9IF9OUE5fQ3JlYXRlTm9TY3JpcHRPYmplY3QoKTsKKyAgICAgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgICAgICBtX2VsZW1lbnROUE9iamVjdCA9IF9OUE5fQ3JlYXRlU2NyaXB0T2JqZWN0
KDAsIG9iamVjdCwgZnJhbWUtPnNjcmlwdCgpLmJpbmRpbmdSb290T2JqZWN0KCkpOworICAgICAg
ICB9CiAKLSAgICAgICAgdm9pZCoqIHYgPSAodm9pZCoqKXZhbHVlOwotICAgICAgICAqdiA9IHBs
dWdpblNjcmlwdE9iamVjdDsKKyAgICAgICAgLy8gUmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkIHRv
IGJlIHJldGFpbmVkLCBhcyBkZXNjcmliZWQgaGVyZTogPGh0dHA6Ly93d3cubW96aWxsYS5vcmcv
cHJvamVjdHMvcGx1Z2lucy9ucHJ1bnRpbWUuaHRtbCNicm93c2VyYWNjZXNzPgorICAgICAgICBp
ZiAobV9lbGVtZW50TlBPYmplY3QpCisgICAgICAgICAgICBfTlBOX1JldGFpbk9iamVjdChtX2Vs
ZW1lbnROUE9iamVjdCk7CiAKKyAgICAgICAgKih2b2lkICoqKXZhbHVlID0gbV9lbGVtZW50TlBP
YmplY3Q7CiAgICAgICAgIHJldHVybiBOUEVSUl9OT19FUlJPUjsKICAgICB9CiAKQEAgLTEyNTIs
MTQgKzEyNzAsNiBAQCBOUEVycm9yIFBsdWdpblZpZXc6OmdldFZhbHVlKE5QTlZhcmlhYmxlIHZh
cmlhYmxlLCB2b2lkKiB2YWx1ZSkKICAgICB9CiB9CiAKLXN0YXRpYyBGcmFtZSogZ2V0RnJhbWUo
RnJhbWUqIHBhcmVudEZyYW1lLCBFbGVtZW50KiBlbGVtZW50KQotewotICAgIGlmIChwYXJlbnRG
cmFtZSkKLSAgICAgICAgcmV0dXJuIHBhcmVudEZyYW1lOwotICAgIAotICAgIHJldHVybiBlbGVt
ZW50LT5kb2N1bWVudCgpLmZyYW1lKCk7Ci19Ci0KIE5QRXJyb3IgUGx1Z2luVmlldzo6Z2V0VmFs
dWVGb3JVUkwoTlBOVVJMVmFyaWFibGUgdmFyaWFibGUsIGNvbnN0IGNoYXIqIHVybCwgY2hhcioq
IHZhbHVlLCB1aW50MzJfdCogbGVuKQogewogICAgIExPRyhQbHVnaW5zLCAiUGx1Z2luVmlldzo6
Z2V0VmFsdWVGb3JVUkwoJXMpIiwgcHJldHR5TmFtZUZvck5QTlVSTFZhcmlhYmxlKHZhcmlhYmxl
KS5kYXRhKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5W
aWV3LmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXcuaAppbmRleCA2OWNi
MDEzYTA0NmYxM2U1MzllYWJkNDc2YjU3ZjVhZGUzYTA3OWEwLi42MDZiYTA1MDhlODA0MDBlYTE1
M2RlNTMzNzY0M2E5OTYwOWNhOTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVn
aW5zL1BsdWdpblZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZp
ZXcuaApAQCAtMzEwLDYgKzMxMCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgTlBX
aW5kb3cgbV9ucFdpbmRvdzsKICNlbmRpZgogCisgICAgICAgIE5QT2JqZWN0KiBtX2VsZW1lbnRO
UE9iamVjdDsKKwogICAgICAgICBWZWN0b3I8Ym9vbCwgND4gbV9wb3B1cFN0YXRlU3RhY2s7CiAK
ICAgICAgICAgSGFzaFNldDxSZWZQdHI8UGx1Z2luU3RyZWFtPiA+IG1fc3RyZWFtczsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>286392</attachid>
            <date>2016-08-18 14:01:04 -0700</date>
            <delta_ts>2016-08-18 15:31:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160967-20160818135914.patch</filename>
            <type>text/plain</type>
            <size>17373</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0NTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWY1MDQ5NjlkZjljNGVl
YWU0YjljMTgyZDk5NmY2MTE5YTBhODk5My4uYzFkMGI2ZTk3YzdkZmVjYzAyNGJjOTk0YjM2NzE4
YTZhMzI1NzY3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE2LTA4LTE4ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBhbiBOUEFQ
SS1vbmx5IGZ1bmN0aW9uIGZyb20gV2ViQ29yZSB0byBXZWJLaXQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDk2NworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6Y3JlYXRlU2NyaXB0T2JqZWN0Rm9y
UGx1Z2luRWxlbWVudCk6IERlbGV0ZWQuCisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0Q29u
dHJvbGxlci5oOgorICAgICAgICAqIGJyaWRnZS9OUF9qc29iamVjdC5oOgorCiAyMDE2LTA4LTE4
ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFtNZWRp
YVN0cmVhbV0gY2xlYW51cCBNZWRpYUNvbnN0cmFpbnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggYTlk
MWZkNzNkNjA4NzFlYTBjMWY1ZmVlMzZlYjM5Mjc3YTA5NGIyYS4uMmZlYzVhNzVjOGNmZTAzNzEx
YjUzOTA3YWVkNjIwMjYzNWI0MjQzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDE2LTA4LTE4ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAg
ICAgICAgTW92ZSBhbiBOUEFQSS1vbmx5IGZ1bmN0aW9uIGZyb20gV2ViQ29yZSB0byBXZWJLaXQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDk2Nwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogUGx1Z2lu
cy9XZWJOZXRzY2FwZVBsdWdpblZpZXcuaDoKKyAgICAgICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBl
UGx1Z2luVmlldy5tbToKKyAgICAgICAgKC1bV2ViTmV0c2NhcGVQbHVnaW5WaWV3IGdldFZhcmlh
YmxlOnZhbHVlOl0pOgorICAgICAgICAoLVtXZWJOZXRzY2FwZVBsdWdpblZpZXcgX2Rlc3Ryb3lQ
bHVnaW5dKToKKwogMjAxNi0wOC0xOCAgUmF3aW5kZXIgU2luZ2ggIDxyYXdpbmRlci5zaW5naC13
ZWJraXRAY2lzcmEuY2Fub24uY29tLmF1PgogCiAgICAgICAgIFt3ZWItYW5pbWF0aW9uc10gQWRk
IEFuaW1hdGFibGUsIEFuaW1hdGlvbkVmZmVjdCwgS2V5ZnJhbWVFZmZlY3QgYW5kIEFuaW1hdGlv
biBpbnRlcmZhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCBhOGU0ZjMzM2Y1ZTljMmE5YTBiZDIwMTQ0
ZDcxZmNiYWUyYjI4Yzg1Li4yZTAwYTNhY2IwNmIxZDFiYjZkYmM5MTM4ZjZkNDczNjk3NzJlNmY4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTYtMDgtMTggIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIGFuIE5QQVBJLW9u
bHkgZnVuY3Rpb24gZnJvbSBXZWJDb3JlIHRvIFdlYktpdAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYwOTY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBQbHVnaW5zL1BsdWdpblZpZXcuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6flBsdWdpblZpZXcpOgorICAgICAgICAoV2ViQ29y
ZTo6UGx1Z2luVmlldzo6UGx1Z2luVmlldyk6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3
OjpnZXRWYWx1ZSk6CisgICAgICAgICogUGx1Z2lucy9QbHVnaW5WaWV3Lmg6CisKIDIwMTYtMDgt
MTUgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1v
dmUgdW51c2VkIGluY2x1ZGVzIG9mIHd0ZiBoZWFkZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZjg0MjVjYjZhYzM2ZDE3ODIy
MmQwNGIwMjA0NWQzNzM0MzEyMTQ2NS4uYTg0YzY0ZTI4ZGY3OGZiMjRhYjlmY2Y4YTA2NTg0NDA0
NWMyM2I5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtNzM3LDcgKzczNyw3IEBACiAJCTFBNTY5Q0ZEMEQ3RTJCODIwMDdDMzk4
MyAvKiBjX3V0aWxpdHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUE1NjlDQ0MwRDdFMkI4MjAwN0MzOTgzIC8qIGNfdXRpbGl0eS5jcHAgKi87IH07
CiAJCTFBNTY5Q0ZFMEQ3RTJCODIwMDdDMzk4MyAvKiBjX3V0aWxpdHkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNTY5Q0NEMEQ3RTJCODIwMDdDMzk4
MyAvKiBjX3V0aWxpdHkuaCAqLzsgfTsKIAkJMUE1NjlEMEEwRDdFMkI4MjAwN0MzOTgzIC8qIE5Q
X2pzb2JqZWN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBNTY5Q0RBMEQ3RTJCODIwMDdDMzk4MyAvKiBOUF9qc29iamVjdC5jcHAgKi87IH07Ci0J
CTFBNTY5RDBCMEQ3RTJCODIwMDdDMzk4MyAvKiBOUF9qc29iamVjdC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE1NjlDREIwRDdFMkI4MjAwN0MzOTgz
IC8qIE5QX2pzb2JqZWN0LmggKi87IH07CisJCTFBNTY5RDBCMEQ3RTJCODIwMDdDMzk4MyAvKiBO
UF9qc29iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUE1NjlDREIwRDdFMkI4MjAwN0MzOTgzIC8qIE5QX2pzb2JqZWN0LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUE1NjlEMEQwRDdFMkI4MjAw
N0MzOTgzIC8qIG5wcnVudGltZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQTU2OUNERDBEN0UyQjgyMDA3QzM5ODMgLyogbnBydW50aW1lLmNwcCAq
LzsgfTsKIAkJMUE1NjlEMEYwRDdFMkI4MjAwN0MzOTgzIC8qIG5wcnVudGltZV9pbXBsLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTU2OUNERjBEN0Uy
QjgyMDA3QzM5ODMgLyogbnBydW50aW1lX2ltcGwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQTU2OUQxMDBEN0UyQjgyMDA3QzM5ODMgLyogbnBy
dW50aW1lX2ludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQTU2OUNFMDBEN0UyQjgyMDA3QzM5ODMgLyogbnBydW50aW1lX2ludGVybmFsLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAKaW5kZXggNGQ5YTU5
MWZiMzliNGU2NDRmMDk5OTBiMDZhNDIxMDc1MzVkNjg4Mi4uNjg4Mzk3YTA1Yzc4MDEwY2NlYTI0
OTVkMjMwMzkwOTUxN2M0ZTYwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvU2NyaXB0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0Q29udHJvbGxlci5jcHAKQEAgLTM4NCw3ICszODQsNiBAQCB2b2lkIFNjcmlwdENvbnRy
b2xsZXI6OmNvbGxlY3RJc29sYXRlZENvbnRleHRzKFZlY3RvcjxzdGQ6OnBhaXI8SlNDOjpFeGVj
U3RhdGUqLAogfQogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCi0KIE5QT2JqZWN0
KiBTY3JpcHRDb250cm9sbGVyOjp3aW5kb3dTY3JpcHROUE9iamVjdCgpCiB7CiAgICAgaWYgKCFt
X3dpbmRvd1NjcmlwdE5QT2JqZWN0KSB7CkBAIC00MDUsMTcgKzQwNCw2IEBAIE5QT2JqZWN0KiBT
Y3JpcHRDb250cm9sbGVyOjp3aW5kb3dTY3JpcHROUE9iamVjdCgpCiAKICAgICByZXR1cm4gbV93
aW5kb3dTY3JpcHROUE9iamVjdDsKIH0KLQotTlBPYmplY3QqIFNjcmlwdENvbnRyb2xsZXI6OmNy
ZWF0ZVNjcmlwdE9iamVjdEZvclBsdWdpbkVsZW1lbnQoSFRNTFBsdWdJbkVsZW1lbnQqIHBsdWdp
bikKLXsKLSAgICBKU09iamVjdCogb2JqZWN0ID0ganNPYmplY3RGb3JQbHVnaW5FbGVtZW50KHBs
dWdpbik7Ci0gICAgaWYgKCFvYmplY3QpCi0gICAgICAgIHJldHVybiBfTlBOX0NyZWF0ZU5vU2Ny
aXB0T2JqZWN0KCk7Ci0KLSAgICAvLyBXcmFwIHRoZSBKU09iamVjdCBpbiBhbiBOUE9iamVjdAot
ICAgIHJldHVybiBfTlBOX0NyZWF0ZVNjcmlwdE9iamVjdCgwLCBvYmplY3QsIGJpbmRpbmdSb290
T2JqZWN0KCkpOwotfQotCiAjZW5kaWYKIAogI2lmICFQTEFURk9STShDT0NPQSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaAppbmRleCBhMzA2YzQwNzcx
NmQwYzMzN2MyODRiYzRlYzhiNWQxNjUzZGJmZGU2Li5hMGM3MWYyNjA4MTJiMGQzMjExOTE2ODY4
MTE5ZDcwYmY2NzE3NjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
Q29udHJvbGxlci5oCkBAIC0xNDcsNyArMTQ3LDcgQEAgcHVibGljOgogICAgIHZvaWQgdXBkYXRl
UGxhdGZvcm1TY3JpcHRPYmplY3RzKCk7CiAKICAgICBSZWZQdHI8SlNDOjpCaW5kaW5nczo6SW5z
dGFuY2U+ICBjcmVhdGVTY3JpcHRJbnN0YW5jZUZvcldpZGdldChXaWRnZXQqKTsKLSAgICBKU0M6
OkJpbmRpbmdzOjpSb290T2JqZWN0KiBiaW5kaW5nUm9vdE9iamVjdCgpOworICAgIFdFQkNPUkVf
RVhQT1JUIEpTQzo6QmluZGluZ3M6OlJvb3RPYmplY3QqIGJpbmRpbmdSb290T2JqZWN0KCk7CiAg
ICAgSlNDOjpCaW5kaW5nczo6Um9vdE9iamVjdCogY2FjaGVhYmxlQmluZGluZ1Jvb3RPYmplY3Qo
KTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIFJlZlB0cjxKU0M6OkJpbmRpbmdzOjpSb290T2JqZWN0
PiBjcmVhdGVSb290T2JqZWN0KHZvaWQqIG5hdGl2ZUhhbmRsZSk7CkBAIC0xNjIsNyArMTYyLDYg
QEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIEpTQzo6SlNPYmplY3QqIGpzT2JqZWN0Rm9y
UGx1Z2luRWxlbWVudChIVE1MUGx1Z0luRWxlbWVudCopOwogICAgIAogI2lmIEVOQUJMRShORVRT
Q0FQRV9QTFVHSU5fQVBJKQotICAgIE5QT2JqZWN0KiBjcmVhdGVTY3JpcHRPYmplY3RGb3JQbHVn
aW5FbGVtZW50KEhUTUxQbHVnSW5FbGVtZW50Kik7CiAgICAgV0VCQ09SRV9FWFBPUlQgTlBPYmpl
Y3QqIHdpbmRvd1NjcmlwdE5QT2JqZWN0KCk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYnJpZGdlL05QX2pzb2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvTlBf
anNvYmplY3QuaAppbmRleCBiNjhmZmYxZmM0OGE2NTA5ZDMxZjQ1MzZhMzNjYjNmMDY1NDc3OGI5
Li5jZjllOWZkZTkxMjFjMjM1YzIzZmMzOTc2Njg0YTliYjU4NWU4NjgwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9icmlkZ2UvTlBfanNvYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2UvTlBfanNvYmplY3QuaApAQCAtNDcsOCArNDcsOCBAQCBzdHJ1Y3QgSmF2YVNjcmlwdE9i
amVjdAogICAgIEpTQzo6QmluZGluZ3M6OlJvb3RPYmplY3QqIHJvb3RPYmplY3Q7CiB9OwogCi1O
UE9iamVjdCogX05QTl9DcmVhdGVTY3JpcHRPYmplY3QoTlBQLCBKU0M6OkpTT2JqZWN0KiwgUmVm
UHRyPEpTQzo6QmluZGluZ3M6OlJvb3RPYmplY3Q+JiYpOwotTlBPYmplY3QqIF9OUE5fQ3JlYXRl
Tm9TY3JpcHRPYmplY3Qodm9pZCk7CitXRUJDT1JFX0VYUE9SVCBOUE9iamVjdCogX05QTl9DcmVh
dGVTY3JpcHRPYmplY3QoTlBQLCBKU0M6OkpTT2JqZWN0KiwgUmVmUHRyPEpTQzo6QmluZGluZ3M6
OlJvb3RPYmplY3Q+JiYpOworV0VCQ09SRV9FWFBPUlQgTlBPYmplY3QqIF9OUE5fQ3JlYXRlTm9T
Y3JpcHRPYmplY3Qodm9pZCk7CiAKICNlbmRpZiAvLyBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQ
SSkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcAppbmRleCBiOGU1
MzE3NzJlOWI2MDVkZDBkMTQxNWExNzY3OWFhNDIwMGVkNGRiLi40MTMwYTI2MWEwZThiNDEyMTEz
ZTkwNGVhYmEzZGE2MmE4NDhhYTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxQbHVnSW5FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5F
bGVtZW50LmNwcApAQCAtNjcsOSArNjcsNiBAQCBIVE1MUGx1Z0luRWxlbWVudDo6SFRNTFBsdWdJ
bkVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvYwogICAg
IDogSFRNTEZyYW1lT3duZXJFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogICAgICwgbV9pbkJl
Zm9yZUxvYWRFdmVudEhhbmRsZXIoZmFsc2UpCiAgICAgLCBtX3N3YXBSZW5kZXJlclRpbWVyKCp0
aGlzLCAmSFRNTFBsdWdJbkVsZW1lbnQ6OnN3YXBSZW5kZXJlclRpbWVyRmlyZWQpCi0jaWYgRU5B
QkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCi0gICAgLCBtX05QT2JqZWN0KDApCi0jZW5kaWYKICAg
ICAsIG1faXNDYXB0dXJpbmdNb3VzZUV2ZW50cyhmYWxzZSkKICAgICAsIG1fZGlzcGxheVN0YXRl
KFBsYXlpbmcpCiB7CkBAIC03OSwxMyArNzYsNiBAQCBIVE1MUGx1Z0luRWxlbWVudDo6SFRNTFBs
dWdJbkVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvYwog
SFRNTFBsdWdJbkVsZW1lbnQ6On5IVE1MUGx1Z0luRWxlbWVudCgpCiB7CiAgICAgQVNTRVJUKCFt
X2luc3RhbmNlKTsgLy8gY2xlYXJlZCBpbiBkZXRhY2goKQotCi0jaWYgRU5BQkxFKE5FVFNDQVBF
X1BMVUdJTl9BUEkpCi0gICAgaWYgKG1fTlBPYmplY3QpIHsKLSAgICAgICAgX05QTl9SZWxlYXNl
T2JqZWN0KG1fTlBPYmplY3QpOwotICAgICAgICBtX05QT2JqZWN0ID0gMDsKLSAgICB9Ci0jZW5k
aWYKIH0KIAogYm9vbCBIVE1MUGx1Z0luRWxlbWVudDo6Y2FuUHJvY2Vzc0RyYWcoKSBjb25zdApA
QCAtMTExLDEzICsxMDEsNiBAQCB2b2lkIEhUTUxQbHVnSW5FbGVtZW50Ojp3aWxsRGV0YWNoUmVu
ZGVyZXJzKCkKICAgICAgICAgICAgIGZyYW1lLT5ldmVudEhhbmRsZXIoKS5zZXRDYXB0dXJpbmdN
b3VzZUV2ZW50c0VsZW1lbnQobnVsbHB0cik7CiAgICAgICAgIG1faXNDYXB0dXJpbmdNb3VzZUV2
ZW50cyA9IGZhbHNlOwogICAgIH0KLQotI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQot
ICAgIGlmIChtX05QT2JqZWN0KSB7Ci0gICAgICAgIF9OUE5fUmVsZWFzZU9iamVjdChtX05QT2Jq
ZWN0KTsKLSAgICAgICAgbV9OUE9iamVjdCA9IDA7Ci0gICAgfQotI2VuZGlmCiB9CiAKIHZvaWQg
SFRNTFBsdWdJbkVsZW1lbnQ6OnJlc2V0SW5zdGFuY2UoKQpAQCAtMjgyLDE4ICsyNjUsNiBAQCBi
b29sIEhUTUxQbHVnSW5FbGVtZW50OjpzdXBwb3J0c0ZvY3VzKCkgY29uc3QKICAgICByZXR1cm4g
IWRvd25jYXN0PFJlbmRlckVtYmVkZGVkT2JqZWN0PigqcmVuZGVyZXIoKSkuaXNQbHVnaW5VbmF2
YWlsYWJsZSgpOwogfQogCi0jaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCi0KLU5QT2Jq
ZWN0KiBIVE1MUGx1Z0luRWxlbWVudDo6Z2V0TlBPYmplY3QoKQotewotICAgIEFTU0VSVChkb2N1
bWVudCgpLmZyYW1lKCkpOwotICAgIGlmICghbV9OUE9iamVjdCkKLSAgICAgICAgbV9OUE9iamVj
dCA9IGRvY3VtZW50KCkuZnJhbWUoKS0+c2NyaXB0KCkuY3JlYXRlU2NyaXB0T2JqZWN0Rm9yUGx1
Z2luRWxlbWVudCh0aGlzKTsKLSAgICByZXR1cm4gbV9OUE9iamVjdDsKLX0KLQotI2VuZGlmIC8q
IEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKSAqLwotCiBSZW5kZXJQdHI8UmVuZGVyRWxlbWVu
dD4gSFRNTFBsdWdJbkVsZW1lbnQ6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcihSZW5kZXJTdHlsZSYm
IHN0eWxlLCBjb25zdCBSZW5kZXJUcmVlUG9zaXRpb24mIGluc2VydGlvblBvc2l0aW9uKQogewog
ICAgIGlmIChtX3BsdWdpblJlcGxhY2VtZW50ICYmIG1fcGx1Z2luUmVwbGFjZW1lbnQtPndpbGxD
cmVhdGVSZW5kZXJlcigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1
Z0luRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5oCmlu
ZGV4IDY3MmE4MjllMWUyYTg2NjYxNjEwYzJlZmJmZGZjNjQ5NjJlNDk5NDQuLmE4N2E5ODc5N2M0
OGQ3ZjY5MjViY2E0MTk2MDA5NzM3MDRkZjAyZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQ
bHVnSW5FbGVtZW50LmgKQEAgLTI2LDEwICsyNiw2IEBACiAjaW5jbHVkZSAiSFRNTEZyYW1lT3du
ZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiSW1hZ2UuaCIKIAotI2lmIEVOQUJMRShORVRTQ0FQRV9Q
TFVHSU5fQVBJKQotc3RydWN0IE5QT2JqZWN0OwotI2VuZGlmCi0KIG5hbWVzcGFjZSBKU0Mgewog
bmFtZXNwYWNlIEJpbmRpbmdzIHsKIGNsYXNzIEluc3RhbmNlOwpAQCAtNzEsMTAgKzY3LDYgQEAg
cHVibGljOgogCiAgICAgSlNDOjpKU09iamVjdCogc2NyaXB0T2JqZWN0Rm9yUGx1Z2luUmVwbGFj
ZW1lbnQoKTsKIAotI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQotICAgIFdFQkNPUkVf
RVhQT1JUIE5QT2JqZWN0KiBnZXROUE9iamVjdCgpOwotI2VuZGlmCi0KICAgICBib29sIGlzQ2Fw
dHVyaW5nTW91c2VFdmVudHMoKSBjb25zdCB7IHJldHVybiBtX2lzQ2FwdHVyaW5nTW91c2VFdmVu
dHM7IH0KICAgICB2b2lkIHNldElzQ2FwdHVyaW5nTW91c2VFdmVudHMoYm9vbCBjYXB0dXJpbmcp
IHsgbV9pc0NhcHR1cmluZ01vdXNlRXZlbnRzID0gY2FwdHVyaW5nOyB9CiAKQEAgLTEyOCw5ICsx
MjAsNiBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxKU0M6OkJpbmRpbmdzOjpJbnN0YW5jZT4gbV9p
bnN0YW5jZTsKICAgICBUaW1lciBtX3N3YXBSZW5kZXJlclRpbWVyOwogICAgIFJlZlB0cjxQbHVn
aW5SZXBsYWNlbWVudD4gbV9wbHVnaW5SZXBsYWNlbWVudDsKLSNpZiBFTkFCTEUoTkVUU0NBUEVf
UExVR0lOX0FQSSkKLSAgICBOUE9iamVjdCogbV9OUE9iamVjdDsKLSNlbmRpZgogICAgIGJvb2wg
bV9pc0NhcHR1cmluZ01vdXNlRXZlbnRzOwogCiAgICAgRGlzcGxheVN0YXRlIG1fZGlzcGxheVN0
YXRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBs
dWdpblZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5W
aWV3LmgKaW5kZXggNWY4YjNjYmNiM2ViZDEyNzNkNTI3NWRkZmM4OTM1ZGY1NGQyMGE5OS4uZDA4
ZmZmYWVjMDI4NjYwMzY2Y2U4ODQ2MDFmYjQ1MDBhZDNlMDZhZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5oCkBAIC01OSw3ICs1OSw5
IEBAIHR5cGVkZWYgdW5pb24gUGx1Z2luUG9ydCB7CiAgICAgUmV0YWluUHRyPENBTGF5ZXI+IF9w
bHVnaW5MYXllcjsKICAgICB1bnNpZ25lZCBfZGF0YUxlbmd0aFJlY2VpdmVkOwogICAgIFJldGFp
blB0cjxOU0Vycm9yPiBfZXJyb3I7Ci0gICAgICAgIAorCisgICAgTlBPYmplY3QqIF9lbGVtZW50
TlBPYmplY3Q7CisKICAgICB1bnNpZ25lZCBhcmdzQ291bnQ7CiAgICAgY2hhciAqKmNBdHRyaWJ1
dGVzOwogICAgIGNoYXIgKipjVmFsdWVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
UGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVn
aW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQppbmRleCBjMjhlM2E1YzY0NjA5ODJhYTBjYTU2
NjgwMzgxMjcwOTU5NjhmNzFjLi45NmMxZGNhN2IzOWE4MmMxMWQ4YzY0NTA0ZmY2OTExNjAxYTQy
ZjkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1
Z2luVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1
Z2luVmlldy5tbQpAQCAtNjEsNyArNjEsOCBAQAogI2ltcG9ydCA8V2ViQ29yZS9GcmFtZVRyZWUu
aD4KICNpbXBvcnQgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0hUTUxQ
bHVnSW5FbGVtZW50Lmg+Ci0jaW1wb3J0IDxXZWJDb3JlL1BhZ2UuaD4gCisjaW1wb3J0IDxXZWJD
b3JlL05QX2pzb2JqZWN0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1BhZ2UuaD4KICNpbXBvcnQgPFdl
YkNvcmUvUHJveHlTZXJ2ZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2NyaXB0Q29udHJvbGxlci5o
PgogI2ltcG9ydCA8V2ViQ29yZS9TZWN1cml0eU9yaWdpbi5oPgpAQCAtNzAsNiArNzEsNyBAQAog
I2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlT2JqQ0V4dHJhcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9X
ZWJDb3JlVVJMUmVzcG9uc2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvbnBydW50aW1lX2ltcGwuaD4K
KyNpbXBvcnQgPFdlYkNvcmUvcnVudGltZV9yb290Lmg+CiAjaW1wb3J0IDxXZWJLaXRMZWdhY3kv
RE9NUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0TGVnYWN5L1dlYlVJRGVsZWdhdGUuaD4KICNp
bXBvcnQgPG9iamMvcnVudGltZS5oPgpAQCAtMTkyMiwxNyArMTkyNCwyNiBAQCBzdGF0aWMgaW5s
aW5lIHZvaWQgZ2V0TlBSZWN0KGNvbnN0IE5TUmVjdCYgbnIsIE5QUmVjdCYgbnByKQogCiAgICAg
ICAgIGNhc2UgTlBOVlBsdWdpbkVsZW1lbnROUE9iamVjdDoKICAgICAgICAgewotICAgICAgICAg
ICAgaWYgKCFfZWxlbWVudCkKLSAgICAgICAgICAgICAgICByZXR1cm4gTlBFUlJfR0VORVJJQ19F
UlJPUjsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgTlBPYmplY3QgKnBsdWdJblNjcmlwdE9i
amVjdCA9IF9lbGVtZW50LT5nZXROUE9iamVjdCgpOworICAgICAgICAgICAgaWYgKCFfZWxlbWVu
dE5QT2JqZWN0KSB7CisgICAgICAgICAgICAgICAgaWYgKCFfZWxlbWVudCkKKyAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIE5QRVJSX0dFTkVSSUNfRVJST1I7CisKKyAgICAgICAgICAgICAgICBG
cmFtZSogZnJhbWUgPSBjb3JlKHNlbGYud2ViRnJhbWUpOworICAgICAgICAgICAgICAgIGlmICgh
ZnJhbWUpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBOUEVSUl9HRU5FUklDX0VSUk9SOwor
CisgICAgICAgICAgICAgICAgSlNDOjpKU09iamVjdCogb2JqZWN0ID0gZnJhbWUtPnNjcmlwdCgp
LmpzT2JqZWN0Rm9yUGx1Z2luRWxlbWVudChfZWxlbWVudC5nZXQoKSk7CisgICAgICAgICAgICAg
ICAgaWYgKCFvYmplY3QpCisgICAgICAgICAgICAgICAgICAgIF9lbGVtZW50TlBPYmplY3QgPSBf
TlBOX0NyZWF0ZU5vU2NyaXB0T2JqZWN0KCk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgICAgICAgICBfZWxlbWVudE5QT2JqZWN0ID0gX05QTl9DcmVhdGVTY3JpcHRPYmplY3Qo
MCwgb2JqZWN0LCBmcmFtZS0+c2NyaXB0KCkuYmluZGluZ1Jvb3RPYmplY3QoKSk7CisgICAgICAg
ICAgICB9CiAKICAgICAgICAgICAgIC8vIFJldHVybiB2YWx1ZSBpcyBleHBlY3RlZCB0byBiZSBy
ZXRhaW5lZCwgYXMgZGVzY3JpYmVkIGhlcmU6IDxodHRwOi8vd3d3Lm1vemlsbGEub3JnL3Byb2pl
Y3RzL3BsdWdpbnMvbnBydW50aW1lLmh0bWwjYnJvd3NlcmFjY2Vzcz4KLSAgICAgICAgICAgIGlm
IChwbHVnSW5TY3JpcHRPYmplY3QpCi0gICAgICAgICAgICAgICAgX05QTl9SZXRhaW5PYmplY3Qo
cGx1Z0luU2NyaXB0T2JqZWN0KTsKKyAgICAgICAgICAgIGlmIChfZWxlbWVudE5QT2JqZWN0KQor
ICAgICAgICAgICAgICAgIF9OUE5fUmV0YWluT2JqZWN0KF9lbGVtZW50TlBPYmplY3QpOwogCi0g
ICAgICAgICAgICB2b2lkICoqdiA9ICh2b2lkICoqKXZhbHVlOwotICAgICAgICAgICAgKnYgPSBw
bHVnSW5TY3JpcHRPYmplY3Q7CisgICAgICAgICAgICAqKHZvaWQgKiopdmFsdWUgPSBfZWxlbWVu
dE5QT2JqZWN0OwogCiAgICAgICAgICAgICByZXR1cm4gTlBFUlJfTk9fRVJST1I7CiAgICAgICAg
IH0KQEAgLTIyODAsNyArMjI5MSwxMCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgZ2V0TlBSZWN0KGNv
bnN0IE5TUmVjdCYgbnIsIE5QUmVjdCYgbnByKQogICAgIE5QRXJyb3IgbnBFcnI7CiAgICAgbnBF
cnIgPSAhW19wbHVnaW5QYWNrYWdlLmdldCgpIHBsdWdpbkZ1bmNzXS0+ZGVzdHJveShwbHVnaW4s
IE5VTEwpOwogICAgIExPRyhQbHVnaW5zLCAiTlBQX0Rlc3Ryb3k6ICVkIiwgbnBFcnIpOwotICAg
IAorCisgICAgaWYgKF9lbGVtZW50TlBPYmplY3QpCisgICAgICAgIF9OUE5fUmVsZWFzZU9iamVj
dChfZWxlbWVudE5QT2JqZWN0KTsKKwogICAgIGlmIChGcmFtZSogZnJhbWUgPSBjb3JlKFtzZWxm
IHdlYkZyYW1lXSkpCiAgICAgICAgIGZyYW1lLT5zY3JpcHQoKS5jbGVhbnVwU2NyaXB0T2JqZWN0
c0ZvclBsdWdpbihzZWxmKTsKICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dp
bi9QbHVnaW5zL1BsdWdpblZpZXcuY3BwIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVn
aW5WaWV3LmNwcAppbmRleCA2MTljYjA2Njk5OWJjNTFlNWFmOWE5ZDk2ZjQ0ZDI0ZDJmNDdhM2Fi
Li5iM2ZhNTE4MDViNzlmYTc1MGEyOTAyN2RjNmFkNTllNGE5YjdhOTRmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvd2luL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKQEAgLTU1LDYgKzU1LDcgQEAKICNpbmNsdWRl
IDxXZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01JTUVUeXBlUmVn
aXN0cnkuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01vdXNlRXZlbnQuaD4KKyNpbmNsdWRlIDxXZWJD
b3JlL05QX2pzb2JqZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvUGFnZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1Nb3Vz
ZUV2ZW50Lmg+CkBAIC0yOTIsNiArMjkzLDkgQEAgUGx1Z2luVmlldzo6flBsdWdpblZpZXcoKQog
CiAgICAgc3RvcCgpOwogCisgICAgaWYgKG1fZWxlbWVudE5QT2JqZWN0KQorICAgICAgICBfTlBO
X1JlbGVhc2VPYmplY3QobV9lbGVtZW50TlBPYmplY3QpOworICAgIAogICAgIGZyZWVTdHJpbmdB
cnJheShtX3BhcmFtTmFtZXMsIG1fcGFyYW1Db3VudCk7CiAgICAgZnJlZVN0cmluZ0FycmF5KG1f
cGFyYW1WYWx1ZXMsIG1fcGFyYW1Db3VudCk7CiAKQEAgLTc0OSw2ICs3NTMsNyBAQCBQbHVnaW5W
aWV3OjpQbHVnaW5WaWV3KEZyYW1lKiBwYXJlbnRGcmFtZSwgY29uc3QgSW50U2l6ZSYgc2l6ZSwg
UGx1Z2luUGFja2FnZSogcAogICAgICwgbV9wYXJhbVZhbHVlcygwKQogICAgICwgbV9taW1lVHlw
ZShtaW1lVHlwZSkKICAgICAsIG1faW5zdGFuY2UoMCkKKyAgICAsIG1fZWxlbWVudE5QT2JqZWN0
KG51bGxwdHIpCiAgICAgLCBtX2lzV2luZG93ZWQodHJ1ZSkKICAgICAsIG1faXNUcmFuc3BhcmVu
dChmYWxzZSkKICAgICAsIG1faGF2ZUluaXRpYWxpemVkKGZhbHNlKQpAQCAtMTE5Miw2ICsxMTk3
LDE0IEBAIE5QRXJyb3IgUGx1Z2luVmlldzo6Z2V0VmFsdWVTdGF0aWMoTlBOVmFyaWFibGUgdmFy
aWFibGUsIHZvaWQqIHZhbHVlKQogICAgIHJldHVybiBOUEVSUl9HRU5FUklDX0VSUk9SOwogfQog
CitzdGF0aWMgRnJhbWUqIGdldEZyYW1lKEZyYW1lKiBwYXJlbnRGcmFtZSwgRWxlbWVudCogZWxl
bWVudCkKK3sKKyAgICBpZiAocGFyZW50RnJhbWUpCisgICAgICAgIHJldHVybiBwYXJlbnRGcmFt
ZTsKKyAgICAKKyAgICByZXR1cm4gZWxlbWVudC0+ZG9jdW1lbnQoKS5mcmFtZSgpOworfQorCiBO
UEVycm9yIFBsdWdpblZpZXc6OmdldFZhbHVlKE5QTlZhcmlhYmxlIHZhcmlhYmxlLCB2b2lkKiB2
YWx1ZSkKIHsKICAgICBMT0coUGx1Z2lucywgIlBsdWdpblZpZXc6OmdldFZhbHVlKCVzKSIsIHBy
ZXR0eU5hbWVGb3JOUE5WYXJpYWJsZSh2YXJpYWJsZSkuZGF0YSgpKTsKQEAgLTEyMjQsMTggKzEy
MzcsMjMgQEAgTlBFcnJvciBQbHVnaW5WaWV3OjpnZXRWYWx1ZShOUE5WYXJpYWJsZSB2YXJpYWJs
ZSwgdm9pZCogdmFsdWUpCiAgICAgICAgIGlmIChtX2lzSmF2YVNjcmlwdFBhdXNlZCkKICAgICAg
ICAgICAgIHJldHVybiBOUEVSUl9HRU5FUklDX0VSUk9SOwogCi0gICAgICAgIE5QT2JqZWN0KiBw
bHVnaW5TY3JpcHRPYmplY3QgPSAwOwotCi0gICAgICAgIGlmIChtX2VsZW1lbnQtPmhhc1RhZ05h
bWUoYXBwbGV0VGFnKSB8fCBtX2VsZW1lbnQtPmhhc1RhZ05hbWUoZW1iZWRUYWcpIHx8IG1fZWxl
bWVudC0+aGFzVGFnTmFtZShvYmplY3RUYWcpKQotICAgICAgICAgICAgcGx1Z2luU2NyaXB0T2Jq
ZWN0ID0gbV9lbGVtZW50LT5nZXROUE9iamVjdCgpOwotCi0gICAgICAgIC8vIFJldHVybiB2YWx1
ZSBpcyBleHBlY3RlZCB0byBiZSByZXRhaW5lZCwgYXMgZGVzY3JpYmVkIGhlcmU6IDxodHRwOi8v
d3d3Lm1vemlsbGEub3JnL3Byb2plY3RzL3BsdWdpbi9ucHJ1bnRpbWUuaHRtbD4KLSAgICAgICAg
aWYgKHBsdWdpblNjcmlwdE9iamVjdCkKLSAgICAgICAgICAgIF9OUE5fUmV0YWluT2JqZWN0KHBs
dWdpblNjcmlwdE9iamVjdCk7CisgICAgICAgIGlmICghbV9lbGVtZW50TlBPYmplY3QpIHsKKyAg
ICAgICAgICAgIEZyYW1lKiBmcmFtZSA9IGdldEZyYW1lKHBhcmVudEZyYW1lKCksIG1fZWxlbWVu
dCk7CisgICAgICAgICAgICBpZiAoIWZyYW1lKQorICAgICAgICAgICAgICAgIHJldHVybiBOUEVS
Ul9HRU5FUklDX0VSUk9SOworCisgICAgICAgICAgICBKU0M6OkpTT2JqZWN0KiBvYmplY3QgPSBm
cmFtZS0+c2NyaXB0KCkuanNPYmplY3RGb3JQbHVnaW5FbGVtZW50KG1fZWxlbWVudCk7CisgICAg
ICAgICAgICBpZiAoIW9iamVjdCkKKyAgICAgICAgICAgICAgICBtX2VsZW1lbnROUE9iamVjdCA9
IF9OUE5fQ3JlYXRlTm9TY3JpcHRPYmplY3QoKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgICAgICBtX2VsZW1lbnROUE9iamVjdCA9IF9OUE5fQ3JlYXRlU2NyaXB0T2JqZWN0KDAsIG9i
amVjdCwgZnJhbWUtPnNjcmlwdCgpLmJpbmRpbmdSb290T2JqZWN0KCkpOworICAgICAgICB9CiAK
LSAgICAgICAgdm9pZCoqIHYgPSAodm9pZCoqKXZhbHVlOwotICAgICAgICAqdiA9IHBsdWdpblNj
cmlwdE9iamVjdDsKKyAgICAgICAgLy8gUmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkIHRvIGJlIHJl
dGFpbmVkLCBhcyBkZXNjcmliZWQgaGVyZTogPGh0dHA6Ly93d3cubW96aWxsYS5vcmcvcHJvamVj
dHMvcGx1Z2lucy9ucHJ1bnRpbWUuaHRtbCNicm93c2VyYWNjZXNzPgorICAgICAgICBpZiAobV9l
bGVtZW50TlBPYmplY3QpCisgICAgICAgICAgICBfTlBOX1JldGFpbk9iamVjdChtX2VsZW1lbnRO
UE9iamVjdCk7CiAKKyAgICAgICAgKih2b2lkICoqKXZhbHVlID0gbV9lbGVtZW50TlBPYmplY3Q7
CiAgICAgICAgIHJldHVybiBOUEVSUl9OT19FUlJPUjsKICAgICB9CiAKQEAgLTEyNTIsMTQgKzEy
NzAsNiBAQCBOUEVycm9yIFBsdWdpblZpZXc6OmdldFZhbHVlKE5QTlZhcmlhYmxlIHZhcmlhYmxl
LCB2b2lkKiB2YWx1ZSkKICAgICB9CiB9CiAKLXN0YXRpYyBGcmFtZSogZ2V0RnJhbWUoRnJhbWUq
IHBhcmVudEZyYW1lLCBFbGVtZW50KiBlbGVtZW50KQotewotICAgIGlmIChwYXJlbnRGcmFtZSkK
LSAgICAgICAgcmV0dXJuIHBhcmVudEZyYW1lOwotICAgIAotICAgIHJldHVybiBlbGVtZW50LT5k
b2N1bWVudCgpLmZyYW1lKCk7Ci19Ci0KIE5QRXJyb3IgUGx1Z2luVmlldzo6Z2V0VmFsdWVGb3JV
UkwoTlBOVVJMVmFyaWFibGUgdmFyaWFibGUsIGNvbnN0IGNoYXIqIHVybCwgY2hhcioqIHZhbHVl
LCB1aW50MzJfdCogbGVuKQogewogICAgIExPRyhQbHVnaW5zLCAiUGx1Z2luVmlldzo6Z2V0VmFs
dWVGb3JVUkwoJXMpIiwgcHJldHR5TmFtZUZvck5QTlVSTFZhcmlhYmxlKHZhcmlhYmxlKS5kYXRh
KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3Lmgg
Yi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXcuaAppbmRleCA2OWNiMDEzYTA0
NmYxM2U1MzllYWJkNDc2YjU3ZjVhZGUzYTA3OWEwLi42MDZiYTA1MDhlODA0MDBlYTE1M2RlNTMz
NzY0M2E5OTYwOWNhOTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1Bs
dWdpblZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXcuaApA
QCAtMzEwLDYgKzMxMCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgTlBXaW5kb3cg
bV9ucFdpbmRvdzsKICNlbmRpZgogCisgICAgICAgIE5QT2JqZWN0KiBtX2VsZW1lbnROUE9iamVj
dDsKKwogICAgICAgICBWZWN0b3I8Ym9vbCwgND4gbV9wb3B1cFN0YXRlU3RhY2s7CiAKICAgICAg
ICAgSGFzaFNldDxSZWZQdHI8UGx1Z2luU3RyZWFtPiA+IG1fc3RyZWFtczsK
</data>
<flag name="review"
          id="309932"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>