<?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>156156</bug_id>
          
          <creation_ts>2016-04-04 00:10:48 -0700</creation_ts>
          <short_desc>Enable assertions against DOM mutations in RenderTreeUpdater</short_desc>
          <delta_ts>2016-04-04 06:09:29 -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>DOM</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>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1180281</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-04-04 00:10:48 -0700</bug_when>
    <thetext>Ensure we don&apos;t mutate DOM or dispatch events during render tree updates.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1180292</commentid>
    <comment_count>1</comment_count>
      <attachid>275532</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-04-04 01:12:08 -0700</bug_when>
    <thetext>Created attachment 275532
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1180295</commentid>
    <comment_count>2</comment_count>
      <attachid>275532</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2016-04-04 01:19:46 -0700</bug_when>
    <thetext>Comment on attachment 275532
patch

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

r=me

&gt; Source/WebCore/loader/cache/CachedSVGFont.cpp:69
&gt; +        auto count = NoEventDispatchAssertion::dropTemporarily();

If we plan to do more of this, maybe a RAII helper would be in good taste.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1180296</commentid>
    <comment_count>3</comment_count>
      <attachid>275534</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-04-04 01:22:23 -0700</bug_when>
    <thetext>Created attachment 275534
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1180303</commentid>
    <comment_count>4</comment_count>
      <attachid>275537</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-04-04 01:51:13 -0700</bug_when>
    <thetext>Created attachment 275537
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1180350</commentid>
    <comment_count>5</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-04-04 06:09:29 -0700</bug_when>
    <thetext>https://trac.webkit.org/r199003</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275532</attachid>
            <date>2016-04-04 01:12:08 -0700</date>
            <delta_ts>2016-04-04 01:22:23 -0700</delta_ts>
            <desc>patch</desc>
            <filename>rendertreeupdater-assertion.patch</filename>
            <type>text/plain</type>
            <size>16683</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5ODk5NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQzIEBACisyMDE2LTA0LTA0ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBFbmFibGUgYXNzZXJ0aW9ucyBh
Z2FpbnN0IERPTSBtdXRhdGlvbnMgaW4gUmVuZGVyVHJlZVVwZGF0ZXIKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NjE1NgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuc3VyZSB3ZSBkb24ndCBtdXRhdGUg
RE9NIG9yIGRpc3BhdGNoIGV2ZW50cyBkdXJpbmcgcmVuZGVyIHRyZWUgdXBkYXRlcy4KKworICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBkb20v
Q29udGFpbmVyTm9kZS5jcHA6CisgICAgICAgICogZG9tL0NvbnRhaW5lck5vZGUuaDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok5vRXZlbnREaXNwYXRjaEFzc2VydGlvbjo6Tm9FdmVudERpc3BhdGNoQXNz
ZXJ0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok5vRXZlbnREaXNwYXRjaEFzc2Vy
dGlvbjo6fk5vRXZlbnREaXNwYXRjaEFzc2VydGlvbik6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpOb0V2ZW50RGlzcGF0Y2hBc3NlcnRpb246OmlzRXZlbnREaXNwYXRjaEZvcmJpZGRlbik6
IERlbGV0ZWQuCisKKyAgICAgICAgICAgIE1vdmUgTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uIHRv
IGEgaGVhZGVyIG9mIGl0cyBvd24uCisKKyAgICAgICAgKiBkb20vTm9FdmVudERpc3BhdGNoQXNz
ZXJ0aW9uLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Tm9FdmVudERpc3BhdGNoQXNzZXJ0
aW9uOjpOb0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Tm9FdmVu
dERpc3BhdGNoQXNzZXJ0aW9uOjp+Tm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6Ok5vRXZlbnREaXNwYXRjaEFzc2VydGlvbjo6aXNFdmVudERpc3BhdGNoRm9yYmlk
ZGVuKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vRXZlbnREaXNwYXRjaEFzc2VydGlvbjo6ZHJvcFRl
bXBvcmFyaWx5KToKKyAgICAgICAgKFdlYkNvcmU6Ok5vRXZlbnREaXNwYXRjaEFzc2VydGlvbjo6
cmVzdG9yZURyb3BwZWQpOgorCisgICAgICAgICAgICBBZGQgYSB3YXkgdG8gZGlzYWJsZSBldmVu
dCBhc3NlcnRpb25zIHRlbXBvcmFyaWx5LgorCisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hl
ZFNWR0ZvbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkU1ZHRm9udDo6ZW5zdXJlQ3Vz
dG9tRm9udERhdGEpOgorCisgICAgICAgICAgICBUZW1wb3JhcnkgU1ZHIGZvbnQgZG9jdW1lbnQg
bWF5IGdldCBjb25zdHJ1Y3RlZCBkdXJpbmcgcmVuZGVyIHRyZWUgdXBkYXRlLiBUaGVzZSBjYW4n
dCBydW4gc2NyaXB0cyBvciBnZW5lcmFsbHkKKyAgICAgICAgICAgIGFmZmVjdCBhbnl0aGluZyBv
dXRzaWRlIHRoZSBmb250IGRvY3VtZW50IGFzIGl0IGRvZXMgbm90IGhhdmUgYSBmcmFtZS4gRGlz
YWJsZSBldmVudCBhc3NlcnRpb25zIHRlbXBvcmFyaWx5LgorCisgICAgICAgICAgICBUZXN0ZWQg
Ynkgc3ZnL1czQy1TVkctMS4xL2ZvbnRzLWVsZW0tMDctYi5zdmcKKworICAgICAgICAqIHN0eWxl
L1JlbmRlclRyZWVVcGRhdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVVcGRh
dGVyOjp1cGRhdGVSZW5kZXJUcmVlKToKKworICAgICAgICAgICAgRW5hYmxlIGFzc2VydGlvbnMu
CisKIDIwMTYtMDQtMDQgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAog
ICAgICAgICBBWDogQ29uc29saWRhdGUgcmFkaW8gYnV0dG9uIGdyb3VwIG1lbWJlciBjb2RlIHdp
dGggdGhhdCBpbiBIVE1MRWxlbWVudCBkZXJpdmF0aXZlcwpJbmRleDogU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTk4OTQ0
KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3
b3JraW5nIGNvcHkpCkBAIC02NjI1LDYgKzY2MjUsNyBAQAogCQlFNDYyQTRBMTExM0U3MUJFMDA0
QTQyMjAgLyogSW50UG9pbnRIYXNoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFNDYyQTRBMDExM0U3MUJFMDA0QTQyMjAgLyogSW50UG9pbnRIYXNoLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTQ2QTJC
MUMxN0NBNjVCOTAwMERCQ0Q4IC8qIFR5cGVkRWxlbWVudERlc2NlbmRhbnRJdGVyYXRvci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ2QTJCMUIxN0NB
NjVCOTAwMERCQ0Q4IC8qIFR5cGVkRWxlbWVudERlc2NlbmRhbnRJdGVyYXRvci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUU0NkEyQjFFMTdDQTc2
QjEwMDBEQkNEOCAvKiBFbGVtZW50Q2hpbGRJdGVyYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ2QTJCMUQxN0NBNzZCMTAwMERCQ0Q4IC8qIEVs
ZW1lbnRDaGlsZEl0ZXJhdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJRTQ2QjQxRjkxQ0IyNEU3MDAwOEYxMURFIC8qIE5vRXZlbnREaXNwYXRj
aEFzc2VydGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTQ2QjQxRjgxQ0IyNEU3MDAwOEYxMURFIC8qIE5vRXZlbnREaXNwYXRjaEFzc2VydGlvbi5o
ICovOyB9OwogCQlFNDcxMjdDQTE2MzQzOEExMDBFRDZGNUEgLyogU3R5bGVJbnZhbGlkYXRpb25B
bmFseXNpcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFNDdBOTdDRTE2MzA1OUZDMDA1RENEOTkgLyogU3R5bGVJbnZhbGlkYXRpb25BbmFseXNpcy5j
cHAgKi87IH07CiAJCUU0NzEyN0NCMTYzNDM4QUUwMEVENkY1QSAvKiBTdHlsZUludmFsaWRhdGlv
bkFuYWx5c2lzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFNDdBOTdDRjE2MzA1OUZDMDA1RENEOTkgLyogU3R5bGVJbnZhbGlkYXRpb25BbmFseXNpcy5o
ICovOyB9OwogCQlFNDc3OEI3RjExNUE1ODFBMDBCNUQzNzIgLyogSlNDdXN0b21FdmVudC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDc3OEI3RDEx
NUE1ODFBMDBCNUQzNzIgLyogSlNDdXN0b21FdmVudC5jcHAgKi87IH07CkBAIC0xNDY1Nyw2ICsx
NDY1OCw3IEBACiAJCUU0NjJBNEEwMTEzRTcxQkUwMDRBNDIyMCAvKiBJbnRQb2ludEhhc2guaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW50UG9pbnRIYXNoLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0NkEyQjFCMTdDQTY1QjkwMDBEQkNEOCAvKiBUeXBlZEVs
ZW1lbnREZXNjZW5kYW50SXRlcmF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gVHlwZWRFbGVtZW50RGVzY2VuZGFudEl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUU0NkEyQjFEMTdDQTc2QjEwMDBEQkNEOCAvKiBFbGVtZW50Q2hpbGRJdGVyYXRv
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFbGVtZW50Q2hpbGRJdGVyYXRv
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFNDZCNDFGODFDQjI0RTcwMDA4RjEx
REUgLyogTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IE5vRXZlbnREaXNwYXRjaEFzc2VydGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlFNDc3OEI3RDExNUE1ODFBMDBCNUQzNzIgLyogSlNDdXN0b21FdmVudC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0N1c3RvbUV2ZW50LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQ3NzhCN0UxMTVBNTgxQTAwQjVEMzcyIC8q
IEpTQ3VzdG9tRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDdXN0
b21FdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDdBM0FDMjFDNUVBQkJF
MDBDQ0JGQTcgLyogU3R5bGVTaGFyaW5nUmVzb2x2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gU3R5bGVTaGFyaW5nUmVzb2x2ZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMjQ0MjAsNiArMjQ0MjIsNyBAQAogCQkJCUU0MzEwNUI3MTY3NTBG
MEMwMERCMkZCOCAvKiBOb2RlVHJhdmVyc2FsLmNwcCAqLywKIAkJCQlFNDMxMDVCQTE2NzUwRjE2
MDBEQjJGQjggLyogTm9kZVRyYXZlcnNhbC5oICovLAogCQkJCTkzODJBQUIxMEQ4QzM4NjEwMEYz
NTdBNiAvKiBOb2RlV2l0aEluZGV4LmggKi8sCisJCQkJRTQ2QjQxRjgxQ0IyNEU3MDAwOEYxMURF
IC8qIE5vRXZlbnREaXNwYXRjaEFzc2VydGlvbi5oICovLAogCQkJCTgzNjlFNThGMUFGREQwMzAw
MDg3REY2OCAvKiBOb25Eb2N1bWVudFR5cGVDaGlsZE5vZGUuaWRsICovLAogCQkJCTdDNjc1MkJB
MUIwNkU4MjAwMEMyNzlDQiAvKiBOb25FbGVtZW50UGFyZW50Tm9kZS5pZGwgKi8sCiAJCQkJMUEw
RDU3MzQwQTVDNzdGRTAwN0VERDRDIC8qIE92ZXJmbG93RXZlbnQuY3BwICovLApAQCAtMjYzMDYs
NiArMjYzMDksNyBAQAogCQkJCTUxODVGQzk5MUJCNEM0RTgwMDEyODk4RiAvKiBJREJLZXlQYXRo
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTg1RkM5QjFCQjRDNEU4MDAxMjg5OEYgLyogSURCS2V5
UmFuZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxODVGQzlFMUJCNEM0RTgwMDEyODk4RiAvKiBJ
REJLZXlSYW5nZURhdGEuaCBpbiBIZWFkZXJzICovLAorCQkJCUU0NkI0MUY5MUNCMjRFNzAwMDhG
MTFERSAvKiBOb0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTUx
ODVGQ0EwMUJCNEM0RTgwMDEyODk4RiAvKiBJREJPYmplY3RTdG9yZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTE2MDcxMkYxQkQ4MzA3ODAwREJDNEYyIC8qIElEQk9iamVjdFN0b3JlSW5mby5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTE4NUZDQTQxQkI0QzRFODAwMTI4OThGIC8qIElEQk9wZW5EQlJl
cXVlc3QuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5l
ck5vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2Rl
LmNwcAkocmV2aXNpb24gMTk4OTQ0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5v
ZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAiTGFiZWxz
Tm9kZUxpc3QuaCIKICNpbmNsdWRlICJNdXRhdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiTmFtZU5v
ZGVMaXN0LmgiCisjaW5jbHVkZSAiTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uLmgiCiAjaW5jbHVk
ZSAiTm9kZU9yU3RyaW5nLmgiCiAjaW5jbHVkZSAiTm9kZVJhcmVEYXRhLmgiCiAjaW5jbHVkZSAi
Tm9kZVJlbmRlclN0eWxlLmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9k
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmgJKHJl
dmlzaW9uIDE5ODk0NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTM0LDQ5ICszNCw2IEBAIGNsYXNzIEhUTUxDb2xsZWN0aW9uOwogY2xh
c3MgUmFkaW9Ob2RlTGlzdDsKIGNsYXNzIFJlbmRlckVsZW1lbnQ7CiAKLWNsYXNzIE5vRXZlbnRE
aXNwYXRjaEFzc2VydGlvbiB7Ci1wdWJsaWM6Ci0gICAgTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9u
KCkKLSAgICB7Ci0jaWYgIUFTU0VSVF9ESVNBQkxFRAotICAgICAgICBpZiAoIWlzTWFpblRocmVh
ZCgpKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICArK3NfY291bnQ7Ci0jZW5kaWYKLSAg
ICB9Ci0KLSAgICBOb0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24oY29uc3QgTm9FdmVudERpc3BhdGNo
QXNzZXJ0aW9uJikKLSAgICAgICAgOiBOb0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24oKQotICAgIHsK
LSAgICB9Ci0KLSAgICB+Tm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uKCkKLSAgICB7Ci0jaWYgIUFT
U0VSVF9ESVNBQkxFRAotICAgICAgICBpZiAoIWlzTWFpblRocmVhZCgpKQotICAgICAgICAgICAg
cmV0dXJuOwotICAgICAgICBBU1NFUlQoc19jb3VudCk7Ci0gICAgICAgIHNfY291bnQtLTsKLSNl
bmRpZgotICAgIH0KLQotICAgIHN0YXRpYyBib29sIGlzRXZlbnREaXNwYXRjaEZvcmJpZGRlbigp
Ci0gICAgewotI2lmIEFTU0VSVF9ESVNBQkxFRAotICAgICAgICByZXR1cm4gZmFsc2U7Ci0jZWxz
ZQotICAgICAgICByZXR1cm4gaXNNYWluVGhyZWFkKCkgJiYgc19jb3VudDsKLSNlbmRpZgotICAg
IH0KLQotI2lmICFBU1NFUlRfRElTQUJMRUQKLQotcHJpdmF0ZToKLSAgICBXRUJDT1JFX0VYUE9S
VCBzdGF0aWMgdW5zaWduZWQgc19jb3VudDsKLQotI2VuZGlmCi19OwotCiBjbGFzcyBDb250YWlu
ZXJOb2RlIDogcHVibGljIE5vZGUgewogcHVibGljOgogICAgIHZpcnR1YWwgfkNvbnRhaW5lck5v
ZGUoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlQWxnb3JpdGhtcy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGVBbGdvcml0
aG1zLmNwcAkocmV2aXNpb24gMTk4OTQ0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5l
ck5vZGVBbGdvcml0aG1zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsNiArMjYsNyBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkNvbnRhaW5lck5vZGVBbGdvcml0aG1zLmgiCiAK
KyNpbmNsdWRlICJOb0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24uaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDE5ODk0NCkKKysr
IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNiw2
ICsxMTYsNyBAQAogI2luY2x1ZGUgIk11dGF0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJOYW1lTm9k
ZUxpc3QuaCIKICNpbmNsdWRlICJOZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oIgorI2luY2x1ZGUg
Ik5vRXZlbnREaXNwYXRjaEFzc2VydGlvbi5oIgogI2luY2x1ZGUgIk5vZGVJdGVyYXRvci5oIgog
I2luY2x1ZGUgIk5vZGVSYXJlRGF0YS5oIgogI2luY2x1ZGUgIk5vZGVXaXRoSW5kZXguaCIKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5jcHAJKHJldmlzaW9uIDE5ODk5MikKKysrIFNvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjYsNiArNjYsNyBAQAogI2lu
Y2x1ZGUgIk1haW5GcmFtZS5oIgogI2luY2x1ZGUgIk11dGF0aW9uT2JzZXJ2ZXJJbnRlcmVzdEdy
b3VwLmgiCiAjaW5jbHVkZSAiTXV0YXRpb25SZWNvcmQuaCIKKyNpbmNsdWRlICJOb0V2ZW50RGlz
cGF0Y2hBc3NlcnRpb24uaCIKICNpbmNsdWRlICJOb2RlUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRl
ICJQbGF0Zm9ybVdoZWVsRXZlbnQuaCIKICNpbmNsdWRlICJQb2ludGVyTG9ja0NvbnRyb2xsZXIu
aCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50SXRlcmF0b3JBc3NlcnRpb25zLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRJdGVyYXRvckFzc2VydGlv
bnMuaAkocmV2aXNpb24gMTk4OTQ0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRJdGVy
YXRvckFzc2VydGlvbnMuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsOCBAQAogCiAjaW5j
bHVkZSAiRWxlbWVudC5oIgogCisjaW5jbHVkZSAiTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uLmgi
CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRWxlbWVudEl0ZXJhdG9yQXNzZXJ0aW9u
cyB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnREaXNwYXRjaGVyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnREaXNwYXRjaGVyLmNwcAkocmV2aXNpb24g
MTk4OTQ0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNs
dWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiTW91c2VFdmVudC5oIgorI2luY2x1
ZGUgIk5vRXZlbnREaXNwYXRjaEFzc2VydGlvbi5oIgogI2luY2x1ZGUgIlBzZXVkb0VsZW1lbnQu
aCIKICNpbmNsdWRlICJTY29wZWRFdmVudFF1ZXVlLmgiCiAjaW5jbHVkZSAiU2hhZG93Um9vdC5o
IgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuY3BwCShyZXZpc2lvbiAxOTg5NDQpCisr
KyBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
NCw2ICszNCw3IEBACiAKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCisjaW5jbHVkZSAiTm9FdmVudERpc3BhdGNoQXNzZXJ0
aW9uLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIldlYktpdEFu
aW1hdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmgiCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9kb20vTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL05vRXZlbnREaXNwYXRjaEFzc2VydGlvbi5oCShyZXZp
c2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvZG9tL05vRXZlbnREaXNwYXRjaEFzc2VydGlvbi5o
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDE5
OTkgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKKyAqICAgICAgICAgICAoQykgMTk5OSBBbnR0
aSBLb2l2aXN0byAoa29pdmlzdG9Aa2RlLm9yZykKKyAqICAgICAgICAgICAoQykgMjAwMSBEaXJr
IE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKKyAqIENvcHlyaWdodCAoQykgMjAwNC0yMDE2IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
CisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUg
Q09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9u
LCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNpZm5kZWYgTm9FdmVudERpc3BhdGNo
QXNzZXJ0aW9uX2gKKyNkZWZpbmUgTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uX2gKKworI2luY2x1
ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTm9F
dmVudERpc3BhdGNoQXNzZXJ0aW9uIHsKK3B1YmxpYzoKKyAgICBOb0V2ZW50RGlzcGF0Y2hBc3Nl
cnRpb24oKQorICAgIHsKKyNpZiAhQVNTRVJUX0RJU0FCTEVECisgICAgICAgIGlmICghaXNNYWlu
VGhyZWFkKCkpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgICsrc19jb3VudDsKKyNlbmRp
ZgorICAgIH0KKworICAgIE5vRXZlbnREaXNwYXRjaEFzc2VydGlvbihjb25zdCBOb0V2ZW50RGlz
cGF0Y2hBc3NlcnRpb24mKQorICAgICAgICA6IE5vRXZlbnREaXNwYXRjaEFzc2VydGlvbigpCisg
ICAgeworICAgIH0KKworICAgIH5Ob0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24oKQorICAgIHsKKyNp
ZiAhQVNTRVJUX0RJU0FCTEVECisgICAgICAgIGlmICghaXNNYWluVGhyZWFkKCkpCisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIEFTU0VSVChzX2NvdW50KTsKKyAgICAgICAgc19jb3VudC0t
OworI2VuZGlmCisgICAgfQorCisgICAgc3RhdGljIGJvb2wgaXNFdmVudERpc3BhdGNoRm9yYmlk
ZGVuKCkKKyAgICB7CisjaWYgQVNTRVJUX0RJU0FCTEVECisgICAgICAgIHJldHVybiBmYWxzZTsK
KyNlbHNlCisgICAgICAgIHJldHVybiBpc01haW5UaHJlYWQoKSAmJiBzX2NvdW50OworI2VuZGlm
CisgICAgfQorCisgICAgc3RhdGljIHVuc2lnbmVkIGRyb3BUZW1wb3JhcmlseSgpCisgICAgewor
I2lmIEFTU0VSVF9ESVNBQkxFRAorICAgICAgICByZXR1cm4gMDsKKyNlbHNlCisgICAgICAgIHVu
c2lnbmVkIGNvdW50ID0gc19jb3VudDsKKyAgICAgICAgc19jb3VudCA9IDA7CisgICAgICAgIHJl
dHVybiBjb3VudDsKKyNlbmRpZgorICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHJlc3RvcmVEcm9w
cGVkKHVuc2lnbmVkIGNvdW50KQorICAgIHsKKyNpZiBBU1NFUlRfRElTQUJMRUQKKyAgICAgICAg
VU5VU0VEX1BBUkFNKGNvdW50KTsKKyNlbHNlCisgICAgICAgIEFTU0VSVCghc19jb3VudCk7Cisg
ICAgICAgIHNfY291bnQgPSBjb3VudDsKKyNlbmRpZgorICAgIH0KKworI2lmICFBU1NFUlRfRElT
QUJMRUQKK3ByaXZhdGU6CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHVuc2lnbmVkIHNfY291
bnQ7CisjZW5kaWYKK307CisKK30KKworI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20v
Tm9kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCShyZXZp
c2lvbiAxOTg5OTIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTUxLDYgKzUxLDcgQEAKICNpbmNsdWRlICJLZXlib2FyZEV2ZW50LmgiCiAjaW5jbHVk
ZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk11dGF0aW9uRXZlbnQuaCIKKyNpbmNsdWRlICJOb0V2
ZW50RGlzcGF0Y2hBc3NlcnRpb24uaCIKICNpbmNsdWRlICJOb2RlT3JTdHJpbmcuaCIKICNpbmNs
dWRlICJOb2RlUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlICJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24u
aCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5j
cHAJKHJldmlzaW9uIDE5ODk0NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRp
b25Db250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUg
IkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRXJyb3JFdmVudC5oIgogI2luY2x1ZGUgIk1lc3NhZ2VQ
b3J0LmgiCisjaW5jbHVkZSAiTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uLmgiCiAjaW5jbHVkZSAi
UHVibGljVVJMTWFuYWdlci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiV29y
a2VyR2xvYmFsU2NvcGUuaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXROYW1lZEZs
b3cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXROYW1lZEZsb3cu
Y3BwCShyZXZpc2lvbiAxOTg5NDQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TmFtZWRG
bG93LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIldlYktp
dE5hbWVkRmxvdy5oIgogCiAjaW5jbHVkZSAiTmFtZWRGbG93Q29sbGVjdGlvbi5oIgorI2luY2x1
ZGUgIk5vRXZlbnREaXNwYXRjaEFzc2VydGlvbi5oIgogI2luY2x1ZGUgIlJlbmRlck5hbWVkRmxv
d0ZyYWdtZW50LmgiCiAjaW5jbHVkZSAiUmVuZGVyTmFtZWRGbG93VGhyZWFkLmgiCiAjaW5jbHVk
ZSAiUmVuZGVyUmVnaW9uLmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNo
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3Bw
CShyZXZpc2lvbiAxOTg5NDQpCisrKyBTb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDYgKzQ2LDcgQEAKICNpbmNsdWRlICJMb2dnaW5nLmgi
CiAjaW5jbHVkZSAiTWFpbkZyYW1lLmgiCiAjaW5jbHVkZSAiTWVtb3J5UHJlc3N1cmVIYW5kbGVy
LmgiCisjaW5jbHVkZSAiTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uLmgiCiAjaW5jbHVkZSAiUGFn
ZS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU3ViZnJhbWVMb2FkZXIuaCIK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAkocmV2aXNpb24g
MTk4OTQ0KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNjgsNiArNjgsNyBAQAogI2luY2x1ZGUgIk1lZGlhUmVzb3VyY2VMb2Fk
ZXIuaCIKICNpbmNsdWRlICJNZW1vcnlQcmVzc3VyZUhhbmRsZXIuaCIKICNpbmNsdWRlICJOZXR3
b3JraW5nQ29udGV4dC5oIgorI2luY2x1ZGUgIk5vRXZlbnREaXNwYXRjaEFzc2VydGlvbi5oIgog
I2luY2x1ZGUgIlBhZ2VHcm91cC5oIgogI2luY2x1ZGUgIlBhZ2VUaHJvdHRsZXIuaCIKICNpbmNs
dWRlICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRTVkdGb250LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU1ZHRm9udC5jcHAJKHJldmlzaW9uIDE5ODk0NCkKKysr
IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTVkdGb250LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNjQsOSArNjQsMTYgQEAgRm9udFBsYXRmb3JtRGF0YSBDYWNoZWRTVkdGb250Ojpw
bGF0Zm9ybQogYm9vbCBDYWNoZWRTVkdGb250OjplbnN1cmVDdXN0b21Gb250RGF0YShjb25zdCBB
dG9taWNTdHJpbmcmIHJlbW90ZVVSSSkKIHsKICAgICBpZiAoIW1fZXh0ZXJuYWxTVkdEb2N1bWVu
dCAmJiAhZXJyb3JPY2N1cnJlZCgpICYmICFpc0xvYWRpbmcoKSAmJiBtX2RhdGEpIHsKKyAgICAg
ICAgLy8gV2UgbWF5IGdldCBoZXJlIGR1cmluZyByZW5kZXIgdHJlZSB1cGRhdGVzIHdoZW4gZXZl
bnRzIGFyZSBmb3JiaWRkZWRuLgorICAgICAgICAvLyBGcmFtZWxlc3MgZG9jdW1lbnQgY2FuJ3Qg
cnVuIHNjcmlwdHMgb3IgY2FsbCBiYWNrIHRvIHRoZSBjbGllbnQgc28gdGhpcyBpcyBzYWZlLgor
ICAgICAgICBhdXRvIGNvdW50ID0gTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uOjpkcm9wVGVtcG9y
YXJpbHkoKTsKKwogICAgICAgICBtX2V4dGVybmFsU1ZHRG9jdW1lbnQgPSBTVkdEb2N1bWVudDo6
Y3JlYXRlKG51bGxwdHIsIFVSTCgpKTsKICAgICAgICAgUmVmUHRyPFRleHRSZXNvdXJjZURlY29k
ZXI+IGRlY29kZXIgPSBUZXh0UmVzb3VyY2VEZWNvZGVyOjpjcmVhdGUoImFwcGxpY2F0aW9uL3ht
bCIpOwogICAgICAgICBtX2V4dGVybmFsU1ZHRG9jdW1lbnQtPnNldENvbnRlbnQoZGVjb2Rlci0+
ZGVjb2RlQW5kRmx1c2gobV9kYXRhLT5kYXRhKCksIG1fZGF0YS0+c2l6ZSgpKSk7CisKKyAgICAg
ICAgTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uOjpyZXN0b3JlRHJvcHBlZChjb3VudCk7CisKICAg
ICAgICAgaWYgKGRlY29kZXItPnNhd0Vycm9yKCkpCiAgICAgICAgICAgICBtX2V4dGVybmFsU1ZH
RG9jdW1lbnQgPSBudWxscHRyOwogICAgICAgICBpZiAobV9leHRlcm5hbFNWR0RvY3VtZW50KQpJ
bmRleDogU291cmNlL1dlYkNvcmUvc3R5bGUvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1JlbmRlclRyZWVVcGRhdGVyLmNwcAkocmV2aXNp
b24gMTk4OTkyKQorKysgU291cmNlL1dlYkNvcmUvc3R5bGUvUmVuZGVyVHJlZVVwZGF0ZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMDksOSArMTA5LDYgQEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRl
cjo6dXBkYXRlUmVuZGVyVHJlZQogICAgIGF1dG8gaXQgPSBkZXNjZW5kYW50cy5iZWdpbigpOwog
ICAgIGF1dG8gZW5kID0gZGVzY2VuZGFudHMuZW5kKCk7CiAKLSAgICAvLyBGSVhNRTogU1ZHIDx1
c2U+IGVsZW1lbnQgbWF5IGNhdXNlIHRyZWUgbXV0YXRpb25zIGR1cmluZyBzdHlsZSByZWNhbGMu
Ci0gICAgaXQuZHJvcEFzc2VydGlvbnMoKTsKLQogICAgIHdoaWxlIChpdCAhPSBlbmQpIHsKICAg
ICAgICAgcG9wUGFyZW50c1RvRGVwdGgoaXQuZGVwdGgoKSk7CiAK
</data>
<flag name="review"
          id="299855"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275534</attachid>
            <date>2016-04-04 01:22:23 -0700</date>
            <delta_ts>2016-04-04 01:51:13 -0700</delta_ts>
            <desc>patch</desc>
            <filename>rendertreeupdater-assertion-2.patch</filename>
            <type>text/plain</type>
            <size>16889</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5ODk5NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQzIEBACisyMDE2LTA0LTA0ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBFbmFibGUgYXNzZXJ0aW9ucyBh
Z2FpbnN0IERPTSBtdXRhdGlvbnMgaW4gUmVuZGVyVHJlZVVwZGF0ZXIKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NjE1NgorCisgICAgICAgIFJldmll
d2VkIGJ5IEFuZHJlYXMgS2xpbmcuCisKKyAgICAgICAgRW5zdXJlIHdlIGRvbid0IG11dGF0ZSBE
T00gb3IgZGlzcGF0Y2ggZXZlbnRzIGR1cmluZyByZW5kZXIgdHJlZSB1cGRhdGVzLgorCisgICAg
ICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9D
b250YWluZXJOb2RlLmNwcDoKKyAgICAgICAgKiBkb20vQ29udGFpbmVyTm9kZS5oOgorICAgICAg
ICAoV2ViQ29yZTo6Tm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uOjpOb0V2ZW50RGlzcGF0Y2hBc3Nl
cnRpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Tm9FdmVudERpc3BhdGNoQXNzZXJ0
aW9uOjp+Tm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6Ok5vRXZlbnREaXNwYXRjaEFzc2VydGlvbjo6aXNFdmVudERpc3BhdGNoRm9yYmlkZGVuKTog
RGVsZXRlZC4KKworICAgICAgICAgICAgTW92ZSBOb0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24gdG8g
YSBoZWFkZXIgb2YgaXRzIG93bi4KKworICAgICAgICAqIGRvbS9Ob0V2ZW50RGlzcGF0Y2hBc3Nl
cnRpb24uaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpOb0V2ZW50RGlzcGF0Y2hBc3NlcnRp
b246Ok5vRXZlbnREaXNwYXRjaEFzc2VydGlvbik6CisgICAgICAgIChXZWJDb3JlOjpOb0V2ZW50
RGlzcGF0Y2hBc3NlcnRpb246On5Ob0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6Tm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uOjppc0V2ZW50RGlzcGF0Y2hGb3JiaWRk
ZW4pOgorICAgICAgICAoV2ViQ29yZTo6Tm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uOjpkcm9wVGVt
cG9yYXJpbHkpOgorICAgICAgICAoV2ViQ29yZTo6Tm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uOjpy
ZXN0b3JlRHJvcHBlZCk6CisKKyAgICAgICAgICAgIEFkZCBhIHdheSB0byBkaXNhYmxlIGV2ZW50
IGFzc2VydGlvbnMgdGVtcG9yYXJpbHkuCisKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVk
U1ZHRm9udC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRTVkdGb250OjplbnN1cmVDdXN0
b21Gb250RGF0YSk6CisKKyAgICAgICAgICAgIFRlbXBvcmFyeSBTVkcgZm9udCBkb2N1bWVudCBt
YXkgZ2V0IGNvbnN0cnVjdGVkIGR1cmluZyByZW5kZXIgdHJlZSB1cGRhdGUuIFRoZXNlIGNhbid0
IHJ1biBzY3JpcHRzIG9yIGdlbmVyYWxseQorICAgICAgICAgICAgYWZmZWN0IGFueXRoaW5nIG91
dHNpZGUgdGhlIGZvbnQgZG9jdW1lbnQgYXMgaXQgZG9lcyBub3QgaGF2ZSBhIGZyYW1lLiBEaXNh
YmxlIGV2ZW50IGFzc2VydGlvbnMgdGVtcG9yYXJpbHkuCisKKyAgICAgICAgICAgIFRlc3RlZCBi
eSBzdmcvVzNDLVNWRy0xLjEvZm9udHMtZWxlbS0wNy1iLnN2ZworCisgICAgICAgICogc3R5bGUv
UmVuZGVyVHJlZVVwZGF0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZVVwZGF0
ZXI6OnVwZGF0ZVJlbmRlclRyZWUpOgorCisgICAgICAgICAgICBFbmFibGUgYXNzZXJ0aW9ucy4K
KwogMjAxNi0wNC0wNCAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAg
ICAgICAgIEFYOiBDb25zb2xpZGF0ZSByYWRpbyBidXR0b24gZ3JvdXAgbWVtYmVyIGNvZGUgd2l0
aCB0aGF0IGluIEhUTUxFbGVtZW50IGRlcml2YXRpdmVzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxOTg5NDQp
CisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdv
cmtpbmcgY29weSkKQEAgLTY2MjUsNiArNjYyNSw3IEBACiAJCUU0NjJBNEExMTEzRTcxQkUwMDRB
NDIyMCAvKiBJbnRQb2ludEhhc2guaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEU0NjJBNEEwMTEzRTcxQkUwMDRBNDIyMCAvKiBJbnRQb2ludEhhc2guaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFNDZBMkIx
QzE3Q0E2NUI5MDAwREJDRDggLyogVHlwZWRFbGVtZW50RGVzY2VuZGFudEl0ZXJhdG9yLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDZBMkIxQjE3Q0E2
NUI5MDAwREJDRDggLyogVHlwZWRFbGVtZW50RGVzY2VuZGFudEl0ZXJhdG9yLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTQ2QTJCMUUxN0NBNzZC
MTAwMERCQ0Q4IC8qIEVsZW1lbnRDaGlsZEl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDZBMkIxRDE3Q0E3NkIxMDAwREJDRDggLyogRWxl
bWVudENoaWxkSXRlcmF0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQlFNDZCNDFGOTFDQjI0RTcwMDA4RjExREUgLyogTm9FdmVudERpc3BhdGNo
QXNzZXJ0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFNDZCNDFGODFDQjI0RTcwMDA4RjExREUgLyogTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uLmgg
Ki87IH07CiAJCUU0NzEyN0NBMTYzNDM4QTEwMEVENkY1QSAvKiBTdHlsZUludmFsaWRhdGlvbkFu
YWx5c2lzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEU0N0E5N0NFMTYzMDU5RkMwMDVEQ0Q5OSAvKiBTdHlsZUludmFsaWRhdGlvbkFuYWx5c2lzLmNw
cCAqLzsgfTsKIAkJRTQ3MTI3Q0IxNjM0MzhBRTAwRUQ2RjVBIC8qIFN0eWxlSW52YWxpZGF0aW9u
QW5hbHlzaXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEU0N0E5N0NGMTYzMDU5RkMwMDVEQ0Q5OSAvKiBTdHlsZUludmFsaWRhdGlvbkFuYWx5c2lzLmgg
Ki87IH07CiAJCUU0Nzc4QjdGMTE1QTU4MUEwMEI1RDM3MiAvKiBKU0N1c3RvbUV2ZW50LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0Nzc4QjdEMTE1
QTU4MUEwMEI1RDM3MiAvKiBKU0N1c3RvbUV2ZW50LmNwcCAqLzsgfTsKQEAgLTE0NjU3LDYgKzE0
NjU4LDcgQEAKIAkJRTQ2MkE0QTAxMTNFNzFCRTAwNEE0MjIwIC8qIEludFBvaW50SGFzaC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnRQb2ludEhhc2guaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQ2QTJCMUIxN0NBNjVCOTAwMERCQ0Q4IC8qIFR5cGVkRWxl
bWVudERlc2NlbmRhbnRJdGVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBUeXBlZEVsZW1lbnREZXNjZW5kYW50SXRlcmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTQ2QTJCMUQxN0NBNzZCMTAwMERCQ0Q4IC8qIEVsZW1lbnRDaGlsZEl0ZXJhdG9y
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEVsZW1lbnRDaGlsZEl0ZXJhdG9y
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUU0NkI0MUY4MUNCMjRFNzAwMDhGMTFE
RSAvKiBOb0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUU0Nzc4QjdEMTE1QTU4MUEwMEI1RDM3MiAvKiBKU0N1c3RvbUV2ZW50LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ3VzdG9tRXZlbnQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDc3OEI3RTExNUE1ODFBMDBCNUQzNzIgLyog
SlNDdXN0b21FdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0N1c3Rv
bUV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0N0EzQUMyMUM1RUFCQkUw
MENDQkZBNyAvKiBTdHlsZVNoYXJpbmdSZXNvbHZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBTdHlsZVNoYXJpbmdSZXNvbHZlci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0yNDQyMCw2ICsyNDQyMiw3IEBACiAJCQkJRTQzMTA1QjcxNjc1MEYw
QzAwREIyRkI4IC8qIE5vZGVUcmF2ZXJzYWwuY3BwICovLAogCQkJCUU0MzEwNUJBMTY3NTBGMTYw
MERCMkZCOCAvKiBOb2RlVHJhdmVyc2FsLmggKi8sCiAJCQkJOTM4MkFBQjEwRDhDMzg2MTAwRjM1
N0E2IC8qIE5vZGVXaXRoSW5kZXguaCAqLywKKwkJCQlFNDZCNDFGODFDQjI0RTcwMDA4RjExREUg
LyogTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uLmggKi8sCiAJCQkJODM2OUU1OEYxQUZERDAzMDAw
ODdERjY4IC8qIE5vbkRvY3VtZW50VHlwZUNoaWxkTm9kZS5pZGwgKi8sCiAJCQkJN0M2NzUyQkEx
QjA2RTgyMDAwQzI3OUNCIC8qIE5vbkVsZW1lbnRQYXJlbnROb2RlLmlkbCAqLywKIAkJCQkxQTBE
NTczNDBBNUM3N0ZFMDA3RURENEMgLyogT3ZlcmZsb3dFdmVudC5jcHAgKi8sCkBAIC0yNjMwNiw2
ICsyNjMwOSw3IEBACiAJCQkJNTE4NUZDOTkxQkI0QzRFODAwMTI4OThGIC8qIElEQktleVBhdGgu
aCBpbiBIZWFkZXJzICovLAogCQkJCTUxODVGQzlCMUJCNEM0RTgwMDEyODk4RiAvKiBJREJLZXlS
YW5nZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4NUZDOUUxQkI0QzRFODAwMTI4OThGIC8qIElE
QktleVJhbmdlRGF0YS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTQ2QjQxRjkxQ0IyNEU3MDAwOEYx
MURFIC8qIE5vRXZlbnREaXNwYXRjaEFzc2VydGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4
NUZDQTAxQkI0QzRFODAwMTI4OThGIC8qIElEQk9iamVjdFN0b3JlLmggaW4gSGVhZGVycyAqLywK
IAkJCQk1MTYwNzEyRjFCRDgzMDc4MDBEQkM0RjIgLyogSURCT2JqZWN0U3RvcmVJbmZvLmggaW4g
SGVhZGVycyAqLywKIAkJCQk1MTg1RkNBNDFCQjRDNEU4MDAxMjg5OEYgLyogSURCT3BlbkRCUmVx
dWVzdC5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVy
Tm9kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUu
Y3BwCShyZXZpc2lvbiAxOTg5NDQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9k
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlICJMYWJlbHNO
b2RlTGlzdC5oIgogI2luY2x1ZGUgIk11dGF0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJOYW1lTm9k
ZUxpc3QuaCIKKyNpbmNsdWRlICJOb0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24uaCIKICNpbmNsdWRl
ICJOb2RlT3JTdHJpbmcuaCIKICNpbmNsdWRlICJOb2RlUmFyZURhdGEuaCIKICNpbmNsdWRlICJO
b2RlUmVuZGVyU3R5bGUuaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2Rl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuaAkocmV2
aXNpb24gMTk4OTQ0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuaAkod29y
a2luZyBjb3B5KQpAQCAtMzQsNDkgKzM0LDYgQEAgY2xhc3MgSFRNTENvbGxlY3Rpb247CiBjbGFz
cyBSYWRpb05vZGVMaXN0OwogY2xhc3MgUmVuZGVyRWxlbWVudDsKIAotY2xhc3MgTm9FdmVudERp
c3BhdGNoQXNzZXJ0aW9uIHsKLXB1YmxpYzoKLSAgICBOb0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24o
KQotICAgIHsKLSNpZiAhQVNTRVJUX0RJU0FCTEVECi0gICAgICAgIGlmICghaXNNYWluVGhyZWFk
KCkpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICsrc19jb3VudDsKLSNlbmRpZgotICAg
IH0KLQotICAgIE5vRXZlbnREaXNwYXRjaEFzc2VydGlvbihjb25zdCBOb0V2ZW50RGlzcGF0Y2hB
c3NlcnRpb24mKQotICAgICAgICA6IE5vRXZlbnREaXNwYXRjaEFzc2VydGlvbigpCi0gICAgewot
ICAgIH0KLQotICAgIH5Ob0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24oKQotICAgIHsKLSNpZiAhQVNT
RVJUX0RJU0FCTEVECi0gICAgICAgIGlmICghaXNNYWluVGhyZWFkKCkpCi0gICAgICAgICAgICBy
ZXR1cm47Ci0gICAgICAgIEFTU0VSVChzX2NvdW50KTsKLSAgICAgICAgc19jb3VudC0tOwotI2Vu
ZGlmCi0gICAgfQotCi0gICAgc3RhdGljIGJvb2wgaXNFdmVudERpc3BhdGNoRm9yYmlkZGVuKCkK
LSAgICB7Ci0jaWYgQVNTRVJUX0RJU0FCTEVECi0gICAgICAgIHJldHVybiBmYWxzZTsKLSNlbHNl
Ci0gICAgICAgIHJldHVybiBpc01haW5UaHJlYWQoKSAmJiBzX2NvdW50OwotI2VuZGlmCi0gICAg
fQotCi0jaWYgIUFTU0VSVF9ESVNBQkxFRAotCi1wcml2YXRlOgotICAgIFdFQkNPUkVfRVhQT1JU
IHN0YXRpYyB1bnNpZ25lZCBzX2NvdW50OwotCi0jZW5kaWYKLX07Ci0KIGNsYXNzIENvbnRhaW5l
ck5vZGUgOiBwdWJsaWMgTm9kZSB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+Q29udGFpbmVyTm9k
ZSgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGVBbGdvcml0aG1zLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZUFsZ29yaXRo
bXMuY3BwCShyZXZpc2lvbiAxOTg5NDQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVy
Tm9kZUFsZ29yaXRobXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ29udGFpbmVyTm9kZUFsZ29yaXRobXMuaCIKIAor
I2luY2x1ZGUgIk5vRXZlbnREaXNwYXRjaEFzc2VydGlvbi5oIgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkocmV2aXNpb24gMTk4OTQ0KQorKysg
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE2LDYg
KzExNiw3IEBACiAjaW5jbHVkZSAiTXV0YXRpb25FdmVudC5oIgogI2luY2x1ZGUgIk5hbWVOb2Rl
TGlzdC5oIgogI2luY2x1ZGUgIk5lc3RpbmdMZXZlbEluY3JlbWVudGVyLmgiCisjaW5jbHVkZSAi
Tm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uLmgiCiAjaW5jbHVkZSAiTm9kZUl0ZXJhdG9yLmgiCiAj
aW5jbHVkZSAiTm9kZVJhcmVEYXRhLmgiCiAjaW5jbHVkZSAiTm9kZVdpdGhJbmRleC5oIgpJbmRl
eDogU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmNwcAkocmV2aXNpb24gMTk4OTkyKQorKysgU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Niw2ICs2Niw3IEBACiAjaW5j
bHVkZSAiTWFpbkZyYW1lLmgiCiAjaW5jbHVkZSAiTXV0YXRpb25PYnNlcnZlckludGVyZXN0R3Jv
dXAuaCIKICNpbmNsdWRlICJNdXRhdGlvblJlY29yZC5oIgorI2luY2x1ZGUgIk5vRXZlbnREaXNw
YXRjaEFzc2VydGlvbi5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUg
IlBsYXRmb3JtV2hlZWxFdmVudC5oIgogI2luY2x1ZGUgIlBvaW50ZXJMb2NrQ29udHJvbGxlci5o
IgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRJdGVyYXRvckFzc2VydGlvbnMuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudEl0ZXJhdG9yQXNzZXJ0aW9u
cy5oCShyZXZpc2lvbiAxOTg5NDQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudEl0ZXJh
dG9yQXNzZXJ0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjZGVmaW5l
IEVsZW1lbnRJdGVyYXRvckFzc2VydGlvbnNfaAogCiAjaW5jbHVkZSAiRWxlbWVudC5oIgorI2lu
Y2x1ZGUgIk5vRXZlbnREaXNwYXRjaEFzc2VydGlvbi5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoZXIuY3BwCShyZXZpc2lvbiAx
OTg5NDQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnREaXNwYXRjaGVyLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgogI2luY2x1
ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJNb3VzZUV2ZW50LmgiCisjaW5jbHVk
ZSAiTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uLmgiCiAjaW5jbHVkZSAiUHNldWRvRWxlbWVudC5o
IgogI2luY2x1ZGUgIlNjb3BlZEV2ZW50UXVldWUuaCIKICNpbmNsdWRlICJTaGFkb3dSb290Lmgi
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5jcHAJKHJldmlzaW9uIDE5ODk0NCkKKysr
IFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0
LDYgKzM0LDcgQEAKIAogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKKyNpbmNsdWRlICJOb0V2ZW50RGlzcGF0Y2hBc3NlcnRp
b24uaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiV2ViS2l0QW5p
bWF0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJXZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCIKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2RvbS9Ob0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24uaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uLmgJKHJldmlz
aW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw5NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMTk5
OSBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQorICogICAgICAgICAgIChDKSAxOTk5IEFudHRp
IEtvaXZpc3RvIChrb2l2aXN0b0BrZGUub3JnKQorICogICAgICAgICAgIChDKSAyMDAxIERpcmsg
TXVlbGxlciAobXVlbGxlckBrZGUub3JnKQorICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMTYgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
KyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBD
T1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24s
IE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2lmbmRlZiBOb0V2ZW50RGlzcGF0Y2hB
c3NlcnRpb25faAorI2RlZmluZSBOb0V2ZW50RGlzcGF0Y2hBc3NlcnRpb25faAorCisjaW5jbHVk
ZSA8d3RmL01haW5UaHJlYWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBOb0V2
ZW50RGlzcGF0Y2hBc3NlcnRpb24geworcHVibGljOgorICAgIE5vRXZlbnREaXNwYXRjaEFzc2Vy
dGlvbigpCisgICAgeworI2lmICFBU1NFUlRfRElTQUJMRUQKKyAgICAgICAgaWYgKCFpc01haW5U
aHJlYWQoKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgKytzX2NvdW50OworI2VuZGlm
CisgICAgfQorCisgICAgTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uKGNvbnN0IE5vRXZlbnREaXNw
YXRjaEFzc2VydGlvbiYpCisgICAgICAgIDogTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uKCkKKyAg
ICB7CisgICAgfQorCisgICAgfk5vRXZlbnREaXNwYXRjaEFzc2VydGlvbigpCisgICAgeworI2lm
ICFBU1NFUlRfRElTQUJMRUQKKyAgICAgICAgaWYgKCFpc01haW5UaHJlYWQoKSkKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgQVNTRVJUKHNfY291bnQpOworICAgICAgICBzX2NvdW50LS07
CisjZW5kaWYKKyAgICB9CisKKyAgICBzdGF0aWMgYm9vbCBpc0V2ZW50RGlzcGF0Y2hGb3JiaWRk
ZW4oKQorICAgIHsKKyNpZiBBU1NFUlRfRElTQUJMRUQKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
I2Vsc2UKKyAgICAgICAgcmV0dXJuIGlzTWFpblRocmVhZCgpICYmIHNfY291bnQ7CisjZW5kaWYK
KyAgICB9CisKKyAgICBzdGF0aWMgdW5zaWduZWQgZHJvcFRlbXBvcmFyaWx5KCkKKyAgICB7Cisj
aWYgQVNTRVJUX0RJU0FCTEVECisgICAgICAgIHJldHVybiAwOworI2Vsc2UKKyAgICAgICAgdW5z
aWduZWQgY291bnQgPSBzX2NvdW50OworICAgICAgICBzX2NvdW50ID0gMDsKKyAgICAgICAgcmV0
dXJuIGNvdW50OworI2VuZGlmCisgICAgfQorCisgICAgc3RhdGljIHZvaWQgcmVzdG9yZURyb3Bw
ZWQodW5zaWduZWQgY291bnQpCisgICAgeworI2lmIEFTU0VSVF9ESVNBQkxFRAorICAgICAgICBV
TlVTRURfUEFSQU0oY291bnQpOworI2Vsc2UKKyAgICAgICAgQVNTRVJUKCFzX2NvdW50KTsKKyAg
ICAgICAgc19jb3VudCA9IGNvdW50OworI2VuZGlmCisgICAgfQorCisjaWYgIUFTU0VSVF9ESVNB
QkxFRAorcHJpdmF0ZToKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdW5zaWduZWQgc19jb3Vu
dDsKKyNlbmRpZgorfTsKKworfQorCisjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9O
b2RlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAJKHJldmlz
aW9uIDE5ODk5MikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNTEsNiArNTEsNyBAQAogI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuaCIKICNpbmNsdWRl
ICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTXV0YXRpb25FdmVudC5oIgorI2luY2x1ZGUgIk5vRXZl
bnREaXNwYXRjaEFzc2VydGlvbi5oIgogI2luY2x1ZGUgIk5vZGVPclN0cmluZy5oIgogI2luY2x1
ZGUgIk5vZGVSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgIlByb2Nlc3NpbmdJbnN0cnVjdGlvbi5o
IgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNw
cAkocmV2aXNpb24gMTk4OTQ0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAi
RG9jdW1lbnQuaCIKICNpbmNsdWRlICJFcnJvckV2ZW50LmgiCiAjaW5jbHVkZSAiTWVzc2FnZVBv
cnQuaCIKKyNpbmNsdWRlICJOb0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24uaCIKICNpbmNsdWRlICJQ
dWJsaWNVUkxNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJXb3Jr
ZXJHbG9iYWxTY29wZS5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxv
dy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5j
cHAJKHJldmlzaW9uIDE5ODk0NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXROYW1lZEZs
b3cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiV2ViS2l0
TmFtZWRGbG93LmgiCiAKICNpbmNsdWRlICJOYW1lZEZsb3dDb2xsZWN0aW9uLmgiCisjaW5jbHVk
ZSAiTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uLmgiCiAjaW5jbHVkZSAiUmVuZGVyTmFtZWRGbG93
RnJhZ21lbnQuaCIKICNpbmNsdWRlICJSZW5kZXJOYW1lZEZsb3dUaHJlYWQuaCIKICNpbmNsdWRl
ICJSZW5kZXJSZWdpb24uaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAJ
KHJldmlzaW9uIDE5ODk0NCkKKysrIFNvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDYsNiArNDYsNyBAQAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIK
ICNpbmNsdWRlICJNYWluRnJhbWUuaCIKICNpbmNsdWRlICJNZW1vcnlQcmVzc3VyZUhhbmRsZXIu
aCIKKyNpbmNsdWRlICJOb0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24uaCIKICNpbmNsdWRlICJQYWdl
LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJTdWJmcmFtZUxvYWRlci5oIgpJ
bmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCShyZXZpc2lvbiAx
OTg5NDQpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC02OCw2ICs2OCw3IEBACiAjaW5jbHVkZSAiTWVkaWFSZXNvdXJjZUxvYWRl
ci5oIgogI2luY2x1ZGUgIk1lbW9yeVByZXNzdXJlSGFuZGxlci5oIgogI2luY2x1ZGUgIk5ldHdv
cmtpbmdDb250ZXh0LmgiCisjaW5jbHVkZSAiTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uLmgiCiAj
aW5jbHVkZSAiUGFnZUdyb3VwLmgiCiAjaW5jbHVkZSAiUGFnZVRocm90dGxlci5oIgogI2luY2x1
ZGUgIlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oIgpJbmRleDogU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFNWR0ZvbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTVkdGb250LmNwcAkocmV2aXNpb24gMTk4OTQ0KQorKysg
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNWR0ZvbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zMSw2ICszMSw3IEBACiAKICNpbmNsdWRlICJGb250RGVzY3JpcHRpb24uaCIKICNp
bmNsdWRlICJGb250UGxhdGZvcm1EYXRhLmgiCisjaW5jbHVkZSAiTm9FdmVudERpc3BhdGNoQXNz
ZXJ0aW9uLmgiCiAjaW5jbHVkZSAiU1ZHRG9jdW1lbnQuaCIKICNpbmNsdWRlICJTVkdGb250RWxl
bWVudC5oIgogI2luY2x1ZGUgIlNWR0ZvbnRGYWNlRWxlbWVudC5oIgpAQCAtNjQsOSArNjUsMTYg
QEAgRm9udFBsYXRmb3JtRGF0YSBDYWNoZWRTVkdGb250OjpwbGF0Zm9ybQogYm9vbCBDYWNoZWRT
VkdGb250OjplbnN1cmVDdXN0b21Gb250RGF0YShjb25zdCBBdG9taWNTdHJpbmcmIHJlbW90ZVVS
SSkKIHsKICAgICBpZiAoIW1fZXh0ZXJuYWxTVkdEb2N1bWVudCAmJiAhZXJyb3JPY2N1cnJlZCgp
ICYmICFpc0xvYWRpbmcoKSAmJiBtX2RhdGEpIHsKKyAgICAgICAgLy8gV2UgbWF5IGdldCBoZXJl
IGR1cmluZyByZW5kZXIgdHJlZSB1cGRhdGVzIHdoZW4gZXZlbnRzIGFyZSBmb3JiaWRkZW4uCisg
ICAgICAgIC8vIEZyYW1lbGVzcyBkb2N1bWVudCBjYW4ndCBydW4gc2NyaXB0cyBvciBjYWxsIGJh
Y2sgdG8gdGhlIGNsaWVudCBzbyB0aGlzIGlzIHNhZmUuCisgICAgICAgIGF1dG8gY291bnQgPSBO
b0V2ZW50RGlzcGF0Y2hBc3NlcnRpb246OmRyb3BUZW1wb3JhcmlseSgpOworCiAgICAgICAgIG1f
ZXh0ZXJuYWxTVkdEb2N1bWVudCA9IFNWR0RvY3VtZW50OjpjcmVhdGUobnVsbHB0ciwgVVJMKCkp
OwogICAgICAgICBSZWZQdHI8VGV4dFJlc291cmNlRGVjb2Rlcj4gZGVjb2RlciA9IFRleHRSZXNv
dXJjZURlY29kZXI6OmNyZWF0ZSgiYXBwbGljYXRpb24veG1sIik7CiAgICAgICAgIG1fZXh0ZXJu
YWxTVkdEb2N1bWVudC0+c2V0Q29udGVudChkZWNvZGVyLT5kZWNvZGVBbmRGbHVzaChtX2RhdGEt
PmRhdGEoKSwgbV9kYXRhLT5zaXplKCkpKTsKKworICAgICAgICBOb0V2ZW50RGlzcGF0Y2hBc3Nl
cnRpb246OnJlc3RvcmVEcm9wcGVkKGNvdW50KTsKKwogICAgICAgICBpZiAoZGVjb2Rlci0+c2F3
RXJyb3IoKSkKICAgICAgICAgICAgIG1fZXh0ZXJuYWxTVkdEb2N1bWVudCA9IG51bGxwdHI7CiAg
ICAgICAgIGlmIChtX2V4dGVybmFsU1ZHRG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9z
dHlsZS9SZW5kZXJUcmVlVXBkYXRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
c3R5bGUvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwCShyZXZpc2lvbiAxOTg5OTIpCisrKyBTb3VyY2Uv
V2ViQ29yZS9zdHlsZS9SZW5kZXJUcmVlVXBkYXRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEw
OSw5ICsxMDksNiBAQCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVSZW5kZXJUcmVlCiAg
ICAgYXV0byBpdCA9IGRlc2NlbmRhbnRzLmJlZ2luKCk7CiAgICAgYXV0byBlbmQgPSBkZXNjZW5k
YW50cy5lbmQoKTsKIAotICAgIC8vIEZJWE1FOiBTVkcgPHVzZT4gZWxlbWVudCBtYXkgY2F1c2Ug
dHJlZSBtdXRhdGlvbnMgZHVyaW5nIHN0eWxlIHJlY2FsYy4KLSAgICBpdC5kcm9wQXNzZXJ0aW9u
cygpOwotCiAgICAgd2hpbGUgKGl0ICE9IGVuZCkgewogICAgICAgICBwb3BQYXJlbnRzVG9EZXB0
aChpdC5kZXB0aCgpKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275537</attachid>
            <date>2016-04-04 01:51:13 -0700</date>
            <delta_ts>2016-04-04 01:51:13 -0700</delta_ts>
            <desc>patch</desc>
            <filename>rendertreeupdater-assertion-3.patch</filename>
            <type>text/plain</type>
            <size>16930</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5ODk5NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQzIEBACisyMDE2LTA0LTA0ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBFbmFibGUgYXNzZXJ0aW9ucyBh
Z2FpbnN0IERPTSBtdXRhdGlvbnMgaW4gUmVuZGVyVHJlZVVwZGF0ZXIKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NjE1NgorCisgICAgICAgIFJldmll
d2VkIGJ5IEFuZHJlYXMgS2xpbmcuCisKKyAgICAgICAgRW5zdXJlIHdlIGRvbid0IG11dGF0ZSBE
T00gb3IgZGlzcGF0Y2ggZXZlbnRzIGR1cmluZyByZW5kZXIgdHJlZSB1cGRhdGVzLgorCisgICAg
ICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9D
b250YWluZXJOb2RlLmNwcDoKKyAgICAgICAgKiBkb20vQ29udGFpbmVyTm9kZS5oOgorICAgICAg
ICAoV2ViQ29yZTo6Tm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uOjpOb0V2ZW50RGlzcGF0Y2hBc3Nl
cnRpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Tm9FdmVudERpc3BhdGNoQXNzZXJ0
aW9uOjp+Tm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6Ok5vRXZlbnREaXNwYXRjaEFzc2VydGlvbjo6aXNFdmVudERpc3BhdGNoRm9yYmlkZGVuKTog
RGVsZXRlZC4KKworICAgICAgICAgICAgTW92ZSBOb0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24gdG8g
YSBoZWFkZXIgb2YgaXRzIG93bi4KKworICAgICAgICAqIGRvbS9Ob0V2ZW50RGlzcGF0Y2hBc3Nl
cnRpb24uaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpOb0V2ZW50RGlzcGF0Y2hBc3NlcnRp
b246Ok5vRXZlbnREaXNwYXRjaEFzc2VydGlvbik6CisgICAgICAgIChXZWJDb3JlOjpOb0V2ZW50
RGlzcGF0Y2hBc3NlcnRpb246On5Ob0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6Tm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uOjppc0V2ZW50RGlzcGF0Y2hGb3JiaWRk
ZW4pOgorICAgICAgICAoV2ViQ29yZTo6Tm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uOjpkcm9wVGVt
cG9yYXJpbHkpOgorICAgICAgICAoV2ViQ29yZTo6Tm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uOjpy
ZXN0b3JlRHJvcHBlZCk6CisKKyAgICAgICAgICAgIEFkZCBhIHdheSB0byBkaXNhYmxlIGV2ZW50
IGFzc2VydGlvbnMgdGVtcG9yYXJpbHkuCisKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVk
U1ZHRm9udC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRTVkdGb250OjplbnN1cmVDdXN0
b21Gb250RGF0YSk6CisKKyAgICAgICAgICAgIFRlbXBvcmFyeSBTVkcgZm9udCBkb2N1bWVudCBt
YXkgZ2V0IGNvbnN0cnVjdGVkIGR1cmluZyByZW5kZXIgdHJlZSB1cGRhdGUuIFRoZXNlIGNhbid0
IHJ1biBzY3JpcHRzIG9yIGdlbmVyYWxseQorICAgICAgICAgICAgYWZmZWN0IGFueXRoaW5nIG91
dHNpZGUgdGhlIGZvbnQgZG9jdW1lbnQgYXMgaXQgZG9lcyBub3QgaGF2ZSBhIGZyYW1lLiBEaXNh
YmxlIGV2ZW50IGFzc2VydGlvbnMgdGVtcG9yYXJpbHkuCisKKyAgICAgICAgICAgIFRlc3RlZCBi
eSBzdmcvVzNDLVNWRy0xLjEvZm9udHMtZWxlbS0wNy1iLnN2ZworCisgICAgICAgICogc3R5bGUv
UmVuZGVyVHJlZVVwZGF0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZVVwZGF0
ZXI6OnVwZGF0ZVJlbmRlclRyZWUpOgorCisgICAgICAgICAgICBFbmFibGUgYXNzZXJ0aW9ucy4K
KwogMjAxNi0wNC0wNCAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAg
ICAgICAgIEFYOiBDb25zb2xpZGF0ZSByYWRpbyBidXR0b24gZ3JvdXAgbWVtYmVyIGNvZGUgd2l0
aCB0aGF0IGluIEhUTUxFbGVtZW50IGRlcml2YXRpdmVzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxOTg5NDQp
CisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdv
cmtpbmcgY29weSkKQEAgLTY2MjUsNiArNjYyNSw3IEBACiAJCUU0NjJBNEExMTEzRTcxQkUwMDRB
NDIyMCAvKiBJbnRQb2ludEhhc2guaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEU0NjJBNEEwMTEzRTcxQkUwMDRBNDIyMCAvKiBJbnRQb2ludEhhc2guaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFNDZBMkIx
QzE3Q0E2NUI5MDAwREJDRDggLyogVHlwZWRFbGVtZW50RGVzY2VuZGFudEl0ZXJhdG9yLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDZBMkIxQjE3Q0E2
NUI5MDAwREJDRDggLyogVHlwZWRFbGVtZW50RGVzY2VuZGFudEl0ZXJhdG9yLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTQ2QTJCMUUxN0NBNzZC
MTAwMERCQ0Q4IC8qIEVsZW1lbnRDaGlsZEl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDZBMkIxRDE3Q0E3NkIxMDAwREJDRDggLyogRWxl
bWVudENoaWxkSXRlcmF0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQlFNDZCNDFGOTFDQjI0RTcwMDA4RjExREUgLyogTm9FdmVudERpc3BhdGNo
QXNzZXJ0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFNDZCNDFGODFDQjI0RTcwMDA4RjExREUgLyogTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTQ3MTI3
Q0ExNjM0MzhBMTAwRUQ2RjVBIC8qIFN0eWxlSW52YWxpZGF0aW9uQW5hbHlzaXMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ3QTk3Q0UxNjMwNTlG
QzAwNURDRDk5IC8qIFN0eWxlSW52YWxpZGF0aW9uQW5hbHlzaXMuY3BwICovOyB9OwogCQlFNDcx
MjdDQjE2MzQzOEFFMDBFRDZGNUEgLyogU3R5bGVJbnZhbGlkYXRpb25BbmFseXNpcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ3QTk3Q0YxNjMwNTlG
QzAwNURDRDk5IC8qIFN0eWxlSW52YWxpZGF0aW9uQW5hbHlzaXMuaCAqLzsgfTsKIAkJRTQ3NzhC
N0YxMTVBNTgxQTAwQjVEMzcyIC8qIEpTQ3VzdG9tRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ3NzhCN0QxMTVBNTgxQTAwQjVEMzcyIC8q
IEpTQ3VzdG9tRXZlbnQuY3BwICovOyB9OwpAQCAtMTQ2NTcsNiArMTQ2NTgsNyBAQAogCQlFNDYy
QTRBMDExM0U3MUJFMDA0QTQyMjAgLyogSW50UG9pbnRIYXNoLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEludFBvaW50SGFzaC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlFNDZBMkIxQjE3Q0E2NUI5MDAwREJDRDggLyogVHlwZWRFbGVtZW50RGVzY2VuZGFudEl0
ZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFR5cGVkRWxlbWVudERl
c2NlbmRhbnRJdGVyYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDZBMkIx
RDE3Q0E3NkIxMDAwREJDRDggLyogRWxlbWVudENoaWxkSXRlcmF0b3IuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gRWxlbWVudENoaWxkSXRlcmF0b3IuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRTQ2QjQxRjgxQ0IyNEU3MDAwOEYxMURFIC8qIE5vRXZlbnREaXNw
YXRjaEFzc2VydGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOb0V2ZW50
RGlzcGF0Y2hBc3NlcnRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQ3NzhC
N0QxMTVBNTgxQTAwQjVEMzcyIC8qIEpTQ3VzdG9tRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNDdXN0b21FdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUU0Nzc4QjdFMTE1QTU4MUEwMEI1RDM3MiAvKiBKU0N1c3RvbUV2ZW50Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ3VzdG9tRXZlbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQ3QTNBQzIxQzVFQUJCRTAwQ0NCRkE3IC8qIFN0eWxl
U2hhcmluZ1Jlc29sdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFN0eWxlU2hhcmluZ1Jlc29sdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTI0NDIwLDYgKzI0NDIyLDcgQEAKIAkJCQlFNDMxMDVCNzE2NzUwRjBDMDBEQjJGQjggLyogTm9k
ZVRyYXZlcnNhbC5jcHAgKi8sCiAJCQkJRTQzMTA1QkExNjc1MEYxNjAwREIyRkI4IC8qIE5vZGVU
cmF2ZXJzYWwuaCAqLywKIAkJCQk5MzgyQUFCMTBEOEMzODYxMDBGMzU3QTYgLyogTm9kZVdpdGhJ
bmRleC5oICovLAorCQkJCUU0NkI0MUY4MUNCMjRFNzAwMDhGMTFERSAvKiBOb0V2ZW50RGlzcGF0
Y2hBc3NlcnRpb24uaCAqLywKIAkJCQk4MzY5RTU4RjFBRkREMDMwMDA4N0RGNjggLyogTm9uRG9j
dW1lbnRUeXBlQ2hpbGROb2RlLmlkbCAqLywKIAkJCQk3QzY3NTJCQTFCMDZFODIwMDBDMjc5Q0Ig
LyogTm9uRWxlbWVudFBhcmVudE5vZGUuaWRsICovLAogCQkJCTFBMEQ1NzM0MEE1Qzc3RkUwMDdF
REQ0QyAvKiBPdmVyZmxvd0V2ZW50LmNwcCAqLywKQEAgLTI2MzA2LDYgKzI2MzA5LDcgQEAKIAkJ
CQk1MTg1RkM5OTFCQjRDNEU4MDAxMjg5OEYgLyogSURCS2V5UGF0aC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTE4NUZDOUIxQkI0QzRFODAwMTI4OThGIC8qIElEQktleVJhbmdlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1MTg1RkM5RTFCQjRDNEU4MDAxMjg5OEYgLyogSURCS2V5UmFuZ2VEYXRhLmgg
aW4gSGVhZGVycyAqLywKKwkJCQlFNDZCNDFGOTFDQjI0RTcwMDA4RjExREUgLyogTm9FdmVudERp
c3BhdGNoQXNzZXJ0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTg1RkNBMDFCQjRDNEU4MDAx
Mjg5OEYgLyogSURCT2JqZWN0U3RvcmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNjA3MTJGMUJE
ODMwNzgwMERCQzRGMiAvKiBJREJPYmplY3RTdG9yZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJ
CTUxODVGQ0E0MUJCNEM0RTgwMDEyODk4RiAvKiBJREJPcGVuREJSZXF1ZXN0LmggaW4gSGVhZGVy
cyAqLywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAJKHJldmlzaW9uIDE5
ODk0NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIkxhYmVsc05vZGVMaXN0LmgiCiAjaW5j
bHVkZSAiTXV0YXRpb25FdmVudC5oIgogI2luY2x1ZGUgIk5hbWVOb2RlTGlzdC5oIgorI2luY2x1
ZGUgIk5vRXZlbnREaXNwYXRjaEFzc2VydGlvbi5oIgogI2luY2x1ZGUgIk5vZGVPclN0cmluZy5o
IgogI2luY2x1ZGUgIk5vZGVSYXJlRGF0YS5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJTdHlsZS5o
IgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5oCShyZXZpc2lvbiAxOTg5NDQpCisr
KyBTb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0z
NCw0OSArMzQsNiBAQCBjbGFzcyBIVE1MQ29sbGVjdGlvbjsKIGNsYXNzIFJhZGlvTm9kZUxpc3Q7
CiBjbGFzcyBSZW5kZXJFbGVtZW50OwogCi1jbGFzcyBOb0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24g
ewotcHVibGljOgotICAgIE5vRXZlbnREaXNwYXRjaEFzc2VydGlvbigpCi0gICAgewotI2lmICFB
U1NFUlRfRElTQUJMRUQKLSAgICAgICAgaWYgKCFpc01haW5UaHJlYWQoKSkKLSAgICAgICAgICAg
IHJldHVybjsKLSAgICAgICAgKytzX2NvdW50OwotI2VuZGlmCi0gICAgfQotCi0gICAgTm9FdmVu
dERpc3BhdGNoQXNzZXJ0aW9uKGNvbnN0IE5vRXZlbnREaXNwYXRjaEFzc2VydGlvbiYpCi0gICAg
ICAgIDogTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uKCkKLSAgICB7Ci0gICAgfQotCi0gICAgfk5v
RXZlbnREaXNwYXRjaEFzc2VydGlvbigpCi0gICAgewotI2lmICFBU1NFUlRfRElTQUJMRUQKLSAg
ICAgICAgaWYgKCFpc01haW5UaHJlYWQoKSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
QVNTRVJUKHNfY291bnQpOwotICAgICAgICBzX2NvdW50LS07Ci0jZW5kaWYKLSAgICB9Ci0KLSAg
ICBzdGF0aWMgYm9vbCBpc0V2ZW50RGlzcGF0Y2hGb3JiaWRkZW4oKQotICAgIHsKLSNpZiBBU1NF
UlRfRElTQUJMRUQKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotI2Vsc2UKLSAgICAgICAgcmV0dXJu
IGlzTWFpblRocmVhZCgpICYmIHNfY291bnQ7Ci0jZW5kaWYKLSAgICB9Ci0KLSNpZiAhQVNTRVJU
X0RJU0FCTEVECi0KLXByaXZhdGU6Ci0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHVuc2lnbmVk
IHNfY291bnQ7Ci0KLSNlbmRpZgotfTsKLQogY2xhc3MgQ29udGFpbmVyTm9kZSA6IHB1YmxpYyBO
b2RlIHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5Db250YWluZXJOb2RlKCk7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZUFsZ29yaXRobXMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlQWxnb3JpdGhtcy5jcHAJKHJldmlzaW9u
IDE5ODk0NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlQWxnb3JpdGhtcy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJDb250YWluZXJOb2RlQWxnb3JpdGhtcy5oIgogCisjaW5jbHVkZSAiTm9FdmVu
dERpc3BhdGNoQXNzZXJ0aW9uLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApJbmRleDogU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAxOTg5NDQpCisrKyBTb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsNiArMTE2LDcgQEAKICNpbmNs
dWRlICJNdXRhdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiTmFtZU5vZGVMaXN0LmgiCiAjaW5jbHVk
ZSAiTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaCIKKyNpbmNsdWRlICJOb0V2ZW50RGlzcGF0Y2hB
c3NlcnRpb24uaCIKICNpbmNsdWRlICJOb2RlSXRlcmF0b3IuaCIKICNpbmNsdWRlICJOb2RlUmFy
ZURhdGEuaCIKICNpbmNsdWRlICJOb2RlV2l0aEluZGV4LmgiCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuY3BwCShyZXZpc2lvbiAxOTg5OTIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTY2LDYgKzY2LDcgQEAKICNpbmNsdWRlICJNYWluRnJhbWUu
aCIKICNpbmNsdWRlICJNdXRhdGlvbk9ic2VydmVySW50ZXJlc3RHcm91cC5oIgogI2luY2x1ZGUg
Ik11dGF0aW9uUmVjb3JkLmgiCisjaW5jbHVkZSAiTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uLmgi
CiAjaW5jbHVkZSAiTm9kZVJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1XaGVlbEV2
ZW50LmgiCiAjaW5jbHVkZSAiUG9pbnRlckxvY2tDb250cm9sbGVyLmgiCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudEl0ZXJhdG9yQXNzZXJ0aW9ucy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50SXRlcmF0b3JBc3NlcnRpb25zLmgJKHJldmlzaW9uIDE5
ODk0NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50SXRlcmF0b3JBc3NlcnRpb25zLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAKICNkZWZpbmUgRWxlbWVudEl0ZXJhdG9y
QXNzZXJ0aW9uc19oCiAKICNpbmNsdWRlICJFbGVtZW50LmgiCisjaW5jbHVkZSAiTm9FdmVudERp
c3BhdGNoQXNzZXJ0aW9uLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApJbmRleDogU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHAJKHJldmlzaW9uIDE5ODk0NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2
ICszMSw3IEBACiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiSFRNTElucHV0RWxl
bWVudC5oIgogI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKKyNpbmNsdWRlICJOb0V2ZW50RGlzcGF0
Y2hBc3NlcnRpb24uaCIKICNpbmNsdWRlICJQc2V1ZG9FbGVtZW50LmgiCiAjaW5jbHVkZSAiU2Nv
cGVkRXZlbnRRdWV1ZS5oIgogI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudFRhcmdldC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50VGFyZ2V0LmNwcAkocmV2aXNpb24gMTk4OTQ0KQorKysgU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50VGFyZ2V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQsNiArMzQsNyBAQAogCiAj
aW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5oIgorI2luY2x1ZGUgIk5vRXZlbnREaXNwYXRjaEFzc2VydGlvbi5oIgogI2luY2x1ZGUg
IlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJXZWJLaXRBbmltYXRpb25FdmVudC5oIgog
I2luY2x1ZGUgIldlYktpdFRyYW5zaXRpb25FdmVudC5oIgpJbmRleDogU291cmNlL1dlYkNvcmUv
ZG9tL05vRXZlbnREaXNwYXRjaEFzc2VydGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2RvbS9Ob0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24uaAkocmV2aXNpb24gMCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2RvbS9Ob0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24uaAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDk1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAxOTk5IExhcnMgS25vbGwgKGtu
b2xsQGtkZS5vcmcpCisgKiAgICAgICAgICAgKEMpIDE5OTkgQW50dGkgS29pdmlzdG8gKGtvaXZp
c3RvQGtkZS5vcmcpCisgKiAgICAgICAgICAgKEMpIDIwMDEgRGlyayBNdWVsbGVyIChtdWVsbGVy
QGtkZS5vcmcpCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVk
IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9m
IHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoK
KyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg
YmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl
IGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVj
ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisg
KiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYg
bm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEg
RnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwg
VVNBLgorICoKKyAqLworCisjaWZuZGVmIE5vRXZlbnREaXNwYXRjaEFzc2VydGlvbl9oCisjZGVm
aW5lIE5vRXZlbnREaXNwYXRjaEFzc2VydGlvbl9oCisKKyNpbmNsdWRlIDx3dGYvTWFpblRocmVh
ZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5vRXZlbnREaXNwYXRjaEFzc2Vy
dGlvbiB7CitwdWJsaWM6CisgICAgTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uKCkKKyAgICB7Cisj
aWYgIUFTU0VSVF9ESVNBQkxFRAorICAgICAgICBpZiAoIWlzTWFpblRocmVhZCgpKQorICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICArK3NfY291bnQ7CisjZW5kaWYKKyAgICB9CisKKyAgICBO
b0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24oY29uc3QgTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uJikK
KyAgICAgICAgOiBOb0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24oKQorICAgIHsKKyAgICB9CisKKyAg
ICB+Tm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uKCkKKyAgICB7CisjaWYgIUFTU0VSVF9ESVNBQkxF
RAorICAgICAgICBpZiAoIWlzTWFpblRocmVhZCgpKQorICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICBBU1NFUlQoc19jb3VudCk7CisgICAgICAgIHNfY291bnQtLTsKKyNlbmRpZgorICAgIH0K
KworICAgIHN0YXRpYyBib29sIGlzRXZlbnREaXNwYXRjaEZvcmJpZGRlbigpCisgICAgeworI2lm
IEFTU0VSVF9ESVNBQkxFRAorICAgICAgICByZXR1cm4gZmFsc2U7CisjZWxzZQorICAgICAgICBy
ZXR1cm4gaXNNYWluVGhyZWFkKCkgJiYgc19jb3VudDsKKyNlbmRpZgorICAgIH0KKworICAgIHN0
YXRpYyB1bnNpZ25lZCBkcm9wVGVtcG9yYXJpbHkoKQorICAgIHsKKyNpZiBBU1NFUlRfRElTQUJM
RUQKKyAgICAgICAgcmV0dXJuIDA7CisjZWxzZQorICAgICAgICB1bnNpZ25lZCBjb3VudCA9IHNf
Y291bnQ7CisgICAgICAgIHNfY291bnQgPSAwOworICAgICAgICByZXR1cm4gY291bnQ7CisjZW5k
aWYKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCByZXN0b3JlRHJvcHBlZCh1bnNpZ25lZCBjb3Vu
dCkKKyAgICB7CisjaWYgQVNTRVJUX0RJU0FCTEVECisgICAgICAgIFVOVVNFRF9QQVJBTShjb3Vu
dCk7CisjZWxzZQorICAgICAgICBBU1NFUlQoIXNfY291bnQpOworICAgICAgICBzX2NvdW50ID0g
Y291bnQ7CisjZW5kaWYKKyAgICB9CisKKyNpZiAhQVNTRVJUX0RJU0FCTEVECitwcml2YXRlOgor
ICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB1bnNpZ25lZCBzX2NvdW50OworI2VuZGlmCit9Owor
Cit9CisKKyNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAkocmV2aXNpb24gMTk4OTkyKQorKysg
U291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MSw2ICs1MSw3
IEBACiAjaW5jbHVkZSAiS2V5Ym9hcmRFdmVudC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNp
bmNsdWRlICJNdXRhdGlvbkV2ZW50LmgiCisjaW5jbHVkZSAiTm9FdmVudERpc3BhdGNoQXNzZXJ0
aW9uLmgiCiAjaW5jbHVkZSAiTm9kZU9yU3RyaW5nLmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlclN0
eWxlLmgiCiAjaW5jbHVkZSAiUHJvY2Vzc2luZ0luc3RydWN0aW9uLmgiCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCShyZXZpc2lvbiAxOTg5
NDQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2lu
Y2x1ZGUgIkVycm9yRXZlbnQuaCIKICNpbmNsdWRlICJNZXNzYWdlUG9ydC5oIgorI2luY2x1ZGUg
Ik5vRXZlbnREaXNwYXRjaEFzc2VydGlvbi5oIgogI2luY2x1ZGUgIlB1YmxpY1VSTE1hbmFnZXIu
aCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgi
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TmFtZWRGbG93LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TmFtZWRGbG93LmNwcAkocmV2aXNpb24gMTk4
OTQ0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJXZWJLaXROYW1lZEZsb3cuaCIKIAog
I2luY2x1ZGUgIk5hbWVkRmxvd0NvbGxlY3Rpb24uaCIKKyNpbmNsdWRlICJOb0V2ZW50RGlzcGF0
Y2hBc3NlcnRpb24uaCIKICNpbmNsdWRlICJSZW5kZXJOYW1lZEZsb3dGcmFnbWVudC5oIgogI2lu
Y2x1ZGUgIlJlbmRlck5hbWVkRmxvd1RocmVhZC5oIgogI2luY2x1ZGUgIlJlbmRlclJlZ2lvbi5o
IgpJbmRleDogU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcAkocmV2aXNpb24gMTk4OTQ0
KQorKysgU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00Niw2ICs0Niw3IEBACiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk1haW5G
cmFtZS5oIgogI2luY2x1ZGUgIk1lbW9yeVByZXNzdXJlSGFuZGxlci5oIgorI2luY2x1ZGUgIk5v
RXZlbnREaXNwYXRjaEFzc2VydGlvbi5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJT
ZXR0aW5ncy5oIgogI2luY2x1ZGUgIlN1YmZyYW1lTG9hZGVyLmgiCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAJKHJldmlzaW9uIDE5ODk0NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY4
LDYgKzY4LDcgQEAKICNpbmNsdWRlICJNZWRpYVJlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAi
TWVtb3J5UHJlc3N1cmVIYW5kbGVyLmgiCiAjaW5jbHVkZSAiTmV0d29ya2luZ0NvbnRleHQuaCIK
KyNpbmNsdWRlICJOb0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24uaCIKICNpbmNsdWRlICJQYWdlR3Jv
dXAuaCIKICNpbmNsdWRlICJQYWdlVGhyb3R0bGVyLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1NZWRp
YVNlc3Npb25NYW5hZ2VyLmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkU1ZHRm9udC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFNWR0ZvbnQuY3BwCShyZXZpc2lvbiAxOTg5NDQpCisrKyBTb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkU1ZHRm9udC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMx
LDcgQEAKIAogI2luY2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgIkZvbnRQbGF0
Zm9ybURhdGEuaCIKKyNpbmNsdWRlICJOb0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24uaCIKICNpbmNs
dWRlICJTVkdEb2N1bWVudC5oIgogI2luY2x1ZGUgIlNWR0ZvbnRFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiU1ZHRm9udEZhY2VFbGVtZW50LmgiCkBAIC02NCw5ICs2NSwxNiBAQCBGb250UGxhdGZvcm1E
YXRhIENhY2hlZFNWR0ZvbnQ6OnBsYXRmb3JtCiBib29sIENhY2hlZFNWR0ZvbnQ6OmVuc3VyZUN1
c3RvbUZvbnREYXRhKGNvbnN0IEF0b21pY1N0cmluZyYgcmVtb3RlVVJJKQogewogICAgIGlmICgh
bV9leHRlcm5hbFNWR0RvY3VtZW50ICYmICFlcnJvck9jY3VycmVkKCkgJiYgIWlzTG9hZGluZygp
ICYmIG1fZGF0YSkgeworICAgICAgICAvLyBXZSBtYXkgZ2V0IGhlcmUgZHVyaW5nIHJlbmRlciB0
cmVlIHVwZGF0ZXMgd2hlbiBldmVudHMgYXJlIGZvcmJpZGRlbi4KKyAgICAgICAgLy8gRnJhbWVs
ZXNzIGRvY3VtZW50IGNhbid0IHJ1biBzY3JpcHRzIG9yIGNhbGwgYmFjayB0byB0aGUgY2xpZW50
IHNvIHRoaXMgaXMgc2FmZS4KKyAgICAgICAgYXV0byBjb3VudCA9IE5vRXZlbnREaXNwYXRjaEFz
c2VydGlvbjo6ZHJvcFRlbXBvcmFyaWx5KCk7CisKICAgICAgICAgbV9leHRlcm5hbFNWR0RvY3Vt
ZW50ID0gU1ZHRG9jdW1lbnQ6OmNyZWF0ZShudWxscHRyLCBVUkwoKSk7CiAgICAgICAgIFJlZlB0
cjxUZXh0UmVzb3VyY2VEZWNvZGVyPiBkZWNvZGVyID0gVGV4dFJlc291cmNlRGVjb2Rlcjo6Y3Jl
YXRlKCJhcHBsaWNhdGlvbi94bWwiKTsKICAgICAgICAgbV9leHRlcm5hbFNWR0RvY3VtZW50LT5z
ZXRDb250ZW50KGRlY29kZXItPmRlY29kZUFuZEZsdXNoKG1fZGF0YS0+ZGF0YSgpLCBtX2RhdGEt
PnNpemUoKSkpOworCisgICAgICAgIE5vRXZlbnREaXNwYXRjaEFzc2VydGlvbjo6cmVzdG9yZURy
b3BwZWQoY291bnQpOworCiAgICAgICAgIGlmIChkZWNvZGVyLT5zYXdFcnJvcigpKQogICAgICAg
ICAgICAgbV9leHRlcm5hbFNWR0RvY3VtZW50ID0gbnVsbHB0cjsKICAgICAgICAgaWYgKG1fZXh0
ZXJuYWxTVkdEb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0eWxlL1JlbmRlclRyZWVV
cGRhdGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdHlsZS9SZW5kZXJUcmVl
VXBkYXRlci5jcHAJKHJldmlzaW9uIDE5ODk5MikKKysrIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1Jl
bmRlclRyZWVVcGRhdGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA5LDkgKzEwOSw2IEBAIHZv
aWQgUmVuZGVyVHJlZVVwZGF0ZXI6OnVwZGF0ZVJlbmRlclRyZWUKICAgICBhdXRvIGl0ID0gZGVz
Y2VuZGFudHMuYmVnaW4oKTsKICAgICBhdXRvIGVuZCA9IGRlc2NlbmRhbnRzLmVuZCgpOwogCi0g
ICAgLy8gRklYTUU6IFNWRyA8dXNlPiBlbGVtZW50IG1heSBjYXVzZSB0cmVlIG11dGF0aW9ucyBk
dXJpbmcgc3R5bGUgcmVjYWxjLgotICAgIGl0LmRyb3BBc3NlcnRpb25zKCk7Ci0KICAgICB3aGls
ZSAoaXQgIT0gZW5kKSB7CiAgICAgICAgIHBvcFBhcmVudHNUb0RlcHRoKGl0LmRlcHRoKCkpOwog
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>