<?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>43990</bug_id>
          
          <creation_ts>2010-08-13 13:57:17 -0700</creation_ts>
          <short_desc>Add dictionary API type</short_desc>
          <delta_ts>2010-08-13 14:33:51 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>264492</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-08-13 13:57:17 -0700</bug_when>
    <thetext>Add dictionary API type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264493</commentid>
    <comment_count>1</comment_count>
      <attachid>64374</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-08-13 13:59:20 -0700</bug_when>
    <thetext>Created attachment 64374
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264494</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-13 14:00:08 -0700</bug_when>
    <thetext>Attachment 64374 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKit2/UIProcess/API/C/WKDictionary.cpp:26:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/UIProcess/API/C/WKAPICast.h:64:  More than one command on the same line  [whitespace/newline] [4]
WebKit2/UIProcess/API/C/WKAPICast.h:79:  More than one command on the same line  [whitespace/newline] [4]
WebKit2/UIProcess/API/C/WebKit2.h:32:  Alphabetical sorting problem.  [build/include_order] [4]
WebKit2/Shared/ImmutableDictionary.cpp:26:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 5 in 12 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264502</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-08-13 14:33:51 -0700</bug_when>
    <thetext>Landed in r65339.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64374</attachid>
            <date>2010-08-13 13:59:20 -0700</date>
            <delta_ts>2010-08-13 14:05:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>22186</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NTMzNykKKysrIFdlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTIgQEAKKzIwMTAtMDgtMTMgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgZGlj
dGlvbmFyeSBBUEkgdHlwZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDM5OTAKKworICAgICAgICBBZGQgYW4gaW1tdXRhYmxlIGRpY3Rpb25hcnkgdHlw
ZSAoV0tTdHJpbmdSZWYgLT4gV0tUeXBlUmVmKS4KKworICAgICAgICAqIFNoYXJlZC9BUElPYmpl
Y3QuaDoKKyAgICAgICAgKFdlYktpdDo6QVBJT2JqZWN0OjopOgorICAgICAgICBBZGQgbmV3IEFQ
SVR5cGUuCisKKyAgICAgICAgKiBTaGFyZWQvSW1tdXRhYmxlRGljdGlvbmFyeS5jcHA6IEFkZGVk
LgorICAgICAgICAoV2ViS2l0OjpJbW11dGFibGVEaWN0aW9uYXJ5OjpJbW11dGFibGVEaWN0aW9u
YXJ5KToKKyAgICAgICAgKFdlYktpdDo6SW1tdXRhYmxlRGljdGlvbmFyeTo6fkltbXV0YWJsZURp
Y3Rpb25hcnkpOgorICAgICAgICAqIFNoYXJlZC9JbW11dGFibGVEaWN0aW9uYXJ5Lmg6IEFkZGVk
LgorICAgICAgICAoV2ViS2l0OjpJbW11dGFibGVEaWN0aW9uYXJ5OjpjcmVhdGUpOgorICAgICAg
ICAoV2ViS2l0OjpJbW11dGFibGVEaWN0aW9uYXJ5OjphZG9wdCk6CisgICAgICAgIChXZWJLaXQ6
OkltbXV0YWJsZURpY3Rpb25hcnk6OmdldCk6CisgICAgICAgIChXZWJLaXQ6OkltbXV0YWJsZURp
Y3Rpb25hcnk6OnNpemUpOgorICAgICAgICAoV2ViS2l0OjpJbW11dGFibGVEaWN0aW9uYXJ5Ojop
OgorICAgICAgICAoV2ViS2l0OjpJbW11dGFibGVEaWN0aW9uYXJ5Ojp0eXBlKToKKyAgICAgICAg
QWRkIGJhc2ljIGltcGxlbWVudGF0aW9uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tB
UElDYXN0Lmg6CisgICAgICAgIChXZWJLaXQ6Oik6CisgICAgICAgIEFkZCBuZXcgbWFwcGluZ3Mu
CisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tCYXNlLmg6CisgICAgICAgIEFkZCBuZXcg
b3BhcXVlIHR5cGUuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tEaWN0aW9uYXJ5LmNw
cDogQWRkZWQuCisgICAgICAgIChXS0RpY3Rpb25hcnlHZXRUeXBlSUQpOgorICAgICAgICAoV0tE
aWN0aW9uYXJ5R2V0SXRlbUZvcktleSk6CisgICAgICAgIChXS0RpY3Rpb25hcnlHZXRTaXplKToK
KyAgICAgICAgKFdLRGljdGlvbmFyeVJldGFpbik6CisgICAgICAgIChXS0RpY3Rpb25hcnlSZWxl
YXNlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tEaWN0aW9uYXJ5Lmg6IEFkZGVkLgor
ICAgICAgICBBZGQgQVBJIHdyYXBwaW5ncy4KKyAgICAKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0MvV2ViS2l0Mi5oOgorICAgICAgICBBZGQgbWlzc2luZyBwdWJsaWMgaGVhZGVycy4KKworICAg
ICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3aW4v
V2ViS2l0Mi52Y3Byb2o6CisgICAgICAgICogd2luL1dlYktpdDJHZW5lcmF0ZWQubWFrZToKKyAg
ICAgICAgQWRkIG5ldyBmaWxlcy4KKwogMjAxMC0wOC0xMyAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEpvbiBIb25leWN1dHQuCkluZGV4OiBXZWJL
aXQyL1NoYXJlZC9BUElPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1NoYXJlZC9BUElP
YmplY3QuaAkocmV2aXNpb24gNjUzMzcpCisrKyBXZWJLaXQyL1NoYXJlZC9BUElPYmplY3QuaAko
d29ya2luZyBjb3B5KQpAQCAtMzUsNiArMzUsNyBAQCBwdWJsaWM6CiAgICAgZW51bSBUeXBlIHsK
ICAgICAgICAgLy8gQmFzZSB0eXBlcwogICAgICAgICBUeXBlQXJyYXksCisgICAgICAgIFR5cGVE
aWN0aW9uYXJ5LAogICAgICAgICBUeXBlRGF0YSwKICAgICAgICAgVHlwZUVycm9yLAogICAgICAg
ICBUeXBlU3RyaW5nLApJbmRleDogV2ViS2l0Mi9TaGFyZWQvSW1tdXRhYmxlRGljdGlvbmFyeS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9TaGFyZWQvSW1tdXRhYmxlRGljdGlvbmFyeS5jcHAJ
KHJldmlzaW9uIDApCisrKyBXZWJLaXQyL1NoYXJlZC9JbW11dGFibGVEaWN0aW9uYXJ5LmNwcAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJJbW11
dGFibGVEaWN0aW9uYXJ5LmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitJbW11dGFibGVEaWN0
aW9uYXJ5OjpJbW11dGFibGVEaWN0aW9uYXJ5KCkKK3sKK30KKworSW1tdXRhYmxlRGljdGlvbmFy
eTo6SW1tdXRhYmxlRGljdGlvbmFyeShNYXBUeXBlJiBtYXAsIEFkb3B0VGFnKQoreworICAgIG1f
bWFwLnN3YXAobWFwKTsKK30KKworSW1tdXRhYmxlRGljdGlvbmFyeTo6fkltbXV0YWJsZURpY3Rp
b25hcnkoKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFdlYktpdDIvU2hh
cmVkL0ltbXV0YWJsZURpY3Rpb25hcnkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1NoYXJlZC9J
bW11dGFibGVEaWN0aW9uYXJ5LmgJKHJldmlzaW9uIDApCisrKyBXZWJLaXQyL1NoYXJlZC9JbW11
dGFibGVEaWN0aW9uYXJ5LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsODcgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaWZuZGVmIEltbXV0YWJsZURpY3Rpb25hcnlfaAorI2RlZmluZSBJbW11dGFibGVEaWN0
aW9uYXJ5X2gKKworI2luY2x1ZGUgIkFQSU9iamVjdC5oIgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJp
bmdIYXNoLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBX
ZWJLaXQgeworCisvLyBJbW11dGFibGVEaWN0aW9uYXJ5IC0gQW4gaW1tdXRhYmxlIGRpY3Rpb25h
cnkgdHlwZSBzdWl0YWJsZSBmb3IgdmVuZGluZyB0byBhbiBBUEkuCisKK2NsYXNzIEltbXV0YWJs
ZURpY3Rpb25hcnkgOiBwdWJsaWMgQVBJT2JqZWN0IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgY29u
c3QgVHlwZSBBUElUeXBlID0gVHlwZURpY3Rpb25hcnk7CisKKyAgICB0eXBlZGVmIEhhc2hNYXA8
V1RGOjpTdHJpbmcsIFJlZlB0cjxBUElPYmplY3Q+ID4gTWFwVHlwZTsKKworICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPEltbXV0YWJsZURpY3Rpb25hcnk+IGNyZWF0ZSgpCisgICAgeworICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IEltbXV0YWJsZURpY3Rpb25hcnkpOworICAgIH0KKyAgICBzdGF0
aWMgUGFzc1JlZlB0cjxJbW11dGFibGVEaWN0aW9uYXJ5PiBhZG9wdChNYXBUeXBlJiBtYXAsIHNp
emVfdCBzaXplKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBJbW11dGFibGVE
aWN0aW9uYXJ5KG1hcCwgQWRvcHQpKTsKKyAgICB9CisgICAgfkltbXV0YWJsZURpY3Rpb25hcnko
KTsKKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CisgICAgVCogZ2V0KGNvbnN0IFdURjo6U3Ry
aW5nJiBrZXkpCisgICAgeworICAgICAgICBSZWZQdHI8QVBJT2JqZWN0PiBpdGVtID0gbV9tYXAu
Z2V0KGtleSk7CisgICAgICAgIGlmICghaXRlbSkKKyAgICAgICAgICAgIHJldHVybiAwOworCisg
ICAgICAgIGlmIChpdGVtLT50eXBlKCkgIT0gVDo6QVBJVHlwZSkKKyAgICAgICAgICAgIHJldHVy
biAwOworCisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxUKj4oaXRlbS5nZXQoKSk7CisgICAg
fQorCisgICAgQVBJT2JqZWN0KiBnZXQoY29uc3QgV1RGOjpTdHJpbmcmIGtleSkKKyAgICB7Cisg
ICAgICAgIHJldHVybiBtX21hcC5nZXQoa2V5KS5nZXQoKTsKKyAgICB9CisKKyAgICBzaXplX3Qg
c2l6ZSgpIHsgcmV0dXJuIG1fbWFwLnNpemUoKTsgfQorCitwcml2YXRlOgorICAgIEltbXV0YWJs
ZURpY3Rpb25hcnkoKTsKKyAgICBlbnVtIEFkb3B0VGFnIHsgQWRvcHQgfTsKKyAgICBJbW11dGFi
bGVEaWN0aW9uYXJ5KE1hcFR5cGUmIG1hcCwgQWRvcHRUYWcpOworCisgICAgdmlydHVhbCBUeXBl
IHR5cGUoKSBjb25zdCB7IHJldHVybiBBUElUeXBlOyB9CisKKyAgICBNYXBUeXBlIG1fbWFwOwor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBJbW11dGFibGVEaWN0aW9u
YXJ5X2gKSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCShyZXZpc2lvbiA2NTMz
NykKKysrIFdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0zOSw2ICszOSw3IEBACiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgSW1tdXRhYmxl
QXJyYXk7CitjbGFzcyBJbW11dGFibGVEaWN0aW9uYXJ5OwogY2xhc3MgV2ViQmFja0ZvcndhcmRM
aXN0OwogY2xhc3MgV2ViQmFja0ZvcndhcmRMaXN0SXRlbTsKIGNsYXNzIFdlYkNvbnRleHQ7CkBA
IC02MCw2ICs2MSw3IEBAIHRlbXBsYXRlPD4gc3RydWN0IEFQSVR5cGVJbmZvPFdLQmFja0ZvcncK
IHRlbXBsYXRlPD4gc3RydWN0IEFQSVR5cGVJbmZvPFdLQmFja0ZvcndhcmRMaXN0UmVmPiAgICAg
ICAgICAgICB7IHR5cGVkZWYgV2ViQmFja0ZvcndhcmRMaXN0KiBJbXBsVHlwZTsgfTsKIHRlbXBs
YXRlPD4gc3RydWN0IEFQSVR5cGVJbmZvPFdLQ29udGV4dFJlZj4gICAgICAgICAgICAgICAgICAg
ICB7IHR5cGVkZWYgV2ViQ29udGV4dCogSW1wbFR5cGU7IH07CiB0ZW1wbGF0ZTw+IHN0cnVjdCBB
UElUeXBlSW5mbzxXS0RhdGFSZWY+ICAgICAgICAgICAgICAgICAgICAgICAgeyB0eXBlZGVmIFdl
YkRhdGEqIEltcGxUeXBlOyB9OwordGVtcGxhdGU8PiBzdHJ1Y3QgQVBJVHlwZUluZm88V0tEaWN0
aW9uYXJ5UmVmPiAgICAgICAgICAgICAgICAgIHsgdHlwZWRlZiBJbW11dGFibGVEaWN0aW9uYXJ5
KiBJbXBsVHlwZTsgfTsKIHRlbXBsYXRlPD4gc3RydWN0IEFQSVR5cGVJbmZvPFdLRm9ybVN1Ym1p
c3Npb25MaXN0ZW5lclJlZj4gICAgICB7IHR5cGVkZWYgV2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5l
clByb3h5KiBJbXBsVHlwZTsgfTsKIHRlbXBsYXRlPD4gc3RydWN0IEFQSVR5cGVJbmZvPFdLRnJh
bWVQb2xpY3lMaXN0ZW5lclJlZj4gICAgICAgICB7IHR5cGVkZWYgV2ViRnJhbWVQb2xpY3lMaXN0
ZW5lclByb3h5KiBJbXBsVHlwZTsgfTsKIHRlbXBsYXRlPD4gc3RydWN0IEFQSVR5cGVJbmZvPFdL
RnJhbWVSZWY+ICAgICAgICAgICAgICAgICAgICAgICB7IHR5cGVkZWYgV2ViRnJhbWVQcm94eSog
SW1wbFR5cGU7IH07CkBAIC03NCw2ICs3Niw3IEBAIHRlbXBsYXRlPD4gc3RydWN0IEFQSVR5cGVJ
bmZvPFdLVVJMUmVmPiAKIHRlbXBsYXRlPHR5cGVuYW1lIEltcGxUeXBlPiBzdHJ1Y3QgSW1wbFR5
cGVJbmZvIHsgfTsKIHRlbXBsYXRlPD4gc3RydWN0IEltcGxUeXBlSW5mbzxBUElPYmplY3QqPiAg
ICAgICAgICAgICAgICAgICAgICB7IHR5cGVkZWYgV0tUeXBlUmVmIEFQSVR5cGU7IH07CiB0ZW1w
bGF0ZTw+IHN0cnVjdCBJbXBsVHlwZUluZm88SW1tdXRhYmxlQXJyYXkqPiAgICAgICAgICAgICAg
ICAgeyB0eXBlZGVmIFdLQXJyYXlSZWYgQVBJVHlwZTsgfTsKK3RlbXBsYXRlPD4gc3RydWN0IElt
cGxUeXBlSW5mbzxJbW11dGFibGVEaWN0aW9uYXJ5Kj4gICAgICAgICAgICB7IHR5cGVkZWYgV0tE
aWN0aW9uYXJ5UmVmIEFQSVR5cGU7IH07CiB0ZW1wbGF0ZTw+IHN0cnVjdCBJbXBsVHlwZUluZm88
V2ViQmFja0ZvcndhcmRMaXN0Kj4gICAgICAgICAgICAgeyB0eXBlZGVmIFdLQmFja0ZvcndhcmRM
aXN0UmVmIEFQSVR5cGU7IH07CiB0ZW1wbGF0ZTw+IHN0cnVjdCBJbXBsVHlwZUluZm88V2ViQmFj
a0ZvcndhcmRMaXN0SXRlbSo+ICAgICAgICAgeyB0eXBlZGVmIFdLQmFja0ZvcndhcmRMaXN0SXRl
bVJlZiBBUElUeXBlOyB9OwogdGVtcGxhdGU8PiBzdHJ1Y3QgSW1wbFR5cGVJbmZvPFdlYkNvbnRl
eHQqPiAgICAgICAgICAgICAgICAgICAgIHsgdHlwZWRlZiBXS0NvbnRleHRSZWYgQVBJVHlwZTsg
fTsKSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQmFzZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQmFzZS5oCShyZXZpc2lvbiA2NTMzNykKKysrIFdl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQmFzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0
MCw3IEBAIHR5cGVkZWYgc3RydWN0IE9wYXF1ZVdLQmFja0ZvcndhcmRMaXN0KiAKIHR5cGVkZWYg
c3RydWN0IE9wYXF1ZVdLQmFja0ZvcndhcmRMaXN0SXRlbSogV0tCYWNrRm9yd2FyZExpc3RJdGVt
UmVmOwogdHlwZWRlZiBzdHJ1Y3QgT3BhcXVlV0tDb250ZXh0KiBXS0NvbnRleHRSZWY7CiB0eXBl
ZGVmIHN0cnVjdCBPcGFxdWVXS0RhdGEqIFdLRGF0YVJlZjsKK3R5cGVkZWYgc3RydWN0IE9wYXF1
ZVdLRGljdGlvbmFyeSogV0tEaWN0aW9uYXJ5UmVmOwogdHlwZWRlZiBzdHJ1Y3QgT3BhcXVlV0tF
cnJvciogV0tFcnJvclJlZjsKIHR5cGVkZWYgc3RydWN0IE9wYXF1ZVdLRm9ybVN1Ym1pc3Npb25M
aXN0ZW5lciogV0tGb3JtU3VibWlzc2lvbkxpc3RlbmVyUmVmOwogdHlwZWRlZiBzdHJ1Y3QgT3Bh
cXVlV0tGcmFtZSogV0tGcmFtZVJlZjsKSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
RGljdGlvbmFyeS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tE
aWN0aW9uYXJ5LmNwcAkocmV2aXNpb24gMCkKKysrIFdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
RGljdGlvbmFyeS5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiV0tEaWN0aW9uYXJ5LmgiCisKKyNpbmNsdWRlICJJbW11dGFibGVEaWN0aW9u
YXJ5LmgiCisjaW5jbHVkZSAiV0tBUElDYXN0LmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7
CisKK1dLVHlwZUlEIFdLRGljdGlvbmFyeUdldFR5cGVJRCgpCit7CisgICAgcmV0dXJuIHRvUmVm
KEltbXV0YWJsZURpY3Rpb25hcnk6OkFQSVR5cGUpOworfQorCitXS1R5cGVSZWYgV0tEaWN0aW9u
YXJ5R2V0SXRlbUZvcktleShXS0RpY3Rpb25hcnlSZWYgZGljdGlvbmFyeVJlZiwgV0tTdHJpbmdS
ZWYga2V5KQoreworICAgIHJldHVybiB0b1dLKGRpY3Rpb25hcnlSZWYpLT5nZXQodG9XSyhrZXkp
LT5zdHJpbmcoKSk7Cit9CisKK3NpemVfdCBXS0RpY3Rpb25hcnlHZXRTaXplKFdLRGljdGlvbmFy
eVJlZiBkaWN0aW9uYXJ5UmVmKQoreworICAgIHJldHVybiB0b1dLKGRpY3Rpb25hcnlSZWYpLT5z
aXplKCk7Cit9CisKK1dLRGljdGlvbmFyeVJlZiBXS0RpY3Rpb25hcnlSZXRhaW4oV0tEaWN0aW9u
YXJ5UmVmIGRpY3Rpb25hcnlSZWYpCit7CisgICAgdG9XSyhkaWN0aW9uYXJ5UmVmKS0+cmVmKCk7
CisgICAgcmV0dXJuIGRpY3Rpb25hcnlSZWY7Cit9CisKK3ZvaWQgV0tEaWN0aW9uYXJ5UmVsZWFz
ZShXS0RpY3Rpb25hcnlSZWYgZGljdGlvbmFyeVJlZikKK3sKKyAgICB0b1dLKGRpY3Rpb25hcnlS
ZWYpLT5kZXJlZigpOworfQpJbmRleDogV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tEaWN0aW9u
YXJ5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tEaWN0aW9uYXJ5
LmgJKHJldmlzaW9uIDApCisrKyBXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0RpY3Rpb25hcnku
aAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV0tE
aWN0aW9uYXJ5X2gKKyNkZWZpbmUgV0tEaWN0aW9uYXJ5X2gKKworI2luY2x1ZGUgPFdlYktpdDIv
V0tCYXNlLmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKwor
V0tfRVhQT1JUIFdLVHlwZUlEIFdLRGljdGlvbmFyeUdldFR5cGVJRCgpOworCitXS19FWFBPUlQg
V0tUeXBlUmVmIFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkoV0tEaWN0aW9uYXJ5UmVmIGRpY3Rp
b25hcnksIFdLU3RyaW5nUmVmIGtleSk7CitXS19FWFBPUlQgc2l6ZV90IFdLRGljdGlvbmFyeUdl
dFNpemUoV0tEaWN0aW9uYXJ5UmVmIGRpY3Rpb25hcnkpOworCitXS19FWFBPUlQgV0tEaWN0aW9u
YXJ5UmVmIFdLRGljdGlvbmFyeVJldGFpbihXS0RpY3Rpb25hcnlSZWYgZGljdGlvbmFyeSk7CitX
S19FWFBPUlQgdm9pZCBXS0RpY3Rpb25hcnlSZWxlYXNlKFdLRGljdGlvbmFyeVJlZiBkaWN0aW9u
YXJ5KTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworV0tfREVDTEFSRV9SRVRB
SU5fUkVMRUFTRV9PVkVSTE9BRFMoV0tEaWN0aW9uYXJ5KQorCisjZW5kaWYgLyogV0tEaWN0aW9u
YXJ5X2ggKi8KSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dlYktpdDIuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XZWJLaXQyLmgJKHJldmlzaW9uIDY1MzM3
KQorKysgV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV2ViS2l0Mi5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yOSw5ICsyOSwxMyBAQAogI2luY2x1ZGUgPFdlYktpdDIvV0tCYXNlLmg+CiAjaW5jbHVkZSA8
V2ViS2l0Mi9XS1R5cGUuaD4KIAorI2luY2x1ZGUgPFdlYktpdDIvV0tBcnJheS5oPgogI2luY2x1
ZGUgPFdlYktpdDIvV0tCYWNrRm9yd2FyZExpc3QuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLQmFj
a0ZvcndhcmRMaXN0SXRlbS5oPgogI2luY2x1ZGUgPFdlYktpdDIvV0tDb250ZXh0Lmg+CisjaW5j
bHVkZSA8V2ViS2l0Mi9XS0RhdGEuaD4KKyNpbmNsdWRlIDxXZWJLaXQyL1dLRGljdGlvbmFyeS5o
PgorI2luY2x1ZGUgPFdlYktpdDIvV0tFcnJvci5oPgogI2luY2x1ZGUgPFdlYktpdDIvV0tGb3Jt
U3VibWlzc2lvbkxpc3RlbmVyLmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0ZyYW1lLmg+CiAjaW5j
bHVkZSA8V2ViS2l0Mi9XS0ZyYW1lUG9saWN5TGlzdGVuZXIuaD4KSW5kZXg6IFdlYktpdDIvV2Vi
S2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvV2Vi
S2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiA2NTMzNykKKysrIFdlYktp
dDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0y
NTIsNiArMjUyLDEwIEBACiAJCUJDQjlGNkE2MTEyM0REMEQwMEExMzdFMCAvKiBXS0ZyYW1lUG9s
aWN5TGlzdGVuZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkNCOUY2QTQxMTIzREQwRDAwQTEzN0UwIC8qIFdLRnJhbWVQb2xpY3lMaXN0ZW5lci5j
cHAgKi87IH07CiAJCUJDQjlGOEFGMTEyNEUwNzcwMEExMzdFMCAvKiBXZWJQb2xpY3lDbGllbnQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNCOUY4
QUQxMTI0RTA3NzAwQTEzN0UwIC8qIFdlYlBvbGljeUNsaWVudC5jcHAgKi87IH07CiAJCUJDQjlG
OEIwMTEyNEUwNzcwMEExMzdFMCAvKiBXZWJQb2xpY3lDbGllbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQjlGOEFFMTEyNEUwNzcwMEExMzdFMCAv
KiBXZWJQb2xpY3lDbGllbnQuaCAqLzsgfTsKKwkJQkNCQ0IwQ0IxMjE1RTMyMTAwREU1OUNBIC8q
IEltbXV0YWJsZURpY3Rpb25hcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEJDQkNCMENBMTIxNUUzMjEwMERFNTlDQSAvKiBJbW11dGFibGVEaWN0aW9u
YXJ5LmggKi87IH07CisJCUJDQkNCMENEMTIxNUUzM0EwMERFNTlDQSAvKiBJbW11dGFibGVEaWN0
aW9uYXJ5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEJDQkNCMENDMTIxNUUzM0EwMERFNTlDQSAvKiBJbW11dGFibGVEaWN0aW9uYXJ5LmNwcCAqLzsg
fTsKKwkJQkNCQ0IwRTMxMjE1RTU0RDAwREU1OUNBIC8qIFdLRGljdGlvbmFyeS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNCQ0IwRTExMjE1RTU0RDAw
REU1OUNBIC8qIFdLRGljdGlvbmFyeS5oICovOyB9OworCQlCQ0JDQjBFNDEyMTVFNTREMDBERTU5
Q0EgLyogV0tEaWN0aW9uYXJ5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEJDQkNCMEUyMTIxNUU1NEQwMERFNTlDQSAvKiBXS0RpY3Rpb25hcnkuY3Bw
ICovOyB9OwogCQlCQ0M1NkY3OTExNTk5NTdEMDAxQ0NBRjkgLyogTWFjaFBvcnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQzU2Rjc3MTE1OTk1N0Qw
MDFDQ0FGOSAvKiBNYWNoUG9ydC5oICovOyB9OwogCQlCQ0M1NzE1QjExNUFEQUVGMDAxQ0NBRjkg
LyogV2ViU3lzdGVtSW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQ0M1NzE1OTExNUFEQUVGMDAxQ0NBRjkgLyogV2ViU3lzdGVtSW50ZXJm
YWNlLmggKi87IH07CiAJCUJDQzU3MTVDMTE1QURBRUYwMDFDQ0FGOSAvKiBXZWJTeXN0ZW1JbnRl
cmZhY2UubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
Q0M1NzE1QTExNUFEQUVGMDAxQ0NBRjkgLyogV2ViU3lzdGVtSW50ZXJmYWNlLm1tICovOyB9OwpA
QCAtNTkxLDYgKzU5NSwxMCBAQAogCQlCQ0I5RjZBNDExMjNERDBEMDBBMTM3RTAgLyogV0tGcmFt
ZVBvbGljeUxpc3RlbmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFdLRnJhbWVQb2xpY3lMaXN0ZW5lci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUJDQjlGOEFEMTEyNEUwNzcwMEExMzdFMCAvKiBXZWJQb2xpY3lDbGllbnQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViUG9saWN5Q2xpZW50LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNCOUY4QUUxMTI0RTA3NzAwQTEzN0UwIC8qIFdlYlBv
bGljeUNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJQb2xpY3lD
bGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkNCQ0IwQ0ExMjE1RTMyMTAw
REU1OUNBIC8qIEltbXV0YWJsZURpY3Rpb25hcnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSW1tdXRhYmxlRGljdGlvbmFyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlCQ0JDQjBDQzEyMTVFMzNBMDBERTU5Q0EgLyogSW1tdXRhYmxlRGljdGlvbmFyeS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbW11dGFibGVEaWN0aW9uYXJ5
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkNCQ0IwRTExMjE1RTU0RDAwREU1
OUNBIC8qIFdLRGljdGlvbmFyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
S0RpY3Rpb25hcnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkNCQ0IwRTIxMjE1
RTU0RDAwREU1OUNBIC8qIFdLRGljdGlvbmFyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBXS0RpY3Rpb25hcnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlCQ0M1NkY3NzExNTk5NTdEMDAxQ0NBRjkgLyogTWFjaFBvcnQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gTWFjaFBvcnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQkNDNTcxNTkxMTVBREFFRjAwMUNDQUY5IC8qIFdlYlN5c3RlbUludGVyZmFjZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJTeXN0ZW1JbnRlcmZhY2UuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNDNTcxNUExMTVBREFFRjAwMUNDQUY5IC8qIFdl
YlN5c3RlbUludGVyZmFjZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IFdlYlN5c3RlbUludGVyZmFjZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTg0Niw2ICs4NTQsOCBAQAogCQkJCTc2MkI3NDgxMTIwQkJBMDEwMDgxOTMzOSAvKiBGb250U21v
b3RoaW5nTGV2ZWwuaCAqLywKIAkJCQlCQzY0Njk2RDExREJFNjAzMDA2NDU1QjAgLyogSW1tdXRh
YmxlQXJyYXkuY3BwICovLAogCQkJCUJDNjQ2OTZFMTFEQkU2MDMwMDY0NTVCMCAvKiBJbW11dGFi
bGVBcnJheS5oICovLAorCQkJCUJDQkNCMENDMTIxNUUzM0EwMERFNTlDQSAvKiBJbW11dGFibGVE
aWN0aW9uYXJ5LmNwcCAqLywKKwkJCQlCQ0JDQjBDQTEyMTVFMzIxMDBERTU5Q0EgLyogSW1tdXRh
YmxlRGljdGlvbmFyeS5oICovLAogCQkJCUJDQzU3MTYxMTE1QURCNDIwMDFDQ0FGOSAvKiBOb3RJ
bXBsZW1lbnRlZC5oICovLAogCQkJCTFBMEYyOUM5MTIwQjM3MTYwMDUzRDFCOSAvKiBWaXNpdGVk
TGlua1RhYmxlLmNwcCAqLywKIAkJCQkxQTBGMjlDQTEyMEIzNzE2MDA1M0QxQjkgLyogVmlzaXRl
ZExpbmtUYWJsZS5oICovLApAQCAtMTA2Nyw2ICsxMDc3LDggQEAKIAkJCQlCQ0M5MzhFMDExODBE
RTQ0MDA4NUU1RkUgLyogV0tDb250ZXh0UHJpdmF0ZS5oICovLAogCQkJCTUxNEFGNkM2MTIwOUVF
NzMwMEEyNkM5NyAvKiBXS0RhdGEuY3BwICovLAogCQkJCTUxNEFGNkM3MTIwOUVFNzMwMEEyNkM5
NyAvKiBXS0RhdGEuaCAqLywKKwkJCQlCQ0JDQjBFMjEyMTVFNTREMDBERTU5Q0EgLyogV0tEaWN0
aW9uYXJ5LmNwcCAqLywKKwkJCQlCQ0JDQjBFMTEyMTVFNTREMDBERTU5Q0EgLyogV0tEaWN0aW9u
YXJ5LmggKi8sCiAJCQkJNTE2QTRBNTgxMjBBMUFCNTAwQzA1QjdGIC8qIFdLRXJyb3IuY3BwICov
LAogCQkJCTUxNkE0QTU3MTIwQTFBQjUwMEMwNUI3RiAvKiBXS0Vycm9yLmggKi8sCiAJCQkJQkNF
NDY5NTcxMjE0RURGNDAwMEI5OEVCIC8qIFdLRm9ybVN1Ym1pc3Npb25MaXN0ZW5lci5jcHAgKi8s
CkBAIC0xNDc2LDYgKzE0ODgsOCBAQAogCQkJCUJDRTQ2OTU2MTIxNEU2Q0IwMDBCOThFQiAvKiBX
ZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRTQ2
OTVBMTIxNEVERjQwMDBCOThFQiAvKiBXS0Zvcm1TdWJtaXNzaW9uTGlzdGVuZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUJDRTQ2OTc3MTIxNEYyN0IwMDBCOThFQiAvKiBXZWJGcmFtZUxpc3RlbmVy
UHJveHkuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDQkNCMENCMTIxNUUzMjEwMERFNTlDQSAvKiBJ
bW11dGFibGVEaWN0aW9uYXJ5LmggaW4gSGVhZGVycyAqLywKKwkJCQlCQ0JDQjBFMzEyMTVFNTRE
MDBERTU5Q0EgLyogV0tEaWN0aW9uYXJ5LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTE2OTYsNiArMTcx
MCw4IEBACiAJCQkJQkNFNDY5NTUxMjE0RTZDQjAwMEI5OEVCIC8qIFdlYkZvcm1TdWJtaXNzaW9u
TGlzdGVuZXJQcm94eS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0U0Njk1OTEyMTRFREY0MDAw
Qjk4RUIgLyogV0tGb3JtU3VibWlzc2lvbkxpc3RlbmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUJDRTQ2OTc5MTIxNEYyQjQwMDBCOThFQiAvKiBXZWJGcmFtZUxpc3RlbmVyUHJveHkuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJQkNCQ0IwQ0QxMjE1RTMzQTAwREU1OUNBIC8qIEltbXV0YWJsZURp
Y3Rpb25hcnkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQkNCQ0IwRTQxMjE1RTU0RDAwREU1OUNB
IC8qIFdLRGljdGlvbmFyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKSW5kZXg6IFdlYktpdDIvd2luL1dl
YktpdDIudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCShy
ZXZpc2lvbiA2NTMzNykKKysrIFdlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCSh3b3JraW5nIGNv
cHkpCkBAIC00MTcsNiArNDE3LDE0IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0K
KwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFNoYXJlZFxJbW11dGFibGVEaWN0aW9uYXJ5LmNwcCINCisJ
CQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFNoYXJl
ZFxJbW11dGFibGVEaWN0aW9uYXJ5LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUN
CiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxTaGFyZWRcTm90SW1wbGVtZW50ZWQuaCINCiAJCQkJPg0K
IAkJCTwvRmlsZT4NCkBAIC0xMjM5LDYgKzEyNDcsMTQgQEAKIAkJCQkJCT4NCiAJCQkJCTwvRmls
ZT4NCiAJCQkJCTxGaWxlDQorCQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcQVBJXENc
V0tEaWN0aW9uYXJ5LmNwcCINCisJCQkJCQk+DQorCQkJCQk8L0ZpbGU+DQorCQkJCQk8RmlsZQ0K
KwkJCQkJCVJlbGF0aXZlUGF0aD0iLi5cVUlQcm9jZXNzXEFQSVxDXFdLRGljdGlvbmFyeS5oIg0K
KwkJCQkJCT4NCisJCQkJCTwvRmlsZT4NCisJCQkJCTxGaWxlDQogCQkJCQkJUmVsYXRpdmVQYXRo
PSIuLlxVSVByb2Nlc3NcQVBJXENcV0tFcnJvci5jcHAiDQogCQkJCQkJPg0KIAkJCQkJPC9GaWxl
Pg0KSW5kZXg6IFdlYktpdDIvd2luL1dlYktpdDJHZW5lcmF0ZWQubWFrZQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXQyL3dpbi9XZWJLaXQyR2VuZXJhdGVkLm1ha2UJKHJldmlzaW9uIDY1MzM3KQorKysg
V2ViS2l0Mi93aW4vV2ViS2l0MkdlbmVyYXRlZC5tYWtlCSh3b3JraW5nIGNvcHkpCkBAIC05LDYg
KzksNyBAQCBhbGw6CiAgICAgeGNvcHkgL3kgL2QgIi4uXFVJUHJvY2Vzc1xBUElcQ1xXS0NvbnRl
eHQuaCIgIiQoV0VCS0lUT1VUUFVURElSKVxpbmNsdWRlXFdlYktpdDIiCiAgICAgeGNvcHkgL3kg
L2QgIi4uXFVJUHJvY2Vzc1xBUElcQ1xXS0NvbnRleHRQcml2YXRlLmgiICIkKFdFQktJVE9VVFBV
VERJUilcaW5jbHVkZVxXZWJLaXQyIgogICAgIHhjb3B5IC95IC9kICIuLlxVSVByb2Nlc3NcQVBJ
XENcV0tEYXRhLmgiICIkKFdFQktJVE9VVFBVVERJUilcaW5jbHVkZVxXZWJLaXQyIgorICAgIHhj
b3B5IC95IC9kICIuLlxVSVByb2Nlc3NcQVBJXENcV0tEaWN0aW9uYXJ5LmgiICIkKFdFQktJVE9V
VFBVVERJUilcaW5jbHVkZVxXZWJLaXQyIgogICAgIHhjb3B5IC95IC9kICIuLlxVSVByb2Nlc3Nc
QVBJXENcV0tFcnJvci5oIiAiJChXRUJLSVRPVVRQVVRESVIpXGluY2x1ZGVcV2ViS2l0MiIKICAg
ICB4Y29weSAveSAvZCAiLi5cVUlQcm9jZXNzXEFQSVxDXFdLRm9ybVN1Ym1pc3Npb25MaXN0ZW5l
ci5oIiAiJChXRUJLSVRPVVRQVVRESVIpXGluY2x1ZGVcV2ViS2l0MiIKICAgICB4Y29weSAveSAv
ZCAiLi5cVUlQcm9jZXNzXEFQSVxDXFdLRnJhbWUuaCIgIiQoV0VCS0lUT1VUUFVURElSKVxpbmNs
dWRlXFdlYktpdDIiCg==
</data>
<flag name="review"
          id="52924"
          type_id="1"
          status="+"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>