<?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>152730</bug_id>
          
          <creation_ts>2016-01-05 06:52:31 -0800</creation_ts>
          <short_desc>Move StyleChange enum into a separate file</short_desc>
          <delta_ts>2016-01-05 08:11:23 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</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="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1152703</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-01-05 06:52:31 -0800</bug_when>
    <thetext>Less whole world rebuilds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1152714</commentid>
    <comment_count>1</comment_count>
      <attachid>268278</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-01-05 07:42:51 -0800</bug_when>
    <thetext>Created attachment 268278
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1152715</commentid>
    <comment_count>2</comment_count>
      <attachid>268278</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2016-01-05 07:45:24 -0800</bug_when>
    <thetext>Comment on attachment 268278
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1152716</commentid>
    <comment_count>3</comment_count>
      <attachid>268279</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-01-05 07:54:35 -0800</bug_when>
    <thetext>Created attachment 268279
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1152719</commentid>
    <comment_count>4</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-01-05 08:11:23 -0800</bug_when>
    <thetext>https://trac.webkit.org/r194584</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268278</attachid>
            <date>2016-01-05 07:42:51 -0800</date>
            <delta_ts>2016-01-05 07:54:35 -0800</delta_ts>
            <desc>patch</desc>
            <filename>stylechange.patch</filename>
            <type>text/plain</type>
            <size>21724</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5NDU4MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE2LTAxLTA1ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIFN0eWxlQ2hhbmdlIGVu
dW0gaW50byBhIHNlcGFyYXRlIGZpbGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1MjczMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEZld2VyIHdob2xlLXdvcmxkIHJlYnVpbGRzLgorCisgICAgICAgICog
Q01ha2VMaXN0cy50eHQ6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
ajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogZG9tL0NoYXJhY3RlckRhdGEuY3BwOgorICAgICAgICAqIGRvbS9Db250YWluZXJOb2RlLmNw
cDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5o
OgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgor
ICAgICAgICAqIHN0eWxlL1N0eWxlQ2hhbmdlLmg6IEFkZGVkLgorICAgICAgICAqIHN0eWxlL1N0
eWxlUmVzb2x2ZVRyZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OnNob3VsZENyZWF0
ZVJlbmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpkZXRlcm1pbmVDaGFuZ2UpOiBE
ZWxldGVkLgorICAgICAgICAqIHN0eWxlL1N0eWxlUmVzb2x2ZVRyZWUuaDoKKwogMjAxNi0wMS0w
NCAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1BlcmZv
cm1hbmNlVGltaW5nXSBEb24ndCBleHBvc2UgdGhlIHJlc3RyaWN0ZWRLZXlNYXAoKSBIYXNoTWFw
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMTk0NTI3KQorKysgU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTI2MDIsNiArMjYwMiw3IEBA
IHNldChXZWJDb3JlX1NPVVJDRVMKIAogICAgIHN0eWxlL0lubGluZVRleHRCb3hTdHlsZS5jcHAK
ICAgICBzdHlsZS9SZW5kZXJUcmVlUG9zaXRpb24uY3BwCisgICAgc3R5bGUvU3R5bGVDaGFuZ2Uu
Y3BwCiAgICAgc3R5bGUvU3R5bGVGb250U2l6ZUZ1bmN0aW9ucy5jcHAKICAgICBzdHlsZS9TdHls
ZVJlc29sdmVGb3JEb2N1bWVudC5jcHAKICAgICBzdHlsZS9TdHlsZVJlc29sdmVUcmVlLmNwcApJ
bmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvago9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9q
CShyZXZpc2lvbiAxOTQ1MjcpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2Vi
Q29yZS52Y3hwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xOTE5OSw2ICsxOTE5OSw3IEBACiAgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlxzdG9yYWdlXFN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlci5j
cHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxzdHlsZVxJbmxpbmVUZXh0Qm94U3R5
bGUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cc3R5bGVcUmVuZGVyVHJlZVBv
c2l0aW9uLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHN0eWxlXFN0eWxlQ2hh
bmdlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHN0eWxlXFN0eWxlRm9udFNp
emVGdW5jdGlvbnMuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cc3R5bGVcU3R5
bGVSZXNvbHZlRm9yRG9jdW1lbnQuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
c3R5bGVcU3R5bGVSZXNvbHZlVHJlZS5jcHAiIC8+CkBAIC0yMjc2Miw2ICsyMjc2Myw3IEBACiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdG9yYWdlXFN0b3JhZ2VOYW1lc3BhY2VQcm92aWRl
ci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cc3R5bGVcSW5saW5lVGV4dEJveFN0
eWxlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdHlsZVxSZW5kZXJUcmVlUG9z
aXRpb24uaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN0eWxlXFN0eWxlQ2hhbmdl
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdHlsZVxTdHlsZUZvbnRTaXplRnVu
Y3Rpb25zLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdHlsZVxTdHlsZVJlc29s
dmVGb3JEb2N1bWVudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cc3R5bGVcU3R5
bGVSZXNvbHZlVHJlZS5oIiAvPgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTk0NTI3KQorKysgU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBA
IC02NDYxLDYgKzY0NjEsOCBAQAogCQlFMzg4Mzg5ODFCQUQxNDVGMDBENjJFRTMgLyogSlNNb2R1
bGVMb2FkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTM4ODM4OTQxQkFEMTQ1RjAwRDYyRUUzIC8qIEpTTW9kdWxlTG9hZGVyLmNwcCAqLzsgfTsK
IAkJRTM4ODM4OTkxQkFEMTQ1RjAwRDYyRUUzIC8qIEpTTW9kdWxlTG9hZGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzg4Mzg5NTFCQUQxNDVGMDBE
NjJFRTMgLyogSlNNb2R1bGVMb2FkZXIuaCAqLzsgfTsKIAkJRTQwMUMyNzUxN0NFNTNFQzAwQzQx
QTM1IC8qIEVsZW1lbnRJdGVyYXRvckFzc2VydGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0MDFDMjc0MTdDRTUzRUMwMEM0MUEzNSAvKiBFbGVt
ZW50SXRlcmF0b3JBc3NlcnRpb25zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJRTQwMUUwQTQxQzNDMEI4MzAwRjM0RDEwIC8qIFN0eWxlQ2hhbmdl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDAxRTBB
MzFDM0MwQjgzMDBGMzREMTAgLyogU3R5bGVDaGFuZ2UuaCAqLzsgfTsKKwkJRTQwMUUwQTYxQzND
MENGNzAwRjM0RDEwIC8qIFN0eWxlQ2hhbmdlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0MDFFMEE1MUMzQzBDRjcwMEYzNEQxMCAvKiBTdHlsZUNo
YW5nZS5jcHAgKi87IH07CiAJCUU0MjRBMzlFMTMzMERGMDEwMENGNkRDOSAvKiBMZWdhY3lUaWxl
R3JpZFRpbGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEU0MjRBMzlEMTMzMERGMDEwMENGNkRDOSAvKiBMZWdhY3lUaWxlR3JpZFRpbGUuaCAqLzsgfTsK
IAkJRTQyNEEzQTAxMzMwREYxRTAwQ0Y2REM5IC8qIExlZ2FjeVRpbGVHcmlkVGlsZS5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0MjRBMzlGMTMzMERG
MUUwMENGNkRDOSAvKiBMZWdhY3lUaWxlR3JpZFRpbGUubW0gKi87IH07CiAJCUU0MjVBNDlBMTgy
OTJCODQwMDIwQ0ZDRiAvKiBDb2xsZWN0aW9uSW5kZXhDYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQyNUE0OTkxODI5MkI4NDAwMjBDRkNGIC8q
IENvbGxlY3Rpb25JbmRleENhY2hlLmggKi87IH07CkBAIC0xNDM2NCw2ICsxNDM2Niw4IEBACiAJ
CUUzODgzODk0MUJBRDE0NUYwMEQ2MkVFMyAvKiBKU01vZHVsZUxvYWRlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01vZHVsZUxvYWRlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzODgzODk1MUJBRDE0NUYwMEQ2MkVFMyAvKiBKU01vZHVs
ZUxvYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU01vZHVsZUxvYWRl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDAxQzI3NDE3Q0U1M0VDMDBDNDFB
MzUgLyogRWxlbWVudEl0ZXJhdG9yQXNzZXJ0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBFbGVtZW50SXRlcmF0b3JBc3NlcnRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUU0MDFFMEEzMUMzQzBCODMwMEYzNEQxMCAvKiBTdHlsZUNoYW5nZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHlsZUNoYW5nZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlFNDAxRTBBNTFDM0MwQ0Y3MDBGMzREMTAgLyogU3R5bGVDaGFu
Z2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3R5bGVDaGFuZ2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDA2RjNGQjExOTgzMDdEMDA5RDU5
RDYgLyogQ29sb3JEYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IENvbG9yRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0MUVBMDM4MTE5
ODM2REIwMDcxMEJDNSAvKiBDU1NQcm9wZXJ0eU5hbWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IENTU1Byb3BlcnR5TmFtZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlFNDFFQTAzOTExOTgzNzQ5MDA3MTBCQzUgLyogQ1NTVmFsdWVLZXl3b3Jk
cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NWYWx1ZUtleXdv
cmRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIzMTEwLDYgKzIzMTE0LDgg
QEAKIAkJCQkxQzAxMDZGRjE5MjU5NERGMDA4QTQyMDEgLyogSW5saW5lVGV4dEJveFN0eWxlLmgg
Ki8sCiAJCQkJNTgyNEFCQTgxQUU4NDlDODAwOTA3NEI3IC8qIFJlbmRlclRyZWVQb3NpdGlvbi5j
cHAgKi8sCiAJCQkJNTgyNEFCQTkxQUU4NDlDODAwOTA3NEI3IC8qIFJlbmRlclRyZWVQb3NpdGlv
bi5oICovLAorCQkJCUU0MDFFMEE1MUMzQzBDRjcwMEYzNEQxMCAvKiBTdHlsZUNoYW5nZS5jcHAg
Ki8sCisJCQkJRTQwMUUwQTMxQzNDMEI4MzAwRjM0RDEwIC8qIFN0eWxlQ2hhbmdlLmggKi8sCiAJ
CQkJRTRENThFQjYxN0I0RUQ4OTAwQ0JEQ0E4IC8qIFN0eWxlRm9udFNpemVGdW5jdGlvbnMuY3Bw
ICovLAogCQkJCUU0RDU4RUI3MTdCNEVEODkwMENCRENBOCAvKiBTdHlsZUZvbnRTaXplRnVuY3Rp
b25zLmggKi8sCiAJCQkJRTRENThFQjIxN0I0REJEQzAwQ0JEQ0E4IC8qIFN0eWxlUmVzb2x2ZUZv
ckRvY3VtZW50LmNwcCAqLywKQEAgLTI4MDEyLDYgKzI4MDE4LDcgQEAKIAkJCQlBNUU2MTY3NDE4
OTQ1ODFGMDA5QURGNTAgLyogV2ViRGVidWdnZXJBZ2VudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RkUwRDg0RTkxMDQ4NDM0ODAwMUExNzlFIC8qIFdlYkV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQkyMjVBMTZCNTBENUMxMUU5MDAwOTAyOTUgLyogV2ViRXZlbnRSZWdpb24uaCBpbiBIZWFkZXJz
ICovLAorCQkJCUU0MDFFMEE0MUMzQzBCODMwMEYzNEQxMCAvKiBTdHlsZUNoYW5nZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTE5RDkzNDcxQTlGRUM3MjAwQjQ2QzI0IC8qIFdlYkZpbHRlckV2YWx1
YXRvclNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDNGM0QzNkUxQTY5QjdFMDAwNTlGQzJCIC8q
IFdlYkdMMlJlbmRlcmluZ0NvbnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3RDIwRjZEMTA3
RjQzOEIwMEE4MDM5MiAvKiBXZWJHTEFjdGl2ZUluZm8uaCBpbiBIZWFkZXJzICovLApAQCAtMjkw
NTEsNiArMjkwNTgsNyBAQAogCQkJCTg1NTI2QzM4MEFCMEExN0UwMDAzMDJFQSAvKiBET01Ob2Rl
SXRlcmF0b3IubW0gaW4gU291cmNlcyAqLywKIAkJCQk4NUFDQUE4RTBBOUI3NTlDMDA2NzFFOTAg
LyogRE9NTm9kZUxpc3QubW0gaW4gU291cmNlcyAqLywKIAkJCQk4NTZDOEFFNTBBOTEyNjQ5MDA1
QzY4N0IgLyogRE9NT2JqZWN0Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJRTQwMUUwQTYxQzNDMENG
NzAwRjM0RDEwIC8qIFN0eWxlQ2hhbmdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg1QzdGNUQx
MEFBRkI4RDkwMDQwMTRERCAvKiBET01PdmVyZmxvd0V2ZW50Lm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJRTEyODRCRDUxMDQ0QTAxRTAwRUFFQjUyIC8qIERPTVBhZ2VUcmFuc2l0aW9uRXZlbnQubW0g
aW4gU291cmNlcyAqLywKIAkJCQkxQUNFNTNFNzBBOEQxOEU3MDAyMjk0N0QgLyogRE9NUGFyc2Vy
LmNwcCBpbiBTb3VyY2VzICovLApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRh
dGEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0ZXJEYXRhLmNw
cAkocmV2aXNpb24gMTk0NTI3KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiUHJvY2Vzc2lu
Z0luc3RydWN0aW9uLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGV4dC5oIgogI2luY2x1ZGUgIlN0eWxl
SW5oZXJpdGVkRGF0YS5oIgorI2luY2x1ZGUgIlN0eWxlUmVzb2x2ZVRyZWUuaCIKICNpbmNsdWRl
ICJUZXh0QnJlYWtJdGVyYXRvci5oIgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KIApJbmRleDogU291
cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcAkocmV2aXNpb24gMTk0NTI3KQorKysgU291cmNl
L1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NCw2ICs1
NCw3IEBACiAjaW5jbHVkZSAiU1ZHRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR05hbWVzLmgiCiAj
aW5jbHVkZSAiU2VsZWN0b3JRdWVyeS5oIgorI2luY2x1ZGUgIlN0eWxlUmVzb2x2ZVRyZWUuaCIK
ICNpbmNsdWRlICJUZW1wbGF0ZUNvbnRlbnREb2N1bWVudEZyYWdtZW50LmgiCiAjaW5jbHVkZSA8
YWxnb3JpdGhtPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgpJbmRleDogU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCShyZXZpc2lvbiAxOTQ1MjcpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTQsNiArMTU0LDcgQEAKICNpbmNsdWRlICJT
aGFkb3dSb290LmgiCiAjaW5jbHVkZSAiU3RvcmFnZUV2ZW50LmgiCiAjaW5jbHVkZSAiU3R5bGVQ
cm9wZXJ0aWVzLmgiCisjaW5jbHVkZSAiU3R5bGVSZXNvbHZlVHJlZS5oIgogI2luY2x1ZGUgIlN0
eWxlUmVzb2x2ZXIuaCIKICNpbmNsdWRlICJTdHlsZVNoZWV0Q29udGVudHMuaCIKICNpbmNsdWRl
ICJTdHlsZVNoZWV0TGlzdC5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHJldmlzaW9uIDE5
NDUyNykKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC00NSw3ICs0NSw3IEBACiAjaW5jbHVkZSAiUmVuZGVyUHRyLmgiCiAjaW5jbHVkZSAiU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIlN0cmluZ1dpdGhEaXJlY3Rpb24uaCIKLSNp
bmNsdWRlICJTdHlsZVJlc29sdmVUcmVlLmgiCisjaW5jbHVkZSAiU3R5bGVDaGFuZ2UuaCIKICNp
bmNsdWRlICJUZXh0UmVzb3VyY2VEZWNvZGVyLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNs
dWRlICJUcmVlU2NvcGUuaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAJKHJldmlzaW9uIDE5
NDUyNykKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNzcsNiArNzcsNyBAQAogI2luY2x1ZGUgIlNlbGVjdG9yUXVlcnkuaCIKICNpbmNsdWRlICJT
ZXR0aW5ncy5oIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydGllcy5oIgorI2luY2x1ZGUgIlN0eWxl
UmVzb2x2ZVRyZWUuaCIKICNpbmNsdWRlICJTdHlsZVJlc29sdmVyLmgiCiAjaW5jbHVkZSAiVGV4
dEl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiVm9pZENhbGxiYWNrLmgiCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmgJKHJldmlzaW9uIDE5NDUyNykKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlICJSZWdpb25PdmVyc2V0
U3RhdGUuaCIKICNpbmNsdWRlICJTY3JvbGxUeXBlcy5oIgogI2luY2x1ZGUgIlNpbXVsYXRlZENs
aWNrT3B0aW9ucy5oIgotI2luY2x1ZGUgIlN0eWxlUmVzb2x2ZVRyZWUuaCIKKyNpbmNsdWRlICJT
dHlsZUNoYW5nZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAkocmV2aXNpb24gMTk0NTI3
KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIkhUTUxUZXh0QXJlYUVsZW1l
bnQuaCIKICNpbmNsdWRlICJSZW5kZXJCb3guaCIKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgor
I2luY2x1ZGUgIlN0eWxlUmVzb2x2ZVRyZWUuaCIKICNpbmNsdWRlICJWYWxpZGF0aW9uTWVzc2Fn
ZS5oIgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWYu
aD4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lT3duZXJFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZU93bmVyRWxlbWVudC5j
cHAJKHJldmlzaW9uIDE5NDUyNykKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lT3du
ZXJFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUg
IlJlbmRlcldpZGdldC5oIgogI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKICNpbmNsdWRlICJTVkdE
b2N1bWVudC5oIgorI2luY2x1ZGUgIlN0eWxlUmVzb2x2ZVRyZWUuaCIKICNpbmNsdWRlIDx3dGYv
UmVmLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcAkocmV2aXNpb24gMTk0NTI3KQorKysgU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDgsNiArNDgsNyBAQAogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVk
ZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJTaGFkb3dSb290LmgiCisjaW5jbHVkZSAiU3R5bGVS
ZXNvbHZlVHJlZS5oIgogI2luY2x1ZGUgIlN0eWxlUmVzb2x2ZXIuaCIKICNpbmNsdWRlICJTdWJm
cmFtZUxvYWRlci5oIgogI2luY2x1ZGUgIlR5cGVkRWxlbWVudERlc2NlbmRhbnRJdGVyYXRvci5o
IgpJbmRleDogU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFNlbGVjdEVsZW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxTZWxlY3RFbGVtZW50LmNw
cAkocmV2aXNpb24gMTk0NTI3KQorKysgU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFNlbGVj
dEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAi
UmVuZGVyTWF0aE1MUm93LmgiCiAjaW5jbHVkZSAiU1ZHRWxlbWVudC5oIgogI2luY2x1ZGUgIlNW
R05hbWVzLmgiCisjaW5jbHVkZSAiU3R5bGVSZXNvbHZlVHJlZS5oIgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQ2hhbmdlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUNoYW5nZS5jcHAJKHJldmlzaW9u
IDApCisrKyBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUNoYW5nZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw5MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNiBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJTdHlsZUNoYW5n
ZS5oIgorCisjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
bmFtZXNwYWNlIFN0eWxlIHsKKworQ2hhbmdlIGRldGVybWluZUNoYW5nZShjb25zdCBSZW5kZXJT
dHlsZSYgczEsIGNvbnN0IFJlbmRlclN0eWxlJiBzMikKK3sKKyAgICBpZiAoczEuZGlzcGxheSgp
ICE9IHMyLmRpc3BsYXkoKSkKKyAgICAgICAgcmV0dXJuIERldGFjaDsKKyAgICBpZiAoczEuaGFz
UHNldWRvU3R5bGUoRklSU1RfTEVUVEVSKSAhPSBzMi5oYXNQc2V1ZG9TdHlsZShGSVJTVF9MRVRU
RVIpKQorICAgICAgICByZXR1cm4gRGV0YWNoOworICAgIC8vIFdlIGp1c3QgZGV0YWNoIGlmIGEg
cmVuZGVyZXIgYWNxdWlyZXMgb3IgbG9zZXMgYSBjb2x1bW4tc3Bhbiwgc2luY2Ugc3Bhbm5pbmcg
ZWxlbWVudHMKKyAgICAvLyB0eXBpY2FsbHkgd29uJ3QgY29udGFpbiBtdWNoIGNvbnRlbnQuCisg
ICAgaWYgKHMxLmNvbHVtblNwYW4oKSAhPSBzMi5jb2x1bW5TcGFuKCkpCisgICAgICAgIHJldHVy
biBEZXRhY2g7CisgICAgaWYgKCFzMS5jb250ZW50RGF0YUVxdWl2YWxlbnQoJnMyKSkKKyAgICAg
ICAgcmV0dXJuIERldGFjaDsKKyAgICAvLyBXaGVuIHRleHQtY29tYmluZSBwcm9wZXJ0eSBoYXMg
YmVlbiBjaGFuZ2VkLCB3ZSBuZWVkIHRvIHByZXBhcmUgYSBzZXBhcmF0ZSByZW5kZXJlciBvYmpl
Y3QuCisgICAgLy8gV2hlbiB0ZXh0LWNvbWJpbmUgaXMgb24sIHdlIHVzZSBSZW5kZXJDb21iaW5l
VGV4dCwgb3RoZXJ3aXNlIFJlbmRlclRleHQuCisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTU1MDY5CisgICAgaWYgKHMxLmhhc1RleHRDb21iaW5lKCkgIT0g
czIuaGFzVGV4dENvbWJpbmUoKSkKKyAgICAgICAgcmV0dXJuIERldGFjaDsKKyAgICAvLyBXZSBu
ZWVkIHRvIHJlYXR0YWNoIHRoZSBub2RlLCBzbyB0aGF0IGl0IGlzIG1vdmVkIHRvIHRoZSBjb3Jy
ZWN0IFJlbmRlckZsb3dUaHJlYWQuCisgICAgaWYgKHMxLmZsb3dUaHJlYWQoKSAhPSBzMi5mbG93
VGhyZWFkKCkpCisgICAgICAgIHJldHVybiBEZXRhY2g7CisgICAgLy8gV2hlbiB0aGUgcmVnaW9u
IHRocmVhZCBoYXMgY2hhbmdlZCwgd2UgbmVlZCB0byBwcmVwYXJlIGEgc2VwYXJhdGUgcmVuZGVy
IHJlZ2lvbiBvYmplY3QuCisgICAgaWYgKHMxLnJlZ2lvblRocmVhZCgpICE9IHMyLnJlZ2lvblRo
cmVhZCgpKQorICAgICAgICByZXR1cm4gRGV0YWNoOworICAgIC8vIEZJWE1FOiBNdWx0aWNvbHVt
biByZWdpb25zIG5vdCB5ZXQgc3VwcG9ydGVkIChodHRwOi8vZGV2LnczLm9yZy9jc3N3Zy9jc3Mt
cmVnaW9ucy8jbXVsdGktY29sdW1uLXJlZ2lvbnMpCisgICAgLy8gV2hlbiB0aGUgbm9kZSBoYXMg
cmVnaW9uIHN0eWxlIGFuZCBjaGFuZ2VkIGl0cyBtdWx0aWNvbCBzdHlsZSwgd2UgaGF2ZSB0byBw
cmVwYXJlCisgICAgLy8gYSBzZXBhcmF0ZSByZW5kZXIgcmVnaW9uIG9iamVjdC4KKyAgICBpZiAo
czEuaGFzRmxvd0Zyb20oKSAmJiAoczEuc3BlY2lmaWVzQ29sdW1ucygpICE9IHMyLnNwZWNpZmll
c0NvbHVtbnMoKSkpCisgICAgICAgIHJldHVybiBEZXRhY2g7CisKKyAgICBpZiAoczEgIT0gczIp
IHsKKyAgICAgICAgaWYgKHMxLmluaGVyaXRlZE5vdEVxdWFsKCZzMikpCisgICAgICAgICAgICBy
ZXR1cm4gSW5oZXJpdDsKKyAgICAgICAgaWYgKHMxLmhhc0V4cGxpY2l0bHlJbmhlcml0ZWRQcm9w
ZXJ0aWVzKCkgfHwgczIuaGFzRXhwbGljaXRseUluaGVyaXRlZFByb3BlcnRpZXMoKSkKKyAgICAg
ICAgICAgIHJldHVybiBJbmhlcml0OworCisgICAgICAgIHJldHVybiBOb0luaGVyaXQ7CisgICAg
fQorICAgIC8vIElmIHRoZSBwc2V1ZG9TdHlsZXMgaGF2ZSBjaGFuZ2VkLCB3ZSB3YW50IGFueSBT
dHlsZUNoYW5nZSB0aGF0IGlzIG5vdCBOb0NoYW5nZQorICAgIC8vIGJlY2F1c2Ugc2V0U3R5bGUg
d2lsbCBkbyB0aGUgcmlnaHQgdGhpbmcgd2l0aCBhbnl0aGluZyBlbHNlLgorICAgIGlmIChzMS5o
YXNBbnlQdWJsaWNQc2V1ZG9TdHlsZXMoKSkgeworICAgICAgICBmb3IgKFBzZXVkb0lkIHBzZXVk
b0lkID0gRklSU1RfUFVCTElDX1BTRVVET0lEOyBwc2V1ZG9JZCA8IEZJUlNUX0lOVEVSTkFMX1BT
RVVET0lEOyBwc2V1ZG9JZCA9IHN0YXRpY19jYXN0PFBzZXVkb0lkPihwc2V1ZG9JZCArIDEpKSB7
CisgICAgICAgICAgICBpZiAoczEuaGFzUHNldWRvU3R5bGUocHNldWRvSWQpKSB7CisgICAgICAg
ICAgICAgICAgUmVuZGVyU3R5bGUqIHBzMiA9IHMyLmdldENhY2hlZFBzZXVkb1N0eWxlKHBzZXVk
b0lkKTsKKyAgICAgICAgICAgICAgICBpZiAoIXBzMikKKyAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIE5vSW5oZXJpdDsKKyAgICAgICAgICAgICAgICBSZW5kZXJTdHlsZSogcHMxID0gczEuZ2V0
Q2FjaGVkUHNldWRvU3R5bGUocHNldWRvSWQpOworICAgICAgICAgICAgICAgIGlmICghcHMxIHx8
ICpwczEgIT0gKnBzMikKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5vSW5oZXJpdDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBOb0NoYW5nZTsKK30K
KworfQorfQpJbmRleDogU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVDaGFuZ2UuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUNoYW5nZS5oCShyZXZpc2lvbiAwKQor
KysgU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVDaGFuZ2UuaAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE2IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2lmbmRlZiBTdHlsZUNoYW5nZV9oCisjZGVmaW5lIFN0eWxlQ2hhbmdlX2gKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBSZW5kZXJTdHlsZTsKKworbmFtZXNwYWNlIFN0
eWxlIHsKKworZW51bSBDaGFuZ2UgeyBOb0NoYW5nZSwgTm9Jbmhlcml0LCBJbmhlcml0LCBEZXRh
Y2gsIEZvcmNlIH07CisKK0NoYW5nZSBkZXRlcm1pbmVDaGFuZ2UoY29uc3QgUmVuZGVyU3R5bGUm
LCBjb25zdCBSZW5kZXJTdHlsZSYpOworCit9Cit9CisKKyNlbmRpZgpJbmRleDogU291cmNlL1dl
YkNvcmUvc3R5bGUvU3R5bGVSZXNvbHZlVHJlZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvc3R5bGUvU3R5bGVSZXNvbHZlVHJlZS5jcHAJKHJldmlzaW9uIDE5NDUyNykKKysrIFNv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlUmVzb2x2ZVRyZWUuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC03MCw2MSArNzAsNiBAQCBzdGF0aWMgdm9pZCBkZXRhY2hSZW5kZXJUcmVlKEVsZW1lbnQmLCBE
CiBzdGF0aWMgdm9pZCByZXNvbHZlVGV4dE5vZGUoVGV4dCYsIFJlbmRlclRyZWVQb3NpdGlvbiYp
Owogc3RhdGljIHZvaWQgcmVzb2x2ZVRyZWUoRWxlbWVudCYsIFJlbmRlclN0eWxlJiBpbmhlcml0
ZWRTdHlsZSwgUmVuZGVyVHJlZVBvc2l0aW9uJiwgQ2hhbmdlKTsKIAotQ2hhbmdlIGRldGVybWlu
ZUNoYW5nZShjb25zdCBSZW5kZXJTdHlsZSYgczEsIGNvbnN0IFJlbmRlclN0eWxlJiBzMikKLXsK
LSAgICBpZiAoczEuZGlzcGxheSgpICE9IHMyLmRpc3BsYXkoKSkKLSAgICAgICAgcmV0dXJuIERl
dGFjaDsKLSAgICBpZiAoczEuaGFzUHNldWRvU3R5bGUoRklSU1RfTEVUVEVSKSAhPSBzMi5oYXNQ
c2V1ZG9TdHlsZShGSVJTVF9MRVRURVIpKQotICAgICAgICByZXR1cm4gRGV0YWNoOwotICAgIC8v
IFdlIGp1c3QgZGV0YWNoIGlmIGEgcmVuZGVyZXIgYWNxdWlyZXMgb3IgbG9zZXMgYSBjb2x1bW4t
c3Bhbiwgc2luY2Ugc3Bhbm5pbmcgZWxlbWVudHMKLSAgICAvLyB0eXBpY2FsbHkgd29uJ3QgY29u
dGFpbiBtdWNoIGNvbnRlbnQuCi0gICAgaWYgKHMxLmNvbHVtblNwYW4oKSAhPSBzMi5jb2x1bW5T
cGFuKCkpCi0gICAgICAgIHJldHVybiBEZXRhY2g7Ci0gICAgaWYgKCFzMS5jb250ZW50RGF0YUVx
dWl2YWxlbnQoJnMyKSkKLSAgICAgICAgcmV0dXJuIERldGFjaDsKLSAgICAvLyBXaGVuIHRleHQt
Y29tYmluZSBwcm9wZXJ0eSBoYXMgYmVlbiBjaGFuZ2VkLCB3ZSBuZWVkIHRvIHByZXBhcmUgYSBz
ZXBhcmF0ZSByZW5kZXJlciBvYmplY3QuCi0gICAgLy8gV2hlbiB0ZXh0LWNvbWJpbmUgaXMgb24s
IHdlIHVzZSBSZW5kZXJDb21iaW5lVGV4dCwgb3RoZXJ3aXNlIFJlbmRlclRleHQuCi0gICAgLy8g
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1MDY5Ci0gICAgaWYgKHMx
Lmhhc1RleHRDb21iaW5lKCkgIT0gczIuaGFzVGV4dENvbWJpbmUoKSkKLSAgICAgICAgcmV0dXJu
IERldGFjaDsKLSAgICAvLyBXZSBuZWVkIHRvIHJlYXR0YWNoIHRoZSBub2RlLCBzbyB0aGF0IGl0
IGlzIG1vdmVkIHRvIHRoZSBjb3JyZWN0IFJlbmRlckZsb3dUaHJlYWQuCi0gICAgaWYgKHMxLmZs
b3dUaHJlYWQoKSAhPSBzMi5mbG93VGhyZWFkKCkpCi0gICAgICAgIHJldHVybiBEZXRhY2g7Ci0g
ICAgLy8gV2hlbiB0aGUgcmVnaW9uIHRocmVhZCBoYXMgY2hhbmdlZCwgd2UgbmVlZCB0byBwcmVw
YXJlIGEgc2VwYXJhdGUgcmVuZGVyIHJlZ2lvbiBvYmplY3QuCi0gICAgaWYgKHMxLnJlZ2lvblRo
cmVhZCgpICE9IHMyLnJlZ2lvblRocmVhZCgpKQotICAgICAgICByZXR1cm4gRGV0YWNoOwotICAg
IC8vIEZJWE1FOiBNdWx0aWNvbHVtbiByZWdpb25zIG5vdCB5ZXQgc3VwcG9ydGVkIChodHRwOi8v
ZGV2LnczLm9yZy9jc3N3Zy9jc3MtcmVnaW9ucy8jbXVsdGktY29sdW1uLXJlZ2lvbnMpCi0gICAg
Ly8gV2hlbiB0aGUgbm9kZSBoYXMgcmVnaW9uIHN0eWxlIGFuZCBjaGFuZ2VkIGl0cyBtdWx0aWNv
bCBzdHlsZSwgd2UgaGF2ZSB0byBwcmVwYXJlCi0gICAgLy8gYSBzZXBhcmF0ZSByZW5kZXIgcmVn
aW9uIG9iamVjdC4KLSAgICBpZiAoczEuaGFzRmxvd0Zyb20oKSAmJiAoczEuc3BlY2lmaWVzQ29s
dW1ucygpICE9IHMyLnNwZWNpZmllc0NvbHVtbnMoKSkpCi0gICAgICAgIHJldHVybiBEZXRhY2g7
Ci0KLSAgICBpZiAoczEgIT0gczIpIHsKLSAgICAgICAgaWYgKHMxLmluaGVyaXRlZE5vdEVxdWFs
KCZzMikpCi0gICAgICAgICAgICByZXR1cm4gSW5oZXJpdDsKLSAgICAgICAgaWYgKHMxLmhhc0V4
cGxpY2l0bHlJbmhlcml0ZWRQcm9wZXJ0aWVzKCkgfHwgczIuaGFzRXhwbGljaXRseUluaGVyaXRl
ZFByb3BlcnRpZXMoKSkKLSAgICAgICAgICAgIHJldHVybiBJbmhlcml0OwotCi0gICAgICAgIHJl
dHVybiBOb0luaGVyaXQ7Ci0gICAgfQotICAgIC8vIElmIHRoZSBwc2V1ZG9TdHlsZXMgaGF2ZSBj
aGFuZ2VkLCB3ZSB3YW50IGFueSBTdHlsZUNoYW5nZSB0aGF0IGlzIG5vdCBOb0NoYW5nZQotICAg
IC8vIGJlY2F1c2Ugc2V0U3R5bGUgd2lsbCBkbyB0aGUgcmlnaHQgdGhpbmcgd2l0aCBhbnl0aGlu
ZyBlbHNlLgotICAgIGlmIChzMS5oYXNBbnlQdWJsaWNQc2V1ZG9TdHlsZXMoKSkgewotICAgICAg
ICBmb3IgKFBzZXVkb0lkIHBzZXVkb0lkID0gRklSU1RfUFVCTElDX1BTRVVET0lEOyBwc2V1ZG9J
ZCA8IEZJUlNUX0lOVEVSTkFMX1BTRVVET0lEOyBwc2V1ZG9JZCA9IHN0YXRpY19jYXN0PFBzZXVk
b0lkPihwc2V1ZG9JZCArIDEpKSB7Ci0gICAgICAgICAgICBpZiAoczEuaGFzUHNldWRvU3R5bGUo
cHNldWRvSWQpKSB7Ci0gICAgICAgICAgICAgICAgUmVuZGVyU3R5bGUqIHBzMiA9IHMyLmdldENh
Y2hlZFBzZXVkb1N0eWxlKHBzZXVkb0lkKTsKLSAgICAgICAgICAgICAgICBpZiAoIXBzMikKLSAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIE5vSW5oZXJpdDsKLSAgICAgICAgICAgICAgICBSZW5k
ZXJTdHlsZSogcHMxID0gczEuZ2V0Q2FjaGVkUHNldWRvU3R5bGUocHNldWRvSWQpOwotICAgICAg
ICAgICAgICAgIGlmICghcHMxIHx8ICpwczEgIT0gKnBzMikKLSAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIE5vSW5oZXJpdDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLQotICAg
IHJldHVybiBOb0NoYW5nZTsKLX0KLQogc3RhdGljIGJvb2wgc2hvdWxkQ3JlYXRlUmVuZGVyZXIo
Y29uc3QgRWxlbWVudCYgZWxlbWVudCwgY29uc3QgUmVuZGVyRWxlbWVudCYgcGFyZW50UmVuZGVy
ZXIpCiB7CiAgICAgaWYgKCFlbGVtZW50LmRvY3VtZW50KCkuc2hvdWxkQ3JlYXRlUmVuZGVyZXJz
KCkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVJlc29sdmVUcmVlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVSZXNvbHZlVHJlZS5oCShyZXZpc2lv
biAxOTQ1MjcpCisrKyBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVJlc29sdmVUcmVlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDcgQEAKICNpZm5kZWYgU3R5bGVSZXNvbHZlVHJlZV9o
CiAjZGVmaW5lIFN0eWxlUmVzb2x2ZVRyZWVfaAogCisjaW5jbHVkZSAiU3R5bGVDaGFuZ2UuaCIK
ICNpbmNsdWRlIDxmdW5jdGlvbmFsPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zOCw4ICsz
OSw2IEBAIGNsYXNzIFRleHQ7CiAKIG5hbWVzcGFjZSBTdHlsZSB7CiAKLWVudW0gQ2hhbmdlIHsg
Tm9DaGFuZ2UsIE5vSW5oZXJpdCwgSW5oZXJpdCwgRGV0YWNoLCBGb3JjZSB9OwotCiB2b2lkIHJl
c29sdmVUcmVlKERvY3VtZW50JiwgQ2hhbmdlKTsKIAogdm9pZCBkZXRhY2hSZW5kZXJUcmVlKEVs
ZW1lbnQmKTsKQEAgLTQ3LDggKzQ2LDYgQEAgdm9pZCBkZXRhY2hUZXh0UmVuZGVyZXIoVGV4dCYp
OwogCiB2b2lkIHVwZGF0ZVRleHRSZW5kZXJlckFmdGVyQ29udGVudENoYW5nZShUZXh0JiwgdW5z
aWduZWQgb2Zmc2V0T2ZSZXBsYWNlZERhdGEsIHVuc2lnbmVkIGxlbmd0aE9mUmVwbGFjZWREYXRh
KTsKIAotQ2hhbmdlIGRldGVybWluZUNoYW5nZShjb25zdCBSZW5kZXJTdHlsZSYsIGNvbnN0IFJl
bmRlclN0eWxlJik7Ci0KIHZvaWQgcXVldWVQb3N0UmVzb2x1dGlvbkNhbGxiYWNrKHN0ZDo6ZnVu
Y3Rpb248dm9pZCAoKT4pOwogYm9vbCBwb3N0UmVzb2x1dGlvbkNhbGxiYWNrc0FyZVN1c3BlbmRl
ZCgpOwogCg==
</data>
<flag name="review"
          id="293224"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268279</attachid>
            <date>2016-01-05 07:54:35 -0800</date>
            <delta_ts>2016-01-05 07:54:35 -0800</delta_ts>
            <desc>patch</desc>
            <filename>stylechange-2.patch</filename>
            <type>text/plain</type>
            <size>21765</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5NDU4MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE2LTAxLTA1ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIFN0eWxlQ2hhbmdlIGVu
dW0gaW50byBhIHNlcGFyYXRlIGZpbGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1MjczMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEZld2VyIHdob2xlLXdvcmxkIHJlYnVpbGRzLgorCisgICAgICAgICog
Q01ha2VMaXN0cy50eHQ6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
ajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogZG9tL0NoYXJhY3RlckRhdGEuY3BwOgorICAgICAgICAqIGRvbS9Db250YWluZXJOb2RlLmNw
cDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5o
OgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgor
ICAgICAgICAqIHN0eWxlL1N0eWxlQ2hhbmdlLmg6IEFkZGVkLgorICAgICAgICAqIHN0eWxlL1N0
eWxlUmVzb2x2ZVRyZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OnNob3VsZENyZWF0
ZVJlbmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpkZXRlcm1pbmVDaGFuZ2UpOiBE
ZWxldGVkLgorICAgICAgICAqIHN0eWxlL1N0eWxlUmVzb2x2ZVRyZWUuaDoKKwogMjAxNi0wMS0w
NCAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1BlcmZv
cm1hbmNlVGltaW5nXSBEb24ndCBleHBvc2UgdGhlIHJlc3RyaWN0ZWRLZXlNYXAoKSBIYXNoTWFw
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMTk0NTI3KQorKysgU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTI2MDIsNiArMjYwMiw3IEBA
IHNldChXZWJDb3JlX1NPVVJDRVMKIAogICAgIHN0eWxlL0lubGluZVRleHRCb3hTdHlsZS5jcHAK
ICAgICBzdHlsZS9SZW5kZXJUcmVlUG9zaXRpb24uY3BwCisgICAgc3R5bGUvU3R5bGVDaGFuZ2Uu
Y3BwCiAgICAgc3R5bGUvU3R5bGVGb250U2l6ZUZ1bmN0aW9ucy5jcHAKICAgICBzdHlsZS9TdHls
ZVJlc29sdmVGb3JEb2N1bWVudC5jcHAKICAgICBzdHlsZS9TdHlsZVJlc29sdmVUcmVlLmNwcApJ
bmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvago9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9q
CShyZXZpc2lvbiAxOTQ1MjcpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2Vi
Q29yZS52Y3hwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xOTE5OSw2ICsxOTE5OSw3IEBACiAgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlxzdG9yYWdlXFN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlci5j
cHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxzdHlsZVxJbmxpbmVUZXh0Qm94U3R5
bGUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cc3R5bGVcUmVuZGVyVHJlZVBv
c2l0aW9uLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHN0eWxlXFN0eWxlQ2hh
bmdlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHN0eWxlXFN0eWxlRm9udFNp
emVGdW5jdGlvbnMuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cc3R5bGVcU3R5
bGVSZXNvbHZlRm9yRG9jdW1lbnQuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
c3R5bGVcU3R5bGVSZXNvbHZlVHJlZS5jcHAiIC8+CkBAIC0yMjc2Miw2ICsyMjc2Myw3IEBACiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdG9yYWdlXFN0b3JhZ2VOYW1lc3BhY2VQcm92aWRl
ci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cc3R5bGVcSW5saW5lVGV4dEJveFN0
eWxlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdHlsZVxSZW5kZXJUcmVlUG9z
aXRpb24uaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN0eWxlXFN0eWxlQ2hhbmdl
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdHlsZVxTdHlsZUZvbnRTaXplRnVu
Y3Rpb25zLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdHlsZVxTdHlsZVJlc29s
dmVGb3JEb2N1bWVudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cc3R5bGVcU3R5
bGVSZXNvbHZlVHJlZS5oIiAvPgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTk0NTI3KQorKysgU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBA
IC02NDYxLDYgKzY0NjEsOCBAQAogCQlFMzg4Mzg5ODFCQUQxNDVGMDBENjJFRTMgLyogSlNNb2R1
bGVMb2FkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTM4ODM4OTQxQkFEMTQ1RjAwRDYyRUUzIC8qIEpTTW9kdWxlTG9hZGVyLmNwcCAqLzsgfTsK
IAkJRTM4ODM4OTkxQkFEMTQ1RjAwRDYyRUUzIC8qIEpTTW9kdWxlTG9hZGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzg4Mzg5NTFCQUQxNDVGMDBE
NjJFRTMgLyogSlNNb2R1bGVMb2FkZXIuaCAqLzsgfTsKIAkJRTQwMUMyNzUxN0NFNTNFQzAwQzQx
QTM1IC8qIEVsZW1lbnRJdGVyYXRvckFzc2VydGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0MDFDMjc0MTdDRTUzRUMwMEM0MUEzNSAvKiBFbGVt
ZW50SXRlcmF0b3JBc3NlcnRpb25zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJRTQwMUUwQTQxQzNDMEI4MzAwRjM0RDEwIC8qIFN0eWxlQ2hhbmdl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDAxRTBB
MzFDM0MwQjgzMDBGMzREMTAgLyogU3R5bGVDaGFuZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFNDAxRTBBNjFDM0MwQ0Y3MDBGMzREMTAgLyog
U3R5bGVDaGFuZ2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTQwMUUwQTUxQzNDMENGNzAwRjM0RDEwIC8qIFN0eWxlQ2hhbmdlLmNwcCAqLzsgfTsK
IAkJRTQyNEEzOUUxMzMwREYwMTAwQ0Y2REM5IC8qIExlZ2FjeVRpbGVHcmlkVGlsZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQyNEEzOUQxMzMwREYw
MTAwQ0Y2REM5IC8qIExlZ2FjeVRpbGVHcmlkVGlsZS5oICovOyB9OwogCQlFNDI0QTNBMDEzMzBE
RjFFMDBDRjZEQzkgLyogTGVnYWN5VGlsZUdyaWRUaWxlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQyNEEzOUYxMzMwREYxRTAwQ0Y2REM5IC8qIExl
Z2FjeVRpbGVHcmlkVGlsZS5tbSAqLzsgfTsKIAkJRTQyNUE0OUExODI5MkI4NDAwMjBDRkNGIC8q
IENvbGxlY3Rpb25JbmRleENhY2hlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFNDI1QTQ5OTE4MjkyQjg0MDAyMENGQ0YgLyogQ29sbGVjdGlvbkluZGV4
Q2FjaGUuaCAqLzsgfTsKQEAgLTE0MzY0LDYgKzE0MzY2LDggQEAKIAkJRTM4ODM4OTQxQkFEMTQ1
RjAwRDYyRUUzIC8qIEpTTW9kdWxlTG9hZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTTW9kdWxlTG9hZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRTM4ODM4OTUxQkFEMTQ1RjAwRDYyRUUzIC8qIEpTTW9kdWxlTG9hZGVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTW9kdWxlTG9hZGVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUU0MDFDMjc0MTdDRTUzRUMwMEM0MUEzNSAvKiBFbGVtZW50SXRl
cmF0b3JBc3NlcnRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEVsZW1l
bnRJdGVyYXRvckFzc2VydGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTQw
MUUwQTMxQzNDMEI4MzAwRjM0RDEwIC8qIFN0eWxlQ2hhbmdlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFN0eWxlQ2hhbmdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUU0MDFFMEE1MUMzQzBDRjcwMEYzNEQxMCAvKiBTdHlsZUNoYW5nZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHlsZUNoYW5nZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUU0MDZGM0ZCMTE5ODMwN0QwMDlENTlENiAvKiBDb2xvckRhdGEu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29sb3JEYXRhLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQxRUEwMzgxMTk4MzZEQjAwNzEwQkM1IC8q
IENTU1Byb3BlcnR5TmFtZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gQ1NTUHJvcGVydHlOYW1lcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0
MUVBMDM5MTE5ODM3NDkwMDcxMEJDNSAvKiBDU1NWYWx1ZUtleXdvcmRzLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU1ZhbHVlS2V5d29yZHMuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjMxMTAsNiArMjMxMTQsOCBAQAogCQkJCTFDMDEwNkZG
MTkyNTk0REYwMDhBNDIwMSAvKiBJbmxpbmVUZXh0Qm94U3R5bGUuaCAqLywKIAkJCQk1ODI0QUJB
ODFBRTg0OUM4MDA5MDc0QjcgLyogUmVuZGVyVHJlZVBvc2l0aW9uLmNwcCAqLywKIAkJCQk1ODI0
QUJBOTFBRTg0OUM4MDA5MDc0QjcgLyogUmVuZGVyVHJlZVBvc2l0aW9uLmggKi8sCisJCQkJRTQw
MUUwQTUxQzNDMENGNzAwRjM0RDEwIC8qIFN0eWxlQ2hhbmdlLmNwcCAqLywKKwkJCQlFNDAxRTBB
MzFDM0MwQjgzMDBGMzREMTAgLyogU3R5bGVDaGFuZ2UuaCAqLywKIAkJCQlFNEQ1OEVCNjE3QjRF
RDg5MDBDQkRDQTggLyogU3R5bGVGb250U2l6ZUZ1bmN0aW9ucy5jcHAgKi8sCiAJCQkJRTRENThF
QjcxN0I0RUQ4OTAwQ0JEQ0E4IC8qIFN0eWxlRm9udFNpemVGdW5jdGlvbnMuaCAqLywKIAkJCQlF
NEQ1OEVCMjE3QjREQkRDMDBDQkRDQTggLyogU3R5bGVSZXNvbHZlRm9yRG9jdW1lbnQuY3BwICov
LApAQCAtMjgwMTIsNiArMjgwMTgsNyBAQAogCQkJCUE1RTYxNjc0MTg5NDU4MUYwMDlBREY1MCAv
KiBXZWJEZWJ1Z2dlckFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlGRTBEODRFOTEwNDg0MzQ4
MDAxQTE3OUUgLyogV2ViRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTIyNUExNkI1MEQ1QzEx
RTkwMDA5MDI5NSAvKiBXZWJFdmVudFJlZ2lvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTQwMUUw
QTQxQzNDMEI4MzAwRjM0RDEwIC8qIFN0eWxlQ2hhbmdlLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
MTlEOTM0NzFBOUZFQzcyMDBCNDZDMjQgLyogV2ViRmlsdGVyRXZhbHVhdG9yU1BJLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlEM0YzRDM2RTFBNjlCN0UwMDA1OUZDMkIgLyogV2ViR0wyUmVuZGVyaW5n
Q29udGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTdEMjBGNkQxMDdGNDM4QjAwQTgwMzkyIC8q
IFdlYkdMQWN0aXZlSW5mby5oIGluIEhlYWRlcnMgKi8sCkBAIC0yOTA1MSw2ICsyOTA1OCw3IEBA
CiAJCQkJODU1MjZDMzgwQUIwQTE3RTAwMDMwMkVBIC8qIERPTU5vZGVJdGVyYXRvci5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTg1QUNBQThFMEE5Qjc1OUMwMDY3MUU5MCAvKiBET01Ob2RlTGlzdC5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTg1NkM4QUU1MEE5MTI2NDkwMDVDNjg3QiAvKiBET01PYmpl
Y3QubW0gaW4gU291cmNlcyAqLywKKwkJCQlFNDAxRTBBNjFDM0MwQ0Y3MDBGMzREMTAgLyogU3R5
bGVDaGFuZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODVDN0Y1RDEwQUFGQjhEOTAwNDAxNERE
IC8qIERPTU92ZXJmbG93RXZlbnQubW0gaW4gU291cmNlcyAqLywKIAkJCQlFMTI4NEJENTEwNDRB
MDFFMDBFQUVCNTIgLyogRE9NUGFnZVRyYW5zaXRpb25FdmVudC5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTFBQ0U1M0U3MEE4RDE4RTcwMDIyOTQ3RCAvKiBET01QYXJzZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEuY3BwCShyZXZpc2lvbiAxOTQ1
MjcpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaCIK
ICNpbmNsdWRlICJSZW5kZXJUZXh0LmgiCiAjaW5jbHVkZSAiU3R5bGVJbmhlcml0ZWREYXRhLmgi
CisjaW5jbHVkZSAiU3R5bGVSZXNvbHZlVHJlZS5oIgogI2luY2x1ZGUgIlRleHRCcmVha0l0ZXJh
dG9yLmgiCiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20v
Q29udGFpbmVyTm9kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0NvbnRh
aW5lck5vZGUuY3BwCShyZXZpc2lvbiAxOTQ1MjcpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vQ29u
dGFpbmVyTm9kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0LDYgKzU0LDcgQEAKICNpbmNsdWRl
ICJTVkdFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKICNpbmNsdWRlICJTZWxlY3Rv
clF1ZXJ5LmgiCisjaW5jbHVkZSAiU3R5bGVSZXNvbHZlVHJlZS5oIgogI2luY2x1ZGUgIlRlbXBs
YXRlQ29udGVudERvY3VtZW50RnJhZ21lbnQuaCIKICNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5j
bHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJl
dmlzaW9uIDE5NDUyNykKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTE1NCw2ICsxNTQsNyBAQAogI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKICNp
bmNsdWRlICJTdG9yYWdlRXZlbnQuaCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnRpZXMuaCIKKyNp
bmNsdWRlICJTdHlsZVJlc29sdmVUcmVlLmgiCiAjaW5jbHVkZSAiU3R5bGVSZXNvbHZlci5oIgog
I2luY2x1ZGUgIlN0eWxlU2hlZXRDb250ZW50cy5oIgogI2luY2x1ZGUgIlN0eWxlU2hlZXRMaXN0
LmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAkocmV2aXNpb24gMTk0NTI3KQorKysgU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1LDcgQEAK
ICNpbmNsdWRlICJSZW5kZXJQdHIuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0
LmgiCiAjaW5jbHVkZSAiU3RyaW5nV2l0aERpcmVjdGlvbi5oIgotI2luY2x1ZGUgIlN0eWxlUmVz
b2x2ZVRyZWUuaCIKKyNpbmNsdWRlICJTdHlsZUNoYW5nZS5oIgogI2luY2x1ZGUgIlRleHRSZXNv
dXJjZURlY29kZXIuaCIKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgIlRyZWVTY29wZS5o
IgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAkocmV2aXNpb24gMTk0NTI3KQorKysgU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03Nyw2ICs3Nyw3IEBA
CiAjaW5jbHVkZSAiU2VsZWN0b3JRdWVyeS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5j
bHVkZSAiU3R5bGVQcm9wZXJ0aWVzLmgiCisjaW5jbHVkZSAiU3R5bGVSZXNvbHZlVHJlZS5oIgog
I2luY2x1ZGUgIlN0eWxlUmVzb2x2ZXIuaCIKICNpbmNsdWRlICJUZXh0SXRlcmF0b3IuaCIKICNp
bmNsdWRlICJWb2lkQ2FsbGJhY2suaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAkocmV2aXNpb24g
MTk0NTI3KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAkod29ya2luZyBjb3B5KQpA
QCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgIlJlZ2lvbk92ZXJzZXRTdGF0ZS5oIgogI2luY2x1
ZGUgIlNjcm9sbFR5cGVzLmgiCiAjaW5jbHVkZSAiU2ltdWxhdGVkQ2xpY2tPcHRpb25zLmgiCi0j
aW5jbHVkZSAiU3R5bGVSZXNvbHZlVHJlZS5oIgorI2luY2x1ZGUgIlN0eWxlQ2hhbmdlLmgiCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9y
bUNvbnRyb2xFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxOTQ1MjcpCisrKyBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
OCw2ICszOCw3IEBACiAjaW5jbHVkZSAiSFRNTFRleHRBcmVhRWxlbWVudC5oIgogI2luY2x1ZGUg
IlJlbmRlckJveC5oIgogI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCisjaW5jbHVkZSAiU3R5bGVS
ZXNvbHZlVHJlZS5oIgogI2luY2x1ZGUgIlZhbGlkYXRpb25NZXNzYWdlLmgiCiAjaW5jbHVkZSA8
d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5oPgpJbmRleDogU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVPd25lckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lT3duZXJFbGVtZW50LmNwcAkocmV2aXNpb24gMTk0
NTI3KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVPd25lckVsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiUmVuZGVyV2lkZ2V0Lmgi
CiAjaW5jbHVkZSAiU2hhZG93Um9vdC5oIgogI2luY2x1ZGUgIlNWR0RvY3VtZW50LmgiCisjaW5j
bHVkZSAiU3R5bGVSZXNvbHZlVHJlZS5oIgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VF
bGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5J
bWFnZUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxOTQ1MjcpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0OCw3
IEBACiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgog
I2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKKyNpbmNsdWRlICJTdHlsZVJlc29sdmVUcmVlLmgiCiAj
aW5jbHVkZSAiU3R5bGVSZXNvbHZlci5oIgogI2luY2x1ZGUgIlN1YmZyYW1lTG9hZGVyLmgiCiAj
aW5jbHVkZSAiVHlwZWRFbGVtZW50RGVzY2VuZGFudEl0ZXJhdG9yLmgiCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9tYXRobWwvTWF0aE1MU2VsZWN0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFNlbGVjdEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxOTQ1
MjcpCisrKyBTb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MU2VsZWN0RWxlbWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJSZW5kZXJNYXRoTUxSb3cu
aCIKICNpbmNsdWRlICJTVkdFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKKyNpbmNs
dWRlICJTdHlsZVJlc29sdmVUcmVlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApJbmRleDog
U291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVDaGFuZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3N0eWxlL1N0eWxlQ2hhbmdlLmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3N0eWxlL1N0eWxlQ2hhbmdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDkw
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlN0eWxlQ2hhbmdlLmgiCisKKyNpbmNsdWRl
ICJSZW5kZXJTdHlsZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CituYW1lc3BhY2UgU3R5bGUg
eworCitDaGFuZ2UgZGV0ZXJtaW5lQ2hhbmdlKGNvbnN0IFJlbmRlclN0eWxlJiBzMSwgY29uc3Qg
UmVuZGVyU3R5bGUmIHMyKQoreworICAgIGlmIChzMS5kaXNwbGF5KCkgIT0gczIuZGlzcGxheSgp
KQorICAgICAgICByZXR1cm4gRGV0YWNoOworICAgIGlmIChzMS5oYXNQc2V1ZG9TdHlsZShGSVJT
VF9MRVRURVIpICE9IHMyLmhhc1BzZXVkb1N0eWxlKEZJUlNUX0xFVFRFUikpCisgICAgICAgIHJl
dHVybiBEZXRhY2g7CisgICAgLy8gV2UganVzdCBkZXRhY2ggaWYgYSByZW5kZXJlciBhY3F1aXJl
cyBvciBsb3NlcyBhIGNvbHVtbi1zcGFuLCBzaW5jZSBzcGFubmluZyBlbGVtZW50cworICAgIC8v
IHR5cGljYWxseSB3b24ndCBjb250YWluIG11Y2ggY29udGVudC4KKyAgICBpZiAoczEuY29sdW1u
U3BhbigpICE9IHMyLmNvbHVtblNwYW4oKSkKKyAgICAgICAgcmV0dXJuIERldGFjaDsKKyAgICBp
ZiAoIXMxLmNvbnRlbnREYXRhRXF1aXZhbGVudCgmczIpKQorICAgICAgICByZXR1cm4gRGV0YWNo
OworICAgIC8vIFdoZW4gdGV4dC1jb21iaW5lIHByb3BlcnR5IGhhcyBiZWVuIGNoYW5nZWQsIHdl
IG5lZWQgdG8gcHJlcGFyZSBhIHNlcGFyYXRlIHJlbmRlcmVyIG9iamVjdC4KKyAgICAvLyBXaGVu
IHRleHQtY29tYmluZSBpcyBvbiwgd2UgdXNlIFJlbmRlckNvbWJpbmVUZXh0LCBvdGhlcndpc2Ug
UmVuZGVyVGV4dC4KKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTUwNjkKKyAgICBpZiAoczEuaGFzVGV4dENvbWJpbmUoKSAhPSBzMi5oYXNUZXh0Q29tYmlu
ZSgpKQorICAgICAgICByZXR1cm4gRGV0YWNoOworICAgIC8vIFdlIG5lZWQgdG8gcmVhdHRhY2gg
dGhlIG5vZGUsIHNvIHRoYXQgaXQgaXMgbW92ZWQgdG8gdGhlIGNvcnJlY3QgUmVuZGVyRmxvd1Ro
cmVhZC4KKyAgICBpZiAoczEuZmxvd1RocmVhZCgpICE9IHMyLmZsb3dUaHJlYWQoKSkKKyAgICAg
ICAgcmV0dXJuIERldGFjaDsKKyAgICAvLyBXaGVuIHRoZSByZWdpb24gdGhyZWFkIGhhcyBjaGFu
Z2VkLCB3ZSBuZWVkIHRvIHByZXBhcmUgYSBzZXBhcmF0ZSByZW5kZXIgcmVnaW9uIG9iamVjdC4K
KyAgICBpZiAoczEucmVnaW9uVGhyZWFkKCkgIT0gczIucmVnaW9uVGhyZWFkKCkpCisgICAgICAg
IHJldHVybiBEZXRhY2g7CisgICAgLy8gRklYTUU6IE11bHRpY29sdW1uIHJlZ2lvbnMgbm90IHll
dCBzdXBwb3J0ZWQgKGh0dHA6Ly9kZXYudzMub3JnL2Nzc3dnL2Nzcy1yZWdpb25zLyNtdWx0aS1j
b2x1bW4tcmVnaW9ucykKKyAgICAvLyBXaGVuIHRoZSBub2RlIGhhcyByZWdpb24gc3R5bGUgYW5k
IGNoYW5nZWQgaXRzIG11bHRpY29sIHN0eWxlLCB3ZSBoYXZlIHRvIHByZXBhcmUKKyAgICAvLyBh
IHNlcGFyYXRlIHJlbmRlciByZWdpb24gb2JqZWN0LgorICAgIGlmIChzMS5oYXNGbG93RnJvbSgp
ICYmIChzMS5zcGVjaWZpZXNDb2x1bW5zKCkgIT0gczIuc3BlY2lmaWVzQ29sdW1ucygpKSkKKyAg
ICAgICAgcmV0dXJuIERldGFjaDsKKworICAgIGlmIChzMSAhPSBzMikgeworICAgICAgICBpZiAo
czEuaW5oZXJpdGVkTm90RXF1YWwoJnMyKSkKKyAgICAgICAgICAgIHJldHVybiBJbmhlcml0Owor
ICAgICAgICBpZiAoczEuaGFzRXhwbGljaXRseUluaGVyaXRlZFByb3BlcnRpZXMoKSB8fCBzMi5o
YXNFeHBsaWNpdGx5SW5oZXJpdGVkUHJvcGVydGllcygpKQorICAgICAgICAgICAgcmV0dXJuIElu
aGVyaXQ7CisKKyAgICAgICAgcmV0dXJuIE5vSW5oZXJpdDsKKyAgICB9CisgICAgLy8gSWYgdGhl
IHBzZXVkb1N0eWxlcyBoYXZlIGNoYW5nZWQsIHdlIHdhbnQgYW55IFN0eWxlQ2hhbmdlIHRoYXQg
aXMgbm90IE5vQ2hhbmdlCisgICAgLy8gYmVjYXVzZSBzZXRTdHlsZSB3aWxsIGRvIHRoZSByaWdo
dCB0aGluZyB3aXRoIGFueXRoaW5nIGVsc2UuCisgICAgaWYgKHMxLmhhc0FueVB1YmxpY1BzZXVk
b1N0eWxlcygpKSB7CisgICAgICAgIGZvciAoUHNldWRvSWQgcHNldWRvSWQgPSBGSVJTVF9QVUJM
SUNfUFNFVURPSUQ7IHBzZXVkb0lkIDwgRklSU1RfSU5URVJOQUxfUFNFVURPSUQ7IHBzZXVkb0lk
ID0gc3RhdGljX2Nhc3Q8UHNldWRvSWQ+KHBzZXVkb0lkICsgMSkpIHsKKyAgICAgICAgICAgIGlm
IChzMS5oYXNQc2V1ZG9TdHlsZShwc2V1ZG9JZCkpIHsKKyAgICAgICAgICAgICAgICBSZW5kZXJT
dHlsZSogcHMyID0gczIuZ2V0Q2FjaGVkUHNldWRvU3R5bGUocHNldWRvSWQpOworICAgICAgICAg
ICAgICAgIGlmICghcHMyKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9Jbmhlcml0Owor
ICAgICAgICAgICAgICAgIFJlbmRlclN0eWxlKiBwczEgPSBzMS5nZXRDYWNoZWRQc2V1ZG9TdHls
ZShwc2V1ZG9JZCk7CisgICAgICAgICAgICAgICAgaWYgKCFwczEgfHwgKnBzMSAhPSAqcHMyKQor
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9Jbmhlcml0OworICAgICAgICAgICAgfQorICAg
ICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIE5vQ2hhbmdlOworfQorCit9Cit9CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUNoYW5nZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3N0eWxlL1N0eWxlQ2hhbmdlLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29y
ZS9zdHlsZS9TdHlsZUNoYW5nZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDIgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTMsIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVm
IFN0eWxlQ2hhbmdlX2gKKyNkZWZpbmUgU3R5bGVDaGFuZ2VfaAorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIFJlbmRlclN0eWxlOworCituYW1lc3BhY2UgU3R5bGUgeworCitlbnVtIENo
YW5nZSB7IE5vQ2hhbmdlLCBOb0luaGVyaXQsIEluaGVyaXQsIERldGFjaCwgRm9yY2UgfTsKKwor
Q2hhbmdlIGRldGVybWluZUNoYW5nZShjb25zdCBSZW5kZXJTdHlsZSYsIGNvbnN0IFJlbmRlclN0
eWxlJik7CisKK30KK30KKworI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHls
ZVJlc29sdmVUcmVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHls
ZVJlc29sdmVUcmVlLmNwcAkocmV2aXNpb24gMTk0NTI3KQorKysgU291cmNlL1dlYkNvcmUvc3R5
bGUvU3R5bGVSZXNvbHZlVHJlZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcwLDYxICs3MCw2IEBA
IHN0YXRpYyB2b2lkIGRldGFjaFJlbmRlclRyZWUoRWxlbWVudCYsIEQKIHN0YXRpYyB2b2lkIHJl
c29sdmVUZXh0Tm9kZShUZXh0JiwgUmVuZGVyVHJlZVBvc2l0aW9uJik7CiBzdGF0aWMgdm9pZCBy
ZXNvbHZlVHJlZShFbGVtZW50JiwgUmVuZGVyU3R5bGUmIGluaGVyaXRlZFN0eWxlLCBSZW5kZXJU
cmVlUG9zaXRpb24mLCBDaGFuZ2UpOwogCi1DaGFuZ2UgZGV0ZXJtaW5lQ2hhbmdlKGNvbnN0IFJl
bmRlclN0eWxlJiBzMSwgY29uc3QgUmVuZGVyU3R5bGUmIHMyKQotewotICAgIGlmIChzMS5kaXNw
bGF5KCkgIT0gczIuZGlzcGxheSgpKQotICAgICAgICByZXR1cm4gRGV0YWNoOwotICAgIGlmIChz
MS5oYXNQc2V1ZG9TdHlsZShGSVJTVF9MRVRURVIpICE9IHMyLmhhc1BzZXVkb1N0eWxlKEZJUlNU
X0xFVFRFUikpCi0gICAgICAgIHJldHVybiBEZXRhY2g7Ci0gICAgLy8gV2UganVzdCBkZXRhY2gg
aWYgYSByZW5kZXJlciBhY3F1aXJlcyBvciBsb3NlcyBhIGNvbHVtbi1zcGFuLCBzaW5jZSBzcGFu
bmluZyBlbGVtZW50cwotICAgIC8vIHR5cGljYWxseSB3b24ndCBjb250YWluIG11Y2ggY29udGVu
dC4KLSAgICBpZiAoczEuY29sdW1uU3BhbigpICE9IHMyLmNvbHVtblNwYW4oKSkKLSAgICAgICAg
cmV0dXJuIERldGFjaDsKLSAgICBpZiAoIXMxLmNvbnRlbnREYXRhRXF1aXZhbGVudCgmczIpKQot
ICAgICAgICByZXR1cm4gRGV0YWNoOwotICAgIC8vIFdoZW4gdGV4dC1jb21iaW5lIHByb3BlcnR5
IGhhcyBiZWVuIGNoYW5nZWQsIHdlIG5lZWQgdG8gcHJlcGFyZSBhIHNlcGFyYXRlIHJlbmRlcmVy
IG9iamVjdC4KLSAgICAvLyBXaGVuIHRleHQtY29tYmluZSBpcyBvbiwgd2UgdXNlIFJlbmRlckNv
bWJpbmVUZXh0LCBvdGhlcndpc2UgUmVuZGVyVGV4dC4KLSAgICAvLyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTUwNjkKLSAgICBpZiAoczEuaGFzVGV4dENvbWJpbmUo
KSAhPSBzMi5oYXNUZXh0Q29tYmluZSgpKQotICAgICAgICByZXR1cm4gRGV0YWNoOwotICAgIC8v
IFdlIG5lZWQgdG8gcmVhdHRhY2ggdGhlIG5vZGUsIHNvIHRoYXQgaXQgaXMgbW92ZWQgdG8gdGhl
IGNvcnJlY3QgUmVuZGVyRmxvd1RocmVhZC4KLSAgICBpZiAoczEuZmxvd1RocmVhZCgpICE9IHMy
LmZsb3dUaHJlYWQoKSkKLSAgICAgICAgcmV0dXJuIERldGFjaDsKLSAgICAvLyBXaGVuIHRoZSBy
ZWdpb24gdGhyZWFkIGhhcyBjaGFuZ2VkLCB3ZSBuZWVkIHRvIHByZXBhcmUgYSBzZXBhcmF0ZSBy
ZW5kZXIgcmVnaW9uIG9iamVjdC4KLSAgICBpZiAoczEucmVnaW9uVGhyZWFkKCkgIT0gczIucmVn
aW9uVGhyZWFkKCkpCi0gICAgICAgIHJldHVybiBEZXRhY2g7Ci0gICAgLy8gRklYTUU6IE11bHRp
Y29sdW1uIHJlZ2lvbnMgbm90IHlldCBzdXBwb3J0ZWQgKGh0dHA6Ly9kZXYudzMub3JnL2Nzc3dn
L2Nzcy1yZWdpb25zLyNtdWx0aS1jb2x1bW4tcmVnaW9ucykKLSAgICAvLyBXaGVuIHRoZSBub2Rl
IGhhcyByZWdpb24gc3R5bGUgYW5kIGNoYW5nZWQgaXRzIG11bHRpY29sIHN0eWxlLCB3ZSBoYXZl
IHRvIHByZXBhcmUKLSAgICAvLyBhIHNlcGFyYXRlIHJlbmRlciByZWdpb24gb2JqZWN0LgotICAg
IGlmIChzMS5oYXNGbG93RnJvbSgpICYmIChzMS5zcGVjaWZpZXNDb2x1bW5zKCkgIT0gczIuc3Bl
Y2lmaWVzQ29sdW1ucygpKSkKLSAgICAgICAgcmV0dXJuIERldGFjaDsKLQotICAgIGlmIChzMSAh
PSBzMikgewotICAgICAgICBpZiAoczEuaW5oZXJpdGVkTm90RXF1YWwoJnMyKSkKLSAgICAgICAg
ICAgIHJldHVybiBJbmhlcml0OwotICAgICAgICBpZiAoczEuaGFzRXhwbGljaXRseUluaGVyaXRl
ZFByb3BlcnRpZXMoKSB8fCBzMi5oYXNFeHBsaWNpdGx5SW5oZXJpdGVkUHJvcGVydGllcygpKQot
ICAgICAgICAgICAgcmV0dXJuIEluaGVyaXQ7Ci0KLSAgICAgICAgcmV0dXJuIE5vSW5oZXJpdDsK
LSAgICB9Ci0gICAgLy8gSWYgdGhlIHBzZXVkb1N0eWxlcyBoYXZlIGNoYW5nZWQsIHdlIHdhbnQg
YW55IFN0eWxlQ2hhbmdlIHRoYXQgaXMgbm90IE5vQ2hhbmdlCi0gICAgLy8gYmVjYXVzZSBzZXRT
dHlsZSB3aWxsIGRvIHRoZSByaWdodCB0aGluZyB3aXRoIGFueXRoaW5nIGVsc2UuCi0gICAgaWYg
KHMxLmhhc0FueVB1YmxpY1BzZXVkb1N0eWxlcygpKSB7Ci0gICAgICAgIGZvciAoUHNldWRvSWQg
cHNldWRvSWQgPSBGSVJTVF9QVUJMSUNfUFNFVURPSUQ7IHBzZXVkb0lkIDwgRklSU1RfSU5URVJO
QUxfUFNFVURPSUQ7IHBzZXVkb0lkID0gc3RhdGljX2Nhc3Q8UHNldWRvSWQ+KHBzZXVkb0lkICsg
MSkpIHsKLSAgICAgICAgICAgIGlmIChzMS5oYXNQc2V1ZG9TdHlsZShwc2V1ZG9JZCkpIHsKLSAg
ICAgICAgICAgICAgICBSZW5kZXJTdHlsZSogcHMyID0gczIuZ2V0Q2FjaGVkUHNldWRvU3R5bGUo
cHNldWRvSWQpOwotICAgICAgICAgICAgICAgIGlmICghcHMyKQotICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gTm9Jbmhlcml0OwotICAgICAgICAgICAgICAgIFJlbmRlclN0eWxlKiBwczEgPSBz
MS5nZXRDYWNoZWRQc2V1ZG9TdHlsZShwc2V1ZG9JZCk7Ci0gICAgICAgICAgICAgICAgaWYgKCFw
czEgfHwgKnBzMSAhPSAqcHMyKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9Jbmhlcml0
OwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCi0gICAgcmV0dXJuIE5vQ2hhbmdl
OwotfQotCiBzdGF0aWMgYm9vbCBzaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBFbGVtZW50JiBl
bGVtZW50LCBjb25zdCBSZW5kZXJFbGVtZW50JiBwYXJlbnRSZW5kZXJlcikKIHsKICAgICBpZiAo
IWVsZW1lbnQuZG9jdW1lbnQoKS5zaG91bGRDcmVhdGVSZW5kZXJlcnMoKSkKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3N0eWxlL1N0eWxlUmVzb2x2ZVRyZWUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZVJlc29sdmVUcmVlLmgJKHJldmlzaW9uIDE5NDUyNykKKysrIFNv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlUmVzb2x2ZVRyZWUuaAkod29ya2luZyBjb3B5KQpAQCAt
MjYsNiArMjYsNyBAQAogI2lmbmRlZiBTdHlsZVJlc29sdmVUcmVlX2gKICNkZWZpbmUgU3R5bGVS
ZXNvbHZlVHJlZV9oCiAKKyNpbmNsdWRlICJTdHlsZUNoYW5nZS5oIgogI2luY2x1ZGUgPGZ1bmN0
aW9uYWw+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM4LDggKzM5LDYgQEAgY2xhc3MgVGV4
dDsKIAogbmFtZXNwYWNlIFN0eWxlIHsKIAotZW51bSBDaGFuZ2UgeyBOb0NoYW5nZSwgTm9Jbmhl
cml0LCBJbmhlcml0LCBEZXRhY2gsIEZvcmNlIH07Ci0KIHZvaWQgcmVzb2x2ZVRyZWUoRG9jdW1l
bnQmLCBDaGFuZ2UpOwogCiB2b2lkIGRldGFjaFJlbmRlclRyZWUoRWxlbWVudCYpOwpAQCAtNDcs
OCArNDYsNiBAQCB2b2lkIGRldGFjaFRleHRSZW5kZXJlcihUZXh0Jik7CiAKIHZvaWQgdXBkYXRl
VGV4dFJlbmRlcmVyQWZ0ZXJDb250ZW50Q2hhbmdlKFRleHQmLCB1bnNpZ25lZCBvZmZzZXRPZlJl
cGxhY2VkRGF0YSwgdW5zaWduZWQgbGVuZ3RoT2ZSZXBsYWNlZERhdGEpOwogCi1DaGFuZ2UgZGV0
ZXJtaW5lQ2hhbmdlKGNvbnN0IFJlbmRlclN0eWxlJiwgY29uc3QgUmVuZGVyU3R5bGUmKTsKLQog
dm9pZCBxdWV1ZVBvc3RSZXNvbHV0aW9uQ2FsbGJhY2soc3RkOjpmdW5jdGlvbjx2b2lkICgpPik7
CiBib29sIHBvc3RSZXNvbHV0aW9uQ2FsbGJhY2tzQXJlU3VzcGVuZGVkKCk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>