<?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>52118</bug_id>
          
          <creation_ts>2011-01-08 17:40:49 -0800</creation_ts>
          <short_desc>In WebKit2, PDF view settings (mode and scale) do not stick</short_desc>
          <delta_ts>2011-01-08 22:08:27 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to>mitz</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>331337</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2011-01-08 17:40:49 -0800</bug_when>
    <thetext>In WebKit2, PDF view settings (mode and scale) do not stick</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331338</commentid>
    <comment_count>1</comment_count>
    <who name="">mitz</who>
    <bug_when>2011-01-08 17:41:47 -0800</bug_when>
    <thetext>&lt;rdar://problem/8812759&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331340</commentid>
    <comment_count>2</comment_count>
      <attachid>78337</attachid>
    <who name="">mitz</who>
    <bug_when>2011-01-08 17:55:13 -0800</bug_when>
    <thetext>Created attachment 78337
Add support for double-valued preferences; save and restore PDF scale and mode</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331379</commentid>
    <comment_count>3</comment_count>
      <attachid>78337</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-01-08 21:58:36 -0800</bug_when>
    <thetext>Comment on attachment 78337
Add support for double-valued preferences; save and restore PDF scale and mode

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

&gt; WebKit2/UIProcess/API/mac/PDFViewController.mm:134
&gt; +    WebKit::WebPreferences *preferences = WebKit::toImpl([_pdfViewController-&gt;wkView() pageRef])-&gt;pageGroup()-&gt;preferences();

The * should be on the other side.  This file should also probably just add using namespace WebKit to the top if possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331381</commentid>
    <comment_count>4</comment_count>
    <who name="">mitz</who>
    <bug_when>2011-01-08 22:08:27 -0800</bug_when>
    <thetext>Fixed in r75344 &lt;http://trac.webkit.org/changeset/75344&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78337</attachid>
            <date>2011-01-08 17:55:13 -0800</date>
            <delta_ts>2011-01-08 21:58:36 -0800</delta_ts>
            <desc>Add support for double-valued preferences; save and restore PDF scale and mode</desc>
            <filename>bug-52118-20110108175512.patch</filename>
            <type>text/plain</type>
            <size>19337</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3NTMzOCkKKysrIFdlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDIgQEAKKzIwMTEtMDEtMDggIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICA8cmRh
cjovL3Byb2JsZW0vODgxMjc1OT4gSW4gV2ViS2l0MiwgUERGIHZpZXcgc2V0dGluZ3MgKG1vZGUg
YW5kIHNjYWxlKSBkbyBub3Qgc3RpY2sKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTUyMTE4CisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXNT
dG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OmVuY29kZSk6
IEVuY29kZSB0aGUgZG91YmxlIHZhbHVlcyBtYXAuCisgICAgICAgIChXZWJLaXQ6OldlYlByZWZl
cmVuY2VzU3RvcmU6OmRlY29kZSk6IERlY29kZSB0aGUgZG91YmxlIHZhbHVlcyBtYXAuCisgICAg
ICAgIChXZWJLaXQ6OmRlZmF1bHRWYWx1ZUZvcktleSk6IEFkZGVkIGRvdWJsZSBpbnN0YW5jZS4K
KyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6c2V0RG91YmxlVmFsdWVGb3JL
ZXkpOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6Z2V0RG91
YmxlVmFsdWVGb3JLZXkpOiBBZGRlZC4KKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXNT
dG9yZS5oOiBBZGRlZCBQREZTY2FsZUZhY3RvciBhbmQgUERGRGlzcGxheU1vZGUgcHJlZmVyZW5j
ZXMuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9tYWMvUERGVmlld0NvbnRyb2xsZXIubW06Cisg
ICAgICAgICgtW1dLUERGVmlldyBpbml0V2l0aEZyYW1lOlBERlZpZXdDb250cm9sbGVyOldlYktp
dDo6XSk6IEluaXRpYWxpemUgdGhlIF9wZGZWaWV3Q29udHJvbGxlciBpdmFyLgorICAgICAgICAo
LVtXS1BERlZpZXcgaW52YWxpZGF0ZV0pOiBDaGFuZ2VkICduaWwnIHRvICcwJyBpbiBhc3NpZ25t
ZW50IHRvIGEgbm9uLU9iamVjdGl2ZS1DIHBvaW50ZXIuCisgICAgICAgICgtW1dLUERGVmlldyBz
ZXREb2N1bWVudDpdKTogQWRkZWQuCisgICAgICAgICgtW1dLUERGVmlldyBfYXBwbHlQREZQcmVm
ZXJlbmNlc10pOiBBZGRlZC4KKyAgICAgICAgKC1bV0tQREZWaWV3IF91cGRhdGVQcmVmZXJlbmNl
czpdKTogQWRkZWQuCisgICAgICAgICgtW1dLUERGVmlldyBfdXBkYXRlUHJlZmVyZW5jZXNTb29u
XSk6IEFkZGVkLgorICAgICAgICAoLVtXS1BERlZpZXcgX3NjYWxlT3JEaXNwbGF5TW9kZU9yUGFn
ZUNoYW5nZWQ6XSk6IEFkZGVkLgorICAgICAgICAoLVtXS1BERlZpZXcgdmlld0RpZE1vdmVUb1dp
bmRvd10pOiBBZGRlZC4gU3RhcnRzIG9ic2VydmluZyB0aGUgUERGIHZpZXcgZm9yIGNoYW5nZXMg
dG8gc2NhbGUKKyAgICAgICAgYW5kIGRpc3BsYXkgbW9kZS4KKyAgICAgICAgKC1bV0tQREZWaWV3
IHZpZXdXaWxsTW92ZVRvV2luZG93Ol0pOiBBZGRlZC4gU3RvcHMgb2JzZXJ2aW5nIGZvciBjaGFu
Z2VzLgorICAgICAgICAoV2ViS2l0OjpQREZWaWV3Q29udHJvbGxlcjo6c2V0UERGRG9jdW1lbnRE
YXRhKTogQ2hhbmdlZCB0byBjYWxsIHRocm9ndWggLVtXS1BERlZpZXcgc2V0RG9jdW1lbnQ6XS4K
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcmVmZXJlbmNlczo6dXBkYXRlRG91YmxlVmFsdWVGb3JLZXkpOiBBZGRlZC4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvY2Yv
V2ViUHJlZmVyZW5jZXNDRi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByZWZlcmVuY2VzOjpw
bGF0Zm9ybVVwZGF0ZURvdWJsZVZhbHVlRm9yS2V5KTogQWRkZWQgZW1wdHkgaW1wbGVtZW50YXRp
b24uCisgICAgICAgICogVUlQcm9jZXNzL2d0ay9XZWJQcmVmZXJlbmNlc0d0ay5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlByZWZlcmVuY2VzOjpwbGF0Zm9ybVVwZGF0ZURvdWJsZVZhbHVlRm9y
S2V5KTogQWRkZWQgc3R1Yi4KKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dlYlByZWZlcmVuY2Vz
TWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpzZXREb3VibGVWYWx1ZUlmSW5Vc2VyRGVmYXVsdHMp
OiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVyZW5jZXM6OnBsYXRmb3JtVXBkYXRl
RG91YmxlVmFsdWVGb3JLZXkpOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvV2ViUHJl
ZmVyZW5jZXNRdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByZWZlcmVuY2VzOjpwbGF0Zm9y
bVVwZGF0ZURvdWJsZVZhbHVlRm9yS2V5KTogQWRkZWQuCisKIDIwMTEtMDEtMDggIERhbiBCZXJu
c3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBNYWNpZWogU3Rh
Y2hvd2lhay4KSW5kZXg6IFdlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuY3BwCShyZXZp
c2lvbiA3NTMyNSkKKysrIFdlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIw
MTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC01NSwxMiArNTUsMTIgQEAgV2ViUHJlZmVyZW5jZXNTdG9yZTo6V2ViUHJl
ZmVyZW5jZXNTdG9yZQogCiB2b2lkIFdlYlByZWZlcmVuY2VzU3RvcmU6OmVuY29kZShDb3JlSVBD
OjpBcmd1bWVudEVuY29kZXIqIGVuY29kZXIpIGNvbnN0CiB7Ci0gICAgZW5jb2Rlci0+ZW5jb2Rl
KENvcmVJUEM6OkluKG1fc3RyaW5nVmFsdWVzLCBtX2Jvb2xWYWx1ZXMsIG1fdWludDMyVmFsdWVz
KSk7CisgICAgZW5jb2Rlci0+ZW5jb2RlKENvcmVJUEM6OkluKG1fc3RyaW5nVmFsdWVzLCBtX2Jv
b2xWYWx1ZXMsIG1fdWludDMyVmFsdWVzLCBtX2RvdWJsZVZhbHVlcykpOwogfQogCiBib29sIFdl
YlByZWZlcmVuY2VzU3RvcmU6OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGRlY29k
ZXIsIFdlYlByZWZlcmVuY2VzU3RvcmUmIHMpCiB7Ci0gICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUo
Q29yZUlQQzo6T3V0KHMubV9zdHJpbmdWYWx1ZXMsIHMubV9ib29sVmFsdWVzLCBzLm1fdWludDMy
VmFsdWVzKSkpCisgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoQ29yZUlQQzo6T3V0KHMubV9zdHJp
bmdWYWx1ZXMsIHMubV9ib29sVmFsdWVzLCBzLm1fdWludDMyVmFsdWVzLCBzLm1fZG91YmxlVmFs
dWVzKSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGlmIChoYXNYU1NBdWRpdG9yRW5h
YmxlZFRlc3RSdW5uZXJPdmVycmlkZSkKQEAgLTkwLDcgKzkwLDcgQEAgU3RyaW5nIGRlZmF1bHRW
YWx1ZUZvcktleShjb25zdCBTdHJpbmcmIAogICAgIHN0YXRpYyBIYXNoTWFwPFN0cmluZywgU3Ry
aW5nPiYgZGVmYXVsdHMgPSAqbmV3IEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+OwogICAgIGlmIChk
ZWZhdWx0cy5pc0VtcHR5KCkpIHsKICNkZWZpbmUgREVGSU5FX1NUUklOR19ERUZBVUxUUyhLZXlV
cHBlciwgS2V5TG93ZXIsIFR5cGVOYW1lLCBUeXBlLCBEZWZhdWx0VmFsdWUpIGRlZmF1bHRzLnNl
dChXZWJQcmVmZXJlbmNlc0tleTo6S2V5TG93ZXIjI0tleSgpLCBEZWZhdWx0VmFsdWUpOwotICAg
IEZPUl9FQUNIX1dFQktJVF9TVFJJTkdfUFJFRkVSRU5DRShERUZJTkVfU1RSSU5HX0RFRkFVTFRT
KQorICAgICAgICBGT1JfRUFDSF9XRUJLSVRfU1RSSU5HX1BSRUZFUkVOQ0UoREVGSU5FX1NUUklO
R19ERUZBVUxUUykKICN1bmRlZiBERUZJTkVfU1RSSU5HX0RFRkFVTFRTCiAgICAgfQogCkBAIC0x
MDMsNyArMTAzLDcgQEAgYm9vbCBkZWZhdWx0VmFsdWVGb3JLZXkoY29uc3QgU3RyaW5nJiBrZQog
ICAgIHN0YXRpYyBIYXNoTWFwPFN0cmluZywgYm9vbD4mIGRlZmF1bHRzID0gKm5ldyBIYXNoTWFw
PFN0cmluZywgYm9vbD47CiAgICAgaWYgKGRlZmF1bHRzLmlzRW1wdHkoKSkgewogI2RlZmluZSBE
RUZJTkVfQk9PTF9ERUZBVUxUUyhLZXlVcHBlciwgS2V5TG93ZXIsIFR5cGVOYW1lLCBUeXBlLCBE
ZWZhdWx0VmFsdWUpIGRlZmF1bHRzLnNldChXZWJQcmVmZXJlbmNlc0tleTo6S2V5TG93ZXIjI0tl
eSgpLCBEZWZhdWx0VmFsdWUpOwotICAgIEZPUl9FQUNIX1dFQktJVF9CT09MX1BSRUZFUkVOQ0Uo
REVGSU5FX0JPT0xfREVGQVVMVFMpCisgICAgICAgIEZPUl9FQUNIX1dFQktJVF9CT09MX1BSRUZF
UkVOQ0UoREVGSU5FX0JPT0xfREVGQVVMVFMpCiAjdW5kZWYgREVGSU5FX0JPT0xfREVGQVVMVFMK
ICAgICB9CiAKQEAgLTExNiwxMyArMTE2LDI2IEBAIHVpbnQzMl90IGRlZmF1bHRWYWx1ZUZvcktl
eShjb25zdCBTdHJpbmcKICAgICBzdGF0aWMgSGFzaE1hcDxTdHJpbmcsIHVpbnQzMl90PiYgZGVm
YXVsdHMgPSAqbmV3IEhhc2hNYXA8U3RyaW5nLCB1aW50MzJfdD47CiAgICAgaWYgKGRlZmF1bHRz
LmlzRW1wdHkoKSkgewogI2RlZmluZSBERUZJTkVfVUlOVDMyX0RFRkFVTFRTKEtleVVwcGVyLCBL
ZXlMb3dlciwgVHlwZU5hbWUsIFR5cGUsIERlZmF1bHRWYWx1ZSkgZGVmYXVsdHMuc2V0KFdlYlBy
ZWZlcmVuY2VzS2V5OjpLZXlMb3dlciMjS2V5KCksIERlZmF1bHRWYWx1ZSk7Ci0gICAgRk9SX0VB
Q0hfV0VCS0lUX1VJTlQzMl9QUkVGRVJFTkNFKERFRklORV9VSU5UMzJfREVGQVVMVFMpCisgICAg
ICAgIEZPUl9FQUNIX1dFQktJVF9VSU5UMzJfUFJFRkVSRU5DRShERUZJTkVfVUlOVDMyX0RFRkFV
TFRTKQogI3VuZGVmIERFRklORV9VSU5UMzJfREVGQVVMVFMKICAgICB9CiAKICAgICByZXR1cm4g
ZGVmYXVsdHMuZ2V0KGtleSk7CiB9CiAKK3RlbXBsYXRlPD4KK2RvdWJsZSBkZWZhdWx0VmFsdWVG
b3JLZXkoY29uc3QgU3RyaW5nJiBrZXkpCit7CisgICAgc3RhdGljIEhhc2hNYXA8U3RyaW5nLCBk
b3VibGU+JiBkZWZhdWx0cyA9ICpuZXcgSGFzaE1hcDxTdHJpbmcsIGRvdWJsZT47CisgICAgaWYg
KGRlZmF1bHRzLmlzRW1wdHkoKSkgeworI2RlZmluZSBERUZJTkVfRE9VQkxFX0RFRkFVTFRTKEtl
eVVwcGVyLCBLZXlMb3dlciwgVHlwZU5hbWUsIFR5cGUsIERlZmF1bHRWYWx1ZSkgZGVmYXVsdHMu
c2V0KFdlYlByZWZlcmVuY2VzS2V5OjpLZXlMb3dlciMjS2V5KCksIERlZmF1bHRWYWx1ZSk7Cisg
ICAgICAgIEZPUl9FQUNIX1dFQktJVF9ET1VCTEVfUFJFRkVSRU5DRShERUZJTkVfRE9VQkxFX0RF
RkFVTFRTKQorI3VuZGVmIERFRklORV9ET1VCTEVfREVGQVVMVFMKKyAgICB9CisKKyAgICByZXR1
cm4gZGVmYXVsdHMuZ2V0KGtleSk7Cit9CisKIHRlbXBsYXRlPHR5cGVuYW1lIE1hcFR5cGU+CiBz
dGF0aWMgdHlwZW5hbWUgTWFwVHlwZTo6TWFwcGVkVHlwZSB2YWx1ZUZvcktleShjb25zdCBNYXBU
eXBlJiBtYXAsIGNvbnN0IHR5cGVuYW1lIE1hcFR5cGU6OktleVR5cGUmIGtleSkKIHsKQEAgLTE3
NCw0ICsxODcsMTQgQEAgdWludDMyX3QgV2ViUHJlZmVyZW5jZXNTdG9yZTo6Z2V0VUludDMyVgog
ICAgIHJldHVybiB2YWx1ZUZvcktleShtX3VpbnQzMlZhbHVlcywga2V5KTsKIH0KIAorYm9vbCBX
ZWJQcmVmZXJlbmNlc1N0b3JlOjpzZXREb3VibGVWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtl
eSwgZG91YmxlIHZhbHVlKSAKK3sKKyAgICByZXR1cm4gc2V0VmFsdWVGb3JLZXkobV9kb3VibGVW
YWx1ZXMsIGtleSwgdmFsdWUpOworfQorCitkb3VibGUgV2ViUHJlZmVyZW5jZXNTdG9yZTo6Z2V0
RG91YmxlVmFsdWVGb3JLZXkoY29uc3QgU3RyaW5nJiBrZXkpIGNvbnN0Cit7CisgICAgcmV0dXJu
IHZhbHVlRm9yS2V5KG1fZG91YmxlVmFsdWVzLCBrZXkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKSW5kZXg6IFdlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgJKHJldmlzaW9uIDc1
MzI1KQorKysgV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC02NiwxMiArNjYsMTcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAgICAgbWFjcm8oRE9NUGFz
dGVBbGxvd2VkLCBkb21QYXN0ZUFsbG93ZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCiAgICAgXAog
CisjZGVmaW5lIEZPUl9FQUNIX1dFQktJVF9ET1VCTEVfUFJFRkVSRU5DRShtYWNybykgXAorICAg
IG1hY3JvKFBERlNjYWxlRmFjdG9yLCBwZGZTY2FsZUZhY3RvciwgRG91YmxlLCBkb3VibGUsIDAp
IFwKKyAgICBcCisKICNkZWZpbmUgRk9SX0VBQ0hfV0VCS0lUX1VJTlQzMl9QUkVGRVJFTkNFKG1h
Y3JvKSBcCiAgICAgbWFjcm8oRm9udFNtb290aGluZ0xldmVsLCBmb250U21vb3RoaW5nTGV2ZWws
IFVJbnQzMiwgdWludDMyX3QsIEZvbnRTbW9vdGhpbmdMZXZlbE1lZGl1bSkgXAogICAgIG1hY3Jv
KE1pbmltdW1Gb250U2l6ZSwgbWluaW11bUZvbnRTaXplLCBVSW50MzIsIHVpbnQzMl90LCAwKSBc
CiAgICAgbWFjcm8oTWluaW11bUxvZ2ljYWxGb250U2l6ZSwgbWluaW11bUxvZ2ljYWxGb250U2l6
ZSwgVUludDMyLCB1aW50MzJfdCwgOSkgXAogICAgIG1hY3JvKERlZmF1bHRGb250U2l6ZSwgZGVm
YXVsdEZvbnRTaXplLCBVSW50MzIsIHVpbnQzMl90LCAxNikgXAogICAgIG1hY3JvKERlZmF1bHRG
aXhlZEZvbnRTaXplLCBkZWZhdWx0Rml4ZWRGb250U2l6ZSwgVUludDMyLCB1aW50MzJfdCwgMTMp
IFwKKyAgICBtYWNybyhQREZEaXNwbGF5TW9kZSwgcGRmRGlzcGxheU1vZGUsIFVJbnQzMiwgdWlu
dDMyX3QsIDEpIFwKICAgICBcCiAKICNpZiBQTEFURk9STShXSU4pCkBAIC0xMDcsNiArMTEyLDcg
QEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKICNkZWZpbmUgRk9SX0VBQ0hfV0VCS0lUX1BSRUZFUkVO
Q0UobWFjcm8pIFwKICAgICBGT1JfRUFDSF9XRUJLSVRfQk9PTF9QUkVGRVJFTkNFKG1hY3JvKSBc
CisgICAgRk9SX0VBQ0hfV0VCS0lUX0RPVUJMRV9QUkVGRVJFTkNFKG1hY3JvKSBcCiAgICAgRk9S
X0VBQ0hfV0VCS0lUX1VJTlQzMl9QUkVGRVJFTkNFKG1hY3JvKSBcCiAgICAgRk9SX0VBQ0hfV0VC
S0lUX1NUUklOR19QUkVGRVJFTkNFKG1hY3JvKSBcCiAgICAgXApAQCAtMTM4LDEyICsxNDQsMTYg
QEAgc3RydWN0IFdlYlByZWZlcmVuY2VzU3RvcmUgewogICAgIGJvb2wgc2V0VUludDMyVmFsdWVG
b3JLZXkoY29uc3QgU3RyaW5nJiBrZXksIHVpbnQzMl90IHZhbHVlKTsKICAgICB1aW50MzJfdCBn
ZXRVSW50MzJWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSkgY29uc3Q7CiAKKyAgICBib29s
IHNldERvdWJsZVZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYga2V5LCBkb3VibGUgdmFsdWUpOwor
ICAgIGRvdWJsZSBnZXREb3VibGVWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSkgY29uc3Q7
CisKICAgICBzdGF0aWMgdm9pZCBvdmVycmlkZVhTU0F1ZGl0b3JFbmFibGVkRm9yVGVzdFJ1bm5l
cihib29sKTsKICAgICBzdGF0aWMgdm9pZCByZW1vdmVUZXN0UnVubmVyT3ZlcnJpZGVzKCk7CiAK
ICAgICBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiBtX3N0cmluZ1ZhbHVlczsKICAgICBIYXNoTWFw
PFN0cmluZywgYm9vbD4gbV9ib29sVmFsdWVzOwogICAgIEhhc2hNYXA8U3RyaW5nLCB1aW50MzJf
dD4gbV91aW50MzJWYWx1ZXM7CisgICAgSGFzaE1hcDxTdHJpbmcsIGRvdWJsZT4gbV9kb3VibGVW
YWx1ZXM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFdlYktpdDIvVUlQcm9j
ZXNzL1dlYlByZWZlcmVuY2VzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQcmVmZXJlbmNlcy5jcHAJKHJldmlzaW9uIDc1MzI1KQorKysgV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUHJlZmVyZW5jZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAsIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC03OCw2ICs3OCwxMiBAQCB2b2lkIFdl
YlByZWZlcmVuY2VzOjp1cGRhdGVVSW50MzJWYWx1ZUZvCiAgICAgdXBkYXRlKCk7IC8vIEZJWE1F
OiBPbmx5IHNlbmQgb3ZlciB0aGUgY2hhbmdlZCBrZXkgYW5kIHZhbHVlLgogfQogCit2b2lkIFdl
YlByZWZlcmVuY2VzOjp1cGRhdGVEb3VibGVWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSwg
ZG91YmxlIHZhbHVlKQoreworICAgIHBsYXRmb3JtVXBkYXRlRG91YmxlVmFsdWVGb3JLZXkoa2V5
LCB2YWx1ZSk7CisgICAgdXBkYXRlKCk7IC8vIEZJWE1FOiBPbmx5IHNlbmQgb3ZlciB0aGUgY2hh
bmdlZCBrZXkgYW5kIHZhbHVlLgorfQorCiAjZGVmaW5lIERFRklORV9QUkVGRVJFTkNFX0dFVFRF
Ul9BTkRfU0VUVEVSUyhLZXlVcHBlciwgS2V5TG93ZXIsIFR5cGVOYW1lLCBUeXBlLCBEZWZhdWx0
VmFsdWUpIFwKICAgICB2b2lkIFdlYlByZWZlcmVuY2VzOjpzZXQjI0tleVVwcGVyKGNvbnN0IFR5
cGUmIHZhbHVlKSBcCiAgICAgeyBcCkluZGV4OiBXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcmVmZXJl
bmNlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmgJ
KHJldmlzaW9uIDc1MzI1KQorKysgV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuaAko
d29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAy
MDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtODIsOSArODIsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZVN0
cmluZ1ZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIHZhbHVlKTsK
ICAgICB2b2lkIHVwZGF0ZUJvb2xWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSwgYm9vbCB2
YWx1ZSk7CiAgICAgdm9pZCB1cGRhdGVVSW50MzJWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtl
eSwgdWludDMyX3QgdmFsdWUpOworICAgIHZvaWQgdXBkYXRlRG91YmxlVmFsdWVGb3JLZXkoY29u
c3QgU3RyaW5nJiBrZXksIGRvdWJsZSB2YWx1ZSk7CiAgICAgdm9pZCBwbGF0Zm9ybVVwZGF0ZVN0
cmluZ1ZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIHZhbHVlKTsK
ICAgICB2b2lkIHBsYXRmb3JtVXBkYXRlQm9vbFZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYga2V5
LCBib29sIHZhbHVlKTsKICAgICB2b2lkIHBsYXRmb3JtVXBkYXRlVUludDMyVmFsdWVGb3JLZXko
Y29uc3QgU3RyaW5nJiBrZXksIHVpbnQzMl90IHZhbHVlKTsKKyAgICB2b2lkIHBsYXRmb3JtVXBk
YXRlRG91YmxlVmFsdWVGb3JLZXkoY29uc3QgU3RyaW5nJiBrZXksIGRvdWJsZSB2YWx1ZSk7CiAK
ICAgICBIYXNoU2V0PFdlYlBhZ2VHcm91cCo+IG1fcGFnZUdyb3VwczsKICAgICBXZWJQcmVmZXJl
bmNlc1N0b3JlIG1fc3RvcmU7CkluZGV4OiBXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BERlZp
ZXdDb250cm9sbGVyLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMv
UERGVmlld0NvbnRyb2xsZXIubW0JKHJldmlzaW9uIDc1MzMxKQorKysgV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL21hYy9QREZWaWV3Q29udHJvbGxlci5tbQkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjYsOSArMjYs
MTkgQEAKICNpbXBvcnQgIlBERlZpZXdDb250cm9sbGVyLmgiCiAKICNpbXBvcnQgIkRhdGFSZWZl
cmVuY2UuaCIKKyNpbXBvcnQgIldLQVBJQ2FzdC5oIgorI2ltcG9ydCAiV0tWaWV3LmgiCisjaW1w
b3J0ICJXZWJQYWdlR3JvdXAuaCIKKyNpbXBvcnQgIldlYlBhZ2VQcm94eS5oIgorI2ltcG9ydCAi
V2ViUHJlZmVyZW5jZXMuaCIKICNpbXBvcnQgPFBERktpdC9QREZLaXQuaD4KICNpbXBvcnQgPHd0
Zi90ZXh0L1dURlN0cmluZy5oPgogCisvLyBSZWRlY2xhcmF0aW9ucyBvZiBQREZLaXQgbm90aWZp
Y2F0aW9ucy4gV2UgY2FuJ3QgdXNlIHRoZSBBUEkgc2luY2Ugd2UgdXNlIGEgd2VhayBsaW5rIHRv
IHRoZSBmcmFtZXdvcmsuCisjZGVmaW5lIF93ZWJraXRfUERGVmlld0Rpc3BsYXlNb2RlQ2hhbmdl
ZE5vdGlmaWNhdGlvbiBAIlBERlZpZXdEaXNwbGF5TW9kZUNoYW5nZWQiCisjZGVmaW5lIF93ZWJr
aXRfUERGVmlld1NjYWxlQ2hhbmdlZE5vdGlmaWNhdGlvbiBAIlBERlZpZXdTY2FsZUNoYW5nZWQi
CisjZGVmaW5lIF93ZWJraXRfUERGVmlld1BhZ2VDaGFuZ2VkTm90aWZpY2F0aW9uIEAiUERGVmll
d0NoYW5nZWRQYWdlIgorCiBAY2xhc3MgUERGRG9jdW1lbnQ7CiBAY2xhc3MgUERGVmlldzsKIApA
QCAtNDQsMTEgKzU0LDE2IEBAIEBpbnRlcmZhY2UgV0tQREZWaWV3IDogTlNWaWV3CiAKICAgICBS
ZXRhaW5QdHI8TlNWaWV3PiBfcGRmUHJldmlld1ZpZXc7CiAgICAgUERGVmlldyAqX3BkZlZpZXc7
CisgICAgQk9PTCBfaWdub3JlU2NhbGVBbmREaXNwbGF5TW9kZUFuZFBhZ2VOb3RpZmljYXRpb25z
OworICAgIEJPT0wgX3dpbGxVcGRhdGVQcmVmZXJlbmNlc1Nvb247CiB9CiAKIC0gKGlkKWluaXRX
aXRoRnJhbWU6KE5TUmVjdClmcmFtZSBQREZWaWV3Q29udHJvbGxlcjooV2ViS2l0OjpQREZWaWV3
Q29udHJvbGxlciopcGRmVmlld0NvbnRyb2xsZXI7CiAtICh2b2lkKWludmFsaWRhdGU7CiAtIChQ
REZWaWV3ICopcGRmVmlldzsKKy0gKHZvaWQpc2V0RG9jdW1lbnQ6KFBERkRvY3VtZW50ICopcGRm
RG9jdW1lbnQ7CisKKy0gKHZvaWQpX2FwcGx5UERGUHJlZmVyZW5jZXM7CiAKIEBlbmQKIApAQCAt
NTcsMTEgKzcyLDEzIEBAIC0gKFBERlZpZXcgKilwZGZWaWV3OwogLSAoaWQpaW5pdFdpdGhGcmFt
ZTooTlNSZWN0KWZyYW1lIFBERlZpZXdDb250cm9sbGVyOihXZWJLaXQ6OlBERlZpZXdDb250cm9s
bGVyKilwZGZWaWV3Q29udHJvbGxlcgogewogICAgIGlmICgoc2VsZiA9IFtzdXBlciBpbml0V2l0
aEZyYW1lOmZyYW1lXSkpIHsKKyAgICAgICAgX3BkZlZpZXdDb250cm9sbGVyID0gcGRmVmlld0Nv
bnRyb2xsZXI7CisKICAgICAgICAgW3NlbGYgc2V0QXV0b3Jlc2l6aW5nTWFzazpOU1ZpZXdXaWR0
aFNpemFibGUgfCBOU1ZpZXdIZWlnaHRTaXphYmxlXTsKLSAgICAKKwogICAgICAgICBDbGFzcyBw
cmV2aWV3Vmlld0NsYXNzID0gV2ViS2l0OjpQREZWaWV3Q29udHJvbGxlcjo6cGRmUHJldmlld1Zp
ZXdDbGFzcygpOwogICAgICAgICBBU1NFUlQocHJldmlld1ZpZXdDbGFzcyk7Ci0gICAgICAgIAor
CiAgICAgICAgIF9wZGZQcmV2aWV3Vmlldy5hZG9wdE5TKFtbcHJldmlld1ZpZXdDbGFzcyBhbGxv
Y10gaW5pdFdpdGhGcmFtZTpmcmFtZV0pOwogICAgICAgICBbX3BkZlByZXZpZXdWaWV3LmdldCgp
IHNldEF1dG9yZXNpemluZ01hc2s6TlNWaWV3V2lkdGhTaXphYmxlIHwgTlNWaWV3SGVpZ2h0U2l6
YWJsZV07CiAgICAgICAgIFtzZWxmIGFkZFN1YnZpZXc6X3BkZlByZXZpZXdWaWV3LmdldCgpXTsK
QEAgLTc0LDcgKzkxLDcgQEAgLSAoaWQpaW5pdFdpdGhGcmFtZTooTlNSZWN0KWZyYW1lIFBERlZp
ZQogCiAtICh2b2lkKWludmFsaWRhdGUKIHsKLSAgICBfcGRmVmlld0NvbnRyb2xsZXIgPSBuaWw7
CisgICAgX3BkZlZpZXdDb250cm9sbGVyID0gMDsKIH0KIAogLSAoUERGVmlldyAqKXBkZlZpZXcK
QEAgLTgyLDYgKzk5LDgzIEBAIC0gKFBERlZpZXcgKilwZGZWaWV3CiAgICAgcmV0dXJuIF9wZGZW
aWV3OwogfQogCistICh2b2lkKXNldERvY3VtZW50OihQREZEb2N1bWVudCAqKXBkZkRvY3VtZW50
Cit7CisgICAgX2lnbm9yZVNjYWxlQW5kRGlzcGxheU1vZGVBbmRQYWdlTm90aWZpY2F0aW9ucyA9
IFlFUzsKKyAgICBbX3BkZlZpZXcgc2V0RG9jdW1lbnQ6cGRmRG9jdW1lbnRdOworICAgIFtzZWxm
IF9hcHBseVBERlByZWZlcmVuY2VzXTsKKyAgICBfaWdub3JlU2NhbGVBbmREaXNwbGF5TW9kZUFu
ZFBhZ2VOb3RpZmljYXRpb25zID0gTk87Cit9CisKKy0gKHZvaWQpX2FwcGx5UERGUHJlZmVyZW5j
ZXMKK3sKKyAgICBpZiAoIV9wZGZWaWV3Q29udHJvbGxlcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgV2ViS2l0OjpXZWJQcmVmZXJlbmNlcyAqcHJlZmVyZW5jZXMgPSBXZWJLaXQ6OnRvSW1wbChb
X3BkZlZpZXdDb250cm9sbGVyLT53a1ZpZXcoKSBwYWdlUmVmXSktPnBhZ2VHcm91cCgpLT5wcmVm
ZXJlbmNlcygpOworCisgICAgQ0dGbG9hdCBzY2FsZUZhY3RvciA9IHByZWZlcmVuY2VzLT5wZGZT
Y2FsZUZhY3RvcigpOworICAgIGlmICghc2NhbGVGYWN0b3IpCisgICAgICAgIFtfcGRmVmlldyBz
ZXRBdXRvU2NhbGVzOllFU107CisgICAgZWxzZSB7CisgICAgICAgIFtfcGRmVmlldyBzZXRBdXRv
U2NhbGVzOk5PXTsKKyAgICAgICAgW19wZGZWaWV3IHNldFNjYWxlRmFjdG9yOnNjYWxlRmFjdG9y
XTsKKyAgICB9CisgICAgW19wZGZWaWV3IHNldERpc3BsYXlNb2RlOnByZWZlcmVuY2VzLT5wZGZE
aXNwbGF5TW9kZSgpXTsKK30KKworLSAodm9pZClfdXBkYXRlUHJlZmVyZW5jZXM6KGlkKWlnbm9y
ZWQKK3sKKyAgICBfd2lsbFVwZGF0ZVByZWZlcmVuY2VzU29vbiA9IE5POworCisgICAgaWYgKCFf
cGRmVmlld0NvbnRyb2xsZXIpCisgICAgICAgIHJldHVybjsKKworICAgIFdlYktpdDo6V2ViUHJl
ZmVyZW5jZXMgKnByZWZlcmVuY2VzID0gV2ViS2l0Ojp0b0ltcGwoW19wZGZWaWV3Q29udHJvbGxl
ci0+d2tWaWV3KCkgcGFnZVJlZl0pLT5wYWdlR3JvdXAoKS0+cHJlZmVyZW5jZXMoKTsKKworICAg
IENHRmxvYXQgc2NhbGVGYWN0b3IgPSBbX3BkZlZpZXcgYXV0b1NjYWxlc10gPyAwIDogW19wZGZW
aWV3IHNjYWxlRmFjdG9yXTsKKyAgICBwcmVmZXJlbmNlcy0+c2V0UERGU2NhbGVGYWN0b3Ioc2Nh
bGVGYWN0b3IpOworICAgIHByZWZlcmVuY2VzLT5zZXRQREZEaXNwbGF5TW9kZShbX3BkZlZpZXcg
ZGlzcGxheU1vZGVdKTsKK30KKworLSAodm9pZClfdXBkYXRlUHJlZmVyZW5jZXNTb29uCit7ICAg
CisgICAgaWYgKF93aWxsVXBkYXRlUHJlZmVyZW5jZXNTb29uKQorICAgICAgICByZXR1cm47CisK
KyAgICBbc2VsZiBwZXJmb3JtU2VsZWN0b3I6QHNlbGVjdG9yKF91cGRhdGVQcmVmZXJlbmNlczop
IHdpdGhPYmplY3Q6bmlsIGFmdGVyRGVsYXk6MF07CisgICAgX3dpbGxVcGRhdGVQcmVmZXJlbmNl
c1Nvb24gPSBZRVM7Cit9CisKKy0gKHZvaWQpX3NjYWxlT3JEaXNwbGF5TW9kZU9yUGFnZUNoYW5n
ZWQ6KE5TTm90aWZpY2F0aW9uICopbm90aWZpY2F0aW9uCit7CisgICAgQVNTRVJUX0FSRyhub3Rp
ZmljYXRpb24sIFtub3RpZmljYXRpb24gb2JqZWN0XSA9PSBfcGRmVmlldyk7CisgICAgaWYgKCFf
aWdub3JlU2NhbGVBbmREaXNwbGF5TW9kZUFuZFBhZ2VOb3RpZmljYXRpb25zKQorICAgICAgICBb
c2VsZiBfdXBkYXRlUHJlZmVyZW5jZXNTb29uXTsKK30KKworLSAodm9pZCl2aWV3RGlkTW92ZVRv
V2luZG93Cit7CisgICAgaWYgKCFbc2VsZiB3aW5kb3ddKQorICAgICAgICByZXR1cm47CisKKyAg
ICBOU05vdGlmaWNhdGlvbkNlbnRlciAqbm90aWZpY2F0aW9uQ2VudGVyID0gW05TTm90aWZpY2F0
aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdOworICAgIFtub3RpZmljYXRpb25DZW50ZXIgYWRkT2Jz
ZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3NjYWxlT3JEaXNwbGF5TW9kZU9yUGFnZUNo
YW5nZWQ6KSBuYW1lOl93ZWJraXRfUERGVmlld1NjYWxlQ2hhbmdlZE5vdGlmaWNhdGlvbiBvYmpl
Y3Q6X3BkZlZpZXddOworICAgIFtub3RpZmljYXRpb25DZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBz
ZWxlY3RvcjpAc2VsZWN0b3IoX3NjYWxlT3JEaXNwbGF5TW9kZU9yUGFnZUNoYW5nZWQ6KSBuYW1l
Ol93ZWJraXRfUERGVmlld0Rpc3BsYXlNb2RlQ2hhbmdlZE5vdGlmaWNhdGlvbiBvYmplY3Q6X3Bk
ZlZpZXddOworICAgIFtub3RpZmljYXRpb25DZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3Rv
cjpAc2VsZWN0b3IoX3NjYWxlT3JEaXNwbGF5TW9kZU9yUGFnZUNoYW5nZWQ6KSBuYW1lOl93ZWJr
aXRfUERGVmlld1BhZ2VDaGFuZ2VkTm90aWZpY2F0aW9uIG9iamVjdDpfcGRmVmlld107Cit9CisK
Ky0gKHZvaWQpdmlld1dpbGxNb3ZlVG9XaW5kb3c6KE5TV2luZG93ICopbmV3V2luZG93Cit7Cisg
ICAgaWYgKCFbc2VsZiB3aW5kb3ddKQorICAgICAgICByZXR1cm47CisKKyAgICBOU05vdGlmaWNh
dGlvbkNlbnRlciAqbm90aWZpY2F0aW9uQ2VudGVyID0gW05TTm90aWZpY2F0aW9uQ2VudGVyIGRl
ZmF1bHRDZW50ZXJdOworICAgIFtub3RpZmljYXRpb25DZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6c2Vs
ZiBuYW1lOl93ZWJraXRfUERGVmlld1NjYWxlQ2hhbmdlZE5vdGlmaWNhdGlvbiBvYmplY3Q6X3Bk
ZlZpZXddOworICAgIFtub3RpZmljYXRpb25DZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6c2VsZiBuYW1l
Ol93ZWJraXRfUERGVmlld0Rpc3BsYXlNb2RlQ2hhbmdlZE5vdGlmaWNhdGlvbiBvYmplY3Q6X3Bk
ZlZpZXddOworICAgIFtub3RpZmljYXRpb25DZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6c2VsZiBuYW1l
Ol93ZWJraXRfUERGVmlld1BhZ2VDaGFuZ2VkTm90aWZpY2F0aW9uIG9iamVjdDpfcGRmVmlld107
Cit9CisKIEBlbmQKIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC0xNDgsNyArMjQyLDcgQEAgdm9p
ZCBQREZWaWV3Q29udHJvbGxlcjo6c2V0UERGRG9jdW1lbnREYQogICAgIH0KIAogICAgIFJldGFp
blB0cjxQREZEb2N1bWVudD4gcGRmRG9jdW1lbnQoQWRvcHROUywgW1twZGZEb2N1bWVudENsYXNz
KCkgYWxsb2NdIGluaXRXaXRoRGF0YTooTlNEYXRhICopZGF0YS5nZXQoKV0pOwotICAgIFttX3Bk
ZlZpZXcgc2V0RG9jdW1lbnQ6cGRmRG9jdW1lbnQuZ2V0KCldOworICAgIFttX3drUERGVmlldy5n
ZXQoKSBzZXREb2N1bWVudDpwZGZEb2N1bWVudC5nZXQoKV07CiB9CiAKIGRvdWJsZSBQREZWaWV3
Q29udHJvbGxlcjo6em9vbUZhY3RvcigpIGNvbnN0CkluZGV4OiBXZWJLaXQyL1VJUHJvY2Vzcy9j
Zi9XZWJQcmVmZXJlbmNlc0NGLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1VJUHJvY2Vzcy9j
Zi9XZWJQcmVmZXJlbmNlc0NGLmNwcAkocmV2aXNpb24gNzUzMjUpCisrKyBXZWJLaXQyL1VJUHJv
Y2Vzcy9jZi9XZWJQcmVmZXJlbmNlc0NGLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUs
MTAgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6cGxhdGZvcm1VcGRhdGVVSW50MwogewogfQogCit2
b2lkIFdlYlByZWZlcmVuY2VzOjpwbGF0Zm9ybVVwZGF0ZURvdWJsZVZhbHVlRm9yS2V5KGNvbnN0
IFN0cmluZyYsIGRvdWJsZSkKK3sKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRp
ZiAvLyAhUExBVEZPUk0oTUFDKQpJbmRleDogV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlByZWZl
cmVuY2VzR3RrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViUHJl
ZmVyZW5jZXNHdGsuY3BwCShyZXZpc2lvbiA3NTMyNSkKKysrIFdlYktpdDIvVUlQcm9jZXNzL2d0
ay9XZWJQcmVmZXJlbmNlc0d0ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUwLDQgKzUwLDkgQEAg
dm9pZCBXZWJQcmVmZXJlbmNlczo6cGxhdGZvcm1VcGRhdGVVSW50MwogICAgIG5vdEltcGxlbWVu
dGVkKCk7CiB9CiAKK3ZvaWQgV2ViUHJlZmVyZW5jZXM6OnBsYXRmb3JtVXBkYXRlRG91YmxlVmFs
dWVGb3JLZXkoY29uc3QgU3RyaW5nJiwgZG91YmxlKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogV2ViS2l0Mi9VSVByb2Nlc3MvbWFj
L1dlYlByZWZlcmVuY2VzTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvVUlQcm9jZXNzL21h
Yy9XZWJQcmVmZXJlbmNlc01hYy5tbQkocmV2aXNpb24gNzUzMjUpCisrKyBXZWJLaXQyL1VJUHJv
Y2Vzcy9tYWMvV2ViUHJlZmVyZW5jZXNNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1
IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTY4LDYgKzY4LDE3
IEBAIHN0YXRpYyB2b2lkIHNldFVJbnQzMlZhbHVlSWZJblVzZXJEZWZhdWwKICAgICBzdG9yZS5z
ZXRVSW50MzJWYWx1ZUZvcktleShrZXksIFtvYmplY3QgaW50VmFsdWVdKTsKIH0KIAorc3RhdGlj
IHZvaWQgc2V0RG91YmxlVmFsdWVJZkluVXNlckRlZmF1bHRzKGNvbnN0IFN0cmluZyYgaWRlbnRp
ZmllciwgY29uc3QgU3RyaW5nJiBrZXksIFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlKQorewor
ICAgIGlkIG9iamVjdCA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIG9i
amVjdEZvcktleTptYWtlS2V5KGlkZW50aWZpZXIsIGtleSldOworICAgIGlmICghb2JqZWN0KQor
ICAgICAgICByZXR1cm47CisgICAgaWYgKCFbb2JqZWN0IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2Vs
ZWN0b3IoZG91YmxlVmFsdWUpXSkKKyAgICAgICAgcmV0dXJuOworCisgICAgc3RvcmUuc2V0RG91
YmxlVmFsdWVGb3JLZXkoa2V5LCBbb2JqZWN0IGRvdWJsZVZhbHVlXSk7Cit9CisKIHZvaWQgV2Vi
UHJlZmVyZW5jZXM6OnBsYXRmb3JtSW5pdGlhbGl6ZVN0b3JlKCkKIHsKICAgICBpZiAoIW1faWRl
bnRpZmllcikKQEAgLTEwNSw1ICsxMTYsMTIgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6cGxhdGZv
cm1VcGRhdGVVSW50MwogICAgIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNd
IHNldEludGVnZXI6dmFsdWUgZm9yS2V5Om1ha2VLZXkobV9pZGVudGlmaWVyLCBrZXkpXTsKIH0K
IAotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cit2b2lkIFdlYlByZWZlcmVuY2VzOjpwbGF0Zm9ybVVw
ZGF0ZURvdWJsZVZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYga2V5LCBkb3VibGUgdmFsdWUpCit7
CisgICAgaWYgKCFtX2lkZW50aWZpZXIpCisgICAgICAgIHJldHVybjsKIAorICAgIFtbTlNVc2Vy
RGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHNldERvdWJsZTp2YWx1ZSBmb3JLZXk6bWFr
ZUtleShtX2lkZW50aWZpZXIsIGtleSldOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5k
ZXg6IFdlYktpdDIvVUlQcm9jZXNzL3F0L1dlYlByZWZlcmVuY2VzUXQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdDIvVUlQcm9jZXNzL3F0L1dlYlByZWZlcmVuY2VzUXQuY3BwCShyZXZpc2lvbiA3
NTMyNSkKKysrIFdlYktpdDIvVUlQcm9jZXNzL3F0L1dlYlByZWZlcmVuY2VzUXQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00Myw0ICs0Myw4IEBAIHZvaWQgV2ViUHJlZmVyZW5jZXM6OnBsYXRmb3Jt
VXBkYXRlVUludDMKIHsKIH0KIAordm9pZCBXZWJQcmVmZXJlbmNlczo6cGxhdGZvcm1VcGRhdGVE
b3VibGVWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmLCBkb3VibGUpCit7Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdAo=
</data>
<flag name="review"
          id="69637"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>