<?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>153596</bug_id>
          
          <creation_ts>2016-01-28 09:42:10 -0800</creation_ts>
          <short_desc>Modern IDB: Index uniqueness broken in the SQLite backend</short_desc>
          <delta_ts>2016-01-28 11:20:37 -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>WebCore Misc.</component>
          <version>Safari 9</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>149117</blocked>
    
    <blocked>153021</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>achristensen</cc>
    
    <cc>alecflett</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jsbell</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1159749</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-01-28 09:42:10 -0800</bug_when>
    <thetext>Modern IDB: Index uniqueness broken in the SQLite backend</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1159750</commentid>
    <comment_count>1</comment_count>
      <attachid>270122</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-01-28 09:43:33 -0800</bug_when>
    <thetext>Created attachment 270122
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1159777</commentid>
    <comment_count>2</comment_count>
      <attachid>270122</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-28 10:49:07 -0800</bug_when>
    <thetext>Comment on attachment 270122
Patch v1

Rejecting attachment 270122 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;build&apos;, &apos;--no-clean&apos;, &apos;--no-update&apos;, &apos;--build-style=release&apos;, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
rack.dia -c /Volumes/Data/EWS/WebKit/Source/WebCore/html/track/TextTrack.cpp -o /Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/Objects-normal/x86_64/TextTrack.o

** BUILD FAILED **


The following build commands failed:
	CompileC /Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/Objects-normal/x86_64/SQLiteIDBBackingStore.o Modules/indexeddb/server/SQLiteIDBBackingStore.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)

Full output: http://webkit-queues.webkit.org/results/751447</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1159785</commentid>
    <comment_count>3</comment_count>
      <attachid>270128</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-01-28 10:56:07 -0800</bug_when>
    <thetext>Created attachment 270128
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1159803</commentid>
    <comment_count>4</comment_count>
      <attachid>270128</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-28 11:20:33 -0800</bug_when>
    <thetext>Comment on attachment 270128
Patch for landing

Clearing flags on attachment: 270128

Committed r195765: &lt;http://trac.webkit.org/changeset/195765&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1159804</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-28 11:20:37 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270122</attachid>
            <date>2016-01-28 09:43:33 -0800</date>
            <delta_ts>2016-01-28 10:56:07 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>12628</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiYzFkMjI1Li5hZGIyM2RiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTYtMDEt
MjggIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIE1vZGVybiBJ
REI6IEluZGV4IHVuaXF1ZW5lc3MgYnJva2VuIGluIHRoZSBTUUxpdGUgYmFja2VuZC4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MzU5NgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vbWFj
LXdrMS9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDE2LTAxLTI3ICBCcmFkeSBFaWRzb24gIDxiZWlk
c29uQGFwcGxlLmNvbT4KIAogICAgICAgICBNb2Rlcm4gSURCOiBJbmNvcnJlY3QgaGFuZGxpbmcg
b2YgaXRlcmF0aW5nIGN1cnNvcnMgdG8gdGhlaXIgZW5kLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGUyNmZiNjYuLmVjMDNkNzMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucworKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ1OCwy
NiArNDU4LDE0IEBAIHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci11cGRhdGUuaHRtbCBbIEZhaWx1
cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvZGVsZXRlLXJhbmdlLmh0bWwgWyBGYWlsdXJlIF0KIHN0
b3JhZ2UvaW5kZXhlZGRiL2dldC1rZXlyYW5nZS5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2lu
ZGV4ZWRkYi9pbmRleC1kdXBsaWNhdGUta2V5cGF0aHMuaHRtbCBbIEZhaWx1cmUgXQotc3RvcmFn
ZS9pbmRleGVkZGIvaW5kZXgtbXVsdGllbnRyeS5odG1sIFsgRmFpbHVyZSBdCi1zdG9yYWdlL2lu
ZGV4ZWRkYi9pbmRleC1wb3B1bGF0aW9uLmh0bWwgWyBGYWlsdXJlIF0KLXN0b3JhZ2UvaW5kZXhl
ZGRiL2luZGV4LXVuaXF1ZS5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9rZXkt
Z2VuZXJhdG9yLmh0bWwgWyBGYWlsdXJlIF0KLXN0b3JhZ2UvaW5kZXhlZGRiL2xhenktaW5kZXgt
cG9wdWxhdGlvbi5odG1sIFsgRmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9sYXp5LWluZGV4
LXR5cGVzLmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jdXJzb3It
Ny5odG1sIFsgRmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlaW5kZXgt
MS5odG1sIFsgRmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlaW5kZXgt
Mi5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZ2V0LWtleXJhbmdl
Lmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJvYmplY3RzdG9y
ZS1kZWxldGUtMS5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5k
ZXgtMy5odG1sIFsgRmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5kZXgtNC5o
dG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2N1cnNvci1tdXRhdGlv
bi5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2N1cnNvcnMuaHRt
bCBbIEZhaWx1cmUgXQotc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9pbmRleC1wcmV2LW5vLWR1
cGxpY2F0ZS5odG1sIFsgRmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2luZGV4
ZXMuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYXV0b2lu
Y3JlbWVudC5odG1sIFsgRmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1i
YXNpY3MuaHRtbCBbIEZhaWx1cmUgXQotc3RvcmFnZS9pbmRleGVkZGIvb3BlbmN1cnNvci1rZXku
aHRtbCBbIEZhaWx1cmUgXQogCiAjIFNRTGl0ZSBiYWNrZW5kIHRlc3RzIHRoYXQgdGltZW91dAog
c3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL3RyYW5zYWN0aW9uLXNjaGVkdWxlci0xLmh0bWwgWyBT
a2lwIF0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCBlOWFkMTNhLi5hYTk5OTA5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjIgQEAKKzIwMTYtMDEtMjggIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgor
CisgICAgICAgIE1vZGVybiBJREI6IEluZGV4IHVuaXF1ZW5lc3MgYnJva2VuIGluIHRoZSBTUUxp
dGUgYmFja2VuZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE1MzU5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cyAoTWFueSBmYWlsaW5nIHRlc3RzIG5vdyBwYXNzLCBvdGhlcnMgaW1w
cm92ZSkuCisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQmFj
a2luZ1N0b3JlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6U1FMaXRlSURCQmFj
a2luZ1N0b3JlOjpjcmVhdGVJbmRleCk6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlNR
TGl0ZUlEQkJhY2tpbmdTdG9yZTo6dW5jaGVja2VkSGFzSW5kZXhSZWNvcmQpOgorICAgICAgICAo
V2ViQ29yZTo6SURCU2VydmVyOjpTUUxpdGVJREJCYWNraW5nU3RvcmU6OnVuY2hlY2tlZFB1dElu
ZGV4S2V5KToKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6U1FMaXRlSURCQmFja2luZ1N0
b3JlOjp1cGRhdGVPbmVJbmRleEZvckFkZFJlY29yZCk6CisgICAgICAgIChXZWJDb3JlOjpJREJT
ZXJ2ZXI6OlNRTGl0ZUlEQkJhY2tpbmdTdG9yZTo6dXBkYXRlQWxsSW5kZXhlc0ZvckFkZFJlY29y
ZCk6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlNRTGl0ZUlEQkJhY2tpbmdTdG9yZTo6
YWRkUmVjb3JkKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6U1FMaXRlSURCQmFja2lu
Z1N0b3JlOjp1cGRhdGVJbmRleGVzRm9yQWRkUmVjb3JkKTogRGVsZXRlZC4KKyAgICAgICAgKiBN
b2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQmFja2luZ1N0b3JlLmg6CisKIDIwMTYt
MDEtMjcgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIE1vZGVy
biBJREI6IEluY29ycmVjdCBoYW5kbGluZyBvZiBpdGVyYXRpbmcgY3Vyc29ycyB0byB0aGVpciBl
bmQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIv
U1FMaXRlSURCQmFja2luZ1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL3NlcnZlci9TUUxpdGVJREJCYWNraW5nU3RvcmUuY3BwCmluZGV4IDdlNmRjMTUuLjhkNWMw
OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9T
UUxpdGVJREJCYWNraW5nU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL3NlcnZlci9TUUxpdGVJREJCYWNraW5nU3RvcmUuY3BwCkBAIC03MTEsNiArNzExLDcg
QEAgSURCRXJyb3IgU1FMaXRlSURCQmFja2luZ1N0b3JlOjpjbGVhck9iamVjdFN0b3JlKGNvbnN0
IElEQlJlc291cmNlSWRlbnRpZmllciYgdHIKIAogSURCRXJyb3IgU1FMaXRlSURCQmFja2luZ1N0
b3JlOjpjcmVhdGVJbmRleChjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9u
SWRlbnRpZmllciwgY29uc3QgSURCSW5kZXhJbmZvJiBpbmZvKQogeworICAgIExPRyhJbmRleGVk
REIsICJTUUxpdGVJREJCYWNraW5nU3RvcmU6OmNyZWF0ZUluZGV4IC0gT2JqZWN0U3RvcmUgJSIg
UFJJdTY0ICIsIEluZGV4ICUiIFBSSXU2NCwgaW5mby5vYmplY3RTdG9yZUlkZW50aWZpZXIoKSwg
aW5mby5pZGVudGlmaWVyKCkpOwogICAgIEFTU0VSVChtX3NxbGl0ZURCKTsKICAgICBBU1NFUlQo
bV9zcWxpdGVEQi0+aXNPcGVuKCkpOwogCkBAIC03NTIsNDUgKzc1MywxNCBAQCBJREJFcnJvciBT
UUxpdGVJREJCYWNraW5nU3RvcmU6OmNyZWF0ZUluZGV4KGNvbnN0IElEQlJlc291cmNlSWRlbnRp
ZmllciYgdHJhbnNhYwogICAgICAgICByZXR1cm4geyBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VW5r
bm93bkVycm9yLCBBU0NJSUxpdGVyYWwoIlVuYWJsZSB0byBwb3B1bGF0ZSBpbmRleGVzIGluIGRh
dGFiYXNlIikgfTsKICAgICB9CiAKLSAgICBKU0xvY2tIb2xkZXIgbG9ja2VyKHZtKCkpOwotCiAg
ICAgd2hpbGUgKCFjdXJzb3ItPmN1cnJlbnRLZXkoKS5pc051bGwoKSkgewogICAgICAgICBhdXRv
JiBrZXkgPSBjdXJzb3ItPmN1cnJlbnRLZXkoKTsKLSAgICAgICAgYXV0byYgdmFsdWVCdWZmZXIg
PSBjdXJzb3ItPmN1cnJlbnRWYWx1ZUJ1ZmZlcigpOwotCi0gICAgICAgIGF1dG8gdmFsdWUgPSBk
ZXNlcmlhbGl6ZUlEQlZhbHVlQnVmZmVyKG1fZ2xvYmFsT2JqZWN0LT5nbG9iYWxFeGVjKCksIFZl
Y3Rvcjx1aW50OF90Pih2YWx1ZUJ1ZmZlciksIHRydWUpOwotCi0gICAgICAgIEluZGV4S2V5IGlu
ZGV4S2V5OwotICAgICAgICBnZW5lcmF0ZUluZGV4S2V5Rm9yVmFsdWUoKm1fZ2xvYmFsT2JqZWN0
LT5nbG9iYWxFeGVjKCksIGluZm8sIHZhbHVlLmpzVmFsdWUoKSwgaW5kZXhLZXkpOwotCi0gICAg
ICAgIGlmICghaW5mby5tdWx0aUVudHJ5KCkpIHsKLSAgICAgICAgICAgIElEQkVycm9yIGVycm9y
ID0gdW5jaGVja2VkUHV0SW5kZXhSZWNvcmQoaW5mby5vYmplY3RTdG9yZUlkZW50aWZpZXIoKSwg
aW5mby5pZGVudGlmaWVyKCksIGtleSwgaW5kZXhLZXkuYXNPbmVLZXkoKSk7Ci0gICAgICAgICAg
ICBpZiAoIWVycm9yLmlzTnVsbCgpKSB7Ci0gICAgICAgICAgICAgICAgTE9HX0VSUk9SKCJVbmFi
bGUgdG8gcHV0IGluZGV4IHJlY29yZCBmb3IgbmV3bHkgY3JlYXRlZCBpbmRleCIpOwotICAgICAg
ICAgICAgICAgIHJldHVybiBlcnJvcjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQorICAgICAg
ICBhdXRvIHZhbHVlQnVmZmVyID0gVGhyZWFkU2FmZURhdGFCdWZmZXI6OmNvcHlWZWN0b3IoY3Vy
c29yLT5jdXJyZW50VmFsdWVCdWZmZXIoKSk7CiAKLSAgICAgICAgVmVjdG9yPElEQktleURhdGE+
IGluZGV4S2V5cyA9IGluZGV4S2V5Lm11bHRpRW50cnkoKTsKLQotICAgICAgICBpZiAoaW5mby51
bmlxdWUoKSkgewotICAgICAgICAgICAgYm9vbCBoYXNSZWNvcmQ7Ci0gICAgICAgICAgICBJREJF
cnJvciBlcnJvcjsKLSAgICAgICAgICAgIGZvciAoYXV0byYgaW5kZXhLZXkgOiBpbmRleEtleXMp
IHsKLSAgICAgICAgICAgICAgICBlcnJvciA9IHVuY2hlY2tlZEhhc0luZGV4UmVjb3JkKGluZm8u
aWRlbnRpZmllcigpLCBpbmRleEtleSwgaGFzUmVjb3JkKTsKLSAgICAgICAgICAgICAgICBpZiAo
aGFzUmVjb3JkKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gSURCRXJyb3IoSURCRGF0YWJh
c2VFeGNlcHRpb246OkNvbnN0cmFpbnRFcnJvcik7Ci0gICAgICAgICAgICAgICAgaWYgKCFlcnJv
ci5pc051bGwoKSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVycm9yOwotICAgICAgICAg
ICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgZm9yIChhdXRvJiBpbmRleEtleSA6IGluZGV4S2V5
cykgewotICAgICAgICAgICAgSURCRXJyb3IgZXJyb3IgPSB1bmNoZWNrZWRQdXRJbmRleFJlY29y
ZChpbmZvLm9iamVjdFN0b3JlSWRlbnRpZmllcigpLCBpbmZvLmlkZW50aWZpZXIoKSwga2V5LCBp
bmRleEtleSk7Ci0gICAgICAgICAgICBpZiAoIWVycm9yLmlzTnVsbCgpKSB7Ci0gICAgICAgICAg
ICAgICAgTE9HX0VSUk9SKCJVbmFibGUgdG8gcHV0IGluZGV4IHJlY29yZCBmb3IgbmV3bHkgY3Jl
YXRlZCBpbmRleCIpOwotICAgICAgICAgICAgICAgIHJldHVybiBlcnJvcjsKLSAgICAgICAgICAg
IH0KKyAgICAgICAgSURCRXJyb3IgZXJyb3IgPSB1cGRhdGVPbmVJbmRleEZvckFkZFJlY29yZChp
bmZvLCBrZXksIHZhbHVlQnVmZmVyKTsKKyAgICAgICAgaWYgKCFlcnJvci5pc051bGwoKSkgewor
ICAgICAgICAgICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIG5ld2x5IGFkZGVkIGluZGV4LgorICAg
ICAgICAgICAgcmV0dXJuIGVycm9yOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKCFjdXJzb3It
PmFkdmFuY2UoMSkpIHsKQEAgLTgwMiw3ICs3NzIsNyBAQCBJREJFcnJvciBTUUxpdGVJREJCYWNr
aW5nU3RvcmU6OmNyZWF0ZUluZGV4KGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYgdHJhbnNh
YwogICAgIHJldHVybiB7IH07CiB9CiAKLUlEQkVycm9yIFNRTGl0ZUlEQkJhY2tpbmdTdG9yZTo6
dW5jaGVja2VkSGFzSW5kZXhSZWNvcmQoaW50NjRfdCBpbmRleElELCBjb25zdCBJREJLZXlEYXRh
JiBpbmRleEtleSwgYm9vbCYgaGFzUmVjb3JkKQorSURCRXJyb3IgU1FMaXRlSURCQmFja2luZ1N0
b3JlOjp1bmNoZWNrZWRIYXNJbmRleFJlY29yZChjb25zdCBJREJJbmRleEluZm8mIGluZm8sIGNv
bnN0IElEQktleURhdGEmIGluZGV4S2V5LCBib29sJiBoYXNSZWNvcmQpCiB7CiAgICAgaGFzUmVj
b3JkID0gZmFsc2U7CiAKQEAgLTgxMiwxMCArNzgyLDExIEBAIElEQkVycm9yIFNRTGl0ZUlEQkJh
Y2tpbmdTdG9yZTo6dW5jaGVja2VkSGFzSW5kZXhSZWNvcmQoaW50NjRfdCBpbmRleElELCBjb25z
dCBJCiAgICAgICAgIHJldHVybiB7IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVbmtub3duRXJyb3Is
IEFTQ0lJTGl0ZXJhbCgiVW5hYmxlIHRvIHNlcmlhbGl6ZSBJREJLZXkgdG8gY2hlY2sgZm9yIGlu
ZGV4IHJlY29yZCBpbiBkYXRhYmFzZSIpIH07CiAgICAgfQogCi0gICAgU1FMaXRlU3RhdGVtZW50
IHNxbCgqbV9zcWxpdGVEQiwgQVNDSUlMaXRlcmFsKCJTRUxFQ1Qgcm93aWQgRlJPTSBJbmRleFJl
Y29yZHMgV0hFUkUgaW5kZXhJRCA9ID8gQU5EIGtleSA9IENBU1QoPyBBUyBURVhUKTsiKSk7Cisg
ICAgU1FMaXRlU3RhdGVtZW50IHNxbCgqbV9zcWxpdGVEQiwgQVNDSUlMaXRlcmFsKCJTRUxFQ1Qg
cm93aWQgRlJPTSBJbmRleFJlY29yZHMgV0hFUkUgaW5kZXhJRCA9ID8gQU5EIG9iamVjdFN0b3Jl
SUQgPSA/IEFORCBrZXkgPSBDQVNUKD8gQVMgVEVYVCk7IikpOwogICAgIGlmIChzcWwucHJlcGFy
ZSgpICE9IFNRTElURV9PSwotICAgICAgICB8fCBzcWwuYmluZEludDY0KDEsIGluZGV4SUQpICE9
IFNRTElURV9PSwotICAgICAgICB8fCBzcWwuYmluZEJsb2IoMiwgaW5kZXhLZXlCdWZmZXItPmRh
dGEoKSwgaW5kZXhLZXlCdWZmZXItPnNpemUoKSkgIT0gU1FMSVRFX09LKSB7CisgICAgICAgIHx8
IHNxbC5iaW5kSW50NjQoMSwgaW5mby5pZGVudGlmaWVyKCkpICE9IFNRTElURV9PSworICAgICAg
ICB8fCBzcWwuYmluZEludDY0KDIsIGluZm8ub2JqZWN0U3RvcmVJZGVudGlmaWVyKCkpICE9IFNR
TElURV9PSworICAgICAgICB8fCBzcWwuYmluZEJsb2IoMywgaW5kZXhLZXlCdWZmZXItPmRhdGEo
KSwgaW5kZXhLZXlCdWZmZXItPnNpemUoKSkgIT0gU1FMSVRFX09LKSB7CiAgICAgICAgIExPR19F
UlJPUigiRXJyb3IgY2hlY2tpbmcgZm9yIGluZGV4IHJlY29yZCBpbiBkYXRhYmFzZSIpOwogICAg
ICAgICByZXR1cm4geyBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VW5rbm93bkVycm9yLCBBU0NJSUxp
dGVyYWwoIkVycm9yIGNoZWNraW5nIGZvciBpbmRleCByZWNvcmQgaW4gZGF0YWJhc2UiKSB9Owog
ICAgIH0KQEAgLTgzNiwyMSArODA3LDIwIEBAIElEQkVycm9yIFNRTGl0ZUlEQkJhY2tpbmdTdG9y
ZTo6dW5jaGVja2VkSGFzSW5kZXhSZWNvcmQoaW50NjRfdCBpbmRleElELCBjb25zdCBJCiAKIElE
QkVycm9yIFNRTGl0ZUlEQkJhY2tpbmdTdG9yZTo6dW5jaGVja2VkUHV0SW5kZXhLZXkoY29uc3Qg
SURCSW5kZXhJbmZvJiBpbmZvLCBjb25zdCBJREJLZXlEYXRhJiBrZXksIGNvbnN0IEluZGV4S2V5
JiBpbmRleEtleSkKIHsKLSAgICBpZiAoIWluZm8ubXVsdGlFbnRyeSgpKSB7Ci0gICAgICAgIGF1
dG8gZXJyb3IgPSB1bmNoZWNrZWRQdXRJbmRleFJlY29yZChpbmZvLm9iamVjdFN0b3JlSWRlbnRp
ZmllcigpLCBpbmZvLmlkZW50aWZpZXIoKSwga2V5LCBpbmRleEtleS5hc09uZUtleSgpKTsKLSAg
ICAgICAgaWYgKCFlcnJvci5pc051bGwoKSkKLSAgICAgICAgICAgIExPR19FUlJPUigiVW5hYmxl
IHRvIHB1dCBpbmRleCByZWNvcmQgZm9yIG5ld2x5IGNyZWF0ZWQgaW5kZXgiKTsKLQotICAgICAg
ICByZXR1cm4gZXJyb3I7Ci0gICAgfQorICAgIExPRyhJbmRleGVkREIsICJTUUxpdGVJREJCYWNr
aW5nU3RvcmU6OnVuY2hlY2tlZFB1dEluZGV4S2V5IC0gKCUiIFBSSXU2NCAiKSAlcywgJXMiLCBp
bmZvLmlkZW50aWZpZXIoKSwga2V5LmxvZ2dpbmdTdHJpbmcoKS51dGY4KCkuZGF0YSgpLCBpbmRl
eEtleS5hc09uZUtleSgpLmxvZ2dpbmdTdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKIAotICAgIFZl
Y3RvcjxJREJLZXlEYXRhPiBpbmRleEtleXMgPSBpbmRleEtleS5tdWx0aUVudHJ5KCk7CisgICAg
VmVjdG9yPElEQktleURhdGE+IGluZGV4S2V5czsKKyAgICBpZiAoaW5mby5tdWx0aUVudHJ5KCkp
CisgICAgICAgIGluZGV4S2V5cyA9IGluZGV4S2V5Lm11bHRpRW50cnkoKTsKKyAgICBlbHNlCisg
ICAgICAgIGluZGV4S2V5cy5hcHBlbmQoaW5kZXhLZXkuYXNPbmVLZXkoKSk7CiAKICAgICBpZiAo
aW5mby51bmlxdWUoKSkgewogICAgICAgICBib29sIGhhc1JlY29yZDsKICAgICAgICAgSURCRXJy
b3IgZXJyb3I7CiAgICAgICAgIGZvciAoYXV0byYgaW5kZXhLZXkgOiBpbmRleEtleXMpIHsKLSAg
ICAgICAgICAgIGVycm9yID0gdW5jaGVja2VkSGFzSW5kZXhSZWNvcmQoaW5mby5pZGVudGlmaWVy
KCksIGluZGV4S2V5LCBoYXNSZWNvcmQpOworICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCJDaGVj
a2luZyB0byBzZWUgaWYgaW5kZXggaGFzIHJlY29yZCBmb3I6ICVzIiwgaW5kZXhLZXkubG9nZ2lu
Z1N0cmluZygpLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICAgICAgZXJyb3IgPSB1bmNoZWNrZWRI
YXNJbmRleFJlY29yZChpbmZvLCBpbmRleEtleSwgaGFzUmVjb3JkKTsKICAgICAgICAgICAgIGlm
ICghZXJyb3IuaXNOdWxsKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGVycm9yOwogICAgICAg
ICAgICAgaWYgKGhhc1JlY29yZCkKQEAgLTEwNjUsNyArMTAzNSwyNCBAQCBJREJFcnJvciBTUUxp
dGVJREJCYWNraW5nU3RvcmU6OmRlbGV0ZVJhbmdlKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmll
ciYgdHJhbnNhYwogICAgIHJldHVybiB7IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVbmtub3duRXJy
b3IsIEFTQ0lJTGl0ZXJhbCgiQ3VycmVudGx5IHVuYWJsZSB0byBkZWxldGUgYWxsIHJlY29yZHMg
aW4gYSBtdWx0aS1rZXkgcmFuZ2UiKSB9OwogfQogCi1JREJFcnJvciBTUUxpdGVJREJCYWNraW5n
U3RvcmU6OnVwZGF0ZUluZGV4ZXNGb3JBZGRSZWNvcmQoY29uc3QgSURCT2JqZWN0U3RvcmVJbmZv
JiBpbmZvLCBjb25zdCBJREJLZXlEYXRhJiBrZXksIGNvbnN0IFRocmVhZFNhZmVEYXRhQnVmZmVy
JiB2YWx1ZSkKK0lEQkVycm9yIFNRTGl0ZUlEQkJhY2tpbmdTdG9yZTo6dXBkYXRlT25lSW5kZXhG
b3JBZGRSZWNvcmQoY29uc3QgSURCSW5kZXhJbmZvJiBpbmZvLCBjb25zdCBJREJLZXlEYXRhJiBr
ZXksIGNvbnN0IFRocmVhZFNhZmVEYXRhQnVmZmVyJiB2YWx1ZSkKK3sKKyAgICBKU0xvY2tIb2xk
ZXIgbG9ja2VyKHZtKCkpOworCisgICAgYXV0byBqc1ZhbHVlID0gZGVzZXJpYWxpemVJREJWYWx1
ZURhdGFUb0pTVmFsdWUoKmdsb2JhbE9iamVjdCgpLmdsb2JhbEV4ZWMoKSwgdmFsdWUpOworICAg
IGlmIChqc1ZhbHVlLmlzVW5kZWZpbmVkT3JOdWxsKCkpCisgICAgICAgIHJldHVybiB7IH07CisK
KyAgICBJbmRleEtleSBpbmRleEtleTsKKyAgICBnZW5lcmF0ZUluZGV4S2V5Rm9yVmFsdWUoKm1f
Z2xvYmFsT2JqZWN0LT5nbG9iYWxFeGVjKCksIGluZm8sIGpzVmFsdWUsIGluZGV4S2V5KTsKKwor
ICAgIGlmIChpbmRleEtleS5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIHJl
dHVybiB1bmNoZWNrZWRQdXRJbmRleEtleShpbmZvLCBrZXksIGluZGV4S2V5KTsKK30KKworSURC
RXJyb3IgU1FMaXRlSURCQmFja2luZ1N0b3JlOjp1cGRhdGVBbGxJbmRleGVzRm9yQWRkUmVjb3Jk
KGNvbnN0IElEQk9iamVjdFN0b3JlSW5mbyYgaW5mbywgY29uc3QgSURCS2V5RGF0YSYga2V5LCBj
b25zdCBUaHJlYWRTYWZlRGF0YUJ1ZmZlciYgdmFsdWUpCiB7CiAgICAgSlNMb2NrSG9sZGVyIGxv
Y2tlcih2bSgpKTsKIApAQCAtMTEzMCw3ICsxMTE3LDcgQEAgSURCRXJyb3IgU1FMaXRlSURCQmFj
a2luZ1N0b3JlOjphZGRSZWNvcmQoY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiB0cmFuc2Fj
dGkKICAgICAgICAgfQogICAgIH0KIAotICAgIGF1dG8gZXJyb3IgPSB1cGRhdGVJbmRleGVzRm9y
QWRkUmVjb3JkKG9iamVjdFN0b3JlSW5mbywga2V5RGF0YSwgdmFsdWUpOworICAgIGF1dG8gZXJy
b3IgPSB1cGRhdGVBbGxJbmRleGVzRm9yQWRkUmVjb3JkKG9iamVjdFN0b3JlSW5mbywga2V5RGF0
YSwgdmFsdWUpOwogCiAgICAgLy8gRklYTUU6IElmIHRoZXJlIHdhcyBhbiBlcnJvciBpbmRleGlu
ZyB0aGlzIHJlY29yZCwgcmVtb3ZlIGl0LgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQmFja2luZ1N0b3JlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQmFja2luZ1N0b3JlLmgK
aW5kZXggZDE5NWFkYy4uODZkY2NiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkJhY2tpbmdTdG9yZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJCYWNraW5nU3RvcmUuaApA
QCAtODgsMTIgKzg4LDE0IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPElEQkRhdGFi
YXNlSW5mbz4gZXh0cmFjdEV4aXN0aW5nRGF0YWJhc2VJbmZvKCk7CiAKICAgICBJREJFcnJvciBk
ZWxldGVSZWNvcmQoU1FMaXRlSURCVHJhbnNhY3Rpb24mLCBpbnQ2NF90IG9iamVjdFN0b3JlSUQs
IGNvbnN0IElEQktleURhdGEmKTsKLSAgICBJREJFcnJvciB1bmNoZWNrZWRQdXRJbmRleEtleShj
b25zdCBJREJJbmRleEluZm8mLCBjb25zdCBJREJLZXlEYXRhJiBrZXlWYWx1ZSwgY29uc3QgSW5k
ZXhLZXkmKTsKLSAgICBJREJFcnJvciB1bmNoZWNrZWRQdXRJbmRleFJlY29yZChpbnQ2NF90IG9i
amVjdFN0b3JlSUQsIGludDY0X3QgaW5kZXhJRCwgY29uc3QgSURCS2V5RGF0YSYga2V5VmFsdWUs
IGNvbnN0IElEQktleURhdGEmIGluZGV4S2V5KTsKLSAgICBJREJFcnJvciB1bmNoZWNrZWRIYXNJ
bmRleFJlY29yZChpbnQ2NF90IGluZGV4SUQsIGNvbnN0IElEQktleURhdGEmLCBib29sJiBoYXNS
ZWNvcmQpOwogICAgIElEQkVycm9yIHVuY2hlY2tlZEdldEtleUdlbmVyYXRvclZhbHVlKGludDY0
X3Qgb2JqZWN0U3RvcmVJRCwgdWludDY0X3QmIG91dFZhbHVlKTsKICAgICBJREJFcnJvciB1bmNo
ZWNrZWRTZXRLZXlHZW5lcmF0b3JWYWx1ZShpbnQ2NF90IG9iamVjdFN0b3JlSUQsIHVpbnQ2NF90
IHZhbHVlKTsKLSAgICBJREJFcnJvciB1cGRhdGVJbmRleGVzRm9yQWRkUmVjb3JkKGNvbnN0IElE
Qk9iamVjdFN0b3JlSW5mbyYsIGNvbnN0IElEQktleURhdGEmLCBjb25zdCBUaHJlYWRTYWZlRGF0
YUJ1ZmZlciYgdmFsdWUpOworCisgICAgSURCRXJyb3IgdXBkYXRlQWxsSW5kZXhlc0ZvckFkZFJl
Y29yZChjb25zdCBJREJPYmplY3RTdG9yZUluZm8mLCBjb25zdCBJREJLZXlEYXRhJiwgY29uc3Qg
VGhyZWFkU2FmZURhdGFCdWZmZXImIHZhbHVlKTsKKyAgICBJREJFcnJvciB1cGRhdGVPbmVJbmRl
eEZvckFkZFJlY29yZChjb25zdCBJREJJbmRleEluZm8mLCBjb25zdCBJREJLZXlEYXRhJiwgY29u
c3QgVGhyZWFkU2FmZURhdGFCdWZmZXImIHZhbHVlKTsKKyAgICBJREJFcnJvciB1bmNoZWNrZWRQ
dXRJbmRleEtleShjb25zdCBJREJJbmRleEluZm8mLCBjb25zdCBJREJLZXlEYXRhJiBrZXlWYWx1
ZSwgY29uc3QgSW5kZXhLZXkmKTsKKyAgICBJREJFcnJvciB1bmNoZWNrZWRQdXRJbmRleFJlY29y
ZChpbnQ2NF90IG9iamVjdFN0b3JlSUQsIGludDY0X3QgaW5kZXhJRCwgY29uc3QgSURCS2V5RGF0
YSYga2V5VmFsdWUsIGNvbnN0IElEQktleURhdGEmIGluZGV4S2V5KTsKKyAgICBJREJFcnJvciB1
bmNoZWNrZWRIYXNJbmRleFJlY29yZChjb25zdCBJREJJbmRleEluZm8mLCBjb25zdCBJREJLZXlE
YXRhJiwgYm9vbCYgaGFzUmVjb3JkKTsKIAogICAgIEpTQzo6Vk0mIHZtKCk7CiAgICAgSlNDOjpK
U0dsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KCk7Cg==
</data>
<flag name="review"
          id="294979"
          type_id="1"
          status="+"
          setter="achristensen"
    />
    <flag name="commit-queue"
          id="294980"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270128</attachid>
            <date>2016-01-28 10:56:07 -0800</date>
            <delta_ts>2016-01-28 11:20:33 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>12517</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3OWQ5ZGI0Li5mYjZmODA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTYtMDEt
MjggIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIE1vZGVybiBJ
REI6IEluZGV4IHVuaXF1ZW5lc3MgYnJva2VuIGluIHRoZSBTUUxpdGUgYmFja2VuZC4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MzU5NgorCisgICAg
ICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTYtMDEtMjggIFphbGFuIEJ1anRhcyAgPHph
bGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2luXSBnYXJkZW5pbmcgYWZ0ZXIgcjE5NTc0MC4g
KG1vcmUgdG8gZm9sbG93KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
MS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IGUyNmZiNjYuLmVjMDNkNzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ1OCwyNiArNDU4LDE0IEBAIHN0b3Jh
Z2UvaW5kZXhlZGRiL2N1cnNvci11cGRhdGUuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRl
eGVkZGIvZGVsZXRlLXJhbmdlLmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL2dl
dC1rZXlyYW5nZS5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1kdXBs
aWNhdGUta2V5cGF0aHMuaHRtbCBbIEZhaWx1cmUgXQotc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgt
bXVsdGllbnRyeS5odG1sIFsgRmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1wb3B1
bGF0aW9uLmh0bWwgWyBGYWlsdXJlIF0KLXN0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LXVuaXF1ZS5o
dG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9rZXktZ2VuZXJhdG9yLmh0bWwgWyBG
YWlsdXJlIF0KLXN0b3JhZ2UvaW5kZXhlZGRiL2xhenktaW5kZXgtcG9wdWxhdGlvbi5odG1sIFsg
RmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9sYXp5LWluZGV4LXR5cGVzLmh0bWwgWyBGYWls
dXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jdXJzb3ItNy5odG1sIFsgRmFpbHVyZSBd
Ci1zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlaW5kZXgtMS5odG1sIFsgRmFpbHVyZSBd
Ci1zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlaW5kZXgtMi5odG1sIFsgRmFpbHVyZSBd
CiBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZ2V0LWtleXJhbmdlLmh0bWwgWyBGYWlsdXJlIF0K
IHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJvYmplY3RzdG9yZS1kZWxldGUtMS5odG1sIFsg
RmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5kZXgtMy5odG1sIFsgRmFpbHVy
ZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5kZXgtNC5odG1sIFsgRmFpbHVyZSBdCiBz
dG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2N1cnNvci1tdXRhdGlvbi5odG1sIFsgRmFpbHVyZSBd
CiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2N1cnNvcnMuaHRtbCBbIEZhaWx1cmUgXQotc3Rv
cmFnZS9pbmRleGVkZGIvbW96aWxsYS9pbmRleC1wcmV2LW5vLWR1cGxpY2F0ZS5odG1sIFsgRmFp
bHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2luZGV4ZXMuaHRtbCBbIEZhaWx1cmUg
XQogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYXV0b2luY3JlbWVudC5odG1sIFsgRmFp
bHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MuaHRtbCBbIEZhaWx1
cmUgXQotc3RvcmFnZS9pbmRleGVkZGIvb3BlbmN1cnNvci1rZXkuaHRtbCBbIEZhaWx1cmUgXQog
CiAjIFNRTGl0ZSBiYWNrZW5kIHRlc3RzIHRoYXQgdGltZW91dAogc3RvcmFnZS9pbmRleGVkZGIv
bW9kZXJuL3RyYW5zYWN0aW9uLXNjaGVkdWxlci0xLmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCA3NWIyZTkxLi5iNTQwZTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTYtMDEt
MjggIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIE1vZGVybiBJ
REI6IEluZGV4IHVuaXF1ZW5lc3MgYnJva2VuIGluIHRoZSBTUUxpdGUgYmFja2VuZC4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MzU5NgorCisgICAg
ICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
IChNYW55IGZhaWxpbmcgdGVzdHMgbm93IHBhc3MsIG90aGVycyBpbXByb3ZlKS4KKworICAgICAg
ICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJCYWNraW5nU3RvcmUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpTUUxpdGVJREJCYWNraW5nU3RvcmU6OmNyZWF0
ZUluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6U1FMaXRlSURCQmFja2luZ1N0
b3JlOjp1bmNoZWNrZWRIYXNJbmRleFJlY29yZCk6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2
ZXI6OlNRTGl0ZUlEQkJhY2tpbmdTdG9yZTo6dW5jaGVja2VkUHV0SW5kZXhLZXkpOgorICAgICAg
ICAoV2ViQ29yZTo6SURCU2VydmVyOjpTUUxpdGVJREJCYWNraW5nU3RvcmU6OnVwZGF0ZU9uZUlu
ZGV4Rm9yQWRkUmVjb3JkKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6U1FMaXRlSURC
QmFja2luZ1N0b3JlOjp1cGRhdGVBbGxJbmRleGVzRm9yQWRkUmVjb3JkKToKKyAgICAgICAgKFdl
YkNvcmU6OklEQlNlcnZlcjo6U1FMaXRlSURCQmFja2luZ1N0b3JlOjphZGRSZWNvcmQpOgorICAg
ICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpTUUxpdGVJREJCYWNraW5nU3RvcmU6OnVwZGF0ZUlu
ZGV4ZXNGb3JBZGRSZWNvcmQpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRi
L3NlcnZlci9TUUxpdGVJREJCYWNraW5nU3RvcmUuaDoKKwogMjAxNi0wMS0yOCAgTmlrb3MgQW5k
cm9uaWtvcyAgPG5pa29zLmFuZHJvbmlrb3Mtd2Via2l0QGNpc3JhLmNhbm9uLmNvbS5hdT4KIAog
ICAgICAgICBbU1ZHXSBBZGQgc3VwcG9ydCBmb3IgJ2xpZ2h0ZXInIG9wZXJhdG9yIGluIGZlQ29t
cG9zaXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2
ZXIvU1FMaXRlSURCQmFja2luZ1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL3NlcnZlci9TUUxpdGVJREJCYWNraW5nU3RvcmUuY3BwCmluZGV4IDdlNmRjMTUuLjNh
N2MwYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZl
ci9TUUxpdGVJREJCYWNraW5nU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJCYWNraW5nU3RvcmUuY3BwCkBAIC03MTEsNiArNzEx
LDcgQEAgSURCRXJyb3IgU1FMaXRlSURCQmFja2luZ1N0b3JlOjpjbGVhck9iamVjdFN0b3JlKGNv
bnN0IElEQlJlc291cmNlSWRlbnRpZmllciYgdHIKIAogSURCRXJyb3IgU1FMaXRlSURCQmFja2lu
Z1N0b3JlOjpjcmVhdGVJbmRleChjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0
aW9uSWRlbnRpZmllciwgY29uc3QgSURCSW5kZXhJbmZvJiBpbmZvKQogeworICAgIExPRyhJbmRl
eGVkREIsICJTUUxpdGVJREJCYWNraW5nU3RvcmU6OmNyZWF0ZUluZGV4IC0gT2JqZWN0U3RvcmUg
JSIgUFJJdTY0ICIsIEluZGV4ICUiIFBSSXU2NCwgaW5mby5vYmplY3RTdG9yZUlkZW50aWZpZXIo
KSwgaW5mby5pZGVudGlmaWVyKCkpOwogICAgIEFTU0VSVChtX3NxbGl0ZURCKTsKICAgICBBU1NF
UlQobV9zcWxpdGVEQi0+aXNPcGVuKCkpOwogCkBAIC03NTIsNDUgKzc1MywxNCBAQCBJREJFcnJv
ciBTUUxpdGVJREJCYWNraW5nU3RvcmU6OmNyZWF0ZUluZGV4KGNvbnN0IElEQlJlc291cmNlSWRl
bnRpZmllciYgdHJhbnNhYwogICAgICAgICByZXR1cm4geyBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6
VW5rbm93bkVycm9yLCBBU0NJSUxpdGVyYWwoIlVuYWJsZSB0byBwb3B1bGF0ZSBpbmRleGVzIGlu
IGRhdGFiYXNlIikgfTsKICAgICB9CiAKLSAgICBKU0xvY2tIb2xkZXIgbG9ja2VyKHZtKCkpOwot
CiAgICAgd2hpbGUgKCFjdXJzb3ItPmN1cnJlbnRLZXkoKS5pc051bGwoKSkgewogICAgICAgICBh
dXRvJiBrZXkgPSBjdXJzb3ItPmN1cnJlbnRLZXkoKTsKLSAgICAgICAgYXV0byYgdmFsdWVCdWZm
ZXIgPSBjdXJzb3ItPmN1cnJlbnRWYWx1ZUJ1ZmZlcigpOwotCi0gICAgICAgIGF1dG8gdmFsdWUg
PSBkZXNlcmlhbGl6ZUlEQlZhbHVlQnVmZmVyKG1fZ2xvYmFsT2JqZWN0LT5nbG9iYWxFeGVjKCks
IFZlY3Rvcjx1aW50OF90Pih2YWx1ZUJ1ZmZlciksIHRydWUpOwotCi0gICAgICAgIEluZGV4S2V5
IGluZGV4S2V5OwotICAgICAgICBnZW5lcmF0ZUluZGV4S2V5Rm9yVmFsdWUoKm1fZ2xvYmFsT2Jq
ZWN0LT5nbG9iYWxFeGVjKCksIGluZm8sIHZhbHVlLmpzVmFsdWUoKSwgaW5kZXhLZXkpOwotCi0g
ICAgICAgIGlmICghaW5mby5tdWx0aUVudHJ5KCkpIHsKLSAgICAgICAgICAgIElEQkVycm9yIGVy
cm9yID0gdW5jaGVja2VkUHV0SW5kZXhSZWNvcmQoaW5mby5vYmplY3RTdG9yZUlkZW50aWZpZXIo
KSwgaW5mby5pZGVudGlmaWVyKCksIGtleSwgaW5kZXhLZXkuYXNPbmVLZXkoKSk7Ci0gICAgICAg
ICAgICBpZiAoIWVycm9yLmlzTnVsbCgpKSB7Ci0gICAgICAgICAgICAgICAgTE9HX0VSUk9SKCJV
bmFibGUgdG8gcHV0IGluZGV4IHJlY29yZCBmb3IgbmV3bHkgY3JlYXRlZCBpbmRleCIpOwotICAg
ICAgICAgICAgICAgIHJldHVybiBlcnJvcjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQorICAg
ICAgICBhdXRvIHZhbHVlQnVmZmVyID0gVGhyZWFkU2FmZURhdGFCdWZmZXI6OmNvcHlWZWN0b3Io
Y3Vyc29yLT5jdXJyZW50VmFsdWVCdWZmZXIoKSk7CiAKLSAgICAgICAgVmVjdG9yPElEQktleURh
dGE+IGluZGV4S2V5cyA9IGluZGV4S2V5Lm11bHRpRW50cnkoKTsKLQotICAgICAgICBpZiAoaW5m
by51bmlxdWUoKSkgewotICAgICAgICAgICAgYm9vbCBoYXNSZWNvcmQ7Ci0gICAgICAgICAgICBJ
REJFcnJvciBlcnJvcjsKLSAgICAgICAgICAgIGZvciAoYXV0byYgaW5kZXhLZXkgOiBpbmRleEtl
eXMpIHsKLSAgICAgICAgICAgICAgICBlcnJvciA9IHVuY2hlY2tlZEhhc0luZGV4UmVjb3JkKGlu
Zm8uaWRlbnRpZmllcigpLCBpbmRleEtleSwgaGFzUmVjb3JkKTsKLSAgICAgICAgICAgICAgICBp
ZiAoaGFzUmVjb3JkKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gSURCRXJyb3IoSURCRGF0
YWJhc2VFeGNlcHRpb246OkNvbnN0cmFpbnRFcnJvcik7Ci0gICAgICAgICAgICAgICAgaWYgKCFl
cnJvci5pc051bGwoKSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVycm9yOwotICAgICAg
ICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgZm9yIChhdXRvJiBpbmRleEtleSA6IGluZGV4
S2V5cykgewotICAgICAgICAgICAgSURCRXJyb3IgZXJyb3IgPSB1bmNoZWNrZWRQdXRJbmRleFJl
Y29yZChpbmZvLm9iamVjdFN0b3JlSWRlbnRpZmllcigpLCBpbmZvLmlkZW50aWZpZXIoKSwga2V5
LCBpbmRleEtleSk7Ci0gICAgICAgICAgICBpZiAoIWVycm9yLmlzTnVsbCgpKSB7Ci0gICAgICAg
ICAgICAgICAgTE9HX0VSUk9SKCJVbmFibGUgdG8gcHV0IGluZGV4IHJlY29yZCBmb3IgbmV3bHkg
Y3JlYXRlZCBpbmRleCIpOwotICAgICAgICAgICAgICAgIHJldHVybiBlcnJvcjsKLSAgICAgICAg
ICAgIH0KKyAgICAgICAgSURCRXJyb3IgZXJyb3IgPSB1cGRhdGVPbmVJbmRleEZvckFkZFJlY29y
ZChpbmZvLCBrZXksIHZhbHVlQnVmZmVyKTsKKyAgICAgICAgaWYgKCFlcnJvci5pc051bGwoKSkg
eworICAgICAgICAgICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIG5ld2x5IGFkZGVkIGluZGV4Lgor
ICAgICAgICAgICAgcmV0dXJuIGVycm9yOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKCFjdXJz
b3ItPmFkdmFuY2UoMSkpIHsKQEAgLTgwMiw3ICs3NzIsNyBAQCBJREJFcnJvciBTUUxpdGVJREJC
YWNraW5nU3RvcmU6OmNyZWF0ZUluZGV4KGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYgdHJh
bnNhYwogICAgIHJldHVybiB7IH07CiB9CiAKLUlEQkVycm9yIFNRTGl0ZUlEQkJhY2tpbmdTdG9y
ZTo6dW5jaGVja2VkSGFzSW5kZXhSZWNvcmQoaW50NjRfdCBpbmRleElELCBjb25zdCBJREJLZXlE
YXRhJiBpbmRleEtleSwgYm9vbCYgaGFzUmVjb3JkKQorSURCRXJyb3IgU1FMaXRlSURCQmFja2lu
Z1N0b3JlOjp1bmNoZWNrZWRIYXNJbmRleFJlY29yZChjb25zdCBJREJJbmRleEluZm8mIGluZm8s
IGNvbnN0IElEQktleURhdGEmIGluZGV4S2V5LCBib29sJiBoYXNSZWNvcmQpCiB7CiAgICAgaGFz
UmVjb3JkID0gZmFsc2U7CiAKQEAgLTgxMiwxMCArNzgyLDExIEBAIElEQkVycm9yIFNRTGl0ZUlE
QkJhY2tpbmdTdG9yZTo6dW5jaGVja2VkSGFzSW5kZXhSZWNvcmQoaW50NjRfdCBpbmRleElELCBj
b25zdCBJCiAgICAgICAgIHJldHVybiB7IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVbmtub3duRXJy
b3IsIEFTQ0lJTGl0ZXJhbCgiVW5hYmxlIHRvIHNlcmlhbGl6ZSBJREJLZXkgdG8gY2hlY2sgZm9y
IGluZGV4IHJlY29yZCBpbiBkYXRhYmFzZSIpIH07CiAgICAgfQogCi0gICAgU1FMaXRlU3RhdGVt
ZW50IHNxbCgqbV9zcWxpdGVEQiwgQVNDSUlMaXRlcmFsKCJTRUxFQ1Qgcm93aWQgRlJPTSBJbmRl
eFJlY29yZHMgV0hFUkUgaW5kZXhJRCA9ID8gQU5EIGtleSA9IENBU1QoPyBBUyBURVhUKTsiKSk7
CisgICAgU1FMaXRlU3RhdGVtZW50IHNxbCgqbV9zcWxpdGVEQiwgQVNDSUlMaXRlcmFsKCJTRUxF
Q1Qgcm93aWQgRlJPTSBJbmRleFJlY29yZHMgV0hFUkUgaW5kZXhJRCA9ID8gQU5EIG9iamVjdFN0
b3JlSUQgPSA/IEFORCBrZXkgPSBDQVNUKD8gQVMgVEVYVCk7IikpOwogICAgIGlmIChzcWwucHJl
cGFyZSgpICE9IFNRTElURV9PSwotICAgICAgICB8fCBzcWwuYmluZEludDY0KDEsIGluZGV4SUQp
ICE9IFNRTElURV9PSwotICAgICAgICB8fCBzcWwuYmluZEJsb2IoMiwgaW5kZXhLZXlCdWZmZXIt
PmRhdGEoKSwgaW5kZXhLZXlCdWZmZXItPnNpemUoKSkgIT0gU1FMSVRFX09LKSB7CisgICAgICAg
IHx8IHNxbC5iaW5kSW50NjQoMSwgaW5mby5pZGVudGlmaWVyKCkpICE9IFNRTElURV9PSworICAg
ICAgICB8fCBzcWwuYmluZEludDY0KDIsIGluZm8ub2JqZWN0U3RvcmVJZGVudGlmaWVyKCkpICE9
IFNRTElURV9PSworICAgICAgICB8fCBzcWwuYmluZEJsb2IoMywgaW5kZXhLZXlCdWZmZXItPmRh
dGEoKSwgaW5kZXhLZXlCdWZmZXItPnNpemUoKSkgIT0gU1FMSVRFX09LKSB7CiAgICAgICAgIExP
R19FUlJPUigiRXJyb3IgY2hlY2tpbmcgZm9yIGluZGV4IHJlY29yZCBpbiBkYXRhYmFzZSIpOwog
ICAgICAgICByZXR1cm4geyBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VW5rbm93bkVycm9yLCBBU0NJ
SUxpdGVyYWwoIkVycm9yIGNoZWNraW5nIGZvciBpbmRleCByZWNvcmQgaW4gZGF0YWJhc2UiKSB9
OwogICAgIH0KQEAgLTgzNiwyMSArODA3LDE5IEBAIElEQkVycm9yIFNRTGl0ZUlEQkJhY2tpbmdT
dG9yZTo6dW5jaGVja2VkSGFzSW5kZXhSZWNvcmQoaW50NjRfdCBpbmRleElELCBjb25zdCBJCiAK
IElEQkVycm9yIFNRTGl0ZUlEQkJhY2tpbmdTdG9yZTo6dW5jaGVja2VkUHV0SW5kZXhLZXkoY29u
c3QgSURCSW5kZXhJbmZvJiBpbmZvLCBjb25zdCBJREJLZXlEYXRhJiBrZXksIGNvbnN0IEluZGV4
S2V5JiBpbmRleEtleSkKIHsKLSAgICBpZiAoIWluZm8ubXVsdGlFbnRyeSgpKSB7Ci0gICAgICAg
IGF1dG8gZXJyb3IgPSB1bmNoZWNrZWRQdXRJbmRleFJlY29yZChpbmZvLm9iamVjdFN0b3JlSWRl
bnRpZmllcigpLCBpbmZvLmlkZW50aWZpZXIoKSwga2V5LCBpbmRleEtleS5hc09uZUtleSgpKTsK
LSAgICAgICAgaWYgKCFlcnJvci5pc051bGwoKSkKLSAgICAgICAgICAgIExPR19FUlJPUigiVW5h
YmxlIHRvIHB1dCBpbmRleCByZWNvcmQgZm9yIG5ld2x5IGNyZWF0ZWQgaW5kZXgiKTsKLQotICAg
ICAgICByZXR1cm4gZXJyb3I7Ci0gICAgfQorICAgIExPRyhJbmRleGVkREIsICJTUUxpdGVJREJC
YWNraW5nU3RvcmU6OnVuY2hlY2tlZFB1dEluZGV4S2V5IC0gKCUiIFBSSXU2NCAiKSAlcywgJXMi
LCBpbmZvLmlkZW50aWZpZXIoKSwga2V5LmxvZ2dpbmdTdHJpbmcoKS51dGY4KCkuZGF0YSgpLCBp
bmRleEtleS5hc09uZUtleSgpLmxvZ2dpbmdTdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKIAotICAg
IFZlY3RvcjxJREJLZXlEYXRhPiBpbmRleEtleXMgPSBpbmRleEtleS5tdWx0aUVudHJ5KCk7Cisg
ICAgVmVjdG9yPElEQktleURhdGE+IGluZGV4S2V5czsKKyAgICBpZiAoaW5mby5tdWx0aUVudHJ5
KCkpCisgICAgICAgIGluZGV4S2V5cyA9IGluZGV4S2V5Lm11bHRpRW50cnkoKTsKKyAgICBlbHNl
CisgICAgICAgIGluZGV4S2V5cy5hcHBlbmQoaW5kZXhLZXkuYXNPbmVLZXkoKSk7CiAKICAgICBp
ZiAoaW5mby51bmlxdWUoKSkgewogICAgICAgICBib29sIGhhc1JlY29yZDsKICAgICAgICAgSURC
RXJyb3IgZXJyb3I7CiAgICAgICAgIGZvciAoYXV0byYgaW5kZXhLZXkgOiBpbmRleEtleXMpIHsK
LSAgICAgICAgICAgIGVycm9yID0gdW5jaGVja2VkSGFzSW5kZXhSZWNvcmQoaW5mby5pZGVudGlm
aWVyKCksIGluZGV4S2V5LCBoYXNSZWNvcmQpOworICAgICAgICAgICAgZXJyb3IgPSB1bmNoZWNr
ZWRIYXNJbmRleFJlY29yZChpbmZvLCBpbmRleEtleSwgaGFzUmVjb3JkKTsKICAgICAgICAgICAg
IGlmICghZXJyb3IuaXNOdWxsKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGVycm9yOwogICAg
ICAgICAgICAgaWYgKGhhc1JlY29yZCkKQEAgLTEwNjUsNyArMTAzNCwyNCBAQCBJREJFcnJvciBT
UUxpdGVJREJCYWNraW5nU3RvcmU6OmRlbGV0ZVJhbmdlKGNvbnN0IElEQlJlc291cmNlSWRlbnRp
ZmllciYgdHJhbnNhYwogICAgIHJldHVybiB7IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVbmtub3du
RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQ3VycmVudGx5IHVuYWJsZSB0byBkZWxldGUgYWxsIHJlY29y
ZHMgaW4gYSBtdWx0aS1rZXkgcmFuZ2UiKSB9OwogfQogCi1JREJFcnJvciBTUUxpdGVJREJCYWNr
aW5nU3RvcmU6OnVwZGF0ZUluZGV4ZXNGb3JBZGRSZWNvcmQoY29uc3QgSURCT2JqZWN0U3RvcmVJ
bmZvJiBpbmZvLCBjb25zdCBJREJLZXlEYXRhJiBrZXksIGNvbnN0IFRocmVhZFNhZmVEYXRhQnVm
ZmVyJiB2YWx1ZSkKK0lEQkVycm9yIFNRTGl0ZUlEQkJhY2tpbmdTdG9yZTo6dXBkYXRlT25lSW5k
ZXhGb3JBZGRSZWNvcmQoY29uc3QgSURCSW5kZXhJbmZvJiBpbmZvLCBjb25zdCBJREJLZXlEYXRh
JiBrZXksIGNvbnN0IFRocmVhZFNhZmVEYXRhQnVmZmVyJiB2YWx1ZSkKK3sKKyAgICBKU0xvY2tI
b2xkZXIgbG9ja2VyKHZtKCkpOworCisgICAgYXV0byBqc1ZhbHVlID0gZGVzZXJpYWxpemVJREJW
YWx1ZURhdGFUb0pTVmFsdWUoKmdsb2JhbE9iamVjdCgpLmdsb2JhbEV4ZWMoKSwgdmFsdWUpOwor
ICAgIGlmIChqc1ZhbHVlLmlzVW5kZWZpbmVkT3JOdWxsKCkpCisgICAgICAgIHJldHVybiB7IH07
CisKKyAgICBJbmRleEtleSBpbmRleEtleTsKKyAgICBnZW5lcmF0ZUluZGV4S2V5Rm9yVmFsdWUo
Km1fZ2xvYmFsT2JqZWN0LT5nbG9iYWxFeGVjKCksIGluZm8sIGpzVmFsdWUsIGluZGV4S2V5KTsK
KworICAgIGlmIChpbmRleEtleS5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAg
IHJldHVybiB1bmNoZWNrZWRQdXRJbmRleEtleShpbmZvLCBrZXksIGluZGV4S2V5KTsKK30KKwor
SURCRXJyb3IgU1FMaXRlSURCQmFja2luZ1N0b3JlOjp1cGRhdGVBbGxJbmRleGVzRm9yQWRkUmVj
b3JkKGNvbnN0IElEQk9iamVjdFN0b3JlSW5mbyYgaW5mbywgY29uc3QgSURCS2V5RGF0YSYga2V5
LCBjb25zdCBUaHJlYWRTYWZlRGF0YUJ1ZmZlciYgdmFsdWUpCiB7CiAgICAgSlNMb2NrSG9sZGVy
IGxvY2tlcih2bSgpKTsKIApAQCAtMTEzMCw3ICsxMTE2LDcgQEAgSURCRXJyb3IgU1FMaXRlSURC
QmFja2luZ1N0b3JlOjphZGRSZWNvcmQoY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiB0cmFu
c2FjdGkKICAgICAgICAgfQogICAgIH0KIAotICAgIGF1dG8gZXJyb3IgPSB1cGRhdGVJbmRleGVz
Rm9yQWRkUmVjb3JkKG9iamVjdFN0b3JlSW5mbywga2V5RGF0YSwgdmFsdWUpOworICAgIGF1dG8g
ZXJyb3IgPSB1cGRhdGVBbGxJbmRleGVzRm9yQWRkUmVjb3JkKG9iamVjdFN0b3JlSW5mbywga2V5
RGF0YSwgdmFsdWUpOwogCiAgICAgLy8gRklYTUU6IElmIHRoZXJlIHdhcyBhbiBlcnJvciBpbmRl
eGluZyB0aGlzIHJlY29yZCwgcmVtb3ZlIGl0LgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQmFja2luZ1N0b3JlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQmFja2luZ1N0b3Jl
LmgKaW5kZXggZDE5NWFkYy4uODZkY2NiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkJhY2tpbmdTdG9yZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJCYWNraW5nU3RvcmUu
aApAQCAtODgsMTIgKzg4LDE0IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPElEQkRh
dGFiYXNlSW5mbz4gZXh0cmFjdEV4aXN0aW5nRGF0YWJhc2VJbmZvKCk7CiAKICAgICBJREJFcnJv
ciBkZWxldGVSZWNvcmQoU1FMaXRlSURCVHJhbnNhY3Rpb24mLCBpbnQ2NF90IG9iamVjdFN0b3Jl
SUQsIGNvbnN0IElEQktleURhdGEmKTsKLSAgICBJREJFcnJvciB1bmNoZWNrZWRQdXRJbmRleEtl
eShjb25zdCBJREJJbmRleEluZm8mLCBjb25zdCBJREJLZXlEYXRhJiBrZXlWYWx1ZSwgY29uc3Qg
SW5kZXhLZXkmKTsKLSAgICBJREJFcnJvciB1bmNoZWNrZWRQdXRJbmRleFJlY29yZChpbnQ2NF90
IG9iamVjdFN0b3JlSUQsIGludDY0X3QgaW5kZXhJRCwgY29uc3QgSURCS2V5RGF0YSYga2V5VmFs
dWUsIGNvbnN0IElEQktleURhdGEmIGluZGV4S2V5KTsKLSAgICBJREJFcnJvciB1bmNoZWNrZWRI
YXNJbmRleFJlY29yZChpbnQ2NF90IGluZGV4SUQsIGNvbnN0IElEQktleURhdGEmLCBib29sJiBo
YXNSZWNvcmQpOwogICAgIElEQkVycm9yIHVuY2hlY2tlZEdldEtleUdlbmVyYXRvclZhbHVlKGlu
dDY0X3Qgb2JqZWN0U3RvcmVJRCwgdWludDY0X3QmIG91dFZhbHVlKTsKICAgICBJREJFcnJvciB1
bmNoZWNrZWRTZXRLZXlHZW5lcmF0b3JWYWx1ZShpbnQ2NF90IG9iamVjdFN0b3JlSUQsIHVpbnQ2
NF90IHZhbHVlKTsKLSAgICBJREJFcnJvciB1cGRhdGVJbmRleGVzRm9yQWRkUmVjb3JkKGNvbnN0
IElEQk9iamVjdFN0b3JlSW5mbyYsIGNvbnN0IElEQktleURhdGEmLCBjb25zdCBUaHJlYWRTYWZl
RGF0YUJ1ZmZlciYgdmFsdWUpOworCisgICAgSURCRXJyb3IgdXBkYXRlQWxsSW5kZXhlc0ZvckFk
ZFJlY29yZChjb25zdCBJREJPYmplY3RTdG9yZUluZm8mLCBjb25zdCBJREJLZXlEYXRhJiwgY29u
c3QgVGhyZWFkU2FmZURhdGFCdWZmZXImIHZhbHVlKTsKKyAgICBJREJFcnJvciB1cGRhdGVPbmVJ
bmRleEZvckFkZFJlY29yZChjb25zdCBJREJJbmRleEluZm8mLCBjb25zdCBJREJLZXlEYXRhJiwg
Y29uc3QgVGhyZWFkU2FmZURhdGFCdWZmZXImIHZhbHVlKTsKKyAgICBJREJFcnJvciB1bmNoZWNr
ZWRQdXRJbmRleEtleShjb25zdCBJREJJbmRleEluZm8mLCBjb25zdCBJREJLZXlEYXRhJiBrZXlW
YWx1ZSwgY29uc3QgSW5kZXhLZXkmKTsKKyAgICBJREJFcnJvciB1bmNoZWNrZWRQdXRJbmRleFJl
Y29yZChpbnQ2NF90IG9iamVjdFN0b3JlSUQsIGludDY0X3QgaW5kZXhJRCwgY29uc3QgSURCS2V5
RGF0YSYga2V5VmFsdWUsIGNvbnN0IElEQktleURhdGEmIGluZGV4S2V5KTsKKyAgICBJREJFcnJv
ciB1bmNoZWNrZWRIYXNJbmRleFJlY29yZChjb25zdCBJREJJbmRleEluZm8mLCBjb25zdCBJREJL
ZXlEYXRhJiwgYm9vbCYgaGFzUmVjb3JkKTsKIAogICAgIEpTQzo6Vk0mIHZtKCk7CiAgICAgSlND
OjpKU0dsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>