<?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>141900</bug_id>
          
          <creation_ts>2015-02-23 02:00:31 -0800</creation_ts>
          <short_desc>[iOS] Implement WTR::activateFonts() to fix missing fonts in WebKit2 test runs</short_desc>
          <delta_ts>2015-02-24 05:03:49 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="David Kilzer (:ddkilzer)">ddkilzer</assigned_to>
          <cc>ap</cc>
    
    <cc>dbates</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1071165</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-23 02:00:31 -0800</bug_when>
    <thetext>Implement WTR::activateFonts() for iOS.

The current ActivateFontsIOS.mm is just a placeholder, so fonts like Ahem are not being rendered properly when running tests.

This fixes the fast/text/ruby-justification-flush.html reference test for iOS WebKit2 runs, and possibly others.  The same test already passes with WebKit1 because the font activation code in DumpRenderTree already exists for iOS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071168</commentid>
    <comment_count>1</comment_count>
      <attachid>247109</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-23 02:16:23 -0800</bug_when>
    <thetext>Created attachment 247109
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071289</commentid>
    <comment_count>2</comment_count>
      <attachid>247109</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-02-23 12:37:40 -0800</bug_when>
    <thetext>Comment on attachment 247109
Patch v1

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

&gt; Tools/WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mmTools/WebKitTestRunner/InjectedBundle/mac/ActivateFonts.mm:275
&gt;          exit(1);
&gt;      }

I thought we actually linked the contents of these font files into a rodata section in the actual executable. Do we not do this any more? Does this work on iOS?

&gt; Tools/WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mmTools/WebKitTestRunner/InjectedBundle/mac/ActivateFonts.mm:278
&gt;      swizzleNSFontManagerMethods();

See https://bugs.webkit.org/show_bug.cgi?id=132159 for implementing the whitelist on iOS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071350</commentid>
    <comment_count>3</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-23 14:53:28 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 247109 [details]
&gt; Patch v1
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=247109&amp;action=review
&gt; 
&gt; &gt; Tools/WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mmTools/WebKitTestRunner/InjectedBundle/mac/ActivateFonts.mm:275
&gt; &gt;          exit(1);
&gt; &gt;      }
&gt; 
&gt; I thought we actually linked the contents of these font files into a rodata
&gt; section in the actual executable. Do we not do this any more? Does this work
&gt; on iOS?

This does work on iOS.  See related code in DumpRenderTree.  Dan Bernstein fixed this a while ago.

&gt; &gt; Tools/WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mmTools/WebKitTestRunner/InjectedBundle/mac/ActivateFonts.mm:278
&gt; &gt;      swizzleNSFontManagerMethods();
&gt; 
&gt; See https://bugs.webkit.org/show_bug.cgi?id=132159 for implementing the
&gt; whitelist on iOS

Why is Bug 132159 OS X only?  Why aren&apos;t we fixing both platforms at the same time?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071385</commentid>
    <comment_count>4</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-02-23 16:00:07 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; Comment on attachment 247109 [details]
&gt; &gt; Patch v1
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=247109&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Tools/WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mmTools/WebKitTestRunner/InjectedBundle/mac/ActivateFonts.mm:275
&gt; &gt; &gt;          exit(1);
&gt; &gt; &gt;      }
&gt; &gt; 
&gt; &gt; I thought we actually linked the contents of these font files into a rodata
&gt; &gt; section in the actual executable. Do we not do this any more? Does this work
&gt; &gt; on iOS?
&gt; 
&gt; This does work on iOS.  See related code in DumpRenderTree.  Dan Bernstein
&gt; fixed this a while ago.
&gt; 
&gt; &gt; &gt; Tools/WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mmTools/WebKitTestRunner/InjectedBundle/mac/ActivateFonts.mm:278
&gt; &gt; &gt;      swizzleNSFontManagerMethods();
&gt; &gt; 
&gt; &gt; See https://bugs.webkit.org/show_bug.cgi?id=132159 for implementing the
&gt; &gt; whitelist on iOS
&gt; 
&gt; Why is Bug 132159 OS X only?  Why aren&apos;t we fixing both platforms at the
&gt; same time?

Ultimately it&apos;s for both, but the initial goal of the patch is to do something which requires a CoreText whitelist. Baby steps.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071628</commentid>
    <comment_count>5</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-24 05:03:49 -0800</bug_when>
    <thetext>Committed r180557: &lt;http://trac.webkit.org/changeset/180557&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247109</attachid>
            <date>2015-02-23 02:16:23 -0800</date>
            <delta_ts>2015-02-23 12:37:40 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-141900-v1.diff</filename>
            <type>text/plain</type>
            <size>16074</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxNTQ1
OWQzLi44ZGY0NDJlIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTUtMDItMjMgIERhdmlkIEtpbHplciAgPGRka2ls
emVyQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBJbXBsZW1lbnQgV1RSOjphY3RpdmF0ZUZv
bnRzKCkgdG8gZml4IG1pc3NpbmcgZm9udHMgaW4gV2ViS2l0MiB0ZXN0IHJ1bnMKKyAgICAgICAg
PGh0dHA6Ly93ZWJraXQub3JnL2IvMTQxOTAwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9Db25maWd1cmF0aW9ucy9J
bmplY3RlZEJ1bmRsZS54Y2NvbmZpZzoKKyAgICAgICAgKE9USEVSX0xERkxBR1NfQkFTRSk6IExp
bmsgdG8gQ29yZVRleHQuZnJhbWV3b3JrLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvY29jb2EvQWN0aXZhdGVGb250c0NvY29hLm1tOiBSZW5hbWUgZnJvbSBUb29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY3RpdmF0ZUZvbnRzLm1tLgor
ICAgICAgICAtIFJlbmFtZSB0byBzaGFyZSBjb2RlIHdpdGggaU9TLgorICAgICAgICAtIEFkZCBV
U0UoQVBQS0lUKSBhcm91bmQgQXBwS2l0LXNwZWNpZmljIGhlYWRlcnMgYW5kIGNvZGUuCisgICAg
ICAgIC0gRml4IGEgY2hlY2std2Via2l0LXN0eWxlIHdhcm5pbmcuCisgICAgICAgICogV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWN0aXZhdGVGb250c0lPUy5tbTogUmVtb3Zl
LgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvV2ViS2l0VGVzdFJ1bm5lci54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAtIFJlbmFtZSBtYWMvQWN0aXZhdGVGb250cy5tbSB0
byBjb2NvYS9BY3RpdmF0ZUZvbnRzQ29jb2EubW0uCisgICAgICAgIC0gUmVtb3ZlIGlvcy9BY3Rp
dmF0ZUZvbnRzSU9TLm1tLgorICAgICAgICAtIEZpeCBJbmplY3RlZEJ1bmRsZS9jb2NvYSBncm91
cCB0byByZXByZXNlbnQgdGhlIGRpcmVjdG9yeSBvbgorICAgICAgICAgIGRpc2suICBJbmNsdWRl
cyBhIGNoYW5nZSB0byBJbmplY3RlZEJ1bmRsZVBhZ2VDb2NvYS5tbS4KKwogMjAxNS0wMi0yMiAg
RGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIHJ1bi13
ZWJraXQtdGVzdHMgLS1sZWFrcyBpcyBicm9rZW4gYmVjYXVzZSBJT1NTaW11bGF0b3JQb3J0IGhh
cyBubyBpc19zbm93bGVvcGFyZCBhdHRyaWJ1dGUKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvQ29uZmlndXJhdGlvbnMvSW5qZWN0ZWRCdW5kbGUueGNjb25maWcgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0NvbmZpZ3VyYXRpb25zL0luamVjdGVkQnVuZGxlLnhjY29uZmlnCmlu
ZGV4IGU3ZTRlMmUuLmZlOGFjZDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
Q29uZmlndXJhdGlvbnMvSW5qZWN0ZWRCdW5kbGUueGNjb25maWcKKysrIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9Db25maWd1cmF0aW9ucy9JbmplY3RlZEJ1bmRsZS54Y2NvbmZpZwpAQCAtMjks
NyArMjksNyBAQCBQUk9EVUNUX05BTUUgPSBXZWJLaXRUZXN0UnVubmVySW5qZWN0ZWRCdW5kbGU7
CiBJTlNUQUxMX1BBVEggPSAkKFNZU1RFTV9MSUJSQVJZX0RJUikvRnJhbWV3b3Jrcy9XZWJLaXQu
ZnJhbWV3b3JrL1ZlcnNpb25zL0EvUmVzb3VyY2VzOwogU0tJUF9JTlNUQUxMID0gTk87CiAKLU9U
SEVSX0xERkxBR1NfQkFTRSA9IC1sJChXRUJLSVRfU1lTVEVNX0lOVEVSRkFDRV9MSUJSQVJZKSAt
ZnJhbWV3b3JrIFF1YXJ0ekNvcmU7CitPVEhFUl9MREZMQUdTX0JBU0UgPSAtbCQoV0VCS0lUX1NZ
U1RFTV9JTlRFUkZBQ0VfTElCUkFSWSkgLWZyYW1ld29yayBDb3JlVGV4dCAtZnJhbWV3b3JrIFF1
YXJ0ekNvcmU7CiBPVEhFUl9MREZMQUdTID0gJChpbmhlcml0ZWQpICQoT1RIRVJfTERGTEFHU19C
QVNFKSAkKE9USEVSX0xERkxBR1NfJChQTEFURk9STV9OQU1FKSk7CiBPVEhFUl9MREZMQUdTX2lw
aG9uZW9zID0gLWZyYW1ld29yayBDRk5ldHdvcmsgLWZyYW1ld29yayBDb3JlRm91bmRhdGlvbiAt
ZnJhbWV3b3JrIENvcmVHcmFwaGljcyAtZnJhbWV3b3JrIEZvdW5kYXRpb24gLWZyYW1ld29yayBV
SUtpdDsKIE9USEVSX0xERkxBR1NfaXBob25lc2ltdWxhdG9yID0gJChPVEhFUl9MREZMQUdTX2lw
aG9uZW9zKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvbWFjL0FjdGl2YXRlRm9udHMubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL2NvY29hL0FjdGl2YXRlRm9udHNDb2NvYS5tbQpzaW1pbGFyaXR5IGluZGV4IDk3JQpy
ZW5hbWUgZnJvbSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY3Rp
dmF0ZUZvbnRzLm1tCnJlbmFtZSB0byBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL2NvY29hL0FjdGl2YXRlRm9udHNDb2NvYS5tbQppbmRleCA5YTkzMzk4Li44M2E0OWFmIDEw
MDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY3Rp
dmF0ZUZvbnRzLm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
Y29jb2EvQWN0aXZhdGVGb250c0NvY29hLm1tCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHly
aWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTAtMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTIzLDE0ICsyMywxOCBAQAogICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNs
dWRlICJBY3RpdmF0ZUZvbnRzLmgiCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIkFjdGl2
YXRlRm9udHMuaCIKIAotI2ltcG9ydCA8QXBwS2l0L0FwcEtpdC5oPgogI2ltcG9ydCA8Q29yZUZv
dW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4KKyNpbXBvcnQgPENvcmVUZXh0L0NURm9udE1hbmFn
ZXIuaD4KICNpbXBvcnQgPHd0Zi9PYmpjUnVudGltZUV4dHJhcy5oPgogI2ltcG9ydCA8d3RmL1Jl
dGFpblB0ci5oPgogCisjaWYgVVNFKEFQUEtJVCkKKyNpbXBvcnQgPEFwcEtpdC9BcHBLaXQuaD4K
KyNlbmRpZgorCiBAaW50ZXJmYWNlIFdLVFJGb250QWN0aXZhdG9yRHVtbXlDbGFzcyA6IE5TT2Jq
ZWN0CiBAZW5kCiAKQEAgLTM5LDYgKzQzLDcgQEAgQGVuZAogCiBuYW1lc3BhY2UgV1RSIHsKIAor
I2lmIFVTRShBUFBLSVQpCiAKIHN0YXRpYyBOU1NldCAqYWxsb3dlZEZvbnRGYW1pbHlTZXQoKQog
ewpAQCAtMjA4LDkgKzIxMyw4IEBAIHN0YXRpYyBOU0FycmF5ICp3dHJfTlNGb250TWFuYWdlcl9h
dmFpbGFibGVGb250cyhpZCBzZWxmLCBTRUwgX2NtZCkKICAgICAgICAgfQogICAgIH0KIAotICAg
IGZvciAoTlNTdHJpbmcgKmhpZGRlbkZvbnRGYW1pbHkgaW4gc3lzdGVtSGlkZGVuRm9udEZhbWls
eVNldCgpKSB7CisgICAgZm9yIChOU1N0cmluZyAqaGlkZGVuRm9udEZhbWlseSBpbiBzeXN0ZW1I
aWRkZW5Gb250RmFtaWx5U2V0KCkpCiAgICAgICAgIFthdmFpbGFibGVGb250TGlzdCBhZGRPYmpl
Y3Q6aGlkZGVuRm9udEZhbWlseV07Ci0gICAgfQogCiAgICAgYXZhaWxhYmxlRm9udHMgPSBhdmFp
bGFibGVGb250TGlzdDsKICAgICByZXR1cm4gYXZhaWxhYmxlRm9udHM7CkBAIC0yMzcsNiArMjQx
LDggQEAgc3RhdGljIHZvaWQgc3dpenpsZU5TRm9udE1hbmFnZXJNZXRob2RzKCkKICAgICBhcHBL
aXRBdmFpbGFibGVGb250c0lNUCA9IG1ldGhvZF9zZXRJbXBsZW1lbnRhdGlvbihhdmFpbGFibGVG
b250c01ldGhvZCwgKElNUCl3dHJfTlNGb250TWFuYWdlcl9hdmFpbGFibGVGb250cyk7CiB9CiAK
KyNlbmRpZiAvLyBVU0UoQVBQS0lUKQorCiB2b2lkIGFjdGl2YXRlRm9udHMoKQogewogICAgIHN0
YXRpYyBjb25zdCBjaGFyKiBmb250RmlsZU5hbWVzW10gPSB7CkBAIC0yNjgsNyArMjc0LDkgQEAg
dm9pZCBhY3RpdmF0ZUZvbnRzKCkKICAgICAgICAgZXhpdCgxKTsKICAgICB9CiAKKyNpZiBVU0Uo
QVBQS0lUKQogICAgIHN3aXp6bGVOU0ZvbnRNYW5hZ2VyTWV0aG9kcygpOworI2VuZGlmIC8vIFVT
RShBUFBLSVQpCiB9CiAKIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvaW9zL0FjdGl2YXRlRm9udHNJT1MubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL2lvcy9BY3RpdmF0ZUZvbnRzSU9TLm1tCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAzZDcxYjRhLi4wMDAwMDAwCi0tLSBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0FjdGl2YXRlRm9udHNJT1MubW0KKysrIC9kZXYvbnVs
bApAQCAtMSwzNyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2lu
Y2x1ZGUgIkFjdGl2YXRlRm9udHMuaCIKLQotbmFtZXNwYWNlIFdUUiB7Ci0KLXZvaWQgYWN0aXZh
dGVGb250cygpCi17Ci0gICAgLy8gV3JpdGUgbWUuCi19Ci0KLX0KLQpkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9XZWJLaXRUZXN0UnVubmVyLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1dlYktpdFRlc3RSdW5uZXIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCA3Y2MyMWMyLi5jYWZjNDMyIDEwMDY0NAotLS0gYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL1dlYktpdFRlc3RSdW5uZXIueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1dlYktpdFRlc3RSdW5uZXIueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDMsNyArNDMsNiBAQAogCQkyRTM0QzkwMDE4QjY4ODA4
MDAwMDY3QkIgLyogV2ViS2l0VGVzdFJ1bm5lckluamVjdGVkQnVuZGxlLmJ1bmRsZSBpbiBSZXNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMyNTE4NjIxMUQxNUQ1
NDAwMkVCQzAxIC8qIFdlYktpdFRlc3RSdW5uZXJJbmplY3RlZEJ1bmRsZS5idW5kbGUgKi87IH07
CiAJCTJFNjNFRDhBMTg5MUFEN0UwMDJBN0FGQyAvKiBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcklP
Uy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFNjNF
RDc1MTg5MUFDRTkwMDJBN0FGQyAvKiBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcklPUy5tbSAqLzsg
fTsKIAkJMkU2M0VEOEIxODkxQUQ3RTAwMkE3QUZDIC8qIEFjY2Vzc2liaWxpdHlUZXh0TWFya2Vy
SU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkU2
M0VENzcxODkxQUNFOTAwMkE3QUZDIC8qIEFjY2Vzc2liaWxpdHlUZXh0TWFya2VySU9TLm1tICov
OyB9OwotCQkyRTYzRUQ4RDE4OTFBRDdFMDAyQTdBRkMgLyogQWN0aXZhdGVGb250c0lPUy5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFNjNFRDc5MTg5
MUFDRTkwMDJBN0FGQyAvKiBBY3RpdmF0ZUZvbnRzSU9TLm1tICovOyB9OwogCQkyRTYzRUQ4RTE4
OTFBRDdFMDAyQTdBRkMgLyogRXZlbnRTZW5kZXJQcm94eUlPUy5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFNjNFRDdBMTg5MUFDRTkwMDJBN0FGQyAv
KiBFdmVudFNlbmRlclByb3h5SU9TLm1tICovOyB9OwogCQkyRTYzRUQ4RjE4OTFBRDdFMDAyQTdB
RkMgLyogSW5qZWN0ZWRCdW5kbGVJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAyRTYzRUQ3QjE4OTFBQ0U5MDAyQTdBRkMgLyogSW5qZWN0ZWRCdW5k
bGVJT1MubW0gKi87IH07CiAJCTJFNjNFRDkxMTg5MUFEQUQwMDJBN0FGQyAvKiBQbGF0Zm9ybVdl
YlZpZXdJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyRUU1MkQxMzE4OTBBOUZCMDAxMEVEMjEgLyogUGxhdGZvcm1XZWJWaWV3SU9TLm1tICovOyB9
OwpAQCAtODYsNyArODUsNyBAQAogCQk2NTEwQTc4QTExRUM2NDM4MDA0MTA4NjcgLyogV2ViS2l0
V2VpZ2h0V2F0Y2hlcjcwMC50dGYgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDY1MTBBNzdGMTFFQzY0MzgwMDQxMDg2NyAvKiBXZWJLaXRXZWlnaHRXYXRj
aGVyNzAwLnR0ZiAqLzsgfTsKIAkJNjUxMEE3OEIxMUVDNjQzODAwNDEwODY3IC8qIFdlYktpdFdl
aWdodFdhdGNoZXI4MDAudHRmIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA2NTEwQTc4MDExRUM2NDM4MDA0MTA4NjcgLyogV2ViS2l0V2VpZ2h0V2F0Y2hl
cjgwMC50dGYgKi87IH07CiAJCTY1MTBBNzhDMTFFQzY0MzgwMDQxMDg2NyAvKiBXZWJLaXRXZWln
aHRXYXRjaGVyOTAwLnR0ZiBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNjUxMEE3ODExMUVDNjQzODAwNDEwODY3IC8qIFdlYktpdFdlaWdodFdhdGNoZXI5
MDAudHRmICovOyB9OwotCQk2NUVCODVBMDExRUM2N0NDMDAzNEQzMDAgLyogQWN0aXZhdGVGb250
cy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1RUI4
NTlGMTFFQzY3Q0MwMDM0RDMwMCAvKiBBY3RpdmF0ZUZvbnRzLm1tICovOyB9OworCQk2NUVCODVB
MDExRUM2N0NDMDAzNEQzMDAgLyogQWN0aXZhdGVGb250c0NvY29hLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjVFQjg1OUYxMUVDNjdDQzAwMzREMzAw
IC8qIEFjdGl2YXRlRm9udHNDb2NvYS5tbSAqLzsgfTsKIAkJODAzNEM2NjIxNDg3NjM2NDAwQUMz
MkU5IC8qIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODAzNEM2NjExNDg3NjM2NDAwQUMzMkU5IC8qIEFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyTWFjLm1tICovOyB9OwogCQk4MDk3MzM4QTE0ODc0QTVBMDA4
MTU2RDkgLyogQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXIubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MDk3MzM4OTE0ODc0QTVBMDA4MTU2
RDkgLyogQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXIubW0gKi87IH07CiAJCTg0MUND
MDBGMTgxMTg1QkYwMDQyRTlCNiAvKiBPcHRpb25zLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0MUNDMDBEMTgxMTg1QkYwMDQyRTlCNiAvKiBPcHRp
b25zLmNwcCAqLzsgfTsKQEAgLTE0Niw3ICsxNDUsNyBAQAogLyogQmVnaW4gUEJYRmlsZVJlZmVy
ZW5jZSBzZWN0aW9uICovCiAJCTBGMjEwOUM3MTg5QzY1MEQwMEY4NzlBMyAvKiBCYXNlVGFyZ2V0
LnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IEJhc2VUYXJnZXQueGNjb25maWc7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTBGNTE2OUNBMTQ0NTIyMkQwMEUwQTlENyAvKiBXZWJLaXQuZnJh
bWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
d3JhcHBlci5mcmFtZXdvcms7IHBhdGggPSBXZWJLaXQuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0g
QlVJTFRfUFJPRFVDVFNfRElSOyB9OwotCQkwRkVCOTA5RTE5MDVBNzc2MDAwRkRCRjMgLyogSW5q
ZWN0ZWRCdW5kbGVQYWdlQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IG5hbWUgPSBJbmplY3RlZEJ1bmRsZVBhZ2VDb2NvYS5tbTsgcGF0aCA9IGNvY29hL0luamVjdGVk
QnVuZGxlUGFnZUNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkVCOTA5
RTE5MDVBNzc2MDAwRkRCRjMgLyogSW5qZWN0ZWRCdW5kbGVQYWdlQ29jb2EubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBJbmplY3RlZEJ1bmRsZVBhZ2VDb2NvYS5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZFQjkwQTIxOTA1QkM2QTAwMEZEQkYz
IC8qIENyYXNoUmVwb3J0ZXJJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IENyYXNoUmVwb3J0ZXJJbmZvLmg7IHBhdGggPSBjb2NvYS9DcmFzaFJlcG9ydGVySW5mby5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkVCOTBBMzE5MDVCQzZBMDAwRkRCRjMgLyog
Q3Jhc2hSZXBvcnRlckluZm8ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5h
bWUgPSBDcmFzaFJlcG9ydGVySW5mby5tbTsgcGF0aCA9IGNvY29hL0NyYXNoUmVwb3J0ZXJJbmZv
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyNkQ3NThFNTE2MEJFQ0RDMDAyNjg0
NzIgLyogR2VvbG9jYXRpb25Qcm92aWRlck1vY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gR2VvbG9jYXRpb25Qcm92aWRlck1vY2suY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMTc3LDcgKzE3Niw2IEBACiAJCTJFNjNFRDc2MTg5MUFDRTkwMDJB
N0FGQyAvKiBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRTYzRUQ3NzE4OTFBQ0U5MDAyQTdBRkMgLyog
QWNjZXNzaWJpbGl0eVRleHRNYXJrZXJJT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlcklPUy5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMkU2M0VENzgxODkxQUNFOTAwMkE3QUZDIC8qIEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnRJT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQkyRTYzRUQ3OTE4OTFBQ0U5MDAyQTdBRkMgLyogQWN0aXZhdGVGb250c0lPUy5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFjdGl2YXRlRm9udHNJT1MubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFNjNFRDdBMTg5MUFDRTkwMDJBN0FGQyAv
KiBFdmVudFNlbmRlclByb3h5SU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gRXZlbnRTZW5kZXJQcm94eUlPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMkU2M0VEN0IxODkxQUNFOTAwMkE3QUZDIC8qIEluamVjdGVkQnVuZGxlSU9TLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gSW5qZWN0ZWRCdW5kbGVJT1Mu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFRTUyQ0UwMTg5MEE5QTgwMDEwRUQy
MSAvKiBXZWJLaXRUZXN0UnVubmVyQXBwLmFwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBleHBsaWNpdEZpbGVUeXBlID0gd3JhcHBlci5hcHBsaWNhdGlvbjsgaW5jbHVkZUluSW5kZXgg
PSAwOyBwYXRoID0gV2ViS2l0VGVzdFJ1bm5lckFwcC5hcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9Q
Uk9EVUNUU19ESVI7IH07CkBAIC0yMjYsNyArMjI0LDcgQEAKIAkJNjUxMEE3ODAxMUVDNjQzODAw
NDEwODY3IC8qIFdlYktpdFdlaWdodFdhdGNoZXI4MDAudHRmICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZTsgbmFtZSA9IFdlYktpdFdlaWdodFdh
dGNoZXI4MDAudHRmOyBwYXRoID0gZm9udHMvV2ViS2l0V2VpZ2h0V2F0Y2hlcjgwMC50dGY7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1MTBBNzgxMTFFQzY0MzgwMDQxMDg2NyAvKiBX
ZWJLaXRXZWlnaHRXYXRjaGVyOTAwLnR0ZiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IGZpbGU7IG5hbWUgPSBXZWJLaXRXZWlnaHRXYXRjaGVyOTAwLnR0
ZjsgcGF0aCA9IGZvbnRzL1dlYktpdFdlaWdodFdhdGNoZXI5MDAudHRmOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk2NUVCODU5RDExRUM2N0NDMDAzNEQzMDAgLyogQWN0aXZhdGVGb250
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY3RpdmF0ZUZvbnRzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTY1RUI4NTlGMTFFQzY3Q0MwMDM0RDMwMCAvKiBB
Y3RpdmF0ZUZvbnRzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
QWN0aXZhdGVGb250cy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNjVFQjg1OUYx
MUVDNjdDQzAwMzREMzAwIC8qIEFjdGl2YXRlRm9udHNDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFjdGl2YXRlRm9udHNDb2NvYS5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODAzNEM2NjExNDg3NjM2NDAwQUMzMkU5IC8qIEFjY2Vzc2li
aWxpdHlDb250cm9sbGVyTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTgwOTczMzg4MTQ4NzRBNUEwMDgxNTZEOSAvKiBBY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uSGFuZGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBBY2Nlc3Np
YmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlci5oOyBwYXRoID0gbWFjL0FjY2Vzc2liaWxpdHlOb3Rp
ZmljYXRpb25IYW5kbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgwOTczMzg5
MTQ4NzRBNUEwMDgxNTZEOSAvKiBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlci5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IEFjY2Vzc2liaWxpdHlOb3Rp
ZmljYXRpb25IYW5kbGVyLm1tOyBwYXRoID0gbWFjL0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25I
YW5kbGVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzkyLDkgKzM5MCwxMCBA
QAogCQkwRkVCOTA5RDE5MDVBNzVEMDAwRkRCRjMgLyogY29jb2EgKi8gPSB7CiAJCQlpc2EgPSBQ
QlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTY1RUI4NTlGMTFFQzY3Q0MwMDM0RDMwMCAv
KiBBY3RpdmF0ZUZvbnRzQ29jb2EubW0gKi8sCiAJCQkJMEZFQjkwOUUxOTA1QTc3NjAwMEZEQkYz
IC8qIEluamVjdGVkQnVuZGxlUGFnZUNvY29hLm1tICovLAogCQkJKTsKLQkJCW5hbWUgPSBjb2Nv
YTsKKwkJCXBhdGggPSBjb2NvYTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CiAJ
CTBGRUI5MEExMTkwNUJDNEEwMDBGREJGMyAvKiBjb2NvYSAqLyA9IHsKQEAgLTQ0MSw3ICs0NDAs
NiBAQAogCQkJCTJFNjNFRDc2MTg5MUFDRTkwMDJBN0FGQyAvKiBBY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uSGFuZGxlci5oICovLAogCQkJCTJFNjNFRDc3MTg5MUFDRTkwMDJBN0FGQyAvKiBBY2Nl
c3NpYmlsaXR5VGV4dE1hcmtlcklPUy5tbSAqLywKIAkJCQkyRTYzRUQ3ODE4OTFBQ0U5MDAyQTdB
RkMgLyogQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbSAqLywKLQkJCQkyRTYzRUQ3OTE4OTFB
Q0U5MDAyQTdBRkMgLyogQWN0aXZhdGVGb250c0lPUy5tbSAqLywKIAkJCQkyRTYzRUQ3QTE4OTFB
Q0U5MDAyQTdBRkMgLyogRXZlbnRTZW5kZXJQcm94eUlPUy5tbSAqLywKIAkJCQkyRTYzRUQ3QjE4
OTFBQ0U5MDAyQTdBRkMgLyogSW5qZWN0ZWRCdW5kbGVJT1MubW0gKi8sCiAJCQkpOwpAQCAtNDk2
LDcgKzQ5NCw2IEBACiAJCQkJMjlBOEZDRTQxNDVGMDQ2NDAwOTA0NUE2IC8qIEFjY2Vzc2liaWxp
dHlUZXh0TWFya2VyUmFuZ2VNYWMubW0gKi8sCiAJCQkJMjkyMTBFQUIxNDRDQUNCMjAwODM1QkI1
IC8qIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0gKi8sCiAJCQkJNUM0NUMzMEUxNzM5OEUy
OTAwNzk3MTRFIC8qIFdlYkFyY2hpdmVEdW1wU3VwcG9ydE1hYy5tbSAqLywKLQkJCQk2NUVCODU5
RjExRUM2N0NDMDAzNEQzMDAgLyogQWN0aXZhdGVGb250cy5tbSAqLywKIAkJCQlCQzhEQUQ3NzEz
MTZEN0I5MDBFQzk2RkMgLyogSW5qZWN0ZWRCdW5kbGVNYWMubW0gKi8sCiAJCQkpOwogCQkJcGF0
aCA9IG1hYzsKQEAgLTgzOSw3ICs4MzYsNiBAQAogCQkJCTJFNjNFRDlFMTg5MUFFQzEwMDJBN0FG
QyAvKiBXZWJBcmNoaXZlRHVtcFN1cHBvcnRJT1MubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRTYz
RUQ4QTE4OTFBRDdFMDAyQTdBRkMgLyogQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJJT1MubW0gaW4g
U291cmNlcyAqLywKIAkJCQkyRTYzRUQ4QjE4OTFBRDdFMDAyQTdBRkMgLyogQWNjZXNzaWJpbGl0
eVRleHRNYXJrZXJJT1MubW0gaW4gU291cmNlcyAqLywKLQkJCQkyRTYzRUQ4RDE4OTFBRDdFMDAy
QTdBRkMgLyogQWN0aXZhdGVGb250c0lPUy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJFNjNFRDhF
MTg5MUFEN0UwMDJBN0FGQyAvKiBFdmVudFNlbmRlclByb3h5SU9TLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJMkU2M0VEOEYxODkxQUQ3RTAwMkE3QUZDIC8qIEluamVjdGVkQnVuZGxlSU9TLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMjkyMTBFREExNDRDQzNFQTAwODM1QkI2IC8qIEFjY2Vzc2liaWxp
dHlDb21tb25NYWMubW0gaW4gU291cmNlcyAqLywKQEAgLTg1Myw3ICs4NDksNyBAQAogCQkJCTI5
QThGQ0U1MTQ1RjA0NjQwMDkwNDVBNiAvKiBBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlTWFj
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMjkyMTBFQUUxNDRDQUNCNzAwODM1QkI1IC8qIEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMjkyMTBFREExNDRDQzNF
QTAwODM1QkI1IC8qIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0gaW4gU291cmNlcyAqLywK
LQkJCQk2NUVCODVBMDExRUM2N0NDMDAzNEQzMDAgLyogQWN0aXZhdGVGb250cy5tbSBpbiBTb3Vy
Y2VzICovLAorCQkJCTY1RUI4NUEwMTFFQzY3Q0MwMDM0RDMwMCAvKiBBY3RpdmF0ZUZvbnRzQ29j
b2EubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQzhGRDhDQTEyMEU1MjdGMDBGM0U3MUEgLyogRXZl
bnRTZW5kaW5nQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzE0RTREQjEyMEUw
MkQwMDA4MjZDMEMgLyogR0NDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQzk5
N0E0MTFEM0M4RjYwMDE3QkNBMiAvKiBJbmplY3RlZEJ1bmRsZS5jcHAgaW4gU291cmNlcyAqLywK
</data>
<flag name="review"
          id="272054"
          type_id="1"
          status="+"
          setter="mmaxfield"
    />
          </attachment>
      

    </bug>

</bugzilla>