<?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>169489</bug_id>
          
          <creation_ts>2017-03-10 15:49:29 -0800</creation_ts>
          <short_desc>Add iOS plumbing to WebProcess to enable JavaScriptCore configuration and logging</short_desc>
          <delta_ts>2017-03-13 10:51:56 -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>Other</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>joepeck</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1285944</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2017-03-10 15:49:29 -0800</bug_when>
    <thetext>This is to add the ability to configure JavaScriptCore debug and logging from within the Web process for iOS through the presence of a configuration file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285945</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2017-03-10 15:49:47 -0800</bug_when>
    <thetext>&lt;rdar://problem/30983159&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285947</commentid>
    <comment_count>2</comment_count>
      <attachid>304088</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2017-03-10 15:51:24 -0800</bug_when>
    <thetext>Created attachment 304088
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285955</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-10 16:10:23 -0800</bug_when>
    <thetext>Attachment 304088 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/API/APIWebsiteDataStore.h:72:  The parameter name &quot;shouldCreateDirectory&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 15 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>1286016</commentid>
    <comment_count>4</comment_count>
      <attachid>304088</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-03-10 17:40:10 -0800</bug_when>
    <thetext>Comment on attachment 304088
Patch

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

r- while you clean up the unnecessary settings.

The only setting that appears to be used is WebProcess reading a default directly from standardUserDefaults. That makes some sense (instead of using WKPreferences) because you want this to happen before initializing any pages. All of the rest (WebCore::Settings, WebKitLegacy WebPreferences, and WebKit2 WebPreferences) are unused and only partially implemented, so they should be removed.

&gt; Source/WebCore/page/Settings.in:188
&gt; +javaScriptCoreUseConfigurationFileEnabled initial=false

I don&apos;t see this WebCore::Setting getting used anywhere. Seems it can just be removed.

&gt; Source/WebKit2/Shared/WebPreferencesDefinitions.h:295
&gt; +    macro(JavaScriptCoreUseConfigurationFileEnabled, javaScriptCoreUseConfigurationFileEnabled, Bool, bool, false, &quot;&quot;, &quot;&quot;) \

This also looks like it is unused.

&gt; Source/WebKit2/UIProcess/API/APIWebsiteDataStore.cpp:153
&gt; +String WebsiteDataStore::defaultJavaScriptConfigurationDirectory()

This doesn&apos;t make sense to put in WebSiteDataStore. This JavaScript Configuration file is not data that a place to store data that a website produces (caches, web storage, etc).

The configuration directory is just a path WebKit wants to check for a config file. Also, it appears to only be used inside of WebProcess construction so it doesn&apos;t need to leak out into other places.

I realize that this already made it into WebsiteDataStore earlier with r213690. It is my understanding that WebsiteDataStore was used for its ease of getting a path within the container. That can still be used via the static WebsiteDataStore::tempDirectoryFileSystemRepresentation function. I&apos;d suggest cleaning this up later, but it isn&apos;t critical to clean up now.

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:3151
&gt; +    settings.setJavaScriptCoreUseConfigurationFileEnabled(store.getBoolValueForKey(WebPreferencesKey::javaScriptCoreUseConfigurationFileEnabledKey()));

This WebCore::Setting isn&apos;t getting used.

&gt; Source/WebKit/mac/WebView/WebPreferences.mm:449
&gt; +        [NSNumber numberWithBool:NO],   WebKitJavaScriptCoreUseConfigFile,

This isn&apos;t used by anything either.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1286882</commentid>
    <comment_count>5</comment_count>
      <attachid>304187</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2017-03-11 22:11:19 -0800</bug_when>
    <thetext>Created attachment 304187
Updated patch addressing the issues of the initial patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1286885</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-11 22:13:10 -0800</bug_when>
    <thetext>Attachment 304187 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/API/APIWebsiteDataStore.h:72:  The parameter name &quot;shouldCreateDirectory&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 8 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>1287240</commentid>
    <comment_count>7</comment_count>
      <attachid>304187</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-03-13 10:47:40 -0700</bug_when>
    <thetext>Comment on attachment 304187
Updated patch addressing the issues of the initial patch.

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

r=me

&gt; Source/WebKit2/UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm:118
&gt; +    if (shouldCreateDirectory == CreateDirectory
&gt; +        &amp;&amp; (![[NSFileManager defaultManager] createDirectoryAtURL:url withIntermediateDirectories:YES attributes:nil error:nullptr]))

I don&apos;t really think this is a security measure, but I guess it&apos;s nice to be able to limit logging to a specific app, so I guess this is good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1287243</commentid>
    <comment_count>8</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2017-03-13 10:51:56 -0700</bug_when>
    <thetext>Committed r213854: &lt;http://trac.webkit.org/changeset/213854&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>304088</attachid>
            <date>2017-03-10 15:51:24 -0800</date>
            <delta_ts>2017-03-11 22:11:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>169489.patch</filename>
            <type>text/plain</type>
            <size>14378</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMzY5MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE3LTAzLTEwICBNaWNoYWVs
IFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBpT1MgcGx1bWJpbmcg
dG8gV2ViUHJvY2VzcyB0byBlbmFibGUgSmF2YVNjcmlwdENvcmUgY29uZmlndXJhdGlvbiBhbmQg
bG9nZ2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTY5NDg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgbmV3IHByZWZlcmVuY2Uga2V5IGZvciBlbmFibGluZyB0aGUgdXNlIG9mIGEgSmF2YVNj
cmlwdCBjb25maWd1cmF0aW9uIGZpbGUKKyAgICAgICAgaW4gaU9TIGJ1aWxkcy4KKworICAgICAg
ICAqIHBhZ2UvU2V0dGluZ3MuaW46CisKIDIwMTctMDMtMDkgIE1pY2hhZWwgU2Fib2ZmICA8bXNh
Ym9mZkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHBsdW1iaW5nIHRvIFdlYlByb2Nlc3MgdG8g
ZW5hYmxlIEphdmFTY3JpcHRDb3JlIGNvbmZpZ3VyYXRpb24gYW5kIGxvZ2dpbmcKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy5pbgkocmV2aXNpb24gMjEzNjg4KQorKysgU291cmNlL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy5pbgkod29ya2luZyBjb3B5KQpAQCAtMTg1LDYgKzE4NSw4IEBAIHVuaWZp
ZWRUZXh0Q2hlY2tlckVuYWJsZWQgaW5pdGlhbD1kZWZhdWwKIAogbG9nc1BhZ2VNZXNzYWdlc1Rv
U3lzdGVtQ29uc29sZUVuYWJsZWQgaW5pdGlhbD1mYWxzZQogCitqYXZhU2NyaXB0Q29yZVVzZUNv
bmZpZ3VyYXRpb25GaWxlRW5hYmxlZCBpbml0aWFsPWZhbHNlCisKIGJhY2tGb3J3YXJkQ2FjaGVF
eHBpcmF0aW9uSW50ZXJ2YWwgdHlwZT1kb3VibGUsIGluaXRpYWw9MTgwMAogCiAjIFNvbWUgYXBw
cyBjb3VsZCBoYXZlIGEgZGVmYXVsdCB2aWRlbyBwb3N0ZXIgaWYgaXQgaXMgbm90IHNldC4KSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMzczMikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDE3LTAzLTEwICBNaWNoYWVsIFNh
Ym9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBpT1MgcGx1bWJpbmcgdG8g
V2ViUHJvY2VzcyB0byBlbmFibGUgSmF2YVNjcmlwdENvcmUgY29uZmlndXJhdGlvbiBhbmQgbG9n
Z2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5
NDg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
ZWQgbmV3IHByZWZlcmVuY2Uga2V5IGZvciBlbmFibGluZyB0aGUgdXNlIG9mIGEgSmF2YVNjcmlw
dCBjb25maWd1cmF0aW9uIGZpbGUKKyAgICAgICAgaW4gaU9TIGJ1aWxkcy4gIFRoZSBwcmVmZXJl
bmNlIGlzIHVzZWQgdG8gZW5hYmxlIHRoZSBwcm9jZXNzaW5nIG9mIHRoZQorICAgICAgICBjb25m
aWd1cmF0aW9uIGZpbGUuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0
aW9ucy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0
aW9uLmNwcDoKKyAgICAgICAgKEFQSTo6UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uOjpQcm9jZXNz
UG9vbENvbmZpZ3VyYXRpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZURh
dGFTdG9yZS5jcHA6CisgICAgICAgIChBUEk6OldlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRKYXZh
U2NyaXB0Q29uZmlndXJhdGlvbkRpcmVjdG9yeSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9B
UElXZWJzaXRlRGF0YVN0b3JlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElX
ZWJzaXRlRGF0YVN0b3JlQ29jb2EubW06CisgICAgICAgIChBUEk6OldlYnNpdGVEYXRhU3RvcmU6
OmRlZmF1bHRKYXZhU2NyaXB0Q29uZmlndXJhdGlvbkRpcmVjdG9yeSk6CisgICAgICAgIChBUEk6
OldlYnNpdGVEYXRhU3RvcmU6OnRlbXBEaXJlY3RvcnlGaWxlU3lzdGVtUmVwcmVzZW50YXRpb24p
OgorICAgICAgICAoQVBJOjpXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0RGF0YVN0b3JlQ29uZmln
dXJhdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2Eu
bW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpzZXRKYXZhU2NyaXB0Q29uZmln
dXJhdGlvbkZpbGVFbmFibGVkRnJvbURlZmF1bHRzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6Y3JlYXRl
TmV3V2ViUHJvY2Vzcyk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyk6CisKIDIwMTctMDMtMTAgIEJyZW50IEZ1bGdo
YW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYlJUQ11bV0syXVtpT1NdIFN1
cHBvcnQgY29tLmFwcGxlLmNvcmVtZWRpYS5jb21wcmVzc2lvbnNlc3Npb24gZm9yIG1vcmUgV2Vi
UlRDIENhc2VzCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZp
bml0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJl
bmNlc0RlZmluaXRpb25zLmgJKHJldmlzaW9uIDIxMzY4OCkKKysrIFNvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5Miw2
ICsyOTIsNyBAQAogICAgIG1hY3JvKFNpbXBsZUxpbmVMYXlvdXREZWJ1Z0JvcmRlcnNFbmFibGVk
LCBzaW1wbGVMaW5lTGF5b3V0RGVidWdCb3JkZXJzRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2Us
ICIiLCAiIikgXAogICAgIG1hY3JvKERldmVsb3BlckV4dHJhc0VuYWJsZWQsIGRldmVsb3BlckV4
dHJhc0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKICAgICBtYWNybyhMb2dz
UGFnZU1lc3NhZ2VzVG9TeXN0ZW1Db25zb2xlRW5hYmxlZCwgbG9nc1BhZ2VNZXNzYWdlc1RvU3lz
dGVtQ29uc29sZUVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNy
byhKYXZhU2NyaXB0Q29yZVVzZUNvbmZpZ3VyYXRpb25GaWxlRW5hYmxlZCwgamF2YVNjcmlwdENv
cmVVc2VDb25maWd1cmF0aW9uRmlsZUVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIp
IFwKICAgICBtYWNybyhJZ25vcmVWaWV3cG9ydFNjYWxpbmdDb25zdHJhaW50cywgaWdub3JlVmll
d3BvcnRTY2FsaW5nQ29uc3RyYWludHMsIEJvb2wsIGJvb2wsIHRydWUsICIiLCAiIikgXAogICAg
IG1hY3JvKEZvcmNlQWx3YXlzVXNlclNjYWxhYmxlLCBmb3JjZUFsd2F5c1VzZXJTY2FsYWJsZSwg
Qm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAogICAgIG1hY3JvKFJlc291cmNlVXNhZ2VPdmVy
bGF5VmlzaWJsZSwgcmVzb3VyY2VVc2FnZU92ZXJsYXlWaXNpYmxlLCBCb29sLCBib29sLCBmYWxz
ZSwgIiIsICIiKSBcCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bv
b2wuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNz
UG9vbC5jcHAJKHJldmlzaW9uIDIxMzY5MCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUG9vbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU5OSw2ICs1OTksMTAgQEAgV2Vi
UHJvY2Vzc1Byb3h5JiBXZWJQcm9jZXNzUG9vbDo6Y3JlYXRlTgogICAgIGlmICghcGFyYW1ldGVy
cy5tZWRpYUtleVN0b3JhZ2VEaXJlY3RvcnkuaXNFbXB0eSgpKQogICAgICAgICBTYW5kYm94RXh0
ZW5zaW9uOjpjcmVhdGVIYW5kbGVXaXRob3V0UmVzb2x2aW5nUGF0aChwYXJhbWV0ZXJzLm1lZGlh
S2V5U3RvcmFnZURpcmVjdG9yeSwgU2FuZGJveEV4dGVuc2lvbjo6UmVhZFdyaXRlLCBwYXJhbWV0
ZXJzLm1lZGlhS2V5U3RvcmFnZURpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZSk7CiAKKyNpZiBQTEFU
Rk9STShJT1MpCisgICAgc2V0SmF2YVNjcmlwdENvbmZpZ3VyYXRpb25GaWxlRW5hYmxlZEZyb21E
ZWZhdWx0cygpOworI2VuZGlmCisKICAgICBpZiAoamF2YVNjcmlwdENvbmZpZ3VyYXRpb25GaWxl
RW5hYmxlZCgpKSB7CiAgICAgICAgIHBhcmFtZXRlcnMuamF2YVNjcmlwdENvbmZpZ3VyYXRpb25E
aXJlY3RvcnkgPSB3ZWJzaXRlRGF0YVN0b3JlID8gd2Vic2l0ZURhdGFTdG9yZS0+cmVzb2x2ZWRK
YXZhU2NyaXB0Q29uZmlndXJhdGlvbkRpcmVjdG9yeSgpIDogU3RyaW5nKCk7CiAgICAgICAgIGlm
ICghcGFyYW1ldGVycy5qYXZhU2NyaXB0Q29uZmlndXJhdGlvbkRpcmVjdG9yeS5pc0VtcHR5KCkp
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAkocmV2aXNp
b24gMjEzNjkwKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTI3OCw2ICsyNzgsMTAgQEAgcHVibGljOgogICAgIAogICAgIGJv
b2wgamF2YVNjcmlwdENvbmZpZ3VyYXRpb25GaWxlRW5hYmxlZCgpIHsgcmV0dXJuIG1famF2YVNj
cmlwdENvbmZpZ3VyYXRpb25GaWxlRW5hYmxlZDsgfQogICAgIHZvaWQgc2V0SmF2YVNjcmlwdENv
bmZpZ3VyYXRpb25GaWxlRW5hYmxlZChib29sIGZsYWcpOworI2lmIFBMQVRGT1JNKElPUykKKyAg
ICB2b2lkIHNldEphdmFTY3JpcHRDb25maWd1cmF0aW9uRmlsZUVuYWJsZWRGcm9tRGVmYXVsdHMo
KTsKKyNlbmRpZgorCiAgICAgdm9pZCBnYXJiYWdlQ29sbGVjdEphdmFTY3JpcHRPYmplY3RzKCk7
CiAgICAgdm9pZCBzZXRKYXZhU2NyaXB0R2FyYmFnZUNvbGxlY3RvclRpbWVyRW5hYmxlZChib29s
IGZsYWcpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQ
b29sQ29uZmlndXJhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uY3BwCShyZXZpc2lvbiAyMTM2OTAp
CisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJh
dGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgyLDcgKzgyLDcgQEAgUHJvY2Vzc1Bvb2xDb25m
aWd1cmF0aW9uOjpQcm9jZXNzUG9vbENvbgogICAgICwgbV9sb2NhbFN0b3JhZ2VEaXJlY3Rvcnko
V2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdExvY2FsU3RvcmFnZURpcmVjdG9yeSgpKQogICAgICwg
bV93ZWJTUUxEYXRhYmFzZURpcmVjdG9yeShXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0V2ViU1FM
RGF0YWJhc2VEaXJlY3RvcnkoKSkKICAgICAsIG1fbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeShX
ZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSgpKQotICAg
ICwgbV9qYXZhU2NyaXB0Q29uZmlndXJhdGlvbkRpcmVjdG9yeSgiIikKKyAgICAsIG1famF2YVNj
cmlwdENvbmZpZ3VyYXRpb25EaXJlY3RvcnkoV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdEphdmFT
Y3JpcHRDb25maWd1cmF0aW9uRGlyZWN0b3J5KCkpCiB7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZURhdGFTdG9yZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlRGF0YVN0b3JlLmNwcAkocmV2
aXNpb24gMjEzNjg4KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRl
RGF0YVN0b3JlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ5LDYgKzE0OSwxMiBAQCBTdHJpbmcg
V2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdE1lZGlhQ2FjCiAgICAgLy8gRklYTUU6IEltcGxlbWVu
dC4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NjM2OSBhbmQgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NjM3MAogICAgIHJldHVybiBT
dHJpbmcoKTsKIH0KKworU3RyaW5nIFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRKYXZhU2NyaXB0
Q29uZmlndXJhdGlvbkRpcmVjdG9yeSgpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudC4KKyAg
ICByZXR1cm4gU3RyaW5nKCk7Cit9CiAjZW5kaWYKIAogfQpJbmRleDogU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlRGF0YVN0b3JlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlRGF0YVN0b3JlLmgJKHJldmlzaW9uIDIx
MzY4OCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZURhdGFTdG9y
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02MCwxMiArNjAsMTYgQEAgcHVibGljOgogICAgIHN0YXRp
YyBTdHJpbmcgZGVmYXVsdFdlYlNRTERhdGFiYXNlRGlyZWN0b3J5KCk7CiAgICAgc3RhdGljIFN0
cmluZyBkZWZhdWx0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeSgpOwogCisgICAgc3Rh
dGljIFN0cmluZyBkZWZhdWx0SmF2YVNjcmlwdENvbmZpZ3VyYXRpb25EaXJlY3RvcnkoKTsKKwog
ICAgIHN0YXRpYyBXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6OkNvbmZpZ3VyYXRpb24gZGVmYXVs
dERhdGFTdG9yZUNvbmZpZ3VyYXRpb24oKTsKIAogcHJpdmF0ZToKKyAgICBlbnVtIFNob3VsZENy
ZWF0ZURpcmVjdG9yeSB7IENyZWF0ZURpcmVjdG9yeSwgRG9udENyZWF0ZURpcmVjdG9yeSB9Owor
CiAgICAgV2Vic2l0ZURhdGFTdG9yZSgpOwogCi0gICAgc3RhdGljIFN0cmluZyB0ZW1wRGlyZWN0
b3J5RmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5TmFtZSk7
CisgICAgc3RhdGljIFN0cmluZyB0ZW1wRGlyZWN0b3J5RmlsZVN5c3RlbVJlcHJlc2VudGF0aW9u
KGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5TmFtZSwgU2hvdWxkQ3JlYXRlRGlyZWN0b3J5IHNob3Vs
ZENyZWF0ZURpcmVjdG9yeSA9IENyZWF0ZURpcmVjdG9yeSk7CiAgICAgc3RhdGljIFN0cmluZyBj
YWNoZURpcmVjdG9yeUZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbihjb25zdCBTdHJpbmcmIGRpcmVj
dG9yeU5hbWUpOwogICAgIHN0YXRpYyBTdHJpbmcgd2Vic2l0ZURhdGFEaXJlY3RvcnlGaWxlU3lz
dGVtUmVwcmVzZW50YXRpb24oY29uc3QgU3RyaW5nJiBkaXJlY3RvcnlOYW1lKTsKIApJbmRleDog
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElXZWJzaXRlRGF0YVN0b3JlQ29j
b2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9B
UElXZWJzaXRlRGF0YVN0b3JlQ29jb2EubW0JKHJldmlzaW9uIDIxMzY4OCkKKysrIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC04Nyw3ICs4NywxMiBAQCBTdHJpbmcgV2Vic2l0ZURhdGFTdG9yZTo6
ZGVmYXVsdFJlc291cmNlCiAgICAgcmV0dXJuIHdlYnNpdGVEYXRhRGlyZWN0b3J5RmlsZVN5c3Rl
bVJlcHJlc2VudGF0aW9uKCJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzIik7CiB9CiAKLVN0cmluZyBX
ZWJzaXRlRGF0YVN0b3JlOjp0ZW1wRGlyZWN0b3J5RmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKGNv
bnN0IFN0cmluZyYgZGlyZWN0b3J5TmFtZSkKK1N0cmluZyBXZWJzaXRlRGF0YVN0b3JlOjpkZWZh
dWx0SmF2YVNjcmlwdENvbmZpZ3VyYXRpb25EaXJlY3RvcnkoKQoreworICAgIHJldHVybiB0ZW1w
RGlyZWN0b3J5RmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKCJKYXZhU2NyaXB0Q29yZURlYnVnIiwg
RG9udENyZWF0ZURpcmVjdG9yeSk7Cit9CisKK1N0cmluZyBXZWJzaXRlRGF0YVN0b3JlOjp0ZW1w
RGlyZWN0b3J5RmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5
TmFtZSwgU2hvdWxkQ3JlYXRlRGlyZWN0b3J5IHNob3VsZENyZWF0ZURpcmVjdG9yeSkKIHsKICAg
ICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2VUb2tlbjsKICAgICBzdGF0aWMgTlNVUkwgKnRl
bXBVUkw7CkBAIC0xMDgsNyArMTEzLDkgQEAgU3RyaW5nIFdlYnNpdGVEYXRhU3RvcmU6OnRlbXBE
aXJlY3RvcnlGaQogICAgIH0pOwogICAgIAogICAgIE5TVVJMICp1cmwgPSBbdGVtcFVSTCBVUkxC
eUFwcGVuZGluZ1BhdGhDb21wb25lbnQ6ZGlyZWN0b3J5TmFtZSBpc0RpcmVjdG9yeTpZRVNdOwot
ICAgIGlmICghW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBjcmVhdGVEaXJlY3RvcnlB
dFVSTDp1cmwgd2l0aEludGVybWVkaWF0ZURpcmVjdG9yaWVzOllFUyBhdHRyaWJ1dGVzOm5pbCBl
cnJvcjpudWxscHRyXSkKKworICAgIGlmIChzaG91bGRDcmVhdGVEaXJlY3RvcnkgPT0gQ3JlYXRl
RGlyZWN0b3J5CisgICAgICAgICYmICghW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBj
cmVhdGVEaXJlY3RvcnlBdFVSTDp1cmwgd2l0aEludGVybWVkaWF0ZURpcmVjdG9yaWVzOllFUyBh
dHRyaWJ1dGVzOm5pbCBlcnJvcjpudWxscHRyXSkpCiAgICAgICAgIExPR19FUlJPUigiRmFpbGVk
IHRvIGNyZWF0ZSBkaXJlY3RvcnkgJUAiLCB1cmwpOwogICAgIAogICAgIHJldHVybiB1cmwuYWJz
b2x1dGVVUkwucGF0aC5maWxlU3lzdGVtUmVwcmVzZW50YXRpb247CkBAIC0xODMsNiArMTkwLDgg
QEAgV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpDb25maWd1cmF0aW9uIAogICAgIGNvbmZpZ3Vy
YXRpb24ubG9jYWxTdG9yYWdlRGlyZWN0b3J5ID0gZGVmYXVsdExvY2FsU3RvcmFnZURpcmVjdG9y
eSgpOwogICAgIGNvbmZpZ3VyYXRpb24ubWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSA9IGRlZmF1
bHRNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KCk7CiAgICAgY29uZmlndXJhdGlvbi5yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5ID0gZGVmYXVsdFJlc291cmNlTG9hZFN0YXRpc3RpY3NE
aXJlY3RvcnkoKTsKKyAgICAKKyAgICBjb25maWd1cmF0aW9uLmphdmFTY3JpcHRDb25maWd1cmF0
aW9uRGlyZWN0b3J5ID0gZGVmYXVsdEphdmFTY3JpcHRDb25maWd1cmF0aW9uRGlyZWN0b3J5KCk7
CiAKICAgICByZXR1cm4gY29uZmlndXJhdGlvbjsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCShyZXZpc2lv
biAyMTM2OTApCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bv
b2xDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtNDkwLDYgKzQ5MCwxNSBAQCBTdHJpbmcgV2Vi
UHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmCiAjZW5kaWYKIH0KIAorI2lmIFBMQVRGT1JN
KElPUykKK3ZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnNldEphdmFTY3JpcHRDb25maWd1cmF0aW9uRmls
ZUVuYWJsZWRGcm9tRGVmYXVsdHMoKQoreworICAgIE5TVXNlckRlZmF1bHRzICpkZWZhdWx0cyA9
IFtOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c107CisKKyAgICBzZXRKYXZhU2Ny
aXB0Q29uZmlndXJhdGlvbkZpbGVFbmFibGVkKFtkZWZhdWx0cyBib29sRm9yS2V5OkAiV2ViS2l0
SmF2YVNjcmlwdENvcmVVc2VDb25maWdGaWxlIl0pOworfQorI2VuZGlmCisKIGJvb2wgV2ViUHJv
Y2Vzc1Bvb2w6OmlzTmV0d29ya0NhY2hlRW5hYmxlZCgpCiB7CiAjaWYgRU5BQkxFKE5FVFdPUktf
Q0FDSEUpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCShyZXZpc2lvbiAyMTM2ODgpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxNDgsNiArMzE0OCw4IEBAIHZv
aWQgV2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2UKICAgICBzZXR0aW5ncy5zZXRM
b2dzUGFnZU1lc3NhZ2VzVG9TeXN0ZW1Db25zb2xlRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVG
b3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmxvZ3NQYWdlTWVzc2FnZXNUb1N5c3RlbUNvbnNvbGVF
bmFibGVkS2V5KCkpKTsKICAgICBzZXR0aW5ncy5zZXRBc3luY2hyb25vdXNTcGVsbENoZWNraW5n
RW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmFzeW5j
aHJvbm91c1NwZWxsQ2hlY2tpbmdFbmFibGVkS2V5KCkpKTsKIAorICAgIHNldHRpbmdzLnNldEph
dmFTY3JpcHRDb3JlVXNlQ29uZmlndXJhdGlvbkZpbGVFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1
ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6amF2YVNjcmlwdENvcmVVc2VDb25maWd1cmF0aW9u
RmlsZUVuYWJsZWRLZXkoKSkpOworCiAgICAgc2V0dGluZ3Muc2V0U21hcnRJbnNlcnREZWxldGVF
bmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6c21hcnRJ
bnNlcnREZWxldGVFbmFibGVkS2V5KCkpKTsKICAgICBzZXR0aW5ncy5zZXRTZWxlY3RUcmFpbGlu
Z1doaXRlc3BhY2VFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNl
c0tleTo6c2VsZWN0VHJhaWxpbmdXaGl0ZXNwYWNlRW5hYmxlZEtleSgpKSk7CiAgICAgc2V0dGlu
Z3Muc2V0U2hvd3NVUkxzSW5Ub29sVGlwcyhzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJl
ZmVyZW5jZXNLZXk6OnNob3dzVVJMc0luVG9vbFRpcHNFbmFibGVkS2V5KCkpKTsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMzczMSkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDE3LTAzLTEwICBNaWNoYWVs
IFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBpT1MgcGx1bWJpbmcg
dG8gV2ViUHJvY2VzcyB0byBlbmFibGUgSmF2YVNjcmlwdENvcmUgY29uZmlndXJhdGlvbiBhbmQg
bG9nZ2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTY5NDg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgbmV3IHByZWZlcmVuY2Uga2V5IGZvciBlbmFibGluZyB0aGUgdXNlIG9mIGEgSmF2YVNj
cmlwdCBjb25maWd1cmF0aW9uIGZpbGUKKyAgICAgICAgaW4gaU9TIGJ1aWxkcy4KKworICAgICAg
ICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmll
dy9XZWJQcmVmZXJlbmNlcy5tbToKKyAgICAgICAgKCtbV2ViUHJlZmVyZW5jZXMgaW5pdGlhbGl6
ZV0pOgorCiAyMDE3LTAzLTEwICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgRml4IENNYWtlIGJ1aWxkLgpJbmRleDogU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCShyZXZpc2lv
biAyMTM2ODgpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlz
UHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC04OCw2ICs4OCw3IEBACiAjZGVmaW5lIFdlYktp
dEZvcmNlRlRQRGlyZWN0b3J5TGlzdGluZ3MgQCJXZWJLaXRGb3JjZUZUUERpcmVjdG9yeUxpc3Rp
bmdzIgogI2RlZmluZSBXZWJLaXREZXZlbG9wZXJFeHRyYXNFbmFibGVkUHJlZmVyZW5jZUtleSBA
IldlYktpdERldmVsb3BlckV4dHJhc0VuYWJsZWRQcmVmZXJlbmNlS2V5IgogI2RlZmluZSBXZWJL
aXRKYXZhU2NyaXB0UnVudGltZUZsYWdzUHJlZmVyZW5jZUtleSBAIldlYktpdEphdmFTY3JpcHRS
dW50aW1lRmxhZ3NQcmVmZXJlbmNlS2V5IgorI2RlZmluZSBXZWJLaXRKYXZhU2NyaXB0Q29yZVVz
ZUNvbmZpZ0ZpbGUgQCJXZWJLaXRKYXZhU2NyaXB0Q29yZVVzZUNvbmZpZ0ZpbGUiCiAjZGVmaW5l
IFdlYktpdEF1dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEF1
dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkUHJlZmVyZW5jZUtleSIKICNkZWZpbmUgV2ViS2l0RE9N
VGltZXJzVGhyb3R0bGluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0RE9NVGltZXJzVGhy
b3R0bGluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5IgogI2RlZmluZSBXZWJLaXRXZWJBcmNoaXZlRGVi
dWdNb2RlRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRXZWJBcmNoaXZlRGVidWdNb2RlRW5h
YmxlZFByZWZlcmVuY2VLZXkiCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlBy
ZWZlcmVuY2VzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW0JKHJldmlzaW9uIDIxMzY4OCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTQ0NSw2ICs0NDUsOSBA
QCArICh2b2lkKWluaXRpYWxpemUKICNlbHNlCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRo
Qm9vbDpZRVNdLCAgV2ViS2l0SmF2YVNjcmlwdENhbk9wZW5XaW5kb3dzQXV0b21hdGljYWxseVBy
ZWZlcmVuY2VLZXksCiAjZW5kaWYKKyNpZiBQTEFURk9STShJT1MpCisgICAgICAgIFtOU051bWJl
ciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0SmF2YVNjcmlwdENvcmVVc2VDb25maWdGaWxl
LAorI2VuZGlmCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdLCAgV2ViS2l0
UGx1Z2luc0VuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0
aEJvb2w6WUVTXSwgIFdlYktpdERhdGFiYXNlc0VuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAg
ICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwgIFdlYktpdEhUVFBFcXVpdkVuYWJsZWRQ
cmVmZXJlbmNlS2V5LAo=
</data>
<flag name="review"
          id="325673"
          type_id="1"
          status="-"
          setter="joepeck"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>304187</attachid>
            <date>2017-03-11 22:11:19 -0800</date>
            <delta_ts>2017-03-13 10:47:40 -0700</delta_ts>
            <desc>Updated patch addressing the issues of the initial patch.</desc>
            <filename>169489-2.patch</filename>
            <type>text/plain</type>
            <size>8301</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMzczMikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDE3LTAzLTEwICBNaWNoYWVs
IFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBpT1MgcGx1bWJpbmcg
dG8gV2ViUHJvY2VzcyB0byBlbmFibGUgSmF2YVNjcmlwdENvcmUgY29uZmlndXJhdGlvbiBhbmQg
bG9nZ2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTY5NDg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgbmV3IHByZWZlcmVuY2UgZm9yIGVuYWJsaW5nIHRoZSB1c2Ugb2YgYSBKYXZhU2NyaXB0
IGNvbmZpZ3VyYXRpb24gZmlsZQorICAgICAgICBpbiBpT1MgYnVpbGRzLiAgVGhlIHByZWZlcmVu
Y2UgaXMgdXNlZCB0byBlbmFibGUgdGhlIHByb2Nlc3Npbmcgb2YgdGhlCisgICAgICAgIGNvbmZp
Z3VyYXRpb24gZmlsZS4KKworICAgICAgICAoQVBJOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb246
OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElX
ZWJzaXRlRGF0YVN0b3JlLmNwcDoKKyAgICAgICAgKEFQSTo6V2Vic2l0ZURhdGFTdG9yZTo6ZGVm
YXVsdEphdmFTY3JpcHRDb25maWd1cmF0aW9uRGlyZWN0b3J5KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0FQSVdlYnNpdGVEYXRhU3RvcmUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Nv
Y29hL0FQSVdlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbToKKyAgICAgICAgKEFQSTo6V2Vic2l0ZURh
dGFTdG9yZTo6ZGVmYXVsdEphdmFTY3JpcHRDb25maWd1cmF0aW9uRGlyZWN0b3J5KToKKyAgICAg
ICAgKEFQSTo6V2Vic2l0ZURhdGFTdG9yZTo6dGVtcERpcmVjdG9yeUZpbGVTeXN0ZW1SZXByZXNl
bnRhdGlvbik6CisgICAgICAgIChBUEk6OldlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHREYXRhU3Rv
cmVDb25maWd1cmF0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bv
b2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnNldEphdmFTY3Jp
cHRDb25maWd1cmF0aW9uRmlsZUVuYWJsZWRGcm9tRGVmYXVsdHMpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29s
OjpjcmVhdGVOZXdXZWJQcm9jZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bv
b2wuaDoKKwogMjAxNy0wMy0xMCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4K
IAogICAgICAgICBbV2ViUlRDXVtXSzJdW2lPU10gU3VwcG9ydCBjb20uYXBwbGUuY29yZW1lZGlh
LmNvbXByZXNzaW9uc2Vzc2lvbiBmb3IgbW9yZSBXZWJSVEMgQ2FzZXMKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAkocmV2aXNpb24gMjEzNjkwKQor
KysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNTk5LDYgKzU5OSwxMCBAQCBXZWJQcm9jZXNzUHJveHkmIFdlYlByb2Nlc3NQb29s
OjpjcmVhdGVOCiAgICAgaWYgKCFwYXJhbWV0ZXJzLm1lZGlhS2V5U3RvcmFnZURpcmVjdG9yeS5p
c0VtcHR5KCkpCiAgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZVdpdGhvdXRS
ZXNvbHZpbmdQYXRoKHBhcmFtZXRlcnMubWVkaWFLZXlTdG9yYWdlRGlyZWN0b3J5LCBTYW5kYm94
RXh0ZW5zaW9uOjpSZWFkV3JpdGUsIHBhcmFtZXRlcnMubWVkaWFLZXlTdG9yYWdlRGlyZWN0b3J5
RXh0ZW5zaW9uSGFuZGxlKTsKIAorI2lmIFBMQVRGT1JNKElPUykKKyAgICBzZXRKYXZhU2NyaXB0
Q29uZmlndXJhdGlvbkZpbGVFbmFibGVkRnJvbURlZmF1bHRzKCk7CisjZW5kaWYKKwogICAgIGlm
IChqYXZhU2NyaXB0Q29uZmlndXJhdGlvbkZpbGVFbmFibGVkKCkpIHsKICAgICAgICAgcGFyYW1l
dGVycy5qYXZhU2NyaXB0Q29uZmlndXJhdGlvbkRpcmVjdG9yeSA9IHdlYnNpdGVEYXRhU3RvcmUg
PyB3ZWJzaXRlRGF0YVN0b3JlLT5yZXNvbHZlZEphdmFTY3JpcHRDb25maWd1cmF0aW9uRGlyZWN0
b3J5KCkgOiBTdHJpbmcoKTsKICAgICAgICAgaWYgKCFwYXJhbWV0ZXJzLmphdmFTY3JpcHRDb25m
aWd1cmF0aW9uRGlyZWN0b3J5LmlzRW1wdHkoKSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5oCShyZXZpc2lvbiAyMTM2OTApCisrKyBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAkod29ya2luZyBjb3B5KQpAQCAtMjc4LDYgKzI3
OCwxMCBAQCBwdWJsaWM6CiAgICAgCiAgICAgYm9vbCBqYXZhU2NyaXB0Q29uZmlndXJhdGlvbkZp
bGVFbmFibGVkKCkgeyByZXR1cm4gbV9qYXZhU2NyaXB0Q29uZmlndXJhdGlvbkZpbGVFbmFibGVk
OyB9CiAgICAgdm9pZCBzZXRKYXZhU2NyaXB0Q29uZmlndXJhdGlvbkZpbGVFbmFibGVkKGJvb2wg
ZmxhZyk7CisjaWYgUExBVEZPUk0oSU9TKQorICAgIHZvaWQgc2V0SmF2YVNjcmlwdENvbmZpZ3Vy
YXRpb25GaWxlRW5hYmxlZEZyb21EZWZhdWx0cygpOworI2VuZGlmCisKICAgICB2b2lkIGdhcmJh
Z2VDb2xsZWN0SmF2YVNjcmlwdE9iamVjdHMoKTsKICAgICB2b2lkIHNldEphdmFTY3JpcHRHYXJi
YWdlQ29sbGVjdG9yVGltZXJFbmFibGVkKGJvb2wgZmxhZyk7CiAKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmln
dXJhdGlvbi5jcHAJKHJldmlzaW9uIDIxMzY5MCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
ODIsNyArODIsNyBAQCBQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb246OlByb2Nlc3NQb29sQ29uCiAg
ICAgLCBtX2xvY2FsU3RvcmFnZURpcmVjdG9yeShXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TG9j
YWxTdG9yYWdlRGlyZWN0b3J5KCkpCiAgICAgLCBtX3dlYlNRTERhdGFiYXNlRGlyZWN0b3J5KFdl
YnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRXZWJTUUxEYXRhYmFzZURpcmVjdG9yeSgpKQogICAgICwg
bV9tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRNZWRp
YUtleXNTdG9yYWdlRGlyZWN0b3J5KCkpCi0gICAgLCBtX2phdmFTY3JpcHRDb25maWd1cmF0aW9u
RGlyZWN0b3J5KCIiKQorICAgICwgbV9qYXZhU2NyaXB0Q29uZmlndXJhdGlvbkRpcmVjdG9yeShX
ZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0SmF2YVNjcmlwdENvbmZpZ3VyYXRpb25EaXJlY3Rvcnko
KSkKIHsKIH0KIApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRl
RGF0YVN0b3JlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0FQSVdlYnNpdGVEYXRhU3RvcmUuY3BwCShyZXZpc2lvbiAyMTM2ODgpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVEYXRhU3RvcmUuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xNDksNiArMTQ5LDEyIEBAIFN0cmluZyBXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TWVk
aWFDYWMKICAgICAvLyBGSVhNRTogSW1wbGVtZW50LiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTU2MzY5IGFuZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTU2MzcwCiAgICAgcmV0dXJuIFN0cmluZygpOwogfQorCitTdHJpbmcgV2Vic2l0
ZURhdGFTdG9yZTo6ZGVmYXVsdEphdmFTY3JpcHRDb25maWd1cmF0aW9uRGlyZWN0b3J5KCkKK3sK
KyAgICAvLyBGSVhNRTogSW1wbGVtZW50LgorICAgIHJldHVybiBTdHJpbmcoKTsKK30KICNlbmRp
ZgogCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVEYXRh
U3RvcmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVdl
YnNpdGVEYXRhU3RvcmUuaAkocmV2aXNpb24gMjEzNjg4KQorKysgU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9BUElXZWJzaXRlRGF0YVN0b3JlLmgJKHdvcmtpbmcgY29weSkKQEAgLTYwLDEy
ICs2MCwxNiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFN0cmluZyBkZWZhdWx0V2ViU1FMRGF0YWJh
c2VEaXJlY3RvcnkoKTsKICAgICBzdGF0aWMgU3RyaW5nIGRlZmF1bHRSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRGlyZWN0b3J5KCk7CiAKKyAgICBzdGF0aWMgU3RyaW5nIGRlZmF1bHRKYXZhU2NyaXB0
Q29uZmlndXJhdGlvbkRpcmVjdG9yeSgpOworCiAgICAgc3RhdGljIFdlYktpdDo6V2Vic2l0ZURh
dGFTdG9yZTo6Q29uZmlndXJhdGlvbiBkZWZhdWx0RGF0YVN0b3JlQ29uZmlndXJhdGlvbigpOwog
CiBwcml2YXRlOgorICAgIGVudW0gU2hvdWxkQ3JlYXRlRGlyZWN0b3J5IHsgQ3JlYXRlRGlyZWN0
b3J5LCBEb250Q3JlYXRlRGlyZWN0b3J5IH07CisKICAgICBXZWJzaXRlRGF0YVN0b3JlKCk7CiAK
LSAgICBzdGF0aWMgU3RyaW5nIHRlbXBEaXJlY3RvcnlGaWxlU3lzdGVtUmVwcmVzZW50YXRpb24o
Y29uc3QgU3RyaW5nJiBkaXJlY3RvcnlOYW1lKTsKKyAgICBzdGF0aWMgU3RyaW5nIHRlbXBEaXJl
Y3RvcnlGaWxlU3lzdGVtUmVwcmVzZW50YXRpb24oY29uc3QgU3RyaW5nJiBkaXJlY3RvcnlOYW1l
LCBTaG91bGRDcmVhdGVEaXJlY3Rvcnkgc2hvdWxkQ3JlYXRlRGlyZWN0b3J5ID0gQ3JlYXRlRGly
ZWN0b3J5KTsKICAgICBzdGF0aWMgU3RyaW5nIGNhY2hlRGlyZWN0b3J5RmlsZVN5c3RlbVJlcHJl
c2VudGF0aW9uKGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5TmFtZSk7CiAgICAgc3RhdGljIFN0cmlu
ZyB3ZWJzaXRlRGF0YURpcmVjdG9yeUZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbihjb25zdCBTdHJp
bmcmIGRpcmVjdG9yeU5hbWUpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0NvY29hL0FQSVdlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL0FQSVdlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbQko
cmV2aXNpb24gMjEzNjg4KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9B
UElXZWJzaXRlRGF0YVN0b3JlQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTg3LDcgKzg3LDEy
IEBAIFN0cmluZyBXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0UmVzb3VyY2UKICAgICByZXR1cm4g
d2Vic2l0ZURhdGFEaXJlY3RvcnlGaWxlU3lzdGVtUmVwcmVzZW50YXRpb24oIlJlc291cmNlTG9h
ZFN0YXRpc3RpY3MiKTsKIH0KIAotU3RyaW5nIFdlYnNpdGVEYXRhU3RvcmU6OnRlbXBEaXJlY3Rv
cnlGaWxlU3lzdGVtUmVwcmVzZW50YXRpb24oY29uc3QgU3RyaW5nJiBkaXJlY3RvcnlOYW1lKQor
U3RyaW5nIFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRKYXZhU2NyaXB0Q29uZmlndXJhdGlvbkRp
cmVjdG9yeSgpCit7CisgICAgcmV0dXJuIHRlbXBEaXJlY3RvcnlGaWxlU3lzdGVtUmVwcmVzZW50
YXRpb24oIkphdmFTY3JpcHRDb3JlRGVidWciLCBEb250Q3JlYXRlRGlyZWN0b3J5KTsKK30KKwor
U3RyaW5nIFdlYnNpdGVEYXRhU3RvcmU6OnRlbXBEaXJlY3RvcnlGaWxlU3lzdGVtUmVwcmVzZW50
YXRpb24oY29uc3QgU3RyaW5nJiBkaXJlY3RvcnlOYW1lLCBTaG91bGRDcmVhdGVEaXJlY3Rvcnkg
c2hvdWxkQ3JlYXRlRGlyZWN0b3J5KQogewogICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qgb25j
ZVRva2VuOwogICAgIHN0YXRpYyBOU1VSTCAqdGVtcFVSTDsKQEAgLTEwOCw3ICsxMTMsOSBAQCBT
dHJpbmcgV2Vic2l0ZURhdGFTdG9yZTo6dGVtcERpcmVjdG9yeUZpCiAgICAgfSk7CiAgICAgCiAg
ICAgTlNVUkwgKnVybCA9IFt0ZW1wVVJMIFVSTEJ5QXBwZW5kaW5nUGF0aENvbXBvbmVudDpkaXJl
Y3RvcnlOYW1lIGlzRGlyZWN0b3J5OllFU107Ci0gICAgaWYgKCFbW05TRmlsZU1hbmFnZXIgZGVm
YXVsdE1hbmFnZXJdIGNyZWF0ZURpcmVjdG9yeUF0VVJMOnVybCB3aXRoSW50ZXJtZWRpYXRlRGly
ZWN0b3JpZXM6WUVTIGF0dHJpYnV0ZXM6bmlsIGVycm9yOm51bGxwdHJdKQorCisgICAgaWYgKHNo
b3VsZENyZWF0ZURpcmVjdG9yeSA9PSBDcmVhdGVEaXJlY3RvcnkKKyAgICAgICAgJiYgKCFbW05T
RmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGNyZWF0ZURpcmVjdG9yeUF0VVJMOnVybCB3aXRo
SW50ZXJtZWRpYXRlRGlyZWN0b3JpZXM6WUVTIGF0dHJpYnV0ZXM6bmlsIGVycm9yOm51bGxwdHJd
KSkKICAgICAgICAgTE9HX0VSUk9SKCJGYWlsZWQgdG8gY3JlYXRlIGRpcmVjdG9yeSAlQCIsIHVy
bCk7CiAgICAgCiAgICAgcmV0dXJuIHVybC5hYnNvbHV0ZVVSTC5wYXRoLmZpbGVTeXN0ZW1SZXBy
ZXNlbnRhdGlvbjsKQEAgLTE4Myw2ICsxOTAsOCBAQCBXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6
OkNvbmZpZ3VyYXRpb24gCiAgICAgY29uZmlndXJhdGlvbi5sb2NhbFN0b3JhZ2VEaXJlY3Rvcnkg
PSBkZWZhdWx0TG9jYWxTdG9yYWdlRGlyZWN0b3J5KCk7CiAgICAgY29uZmlndXJhdGlvbi5tZWRp
YUtleXNTdG9yYWdlRGlyZWN0b3J5ID0gZGVmYXVsdE1lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnko
KTsKICAgICBjb25maWd1cmF0aW9uLnJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkgPSBk
ZWZhdWx0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeSgpOworICAgIAorICAgIGNvbmZp
Z3VyYXRpb24uamF2YVNjcmlwdENvbmZpZ3VyYXRpb25EaXJlY3RvcnkgPSBkZWZhdWx0SmF2YVNj
cmlwdENvbmZpZ3VyYXRpb25EaXJlY3RvcnkoKTsKIAogICAgIHJldHVybiBjb25maWd1cmF0aW9u
OwogfQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29s
Q29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dl
YlByb2Nlc3NQb29sQ29jb2EubW0JKHJldmlzaW9uIDIxMzY5MCkKKysrIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC00OTAsNiArNDkwLDE1IEBAIFN0cmluZyBXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1E
ZWYKICNlbmRpZgogfQogCisjaWYgUExBVEZPUk0oSU9TKQordm9pZCBXZWJQcm9jZXNzUG9vbDo6
c2V0SmF2YVNjcmlwdENvbmZpZ3VyYXRpb25GaWxlRW5hYmxlZEZyb21EZWZhdWx0cygpCit7Cisg
ICAgTlNVc2VyRGVmYXVsdHMgKmRlZmF1bHRzID0gW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNl
ckRlZmF1bHRzXTsKKworICAgIHNldEphdmFTY3JpcHRDb25maWd1cmF0aW9uRmlsZUVuYWJsZWQo
W2RlZmF1bHRzIGJvb2xGb3JLZXk6QCJXZWJLaXRKYXZhU2NyaXB0Q29yZVVzZUNvbmZpZ0ZpbGUi
XSk7Cit9CisjZW5kaWYKKwogYm9vbCBXZWJQcm9jZXNzUG9vbDo6aXNOZXR3b3JrQ2FjaGVFbmFi
bGVkKCkKIHsKICNpZiBFTkFCTEUoTkVUV09SS19DQUNIRSkK
</data>
<flag name="review"
          id="325751"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>