<?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>41723</bug_id>
          
          <creation_ts>2010-07-06 17:04:02 -0700</creation_ts>
          <short_desc>Add BackForwardController class</short_desc>
          <delta_ts>2010-07-06 17:47:03 -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>History</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>OS X 10.5</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="Sam Weinig">sam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>247237</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-07-06 17:04:02 -0700</bug_when>
    <thetext>Add BackForwardController class as a first step towards adding proxying BackForwardList implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247238</commentid>
    <comment_count>1</comment_count>
      <attachid>60662</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-07-06 17:06:10 -0700</bug_when>
    <thetext>Created attachment 60662
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247246</commentid>
    <comment_count>2</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-07-06 17:47:03 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/62607.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>60662</attachid>
            <date>2010-07-06 17:06:10 -0700</date>
            <delta_ts>2010-07-06 17:12:19 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>21662</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MjYwNSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDAgQEAKKzIwMTAtMDctMDYgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXRjaCBm
b3IgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQxNzIzCisgICAgICAg
IEFkZCBCYWNrRm9yd2FyZENvbnRyb2xsZXIgY2xhc3MKKworICAgICAgICAtIEFkZCBCYWNrRm9y
d2FyZENvbnRyb2xsZXIgd2hpY2ggY3VycmVudGx5IG9ubHkgZm9yd2FyZHMgdG8gdGhlIGV4aXN0
aW5nCisgICAgICAgICAgQmFja0ZvcndhcmRMaXN0IGltcGxlbWVudGF0aW9uLiBUaGlzIGlzIGEg
Zmlyc3Qgc3RlcCB0b3dhcmQgYWxsb3dpbmcKKyAgICAgICAgICBmb3IgYSBwcm94eWluZyBCYWNr
Rm9yd2FyZExpc3QgaW1wbGVtZW50YXRpb24uCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoK
KyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmJhc2UuZXhwOgor
ICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAg
KiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogaGlzdG9yeS9CYWNrRm9yd2FyZENvbnRy
b2xsZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkJhY2tGb3J3YXJkQ29udHJvbGxl
cjo6QmFja0ZvcndhcmRDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkJhY2tGb3J3YXJk
Q29udHJvbGxlcjo6fkJhY2tGb3J3YXJkQ29udHJvbGxlcik6CisgICAgICAgICogaGlzdG9yeS9C
YWNrRm9yd2FyZENvbnRyb2xsZXIuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpCYWNrRm9y
d2FyZENvbnRyb2xsZXI6OmNsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpCYWNrRm9yd2FyZENv
bnRyb2xsZXI6Omxpc3QpOgorICAgICAgICAqIGhpc3RvcnkvQmFja0ZvcndhcmRDb250cm9sbGVy
Q2xpZW50Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6QmFja0ZvcndhcmRDb250cm9sbGVy
Q2xpZW50Ojp+QmFja0ZvcndhcmRDb250cm9sbGVyQ2xpZW50KToKKyAgICAgICAgKiBwYWdlL1Bh
Z2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6UGFnZSk6CisgICAgICAgIChXZWJDb3Jl
OjpQYWdlOjp+UGFnZSk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpiYWNrRm9yd2FyZExpc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6Z29CYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlBh
Z2U6OmdvRm9yd2FyZCk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpjYW5Hb0JhY2tPckZvcndh
cmQpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6Z29CYWNrT3JGb3J3YXJkKToKKyAgICAgICAg
KFdlYkNvcmU6OlBhZ2U6OmdldEhpc3RvcnlMZW5ndGgpOgorICAgICAgICAqIHBhZ2UvUGFnZS5o
OgorCiAyMDEwLTA3LTA2ICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxndXN0YXZvLm5vcm9uaGFA
Y29sbGFib3JhLmNvLnVrPgogCiAgICAgICAgIFVucmV2aWV3ZWQuCkluZGV4OiBXZWJDb3JlL0NN
YWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlz
aW9uIDYyNTA5KQorKysgV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
ODk4LDYgKzg5OCw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBlZGl0aW5nL21hcmt1cC5j
cHAKICAgICBlZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwCiAKKyAgICBoaXN0b3J5L0JhY2tGb3J3
YXJkQ29udHJvbGxlci5jcHAKICAgICBoaXN0b3J5L0JhY2tGb3J3YXJkTGlzdC5jcHAKICAgICBo
aXN0b3J5L0NhY2hlZEZyYW1lLmNwcAogICAgIGhpc3RvcnkvQ2FjaGVkUGFnZS5jcHAKSW5kZXg6
IFdlYkNvcmUvR05VbWFrZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9HTlVtYWtlZmls
ZS5hbQkocmV2aXNpb24gNjI1MDkpCisrKyBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5n
IGNvcHkpCkBAIC0xMDQ5LDYgKzEwNDksOSBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNv
cmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmNwcCBcCiAJV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVf
dW5pdHMuaCBcCiAJV2ViQ29yZS9lZGl0aW5nL2d0ay9TZWxlY3Rpb25Db250cm9sbGVyR3RrLmNw
cCBcCisJV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29uc3Ryb2xsZXIuY3BwIFwKKwlXZWJD
b3JlL2hpc3RvcnkvQmFja0ZvcndhcmRDb25zdHJvbGxlci5oIFwKKwlXZWJDb3JlL2hpc3Rvcnkv
QmFja0ZvcndhcmRDb25zdHJvbGxlckNsaWVudC5oIFwKIAlXZWJDb3JlL2hpc3RvcnkvQmFja0Zv
cndhcmRMaXN0LmNwcCBcCiAJV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkTGlzdC5oIFwKIAlX
ZWJDb3JlL2hpc3RvcnkvQ2FjaGVkRnJhbWUuY3BwIFwKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5i
YXNlLmV4cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUuYmFzZS5leHAJKHJldmlzaW9u
IDYyNTA5KQorKysgV2ViQ29yZS9XZWJDb3JlLmJhc2UuZXhwCSh3b3JraW5nIGNvcHkpCkBAIC01
MTUsNyArNTE1LDYgQEAgX19aTjdXZWJDb3JlNFBhZ2UxM2RpZFN0b3BQbHVnaW5FUE5TXzE0SAog
X19aTjdXZWJDb3JlNFBhZ2UxNGRpZFN0YXJ0UGx1Z2luRVBOU18xNEhhbHRhYmxlUGx1Z2luRQog
X19aTjdXZWJDb3JlNFBhZ2UxNHNldE1lZGlhVm9sdW1lRWYKIF9fWk43V2ViQ29yZTRQYWdlMTVh
ZGRTY2hlZHVsZVBhaXJFTjNXVEYxMFBhc3NSZWZQdHJJTlNfMTJTY2hlZHVsZVBhaXJFRUUKLV9f
Wk43V2ViQ29yZTRQYWdlMTViYWNrRm9yd2FyZExpc3RFdgogX19aTjdXZWJDb3JlNFBhZ2UxNWRp
ZE1vdmVPbnNjcmVlbkV2CiBfX1pON1dlYkNvcmU0UGFnZTE2c2V0Q2FuU3RhcnRNZWRpYUViCiBf
X1pON1dlYkNvcmU0UGFnZTE2c2V0RGVmZXJzTG9hZGluZ0ViCkBAIC05MTYsNiArOTE1LDcgQEAg
X19aTks3V2ViQ29yZTROb2RlMTRpc0Rlc2NlbmRhbnRPZkVQS1MwXwogX19aTks3V2ViQ29yZTRO
b2RlMThnZXRTdWJyZXNvdXJjZVVSTHNFUk4zV1RGMTFMaXN0SGFzaFNldElOU180S1VSTEVMbTI1
NkVOU184S1VSTEhhc2hFRUUKIF9fWk5LN1dlYkNvcmU0Tm9kZTlub2RlSW5kZXhFdgogX19aTks3
V2ViQ29yZTRQYWdlMTBwbHVnaW5EYXRhRXYKK19fWk5LN1dlYkNvcmU0UGFnZTE1YmFja0Zvcndh
cmRMaXN0RXYKIF9fWk5LN1dlYkNvcmU0UGFnZTM0aW5Mb3dRdWFsaXR5SW1hZ2VJbnRlcnBvbGF0
aW9uTW9kZUV2CiBfX1pOSzdXZWJDb3JlNFBhZ2U5Z3JvdXBOYW1lRXYKIF9fWk5LN1dlYkNvcmU1
RnJhbWUxMWN1cnJlbnRGb3JtRXYKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZpc2lvbiA2MjUwOSkKKysrIFdlYkNvcmUv
V2ViQ29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0xMzg0LDYgKzEzODQsOSBAQAogICAgICAg
ICAgICAgJ2VkaXRpbmcvdmlzaWJsZV91bml0cy5jcHAnLAogICAgICAgICAgICAgJ2VkaXRpbmcv
dmlzaWJsZV91bml0cy5oJywKICAgICAgICAgICAgICdoaXN0b3J5L21hYy9IaXN0b3J5SXRlbU1h
Yy5tbScsCisgICAgICAgICAgICAnaGlzdG9yeS9CYWNrRm9yd2FyZENvbnRyb2xsZXIuY3BwJywK
KyAgICAgICAgICAgICdoaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5oJywKKyAgICAgICAg
ICAgICdoaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlckNsaWVudC5oJywKICAgICAgICAgICAg
ICdoaXN0b3J5L0JhY2tGb3J3YXJkTGlzdC5jcHAnLAogICAgICAgICAgICAgJ2hpc3RvcnkvQmFj
a0ZvcndhcmRMaXN0LmgnLAogICAgICAgICAgICAgJ2hpc3RvcnkvQmFja0ZvcndhcmRMaXN0Q2hy
b21pdW0uY3BwJywKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5wcm8KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9XZWJDb3JlLnBybwkocmV2aXNpb24gNjI1MDkpCisrKyBXZWJDb3JlL1dlYkNvcmUucHJv
CSh3b3JraW5nIGNvcHkpCkBAIC01OTksNiArNTk5LDcgQEAgU09VUkNFUyArPSBcCiAgICAgZWRp
dGluZy9WaXNpYmxlU2VsZWN0aW9uLmNwcCBcCiAgICAgZWRpdGluZy92aXNpYmxlX3VuaXRzLmNw
cCBcCiAgICAgZWRpdGluZy9XcmFwQ29udGVudHNJbkR1bW15U3BhbkNvbW1hbmQuY3BwIFwKKyAg
ICBoaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5jcHAgXAogICAgIGhpc3RvcnkvQmFja0Zv
cndhcmRMaXN0LmNwcCBcCiAgICAgaGlzdG9yeS9DYWNoZWRGcmFtZS5jcHAgXAogICAgIGhpc3Rv
cnkvQ2FjaGVkUGFnZS5jcHAgXApAQCAtMTM1MCw2ICsxMzUxLDggQEAgSEVBREVSUyArPSBcCiAg
ICAgZWRpdGluZy9WaXNpYmxlU2VsZWN0aW9uLmggXAogICAgIGVkaXRpbmcvdmlzaWJsZV91bml0
cy5oIFwKICAgICBlZGl0aW5nL1dyYXBDb250ZW50c0luRHVtbXlTcGFuQ29tbWFuZC5oIFwKKyAg
ICBoaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5oIFwKKyAgICBoaXN0b3J5L0JhY2tGb3J3
YXJkQ29udHJvbGxlckNsaWVudC5oIFwKICAgICBoaXN0b3J5L0JhY2tGb3J3YXJkTGlzdC5oIFwK
ICAgICBoaXN0b3J5L0NhY2hlZEZyYW1lLmggXAogICAgIGhpc3RvcnkvQ2FjaGVkUGFnZS5oIFwK
SW5kZXg6IFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24gNjI1MDkp
CisrKyBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCSh3b3JraW5nIGNvcHkp
CkBAIC00OTQ0MSw2ICs0OTQ0MSwxOCBAQAogCQkJTmFtZT0iaGlzdG9yeSINCiAJCQk+DQogCQkJ
PEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxoaXN0b3J5XEJhY2tGb3J3YXJkQ29udHJvbGxl
ci5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRo
PSIuLlxoaXN0b3J5XEJhY2tGb3J3YXJkQ29udHJvbGxlci5oIg0KKwkJCQk+DQorCQkJPC9GaWxl
Pg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caGlzdG9yeVxCYWNrRm9yd2FyZENv
bnRyb2xsZXJDbGllbnQuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGhpc3RvcnlcQmFja0ZvcndhcmRMaXN0LmNwcCINCiAJCQkJPg0KIAkJ
CTwvRmlsZT4NCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agkocmV2aXNpb24gNjI1MDkpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNDY2Myw2ICs0NjYzLDkgQEAKIAkJQkNBODQ2RDYw
REM2N0EzNTAwMjZDMzA5IC8qIFJlbmRlclJlcGxpY2EuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBODQ2RDQwREM2N0EzNTAwMjZDMzA5IC8qIFJl
bmRlclJlcGxpY2EuY3BwICovOyB9OwogCQlCQ0E4NDZENzBEQzY3QTM1MDAyNkMzMDkgLyogUmVu
ZGVyUmVwbGljYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkNBODQ2RDUwREM2N0EzNTAwMjZDMzA5IC8qIFJlbmRlclJlcGxpY2EuaCAqLzsgfTsKIAkJ
QkNBODVBMTAwQzNBRUFGNDAwNkY4MzA4IC8qIERPTVNWR051bWJlckludGVybmFsLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0E4NUEwRjBDM0FFQUY0
MDA2RjgzMDggLyogRE9NU1ZHTnVtYmVySW50ZXJuYWwuaCAqLzsgfTsKKwkJQkNBOEM4MUUxMUUz
RDM2OTAwODEyRkI3IC8qIEJhY2tGb3J3YXJkQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBOEM4MUMxMUUzRDM2OTAwODEyRkI3IC8q
IEJhY2tGb3J3YXJkQ29udHJvbGxlci5oICovOyB9OworCQlCQ0E4QzgxRjExRTNEMzY5MDA4MTJG
QjcgLyogQmFja0ZvcndhcmRDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQThDODFEMTFFM0QzNjkwMDgxMkZCNyAvKiBCYWNrRm9y
d2FyZENvbnRyb2xsZXIuY3BwICovOyB9OworCQlCQ0E4QzgzMTExRTNENTMyMDA4MTJGQjcgLyog
QmFja0ZvcndhcmRDb250cm9sbGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0E4QzgzMDExRTNENTMyMDA4MTJGQjcgLyogQmFja0Zvcndh
cmRDb250cm9sbGVyQ2xpZW50LmggKi87IH07CiAJCUJDQUE5MEMzMEE3RUJBNjAwMDhCMTIyOSAv
KiBTY3JvbGxiYXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkNBQTkwQzIwQTdFQkE2MDAwOEIxMjI5IC8qIFNjcm9sbGJhci5jcHAgKi87IH07CiAJ
CUJDQUNGM0JDMTA3MjkyMUEwMEMwQzhBMyAvKiBVc2VyQ29udGVudFVSTFBhdHRlcm4uY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBQ0YzQkExMDcy
OTIxQTAwQzBDOEEzIC8qIFVzZXJDb250ZW50VVJMUGF0dGVybi5jcHAgKi87IH07CiAJCUJDQUNG
M0JEMTA3MjkyMUEwMEMwQzhBMyAvKiBVc2VyQ29udGVudFVSTFBhdHRlcm4uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQUNGM0JCMTA3MjkyMUEwMEMw
QzhBMyAvKiBVc2VyQ29udGVudFVSTFBhdHRlcm4uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTAyNTcsNiArMTAyNjAsOSBAQAogCQlCQ0E4NDZE
NDBEQzY3QTM1MDAyNkMzMDkgLyogUmVuZGVyUmVwbGljYS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJSZXBsaWNhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQkNBODQ2RDUwREM2N0EzNTAwMjZDMzA5IC8qIFJlbmRlclJlcGxpY2EuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyUmVwbGljYS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0E4NUEwRjBDM0FFQUY0MDA2RjgzMDggLyogRE9NU1ZH
TnVtYmVySW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVNW
R051bWJlckludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDQThDODFD
MTFFM0QzNjkwMDgxMkZCNyAvKiBCYWNrRm9yd2FyZENvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQmFja0ZvcndhcmRDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUJDQThDODFEMTFFM0QzNjkwMDgxMkZCNyAvKiBCYWNrRm9yd2Fy
ZENvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQmFj
a0ZvcndhcmRDb250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkNB
OEM4MzAxMUUzRDUzMjAwODEyRkI3IC8qIEJhY2tGb3J3YXJkQ29udHJvbGxlckNsaWVudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCYWNrRm9yd2FyZENvbnRyb2xsZXJDbGll
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNBQTkwQzIwQTdFQkE2MDAwOEIx
MjI5IC8qIFNjcm9sbGJhci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gU2Nyb2xsYmFyLmNwcDsgcGF0aCA9IHBsYXRmb3JtL1Njcm9sbGJhci5jcHA7IHNvdXJjZVRy
ZWUgPSBTT1VSQ0VfUk9PVDsgfTsKIAkJQkNBQ0YzQkExMDcyOTIxQTAwQzBDOEEzIC8qIFVzZXJD
b250ZW50VVJMUGF0dGVybi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBVc2VyQ29udGVudFVSTFBhdHRlcm4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlCQ0FDRjNCQjEwNzI5MjFBMDBDMEM4QTMgLyogVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFVzZXJDb250ZW50VVJMUGF0dGVybi5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTE4NjksNiArMTE4NzUsOSBAQAogCQkJCTUx
NjBGNDkyMEIwQUE3MTUwMEMxRDJBRiAvKiBtYWMgKi8sCiAJCQkJNTE3NDFEMEMwQjA3MjU5QTAw
RUQ0NDJDIC8qIEJhY2tGb3J3YXJkTGlzdC5jcHAgKi8sCiAJCQkJNTE3NDFEMEIwQjA3MjU5QTAw
RUQ0NDJDIC8qIEJhY2tGb3J3YXJkTGlzdC5oICovLAorCQkJCUJDQThDODFEMTFFM0QzNjkwMDgx
MkZCNyAvKiBCYWNrRm9yd2FyZENvbnRyb2xsZXIuY3BwICovLAorCQkJCUJDQThDODFDMTFFM0Qz
NjkwMDgxMkZCNyAvKiBCYWNrRm9yd2FyZENvbnRyb2xsZXIuaCAqLywKKwkJCQlCQ0E4QzgzMDEx
RTNENTMyMDA4MTJGQjcgLyogQmFja0ZvcndhcmRDb250cm9sbGVyQ2xpZW50LmggKi8sCiAJCQkJ
NTFDMEFBNDAwRjJBQTE1RTAwMTY0OEMyIC8qIENhY2hlZEZyYW1lLmNwcCAqLywKIAkJCQk1MUMw
QUEzODBGMkFBMTBBMDAxNjQ4QzIgLyogQ2FjaGVkRnJhbWUuaCAqLywKIAkJCQk1MUNCRkM5ODBE
MTBFNDgzMDAyREJGNTEgLyogQ2FjaGVkRnJhbWVQbGF0Zm9ybURhdGEuaCAqLywKQEAgLTE5NzAx
LDYgKzE5NzEwLDggQEAKIAkJCQk5N0RENEQ4NzBGREY0RDZFMDBFQ0Y5QTQgLyogWFNTQXVkaXRv
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0UxNzJFMDExMTM2RThDRTAwNjJBNTMzIC8qIFpvb21N
b2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCODg1RThENTExRTA2REQyMDA5RkZCRjQgLyogSW5z
cGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlCQ0E4Qzgx
RTExRTNEMzY5MDA4MTJGQjcgLyogQmFja0ZvcndhcmRDb250cm9sbGVyLmggaW4gSGVhZGVycyAq
LywKKwkJCQlCQ0E4QzgzMTExRTNENTMyMDA4MTJGQjcgLyogQmFja0ZvcndhcmRDb250cm9sbGVy
Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBv
c3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTIyMDQwLDYgKzIyMDUxLDcgQEAKIAkJCQlFMUJF
NTEyRDBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTk3REQ0RDg2MEZERjRENkUwMEVDRjlBNCAvKiBYU1NBdWRpdG9yLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUI4ODVFOEQ0MTFFMDZERDIwMDlGRkJGNCAvKiBJbnNwZWN0b3JBcHBsaWNh
dGlvbkNhY2hlQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQkNBOEM4MUYxMUUzRDM2OTAw
ODEyRkI3IC8qIEJhY2tGb3J3YXJkQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7
CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKSW5kZXg6
IFdlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZENvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAwKQor
KysgV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5jcHAJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiQmFja0ZvcndhcmRDb250cm9sbGVyLmgiCisKKyNpbmNsdWRlICJCYWNrRm9yd2FyZENv
bnRyb2xsZXJDbGllbnQuaCIKKyNpbmNsdWRlICJCYWNrRm9yd2FyZExpc3QuaCIKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitCYWNrRm9yd2FyZENvbnRyb2xsZXI6OkJhY2tGb3J3YXJkQ29udHJv
bGxlcihQYWdlKiBwYWdlLCBCYWNrRm9yd2FyZENvbnRyb2xsZXJDbGllbnQqIGNsaWVudCkKKyAg
ICA6IG1fcGFnZShwYWdlKQorICAgICwgbV9jbGllbnQoY2xpZW50KQoreworICAgIGlmICghbV9j
bGllbnQpCisgICAgICAgIG1fbGlzdCA9IEJhY2tGb3J3YXJkTGlzdDo6Y3JlYXRlKHBhZ2UpOwor
fQorCitCYWNrRm9yd2FyZENvbnRyb2xsZXI6On5CYWNrRm9yd2FyZENvbnRyb2xsZXIoKQorewor
ICAgIGlmIChtX2NsaWVudCkKKyAgICAgICAgbV9jbGllbnQtPmJhY2tGb3J3YXJkQ29udHJvbGxl
ckRlc3Ryb3llZCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3Jl
L2hpc3RvcnkvQmFja0ZvcndhcmRDb250cm9sbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9o
aXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9o
aXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUz
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBCYWNrRm9yd2FyZENvbnRyb2xsZXJfaAorI2RlZmlu
ZSBCYWNrRm9yd2FyZENvbnRyb2xsZXJfaAorCisjaW5jbHVkZSAiQmFja0ZvcndhcmRMaXN0Lmgi
CisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEJhY2tGb3J3YXJkQ29udHJvbGxlckNsaWVu
dDsKKworY2xhc3MgQmFja0ZvcndhcmRDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K3B1YmxpYzoKKyAgICBCYWNrRm9yd2FyZENvbnRyb2xsZXIoUGFnZSosIEJhY2tGb3J3YXJkQ29u
dHJvbGxlckNsaWVudCopOworICAgIH5CYWNrRm9yd2FyZENvbnRyb2xsZXIoKTsKKworICAgIEJh
Y2tGb3J3YXJkQ29udHJvbGxlckNsaWVudCogY2xpZW50KCkgY29uc3QgeyByZXR1cm4gbV9jbGll
bnQ7IH0KKyAgICBCYWNrRm9yd2FyZExpc3QqIGxpc3QoKSBjb25zdCB7IHJldHVybiBtX2xpc3Qu
Z2V0KCk7IH0KKworcHJpdmF0ZToKKyAgICBQYWdlKiBtX3BhZ2U7CisgICAgQmFja0ZvcndhcmRD
b250cm9sbGVyQ2xpZW50KiBtX2NsaWVudDsKKyAgICBSZWZQdHI8QmFja0ZvcndhcmRMaXN0PiBt
X2xpc3Q7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBCYWNrRm9y
d2FyZENvbnRyb2xsZXJfaApJbmRleDogV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJv
bGxlckNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZENv
bnRyb2xsZXJDbGllbnQuaAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvaGlzdG9yeS9CYWNrRm9y
d2FyZENvbnRyb2xsZXJDbGllbnQuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZm5kZWYgQmFja0ZvcndhcmRDb250cm9sbGVyQ2xpZW50X2gKKyNkZWZpbmUg
QmFja0ZvcndhcmRDb250cm9sbGVyQ2xpZW50X2gKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitj
bGFzcyBCYWNrRm9yd2FyZENvbnRyb2xsZXJDbGllbnQgeworcHVibGljOgorICAgIHZpcnR1YWwg
dm9pZCBiYWNrRm9yd2FyZENvbnRyb2xsZXJEZXN0cm95ZWQoKSA9IDA7CisKK3Byb3RlY3RlZDoK
KyAgICB2aXJ0dWFsIH5CYWNrRm9yd2FyZENvbnRyb2xsZXJDbGllbnQoKQorICAgIHsKKyAgICB9
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBCYWNrRm9yd2FyZENv
bnRyb2xsZXJDbGllbnRfaApJbmRleDogV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGFnZS9QYWdlLmNwcAkocmV2aXNpb24gNjI1MDkpCisrKyBXZWJDb3JlL3Bh
Z2UvUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwLDYgKzIwLDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAKKyNpbmNsdWRlICJCYWNrRm9yd2FyZENvbnRy
b2xsZXIuaCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZExpc3QuaCIKICNpbmNsdWRlICJCYXNlNjQu
aCIKICNpbmNsdWRlICJDU1NTdHlsZVNlbGVjdG9yLmgiCkBAIC0xNDEsNyArMTQyLDcgQEAgUGFn
ZTo6UGFnZShDaHJvbWVDbGllbnQqIGNocm9tZUNsaWVudCwgQwogI2VuZGlmCiAgICAgLCBtX3Nl
dHRpbmdzKG5ldyBTZXR0aW5ncyh0aGlzKSkKICAgICAsIG1fcHJvZ3Jlc3MobmV3IFByb2dyZXNz
VHJhY2tlcikKLSAgICAsIG1fYmFja0ZvcndhcmRMaXN0KEJhY2tGb3J3YXJkTGlzdDo6Y3JlYXRl
KHRoaXMpKQorICAgICwgbV9iYWNrRm9yd2FyZENvbnRyb2xsZXIobmV3IEJhY2tGb3J3YXJkQ29u
dHJvbGxlcih0aGlzLCAwKSkKICAgICAsIG1fdGhlbWUoUmVuZGVyVGhlbWU6OnRoZW1lRm9yUGFn
ZSh0aGlzKSkKICAgICAsIG1fZWRpdG9yQ2xpZW50KGVkaXRvckNsaWVudCkKICAgICAsIG1fZnJh
bWVDb3VudCgwKQpAQCAtMjE0LDcgKzIxNSw3IEBAIFBhZ2U6On5QYWdlKCkKICAgICBtX2luc3Bl
Y3RvckNvbnRyb2xsZXItPmluc3BlY3RlZFBhZ2VEZXN0cm95ZWQoKTsKICNlbmRpZgogCi0gICAg
bV9iYWNrRm9yd2FyZExpc3QtPmNsb3NlKCk7CisgICAgYmFja0ZvcndhcmRMaXN0KCktPmNsb3Nl
KCk7CiAKICNpZm5kZWYgTkRFQlVHCiAgICAgcGFnZUNvdW50ZXIuZGVjcmVtZW50KCk7CkBAIC0y
NDIsMTQgKzI0MywxNCBAQCB2b2lkIFBhZ2U6OnNldE9wZW5lZEJ5RE9NKCkKICAgICBtX29wZW5l
ZEJ5RE9NID0gdHJ1ZTsKIH0KIAotQmFja0ZvcndhcmRMaXN0KiBQYWdlOjpiYWNrRm9yd2FyZExp
c3QoKQorQmFja0ZvcndhcmRMaXN0KiBQYWdlOjpiYWNrRm9yd2FyZExpc3QoKSBjb25zdAogewot
ICAgIHJldHVybiBtX2JhY2tGb3J3YXJkTGlzdC5nZXQoKTsKKyAgICByZXR1cm4gbV9iYWNrRm9y
d2FyZENvbnRyb2xsZXItPmxpc3QoKTsKIH0KIAogYm9vbCBQYWdlOjpnb0JhY2soKQogewotICAg
IEhpc3RvcnlJdGVtKiBpdGVtID0gbV9iYWNrRm9yd2FyZExpc3QtPmJhY2tJdGVtKCk7CisgICAg
SGlzdG9yeUl0ZW0qIGl0ZW0gPSBiYWNrRm9yd2FyZExpc3QoKS0+YmFja0l0ZW0oKTsKICAgICAK
ICAgICBpZiAoaXRlbSkgewogICAgICAgICBnb1RvSXRlbShpdGVtLCBGcmFtZUxvYWRUeXBlQmFj
ayk7CkBAIC0yNjAsNyArMjYxLDcgQEAgYm9vbCBQYWdlOjpnb0JhY2soKQogCiBib29sIFBhZ2U6
OmdvRm9yd2FyZCgpCiB7Ci0gICAgSGlzdG9yeUl0ZW0qIGl0ZW0gPSBtX2JhY2tGb3J3YXJkTGlz
dC0+Zm9yd2FyZEl0ZW0oKTsKKyAgICBIaXN0b3J5SXRlbSogaXRlbSA9IGJhY2tGb3J3YXJkTGlz
dCgpLT5mb3J3YXJkSXRlbSgpOwogICAgIAogICAgIGlmIChpdGVtKSB7CiAgICAgICAgIGdvVG9J
dGVtKGl0ZW0sIEZyYW1lTG9hZFR5cGVGb3J3YXJkKTsKQEAgLTI3Myw5ICsyNzQsOSBAQCBib29s
IFBhZ2U6OmNhbkdvQmFja09yRm9yd2FyZChpbnQgZGlzdGFuCiB7CiAgICAgaWYgKGRpc3RhbmNl
ID09IDApCiAgICAgICAgIHJldHVybiB0cnVlOwotICAgIGlmIChkaXN0YW5jZSA+IDAgJiYgZGlz
dGFuY2UgPD0gbV9iYWNrRm9yd2FyZExpc3QtPmZvcndhcmRMaXN0Q291bnQoKSkKKyAgICBpZiAo
ZGlzdGFuY2UgPiAwICYmIGRpc3RhbmNlIDw9IGJhY2tGb3J3YXJkTGlzdCgpLT5mb3J3YXJkTGlz
dENvdW50KCkpCiAgICAgICAgIHJldHVybiB0cnVlOwotICAgIGlmIChkaXN0YW5jZSA8IDAgJiYg
LWRpc3RhbmNlIDw9IG1fYmFja0ZvcndhcmRMaXN0LT5iYWNrTGlzdENvdW50KCkpCisgICAgaWYg
KGRpc3RhbmNlIDwgMCAmJiAtZGlzdGFuY2UgPD0gYmFja0ZvcndhcmRMaXN0KCktPmJhY2tMaXN0
Q291bnQoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgcmV0dXJuIGZhbHNlOwogfQpAQCAt
Mjg1LDE2ICsyODYsMTYgQEAgdm9pZCBQYWdlOjpnb0JhY2tPckZvcndhcmQoaW50IGRpc3RhbmNl
KQogICAgIGlmIChkaXN0YW5jZSA9PSAwKQogICAgICAgICByZXR1cm47CiAKLSAgICBIaXN0b3J5
SXRlbSogaXRlbSA9IG1fYmFja0ZvcndhcmRMaXN0LT5pdGVtQXRJbmRleChkaXN0YW5jZSk7Cisg
ICAgSGlzdG9yeUl0ZW0qIGl0ZW0gPSBiYWNrRm9yd2FyZExpc3QoKS0+aXRlbUF0SW5kZXgoZGlz
dGFuY2UpOwogICAgIGlmICghaXRlbSkgewogICAgICAgICBpZiAoZGlzdGFuY2UgPiAwKSB7Ci0g
ICAgICAgICAgICBpbnQgZm9yd2FyZExpc3RDb3VudCA9IG1fYmFja0ZvcndhcmRMaXN0LT5mb3J3
YXJkTGlzdENvdW50KCk7CisgICAgICAgICAgICBpbnQgZm9yd2FyZExpc3RDb3VudCA9IGJhY2tG
b3J3YXJkTGlzdCgpLT5mb3J3YXJkTGlzdENvdW50KCk7CiAgICAgICAgICAgICBpZiAoZm9yd2Fy
ZExpc3RDb3VudCA+IDApIAotICAgICAgICAgICAgICAgIGl0ZW0gPSBtX2JhY2tGb3J3YXJkTGlz
dC0+aXRlbUF0SW5kZXgoZm9yd2FyZExpc3RDb3VudCk7CisgICAgICAgICAgICAgICAgaXRlbSA9
IGJhY2tGb3J3YXJkTGlzdCgpLT5pdGVtQXRJbmRleChmb3J3YXJkTGlzdENvdW50KTsKICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGludCBiYWNrTGlzdENvdW50ID0gbV9iYWNrRm9yd2Fy
ZExpc3QtPmJhY2tMaXN0Q291bnQoKTsKKyAgICAgICAgICAgIGludCBiYWNrTGlzdENvdW50ID0g
YmFja0ZvcndhcmRMaXN0KCktPmJhY2tMaXN0Q291bnQoKTsKICAgICAgICAgICAgIGlmIChiYWNr
TGlzdENvdW50ID4gMCkKLSAgICAgICAgICAgICAgICBpdGVtID0gbV9iYWNrRm9yd2FyZExpc3Qt
Pml0ZW1BdEluZGV4KC1iYWNrTGlzdENvdW50KTsKKyAgICAgICAgICAgICAgICBpdGVtID0gYmFj
a0ZvcndhcmRMaXN0KCktPml0ZW1BdEluZGV4KC1iYWNrTGlzdENvdW50KTsKICAgICAgICAgfQog
ICAgIH0KIApAQCAtMzI4LDcgKzMyOSw3IEBAIHZvaWQgUGFnZTo6Z29Ub0l0ZW0oSGlzdG9yeUl0
ZW0qIGl0ZW0sIEYKIAogaW50IFBhZ2U6OmdldEhpc3RvcnlMZW5ndGgoKQogewotICAgIHJldHVy
biBtX2JhY2tGb3J3YXJkTGlzdC0+YmFja0xpc3RDb3VudCgpICsgMSArIG1fYmFja0ZvcndhcmRM
aXN0LT5mb3J3YXJkTGlzdENvdW50KCk7CisgICAgcmV0dXJuIGJhY2tGb3J3YXJkTGlzdCgpLT5i
YWNrTGlzdENvdW50KCkgKyAxICsgYmFja0ZvcndhcmRMaXN0KCktPmZvcndhcmRMaXN0Q291bnQo
KTsKIH0KIAogdm9pZCBQYWdlOjpzZXRHbG9iYWxIaXN0b3J5SXRlbShIaXN0b3J5SXRlbSogaXRl
bSkKSW5kZXg6IFdlYkNvcmUvcGFnZS9QYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdl
L1BhZ2UuaAkocmV2aXNpb24gNjI1MDkpCisrKyBXZWJDb3JlL3BhZ2UvUGFnZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zNyw2ICszNyw3IEBAIG5hbWVzcGFjZSBKU0MgewogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKKyAgICBjbGFzcyBCYWNrRm9yd2FyZENvbnRyb2xsZXI7CiAgICAgY2xhc3MgQmFj
a0ZvcndhcmRMaXN0OwogICAgIGNsYXNzIENocm9tZTsKICAgICBjbGFzcyBDaHJvbWVDbGllbnQ7
CkBAIC0xMDYsNyArMTA3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIG9w
ZW5lZEJ5RE9NKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgc2V0T3BlbmVkQnlET00oKTsKIAotICAg
ICAgICBCYWNrRm9yd2FyZExpc3QqIGJhY2tGb3J3YXJkTGlzdCgpOworICAgICAgICBCYWNrRm9y
d2FyZExpc3QqIGJhY2tGb3J3YXJkTGlzdCgpIGNvbnN0OwogCiAgICAgICAgIC8vIEZJWE1FOiBU
aGUgZm9sbG93aW5nIHRocmVlIG1ldGhvZHMgZG9uJ3QgZmFsbCB1bmRlciB0aGUgcmVzcG9uc2li
aWxpdGllcyBvZiB0aGUgUGFnZSBvYmplY3QKICAgICAgICAgLy8gVGhleSBzZWVtIHRvIGZpdCBh
IGh5cG90aGV0aWNhbCBQYWdlLWNvbnRyb2xsZXIgb2JqZWN0IHRoYXQgd291bGQgYmUgYWtpbiB0
byB0aGUgCkBAIC0yNzAsNyArMjcxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBP
d25QdHI8U2V0dGluZ3M+IG1fc2V0dGluZ3M7CiAgICAgICAgIE93blB0cjxQcm9ncmVzc1RyYWNr
ZXI+IG1fcHJvZ3Jlc3M7CiAgICAgICAgIAotICAgICAgICBSZWZQdHI8QmFja0ZvcndhcmRMaXN0
PiBtX2JhY2tGb3J3YXJkTGlzdDsKKyAgICAgICAgT3duUHRyPEJhY2tGb3J3YXJkQ29udHJvbGxl
cj4gbV9iYWNrRm9yd2FyZENvbnRyb2xsZXI7CiAgICAgICAgIFJlZlB0cjxGcmFtZT4gbV9tYWlu
RnJhbWU7CiAKICAgICAgICAgUmVmUHRyPEhpc3RvcnlJdGVtPiBtX2dsb2JhbEhpc3RvcnlJdGVt
Owo=
</data>
<flag name="review"
          id="48312"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>