<?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>91302</bug_id>
          
          <creation_ts>2012-07-13 17:29:33 -0700</creation_ts>
          <short_desc>[Mac] Do not try to update the cache model for every WebPreferences change</short_desc>
          <delta_ts>2012-07-14 17:28:36 -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>WebKit Misc.</component>
          <version>528+ (Nightly build)</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>
          <dependson>91321</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>joepeck</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>669618</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-07-13 17:29:33 -0700</bug_when>
    <thetext>Try lazier updates.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669628</commentid>
    <comment_count>1</comment_count>
      <attachid>152385</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-07-13 17:42:05 -0700</bug_when>
    <thetext>Created attachment 152385
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669666</commentid>
    <comment_count>2</comment_count>
      <attachid>152398</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-07-13 18:52:56 -0700</bug_when>
    <thetext>Created attachment 152398
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669672</commentid>
    <comment_count>3</comment_count>
      <attachid>152398</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2012-07-13 19:08:58 -0700</bug_when>
    <thetext>Comment on attachment 152398
Patch

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

&gt; Tools/TestWebKitAPI/Tests/mac/SetAndUpdateCacheModel.mm:63
&gt; +    // On change, the cache model always take the highest value of any preference bound to a WebView.

The implementation of _cacheModelChangedNotification will take a higher cache model even if the WebPreferences object that is changing is not bound to a WebView. Weird, but that is legacy behavior. You could update this comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669785</commentid>
    <comment_count>4</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-07-14 02:03:36 -0700</bug_when>
    <thetext>Committed r122665: &lt;http://trac.webkit.org/changeset/122665&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669795</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-07-14 03:02:53 -0700</bug_when>
    <thetext>This patch broke builds:

/Volumes/Data/slave/snowleopard-release/build/WebKitBuild/WebKit.build/Release/WebKit.build/Objects-normal/x86_64/WebPreferences.o
/Volumes/Data/slave/snowleopard-release/build/Source/WebKit/mac/WebView/WebPreferences.mm:226:5:{226:5-226:46}: error: instance method &apos;-_postCacheModelChangedNotification&apos; not found (return type defaults to &apos;id&apos;) [-Werror,3]
     [self _postCacheModelChangedNotification];
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669799</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-07-14 03:48:15 -0700</bug_when>
    <thetext>Sorry but I&apos;m rolling out this patch since I don&apos;t know how to fix this build failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669802</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-14 03:49:06 -0700</bug_when>
    <thetext>Re-opened since this is blocked by 91321</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669855</commentid>
    <comment_count>8</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2012-07-14 12:11:16 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; This patch broke builds:
&gt; 
&gt; /Volumes/Data/slave/snowleopard-release/build/WebKitBuild/WebKit.build/Release/WebKit.build/Objects-normal/x86_64/WebPreferences.o
&gt; /Volumes/Data/slave/snowleopard-release/build/Source/WebKit/mac/WebView/WebPreferences.mm:226:5:{226:5-226:46}: error: instance method &apos;-_postCacheModelChangedNotification&apos; not found (return type defaults to &apos;id&apos;) [-Werror,3]
&gt;      [self _postCacheModelChangedNotification];
&gt;      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
&gt; 1 error generated.

My guess is to fix this issue you probably just need to reorder (or forward declare) the method. WebPreferences.mm:226 calls the method which is defined later in the file. Newer compilers just get this right, but in older compilers the order matters.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669865</commentid>
    <comment_count>9</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-07-14 14:06:54 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Sorry but I&apos;m rolling out this patch since I don&apos;t know how to fix this build failure.

Thank you for reverting. I went to bed before the bots went red.

(In reply to comment #8)
&gt; My guess is to fix this issue you probably just need to reorder (or forward declare) the method. WebPreferences.mm:226 calls the method which is defined later in the file. Newer compilers just get this right, but in older compilers the order matters.

Yep, that is why that worked locally.
I&apos;ll fix that...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669878</commentid>
    <comment_count>10</comment_count>
      <attachid>152435</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-07-14 15:08:33 -0700</bug_when>
    <thetext>Created attachment 152435
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669886</commentid>
    <comment_count>11</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-07-14 16:31:22 -0700</bug_when>
    <thetext>Committed r122675: &lt;http://trac.webkit.org/changeset/122675&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669894</commentid>
    <comment_count>12</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-07-14 17:28:36 -0700</bug_when>
    <thetext>&lt;rdar://problem/11872809&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152385</attachid>
            <date>2012-07-13 17:42:05 -0700</date>
            <delta_ts>2012-07-13 18:52:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91302-20120713174204.patch</filename>
            <type>text/plain</type>
            <size>15424</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyNjI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNzlkOTczY2Yw
N2MxMDEwY2M2YzJiMWEyMzg4ZWY5NDZhZTJiYWI5OS4uNTk3ODc5ZTMxMTE4ZTFmNTRhNWVmMDM4
ZmEzYjRmNDcxNDQ4YmFjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEy
LTA3LTEzICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAg
IFtNYWNdIERvIG5vdCB0cnkgdG8gdXBkYXRlIHRoZSBjYWNoZSBtb2RlbCBmb3IgZXZlcnkgV2Vi
UHJlZmVyZW5jZXMgY2hhbmdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05MTMwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFdlYlZpZXcgd2FzIGxpc3RlbmluZyB0byBhbnkgY2hhbmdlIG9uIGFueSBXZWJQ
cmVmZXJlbmNlcyBpbiBvcmRlciB0byB1cGRhdGUgdGhlIGNhY2hlIG1vZGVsLiBUaGlzIGlzIHVu
bmVlZGVkIGluIG1vc3QgY2FzZXMsCisgICAgICAgIHdlIGNhbiBqdXN0IGxpc3RlbiB0byB1cGRh
dGVzIG9mIHRoZSBDYWNoZU1vZGVsIHByb3BlcnR5LgorCisgICAgICAgICogV2ViVmlldy9XZWJQ
cmVmZXJlbmNlcy5tbToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgaW5pdFdpdGhJZGVudGlm
aWVyOl0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBfcG9zdENhY2hlTW9kZWxDaGFuZ2Vk
Tm90aWZpY2F0aW9uXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHNldENhY2hlTW9kZWw6
XSk6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAg
KiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgrW1dlYlZpZXcgaW5pdGlhbGl6ZV0pOgor
ICAgICAgICAoK1tXZWJWaWV3IF9jYWNoZU1vZGVsQ2hhbmdlZE5vdGlmaWNhdGlvbjpdKToKKwog
MjAxMi0wNy0xMSAgTWFyayBSb3dlICA8bXJvd2VAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBh
IGxvZ2ljIGVycm9yIGluIHRoZSAjaWYgc28gdGhhdCB0aGUgY29ycmVjdCBjb2RlIGlzIGNvbXBp
bGVkIG9uIFNub3cgTGVvcGFyZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZXMubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VzLm1tCmluZGV4IDdlYjJmOWFmYzc3NjdlMDY1NDIzMDNjNjg2ZmJkZWVkMmEwZjkzY2Iu
LmI3YzMyYjcxYmNlNDNhMmE0ZDI2OGNhYWY4MjFhMTdjNjQzMmZhMTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQpAQCAtNDcsNiArNDcsNyBAQCB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc0NoYW5nZWROb3Rp
ZmljYXRpb24gPSBAIldlYlByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbiI7CiBOU1N0cmlu
ZyAqV2ViUHJlZmVyZW5jZXNSZW1vdmVkTm90aWZpY2F0aW9uID0gQCJXZWJQcmVmZXJlbmNlc1Jl
bW92ZWROb3RpZmljYXRpb24iOwogTlNTdHJpbmcgKldlYlByZWZlcmVuY2VzQ2hhbmdlZEludGVy
bmFsTm90aWZpY2F0aW9uID0gQCJXZWJQcmVmZXJlbmNlc0NoYW5nZWRJbnRlcm5hbE5vdGlmaWNh
dGlvbiI7CitOU1N0cmluZyAqV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsQ2hhbmdlZEludGVybmFs
Tm90aWZpY2F0aW9uID0gQCJXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxDaGFuZ2VkSW50ZXJuYWxO
b3RpZmljYXRpb24iOwogCiAjZGVmaW5lIEtFWSh4KSAoX3ByaXZhdGUtPmlkZW50aWZpZXIgPyBb
X3ByaXZhdGUtPmlkZW50aWZpZXIgc3RyaW5nQnlBcHBlbmRpbmdTdHJpbmc6KHgpXSA6ICh4KSkK
IApAQCAtMjIyLDYgKzIyMyw3IEBAIHN0YXRpYyBXZWJDYWNoZU1vZGVsIGNhY2hlTW9kZWxGb3JN
YWluQnVuZGxlKHZvaWQpCiAgICAgW1tzZWxmIGNsYXNzXSBfc2V0SW5zdGFuY2U6c2VsZiBmb3JJ
ZGVudGlmaWVyOl9wcml2YXRlLT5pZGVudGlmaWVyXTsKIAogICAgIFtzZWxmIF9wb3N0UHJlZmVy
ZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uXTsKKyAgICBbc2VsZiBfcG9zdENhY2hlTW9kZWxDaGFu
Z2VkTm90aWZpY2F0aW9uXTsKIAogICAgIHJldHVybiBzZWxmOwogfQpAQCAtODAyLDEwICs4MDQs
MjEgQEAgc3RhdGljIFdlYkNhY2hlTW9kZWwgY2FjaGVNb2RlbEZvck1haW5CdW5kbGUodm9pZCkK
ICAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRVc2VzUGFnZUNhY2hlUHJl
ZmVyZW5jZUtleV07CiB9CiAKKy0gKHZvaWQpX3Bvc3RDYWNoZU1vZGVsQ2hhbmdlZE5vdGlmaWNh
dGlvbgoreworICAgIGlmICghcHRocmVhZF9tYWluX25wKCkpIHsKKyAgICAgICAgW3NlbGYgcGVy
Zm9ybVNlbGVjdG9yT25NYWluVGhyZWFkOl9jbWQgd2l0aE9iamVjdDpuaWwgd2FpdFVudGlsRG9u
ZTpOT107CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBbW05TTm90aWZpY2F0aW9uQ2Vu
dGVyIGRlZmF1bHRDZW50ZXJdIHBvc3ROb3RpZmljYXRpb25OYW1lOldlYlByZWZlcmVuY2VzQ2Fj
aGVNb2RlbENoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbiBvYmplY3Q6c2VsZiB1c2VySW5mbzpu
aWxdOworfQorCiAtICh2b2lkKXNldENhY2hlTW9kZWw6KFdlYkNhY2hlTW9kZWwpY2FjaGVNb2Rl
bAogewogICAgIFtzZWxmIF9zZXRJbnRlZ2VyVmFsdWU6Y2FjaGVNb2RlbCBmb3JLZXk6V2ViS2l0
Q2FjaGVNb2RlbFByZWZlcmVuY2VLZXldOwogICAgIFtzZWxmIHNldEF1dG9tYXRpY2FsbHlEZXRl
Y3RzQ2FjaGVNb2RlbDpOT107CisgICAgW3NlbGYgX3Bvc3RDYWNoZU1vZGVsQ2hhbmdlZE5vdGlm
aWNhdGlvbl07CiB9CiAKIC0gKFdlYkNhY2hlTW9kZWwpY2FjaGVNb2RlbApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggN2U4NTNm
YTQ0MTg2ODEzMWEwYjE5NWY3ZjgyMmFjNDFkMjE4ZTk3Zi4uNWRiODVjZjU1MWZkNmRkNzdjODli
MThkNzBhMWVhYWFhMjc5ZDhiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC00Niw2ICs0Niw3IEBAIHR5cGVkZWYgZW51bSB7
CiBleHRlcm4gTlNTdHJpbmcgKldlYlByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbjsKIGV4
dGVybiBOU1N0cmluZyAqV2ViUHJlZmVyZW5jZXNSZW1vdmVkTm90aWZpY2F0aW9uOwogZXh0ZXJu
IE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc0NoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbjsKK2V4
dGVybiBOU1N0cmluZyAqV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsQ2hhbmdlZEludGVybmFsTm90
aWZpY2F0aW9uOwogCiBAaW50ZXJmYWNlIFdlYlByZWZlcmVuY2VzIChXZWJQcml2YXRlKQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggZWVhMWU0YjdhYTljMWRiNzY5OGIw
YTNmZGEzOTYxYmIwNWQ3NDk3Yy4uNDUxMWY5NGJjYTE2OGJmZTJiNGFjZDQ2MzFjNjg4M2I3NDM3
NDNkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMzA0MCw3ICszMDQw
LDcgQEAgc3RhdGljIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiB0b1N0cmluZ1ZlY3RvcihO
U0FycmF5KiBwYXR0ZXJucykKICAgICBXZWJDb3JlOjpSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1
bkxvb3AoKTsKIAogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRk
T2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX2FwcGxpY2F0aW9uV2lsbFRlcm1pbmF0
ZSkgbmFtZTpOU0FwcGxpY2F0aW9uV2lsbFRlcm1pbmF0ZU5vdGlmaWNhdGlvbiBvYmplY3Q6TlNB
cHBdOwotICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2
ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3ByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlv
bjopIG5hbWU6V2ViUHJlZmVyZW5jZXNDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb24gb2JqZWN0
Om5pbF07CisgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNl
cnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihfY2FjaGVNb2RlbENoYW5nZWROb3RpZmljYXRp
b246KSBuYW1lOldlYlByZWZlcmVuY2VzQ2hhbmdlZEludGVybmFsTm90aWZpY2F0aW9uIG9iamVj
dDpuaWxdOwogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2Jz
ZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3ByZWZlcmVuY2VzUmVtb3ZlZE5vdGlmaWNh
dGlvbjopIG5hbWU6V2ViUHJlZmVyZW5jZXNSZW1vdmVkTm90aWZpY2F0aW9uIG9iamVjdDpuaWxd
OyAgICAKIAogICAgIGNvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCA9IFtbTlNVc2VyRGVm
YXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIGJvb2xGb3JLZXk6V2ViQ29udGludW91c1NwZWxs
Q2hlY2tpbmdFbmFibGVkXTsKQEAgLTU5MTMsNyArNTkxMyw3IEBAIHN0YXRpYyBpbmxpbmUgdWlu
dDY0X3Qgcm91bmRVcFRvUG93ZXJPZjIodWludDY0X3QgbnVtKQogICAgIHJldHVybiBjYWNoZU1v
ZGVsOwogfQogCi0rICh2b2lkKV9wcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb246KE5TTm90
aWZpY2F0aW9uICopbm90aWZpY2F0aW9uCisrICh2b2lkKV9jYWNoZU1vZGVsQ2hhbmdlZE5vdGlm
aWNhdGlvbjooTlNOb3RpZmljYXRpb24gKilub3RpZmljYXRpb24KIHsKICAgICBXZWJQcmVmZXJl
bmNlcyAqcHJlZmVyZW5jZXMgPSAoV2ViUHJlZmVyZW5jZXMgKilbbm90aWZpY2F0aW9uIG9iamVj
dF07CiAgICAgQVNTRVJUKFtwcmVmZXJlbmNlcyBpc0tpbmRPZkNsYXNzOltXZWJQcmVmZXJlbmNl
cyBjbGFzc11dKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxv
ZwppbmRleCA0MjMwYzdkMDMyZGE0MmVkMWFlM2VlNGI2ZGQ3MDYxNzg2ZDdkZTZjLi4yMDQ1OGMx
YjY4OWRjZDE4MTYxNjYwZWI4MjQ3ODMxZGRjYjc4ZDQxIDEwMDY0NAotLS0gYS9Ub29scy9DaGFu
Z2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDctMTMg
IEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CisKKyAgICAgICAgW01hY10g
RG8gbm90IHRyeSB0byB1cGRhdGUgdGhlIGNhY2hlIG1vZGVsIGZvciBldmVyeSBXZWJQcmVmZXJl
bmNlcyBjaGFuZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTkxMzAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9TZXRBbmRVcGRhdGVDYWNoZU1v
ZGVsLm1tOiBBZGRlZC4KKyAgICAgICAgKFRlc3RXZWJLaXRBUEkpOgorICAgICAgICAoVGVzdFdl
YktpdEFQSTo6VEVTVCk6CisKIDIwMTItMDctMTMgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0
Lm9yZz4KIAogICAgICAgICBFV1NUb29scyBzaG91bGQgYmUgYWJsZSB0byBidWlsZCBhIGNvbW1p
dC1xdWV1ZSBpbnN0YW5jZSBmcm9tIHNjcmF0Y2gKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
ZjVmZjgwNDE4NzkzODg4MjMyZjYzM2NlMjUwY2Y1NDk3MmYwZmJmYi4uNTFiZDJkYTc2ZGZlOTdi
YTIyMjQzYTlkMTRlMWNlOWNmNzQ0N2ZjOCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE5
LDYgKzE5LDcgQEAKIAkJMUFEQkVGQUUxMzBDNjg5QzAwRDYxRDE5IC8qIEZvcmNlUmVwYWludC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQURCRUZB
RDEzMEM2ODlDMDBENjFEMTkgLyogRm9yY2VSZXBhaW50LmNwcCAqLzsgfTsKIAkJMUFEQkVGRTMx
MzBDNkFBMTAwRDYxRDE5IC8qIHNpbXBsZS1hY2NlbGVyYXRlZC1jb21wb3NpdGluZy5odG1sIGlu
IENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBREJF
RkJDMTMwQzZBMDEwMEQ2MUQxOSAvKiBzaW1wbGUtYWNjZWxlcmF0ZWQtY29tcG9zaXRpbmcuaHRt
bCAqLzsgfTsKIAkJMUFFREUyMjYxM0U1RTdFNzAwRTYyRkU4IC8qIEluamVjdGVkQnVuZGxlQ29u
dHJvbGxlck1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBRURFMjI0MTNFNUU3QTAwMEU2MkZFOCAvKiBJbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXJN
YWMubW0gKi87IH07CisJCTI2MTUxNkQ2MTVCMEU2MDUwMEEyQzIwMSAvKiBTZXRBbmRVcGRhdGVD
YWNoZU1vZGVsLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMjYxNTE2RDUxNUIwRTYwNTAwQTJDMjAxIC8qIFNldEFuZFVwZGF0ZUNhY2hlTW9kZWwubW0g
Ki87IH07CiAJCTI2REY1QTVFMTVBMjlCQUEwMDM2ODlDMiAvKiBDYW5jZWxMb2FkRnJvbVJlc291
cmNlTG9hZERlbGVnYXRlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMjZERjVBNUQxNUEyOUJBQTAwMzY4OUMyIC8qIENhbmNlbExvYWRGcm9tUmVzb3Vy
Y2VMb2FkRGVsZWdhdGUubW0gKi87IH07CiAJCTI2REY1QTYzMTVBMkEyN0UwMDM2ODlDMiAvKiBD
YW5jZWxMb2FkRnJvbVJlc291cmNlTG9hZERlbGVnYXRlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjZERjVBNjExNUEyQTIyQjAwMzY4
OUMyIC8qIENhbmNlbExvYWRGcm9tUmVzb3VyY2VMb2FkRGVsZWdhdGUuaHRtbCAqLzsgfTsKIAkJ
MzMzQjlDRTIxMjc3RjIzMTAwRkVGQ0UzIC8qIFByZXZlbnRFbXB0eVVzZXJBZ2VudC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzNCOUNFMTEyNzdG
MjMxMDBGRUZDRTMgLyogUHJldmVudEVtcHR5VXNlckFnZW50LmNwcCAqLzsgfTsKQEAgLTIzOCw2
ICsyMzksNyBAQAogCQkxQURCRUZBRDEzMEM2ODlDMDBENjFEMTkgLyogRm9yY2VSZXBhaW50LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZvcmNlUmVwYWludC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBREJFRkJDMTMwQzZBMDEwMEQ2MUQxOSAv
KiBzaW1wbGUtYWNjZWxlcmF0ZWQtY29tcG9zaXRpbmcuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRt
bDsgcGF0aCA9ICJzaW1wbGUtYWNjZWxlcmF0ZWQtY29tcG9zaXRpbmcuaHRtbCI7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBRURFMjI0MTNFNUU3QTAwMEU2MkZFOCAvKiBJbmplY3Rl
ZEJ1bmRsZUNvbnRyb2xsZXJNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBJbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXJNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTI2MTUxNkQ1MTVCMEU2MDUwMEEyQzIwMSAvKiBTZXRBbmRVcGRhdGVDYWNo
ZU1vZGVsLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2V0QW5k
VXBkYXRlQ2FjaGVNb2RlbC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjZERjVB
NUQxNUEyOUJBQTAwMzY4OUMyIC8qIENhbmNlbExvYWRGcm9tUmVzb3VyY2VMb2FkRGVsZWdhdGUu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDYW5jZWxMb2FkRnJv
bVJlc291cmNlTG9hZERlbGVnYXRlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
NkRGNUE2MTE1QTJBMjJCMDAzNjg5QzIgLyogQ2FuY2VsTG9hZEZyb21SZXNvdXJjZUxvYWREZWxl
Z2F0ZS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gQ2FuY2VsTG9hZEZyb21SZXNv
dXJjZUxvYWREZWxlZ2F0ZS5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMzNC
OUNFMTEyNzdGMjMxMDBGRUZDRTMgLyogUHJldmVudEVtcHR5VXNlckFnZW50LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFByZXZlbnRFbXB0eVVzZXJBZ2VudC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02OTIsNiArNjk0LDcgQEAKIAkJCQlFMTIy
MEQ5RjE1NUIyNTQ4MDAxM0UyRkMgLyogTWVtb3J5Q2FjaGVEaXNhYmxlV2l0aGluUmVzb3VyY2VM
b2FkRGVsZWdhdGUubW0gKi8sCiAJCQkJNTE3RTdERkIxNTExMEVBNjAwRDBCMDA4IC8qIE1lbW9y
eUNhY2hlUHJ1bmVXaXRoaW5SZXNvdXJjZUxvYWREZWxlZ2F0ZS5tbSAqLywKIAkJCQkzNzIyQzg2
ODE0NjFFMDNFMDBDNDVEMDAgLyogUmVuZGVyZWRJbWFnZUZyb21ET01SYW5nZS5tbSAqLywKKwkJ
CQkyNjE1MTZENTE1QjBFNjA1MDBBMkMyMDEgLyogU2V0QW5kVXBkYXRlQ2FjaGVNb2RlbC5tbSAq
LywKIAkJCQk1MkI4Q0Y5NTE1ODY4Q0YwMDAyODEwNTMgLyogU2V0RG9jdW1lbnRVUkkubW0gKi8s
CiAJCQkJQzU0MEY3NzUxNTJFNERBMDAwQTQwQzhDIC8qIFNpbXBsaWZ5TWFya3VwLm1tICovLAog
CQkJCTM3OTlBRDM5MTQxMjBBNDMwMDVFQjBDNiAvKiBTdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2Ny
aXB0RnJvbVN0cmluZy5tbSAqLywKQEAgLTkyOSw2ICs5MzIsNyBAQAogCQkJCTI2REY1QTVFMTVB
MjlCQUEwMDM2ODlDMiAvKiBDYW5jZWxMb2FkRnJvbVJlc291cmNlTG9hZERlbGVnYXRlLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJRjY2MEFBMEQxNUE1RjA2MTAwM0ExMjQzIC8qIEdldEluamVjdGVk
QnVuZGxlSW5pdGlhbGl6YXRpb25Vc2VyRGF0YUNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUY2NjBBQTEzMTVBNjE5QzkwMDNBMTI0MyAvKiBJbmplY3RlZEJ1bmRsZUluaXRpYWxpemF0
aW9uVXNlckRhdGFDYWxsYmFja1dpbnMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMjYxNTE2RDYx
NUIwRTYwNTAwQTJDMjAxIC8qIFNldEFuZFVwZGF0ZUNhY2hlTW9kZWwubW0gaW4gU291cmNlcyAq
LywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJ
fTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL1NldEFuZFVwZGF0
ZUNhY2hlTW9kZWwubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9TZXRBbmRVcGRh
dGVDYWNoZU1vZGVsLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk5NTFiYmE5M2EzYjczYTc1YjY5MjUzYmIyMDZl
MGMyYzI2ZGEwYzMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L21hYy9TZXRBbmRVcGRhdGVDYWNoZU1vZGVsLm1tCkBAIC0wLDAgKzEsMTAzIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CisK
KyNpbXBvcnQgPFdlYktpdC9XZWJWaWV3Lmg+CisjaW1wb3J0IDxXZWJLaXQvV2ViUHJlZmVyZW5j
ZXMuaD4KKworQGludGVyZmFjZSBXZWJWaWV3IChXZWJWaWV3T3RoZXJJbnRlcm5hbCkKKysgKFdl
YkNhY2hlTW9kZWwpX2NhY2hlTW9kZWw7CitAZW5kCisKK25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJ
IHsKKworVEVTVChXZWJLaXQxLCBTZXRBbmRVcGRhdGVDYWNoZU1vZGVsSW5pdGlhbE1vZGVsKQor
eworICAgIEVYUEVDVF9FUSgoaW50KVdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgKGludClb
V2ViVmlldyBfY2FjaGVNb2RlbF0pOworCisgICAgUmV0YWluUHRyPFdlYlZpZXc+IHdlYlZpZXco
QWRvcHROUywgW1tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwg
MTIwLCAyMDApIGZyYW1lTmFtZTpuaWwgZ3JvdXBOYW1lOm5pbF0pOworCisgICAgRVhQRUNUX0VR
KChpbnQpV2ViQ2FjaGVNb2RlbERvY3VtZW50QnJvd3NlciwgKGludClbV2ViVmlldyBfY2FjaGVN
b2RlbF0pOworfQorCitURVNUKFdlYktpdDEsIFNldEFuZFVwZGF0ZUNhY2hlTW9kZWxTdGFuZGFy
ZFByZWZlcmVuY2VDaGFuZ2UpCit7CisgICAgRVhQRUNUX0VRKChpbnQpV2ViQ2FjaGVNb2RlbERv
Y3VtZW50Vmlld2VyLCAoaW50KVtXZWJWaWV3IF9jYWNoZU1vZGVsXSk7CisKKyAgICBXZWJQcmVm
ZXJlbmNlcyAqc3RhbmRhcmRQcmVmZXJlbmNlcyA9IFtXZWJQcmVmZXJlbmNlcyBzdGFuZGFyZFBy
ZWZlcmVuY2VzXTsKKyAgICBFWFBFQ1RfRVEoKGludClXZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93
c2VyLCAoaW50KVtXZWJWaWV3IF9jYWNoZU1vZGVsXSk7CisKKyAgICBbc3RhbmRhcmRQcmVmZXJl
bmNlcyBzZXRDYWNoZU1vZGVsOldlYkNhY2hlTW9kZWxQcmltYXJ5V2ViQnJvd3Nlcl07CisgICAg
RVhQRUNUX0VRKChpbnQpV2ViQ2FjaGVNb2RlbFByaW1hcnlXZWJCcm93c2VyLCAoaW50KVtXZWJW
aWV3IF9jYWNoZU1vZGVsXSk7CisKKyAgICBbc3RhbmRhcmRQcmVmZXJlbmNlcyBzZXRDYWNoZU1v
ZGVsOldlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlcl07CisgICAgRVhQRUNUX0VRKChpbnQpV2Vi
Q2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCAoaW50KVtXZWJWaWV3IF9jYWNoZU1vZGVsXSk7Cit9
CisKK1RFU1QoV2ViS2l0MSwgU2V0QW5kVXBkYXRlQ2FjaGVNb2RlbFByZWZlcmVuY2VzQ2hhbmdl
TWl4KQoreworICAgIC8vIE9uIGNoYW5nZSwgdGhlIGNhY2hlIG1vZGVsIGFsd2F5cyB0YWtlIHRo
ZSBoaWdoZXN0IHZhbHVlIG9mIGFueSBwcmVmZXJlbmNlIGJvdW5kIHRvIGEgV2ViVmlldy4KKyAg
ICBFWFBFQ1RfRVEoKGludClXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIChpbnQpW1dlYlZp
ZXcgX2NhY2hlTW9kZWxdKTsKKworICAgIFdlYlByZWZlcmVuY2VzICpzdGFuZGFyZFByZWZlcmVu
Y2VzID0gW1dlYlByZWZlcmVuY2VzIHN0YW5kYXJkUHJlZmVyZW5jZXNdOworICAgIFJldGFpblB0
cjxXZWJQcmVmZXJlbmNlcz4gY3VzdG9tUHJlZmVyZW5jZXMoQWRvcHROUywgW1tXZWJQcmVmZXJl
bmNlcyBhbGxvY10gaW5pdFdpdGhJZGVudGlmaWVyOkAiU2V0QW5kVXBkYXRlQ2FjaGVNb2RlbFBy
ZWZlcmVuY2VzQ2hhbmdlTWl4Il0pOworCisgICAgLy8gMSkgVGhlIGN1c3RvbVByZWZlcmVuY2Vz
IGlzIG5vdCBzZXQgb24gYSB2aWV3LgorICAgIEVYUEVDVF9FUSgoaW50KVdlYkNhY2hlTW9kZWxE
b2N1bWVudEJyb3dzZXIsIChpbnQpW1dlYlZpZXcgX2NhY2hlTW9kZWxdKTsKKworICAgIFtzdGFu
ZGFyZFByZWZlcmVuY2VzIHNldENhY2hlTW9kZWw6V2ViQ2FjaGVNb2RlbFByaW1hcnlXZWJCcm93
c2VyXTsKKyAgICBFWFBFQ1RfRVEoKGludClXZWJDYWNoZU1vZGVsUHJpbWFyeVdlYkJyb3dzZXIs
IChpbnQpW1dlYlZpZXcgX2NhY2hlTW9kZWxdKTsKKworICAgIFtzdGFuZGFyZFByZWZlcmVuY2Vz
IHNldENhY2hlTW9kZWw6V2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyXTsKKyAgICBFWFBFQ1Rf
RVEoKGludClXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIChpbnQpW1dlYlZpZXcgX2NhY2hl
TW9kZWxdKTsKKyAgICBbY3VzdG9tUHJlZmVyZW5jZXMuZ2V0KCkgc2V0Q2FjaGVNb2RlbDpXZWJD
YWNoZU1vZGVsUHJpbWFyeVdlYkJyb3dzZXJdOworICAgIEVYUEVDVF9FUSgoaW50KVdlYkNhY2hl
TW9kZWxQcmltYXJ5V2ViQnJvd3NlciwgKGludClbV2ViVmlldyBfY2FjaGVNb2RlbF0pOworCisK
KyAgICAvLyAyKSBUaGUgY2FjaGUgbW9kZWwgc2hvdWxkIGZvbGxvdyB0aGUgaGlnaGVzdCB2YWx1
ZSBvZiBjYWNoZSBtb2RlbCBiZXR3ZWVuIHRoZSB0d28gcHJlZmVyZW5jZXMuCisgICAgUmV0YWlu
UHRyPFdlYlZpZXc+IHdlYlZpZXcoQWRvcHROUywgW1tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZy
YW1lOk5TTWFrZVJlY3QoMCwgMCwgMTIwLCAyMDApIGZyYW1lTmFtZTpuaWwgZ3JvdXBOYW1lOm5p
bF0pOworICAgIFt3ZWJWaWV3LmdldCgpIHNldFByZWZlcmVuY2VzOmN1c3RvbVByZWZlcmVuY2Vz
LmdldCgpXTsKKyAgICBFWFBFQ1RfRVEoKGludClXZWJDYWNoZU1vZGVsUHJpbWFyeVdlYkJyb3dz
ZXIsIChpbnQpW1dlYlZpZXcgX2NhY2hlTW9kZWxdKTsKKyAgICAKKyAgICBbY3VzdG9tUHJlZmVy
ZW5jZXMuZ2V0KCkgc2V0Q2FjaGVNb2RlbDpXZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93c2VyXTsK
KyAgICBFWFBFQ1RfRVEoKGludClXZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93c2VyLCAoaW50KVtX
ZWJWaWV3IF9jYWNoZU1vZGVsXSk7CisgICAgCisgICAgW3N0YW5kYXJkUHJlZmVyZW5jZXMgc2V0
Q2FjaGVNb2RlbDpXZWJDYWNoZU1vZGVsUHJpbWFyeVdlYkJyb3dzZXJdOworICAgIEVYUEVDVF9F
USgoaW50KVdlYkNhY2hlTW9kZWxQcmltYXJ5V2ViQnJvd3NlciwgKGludClbV2ViVmlldyBfY2Fj
aGVNb2RlbF0pOworICAgIFtjdXN0b21QcmVmZXJlbmNlcy5nZXQoKSBzZXRDYWNoZU1vZGVsOldl
YkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlcl07CisgICAgRVhQRUNUX0VRKChpbnQpV2ViQ2FjaGVN
b2RlbFByaW1hcnlXZWJCcm93c2VyLCAoaW50KVtXZWJWaWV3IF9jYWNoZU1vZGVsXSk7CisKKyAg
ICAvLyAzKSBSZXNldHRpbmcgdGhlIHZpZXcgc2hvdWxkIGZhbGwgYmFjayB0byBzdGFuZGFyZFBy
ZWZlcmVuY2VzLgorICAgIFtzdGFuZGFyZFByZWZlcmVuY2VzIHNldENhY2hlTW9kZWw6V2ViQ2Fj
aGVNb2RlbERvY3VtZW50Vmlld2VyXTsKKyAgICBbY3VzdG9tUHJlZmVyZW5jZXMuZ2V0KCkgc2V0
Q2FjaGVNb2RlbDpXZWJDYWNoZU1vZGVsUHJpbWFyeVdlYkJyb3dzZXJdOworICAgIEVYUEVDVF9F
USgoaW50KVdlYkNhY2hlTW9kZWxQcmltYXJ5V2ViQnJvd3NlciwgKGludClbV2ViVmlldyBfY2Fj
aGVNb2RlbF0pOworCisgICAgd2ViVmlldy5jbGVhcigpOworICAgIEVYUEVDVF9FUSgoaW50KVdl
YkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgKGludClbV2ViVmlldyBfY2FjaGVNb2RlbF0pOwor
fQorCit9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152398</attachid>
            <date>2012-07-13 18:52:56 -0700</date>
            <delta_ts>2012-07-14 15:08:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91302-20120713185255.patch</filename>
            <type>text/plain</type>
            <size>15423</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyNjI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNzlkOTczY2Yw
N2MxMDEwY2M2YzJiMWEyMzg4ZWY5NDZhZTJiYWI5OS4uNTk3ODc5ZTMxMTE4ZTFmNTRhNWVmMDM4
ZmEzYjRmNDcxNDQ4YmFjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEy
LTA3LTEzICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAg
IFtNYWNdIERvIG5vdCB0cnkgdG8gdXBkYXRlIHRoZSBjYWNoZSBtb2RlbCBmb3IgZXZlcnkgV2Vi
UHJlZmVyZW5jZXMgY2hhbmdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05MTMwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFdlYlZpZXcgd2FzIGxpc3RlbmluZyB0byBhbnkgY2hhbmdlIG9uIGFueSBXZWJQ
cmVmZXJlbmNlcyBpbiBvcmRlciB0byB1cGRhdGUgdGhlIGNhY2hlIG1vZGVsLiBUaGlzIGlzIHVu
bmVlZGVkIGluIG1vc3QgY2FzZXMsCisgICAgICAgIHdlIGNhbiBqdXN0IGxpc3RlbiB0byB1cGRh
dGVzIG9mIHRoZSBDYWNoZU1vZGVsIHByb3BlcnR5LgorCisgICAgICAgICogV2ViVmlldy9XZWJQ
cmVmZXJlbmNlcy5tbToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgaW5pdFdpdGhJZGVudGlm
aWVyOl0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBfcG9zdENhY2hlTW9kZWxDaGFuZ2Vk
Tm90aWZpY2F0aW9uXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHNldENhY2hlTW9kZWw6
XSk6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAg
KiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgrW1dlYlZpZXcgaW5pdGlhbGl6ZV0pOgor
ICAgICAgICAoK1tXZWJWaWV3IF9jYWNoZU1vZGVsQ2hhbmdlZE5vdGlmaWNhdGlvbjpdKToKKwog
MjAxMi0wNy0xMSAgTWFyayBSb3dlICA8bXJvd2VAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBh
IGxvZ2ljIGVycm9yIGluIHRoZSAjaWYgc28gdGhhdCB0aGUgY29ycmVjdCBjb2RlIGlzIGNvbXBp
bGVkIG9uIFNub3cgTGVvcGFyZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZXMubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VzLm1tCmluZGV4IDdlYjJmOWFmYzc3NjdlMDY1NDIzMDNjNjg2ZmJkZWVkMmEwZjkzY2Iu
LmI3YzMyYjcxYmNlNDNhMmE0ZDI2OGNhYWY4MjFhMTdjNjQzMmZhMTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQpAQCAtNDcsNiArNDcsNyBAQCB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc0NoYW5nZWROb3Rp
ZmljYXRpb24gPSBAIldlYlByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbiI7CiBOU1N0cmlu
ZyAqV2ViUHJlZmVyZW5jZXNSZW1vdmVkTm90aWZpY2F0aW9uID0gQCJXZWJQcmVmZXJlbmNlc1Jl
bW92ZWROb3RpZmljYXRpb24iOwogTlNTdHJpbmcgKldlYlByZWZlcmVuY2VzQ2hhbmdlZEludGVy
bmFsTm90aWZpY2F0aW9uID0gQCJXZWJQcmVmZXJlbmNlc0NoYW5nZWRJbnRlcm5hbE5vdGlmaWNh
dGlvbiI7CitOU1N0cmluZyAqV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsQ2hhbmdlZEludGVybmFs
Tm90aWZpY2F0aW9uID0gQCJXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxDaGFuZ2VkSW50ZXJuYWxO
b3RpZmljYXRpb24iOwogCiAjZGVmaW5lIEtFWSh4KSAoX3ByaXZhdGUtPmlkZW50aWZpZXIgPyBb
X3ByaXZhdGUtPmlkZW50aWZpZXIgc3RyaW5nQnlBcHBlbmRpbmdTdHJpbmc6KHgpXSA6ICh4KSkK
IApAQCAtMjIyLDYgKzIyMyw3IEBAIHN0YXRpYyBXZWJDYWNoZU1vZGVsIGNhY2hlTW9kZWxGb3JN
YWluQnVuZGxlKHZvaWQpCiAgICAgW1tzZWxmIGNsYXNzXSBfc2V0SW5zdGFuY2U6c2VsZiBmb3JJ
ZGVudGlmaWVyOl9wcml2YXRlLT5pZGVudGlmaWVyXTsKIAogICAgIFtzZWxmIF9wb3N0UHJlZmVy
ZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uXTsKKyAgICBbc2VsZiBfcG9zdENhY2hlTW9kZWxDaGFu
Z2VkTm90aWZpY2F0aW9uXTsKIAogICAgIHJldHVybiBzZWxmOwogfQpAQCAtODAyLDEwICs4MDQs
MjEgQEAgc3RhdGljIFdlYkNhY2hlTW9kZWwgY2FjaGVNb2RlbEZvck1haW5CdW5kbGUodm9pZCkK
ICAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRVc2VzUGFnZUNhY2hlUHJl
ZmVyZW5jZUtleV07CiB9CiAKKy0gKHZvaWQpX3Bvc3RDYWNoZU1vZGVsQ2hhbmdlZE5vdGlmaWNh
dGlvbgoreworICAgIGlmICghcHRocmVhZF9tYWluX25wKCkpIHsKKyAgICAgICAgW3NlbGYgcGVy
Zm9ybVNlbGVjdG9yT25NYWluVGhyZWFkOl9jbWQgd2l0aE9iamVjdDpuaWwgd2FpdFVudGlsRG9u
ZTpOT107CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBbW05TTm90aWZpY2F0aW9uQ2Vu
dGVyIGRlZmF1bHRDZW50ZXJdIHBvc3ROb3RpZmljYXRpb25OYW1lOldlYlByZWZlcmVuY2VzQ2Fj
aGVNb2RlbENoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbiBvYmplY3Q6c2VsZiB1c2VySW5mbzpu
aWxdOworfQorCiAtICh2b2lkKXNldENhY2hlTW9kZWw6KFdlYkNhY2hlTW9kZWwpY2FjaGVNb2Rl
bAogewogICAgIFtzZWxmIF9zZXRJbnRlZ2VyVmFsdWU6Y2FjaGVNb2RlbCBmb3JLZXk6V2ViS2l0
Q2FjaGVNb2RlbFByZWZlcmVuY2VLZXldOwogICAgIFtzZWxmIHNldEF1dG9tYXRpY2FsbHlEZXRl
Y3RzQ2FjaGVNb2RlbDpOT107CisgICAgW3NlbGYgX3Bvc3RDYWNoZU1vZGVsQ2hhbmdlZE5vdGlm
aWNhdGlvbl07CiB9CiAKIC0gKFdlYkNhY2hlTW9kZWwpY2FjaGVNb2RlbApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggN2U4NTNm
YTQ0MTg2ODEzMWEwYjE5NWY3ZjgyMmFjNDFkMjE4ZTk3Zi4uNWRiODVjZjU1MWZkNmRkNzdjODli
MThkNzBhMWVhYWFhMjc5ZDhiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC00Niw2ICs0Niw3IEBAIHR5cGVkZWYgZW51bSB7
CiBleHRlcm4gTlNTdHJpbmcgKldlYlByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbjsKIGV4
dGVybiBOU1N0cmluZyAqV2ViUHJlZmVyZW5jZXNSZW1vdmVkTm90aWZpY2F0aW9uOwogZXh0ZXJu
IE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc0NoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbjsKK2V4
dGVybiBOU1N0cmluZyAqV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsQ2hhbmdlZEludGVybmFsTm90
aWZpY2F0aW9uOwogCiBAaW50ZXJmYWNlIFdlYlByZWZlcmVuY2VzIChXZWJQcml2YXRlKQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggZWVhMWU0YjdhYTljMWRiNzY5OGIw
YTNmZGEzOTYxYmIwNWQ3NDk3Yy4uNDUxMWY5NGJjYTE2OGJmZTJiNGFjZDQ2MzFjNjg4M2I3NDM3
NDNkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMzA0MCw3ICszMDQw
LDcgQEAgc3RhdGljIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiB0b1N0cmluZ1ZlY3RvcihO
U0FycmF5KiBwYXR0ZXJucykKICAgICBXZWJDb3JlOjpSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1
bkxvb3AoKTsKIAogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRk
T2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX2FwcGxpY2F0aW9uV2lsbFRlcm1pbmF0
ZSkgbmFtZTpOU0FwcGxpY2F0aW9uV2lsbFRlcm1pbmF0ZU5vdGlmaWNhdGlvbiBvYmplY3Q6TlNB
cHBdOwotICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2
ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3ByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlv
bjopIG5hbWU6V2ViUHJlZmVyZW5jZXNDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb24gb2JqZWN0
Om5pbF07CisgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNl
cnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihfY2FjaGVNb2RlbENoYW5nZWROb3RpZmljYXRp
b246KSBuYW1lOldlYlByZWZlcmVuY2VzQ2hhbmdlZEludGVybmFsTm90aWZpY2F0aW9uIG9iamVj
dDpuaWxdOwogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2Jz
ZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3ByZWZlcmVuY2VzUmVtb3ZlZE5vdGlmaWNh
dGlvbjopIG5hbWU6V2ViUHJlZmVyZW5jZXNSZW1vdmVkTm90aWZpY2F0aW9uIG9iamVjdDpuaWxd
OyAgICAKIAogICAgIGNvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCA9IFtbTlNVc2VyRGVm
YXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIGJvb2xGb3JLZXk6V2ViQ29udGludW91c1NwZWxs
Q2hlY2tpbmdFbmFibGVkXTsKQEAgLTU5MTMsNyArNTkxMyw3IEBAIHN0YXRpYyBpbmxpbmUgdWlu
dDY0X3Qgcm91bmRVcFRvUG93ZXJPZjIodWludDY0X3QgbnVtKQogICAgIHJldHVybiBjYWNoZU1v
ZGVsOwogfQogCi0rICh2b2lkKV9wcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb246KE5TTm90
aWZpY2F0aW9uICopbm90aWZpY2F0aW9uCisrICh2b2lkKV9jYWNoZU1vZGVsQ2hhbmdlZE5vdGlm
aWNhdGlvbjooTlNOb3RpZmljYXRpb24gKilub3RpZmljYXRpb24KIHsKICAgICBXZWJQcmVmZXJl
bmNlcyAqcHJlZmVyZW5jZXMgPSAoV2ViUHJlZmVyZW5jZXMgKilbbm90aWZpY2F0aW9uIG9iamVj
dF07CiAgICAgQVNTRVJUKFtwcmVmZXJlbmNlcyBpc0tpbmRPZkNsYXNzOltXZWJQcmVmZXJlbmNl
cyBjbGFzc11dKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxv
ZwppbmRleCA0MjMwYzdkMDMyZGE0MmVkMWFlM2VlNGI2ZGQ3MDYxNzg2ZDdkZTZjLi4yMDQ1OGMx
YjY4OWRjZDE4MTYxNjYwZWI4MjQ3ODMxZGRjYjc4ZDQxIDEwMDY0NAotLS0gYS9Ub29scy9DaGFu
Z2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDctMTMg
IEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CisKKyAgICAgICAgW01hY10g
RG8gbm90IHRyeSB0byB1cGRhdGUgdGhlIGNhY2hlIG1vZGVsIGZvciBldmVyeSBXZWJQcmVmZXJl
bmNlcyBjaGFuZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTkxMzAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9TZXRBbmRVcGRhdGVDYWNoZU1v
ZGVsLm1tOiBBZGRlZC4KKyAgICAgICAgKFRlc3RXZWJLaXRBUEkpOgorICAgICAgICAoVGVzdFdl
YktpdEFQSTo6VEVTVCk6CisKIDIwMTItMDctMTMgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0
Lm9yZz4KIAogICAgICAgICBFV1NUb29scyBzaG91bGQgYmUgYWJsZSB0byBidWlsZCBhIGNvbW1p
dC1xdWV1ZSBpbnN0YW5jZSBmcm9tIHNjcmF0Y2gKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
ZjVmZjgwNDE4NzkzODg4MjMyZjYzM2NlMjUwY2Y1NDk3MmYwZmJmYi4uNTFiZDJkYTc2ZGZlOTdi
YTIyMjQzYTlkMTRlMWNlOWNmNzQ0N2ZjOCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE5
LDYgKzE5LDcgQEAKIAkJMUFEQkVGQUUxMzBDNjg5QzAwRDYxRDE5IC8qIEZvcmNlUmVwYWludC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQURCRUZB
RDEzMEM2ODlDMDBENjFEMTkgLyogRm9yY2VSZXBhaW50LmNwcCAqLzsgfTsKIAkJMUFEQkVGRTMx
MzBDNkFBMTAwRDYxRDE5IC8qIHNpbXBsZS1hY2NlbGVyYXRlZC1jb21wb3NpdGluZy5odG1sIGlu
IENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBREJF
RkJDMTMwQzZBMDEwMEQ2MUQxOSAvKiBzaW1wbGUtYWNjZWxlcmF0ZWQtY29tcG9zaXRpbmcuaHRt
bCAqLzsgfTsKIAkJMUFFREUyMjYxM0U1RTdFNzAwRTYyRkU4IC8qIEluamVjdGVkQnVuZGxlQ29u
dHJvbGxlck1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBRURFMjI0MTNFNUU3QTAwMEU2MkZFOCAvKiBJbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXJN
YWMubW0gKi87IH07CisJCTI2MTUxNkQ2MTVCMEU2MDUwMEEyQzIwMSAvKiBTZXRBbmRVcGRhdGVD
YWNoZU1vZGVsLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMjYxNTE2RDUxNUIwRTYwNTAwQTJDMjAxIC8qIFNldEFuZFVwZGF0ZUNhY2hlTW9kZWwubW0g
Ki87IH07CiAJCTI2REY1QTVFMTVBMjlCQUEwMDM2ODlDMiAvKiBDYW5jZWxMb2FkRnJvbVJlc291
cmNlTG9hZERlbGVnYXRlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMjZERjVBNUQxNUEyOUJBQTAwMzY4OUMyIC8qIENhbmNlbExvYWRGcm9tUmVzb3Vy
Y2VMb2FkRGVsZWdhdGUubW0gKi87IH07CiAJCTI2REY1QTYzMTVBMkEyN0UwMDM2ODlDMiAvKiBD
YW5jZWxMb2FkRnJvbVJlc291cmNlTG9hZERlbGVnYXRlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjZERjVBNjExNUEyQTIyQjAwMzY4
OUMyIC8qIENhbmNlbExvYWRGcm9tUmVzb3VyY2VMb2FkRGVsZWdhdGUuaHRtbCAqLzsgfTsKIAkJ
MzMzQjlDRTIxMjc3RjIzMTAwRkVGQ0UzIC8qIFByZXZlbnRFbXB0eVVzZXJBZ2VudC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzNCOUNFMTEyNzdG
MjMxMDBGRUZDRTMgLyogUHJldmVudEVtcHR5VXNlckFnZW50LmNwcCAqLzsgfTsKQEAgLTIzOCw2
ICsyMzksNyBAQAogCQkxQURCRUZBRDEzMEM2ODlDMDBENjFEMTkgLyogRm9yY2VSZXBhaW50LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZvcmNlUmVwYWludC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBREJFRkJDMTMwQzZBMDEwMEQ2MUQxOSAv
KiBzaW1wbGUtYWNjZWxlcmF0ZWQtY29tcG9zaXRpbmcuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRt
bDsgcGF0aCA9ICJzaW1wbGUtYWNjZWxlcmF0ZWQtY29tcG9zaXRpbmcuaHRtbCI7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBRURFMjI0MTNFNUU3QTAwMEU2MkZFOCAvKiBJbmplY3Rl
ZEJ1bmRsZUNvbnRyb2xsZXJNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBJbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXJNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTI2MTUxNkQ1MTVCMEU2MDUwMEEyQzIwMSAvKiBTZXRBbmRVcGRhdGVDYWNo
ZU1vZGVsLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2V0QW5k
VXBkYXRlQ2FjaGVNb2RlbC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjZERjVB
NUQxNUEyOUJBQTAwMzY4OUMyIC8qIENhbmNlbExvYWRGcm9tUmVzb3VyY2VMb2FkRGVsZWdhdGUu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDYW5jZWxMb2FkRnJv
bVJlc291cmNlTG9hZERlbGVnYXRlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
NkRGNUE2MTE1QTJBMjJCMDAzNjg5QzIgLyogQ2FuY2VsTG9hZEZyb21SZXNvdXJjZUxvYWREZWxl
Z2F0ZS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gQ2FuY2VsTG9hZEZyb21SZXNv
dXJjZUxvYWREZWxlZ2F0ZS5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMzNC
OUNFMTEyNzdGMjMxMDBGRUZDRTMgLyogUHJldmVudEVtcHR5VXNlckFnZW50LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFByZXZlbnRFbXB0eVVzZXJBZ2VudC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02OTIsNiArNjk0LDcgQEAKIAkJCQlFMTIy
MEQ5RjE1NUIyNTQ4MDAxM0UyRkMgLyogTWVtb3J5Q2FjaGVEaXNhYmxlV2l0aGluUmVzb3VyY2VM
b2FkRGVsZWdhdGUubW0gKi8sCiAJCQkJNTE3RTdERkIxNTExMEVBNjAwRDBCMDA4IC8qIE1lbW9y
eUNhY2hlUHJ1bmVXaXRoaW5SZXNvdXJjZUxvYWREZWxlZ2F0ZS5tbSAqLywKIAkJCQkzNzIyQzg2
ODE0NjFFMDNFMDBDNDVEMDAgLyogUmVuZGVyZWRJbWFnZUZyb21ET01SYW5nZS5tbSAqLywKKwkJ
CQkyNjE1MTZENTE1QjBFNjA1MDBBMkMyMDEgLyogU2V0QW5kVXBkYXRlQ2FjaGVNb2RlbC5tbSAq
LywKIAkJCQk1MkI4Q0Y5NTE1ODY4Q0YwMDAyODEwNTMgLyogU2V0RG9jdW1lbnRVUkkubW0gKi8s
CiAJCQkJQzU0MEY3NzUxNTJFNERBMDAwQTQwQzhDIC8qIFNpbXBsaWZ5TWFya3VwLm1tICovLAog
CQkJCTM3OTlBRDM5MTQxMjBBNDMwMDVFQjBDNiAvKiBTdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2Ny
aXB0RnJvbVN0cmluZy5tbSAqLywKQEAgLTkyOSw2ICs5MzIsNyBAQAogCQkJCTI2REY1QTVFMTVB
MjlCQUEwMDM2ODlDMiAvKiBDYW5jZWxMb2FkRnJvbVJlc291cmNlTG9hZERlbGVnYXRlLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJRjY2MEFBMEQxNUE1RjA2MTAwM0ExMjQzIC8qIEdldEluamVjdGVk
QnVuZGxlSW5pdGlhbGl6YXRpb25Vc2VyRGF0YUNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUY2NjBBQTEzMTVBNjE5QzkwMDNBMTI0MyAvKiBJbmplY3RlZEJ1bmRsZUluaXRpYWxpemF0
aW9uVXNlckRhdGFDYWxsYmFja1dpbnMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMjYxNTE2RDYx
NUIwRTYwNTAwQTJDMjAxIC8qIFNldEFuZFVwZGF0ZUNhY2hlTW9kZWwubW0gaW4gU291cmNlcyAq
LywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJ
fTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL1NldEFuZFVwZGF0
ZUNhY2hlTW9kZWwubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9TZXRBbmRVcGRh
dGVDYWNoZU1vZGVsLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE0Y2VkMzhhNTBlZThjNWM0MmZjMWFjOTdiZWQz
MmEyNWZiM2ZkMmIKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L21hYy9TZXRBbmRVcGRhdGVDYWNoZU1vZGVsLm1tCkBAIC0wLDAgKzEsMTAzIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KKwor
I2ltcG9ydCA8V2ViS2l0L1dlYlZpZXcuaD4KKyNpbXBvcnQgPFdlYktpdC9XZWJQcmVmZXJlbmNl
cy5oPgorCitAaW50ZXJmYWNlIFdlYlZpZXcgKFdlYlZpZXdPdGhlckludGVybmFsKQorKyAoV2Vi
Q2FjaGVNb2RlbClfY2FjaGVNb2RlbDsKK0BlbmQKKworbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkg
eworCitURVNUKFdlYktpdDEsIFNldEFuZFVwZGF0ZUNhY2hlTW9kZWxJbml0aWFsTW9kZWwpCit7
CisgICAgRVhQRUNUX0VRKChpbnQpV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCAoaW50KVtX
ZWJWaWV3IF9jYWNoZU1vZGVsXSk7CisKKyAgICBSZXRhaW5QdHI8V2ViVmlldz4gd2ViVmlldyhB
ZG9wdE5TLCBbW1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAx
MjAsIDIwMCkgZnJhbWVOYW1lOm5pbCBncm91cE5hbWU6bmlsXSk7CisKKyAgICBFWFBFQ1RfRVEo
KGludClXZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93c2VyLCAoaW50KVtXZWJWaWV3IF9jYWNoZU1v
ZGVsXSk7Cit9CisKK1RFU1QoV2ViS2l0MSwgU2V0QW5kVXBkYXRlQ2FjaGVNb2RlbFN0YW5kYXJk
UHJlZmVyZW5jZUNoYW5nZSkKK3sKKyAgICBFWFBFQ1RfRVEoKGludClXZWJDYWNoZU1vZGVsRG9j
dW1lbnRWaWV3ZXIsIChpbnQpW1dlYlZpZXcgX2NhY2hlTW9kZWxdKTsKKworICAgIFdlYlByZWZl
cmVuY2VzICpzdGFuZGFyZFByZWZlcmVuY2VzID0gW1dlYlByZWZlcmVuY2VzIHN0YW5kYXJkUHJl
ZmVyZW5jZXNdOworICAgIEVYUEVDVF9FUSgoaW50KVdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dz
ZXIsIChpbnQpW1dlYlZpZXcgX2NhY2hlTW9kZWxdKTsKKworICAgIFtzdGFuZGFyZFByZWZlcmVu
Y2VzIHNldENhY2hlTW9kZWw6V2ViQ2FjaGVNb2RlbFByaW1hcnlXZWJCcm93c2VyXTsKKyAgICBF
WFBFQ1RfRVEoKGludClXZWJDYWNoZU1vZGVsUHJpbWFyeVdlYkJyb3dzZXIsIChpbnQpW1dlYlZp
ZXcgX2NhY2hlTW9kZWxdKTsKKworICAgIFtzdGFuZGFyZFByZWZlcmVuY2VzIHNldENhY2hlTW9k
ZWw6V2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyXTsKKyAgICBFWFBFQ1RfRVEoKGludClXZWJD
YWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIChpbnQpW1dlYlZpZXcgX2NhY2hlTW9kZWxdKTsKK30K
KworVEVTVChXZWJLaXQxLCBTZXRBbmRVcGRhdGVDYWNoZU1vZGVsUHJlZmVyZW5jZXNDaGFuZ2VN
aXgpCit7CisgICAgLy8gT24gY2hhbmdlLCB0aGUgY2FjaGUgbW9kZWwgYWx3YXlzIHRha2UgdGhl
IGhpZ2hlc3QgdmFsdWUgb2YgYW55IHByZWZlcmVuY2UgYm91bmQgdG8gYSBXZWJWaWV3LgorICAg
IEVYUEVDVF9FUSgoaW50KVdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgKGludClbV2ViVmll
dyBfY2FjaGVNb2RlbF0pOworCisgICAgV2ViUHJlZmVyZW5jZXMgKnN0YW5kYXJkUHJlZmVyZW5j
ZXMgPSBbV2ViUHJlZmVyZW5jZXMgc3RhbmRhcmRQcmVmZXJlbmNlc107CisgICAgUmV0YWluUHRy
PFdlYlByZWZlcmVuY2VzPiBjdXN0b21QcmVmZXJlbmNlcyhBZG9wdE5TLCBbW1dlYlByZWZlcmVu
Y2VzIGFsbG9jXSBpbml0V2l0aElkZW50aWZpZXI6QCJTZXRBbmRVcGRhdGVDYWNoZU1vZGVsUHJl
ZmVyZW5jZXNDaGFuZ2VNaXgiXSk7CisKKyAgICAvLyAxKSBUaGUgY3VzdG9tUHJlZmVyZW5jZXMg
aXMgbm90IHNldCBvbiBhIHZpZXcuCisgICAgRVhQRUNUX0VRKChpbnQpV2ViQ2FjaGVNb2RlbERv
Y3VtZW50QnJvd3NlciwgKGludClbV2ViVmlldyBfY2FjaGVNb2RlbF0pOworCisgICAgW3N0YW5k
YXJkUHJlZmVyZW5jZXMgc2V0Q2FjaGVNb2RlbDpXZWJDYWNoZU1vZGVsUHJpbWFyeVdlYkJyb3dz
ZXJdOworICAgIEVYUEVDVF9FUSgoaW50KVdlYkNhY2hlTW9kZWxQcmltYXJ5V2ViQnJvd3Nlciwg
KGludClbV2ViVmlldyBfY2FjaGVNb2RlbF0pOworCisgICAgW3N0YW5kYXJkUHJlZmVyZW5jZXMg
c2V0Q2FjaGVNb2RlbDpXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXJdOworICAgIEVYUEVDVF9F
USgoaW50KVdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgKGludClbV2ViVmlldyBfY2FjaGVN
b2RlbF0pOworICAgIFtjdXN0b21QcmVmZXJlbmNlcy5nZXQoKSBzZXRDYWNoZU1vZGVsOldlYkNh
Y2hlTW9kZWxQcmltYXJ5V2ViQnJvd3Nlcl07CisgICAgRVhQRUNUX0VRKChpbnQpV2ViQ2FjaGVN
b2RlbFByaW1hcnlXZWJCcm93c2VyLCAoaW50KVtXZWJWaWV3IF9jYWNoZU1vZGVsXSk7CisKKwor
ICAgIC8vIDIpIFRoZSBjYWNoZSBtb2RlbCBzaG91bGQgZm9sbG93IHRoZSBoaWdoZXN0IHZhbHVl
IG9mIGNhY2hlIG1vZGVsIGJldHdlZW4gdGhlIHR3byBwcmVmZXJlbmNlcy4KKyAgICBSZXRhaW5Q
dHI8V2ViVmlldz4gd2ViVmlldyhBZG9wdE5TLCBbW1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJh
bWU6TlNNYWtlUmVjdCgwLCAwLCAxMjAsIDIwMCkgZnJhbWVOYW1lOm5pbCBncm91cE5hbWU6bmls
XSk7CisgICAgW3dlYlZpZXcuZ2V0KCkgc2V0UHJlZmVyZW5jZXM6Y3VzdG9tUHJlZmVyZW5jZXMu
Z2V0KCldOworICAgIEVYUEVDVF9FUSgoaW50KVdlYkNhY2hlTW9kZWxQcmltYXJ5V2ViQnJvd3Nl
ciwgKGludClbV2ViVmlldyBfY2FjaGVNb2RlbF0pOworICAgIAorICAgIFtjdXN0b21QcmVmZXJl
bmNlcy5nZXQoKSBzZXRDYWNoZU1vZGVsOldlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dzZXJdOwor
ICAgIEVYUEVDVF9FUSgoaW50KVdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dzZXIsIChpbnQpW1dl
YlZpZXcgX2NhY2hlTW9kZWxdKTsKKyAgICAKKyAgICBbc3RhbmRhcmRQcmVmZXJlbmNlcyBzZXRD
YWNoZU1vZGVsOldlYkNhY2hlTW9kZWxQcmltYXJ5V2ViQnJvd3Nlcl07CisgICAgRVhQRUNUX0VR
KChpbnQpV2ViQ2FjaGVNb2RlbFByaW1hcnlXZWJCcm93c2VyLCAoaW50KVtXZWJWaWV3IF9jYWNo
ZU1vZGVsXSk7CisgICAgW2N1c3RvbVByZWZlcmVuY2VzLmdldCgpIHNldENhY2hlTW9kZWw6V2Vi
Q2FjaGVNb2RlbERvY3VtZW50Vmlld2VyXTsKKyAgICBFWFBFQ1RfRVEoKGludClXZWJDYWNoZU1v
ZGVsUHJpbWFyeVdlYkJyb3dzZXIsIChpbnQpW1dlYlZpZXcgX2NhY2hlTW9kZWxdKTsKKworICAg
IC8vIDMpIFJlc2V0dGluZyB0aGUgdmlldyBzaG91bGQgZmFsbCBiYWNrIHRvIHN0YW5kYXJkUHJl
ZmVyZW5jZXMuCisgICAgW3N0YW5kYXJkUHJlZmVyZW5jZXMgc2V0Q2FjaGVNb2RlbDpXZWJDYWNo
ZU1vZGVsRG9jdW1lbnRWaWV3ZXJdOworICAgIFtjdXN0b21QcmVmZXJlbmNlcy5nZXQoKSBzZXRD
YWNoZU1vZGVsOldlYkNhY2hlTW9kZWxQcmltYXJ5V2ViQnJvd3Nlcl07CisgICAgRVhQRUNUX0VR
KChpbnQpV2ViQ2FjaGVNb2RlbFByaW1hcnlXZWJCcm93c2VyLCAoaW50KVtXZWJWaWV3IF9jYWNo
ZU1vZGVsXSk7CisKKyAgICB3ZWJWaWV3LmNsZWFyKCk7CisgICAgRVhQRUNUX0VRKChpbnQpV2Vi
Q2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCAoaW50KVtXZWJWaWV3IF9jYWNoZU1vZGVsXSk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152435</attachid>
            <date>2012-07-14 15:08:33 -0700</date>
            <delta_ts>2012-07-14 15:08:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91302-20120714150832.patch</filename>
            <type>text/plain</type>
            <size>15664</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyNjczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNzQxYTc3ZDFj
ZGRhNGMzYmVlODFjNjU2NmI1YWUyMDhjNGU1MThjMC4uMjVkZTExMjVlYWJkOGEwYmY5YTEwYzY5
MmFhNTk0MjMzMzY0ODhiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEy
LTA3LTE0ICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAg
IFtNYWNdIERvIG5vdCB0cnkgdG8gdXBkYXRlIHRoZSBjYWNoZSBtb2RlbCBmb3IgZXZlcnkgV2Vi
UHJlZmVyZW5jZXMgY2hhbmdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05MTMwMgorCisgICAgICAgIFJldmlld2VkIGJ5IEpvc2VwaCBQZWNvcmFyby4K
KworICAgICAgICBXZWJWaWV3IHdhcyBsaXN0ZW5pbmcgdG8gYW55IGNoYW5nZSBvbiBhbnkgV2Vi
UHJlZmVyZW5jZXMgaW4gb3JkZXIgdG8gdXBkYXRlIHRoZSBjYWNoZSBtb2RlbC4gVGhpcyBpcyB1
bm5lZWRlZCBpbiBtb3N0IGNhc2VzLAorICAgICAgICB3ZSBjYW4ganVzdCBsaXN0ZW4gdG8gdXBk
YXRlcyBvZiB0aGUgQ2FjaGVNb2RlbCBwcm9wZXJ0eS4KKworICAgICAgICAqIFdlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW06CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIGluaXRXaXRoSWRlbnRp
ZmllcjpdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgX3Bvc3RDYWNoZU1vZGVsQ2hhbmdl
ZE5vdGlmaWNhdGlvbl0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRDYWNoZU1vZGVs
Ol0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmg6CisgICAgICAg
ICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoK1tXZWJWaWV3IGluaXRpYWxpemVdKToK
KyAgICAgICAgKCtbV2ViVmlldyBfY2FjaGVNb2RlbENoYW5nZWROb3RpZmljYXRpb246XSk6CisK
IDIwMTItMDctMTQgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgog
CiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMjI2NjUuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tIGIvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQppbmRleCA3ZWIyZjlhZmM3NzY3ZTA2NTQy
MzAzYzY4NmZiZGVlZDJhMGY5M2NiLi4xZGVmYmY1ZWQ0ZDZjN2MzYmQzOWYzN2EyNjU5YThmNzYy
Y2JjN2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0K
QEAgLTQ3LDYgKzQ3LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBOU1N0cmluZyAqV2Vi
UHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uID0gQCJXZWJQcmVmZXJlbmNlc0NoYW5nZWRO
b3RpZmljYXRpb24iOwogTlNTdHJpbmcgKldlYlByZWZlcmVuY2VzUmVtb3ZlZE5vdGlmaWNhdGlv
biA9IEAiV2ViUHJlZmVyZW5jZXNSZW1vdmVkTm90aWZpY2F0aW9uIjsKIE5TU3RyaW5nICpXZWJQ
cmVmZXJlbmNlc0NoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbiA9IEAiV2ViUHJlZmVyZW5jZXND
aGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb24iOworTlNTdHJpbmcgKldlYlByZWZlcmVuY2VzQ2Fj
aGVNb2RlbENoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbiA9IEAiV2ViUHJlZmVyZW5jZXNDYWNo
ZU1vZGVsQ2hhbmdlZEludGVybmFsTm90aWZpY2F0aW9uIjsKIAogI2RlZmluZSBLRVkoeCkgKF9w
cml2YXRlLT5pZGVudGlmaWVyID8gW19wcml2YXRlLT5pZGVudGlmaWVyIHN0cmluZ0J5QXBwZW5k
aW5nU3RyaW5nOih4KV0gOiAoeCkpCiAKQEAgLTE2Myw2ICsxNjQsMTAgQEAgc3RhdGljIFdlYkNh
Y2hlTW9kZWwgY2FjaGVNb2RlbEZvck1haW5CdW5kbGUodm9pZCkKIH0KIEBlbmQKIAorQGludGVy
ZmFjZSBXZWJQcmVmZXJlbmNlcyAoKQorLSAodm9pZClfcG9zdENhY2hlTW9kZWxDaGFuZ2VkTm90
aWZpY2F0aW9uOworQGVuZAorCiBAaW50ZXJmYWNlIFdlYlByZWZlcmVuY2VzIChXZWJJbnRlcm5h
bCkKICsgKE5TU3RyaW5nICopX2NvbmNhdGVuYXRlS2V5V2l0aElCQ3JlYXRvcklEOihOU1N0cmlu
ZyAqKWtleTsKICsgKE5TU3RyaW5nICopX0lCQ3JlYXRvcklEOwpAQCAtMjIyLDYgKzIyNyw3IEBA
IHN0YXRpYyBXZWJDYWNoZU1vZGVsIGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKHZvaWQpCiAgICAg
W1tzZWxmIGNsYXNzXSBfc2V0SW5zdGFuY2U6c2VsZiBmb3JJZGVudGlmaWVyOl9wcml2YXRlLT5p
ZGVudGlmaWVyXTsKIAogICAgIFtzZWxmIF9wb3N0UHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0
aW9uXTsKKyAgICBbc2VsZiBfcG9zdENhY2hlTW9kZWxDaGFuZ2VkTm90aWZpY2F0aW9uXTsKIAog
ICAgIHJldHVybiBzZWxmOwogfQpAQCAtODAyLDEwICs4MDgsMjEgQEAgc3RhdGljIFdlYkNhY2hl
TW9kZWwgY2FjaGVNb2RlbEZvck1haW5CdW5kbGUodm9pZCkKICAgICByZXR1cm4gW3NlbGYgX2Jv
b2xWYWx1ZUZvcktleTpXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleV07CiB9CiAKKy0g
KHZvaWQpX3Bvc3RDYWNoZU1vZGVsQ2hhbmdlZE5vdGlmaWNhdGlvbgoreworICAgIGlmICghcHRo
cmVhZF9tYWluX25wKCkpIHsKKyAgICAgICAgW3NlbGYgcGVyZm9ybVNlbGVjdG9yT25NYWluVGhy
ZWFkOl9jbWQgd2l0aE9iamVjdDpuaWwgd2FpdFVudGlsRG9uZTpOT107CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHBv
c3ROb3RpZmljYXRpb25OYW1lOldlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbENoYW5nZWRJbnRlcm5h
bE5vdGlmaWNhdGlvbiBvYmplY3Q6c2VsZiB1c2VySW5mbzpuaWxdOworfQorCiAtICh2b2lkKXNl
dENhY2hlTW9kZWw6KFdlYkNhY2hlTW9kZWwpY2FjaGVNb2RlbAogewogICAgIFtzZWxmIF9zZXRJ
bnRlZ2VyVmFsdWU6Y2FjaGVNb2RlbCBmb3JLZXk6V2ViS2l0Q2FjaGVNb2RlbFByZWZlcmVuY2VL
ZXldOwogICAgIFtzZWxmIHNldEF1dG9tYXRpY2FsbHlEZXRlY3RzQ2FjaGVNb2RlbDpOT107Cisg
ICAgW3NlbGYgX3Bvc3RDYWNoZU1vZGVsQ2hhbmdlZE5vdGlmaWNhdGlvbl07CiB9CiAKIC0gKFdl
YkNhY2hlTW9kZWwpY2FjaGVNb2RlbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggN2U4NTNmYTQ0MTg2ODEzMWEwYjE5NWY3Zjgy
MmFjNDFkMjE4ZTk3Zi4uNWRiODVjZjU1MWZkNmRkNzdjODliMThkNzBhMWVhYWFhMjc5ZDhiNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZh
dGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0
ZS5oCkBAIC00Niw2ICs0Niw3IEBAIHR5cGVkZWYgZW51bSB7CiBleHRlcm4gTlNTdHJpbmcgKldl
YlByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbjsKIGV4dGVybiBOU1N0cmluZyAqV2ViUHJl
ZmVyZW5jZXNSZW1vdmVkTm90aWZpY2F0aW9uOwogZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJl
bmNlc0NoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbjsKK2V4dGVybiBOU1N0cmluZyAqV2ViUHJl
ZmVyZW5jZXNDYWNoZU1vZGVsQ2hhbmdlZEludGVybmFsTm90aWZpY2F0aW9uOwogCiBAaW50ZXJm
YWNlIFdlYlByZWZlcmVuY2VzIChXZWJQcml2YXRlKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlZpZXcubW0KaW5kZXggZWVhMWU0YjdhYTljMWRiNzY5OGIwYTNmZGEzOTYxYmIwNWQ3NDk3Yy4u
Yjg1ZDhmMzZiNzAyMjc5ZTI0NTlkZGI5YzdlMDRmMjFjYjE4MDRjYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMzA0MCw3ICszMDQwLDcgQEAgc3RhdGljIFBhc3NPd25Q
dHI8VmVjdG9yPFN0cmluZz4gPiB0b1N0cmluZ1ZlY3RvcihOU0FycmF5KiBwYXR0ZXJucykKICAg
ICBXZWJDb3JlOjpSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKIAogICAgIFtbTlNO
b3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3Rv
cjpAc2VsZWN0b3IoX2FwcGxpY2F0aW9uV2lsbFRlcm1pbmF0ZSkgbmFtZTpOU0FwcGxpY2F0aW9u
V2lsbFRlcm1pbmF0ZU5vdGlmaWNhdGlvbiBvYmplY3Q6TlNBcHBdOwotICAgIFtbTlNOb3RpZmlj
YXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2Vs
ZWN0b3IoX3ByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbjopIG5hbWU6V2ViUHJlZmVyZW5j
ZXNDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb24gb2JqZWN0Om5pbF07CisgICAgW1tOU05vdGlm
aWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBz
ZWxlY3RvcihfY2FjaGVNb2RlbENoYW5nZWROb3RpZmljYXRpb246KSBuYW1lOldlYlByZWZlcmVu
Y2VzQ2FjaGVNb2RlbENoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsKICAg
ICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYg
c2VsZWN0b3I6QHNlbGVjdG9yKF9wcmVmZXJlbmNlc1JlbW92ZWROb3RpZmljYXRpb246KSBuYW1l
OldlYlByZWZlcmVuY2VzUmVtb3ZlZE5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsgICAgCiAKICAg
ICBjb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5k
YXJkVXNlckRlZmF1bHRzXSBib29sRm9yS2V5OldlYkNvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5h
YmxlZF07CkBAIC01OTEzLDcgKzU5MTMsNyBAQCBzdGF0aWMgaW5saW5lIHVpbnQ2NF90IHJvdW5k
VXBUb1Bvd2VyT2YyKHVpbnQ2NF90IG51bSkKICAgICByZXR1cm4gY2FjaGVNb2RlbDsKIH0KIAot
KyAodm9pZClfcHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uOihOU05vdGlmaWNhdGlvbiAq
KW5vdGlmaWNhdGlvbgorKyAodm9pZClfY2FjaGVNb2RlbENoYW5nZWROb3RpZmljYXRpb246KE5T
Tm90aWZpY2F0aW9uICopbm90aWZpY2F0aW9uCiB7CiAgICAgV2ViUHJlZmVyZW5jZXMgKnByZWZl
cmVuY2VzID0gKFdlYlByZWZlcmVuY2VzICopW25vdGlmaWNhdGlvbiBvYmplY3RdOwogICAgIEFT
U0VSVChbcHJlZmVyZW5jZXMgaXNLaW5kT2ZDbGFzczpbV2ViUHJlZmVyZW5jZXMgY2xhc3NdXSk7
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjA1
NjJhNTA2MzJmNmQyNDg2YWNkYzM1YzRlNjE1NDQ0NTVlNGVjMy4uZjQwZjY5ZTE1MzJhOTRkYWU2
MTJmM2YyM2I5ZDk4ZjA2ZDE3MjhiYSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA3LTE0ICBCZW5qYW1pbiBQ
b3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIFtNYWNdIERvIG5vdCB0cnkg
dG8gdXBkYXRlIHRoZSBjYWNoZSBtb2RlbCBmb3IgZXZlcnkgV2ViUHJlZmVyZW5jZXMgY2hhbmdl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTMwMgor
CisgICAgICAgIFJldmlld2VkIGJ5IEpvc2VwaCBQZWNvcmFyby4KKworICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL1NldEFuZFVwZGF0ZUNhY2hlTW9kZWwubW06IEFk
ZGVkLgorICAgICAgICAoVGVzdFdlYktpdEFQSSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpU
RVNUKToKKwogMjAxMi0wNy0xNCAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFp
bC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEyMjY2NS4KZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggODg1MmZmOWQxMjQwYjA4NGZhOWU0OGMzNzBmN2FhOTM2MzQ4
MmVjZS4uNTAwNDVmM2JiOWMyMGYxOWE1Mzg2ZjNiYmQ4MWYyNTg2ODFkNTQ1NCAxMDA2NDQKLS0t
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTIwLDYgKzIwLDcgQEAKIAkJMUFEQkVGQUUxMzBDNjg5QzAwRDYx
RDE5IC8qIEZvcmNlUmVwYWludC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQURCRUZBRDEzMEM2ODlDMDBENjFEMTkgLyogRm9yY2VSZXBhaW50LmNw
cCAqLzsgfTsKIAkJMUFEQkVGRTMxMzBDNkFBMTAwRDYxRDE5IC8qIHNpbXBsZS1hY2NlbGVyYXRl
ZC1jb21wb3NpdGluZy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFBREJFRkJDMTMwQzZBMDEwMEQ2MUQxOSAvKiBzaW1wbGUtYWNjZWxl
cmF0ZWQtY29tcG9zaXRpbmcuaHRtbCAqLzsgfTsKIAkJMUFFREUyMjYxM0U1RTdFNzAwRTYyRkU4
IC8qIEluamVjdGVkQnVuZGxlQ29udHJvbGxlck1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRURFMjI0MTNFNUU3QTAwMEU2MkZFOCAvKiBJbmpl
Y3RlZEJ1bmRsZUNvbnRyb2xsZXJNYWMubW0gKi87IH07CisJCTI2MTUxNkQ2MTVCMEU2MDUwMEEy
QzIwMSAvKiBTZXRBbmRVcGRhdGVDYWNoZU1vZGVsLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjYxNTE2RDUxNUIwRTYwNTAwQTJDMjAxIC8qIFNldEFu
ZFVwZGF0ZUNhY2hlTW9kZWwubW0gKi87IH07CiAJCTI2REY1QTVFMTVBMjlCQUEwMDM2ODlDMiAv
KiBDYW5jZWxMb2FkRnJvbVJlc291cmNlTG9hZERlbGVnYXRlLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjZERjVBNUQxNUEyOUJBQTAwMzY4OUMyIC8q
IENhbmNlbExvYWRGcm9tUmVzb3VyY2VMb2FkRGVsZWdhdGUubW0gKi87IH07CiAJCTI2REY1QTYz
MTVBMkEyN0UwMDM2ODlDMiAvKiBDYW5jZWxMb2FkRnJvbVJlc291cmNlTG9hZERlbGVnYXRlLmh0
bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MjZERjVBNjExNUEyQTIyQjAwMzY4OUMyIC8qIENhbmNlbExvYWRGcm9tUmVzb3VyY2VMb2FkRGVs
ZWdhdGUuaHRtbCAqLzsgfTsKIAkJMzMzQjlDRTIxMjc3RjIzMTAwRkVGQ0UzIC8qIFByZXZlbnRF
bXB0eVVzZXJBZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAzMzNCOUNFMTEyNzdGMjMxMDBGRUZDRTMgLyogUHJldmVudEVtcHR5VXNlckFnZW50
LmNwcCAqLzsgfTsKQEAgLTI0MCw2ICsyNDEsNyBAQAogCQkxQURCRUZBRDEzMEM2ODlDMDBENjFE
MTkgLyogRm9yY2VSZXBhaW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEZvcmNlUmVwYWludC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBREJF
RkJDMTMwQzZBMDEwMEQ2MUQxOSAvKiBzaW1wbGUtYWNjZWxlcmF0ZWQtY29tcG9zaXRpbmcuaHRt
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJzaW1wbGUtYWNjZWxlcmF0ZWQtY29tcG9z
aXRpbmcuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBRURFMjI0MTNFNUU3
QTAwMEU2MkZFOCAvKiBJbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXJNYWMubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBJbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXJNYWMu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI2MTUxNkQ1MTVCMEU2MDUwMEEyQzIw
MSAvKiBTZXRBbmRVcGRhdGVDYWNoZU1vZGVsLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gU2V0QW5kVXBkYXRlQ2FjaGVNb2RlbC5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMjZERjVBNUQxNUEyOUJBQTAwMzY4OUMyIC8qIENhbmNlbExvYWRGcm9t
UmVzb3VyY2VMb2FkRGVsZWdhdGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBDYW5jZWxMb2FkRnJvbVJlc291cmNlTG9hZERlbGVnYXRlLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkyNkRGNUE2MTE1QTJBMjJCMDAzNjg5QzIgLyogQ2FuY2VsTG9h
ZEZyb21SZXNvdXJjZUxvYWREZWxlZ2F0ZS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRo
ID0gQ2FuY2VsTG9hZEZyb21SZXNvdXJjZUxvYWREZWxlZ2F0ZS5odG1sOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkzMzNCOUNFMTEyNzdGMjMxMDBGRUZDRTMgLyogUHJldmVudEVtcHR5
VXNlckFnZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFByZXZl
bnRFbXB0eVVzZXJBZ2VudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02OTUs
NiArNjk3LDcgQEAKIAkJCQlFMTIyMEQ5RjE1NUIyNTQ4MDAxM0UyRkMgLyogTWVtb3J5Q2FjaGVE
aXNhYmxlV2l0aGluUmVzb3VyY2VMb2FkRGVsZWdhdGUubW0gKi8sCiAJCQkJNTE3RTdERkIxNTEx
MEVBNjAwRDBCMDA4IC8qIE1lbW9yeUNhY2hlUHJ1bmVXaXRoaW5SZXNvdXJjZUxvYWREZWxlZ2F0
ZS5tbSAqLywKIAkJCQkzNzIyQzg2ODE0NjFFMDNFMDBDNDVEMDAgLyogUmVuZGVyZWRJbWFnZUZy
b21ET01SYW5nZS5tbSAqLywKKwkJCQkyNjE1MTZENTE1QjBFNjA1MDBBMkMyMDEgLyogU2V0QW5k
VXBkYXRlQ2FjaGVNb2RlbC5tbSAqLywKIAkJCQk1MkI4Q0Y5NTE1ODY4Q0YwMDAyODEwNTMgLyog
U2V0RG9jdW1lbnRVUkkubW0gKi8sCiAJCQkJQzU0MEY3NzUxNTJFNERBMDAwQTQwQzhDIC8qIFNp
bXBsaWZ5TWFya3VwLm1tICovLAogCQkJCTM3OTlBRDM5MTQxMjBBNDMwMDVFQjBDNiAvKiBTdHJp
bmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0RnJvbVN0cmluZy5tbSAqLywKQEAgLTkzMyw2ICs5MzYs
NyBAQAogCQkJCUY2NjBBQTBEMTVBNUYwNjEwMDNBMTI0MyAvKiBHZXRJbmplY3RlZEJ1bmRsZUlu
aXRpYWxpemF0aW9uVXNlckRhdGFDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGNjYw
QUExMzE1QTYxOUM5MDAzQTEyNDMgLyogSW5qZWN0ZWRCdW5kbGVJbml0aWFsaXphdGlvblVzZXJE
YXRhQ2FsbGJhY2tXaW5zLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGMTdCQkQ2MTVBRjZDNEQw
MDdBQjc1MyAvKiBXZWJDb3JlU3RhdGlzdGljc1dpdGhOb1dlYlByb2Nlc3MuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJMjYxNTE2RDYxNUIwRTYwNTAwQTJDMjAxIC8qIFNldEFuZFVwZGF0ZUNhY2hl
TW9kZWwubW0gaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBv
c3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvbWFjL1NldEFuZFVwZGF0ZUNhY2hlTW9kZWwubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL21hYy9TZXRBbmRVcGRhdGVDYWNoZU1vZGVsLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVlZDFmODE4
MGQxNjA3M2U3ZWEzMGIwNGRhMGU5ZDNkMjZkMDEwZjUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9TZXRBbmRVcGRhdGVDYWNoZU1vZGVsLm1tCkBAIC0w
LDAgKzEsMTAzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
PHd0Zi9SZXRhaW5QdHIuaD4KKworI2ltcG9ydCA8V2ViS2l0L1dlYlZpZXcuaD4KKyNpbXBvcnQg
PFdlYktpdC9XZWJQcmVmZXJlbmNlcy5oPgorCitAaW50ZXJmYWNlIFdlYlZpZXcgKFdlYlZpZXdP
dGhlckludGVybmFsKQorKyAoV2ViQ2FjaGVNb2RlbClfY2FjaGVNb2RlbDsKK0BlbmQKKworbmFt
ZXNwYWNlIFRlc3RXZWJLaXRBUEkgeworCitURVNUKFdlYktpdDEsIFNldEFuZFVwZGF0ZUNhY2hl
TW9kZWxJbml0aWFsTW9kZWwpCit7CisgICAgRVhQRUNUX0VRKChpbnQpV2ViQ2FjaGVNb2RlbERv
Y3VtZW50Vmlld2VyLCAoaW50KVtXZWJWaWV3IF9jYWNoZU1vZGVsXSk7CisKKyAgICBSZXRhaW5Q
dHI8V2ViVmlldz4gd2ViVmlldyhBZG9wdE5TLCBbW1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJh
bWU6TlNNYWtlUmVjdCgwLCAwLCAxMjAsIDIwMCkgZnJhbWVOYW1lOm5pbCBncm91cE5hbWU6bmls
XSk7CisKKyAgICBFWFBFQ1RfRVEoKGludClXZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93c2VyLCAo
aW50KVtXZWJWaWV3IF9jYWNoZU1vZGVsXSk7Cit9CisKK1RFU1QoV2ViS2l0MSwgU2V0QW5kVXBk
YXRlQ2FjaGVNb2RlbFN0YW5kYXJkUHJlZmVyZW5jZUNoYW5nZSkKK3sKKyAgICBFWFBFQ1RfRVEo
KGludClXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIChpbnQpW1dlYlZpZXcgX2NhY2hlTW9k
ZWxdKTsKKworICAgIFdlYlByZWZlcmVuY2VzICpzdGFuZGFyZFByZWZlcmVuY2VzID0gW1dlYlBy
ZWZlcmVuY2VzIHN0YW5kYXJkUHJlZmVyZW5jZXNdOworICAgIEVYUEVDVF9FUSgoaW50KVdlYkNh
Y2hlTW9kZWxEb2N1bWVudEJyb3dzZXIsIChpbnQpW1dlYlZpZXcgX2NhY2hlTW9kZWxdKTsKKwor
ICAgIFtzdGFuZGFyZFByZWZlcmVuY2VzIHNldENhY2hlTW9kZWw6V2ViQ2FjaGVNb2RlbFByaW1h
cnlXZWJCcm93c2VyXTsKKyAgICBFWFBFQ1RfRVEoKGludClXZWJDYWNoZU1vZGVsUHJpbWFyeVdl
YkJyb3dzZXIsIChpbnQpW1dlYlZpZXcgX2NhY2hlTW9kZWxdKTsKKworICAgIFtzdGFuZGFyZFBy
ZWZlcmVuY2VzIHNldENhY2hlTW9kZWw6V2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyXTsKKyAg
ICBFWFBFQ1RfRVEoKGludClXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIChpbnQpW1dlYlZp
ZXcgX2NhY2hlTW9kZWxdKTsKK30KKworVEVTVChXZWJLaXQxLCBTZXRBbmRVcGRhdGVDYWNoZU1v
ZGVsUHJlZmVyZW5jZXNDaGFuZ2VNaXgpCit7CisgICAgLy8gT24gY2hhbmdlLCB0aGUgY2FjaGUg
bW9kZWwgYWx3YXlzIHRha2UgdGhlIGhpZ2hlc3QgdmFsdWUgb2YgYW55IHByZWZlcmVuY2UgYm91
bmQgdG8gYSBXZWJWaWV3LgorICAgIEVYUEVDVF9FUSgoaW50KVdlYkNhY2hlTW9kZWxEb2N1bWVu
dFZpZXdlciwgKGludClbV2ViVmlldyBfY2FjaGVNb2RlbF0pOworCisgICAgV2ViUHJlZmVyZW5j
ZXMgKnN0YW5kYXJkUHJlZmVyZW5jZXMgPSBbV2ViUHJlZmVyZW5jZXMgc3RhbmRhcmRQcmVmZXJl
bmNlc107CisgICAgUmV0YWluUHRyPFdlYlByZWZlcmVuY2VzPiBjdXN0b21QcmVmZXJlbmNlcyhB
ZG9wdE5TLCBbW1dlYlByZWZlcmVuY2VzIGFsbG9jXSBpbml0V2l0aElkZW50aWZpZXI6QCJTZXRB
bmRVcGRhdGVDYWNoZU1vZGVsUHJlZmVyZW5jZXNDaGFuZ2VNaXgiXSk7CisKKyAgICAvLyAxKSBU
aGUgY3VzdG9tUHJlZmVyZW5jZXMgaXMgbm90IHNldCBvbiBhIHZpZXcuCisgICAgRVhQRUNUX0VR
KChpbnQpV2ViQ2FjaGVNb2RlbERvY3VtZW50QnJvd3NlciwgKGludClbV2ViVmlldyBfY2FjaGVN
b2RlbF0pOworCisgICAgW3N0YW5kYXJkUHJlZmVyZW5jZXMgc2V0Q2FjaGVNb2RlbDpXZWJDYWNo
ZU1vZGVsUHJpbWFyeVdlYkJyb3dzZXJdOworICAgIEVYUEVDVF9FUSgoaW50KVdlYkNhY2hlTW9k
ZWxQcmltYXJ5V2ViQnJvd3NlciwgKGludClbV2ViVmlldyBfY2FjaGVNb2RlbF0pOworCisgICAg
W3N0YW5kYXJkUHJlZmVyZW5jZXMgc2V0Q2FjaGVNb2RlbDpXZWJDYWNoZU1vZGVsRG9jdW1lbnRW
aWV3ZXJdOworICAgIEVYUEVDVF9FUSgoaW50KVdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwg
KGludClbV2ViVmlldyBfY2FjaGVNb2RlbF0pOworICAgIFtjdXN0b21QcmVmZXJlbmNlcy5nZXQo
KSBzZXRDYWNoZU1vZGVsOldlYkNhY2hlTW9kZWxQcmltYXJ5V2ViQnJvd3Nlcl07CisgICAgRVhQ
RUNUX0VRKChpbnQpV2ViQ2FjaGVNb2RlbFByaW1hcnlXZWJCcm93c2VyLCAoaW50KVtXZWJWaWV3
IF9jYWNoZU1vZGVsXSk7CisKKworICAgIC8vIDIpIFRoZSBjYWNoZSBtb2RlbCBzaG91bGQgZm9s
bG93IHRoZSBoaWdoZXN0IHZhbHVlIG9mIGNhY2hlIG1vZGVsIGJldHdlZW4gdGhlIHR3byBwcmVm
ZXJlbmNlcy4KKyAgICBSZXRhaW5QdHI8V2ViVmlldz4gd2ViVmlldyhBZG9wdE5TLCBbW1dlYlZp
ZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAxMjAsIDIwMCkgZnJhbWVO
YW1lOm5pbCBncm91cE5hbWU6bmlsXSk7CisgICAgW3dlYlZpZXcuZ2V0KCkgc2V0UHJlZmVyZW5j
ZXM6Y3VzdG9tUHJlZmVyZW5jZXMuZ2V0KCldOworICAgIEVYUEVDVF9FUSgoaW50KVdlYkNhY2hl
TW9kZWxQcmltYXJ5V2ViQnJvd3NlciwgKGludClbV2ViVmlldyBfY2FjaGVNb2RlbF0pOworCisg
ICAgW2N1c3RvbVByZWZlcmVuY2VzLmdldCgpIHNldENhY2hlTW9kZWw6V2ViQ2FjaGVNb2RlbERv
Y3VtZW50QnJvd3Nlcl07CisgICAgRVhQRUNUX0VRKChpbnQpV2ViQ2FjaGVNb2RlbERvY3VtZW50
QnJvd3NlciwgKGludClbV2ViVmlldyBfY2FjaGVNb2RlbF0pOworCisgICAgW3N0YW5kYXJkUHJl
ZmVyZW5jZXMgc2V0Q2FjaGVNb2RlbDpXZWJDYWNoZU1vZGVsUHJpbWFyeVdlYkJyb3dzZXJdOwor
ICAgIEVYUEVDVF9FUSgoaW50KVdlYkNhY2hlTW9kZWxQcmltYXJ5V2ViQnJvd3NlciwgKGludClb
V2ViVmlldyBfY2FjaGVNb2RlbF0pOworICAgIFtjdXN0b21QcmVmZXJlbmNlcy5nZXQoKSBzZXRD
YWNoZU1vZGVsOldlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlcl07CisgICAgRVhQRUNUX0VRKChp
bnQpV2ViQ2FjaGVNb2RlbFByaW1hcnlXZWJCcm93c2VyLCAoaW50KVtXZWJWaWV3IF9jYWNoZU1v
ZGVsXSk7CisKKyAgICAvLyAzKSBSZXNldHRpbmcgdGhlIHZpZXcgc2hvdWxkIGZhbGwgYmFjayB0
byBzdGFuZGFyZFByZWZlcmVuY2VzLgorICAgIFtzdGFuZGFyZFByZWZlcmVuY2VzIHNldENhY2hl
TW9kZWw6V2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyXTsKKyAgICBbY3VzdG9tUHJlZmVyZW5j
ZXMuZ2V0KCkgc2V0Q2FjaGVNb2RlbDpXZWJDYWNoZU1vZGVsUHJpbWFyeVdlYkJyb3dzZXJdOwor
ICAgIEVYUEVDVF9FUSgoaW50KVdlYkNhY2hlTW9kZWxQcmltYXJ5V2ViQnJvd3NlciwgKGludClb
V2ViVmlldyBfY2FjaGVNb2RlbF0pOworCisgICAgd2ViVmlldy5jbGVhcigpOworICAgIEVYUEVD
VF9FUSgoaW50KVdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgKGludClbV2ViVmlldyBfY2Fj
aGVNb2RlbF0pOworfQorCit9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>