<?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>61539</bug_id>
          
          <creation_ts>2011-05-26 09:29:16 -0700</creation_ts>
          <short_desc>Media Stream PeerConnection API: adding the StreamList and supporting classes.</short_desc>
          <delta_ts>2011-06-14 06:58:28 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          <dependson>56666</dependson>
          <blocked>56459</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tommy Widenflycht">tommyw</reporter>
          <assigned_to name="Tommy Widenflycht">tommyw</assigned_to>
          <cc>harald</cc>
    
    <cc>leandrogracia</cc>
    
    <cc>tonyg</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>410519</commentid>
    <comment_count>0</comment_count>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-05-26 09:29:16 -0700</bug_when>
    <thetext>This patch introduces the StreamList class, together with a supporting class, according to the lastest specification.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410523</commentid>
    <comment_count>1</comment_count>
      <attachid>94989</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-05-26 09:36:20 -0700</bug_when>
    <thetext>Created attachment 94989
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410621</commentid>
    <comment_count>2</comment_count>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-05-26 11:24:22 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=94989) [details]
&gt; Patch

Just a few comments.

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        No new tests. (OOPS!)

This will make the commit queue bots to abort your patch. Since the test framework for the MediaStream API is not ready yet, you should point that tests for this functionality will be provided by bug 56587 and make sure to include later some tests checking this.

&gt; Source/WebCore/dom/StreamList.cpp:41
&gt; +    m_streams = streams;

Since this is a constructor you should use initialization lists.

&gt; Source/WebCore/dom/StreamList.cpp:57
&gt; +    return PassRefPtr&lt;Stream&gt;();

I have a limited knowledge about Javascript arrays but, is there or there should be any exception throwing to be managed here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412195</commentid>
    <comment_count>3</comment_count>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-05-30 05:40:42 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (In reply to comment #1)
&gt; &gt; Created an attachment (id=94989) [details] [details]
&gt; &gt; Patch
&gt; 
&gt; Just a few comments.
&gt; 
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=94989&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:8
&gt; &gt; +        No new tests. (OOPS!)
&gt; 
&gt; This will make the commit queue bots to abort your patch. Since the test framework for the MediaStream API is not ready yet, you should point that tests for this functionality will be provided by bug 56587 and make sure to include later some tests checking this.

Done.

&gt; &gt; Source/WebCore/dom/StreamList.cpp:41
&gt; &gt; +    m_streams = streams;
&gt; 
&gt; Since this is a constructor you should use initialization lists.

Done.

&gt; &gt; Source/WebCore/dom/StreamList.cpp:57
&gt; &gt; +    return PassRefPtr&lt;Stream&gt;();
&gt; 
&gt; I have a limited knowledge about Javascript arrays but, is there or there should be any exception throwing to be managed here?

No, according to the ecmascript standard one should just return undefined aka null.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412197</commentid>
    <comment_count>4</comment_count>
      <attachid>95338</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-05-30 05:44:44 -0700</bug_when>
    <thetext>Created attachment 95338
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417189</commentid>
    <comment_count>5</comment_count>
      <attachid>96409</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-06-08 05:45:45 -0700</bug_when>
    <thetext>Created attachment 96409
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420300</commentid>
    <comment_count>6</comment_count>
      <attachid>96409</attachid>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2011-06-14 02:47:50 -0700</bug_when>
    <thetext>Comment on attachment 96409
Patch

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

&gt; Source/WebCore/dom/StreamContainer.h:50
&gt; +            if (j == index)

Does this assume that HashMap guarantees iteration in the same order the items were added? If so, maybe it should be a Vector instead? What other properties does this container need to exhibit (e.g. can a stream be added multiple times)?

It is hard to tell exactly how this will be used, but I&apos;m wondering if this container class is really necessary at all or if the StreamList should just typedef the appropriate wtf container.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420306</commentid>
    <comment_count>7</comment_count>
      <attachid>96409</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-06-14 02:58:46 -0700</bug_when>
    <thetext>Comment on attachment 96409
Patch

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

&gt;&gt; Source/WebCore/dom/StreamContainer.h:50
&gt;&gt; +            if (j == index)
&gt; 
&gt; Does this assume that HashMap guarantees iteration in the same order the items were added? If so, maybe it should be a Vector instead? What other properties does this container need to exhibit (e.g. can a stream be added multiple times)?
&gt; 
&gt; It is hard to tell exactly how this will be used, but I&apos;m wondering if this container class is really necessary at all or if the StreamList should just typedef the appropriate wtf container.

As far as I understand we just need to be able to iterate over the data, and I choose a hashmap since that makes the other operations much more efficient. A stream can&apos;t be added more than once, I probably should add an assert for that here instead of just checking in PeerConnection.

The StreamList and PeerConnection needs to share the container, the spec explicitly states that the StreamList is &quot;live&quot;. I choose this approach since it makes clear that they share the list, but it can be refactored by merging StreamList and StreamContainer into the same class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420307</commentid>
    <comment_count>8</comment_count>
      <attachid>96409</attachid>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2011-06-14 03:11:02 -0700</bug_when>
    <thetext>Comment on attachment 96409
Patch

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

&gt;&gt;&gt; Source/WebCore/dom/StreamContainer.h:50
&gt;&gt;&gt; +            if (j == index)
&gt;&gt; 
&gt;&gt; Does this assume that HashMap guarantees iteration in the same order the items were added? If so, maybe it should be a Vector instead? What other properties does this container need to exhibit (e.g. can a stream be added multiple times)?
&gt;&gt; 
&gt;&gt; It is hard to tell exactly how this will be used, but I&apos;m wondering if this container class is really necessary at all or if the StreamList should just typedef the appropriate wtf container.
&gt; 
&gt; As far as I understand we just need to be able to iterate over the data, and I choose a hashmap since that makes the other operations much more efficient. A stream can&apos;t be added more than once, I probably should add an assert for that here instead of just checking in PeerConnection.
&gt; 
&gt; The StreamList and PeerConnection needs to share the container, the spec explicitly states that the StreamList is &quot;live&quot;. I choose this approach since it makes clear that they share the list, but it can be refactored by merging StreamList and StreamContainer into the same class.

Where is StreamList specced? I don&apos;t see it in the whatwg spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420308</commentid>
    <comment_count>9</comment_count>
      <attachid>96409</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-06-14 03:19:05 -0700</bug_when>
    <thetext>Comment on attachment 96409
Patch

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

&gt;&gt;&gt;&gt; Source/WebCore/dom/StreamContainer.h:50
&gt;&gt;&gt;&gt; +            if (j == index)
&gt;&gt;&gt; 
&gt;&gt;&gt; Does this assume that HashMap guarantees iteration in the same order the items were added? If so, maybe it should be a Vector instead? What other properties does this container need to exhibit (e.g. can a stream be added multiple times)?
&gt;&gt;&gt; 
&gt;&gt;&gt; It is hard to tell exactly how this will be used, but I&apos;m wondering if this container class is really necessary at all or if the StreamList should just typedef the appropriate wtf container.
&gt;&gt; 
&gt;&gt; As far as I understand we just need to be able to iterate over the data, and I choose a hashmap since that makes the other operations much more efficient. A stream can&apos;t be added more than once, I probably should add an assert for that here instead of just checking in PeerConnection.
&gt;&gt; 
&gt;&gt; The StreamList and PeerConnection needs to share the container, the spec explicitly states that the StreamList is &quot;live&quot;. I choose this approach since it makes clear that they share the list, but it can be refactored by merging StreamList and StreamContainer into the same class.
&gt; 
&gt; Where is StreamList specced? I don&apos;t see it in the whatwg spec.

It isn&apos;t speced as such, if you look at the PeerConnection idl you see this:

readonly attribute Stream[] localStreams;
readonly attribute Stream[] remoteStreams;

To implement these &quot;simple&quot; arrays one needs to create a new class I learned by looking at the existing code. See NodeList etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420315</commentid>
    <comment_count>10</comment_count>
      <attachid>97094</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-06-14 04:24:41 -0700</bug_when>
    <thetext>Created attachment 97094
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420385</commentid>
    <comment_count>11</comment_count>
      <attachid>97094</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-14 06:58:24 -0700</bug_when>
    <thetext>Comment on attachment 97094
Patch

Clearing flags on attachment: 97094

Committed r88798: &lt;http://trac.webkit.org/changeset/88798&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420387</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-14 06:58:28 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94989</attachid>
            <date>2011-05-26 09:36:20 -0700</date>
            <delta_ts>2011-05-30 05:44:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61539-20110526183618.patch</filename>
            <type>text/plain</type>
            <size>25787</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODczOTEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYzg3NGI5
NDVjYThmNGIxMjM5YTA2Nzg4MmY5OGY4OTY5NzJkMTNkNi4uYzQ2MGI4ZGU1M2U3NWIzNTk5YzEz
YmY1NzIwNTdiMGIyNjZmNmI4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE5NTYsNiArMTk1
Niw3IEBAIElGIChFTkFCTEVfTUVESUFfU1RSRUFNKQogICAgICAgICBiaW5kaW5ncy9qcy9KU05h
dmlnYXRvckN1c3RvbS5jcHAKICAgICAgICAgZG9tL0dlbmVyYXRlZFN0cmVhbS5jcHAKICAgICAg
ICAgZG9tL1N0cmVhbS5jcHAKKyAgICAgICAgZG9tL1N0cmVhbUxpc3QuY3BwCiAgICAgICAgIHBh
Z2UvTWVkaWFTdHJlYW1Db250cm9sbGVyLmNwcAogICAgICAgICBwYWdlL01lZGlhU3RyZWFtRnJh
bWVDb250cm9sbGVyLmNwcAogICAgICkKQEAgLTE5NjMsNiArMTk2NCw3IEBAIElGIChFTkFCTEVf
TUVESUFfU1RSRUFNKQogICAgIExJU1QoQVBQRU5EIFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgICAg
IGRvbS9HZW5lcmF0ZWRTdHJlYW0uaWRsCiAgICAgICAgIGRvbS9TdHJlYW0uaWRsCisgICAgICAg
IGRvbS9TdHJlYW1MaXN0LmlkbAogICAgICAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9y
LmlkbAogICAgICkKIEVORElGICgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmI1ZjBkNGExMjg2NzNiNjc1Nzlk
YTQ5MTM1ZTI0YjM5YmVlMmE4MS4uNGZhNmNiYmU2MDU2YmYwMTg5YTI4ZmUyZGM2ZTVmY2I4MGI5
Mjc2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDExLTA1LTI2ICBMZWFuZHJvIEdy
YWNpYSBHaWwgIDxsZWFuZHJvZ3JhY2lhQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNZWRpYSBTdHJlYW0gUGVlckNvbm5lY3Rp
b24gQVBJOiBhZGRpbmcgdGhlIFN0cmVhbUxpc3QgYW5kIHN1cHBvcnRpbmcgY2xhc3Nlcy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxNTM5CisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzLiAoT09QUyEpCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoK
KyAgICAgICAgKiBDb2RlR2VuZXJhdG9ycy5wcmk6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMu
Y3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZp
bGUubGlzdC5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5w
cm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICog
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9TdHJlYW1D
b250YWluZXIuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTdHJlYW1Db250YWluZXI6OmNy
ZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHJlYW1Db250YWluZXI6On5TdHJlYW1Db250YWlu
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtQ29udGFpbmVyOjpsZW5ndGgpOgorICAgICAg
ICAoV2ViQ29yZTo6U3RyZWFtQ29udGFpbmVyOjppdGVtKToKKyAgICAgICAgKFdlYkNvcmU6OlN0
cmVhbUNvbnRhaW5lcjo6YWRkKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbUNvbnRhaW5lcjo6
cmVtb3ZlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbUNvbnRhaW5lcjo6Y29udGFpbnMpOgor
ICAgICAgICAoV2ViQ29yZTo6U3RyZWFtQ29udGFpbmVyOjpnZXQpOgorICAgICAgICAoV2ViQ29y
ZTo6U3RyZWFtQ29udGFpbmVyOjpTdHJlYW1Db250YWluZXIpOgorICAgICAgICAqIGRvbS9TdHJl
YW1MaXN0LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTdHJlYW1MaXN0OjpjcmVhdGUp
OgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtTGlzdDo6U3RyZWFtTGlzdCk6CisgICAgICAgIChX
ZWJDb3JlOjpTdHJlYW1MaXN0Ojp+U3RyZWFtTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpTdHJl
YW1MaXN0OjpsZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtTGlzdDo6aXRlbSk6Cisg
ICAgICAgICogZG9tL1N0cmVhbUxpc3QuaDogQWRkZWQuCisgICAgICAgICogZG9tL1N0cmVhbUxp
c3QuaWRsOiBBZGRlZC4KKwogMjAxMS0wNS0yNiAgQW5kcmVhcyBLbGluZyAgPGtsaW5nQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQmVuamFtaW4gUG91bGFpbi4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnByaSBiL1NvdXJjZS9XZWJDb3JlL0Nv
ZGVHZW5lcmF0b3JzLnByaQppbmRleCBhZTUyZWQyYWQ0YTI2NjlmZjQ3MzAxYmJkNTZlYmJmYTBi
ZDAwZGMwLi5iZjhiMGNhY2Q4ZmE3MDZjMDc0NTZkMjU5ZTUyMWNjYWMzMzM1MmVjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkKKysrIGIvU291cmNlL1dlYkNv
cmUvQ29kZUdlbmVyYXRvcnMucHJpCkBAIC0xNTYsNiArMTU2LDcgQEAgSURMX0JJTkRJTkdTICs9
IFwKICAgICBkb20vUmFuZ2VFeGNlcHRpb24uaWRsIFwKICAgICBkb20vUmFuZ2UuaWRsIFwKICAg
ICBkb20vU3RyZWFtLmlkbCBcCisgICAgZG9tL1N0cmVhbUxpc3QuaWRsIFwKICAgICBkb20vU3Ry
aW5nQ2FsbGJhY2suaWRsIFwKICAgICBkb20vVGV4dC5pZGwgXAogICAgIGRvbS9UZXh0RXZlbnQu
aWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRleCA0YzhiMTIzZDJkODc0Y2E0ZDEy
M2VkNTFlZjZhOGUxMTRjODc1Y2VjLi42OTYwYjIxY2FkZTY0OGQ5ZTg2MTdiY2FiMmRlNGM4NmJm
NjIxZDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC0yOTEsNiArMjkxLDcgQEAK
ICNpbmNsdWRlICJKU1N0b3JhZ2VJbmZvUXVvdGFDYWxsYmFjay5jcHAiCiAjaW5jbHVkZSAiSlNT
dG9yYWdlSW5mb1VzYWdlQ2FsbGJhY2suY3BwIgogI2luY2x1ZGUgIkpTU3RyZWFtLmNwcCIKKyNp
bmNsdWRlICJKU1N0cmVhbUxpc3QuY3BwIgogI2luY2x1ZGUgIkpTU3RyaW5nQ2FsbGJhY2suY3Bw
IgogI2luY2x1ZGUgIkpTU3R5bGVNZWRpYS5jcHAiCiAjaW5jbHVkZSAiSlNTdHlsZVNoZWV0LmNw
cCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDg2NGVkZTZkNzAzMWJjYzVmOTEz
NGMyOGYzYWNjY2YwNzY2OTc3NDguLjcyN2I3YzdlMGMyZWI2N2RhYzU1NWE5YzQ3MTQ4YWNmZGFk
MmVjYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysr
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMzYyLDYgKzM2Miw3IEBA
IERPTV9DTEFTU0VTID0gXAogICAgIFN0b3JhZ2VJbmZvUXVvdGFDYWxsYmFjayBcCiAgICAgU3Rv
cmFnZUluZm9Vc2FnZUNhbGxiYWNrIFwKICAgICBTdHJlYW0gXAorICAgIFN0cmVhbUxpc3QgXAog
ICAgIFN0cmluZ0NhbGxiYWNrIFwKICAgICBTVkdBRWxlbWVudCBcCiAgICAgU1ZHQWx0R2x5cGhF
bGVtZW50IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0g
Yi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDk5ZjlmM2U0MTU2Mzdl
ODI2YWViM2UwOGY0MjFmNGE2ZDg0ZmExOGUuLmQxMmRiMzQ0ZjljMDgzYzIyNjRhNjZhYmYwNmE1
MjY4YzFlN2ZlNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNDU5LDYgKzQ1
OSw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1N0b3JhZ2VJbmZvVXNhZ2VDYWxsYmFjay5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTU3RyZWFtLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1N0cmVhbS5oIFwKKwlE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU3RyZWFtTGlzdC5jcHAgXAorCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNTdHJlYW1MaXN0LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTdHls
ZU1lZGlhLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1N0eWxlTWVkaWEuaCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1N0eWxlU2hlZXQuY3BwIFwKQEAgLTEyNzAsNiArMTI3
Miw5IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1N0YXRpY05v
ZGVMaXN0LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9TdHJlYW0uY3BwIFwKIAlTb3VyY2UvV2Vi
Q29yZS9kb20vU3RyZWFtLmggXAorCVNvdXJjZS9XZWJDb3JlL2RvbS9TdHJlYW1Db250YWluZXIu
aCBcCisJU291cmNlL1dlYkNvcmUvZG9tL1N0cmVhbUxpc3QuY3BwIFwKKwlTb3VyY2UvV2ViQ29y
ZS9kb20vU3RyZWFtTGlzdC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5j
cHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmggXAogCVNvdXJjZS9XZWJD
b3JlL2RvbS9TdHlsZUVsZW1lbnQuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA1NmUzMmJiZGNm
ZDRlMzhiMzJjMTkyNGFjNDEzNzk2MTQyMjA5NTg0Li4wNzZkMDk1MjE1YjdmZmMyOWFjZTE4ZjJj
MjYwNDI5YTJkY2Q1NjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xMTczLDYgKzExNzMsNyBAQAog
ICAgICAgICAgICAgJ2RvbS9SYW5nZUV4Y2VwdGlvbi5pZGwnLAogICAgICAgICAgICAgJ2RvbS9S
ZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjay5pZGwnLAogICAgICAgICAgICAgJ2RvbS9TdHJl
YW0uaWRsJywKKyAgICAgICAgICAgICdkb20vU3RyZWFtTGlzdC5pZGwnLAogICAgICAgICAgICAg
J2RvbS9TdHJpbmdDYWxsYmFjay5pZGwnLAogICAgICAgICAgICAgJ2RvbS9UZXh0LmlkbCcsCiAg
ICAgICAgICAgICAnZG9tL1RleHRFdmVudC5pZGwnLApAQCAtMjU3Nyw2ICsyNTc4LDkgQEAKICAg
ICAgICAgICAgICdkb20vU3RhdGljTm9kZUxpc3QuaCcsCiAgICAgICAgICAgICAnZG9tL1N0cmVh
bS5jcHAnLAogICAgICAgICAgICAgJ2RvbS9TdHJlYW0uaCcsCisgICAgICAgICAgICAnZG9tL1N0
cmVhbUNvbnRhaW5lci5oJywKKyAgICAgICAgICAgICdkb20vU3RyZWFtTGlzdC5jcHAnLAorICAg
ICAgICAgICAgJ2RvbS9TdHJlYW1MaXN0LmgnLAogICAgICAgICAgICAgJ2RvbS9TdHJpbmdDYWxs
YmFjay5jcHAnLAogICAgICAgICAgICAgJ2RvbS9TdHJpbmdDYWxsYmFjay5oJywKICAgICAgICAg
ICAgICdkb20vU3R5bGVFbGVtZW50LmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IDc3ODBkNjgwZTEx
NTA2MjI4YWRiOGQ2ZjIwMThhYzkxZWI2ZDMxNDEuLjFkZTA1NjRlNzliNmNlYzQ1MzYzNTM5ZWU1
MmFjYmU4MjZjNmVkYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0zMTQ5LDYgKzMxNDksOCBAQCBjb250
YWlucyhERUZJTkVTLCBFTkFCTEVfTUVESUFfU1RSRUFNPTEpIHsKICAgICBIRUFERVJTICs9IFwK
ICAgICAgICAgZG9tL0dlbmVyYXRlZFN0cmVhbS5oIFwKICAgICAgICAgZG9tL1N0cmVhbS5oIFwK
KyAgICAgICAgZG9tL1N0cmVhbUNvbnRhaW5lci5oIFwKKyAgICAgICAgZG9tL1N0cmVhbUxpc3Qu
aCBcCiAgICAgICAgIHBhZ2UvQ2FsbGJhY2tUYXNrLmggXAogICAgICAgICBwYWdlL01lZGlhU3Ry
ZWFtQ2xpZW50LmggXAogICAgICAgICBwYWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5oIFwKQEAg
LTMxNjAsNiArMzE2Miw3IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9NRURJQV9TVFJFQU09
MSkgewogICAgIFNPVVJDRVMgKz0gXAogICAgICAgICBkb20vR2VuZXJhdGVkU3RyZWFtLmNwcCBc
CiAgICAgICAgIGRvbS9TdHJlYW0uY3BwIFwKKyAgICAgICAgZG9tL1N0cmVhbUxpc3QuY3BwIFwK
ICAgICAgICAgcGFnZS9NZWRpYVN0cmVhbUNvbnRyb2xsZXIuY3BwIFwKICAgICAgICAgcGFnZS9N
ZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5jcHAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA3ZGIxYzU4MWZjNjRiOTA0MDAwNmNhNjc3Y2I2
NmVlYjMyMDg3NjcwLi42ZjcyZGUxYmQ0MTMyYWEzZmIyOGQzMmQyZTRmYzEyZTI2NmQ5NmNkIDEw
MDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMTM2
NDYsNiArMTM2NDYsNjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0
aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJp
dmVkU291cmNlc1xKU1N0cmVhbUxpc3QuY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgor
CQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkv
PgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJ
CU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
CisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVk
RnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVD
b25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4K
KwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2Jq
XCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTU3RyZWFtTGlzdC5oIgorCQkJCT4KKwkJ
CTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWls
ZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTU3RyaW5nQ2FsbGJhY2su
Y3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KQEAgLTQ3NjUwLDYgKzQ3NzA2LDY2
IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRv
bVxTdHJlYW1Db250YWluZXIuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJl
bGF0aXZlUGF0aD0iLi5cZG9tXFN0cmVhbUxpc3QuY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
IgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0
aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwv
RmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cU3RyZWFtTGlzdC5oIgor
CQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cU3Ry
aW5nQ2FsbGJhY2suY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmMDc3
ZWFjNjNkY2ExZGYwNDI4M2ExYmQ0YzI2ZGI1NzJhMzhjNWJiLi44N2UwYjlmODQxY2QyNWM0ZWUy
YWQxNDdiYjQwNjdhZDE0MWMwZTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00MTI3LDYgKzQxMjcsMTEgQEAKIAkJQjEyRDIz
NkExMzU2MDMzRjAwMkEyOEQ0IC8qIEpTRXhjbHVzaXZlVHJhY2tMaXN0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMTJEMjM2ODEzNTYwMzNGMDAyQTI4
RDQgLyogSlNFeGNsdXNpdmVUcmFja0xpc3QuaCAqLzsgfTsKIAkJQjEyRDIzNkQxMzU2MDM0RDAw
MkEyOEQ0IC8qIEpTTXVsdGlwbGVUcmFja0xpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjEyRDIzNkIxMzU2MDM0RDAwMkEyOEQ0IC8qIEpTTXVs
dGlwbGVUcmFja0xpc3QuY3BwICovOyB9OwogCQlCMTJEMjM2RTEzNTYwMzREMDAyQTI4RDQgLyog
SlNNdWx0aXBsZVRyYWNrTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQjEyRDIzNkMxMzU2MDM0RDAwMkEyOEQ0IC8qIEpTTXVsdGlwbGVUcmFja0xp
c3QuaCAqLzsgfTsKKwkJQjE0MzUzRDQxMzhFQThFRDAwRDUzMjc2IC8qIFN0cmVhbUNvbnRhaW5l
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjE0MzUz
RDAxMzhFQThFRDAwRDUzMjc2IC8qIFN0cmVhbUNvbnRhaW5lci5oICovOyB9OworCQlCMTQzNTNE
NTEzOEVBOEVEMDBENTMyNzYgLyogU3RyZWFtTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMTQzNTNEMTEzOEVBOEVEMDBENTMyNzYgLyogU3Ry
ZWFtTGlzdC5jcHAgKi87IH07CisJCUIxNDM1M0Q2MTM4RUE4RUQwMEQ1MzI3NiAvKiBTdHJlYW1M
aXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMTQz
NTNEMjEzOEVBOEVEMDBENTMyNzYgLyogU3RyZWFtTGlzdC5oICovOyB9OworCQlCMTQzNTNGODEz
OEVBOTVCMDBENTMyNzYgLyogSlNTdHJlYW1MaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxNDM1M0Y2MTM4RUE5NUIwMEQ1MzI3NiAvKiBKU1N0
cmVhbUxpc3QuY3BwICovOyB9OworCQlCMTQzNTNGOTEzOEVBOTVCMDBENTMyNzYgLyogSlNTdHJl
YW1MaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
MTQzNTNGNzEzOEVBOTVCMDBENTMyNzYgLyogSlNTdHJlYW1MaXN0LmggKi87IH07CiAJCUIxODI3
NDkzMTM0Q0E0QzEwMEI5OEMyRCAvKiBDYWxsYmFja0Z1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxODI3NDkyMTM0Q0E0QzEwMEI5OEMy
RCAvKiBDYWxsYmFja0Z1bmN0aW9uLmNwcCAqLzsgfTsKIAkJQjFENUVDQjUxMzRCNThEQTAwODdD
NzhGIC8qIENhbGxiYWNrRnVuY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEIxRDVFQ0I0MTM0QjU4REEwMDg3Qzc4RiAvKiBDYWxsYmFja0Z1bmN0
aW9uLmggKi87IH07CiAJCUIxRTU0NTdBMTM0NjI5MUYwMDkyQTU0NSAvKiBHZW5lcmF0ZWRTdHJl
YW0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFF
NTQ1NzExMzQ2MjkxRjAwOTJBNTQ1IC8qIEdlbmVyYXRlZFN0cmVhbS5jcHAgKi87IH07CkBAIC0x
MDQ1MCw2ICsxMDQ1NSwxMiBAQAogCQlCMTJEMjM2ODEzNTYwMzNGMDAyQTI4RDQgLyogSlNFeGNs
dXNpdmVUcmFja0xpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFeGNs
dXNpdmVUcmFja0xpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjEyRDIzNkIx
MzU2MDM0RDAwMkEyOEQ0IC8qIEpTTXVsdGlwbGVUcmFja0xpc3QuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNdWx0aXBsZVRyYWNrTGlzdC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxMkQyMzZDMTM1NjAzNEQwMDJBMjhENCAvKiBKU011bHRp
cGxlVHJhY2tMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTXVsdGlw
bGVUcmFja0xpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjE0MzUzRDAxMzhF
QThFRDAwRDUzMjc2IC8qIFN0cmVhbUNvbnRhaW5lci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTdHJlYW1Db250YWluZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQjE0MzUzRDExMzhFQThFRDAwRDUzMjc2IC8qIFN0cmVhbUxpc3QuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3RyZWFtTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUIxNDM1M0QyMTM4RUE4RUQwMEQ1MzI3NiAvKiBTdHJlYW1MaXN0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0cmVhbUxpc3QuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjE0MzUzRDMxMzhFQThFRDAwRDUzMjc2IC8qIFN0cmVhbUxp
c3QuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFN0cmVhbUxpc3QuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlCMTQzNTNGNjEzOEVBOTVCMDBENTMyNzYgLyogSlNTdHJlYW1M
aXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU3RyZWFtTGlz
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxNDM1M0Y3MTM4RUE5NUIwMEQ1
MzI3NiAvKiBKU1N0cmVhbUxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNTdHJlYW1MaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxODI3NDkyMTM0
Q0E0QzEwMEI5OEMyRCAvKiBDYWxsYmFja0Z1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IENhbGxiYWNrRnVuY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlCMUQ1RUNCNDEzNEI1OERBMDA4N0M3OEYgLyogQ2FsbGJhY2tGdW5jdGlv
bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWxsYmFja0Z1bmN0aW9uLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxRTU0NTcxMTM0NjI5MUYwMDkyQTU0NSAv
KiBHZW5lcmF0ZWRTdHJlYW0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gR2VuZXJhdGVkU3RyZWFtLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3
MDI5LDYgKzE3MDQwLDggQEAKIAkJCQk3NTQxNUQ1NDEyOUFCMkQyMDAzQUQ2NjkgLyogSlNTcGVl
Y2hJbnB1dFJlc3VsdExpc3QuaCAqLywKIAkJCQlCMUU1NDVENzEzNDYyQjBCMDA5MkE1NDUgLyog
SlNTdHJlYW0uY3BwICovLAogCQkJCUIxRTU0NUQ4MTM0NjJCMEIwMDkyQTU0NSAvKiBKU1N0cmVh
bS5oICovLAorCQkJCUIxNDM1M0Y2MTM4RUE5NUIwMEQ1MzI3NiAvKiBKU1N0cmVhbUxpc3QuY3Bw
ICovLAorCQkJCUIxNDM1M0Y3MTM4RUE5NUIwMEQ1MzI3NiAvKiBKU1N0cmVhbUxpc3QuaCAqLywK
IAkJCQk2NURGMzFFRjA5RDFDQzYwMDAwQkUzMjUgLyogSlNUZXh0LmNwcCAqLywKIAkJCQk2NURG
MzFGMDA5RDFDQzYwMDAwQkUzMjUgLyogSlNUZXh0LmggKi8sCiAJCQkJQjEyRDIzNjMxMzU2MDMy
RjAwMkEyOEQ0IC8qIEpTVHJhY2tMaXN0LmNwcCAqLywKQEAgLTE5NTc2LDYgKzE5NTg5LDEwIEBA
CiAJCQkJQjFFNTQ1NzQxMzQ2MjkxRjAwOTJBNTQ1IC8qIFN0cmVhbS5jcHAgKi8sCiAJCQkJQjFF
NTQ1NzUxMzQ2MjkxRjAwOTJBNTQ1IC8qIFN0cmVhbS5oICovLAogCQkJCUIxRTU0NTc2MTM0NjI5
MUYwMDkyQTU0NSAvKiBTdHJlYW0uaWRsICovLAorCQkJCUIxNDM1M0QwMTM4RUE4RUQwMEQ1MzI3
NiAvKiBTdHJlYW1Db250YWluZXIuaCAqLywKKwkJCQlCMTQzNTNEMTEzOEVBOEVEMDBENTMyNzYg
LyogU3RyZWFtTGlzdC5jcHAgKi8sCisJCQkJQjE0MzUzRDIxMzhFQThFRDAwRDUzMjc2IC8qIFN0
cmVhbUxpc3QuaCAqLywKKwkJCQlCMTQzNTNEMzEzOEVBOEVEMDBENTMyNzYgLyogU3RyZWFtTGlz
dC5pZGwgKi8sCiAJCQkJODEwMkM1ODcxMzI1QkIxMTAwRERFNjdBIC8qIFN0cmluZ0NhbGxiYWNr
LmNwcCAqLywKIAkJCQk4MUFDNkMzNTEzMUM1N0QzMDAwOUE3RTAgLyogU3RyaW5nQ2FsbGJhY2su
aCAqLywKIAkJCQk4MUFDNkMzNDEzMUM1N0MyMDAwOUE3RTAgLyogU3RyaW5nQ2FsbGJhY2suaWRs
ICovLApAQCAtMjMwMDgsNiArMjMwMjUsOSBAQAogCQkJCUIxMkQyMzZFMTM1NjAzNEQwMDJBMjhE
NCAvKiBKU011bHRpcGxlVHJhY2tMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4QzBFMzM0RDEz
OEE5MkM3MDA4REE5NEYgLyogTGV2ZWxEQlRyYW5zYWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk4QzBFMzM0RjEzOEE5MkM3MDA4REE5NEYgLyogTGV2ZWxEQldyaXRlQmF0Y2guaCBpbiBIZWFk
ZXJzICovLAorCQkJCUIxNDM1M0Q0MTM4RUE4RUQwMEQ1MzI3NiAvKiBTdHJlYW1Db250YWluZXIu
aCBpbiBIZWFkZXJzICovLAorCQkJCUIxNDM1M0Q2MTM4RUE4RUQwMEQ1MzI3NiAvKiBTdHJlYW1M
aXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQlCMTQzNTNGOTEzOEVBOTVCMDBENTMyNzYgLyogSlNT
dHJlYW1MaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVu
dFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI1NzA0LDYgKzI1NzI0LDggQEAKIAkJCQlC
MTJEMjM2RDEzNTYwMzREMDAyQTI4RDQgLyogSlNNdWx0aXBsZVRyYWNrTGlzdC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk4QzBFMzM0QzEzOEE5MkM3MDA4REE5NEYgLyogTGV2ZWxEQlRyYW5zYWN0
aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCThDMEUzMzRFMTM4QTkyQzcwMDhEQTk0RiAvKiBM
ZXZlbERCV3JpdGVCYXRjaC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCMTQzNTNENTEzOEVBOEVE
MDBENTMyNzYgLyogU3RyZWFtTGlzdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCMTQzNTNGODEz
OEVBOTVCMDBENTMyNzYgLyogSlNTdHJlYW1MaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsK
IAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1N0cmVhbUNvbnRhaW5lci5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL1N0cmVhbUNvbnRhaW5lci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFhZTE0OTA1YTA1NmNjYjhlZWNl
NTc5NTU0YjNkN2FmYjcxNmI2OTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vU3RyZWFtQ29udGFpbmVyLmgKQEAgLTAsMCArMSw5MCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
CisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBTdHJlYW1Db250YWluZXJfaAorI2RlZmluZSBTdHJlYW1Db250YWluZXJfaAorCisjaWYg
RU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUgIlN0cmVhbS5oIgorI2luY2x1ZGUgPHd0
Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYv
SGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTdHJlYW1Db250YWlu
ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxTdHJlYW1Db250YWluZXI+IHsKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxTdHJlYW1Db250YWluZXI+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0
UmVmKG5ldyBTdHJlYW1Db250YWluZXIpOyB9CisgICAgdmlydHVhbCB+U3RyZWFtQ29udGFpbmVy
KCkgeyB9CisKKyAgICB1bnNpZ25lZCBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX3N0cmVhbXMu
c2l6ZSgpOyB9CisKKyAgICBQYXNzUmVmUHRyPFN0cmVhbT4gaXRlbSh1bnNpZ25lZCBpbmRleCkg
Y29uc3QKKyAgICB7CisgICAgICAgIEhhc2hNYXA8U3RyaW5nLCBSZWZQdHI8U3RyZWFtPiA+Ojpj
b25zdF9pdGVyYXRvciBpID0gbV9zdHJlYW1zLmJlZ2luKCk7CisgICAgICAgIGZvciAodW5zaWdu
ZWQgaiA9IDA7IGkgIT0gbV9zdHJlYW1zLmVuZCgpOyArK2ksICsraikgeworICAgICAgICAgICAg
aWYgKGogPT0gaW5kZXgpCisgICAgICAgICAgICAgICAgcmV0dXJuIGktPnNlY29uZDsKKyAgICAg
ICAgfQorICAgICAgICByZXR1cm4gUGFzc1JlZlB0cjxTdHJlYW0+KCk7CisgICAgfQorCisgICAg
dm9pZCBhZGQoUGFzc1JlZlB0cjxTdHJlYW0+IHN0cmVhbSkKKyAgICB7CisgICAgICAgIFJlZlB0
cjxTdHJlYW0+IHMgPSBzdHJlYW07CisgICAgICAgIG1fc3RyZWFtcy5hZGQocy0+bGFiZWwoKSwg
cyk7CisgICAgfQorCisgICAgdm9pZCByZW1vdmUoUGFzc1JlZlB0cjxTdHJlYW0+IHN0cmVhbSkK
KyAgICB7CisgICAgICAgIFJlZlB0cjxTdHJlYW0+IHMgPSBzdHJlYW07CisgICAgICAgIEFTU0VS
VChjb250YWlucyhzKSk7CisgICAgICAgIG1fc3RyZWFtcy5yZW1vdmUocy0+bGFiZWwoKSk7Cisg
ICAgfQorCisgICAgYm9vbCBjb250YWlucyhQYXNzUmVmUHRyPFN0cmVhbT4gc3RyZWFtKSBjb25z
dAorICAgIHsKKyAgICAgICAgUmVmUHRyPFN0cmVhbT4gcyA9IHN0cmVhbTsKKyAgICAgICAgcmV0
dXJuIG1fc3RyZWFtcy5jb250YWlucyhzLT5sYWJlbCgpKTsKKyAgICB9CisKKyAgICBQYXNzUmVm
UHRyPFN0cmVhbT4gZ2V0KGNvbnN0IFN0cmluZyYga2V5KSBjb25zdAorICAgIHsKKyAgICAgICAg
cmV0dXJuIG1fc3RyZWFtcy5nZXQoa2V5KTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgU3RyZWFt
Q29udGFpbmVyKCkgeyB9CisKKyAgICBIYXNoTWFwPFN0cmluZywgUmVmUHRyPFN0cmVhbT4gPiBt
X3N0cmVhbXM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFC
TEUoTUVESUFfU1RSRUFNKQorCisjZW5kaWYgLy8gU3RyZWFtQ29udGFpbmVyX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHJlYW1MaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TdHJlYW1MaXN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYmFmZGUyN2VlMjgxYTcwZGZhZGU0MTA3YzBk
ODlmYjIxYWE3NjkyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0cmVh
bUxpc3QuY3BwCkBAIC0wLDAgKzEsNjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQor
ICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJTdHJlYW1MaXN0LmgiCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFN
KQorCisjaW5jbHVkZSA8U3RyZWFtQ29udGFpbmVyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworUGFzc1JlZlB0cjxTdHJlYW1MaXN0PiBTdHJlYW1MaXN0OjpjcmVhdGUoUGFzc1JlZlB0cjxT
dHJlYW1Db250YWluZXI+IHN0cmVhbXMpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTdHJl
YW1MaXN0KHN0cmVhbXMpKTsKK30KKworU3RyZWFtTGlzdDo6U3RyZWFtTGlzdChQYXNzUmVmUHRy
PFN0cmVhbUNvbnRhaW5lcj4gc3RyZWFtcykKK3sKKyAgICBtX3N0cmVhbXMgPSBzdHJlYW1zOwor
fQorCitTdHJlYW1MaXN0Ojp+U3RyZWFtTGlzdCgpCit7Cit9CisKK3Vuc2lnbmVkIFN0cmVhbUxp
c3Q6Omxlbmd0aCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc3RyZWFtcy0+bGVuZ3RoKCk7Cit9
CisKK1Bhc3NSZWZQdHI8U3RyZWFtPiBTdHJlYW1MaXN0OjppdGVtKHVuc2lnbmVkIGluZGV4KSBj
b25zdAoreworICAgIGlmIChpbmRleCA8IG1fc3RyZWFtcy0+bGVuZ3RoKCkpCisgICAgICAgIHJl
dHVybiBtX3N0cmVhbXMtPml0ZW0oaW5kZXgpOworICAgIHJldHVybiBQYXNzUmVmUHRyPFN0cmVh
bT4oKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1F
RElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHJlYW1MaXN0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vU3RyZWFtTGlzdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0ZjVkMjc3Mzgw
NTc2ODU2ZDEwYWI2NjE3Yjg0ZWNkOGM2YmM0ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vU3RyZWFtTGlzdC5oCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICog
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisg
KiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgU3RyZWFtTGlzdF9oCisjZGVmaW5lIFN0cmVhbUxpc3RfaAorCisjaWYgRU5BQkxF
KE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3Rm
L1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTdHJlYW07CitjbGFz
cyBTdHJlYW1Db250YWluZXI7CisKK2NsYXNzIFN0cmVhbUxpc3QgOiBwdWJsaWMgUmVmQ291bnRl
ZDxTdHJlYW1MaXN0PiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U3RyZWFtTGlz
dD4gY3JlYXRlKFBhc3NSZWZQdHI8U3RyZWFtQ29udGFpbmVyPiBzdHJlYW1zKTsKKyAgICB2aXJ0
dWFsIH5TdHJlYW1MaXN0KCk7CisKKyAgICAvLyBET00gbWV0aG9kcyAmIGF0dHJpYnV0ZXMgZm9y
IFN0cmVhbUxpc3QKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0OworICAgIHZp
cnR1YWwgUGFzc1JlZlB0cjxTdHJlYW0+IGl0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0OworCitw
cml2YXRlOgorICAgIFN0cmVhbUxpc3QoUGFzc1JlZlB0cjxTdHJlYW1Db250YWluZXI+IHN0cmVh
bXMpOworCisgICAgUmVmUHRyPFN0cmVhbUNvbnRhaW5lcj4gbV9zdHJlYW1zOworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKKwor
I2VuZGlmIC8vIFN0cmVhbUxpc3RfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1N0
cmVhbUxpc3QuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0cmVhbUxpc3QuaWRsCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjQyOTMyMTlmNjljNDgzZWQzMjBjYjc1ZWE4NjExODJlZTgxZWY4NmQKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3RyZWFtTGlzdC5pZGwKQEAgLTAsMCArMSwzNiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworbW9kdWxlIGNvcmUgeworCisgICAgaW50ZXJmYWNlIFsKKyAgICAg
ICAgQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNLAorICAgICAgICBIYXNJbmRleEdldHRlcgorICAg
IF0gU3RyZWFtTGlzdCB7CisgICAgICAgIFN0cmVhbSBpdGVtKGluIFtJc0luZGV4XSB1bnNpZ25l
ZCBsb25nIGluZGV4KTsKKworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9u
ZyBsZW5ndGg7CisgICAgfTsKKworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95338</attachid>
            <date>2011-05-30 05:44:44 -0700</date>
            <delta_ts>2011-06-08 05:45:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61539-20110530144441.patch</filename>
            <type>text/plain</type>
            <size>25822</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODc2ODIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYzg3NGI5
NDVjYThmNGIxMjM5YTA2Nzg4MmY5OGY4OTY5NzJkMTNkNi4uYzQ2MGI4ZGU1M2U3NWIzNTk5YzEz
YmY1NzIwNTdiMGIyNjZmNmI4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE5NTYsNiArMTk1
Niw3IEBAIElGIChFTkFCTEVfTUVESUFfU1RSRUFNKQogICAgICAgICBiaW5kaW5ncy9qcy9KU05h
dmlnYXRvckN1c3RvbS5jcHAKICAgICAgICAgZG9tL0dlbmVyYXRlZFN0cmVhbS5jcHAKICAgICAg
ICAgZG9tL1N0cmVhbS5jcHAKKyAgICAgICAgZG9tL1N0cmVhbUxpc3QuY3BwCiAgICAgICAgIHBh
Z2UvTWVkaWFTdHJlYW1Db250cm9sbGVyLmNwcAogICAgICAgICBwYWdlL01lZGlhU3RyZWFtRnJh
bWVDb250cm9sbGVyLmNwcAogICAgICkKQEAgLTE5NjMsNiArMTk2NCw3IEBAIElGIChFTkFCTEVf
TUVESUFfU1RSRUFNKQogICAgIExJU1QoQVBQRU5EIFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgICAg
IGRvbS9HZW5lcmF0ZWRTdHJlYW0uaWRsCiAgICAgICAgIGRvbS9TdHJlYW0uaWRsCisgICAgICAg
IGRvbS9TdHJlYW1MaXN0LmlkbAogICAgICAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9y
LmlkbAogICAgICkKIEVORElGICgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2I1OTI1YWY0ZGNkMTc3MzUzZjBl
Yjg0ZWEyMjc2MmFkNWMwMGE3MS4uMjc3OGI0YWNhMzlkYmJiZDYyZmE4NDliYmM5NDFjNWNhNDI1
MjNjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDExLTA1LTMwICBUb21teSBXaWRl
bmZseWNodCAgPHRvbW15d0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE1lZGlhIFN0cmVhbSBQZWVyQ29ubmVjdGlvbiBBUEk6IGFk
ZGluZyB0aGUgU3RyZWFtTGlzdCBhbmQgc3VwcG9ydGluZyBjbGFzc2VzLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE1MzkKKworICAgICAgICBUZXN0
cyBmb3IgdGhlIE1lZGlhIFN0cmVhbSBBUEkgd2lsbCBiZSBwcm92aWRlZCBieSB0aGUgYnVnIDU2
NTg3LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogQ29kZUdlbmVyYXRv
cnMucHJpOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAgKiBEZXJpdmVk
U291cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICog
V2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBkb20vU3RyZWFtQ29udGFpbmVyLmg6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6U3RyZWFtQ29udGFpbmVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6U3RyZWFtQ29udGFpbmVyOjp+U3RyZWFtQ29udGFpbmVyKToKKyAgICAgICAgKFdlYkNvcmU6
OlN0cmVhbUNvbnRhaW5lcjo6bGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbUNvbnRh
aW5lcjo6aXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpTdHJlYW1Db250YWluZXI6OmFkZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTdHJlYW1Db250YWluZXI6OnJlbW92ZSk6CisgICAgICAgIChXZWJD
b3JlOjpTdHJlYW1Db250YWluZXI6OmNvbnRhaW5zKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVh
bUNvbnRhaW5lcjo6Z2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbUNvbnRhaW5lcjo6U3Ry
ZWFtQ29udGFpbmVyKToKKyAgICAgICAgKiBkb20vU3RyZWFtTGlzdC5jcHA6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6U3RyZWFtTGlzdDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0
cmVhbUxpc3Q6OlN0cmVhbUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtTGlzdDo6flN0
cmVhbUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtTGlzdDo6bGVuZ3RoKToKKyAgICAg
ICAgKFdlYkNvcmU6OlN0cmVhbUxpc3Q6Oml0ZW0pOgorICAgICAgICAqIGRvbS9TdHJlYW1MaXN0
Lmg6IEFkZGVkLgorICAgICAgICAqIGRvbS9TdHJlYW1MaXN0LmlkbDogQWRkZWQuCisKIDIwMTEt
MDUtMzAgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29k
ZUdlbmVyYXRvcnMucHJpIGIvU291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCmluZGV4
IGFlNTJlZDJhZDRhMjY2OWZmNDczMDFiYmQ1NmViYmZhMGJkMDBkYzAuLmJmOGIwY2FjZDhmYTcw
NmMwNzQ1NmQyNTllNTIxY2NhYzMzMzUyZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Nv
ZGVHZW5lcmF0b3JzLnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkK
QEAgLTE1Niw2ICsxNTYsNyBAQCBJRExfQklORElOR1MgKz0gXAogICAgIGRvbS9SYW5nZUV4Y2Vw
dGlvbi5pZGwgXAogICAgIGRvbS9SYW5nZS5pZGwgXAogICAgIGRvbS9TdHJlYW0uaWRsIFwKKyAg
ICBkb20vU3RyZWFtTGlzdC5pZGwgXAogICAgIGRvbS9TdHJpbmdDYWxsYmFjay5pZGwgXAogICAg
IGRvbS9UZXh0LmlkbCBcCiAgICAgZG9tL1RleHRFdmVudC5pZGwgXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMuY3BwCmluZGV4IDRjOGIxMjNkMmQ4NzRjYTRkMTIzZWQ1MWVmNmE4ZTExNGM4NzVjZWMu
LjY5NjBiMjFjYWRlNjQ4ZDllODYxN2JjYWIyZGU0Yzg2YmY2MjFkNTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5jcHAKQEAgLTI5MSw2ICsyOTEsNyBAQAogI2luY2x1ZGUgIkpTU3RvcmFnZUlu
Zm9RdW90YUNhbGxiYWNrLmNwcCIKICNpbmNsdWRlICJKU1N0b3JhZ2VJbmZvVXNhZ2VDYWxsYmFj
ay5jcHAiCiAjaW5jbHVkZSAiSlNTdHJlYW0uY3BwIgorI2luY2x1ZGUgIkpTU3RyZWFtTGlzdC5j
cHAiCiAjaW5jbHVkZSAiSlNTdHJpbmdDYWxsYmFjay5jcHAiCiAjaW5jbHVkZSAiSlNTdHlsZU1l
ZGlhLmNwcCIKICNpbmNsdWRlICJKU1N0eWxlU2hlZXQuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKaW5kZXggODY0ZWRlNmQ3MDMxYmNjNWY5MTM0YzI4ZjNhY2NjZjA3NjY5Nzc0OC4u
NzI3YjdjN2UwYzJlYjY3ZGFjNTU1YTljNDcxNDhhY2ZkYWQyZWNiOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCkBAIC0zNjIsNiArMzYyLDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAg
U3RvcmFnZUluZm9RdW90YUNhbGxiYWNrIFwKICAgICBTdG9yYWdlSW5mb1VzYWdlQ2FsbGJhY2sg
XAogICAgIFN0cmVhbSBcCisgICAgU3RyZWFtTGlzdCBcCiAgICAgU3RyaW5nQ2FsbGJhY2sgXAog
ICAgIFNWR0FFbGVtZW50IFwKICAgICBTVkdBbHRHbHlwaEVsZW1lbnQgXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0KaW5kZXggOTlmOWYzZTQxNTYzN2U4MjZhZWIzZTA4ZjQyMWY0YTZkODRm
YTE4ZS4uZDEyZGIzNDRmOWMwODNjMjI2NGE2NmFiZjA2YTUyNjhjMWU3ZmU3NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC00NTksNiArNDU5LDggQEAgd2ViY29yZV9idWlsdF9z
b3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU3RvcmFnZUluZm9Vc2FnZUNh
bGxiYWNrLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTdHJlYW0uY3BwIFwKIAlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTU3RyZWFtLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNTdHJlYW1MaXN0LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1N0cmVhbUxpc3Qu
aCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1N0eWxlTWVkaWEuY3BwIFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTU3R5bGVNZWRpYS5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTU3R5bGVTaGVldC5jcHAgXApAQCAtMTI3MCw2ICsxMjcyLDkgQEAgd2ViY29yZV9zb3VyY2Vz
ICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vU3RhdGljTm9kZUxpc3QuaCBcCiAJU291cmNlL1dl
YkNvcmUvZG9tL1N0cmVhbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9TdHJlYW0uaCBcCisJ
U291cmNlL1dlYkNvcmUvZG9tL1N0cmVhbUNvbnRhaW5lci5oIFwKKwlTb3VyY2UvV2ViQ29yZS9k
b20vU3RyZWFtTGlzdC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2RvbS9TdHJlYW1MaXN0LmggXAog
CVNvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcCBcCiAJU291cmNlL1dlYkNvcmUv
ZG9tL1N0eWxlZEVsZW1lbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlRWxlbWVudC5j
cHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDEyNmVkMTRlYmZjZWUxMTA2ZDMzNjhmYjgwYWM0MTFk
YzBhOTc1YmIuLjM4MWFhZWVmNDc5YzkzMGU4Zjc2MDc1ZmNlMzQ1MzEyNzJiMTE3MTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKQEAgLTExNzMsNiArMTE3Myw3IEBACiAgICAgICAgICAgICAnZG9tL1Jhbmdl
RXhjZXB0aW9uLmlkbCcsCiAgICAgICAgICAgICAnZG9tL1JlcXVlc3RBbmltYXRpb25GcmFtZUNh
bGxiYWNrLmlkbCcsCiAgICAgICAgICAgICAnZG9tL1N0cmVhbS5pZGwnLAorICAgICAgICAgICAg
J2RvbS9TdHJlYW1MaXN0LmlkbCcsCiAgICAgICAgICAgICAnZG9tL1N0cmluZ0NhbGxiYWNrLmlk
bCcsCiAgICAgICAgICAgICAnZG9tL1RleHQuaWRsJywKICAgICAgICAgICAgICdkb20vVGV4dEV2
ZW50LmlkbCcsCkBAIC0yNTc3LDYgKzI1NzgsOSBAQAogICAgICAgICAgICAgJ2RvbS9TdGF0aWNO
b2RlTGlzdC5oJywKICAgICAgICAgICAgICdkb20vU3RyZWFtLmNwcCcsCiAgICAgICAgICAgICAn
ZG9tL1N0cmVhbS5oJywKKyAgICAgICAgICAgICdkb20vU3RyZWFtQ29udGFpbmVyLmgnLAorICAg
ICAgICAgICAgJ2RvbS9TdHJlYW1MaXN0LmNwcCcsCisgICAgICAgICAgICAnZG9tL1N0cmVhbUxp
c3QuaCcsCiAgICAgICAgICAgICAnZG9tL1N0cmluZ0NhbGxiYWNrLmNwcCcsCiAgICAgICAgICAg
ICAnZG9tL1N0cmluZ0NhbGxiYWNrLmgnLAogICAgICAgICAgICAgJ2RvbS9TdHlsZUVsZW1lbnQu
Y3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggNzc4MGQ2ODBlMTE1MDYyMjhhZGI4ZDZmMjAxOGFjOTFl
YjZkMzE0MS4uMWRlMDU2NGU3OWI2Y2VjNDUzNjM1MzllZTUyYWNiZTgyNmM2ZWRjMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5wcm8KQEAgLTMxNDksNiArMzE0OSw4IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9N
RURJQV9TVFJFQU09MSkgewogICAgIEhFQURFUlMgKz0gXAogICAgICAgICBkb20vR2VuZXJhdGVk
U3RyZWFtLmggXAogICAgICAgICBkb20vU3RyZWFtLmggXAorICAgICAgICBkb20vU3RyZWFtQ29u
dGFpbmVyLmggXAorICAgICAgICBkb20vU3RyZWFtTGlzdC5oIFwKICAgICAgICAgcGFnZS9DYWxs
YmFja1Rhc2suaCBcCiAgICAgICAgIHBhZ2UvTWVkaWFTdHJlYW1DbGllbnQuaCBcCiAgICAgICAg
IHBhZ2UvTWVkaWFTdHJlYW1Db250cm9sbGVyLmggXApAQCAtMzE2MCw2ICszMTYyLDcgQEAgY29u
dGFpbnMoREVGSU5FUywgRU5BQkxFX01FRElBX1NUUkVBTT0xKSB7CiAgICAgU09VUkNFUyArPSBc
CiAgICAgICAgIGRvbS9HZW5lcmF0ZWRTdHJlYW0uY3BwIFwKICAgICAgICAgZG9tL1N0cmVhbS5j
cHAgXAorICAgICAgICBkb20vU3RyZWFtTGlzdC5jcHAgXAogICAgICAgICBwYWdlL01lZGlhU3Ry
ZWFtQ29udHJvbGxlci5jcHAgXAogICAgICAgICBwYWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9s
bGVyLmNwcAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CmluZGV4IGYxODU3M2IxMDRiYzhhZGYxMTZkYzI1NWYzYjM1NzA3MmVmNzJmOGYuLjA0MDYyYmU1
ODNkM2NiMzRjMTE2YWMwOTM2NzhkYTY1Mzg4OTljNDQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0xMzY0Niw2ICsxMzY0Niw2MiBAQAogCQkJ
CT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRp
b25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTU3RyZWFtTGlz
dC5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xX
aW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wK
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4z
MiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZM
aXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8
VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNl
X0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJ
CT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFt
ZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJ
PgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1l
PSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJ
PgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2
ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZl
ZFNvdXJjZXNcSlNTdHJlYW1MaXN0LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJ
CQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFt
ZSlcRGVyaXZlZFNvdXJjZXNcSlNTdHJpbmdDYWxsYmFjay5jcHAiCiAJCQkJPgogCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgpAQCAtNDc2NTAsNiArNDc3MDYsNjYgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+
CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXFN0cmVhbUNvbnRhaW5lci5oIgor
CQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cU3Ry
ZWFtTGlzdC5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJE
ZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJ
PFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFz
ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRv
b2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fp
cm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgor
CQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJS
ZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
CisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJ
CS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
KwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJ
Lz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJ
CQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
KwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJ
Lz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGRvbVxTdHJlYW1MaXN0LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJ
PEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxTdHJpbmdDYWxsYmFjay5jcHAiCiAJCQkJ
PgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGYwNzdlYWM2M2RjYTFkZjA0MjgzYTFiZDRj
MjZkYjU3MmEzOGM1YmIuLjg3ZTBiOWY4NDFjZDI1YzRlZTJhZDE0N2JiNDA2N2FkMTQxYzBlNjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTQxMjcsNiArNDEyNywxMSBAQAogCQlCMTJEMjM2QTEzNTYwMzNGMDAyQTI4RDQgLyog
SlNFeGNsdXNpdmVUcmFja0xpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEIxMkQyMzY4MTM1NjAzM0YwMDJBMjhENCAvKiBKU0V4Y2x1c2l2ZVRyYWNr
TGlzdC5oICovOyB9OwogCQlCMTJEMjM2RDEzNTYwMzREMDAyQTI4RDQgLyogSlNNdWx0aXBsZVRy
YWNrTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCMTJEMjM2QjEzNTYwMzREMDAyQTI4RDQgLyogSlNNdWx0aXBsZVRyYWNrTGlzdC5jcHAgKi87
IH07CiAJCUIxMkQyMzZFMTM1NjAzNEQwMDJBMjhENCAvKiBKU011bHRpcGxlVHJhY2tMaXN0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMTJEMjM2QzEz
NTYwMzREMDAyQTI4RDQgLyogSlNNdWx0aXBsZVRyYWNrTGlzdC5oICovOyB9OworCQlCMTQzNTNE
NDEzOEVBOEVEMDBENTMyNzYgLyogU3RyZWFtQ29udGFpbmVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMTQzNTNEMDEzOEVBOEVEMDBENTMyNzYgLyog
U3RyZWFtQ29udGFpbmVyLmggKi87IH07CisJCUIxNDM1M0Q1MTM4RUE4RUQwMEQ1MzI3NiAvKiBT
dHJlYW1MaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEIxNDM1M0QxMTM4RUE4RUQwMEQ1MzI3NiAvKiBTdHJlYW1MaXN0LmNwcCAqLzsgfTsKKwkJ
QjE0MzUzRDYxMzhFQThFRDAwRDUzMjc2IC8qIFN0cmVhbUxpc3QuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxNDM1M0QyMTM4RUE4RUQwMEQ1MzI3NiAv
KiBTdHJlYW1MaXN0LmggKi87IH07CisJCUIxNDM1M0Y4MTM4RUE5NUIwMEQ1MzI3NiAvKiBKU1N0
cmVhbUxpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQjE0MzUzRjYxMzhFQTk1QjAwRDUzMjc2IC8qIEpTU3RyZWFtTGlzdC5jcHAgKi87IH07CisJ
CUIxNDM1M0Y5MTM4RUE5NUIwMEQ1MzI3NiAvKiBKU1N0cmVhbUxpc3QuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxNDM1M0Y3MTM4RUE5NUIwMEQ1MzI3
NiAvKiBKU1N0cmVhbUxpc3QuaCAqLzsgfTsKIAkJQjE4Mjc0OTMxMzRDQTRDMTAwQjk4QzJEIC8q
IENhbGxiYWNrRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQjE4Mjc0OTIxMzRDQTRDMTAwQjk4QzJEIC8qIENhbGxiYWNrRnVuY3Rpb24u
Y3BwICovOyB9OwogCQlCMUQ1RUNCNTEzNEI1OERBMDA4N0M3OEYgLyogQ2FsbGJhY2tGdW5jdGlv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFENUVD
QjQxMzRCNThEQTAwODdDNzhGIC8qIENhbGxiYWNrRnVuY3Rpb24uaCAqLzsgfTsKIAkJQjFFNTQ1
N0ExMzQ2MjkxRjAwOTJBNTQ1IC8qIEdlbmVyYXRlZFN0cmVhbS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDU3MTEzNDYyOTFGMDA5MkE1NDUg
LyogR2VuZXJhdGVkU3RyZWFtLmNwcCAqLzsgfTsKQEAgLTEwNDUwLDYgKzEwNDU1LDEyIEBACiAJ
CUIxMkQyMzY4MTM1NjAzM0YwMDJBMjhENCAvKiBKU0V4Y2x1c2l2ZVRyYWNrTGlzdC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0V4Y2x1c2l2ZVRyYWNrTGlzdC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMTJEMjM2QjEzNTYwMzREMDAyQTI4RDQgLyogSlNN
dWx0aXBsZVRyYWNrTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU011bHRpcGxlVHJhY2tMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QjEyRDIzNkMxMzU2MDM0RDAwMkEyOEQ0IC8qIEpTTXVsdGlwbGVUcmFja0xpc3QuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNdWx0aXBsZVRyYWNrTGlzdC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlCMTQzNTNEMDEzOEVBOEVEMDBENTMyNzYgLyogU3RyZWFt
Q29udGFpbmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0cmVhbUNvbnRh
aW5lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMTQzNTNEMTEzOEVBOEVEMDBE
NTMyNzYgLyogU3RyZWFtTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBTdHJlYW1MaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjE0MzUz
RDIxMzhFQThFRDAwRDUzMjc2IC8qIFN0cmVhbUxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU3RyZWFtTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlC
MTQzNTNEMzEzOEVBOEVEMDBENTMyNzYgLyogU3RyZWFtTGlzdC5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gU3RyZWFtTGlzdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIx
NDM1M0Y2MTM4RUE5NUIwMEQ1MzI3NiAvKiBKU1N0cmVhbUxpc3QuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTdHJlYW1MaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQjE0MzUzRjcxMzhFQTk1QjAwRDUzMjc2IC8qIEpTU3RyZWFtTGlzdC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1N0cmVhbUxpc3QuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjE4Mjc0OTIxMzRDQTRDMTAwQjk4QzJEIC8qIENhbGxi
YWNrRnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2Fs
bGJhY2tGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxRDVFQ0I0
MTM0QjU4REEwMDg3Qzc4RiAvKiBDYWxsYmFja0Z1bmN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IENhbGxiYWNrRnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQjFFNTQ1NzExMzQ2MjkxRjAwOTJBNTQ1IC8qIEdlbmVyYXRlZFN0cmVhbS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHZW5lcmF0ZWRTdHJlYW0uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTcwMjksNiArMTcwNDAsOCBAQAogCQkJ
CTc1NDE1RDU0MTI5QUIyRDIwMDNBRDY2OSAvKiBKU1NwZWVjaElucHV0UmVzdWx0TGlzdC5oICov
LAogCQkJCUIxRTU0NUQ3MTM0NjJCMEIwMDkyQTU0NSAvKiBKU1N0cmVhbS5jcHAgKi8sCiAJCQkJ
QjFFNTQ1RDgxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTU3RyZWFtLmggKi8sCisJCQkJQjE0MzUzRjYx
MzhFQTk1QjAwRDUzMjc2IC8qIEpTU3RyZWFtTGlzdC5jcHAgKi8sCisJCQkJQjE0MzUzRjcxMzhF
QTk1QjAwRDUzMjc2IC8qIEpTU3RyZWFtTGlzdC5oICovLAogCQkJCTY1REYzMUVGMDlEMUNDNjAw
MDBCRTMyNSAvKiBKU1RleHQuY3BwICovLAogCQkJCTY1REYzMUYwMDlEMUNDNjAwMDBCRTMyNSAv
KiBKU1RleHQuaCAqLywKIAkJCQlCMTJEMjM2MzEzNTYwMzJGMDAyQTI4RDQgLyogSlNUcmFja0xp
c3QuY3BwICovLApAQCAtMTk1NzYsNiArMTk1ODksMTAgQEAKIAkJCQlCMUU1NDU3NDEzNDYyOTFG
MDA5MkE1NDUgLyogU3RyZWFtLmNwcCAqLywKIAkJCQlCMUU1NDU3NTEzNDYyOTFGMDA5MkE1NDUg
LyogU3RyZWFtLmggKi8sCiAJCQkJQjFFNTQ1NzYxMzQ2MjkxRjAwOTJBNTQ1IC8qIFN0cmVhbS5p
ZGwgKi8sCisJCQkJQjE0MzUzRDAxMzhFQThFRDAwRDUzMjc2IC8qIFN0cmVhbUNvbnRhaW5lci5o
ICovLAorCQkJCUIxNDM1M0QxMTM4RUE4RUQwMEQ1MzI3NiAvKiBTdHJlYW1MaXN0LmNwcCAqLywK
KwkJCQlCMTQzNTNEMjEzOEVBOEVEMDBENTMyNzYgLyogU3RyZWFtTGlzdC5oICovLAorCQkJCUIx
NDM1M0QzMTM4RUE4RUQwMEQ1MzI3NiAvKiBTdHJlYW1MaXN0LmlkbCAqLywKIAkJCQk4MTAyQzU4
NzEzMjVCQjExMDBEREU2N0EgLyogU3RyaW5nQ2FsbGJhY2suY3BwICovLAogCQkJCTgxQUM2QzM1
MTMxQzU3RDMwMDA5QTdFMCAvKiBTdHJpbmdDYWxsYmFjay5oICovLAogCQkJCTgxQUM2QzM0MTMx
QzU3QzIwMDA5QTdFMCAvKiBTdHJpbmdDYWxsYmFjay5pZGwgKi8sCkBAIC0yMzAwOCw2ICsyMzAy
NSw5IEBACiAJCQkJQjEyRDIzNkUxMzU2MDM0RDAwMkEyOEQ0IC8qIEpTTXVsdGlwbGVUcmFja0xp
c3QuaCBpbiBIZWFkZXJzICovLAogCQkJCThDMEUzMzREMTM4QTkyQzcwMDhEQTk0RiAvKiBMZXZl
bERCVHJhbnNhY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCThDMEUzMzRGMTM4QTkyQzcwMDhE
QTk0RiAvKiBMZXZlbERCV3JpdGVCYXRjaC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjE0MzUzRDQx
MzhFQThFRDAwRDUzMjc2IC8qIFN0cmVhbUNvbnRhaW5lci5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
QjE0MzUzRDYxMzhFQThFRDAwRDUzMjc2IC8qIFN0cmVhbUxpc3QuaCBpbiBIZWFkZXJzICovLAor
CQkJCUIxNDM1M0Y5MTM4RUE5NUIwMEQ1MzI3NiAvKiBKU1N0cmVhbUxpc3QuaCBpbiBIZWFkZXJz
ICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwog
CQl9OwpAQCAtMjU3MDQsNiArMjU3MjQsOCBAQAogCQkJCUIxMkQyMzZEMTM1NjAzNEQwMDJBMjhE
NCAvKiBKU011bHRpcGxlVHJhY2tMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCThDMEUzMzRD
MTM4QTkyQzcwMDhEQTk0RiAvKiBMZXZlbERCVHJhbnNhY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJOEMwRTMzNEUxMzhBOTJDNzAwOERBOTRGIC8qIExldmVsREJXcml0ZUJhdGNoLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCUIxNDM1M0Q1MTM4RUE4RUQwMEQ1MzI3NiAvKiBTdHJlYW1MaXN0
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUIxNDM1M0Y4MTM4RUE5NUIwMEQ1MzI3NiAvKiBKU1N0
cmVhbUxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1l
bnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vU3RyZWFtQ29udGFpbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3RyZWFtQ29udGFpbmVy
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMWFlMTQ5MDVhMDU2Y2NiOGVlY2U1Nzk1NTRiM2Q3YWZiNzE2YjY5MAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHJlYW1Db250YWluZXIuaApA
QCAtMCwwICsxLDkwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFN0cmVhbUNvbnRhaW5lcl9o
CisjZGVmaW5lIFN0cmVhbUNvbnRhaW5lcl9oCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQor
CisjaW5jbHVkZSAiU3RyZWFtLmgiCisjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KKyNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8
d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIFN0cmVhbUNvbnRhaW5lciA6IHB1YmxpYyBSZWZDb3VudGVk
PFN0cmVhbUNvbnRhaW5lcj4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0cmVh
bUNvbnRhaW5lcj4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFN0cmVhbUNvbnRhaW5l
cik7IH0KKyAgICB2aXJ0dWFsIH5TdHJlYW1Db250YWluZXIoKSB7IH0KKworICAgIHVuc2lnbmVk
IGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fc3RyZWFtcy5zaXplKCk7IH0KKworICAgIFBhc3NS
ZWZQdHI8U3RyZWFtPiBpdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdAorICAgIHsKKyAgICAgICAg
SGFzaE1hcDxTdHJpbmcsIFJlZlB0cjxTdHJlYW0+ID46OmNvbnN0X2l0ZXJhdG9yIGkgPSBtX3N0
cmVhbXMuYmVnaW4oKTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBqID0gMDsgaSAhPSBtX3N0cmVh
bXMuZW5kKCk7ICsraSwgKytqKSB7CisgICAgICAgICAgICBpZiAoaiA9PSBpbmRleCkKKyAgICAg
ICAgICAgICAgICByZXR1cm4gaS0+c2Vjb25kOworICAgICAgICB9CisgICAgICAgIHJldHVybiBQ
YXNzUmVmUHRyPFN0cmVhbT4oKTsKKyAgICB9CisKKyAgICB2b2lkIGFkZChQYXNzUmVmUHRyPFN0
cmVhbT4gc3RyZWFtKQorICAgIHsKKyAgICAgICAgUmVmUHRyPFN0cmVhbT4gcyA9IHN0cmVhbTsK
KyAgICAgICAgbV9zdHJlYW1zLmFkZChzLT5sYWJlbCgpLCBzKTsKKyAgICB9CisKKyAgICB2b2lk
IHJlbW92ZShQYXNzUmVmUHRyPFN0cmVhbT4gc3RyZWFtKQorICAgIHsKKyAgICAgICAgUmVmUHRy
PFN0cmVhbT4gcyA9IHN0cmVhbTsKKyAgICAgICAgQVNTRVJUKGNvbnRhaW5zKHMpKTsKKyAgICAg
ICAgbV9zdHJlYW1zLnJlbW92ZShzLT5sYWJlbCgpKTsKKyAgICB9CisKKyAgICBib29sIGNvbnRh
aW5zKFBhc3NSZWZQdHI8U3RyZWFtPiBzdHJlYW0pIGNvbnN0CisgICAgeworICAgICAgICBSZWZQ
dHI8U3RyZWFtPiBzID0gc3RyZWFtOworICAgICAgICByZXR1cm4gbV9zdHJlYW1zLmNvbnRhaW5z
KHMtPmxhYmVsKCkpOworICAgIH0KKworICAgIFBhc3NSZWZQdHI8U3RyZWFtPiBnZXQoY29uc3Qg
U3RyaW5nJiBrZXkpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9zdHJlYW1zLmdldChr
ZXkpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBTdHJlYW1Db250YWluZXIoKSB7IH0KKworICAg
IEhhc2hNYXA8U3RyaW5nLCBSZWZQdHI8U3RyZWFtPiA+IG1fc3RyZWFtczsKK307CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNl
bmRpZiAvLyBTdHJlYW1Db250YWluZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L1N0cmVhbUxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0cmVhbUxpc3QuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjAyMjM0ZTdkY2JmYTE4ODkzMGQ1YzU3NTE3MDllNWMxZTI2N2ZhZTgKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3RyZWFtTGlzdC5jcHAKQEAgLTAsMCArMSw2
MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlN0cmVh
bUxpc3QuaCIKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlIDxTdHJlYW1D
b250YWluZXIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQYXNzUmVmUHRyPFN0cmVhbUxp
c3Q+IFN0cmVhbUxpc3Q6OmNyZWF0ZShQYXNzUmVmUHRyPFN0cmVhbUNvbnRhaW5lcj4gc3RyZWFt
cykKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFN0cmVhbUxpc3Qoc3RyZWFtcykpOworfQor
CitTdHJlYW1MaXN0OjpTdHJlYW1MaXN0KFBhc3NSZWZQdHI8U3RyZWFtQ29udGFpbmVyPiBzdHJl
YW1zKQorICAgIDogbV9zdHJlYW1zKHN0cmVhbXMpCit7Cit9CisKK1N0cmVhbUxpc3Q6On5TdHJl
YW1MaXN0KCkKK3sKK30KKwordW5zaWduZWQgU3RyZWFtTGlzdDo6bGVuZ3RoKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gbV9zdHJlYW1zLT5sZW5ndGgoKTsKK30KKworUGFzc1JlZlB0cjxTdHJlYW0+
IFN0cmVhbUxpc3Q6Oml0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0Cit7CisgICAgaWYgKGluZGV4
IDwgbV9zdHJlYW1zLT5sZW5ndGgoKSkKKyAgICAgICAgcmV0dXJuIG1fc3RyZWFtcy0+aXRlbShp
bmRleCk7CisgICAgcmV0dXJuIFBhc3NSZWZQdHI8U3RyZWFtPigpOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL1N0cmVhbUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9T
dHJlYW1MaXN0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDRmNWQyNzczODA1NzY4NTZkMTBhYjY2MTdiODRlY2Q4
YzZiYzRkMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHJlYW1MaXN0
LmgKQEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBTdHJlYW1MaXN0X2gK
KyNkZWZpbmUgU3RyZWFtTGlzdF9oCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIFN0cmVhbTsKK2NsYXNzIFN0cmVhbUNvbnRhaW5lcjsKKwor
Y2xhc3MgU3RyZWFtTGlzdCA6IHB1YmxpYyBSZWZDb3VudGVkPFN0cmVhbUxpc3Q+IHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTdHJlYW1MaXN0PiBjcmVhdGUoUGFzc1JlZlB0cjxT
dHJlYW1Db250YWluZXI+IHN0cmVhbXMpOworICAgIHZpcnR1YWwgflN0cmVhbUxpc3QoKTsKKwor
ICAgIC8vIERPTSBtZXRob2RzICYgYXR0cmlidXRlcyBmb3IgU3RyZWFtTGlzdAorICAgIHZpcnR1
YWwgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3Q7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPFN0cmVh
bT4gaXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgU3RyZWFtTGlz
dChQYXNzUmVmUHRyPFN0cmVhbUNvbnRhaW5lcj4gc3RyZWFtcyk7CisKKyAgICBSZWZQdHI8U3Ry
ZWFtQ29udGFpbmVyPiBtX3N0cmVhbXM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjZW5kaWYgLy8gU3RyZWFtTGlzdF9o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3RyZWFtTGlzdC5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vU3RyZWFtTGlzdC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDI5MzIxOWY2OWM0ODNlZDMy
MGNiNzVlYTg2MTE4MmVlODFlZjg2ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TdHJlYW1MaXN0LmlkbApAQCAtMCwwICsxLDM2IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMK
KyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1
bGUgY29yZSB7CisKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1NRURJQV9T
VFJFQU0sCisgICAgICAgIEhhc0luZGV4R2V0dGVyCisgICAgXSBTdHJlYW1MaXN0IHsKKyAgICAg
ICAgU3RyZWFtIGl0ZW0oaW4gW0lzSW5kZXhdIHVuc2lnbmVkIGxvbmcgaW5kZXgpOworCisgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKKyAgICB9OworCit9
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96409</attachid>
            <date>2011-06-08 05:45:45 -0700</date>
            <delta_ts>2011-06-14 04:24:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61539-20110608144543.patch</filename>
            <type>text/plain</type>
            <size>25864</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODgzMzYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYjg0N2M0
Y2VjYzcxODcwNzY3YTI5MTA4ZDUyOTNiMmE1NGMxZGFmNC4uYzIzYTM3ZGFiNGU3NmNlNjc5ZjIy
ODg2YTYxY2MxYmEzMDdhZDU3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE5NTcsNiArMTk1
Nyw3IEBAIElGIChFTkFCTEVfTUVESUFfU1RSRUFNKQogICAgICAgICBiaW5kaW5ncy9qcy9KU05h
dmlnYXRvckN1c3RvbS5jcHAKICAgICAgICAgZG9tL0dlbmVyYXRlZFN0cmVhbS5jcHAKICAgICAg
ICAgZG9tL1N0cmVhbS5jcHAKKyAgICAgICAgZG9tL1N0cmVhbUxpc3QuY3BwCiAgICAgICAgIHBh
Z2UvTWVkaWFTdHJlYW1Db250cm9sbGVyLmNwcAogICAgICAgICBwYWdlL01lZGlhU3RyZWFtRnJh
bWVDb250cm9sbGVyLmNwcAogICAgICkKQEAgLTE5NjQsNiArMTk2NSw3IEBAIElGIChFTkFCTEVf
TUVESUFfU1RSRUFNKQogICAgIExJU1QoQVBQRU5EIFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgICAg
IGRvbS9HZW5lcmF0ZWRTdHJlYW0uaWRsCiAgICAgICAgIGRvbS9TdHJlYW0uaWRsCisgICAgICAg
IGRvbS9TdHJlYW1MaXN0LmlkbAogICAgICAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9y
LmlkbAogICAgICkKIEVORElGICgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMThiNzRiNWIzMjVkMWU5ZjM2OWI2
ZDZkNWExZGZmMTQ5OTIxYzgyMi4uMDQwNmNkMTA1OTlkNjc3ZWQwNWE5NTE0N2U4MTc0YTAzMDYw
YTNmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDExLTA1LTMwICBUb21teSBXaWRl
bmZseWNodCAgPHRvbW15d0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE1lZGlhIFN0cmVhbSBQZWVyQ29ubmVjdGlvbiBBUEk6IGFk
ZGluZyB0aGUgU3RyZWFtTGlzdCBhbmQgc3VwcG9ydGluZyBjbGFzc2VzLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE1MzkKKworICAgICAgICBUZXN0
cyBmb3IgdGhlIE1lZGlhIFN0cmVhbSBBUEkgd2lsbCBiZSBwcm92aWRlZCBieSB0aGUgYnVnIDU2
NTg3LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogQ29kZUdlbmVyYXRv
cnMucHJpOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAgKiBEZXJpdmVk
U291cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICog
V2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBkb20vU3RyZWFtQ29udGFpbmVyLmg6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6U3RyZWFtQ29udGFpbmVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6U3RyZWFtQ29udGFpbmVyOjp+U3RyZWFtQ29udGFpbmVyKToKKyAgICAgICAgKFdlYkNvcmU6
OlN0cmVhbUNvbnRhaW5lcjo6bGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbUNvbnRh
aW5lcjo6aXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpTdHJlYW1Db250YWluZXI6OmFkZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTdHJlYW1Db250YWluZXI6OnJlbW92ZSk6CisgICAgICAgIChXZWJD
b3JlOjpTdHJlYW1Db250YWluZXI6OmNvbnRhaW5zKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVh
bUNvbnRhaW5lcjo6Z2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbUNvbnRhaW5lcjo6U3Ry
ZWFtQ29udGFpbmVyKToKKyAgICAgICAgKiBkb20vU3RyZWFtTGlzdC5jcHA6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6U3RyZWFtTGlzdDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0
cmVhbUxpc3Q6OlN0cmVhbUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtTGlzdDo6flN0
cmVhbUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtTGlzdDo6bGVuZ3RoKToKKyAgICAg
ICAgKFdlYkNvcmU6OlN0cmVhbUxpc3Q6Oml0ZW0pOgorICAgICAgICAqIGRvbS9TdHJlYW1MaXN0
Lmg6IEFkZGVkLgorICAgICAgICAqIGRvbS9TdHJlYW1MaXN0LmlkbDogQWRkZWQuCisKIDIwMTEt
MDYtMDggIEFuZHJlYXMgS2xpbmcgIDxhbmRyZWFzLmtsaW5nQG5va2lhLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBMYXN6bG8gR29tYm9zLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q29kZUdlbmVyYXRvcnMucHJpIGIvU291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCmlu
ZGV4IDdhMTc0OWNkZDU4MmM1Mjc4NzFiYmI0YWVjOWQ5YWU1NWMxYzhjYzEuLjRkZGNmNjk5YzM4
MGJlMzE5MzcwODA3ZDEzOTJmNjgyY2E5ZGE4Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NvZGVHZW5lcmF0b3JzLnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5w
cmkKQEAgLTE1Niw2ICsxNTYsNyBAQCBJRExfQklORElOR1MgKz0gXAogICAgIGRvbS9SYW5nZUV4
Y2VwdGlvbi5pZGwgXAogICAgIGRvbS9SYW5nZS5pZGwgXAogICAgIGRvbS9TdHJlYW0uaWRsIFwK
KyAgICBkb20vU3RyZWFtTGlzdC5pZGwgXAogICAgIGRvbS9TdHJpbmdDYWxsYmFjay5pZGwgXAog
ICAgIGRvbS9UZXh0LmlkbCBcCiAgICAgZG9tL1RleHRFdmVudC5pZGwgXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMuY3BwCmluZGV4IGIxZjk1MzVhOTVmZjg1N2VlYzMxYWQyNWYyOTM0YjQzNTg3ZjI4
NjQuLjhlYzJiYjE3NzgwOGMzZjJjYzA3NTAwMjZiOWMyNjY5ZGMxODU3ZmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5jcHAKQEAgLTI5Miw2ICsyOTIsNyBAQAogI2luY2x1ZGUgIkpTU3RvcmFn
ZUluZm9RdW90YUNhbGxiYWNrLmNwcCIKICNpbmNsdWRlICJKU1N0b3JhZ2VJbmZvVXNhZ2VDYWxs
YmFjay5jcHAiCiAjaW5jbHVkZSAiSlNTdHJlYW0uY3BwIgorI2luY2x1ZGUgIkpTU3RyZWFtTGlz
dC5jcHAiCiAjaW5jbHVkZSAiSlNTdHJpbmdDYWxsYmFjay5jcHAiCiAjaW5jbHVkZSAiSlNTdHls
ZU1lZGlhLmNwcCIKICNpbmNsdWRlICJKU1N0eWxlU2hlZXQuY3BwIgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKaW5kZXggMjA2NGUzNjkxMjNhYjE4MTc5YWEzMTU5ZWI5MTE2NWNlZDMxYTA1
MC4uNjUwYzI3MTM0MzYwYjI3YTY0ZDkyOGVjY2Y0ZGI2YjNjNTZiZmEzYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCkBAIC0zNjUsNiArMzY1LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAg
ICAgU3RvcmFnZUluZm9RdW90YUNhbGxiYWNrIFwKICAgICBTdG9yYWdlSW5mb1VzYWdlQ2FsbGJh
Y2sgXAogICAgIFN0cmVhbSBcCisgICAgU3RyZWFtTGlzdCBcCiAgICAgU3RyaW5nQ2FsbGJhY2sg
XAogICAgIFNWR0FFbGVtZW50IFwKICAgICBTVkdBbHRHbHlwaEVsZW1lbnQgXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggNGYyZjhlMTNjMjFlZDhkYWE1MmI1YTc0MDYwM2ZkYTU2
MzczZDljNi4uYjAyM2IwZDI4ZTM3YWIzNDQzMTY1YTFkNjBjNjgxODMyNjJiMmM3MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC00NjEsNiArNDYxLDggQEAgd2ViY29yZV9idWls
dF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU3RvcmFnZUluZm9Vc2Fn
ZUNhbGxiYWNrLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTdHJlYW0uY3BwIFwKIAlE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU3RyZWFtLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNTdHJlYW1MaXN0LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1N0cmVhbUxp
c3QuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1N0eWxlTWVkaWEuY3BwIFwKIAlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTU3R5bGVNZWRpYS5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTU3R5bGVTaGVldC5jcHAgXApAQCAtMTI3Miw2ICsxMjc0LDkgQEAgd2ViY29yZV9zb3Vy
Y2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vU3RhdGljTm9kZUxpc3QuaCBcCiAJU291cmNl
L1dlYkNvcmUvZG9tL1N0cmVhbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9TdHJlYW0uaCBc
CisJU291cmNlL1dlYkNvcmUvZG9tL1N0cmVhbUNvbnRhaW5lci5oIFwKKwlTb3VyY2UvV2ViQ29y
ZS9kb20vU3RyZWFtTGlzdC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2RvbS9TdHJlYW1MaXN0Lmgg
XAogCVNvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvZG9tL1N0eWxlZEVsZW1lbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlRWxlbWVu
dC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDcwYjA2ZjU2NWMzOGJmYjViMjc5YjZjYWYzNzJm
NDkzN2Q2ZmY3ZWYuLmM5ZmU5N2U3MjQ1ZjhhYjIzMTQ1OTEzMzliYmUxOWQyMDkwYzFiMTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKQEAgLTExNzIsNiArMTE3Miw3IEBACiAgICAgICAgICAgICAnZG9tL1Jh
bmdlRXhjZXB0aW9uLmlkbCcsCiAgICAgICAgICAgICAnZG9tL1JlcXVlc3RBbmltYXRpb25GcmFt
ZUNhbGxiYWNrLmlkbCcsCiAgICAgICAgICAgICAnZG9tL1N0cmVhbS5pZGwnLAorICAgICAgICAg
ICAgJ2RvbS9TdHJlYW1MaXN0LmlkbCcsCiAgICAgICAgICAgICAnZG9tL1N0cmluZ0NhbGxiYWNr
LmlkbCcsCiAgICAgICAgICAgICAnZG9tL1RleHQuaWRsJywKICAgICAgICAgICAgICdkb20vVGV4
dEV2ZW50LmlkbCcsCkBAIC0yNTgxLDYgKzI1ODIsOSBAQAogICAgICAgICAgICAgJ2RvbS9TdGF0
aWNOb2RlTGlzdC5oJywKICAgICAgICAgICAgICdkb20vU3RyZWFtLmNwcCcsCiAgICAgICAgICAg
ICAnZG9tL1N0cmVhbS5oJywKKyAgICAgICAgICAgICdkb20vU3RyZWFtQ29udGFpbmVyLmgnLAor
ICAgICAgICAgICAgJ2RvbS9TdHJlYW1MaXN0LmNwcCcsCisgICAgICAgICAgICAnZG9tL1N0cmVh
bUxpc3QuaCcsCiAgICAgICAgICAgICAnZG9tL1N0cmluZ0NhbGxiYWNrLmNwcCcsCiAgICAgICAg
ICAgICAnZG9tL1N0cmluZ0NhbGxiYWNrLmgnLAogICAgICAgICAgICAgJ2RvbS9TdHlsZUVsZW1l
bnQuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggMDRjNDlkNDkxMmUyODhjMGY0N2Q0NTA1MDFmYTQz
MWEyZGFkYmUzMi4uMWFlNjhmMjhhNzRiNjA0MTc1N2JmZTJjMWQwMTBkYmQ4MWEzMjcwZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5wcm8KQEAgLTMxNTAsNiArMzE1MCw4IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJM
RV9NRURJQV9TVFJFQU09MSkgewogICAgIEhFQURFUlMgKz0gXAogICAgICAgICBkb20vR2VuZXJh
dGVkU3RyZWFtLmggXAogICAgICAgICBkb20vU3RyZWFtLmggXAorICAgICAgICBkb20vU3RyZWFt
Q29udGFpbmVyLmggXAorICAgICAgICBkb20vU3RyZWFtTGlzdC5oIFwKICAgICAgICAgcGFnZS9D
YWxsYmFja1Rhc2suaCBcCiAgICAgICAgIHBhZ2UvTWVkaWFTdHJlYW1DbGllbnQuaCBcCiAgICAg
ICAgIHBhZ2UvTWVkaWFTdHJlYW1Db250cm9sbGVyLmggXApAQCAtMzE2MSw2ICszMTYzLDcgQEAg
Y29udGFpbnMoREVGSU5FUywgRU5BQkxFX01FRElBX1NUUkVBTT0xKSB7CiAgICAgU09VUkNFUyAr
PSBcCiAgICAgICAgIGRvbS9HZW5lcmF0ZWRTdHJlYW0uY3BwIFwKICAgICAgICAgZG9tL1N0cmVh
bS5jcHAgXAorICAgICAgICBkb20vU3RyZWFtTGlzdC5jcHAgXAogICAgICAgICBwYWdlL01lZGlh
U3RyZWFtQ29udHJvbGxlci5jcHAgXAogICAgICAgICBwYWdlL01lZGlhU3RyZWFtRnJhbWVDb250
cm9sbGVyLmNwcAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qCmluZGV4IGVmNjQ0NzdjNGFhZWIyOWJjYTFjNDFhZjEyOTkxNjcxZWI1NWY5Y2IuLmMyMDVj
ZWViMGI2NjYzOTc2ZmJlMjRmM2MwOTUzMDlkZjYxNTM3OGYgMTAwNzU1Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0xMzY1NCw2ICsxMzY1NCw2MiBAQAog
CQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3Vy
YXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTU3RyZWFt
TGlzdC5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1
Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRv
b2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxX
aW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wK
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9f
Q0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJ
CQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxl
YXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJ
CQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+
CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJ
TmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJ
CQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlO
YW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJ
CQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxh
dGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVy
aXZlZFNvdXJjZXNcSlNTdHJlYW1MaXN0LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUK
IAkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0
TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNTdHJpbmdDYWxsYmFjay5jcHAiCiAJCQkJPgogCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgpAQCAtNDc3MTQsNiArNDc3NzAsNjYgQEAKIAkJCQk+CiAJCQk8L0Zp
bGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXFN0cmVhbUNvbnRhaW5lci5o
IgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21c
U3RyZWFtTGlzdC5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1l
PSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJ
CQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVs
ZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJ
PFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdf
Q2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJ
PgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1l
PSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJ
CQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
KwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgor
CQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxTdHJlYW1MaXN0LmgiCisJCQkJPgorCQkJPC9GaWxlPgor
CQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxTdHJpbmdDYWxsYmFjay5jcHAiCiAJ
CQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGJmZDBkOTUwNDE0OWU1NzJiMGQ2OTNj
MjNkMGQ4YzVkYjNmYzFjNzQuLmY0OGUzODU3NDk4MjVhZjE2MGQxZTY0MzI5NDFmZGE1Y2FmZmJh
YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTQxNTIsNiArNDE1MiwxMSBAQAogCQlCMTJEMjM2QTEzNTYwMzNGMDAyQTI4RDQg
LyogSlNFeGNsdXNpdmVUcmFja0xpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEIxMkQyMzY4MTM1NjAzM0YwMDJBMjhENCAvKiBKU0V4Y2x1c2l2ZVRy
YWNrTGlzdC5oICovOyB9OwogCQlCMTJEMjM2RDEzNTYwMzREMDAyQTI4RDQgLyogSlNNdWx0aXBs
ZVRyYWNrTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCMTJEMjM2QjEzNTYwMzREMDAyQTI4RDQgLyogSlNNdWx0aXBsZVRyYWNrTGlzdC5jcHAg
Ki87IH07CiAJCUIxMkQyMzZFMTM1NjAzNEQwMDJBMjhENCAvKiBKU011bHRpcGxlVHJhY2tMaXN0
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMTJEMjM2
QzEzNTYwMzREMDAyQTI4RDQgLyogSlNNdWx0aXBsZVRyYWNrTGlzdC5oICovOyB9OworCQlCMTQz
NTNENDEzOEVBOEVEMDBENTMyNzYgLyogU3RyZWFtQ29udGFpbmVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMTQzNTNEMDEzOEVBOEVEMDBENTMyNzYg
LyogU3RyZWFtQ29udGFpbmVyLmggKi87IH07CisJCUIxNDM1M0Q1MTM4RUE4RUQwMEQ1MzI3NiAv
KiBTdHJlYW1MaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEIxNDM1M0QxMTM4RUE4RUQwMEQ1MzI3NiAvKiBTdHJlYW1MaXN0LmNwcCAqLzsgfTsK
KwkJQjE0MzUzRDYxMzhFQThFRDAwRDUzMjc2IC8qIFN0cmVhbUxpc3QuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxNDM1M0QyMTM4RUE4RUQwMEQ1MzI3
NiAvKiBTdHJlYW1MaXN0LmggKi87IH07CisJCUIxNDM1M0Y4MTM4RUE5NUIwMEQ1MzI3NiAvKiBK
U1N0cmVhbUxpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQjE0MzUzRjYxMzhFQTk1QjAwRDUzMjc2IC8qIEpTU3RyZWFtTGlzdC5jcHAgKi87IH07
CisJCUIxNDM1M0Y5MTM4RUE5NUIwMEQ1MzI3NiAvKiBKU1N0cmVhbUxpc3QuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxNDM1M0Y3MTM4RUE5NUIwMEQ1
MzI3NiAvKiBKU1N0cmVhbUxpc3QuaCAqLzsgfTsKIAkJQjE4Mjc0OTMxMzRDQTRDMTAwQjk4QzJE
IC8qIENhbGxiYWNrRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQjE4Mjc0OTIxMzRDQTRDMTAwQjk4QzJEIC8qIENhbGxiYWNrRnVuY3Rp
b24uY3BwICovOyB9OwogCQlCMUQ1RUNCNTEzNEI1OERBMDA4N0M3OEYgLyogQ2FsbGJhY2tGdW5j
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFE
NUVDQjQxMzRCNThEQTAwODdDNzhGIC8qIENhbGxiYWNrRnVuY3Rpb24uaCAqLzsgfTsKIAkJQjFF
NTQ1N0ExMzQ2MjkxRjAwOTJBNTQ1IC8qIEdlbmVyYXRlZFN0cmVhbS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDU3MTEzNDYyOTFGMDA5MkE1
NDUgLyogR2VuZXJhdGVkU3RyZWFtLmNwcCAqLzsgfTsKQEAgLTEwNTE1LDYgKzEwNTIwLDEyIEBA
CiAJCUIxMkQyMzY4MTM1NjAzM0YwMDJBMjhENCAvKiBKU0V4Y2x1c2l2ZVRyYWNrTGlzdC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0V4Y2x1c2l2ZVRyYWNrTGlzdC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMTJEMjM2QjEzNTYwMzREMDAyQTI4RDQgLyog
SlNNdWx0aXBsZVRyYWNrTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU011bHRpcGxlVHJhY2tMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQjEyRDIzNkMxMzU2MDM0RDAwMkEyOEQ0IC8qIEpTTXVsdGlwbGVUcmFja0xpc3QuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNdWx0aXBsZVRyYWNrTGlzdC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMTQzNTNEMDEzOEVBOEVEMDBENTMyNzYgLyogU3Ry
ZWFtQ29udGFpbmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0cmVhbUNv
bnRhaW5lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMTQzNTNEMTEzOEVBOEVE
MDBENTMyNzYgLyogU3RyZWFtTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBTdHJlYW1MaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjE0
MzUzRDIxMzhFQThFRDAwRDUzMjc2IC8qIFN0cmVhbUxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gU3RyZWFtTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlCMTQzNTNEMzEzOEVBOEVEMDBENTMyNzYgLyogU3RyZWFtTGlzdC5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gU3RyZWFtTGlzdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUIxNDM1M0Y2MTM4RUE5NUIwMEQ1MzI3NiAvKiBKU1N0cmVhbUxpc3QuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTdHJlYW1MaXN0LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQjE0MzUzRjcxMzhFQTk1QjAwRDUzMjc2IC8qIEpTU3RyZWFtTGlz
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1N0cmVhbUxpc3QuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjE4Mjc0OTIxMzRDQTRDMTAwQjk4QzJEIC8qIENh
bGxiYWNrRnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
Q2FsbGJhY2tGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxRDVF
Q0I0MTM0QjU4REEwMDg3Qzc4RiAvKiBDYWxsYmFja0Z1bmN0aW9uLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENhbGxiYWNrRnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQjFFNTQ1NzExMzQ2MjkxRjAwOTJBNTQ1IC8qIEdlbmVyYXRlZFN0cmVhbS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHZW5lcmF0ZWRTdHJlYW0u
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTcxNDYsNiArMTcxNTcsOCBAQAog
CQkJCTc1NDE1RDU0MTI5QUIyRDIwMDNBRDY2OSAvKiBKU1NwZWVjaElucHV0UmVzdWx0TGlzdC5o
ICovLAogCQkJCUIxRTU0NUQ3MTM0NjJCMEIwMDkyQTU0NSAvKiBKU1N0cmVhbS5jcHAgKi8sCiAJ
CQkJQjFFNTQ1RDgxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTU3RyZWFtLmggKi8sCisJCQkJQjE0MzUz
RjYxMzhFQTk1QjAwRDUzMjc2IC8qIEpTU3RyZWFtTGlzdC5jcHAgKi8sCisJCQkJQjE0MzUzRjcx
MzhFQTk1QjAwRDUzMjc2IC8qIEpTU3RyZWFtTGlzdC5oICovLAogCQkJCTY1REYzMUVGMDlEMUND
NjAwMDBCRTMyNSAvKiBKU1RleHQuY3BwICovLAogCQkJCTY1REYzMUYwMDlEMUNDNjAwMDBCRTMy
NSAvKiBKU1RleHQuaCAqLywKIAkJCQlCMTJEMjM2MzEzNTYwMzJGMDAyQTI4RDQgLyogSlNUcmFj
a0xpc3QuY3BwICovLApAQCAtMTk2OTMsNiArMTk3MDYsMTAgQEAKIAkJCQlCMUU1NDU3NDEzNDYy
OTFGMDA5MkE1NDUgLyogU3RyZWFtLmNwcCAqLywKIAkJCQlCMUU1NDU3NTEzNDYyOTFGMDA5MkE1
NDUgLyogU3RyZWFtLmggKi8sCiAJCQkJQjFFNTQ1NzYxMzQ2MjkxRjAwOTJBNTQ1IC8qIFN0cmVh
bS5pZGwgKi8sCisJCQkJQjE0MzUzRDAxMzhFQThFRDAwRDUzMjc2IC8qIFN0cmVhbUNvbnRhaW5l
ci5oICovLAorCQkJCUIxNDM1M0QxMTM4RUE4RUQwMEQ1MzI3NiAvKiBTdHJlYW1MaXN0LmNwcCAq
LywKKwkJCQlCMTQzNTNEMjEzOEVBOEVEMDBENTMyNzYgLyogU3RyZWFtTGlzdC5oICovLAorCQkJ
CUIxNDM1M0QzMTM4RUE4RUQwMEQ1MzI3NiAvKiBTdHJlYW1MaXN0LmlkbCAqLywKIAkJCQk4MTAy
QzU4NzEzMjVCQjExMDBEREU2N0EgLyogU3RyaW5nQ2FsbGJhY2suY3BwICovLAogCQkJCTgxQUM2
QzM1MTMxQzU3RDMwMDA5QTdFMCAvKiBTdHJpbmdDYWxsYmFjay5oICovLAogCQkJCTgxQUM2QzM0
MTMxQzU3QzIwMDA5QTdFMCAvKiBTdHJpbmdDYWxsYmFjay5pZGwgKi8sCkBAIC0yMzE0MSw2ICsy
MzE1OCw5IEBACiAJCQkJNDQ5NkUzQTAxMzk4MTNBNTAwM0VFMzJBIC8qIEpTU1ZHTVBhdGhFbGVt
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTI0NDVGNzEzOTU4OTNBMDA0QjZDMTkgLyogT3Bl
cmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkUyNDQ3Njkx
Mzk1OTE3MzAwNEI2QzE5IC8qIEpTT3BlcmF0aW9uTm90QWxsb3dlZEV4Y2VwdGlvbi5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQjE0MzUzRDQxMzhFQThFRDAwRDUzMjc2IC8qIFN0cmVhbUNvbnRhaW5l
ci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjE0MzUzRDYxMzhFQThFRDAwRDUzMjc2IC8qIFN0cmVh
bUxpc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCUIxNDM1M0Y5MTM4RUE5NUIwMEQ1MzI3NiAvKiBK
U1N0cmVhbUxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3lt
ZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjU4NzAsNiArMjU4OTAsOCBAQAogCQkJ
CTQ0OTZFMzlEMTM5ODEzNkMwMDNFRTMyQSAvKiBKU1NWR0FuaW1hdGVNb3Rpb25FbGVtZW50LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTQ0OTZFM0EyMTM5ODEzQ0IwMDNFRTMyQSAvKiBKU1NWR01Q
YXRoRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRTI0NDc2ODEzOTU5MTczMDA0QjZD
MTkgLyogSlNPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9uLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCUIxNDM1M0Q1MTM4RUE4RUQwMEQ1MzI3NiAvKiBTdHJlYW1MaXN0LmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCUIxNDM1M0Y4MTM4RUE5NUIwMEQ1MzI3NiAvKiBKU1N0cmVhbUxpc3QuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2lu
ZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3RyZWFtQ29udGFp
bmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3RyZWFtQ29udGFpbmVyLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MWFlMTQ5MDVhMDU2Y2NiOGVlY2U1Nzk1NTRiM2Q3YWZiNzE2YjY5MAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHJlYW1Db250YWluZXIuaApAQCAtMCwwICsxLDkwIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQor
ICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
CisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaWZuZGVmIFN0cmVhbUNvbnRhaW5lcl9oCisjZGVmaW5lIFN0cmVh
bUNvbnRhaW5lcl9oCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAiU3Ry
ZWFtLmgiCisjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KKyNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIFN0cmVhbUNvbnRhaW5lciA6IHB1YmxpYyBSZWZDb3VudGVkPFN0cmVhbUNvbnRhaW5l
cj4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0cmVhbUNvbnRhaW5lcj4gY3Jl
YXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFN0cmVhbUNvbnRhaW5lcik7IH0KKyAgICB2aXJ0
dWFsIH5TdHJlYW1Db250YWluZXIoKSB7IH0KKworICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0
IHsgcmV0dXJuIG1fc3RyZWFtcy5zaXplKCk7IH0KKworICAgIFBhc3NSZWZQdHI8U3RyZWFtPiBp
dGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdAorICAgIHsKKyAgICAgICAgSGFzaE1hcDxTdHJpbmcs
IFJlZlB0cjxTdHJlYW0+ID46OmNvbnN0X2l0ZXJhdG9yIGkgPSBtX3N0cmVhbXMuYmVnaW4oKTsK
KyAgICAgICAgZm9yICh1bnNpZ25lZCBqID0gMDsgaSAhPSBtX3N0cmVhbXMuZW5kKCk7ICsraSwg
KytqKSB7CisgICAgICAgICAgICBpZiAoaiA9PSBpbmRleCkKKyAgICAgICAgICAgICAgICByZXR1
cm4gaS0+c2Vjb25kOworICAgICAgICB9CisgICAgICAgIHJldHVybiBQYXNzUmVmUHRyPFN0cmVh
bT4oKTsKKyAgICB9CisKKyAgICB2b2lkIGFkZChQYXNzUmVmUHRyPFN0cmVhbT4gc3RyZWFtKQor
ICAgIHsKKyAgICAgICAgUmVmUHRyPFN0cmVhbT4gcyA9IHN0cmVhbTsKKyAgICAgICAgbV9zdHJl
YW1zLmFkZChzLT5sYWJlbCgpLCBzKTsKKyAgICB9CisKKyAgICB2b2lkIHJlbW92ZShQYXNzUmVm
UHRyPFN0cmVhbT4gc3RyZWFtKQorICAgIHsKKyAgICAgICAgUmVmUHRyPFN0cmVhbT4gcyA9IHN0
cmVhbTsKKyAgICAgICAgQVNTRVJUKGNvbnRhaW5zKHMpKTsKKyAgICAgICAgbV9zdHJlYW1zLnJl
bW92ZShzLT5sYWJlbCgpKTsKKyAgICB9CisKKyAgICBib29sIGNvbnRhaW5zKFBhc3NSZWZQdHI8
U3RyZWFtPiBzdHJlYW0pIGNvbnN0CisgICAgeworICAgICAgICBSZWZQdHI8U3RyZWFtPiBzID0g
c3RyZWFtOworICAgICAgICByZXR1cm4gbV9zdHJlYW1zLmNvbnRhaW5zKHMtPmxhYmVsKCkpOwor
ICAgIH0KKworICAgIFBhc3NSZWZQdHI8U3RyZWFtPiBnZXQoY29uc3QgU3RyaW5nJiBrZXkpIGNv
bnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9zdHJlYW1zLmdldChrZXkpOworICAgIH0KKwor
cHJpdmF0ZToKKyAgICBTdHJlYW1Db250YWluZXIoKSB7IH0KKworICAgIEhhc2hNYXA8U3RyaW5n
LCBSZWZQdHI8U3RyZWFtPiA+IG1fc3RyZWFtczsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBTdHJlYW1D
b250YWluZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1N0cmVhbUxpc3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL1N0cmVhbUxpc3QuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAyMjM0ZTdk
Y2JmYTE4ODkzMGQ1YzU3NTE3MDllNWMxZTI2N2ZhZTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU3RyZWFtTGlzdC5jcHAKQEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
CisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlN0cmVhbUxpc3QuaCIKKworI2lm
IEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlIDxTdHJlYW1Db250YWluZXIuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitQYXNzUmVmUHRyPFN0cmVhbUxpc3Q+IFN0cmVhbUxpc3Q6
OmNyZWF0ZShQYXNzUmVmUHRyPFN0cmVhbUNvbnRhaW5lcj4gc3RyZWFtcykKK3sKKyAgICByZXR1
cm4gYWRvcHRSZWYobmV3IFN0cmVhbUxpc3Qoc3RyZWFtcykpOworfQorCitTdHJlYW1MaXN0OjpT
dHJlYW1MaXN0KFBhc3NSZWZQdHI8U3RyZWFtQ29udGFpbmVyPiBzdHJlYW1zKQorICAgIDogbV9z
dHJlYW1zKHN0cmVhbXMpCit7Cit9CisKK1N0cmVhbUxpc3Q6On5TdHJlYW1MaXN0KCkKK3sKK30K
KwordW5zaWduZWQgU3RyZWFtTGlzdDo6bGVuZ3RoKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9z
dHJlYW1zLT5sZW5ndGgoKTsKK30KKworUGFzc1JlZlB0cjxTdHJlYW0+IFN0cmVhbUxpc3Q6Oml0
ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0Cit7CisgICAgaWYgKGluZGV4IDwgbV9zdHJlYW1zLT5s
ZW5ndGgoKSkKKyAgICAgICAgcmV0dXJuIG1fc3RyZWFtcy0+aXRlbShpbmRleCk7CisgICAgcmV0
dXJuIFBhc3NSZWZQdHI8U3RyZWFtPigpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL1N0cmVhbUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHJlYW1MaXN0LmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNDRmNWQyNzczODA1NzY4NTZkMTBhYjY2MTdiODRlY2Q4YzZiYzRkMAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHJlYW1MaXN0LmgKQEAgLTAsMCArMSw1
OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBTdHJlYW1MaXN0X2gKKyNkZWZpbmUgU3RyZWFt
TGlzdF9oCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIFN0cmVhbTsKK2NsYXNzIFN0cmVhbUNvbnRhaW5lcjsKKworY2xhc3MgU3RyZWFtTGlz
dCA6IHB1YmxpYyBSZWZDb3VudGVkPFN0cmVhbUxpc3Q+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxTdHJlYW1MaXN0PiBjcmVhdGUoUGFzc1JlZlB0cjxTdHJlYW1Db250YWluZXI+
IHN0cmVhbXMpOworICAgIHZpcnR1YWwgflN0cmVhbUxpc3QoKTsKKworICAgIC8vIERPTSBtZXRo
b2RzICYgYXR0cmlidXRlcyBmb3IgU3RyZWFtTGlzdAorICAgIHZpcnR1YWwgdW5zaWduZWQgbGVu
Z3RoKCkgY29uc3Q7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPFN0cmVhbT4gaXRlbSh1bnNpZ25l
ZCBpbmRleCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgU3RyZWFtTGlzdChQYXNzUmVmUHRyPFN0
cmVhbUNvbnRhaW5lcj4gc3RyZWFtcyk7CisKKyAgICBSZWZQdHI8U3RyZWFtQ29udGFpbmVyPiBt
X3N0cmVhbXM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFC
TEUoTUVESUFfU1RSRUFNKQorCisjZW5kaWYgLy8gU3RyZWFtTGlzdF9oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vU3RyZWFtTGlzdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3Ry
ZWFtTGlzdC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDI5MzIxOWY2OWM0ODNlZDMyMGNiNzVlYTg2MTE4MmVl
ODFlZjg2ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHJlYW1MaXN0
LmlkbApAQCAtMCwwICsxLDM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgY29yZSB7CisKKyAg
ICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1NRURJQV9TVFJFQU0sCisgICAgICAg
IEhhc0luZGV4R2V0dGVyCisgICAgXSBTdHJlYW1MaXN0IHsKKyAgICAgICAgU3RyZWFtIGl0ZW0o
aW4gW0lzSW5kZXhdIHVuc2lnbmVkIGxvbmcgaW5kZXgpOworCisgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKKyAgICB9OworCit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97094</attachid>
            <date>2011-06-14 04:24:41 -0700</date>
            <delta_ts>2011-06-14 06:58:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61539-20110614132439.patch</filename>
            <type>text/plain</type>
            <size>27045</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODg3ODkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMjE0NjUw
OTBlNGMxZjNjOGNkNjlmNGYyMTA5Nzg5MDBlZTcxNTEyNC4uOTY2YTdkY2IxODZmNDIyOWFhZWFh
ZDk3Zjg3YTM2MDAxMzA3NzM3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE5NzYsNiArMTk3
Niw3IEBAIElGIChFTkFCTEVfTUVESUFfU1RSRUFNKQogICAgICAgICBkb20vR2VuZXJhdGVkU3Ry
ZWFtLmNwcAogICAgICAgICBkb20vU3RyZWFtLmNwcAogICAgICAgICBkb20vU3RyZWFtRXZlbnQu
Y3BwCisgICAgICAgIGRvbS9TdHJlYW1MaXN0LmNwcAogICAgICAgICBwYWdlL01lZGlhU3RyZWFt
Q29udHJvbGxlci5jcHAKICAgICAgICAgcGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5j
cHAKICAgICApCkBAIC0xOTg0LDYgKzE5ODUsNyBAQCBJRiAoRU5BQkxFX01FRElBX1NUUkVBTSkK
ICAgICAgICAgZG9tL0dlbmVyYXRlZFN0cmVhbS5pZGwKICAgICAgICAgZG9tL1N0cmVhbS5pZGwK
ICAgICAgICAgZG9tL1N0cmVhbUV2ZW50LmlkbAorICAgICAgICBkb20vU3RyZWFtTGlzdC5pZGwK
ICAgICAgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5pZGwKICAgICApCiBFTkRJRiAo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IDhlMTUzZTg2YjE4OTU5MjlmNmEyYTk3NTBlMmY3NjhlY2UxNThiMjku
LjdmYTViYzM0ODNkYmFkNDZlYzA3MDU5ODM0MWQ5ZTAyYjA5NTFiOWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyOSBAQAorMjAxMS0wNS0zMCAgVG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29v
Z2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBNZWRpYSBTdHJlYW0gUGVlckNvbm5lY3Rpb24gQVBJOiBhZGRpbmcgdGhlIFN0cmVhbUxpc3Qg
YW5kIHN1cHBvcnRpbmcgY2xhc3Nlcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTYxNTM5CisKKyAgICAgICAgKiBkb20vU3RyZWFtQ29udGFpbmVyLmg6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtQ29udGFpbmVyOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6U3RyZWFtQ29udGFpbmVyOjp+U3RyZWFtQ29udGFpbmVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OlN0cmVhbUNvbnRhaW5lcjo6bGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6
OlN0cmVhbUNvbnRhaW5lcjo6aXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpTdHJlYW1Db250YWlu
ZXI6OmFkZCk6CisgICAgICAgIChXZWJDb3JlOjpTdHJlYW1Db250YWluZXI6OnJlbW92ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpTdHJlYW1Db250YWluZXI6OmNvbnRhaW5zKToKKyAgICAgICAgKFdl
YkNvcmU6OlN0cmVhbUNvbnRhaW5lcjo6Z2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbUNv
bnRhaW5lcjo6U3RyZWFtQ29udGFpbmVyKToKKyAgICAgICAgKiBkb20vU3RyZWFtTGlzdC5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtTGlzdDo6Y3JlYXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OlN0cmVhbUxpc3Q6OlN0cmVhbUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6U3Ry
ZWFtTGlzdDo6flN0cmVhbUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtTGlzdDo6bGVu
Z3RoKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbUxpc3Q6Oml0ZW0pOgorICAgICAgICAqIGRv
bS9TdHJlYW1MaXN0Lmg6IEFkZGVkLgorICAgICAgICAqIGRvbS9TdHJlYW1MaXN0LmlkbDogQWRk
ZWQuCisKIDIwMTEtMDYtMTQgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW50IFRhbXVyYS4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnByaSBiL1NvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0
b3JzLnByaQppbmRleCAwMzRlM2RiMGNlZTA2MzUwOTdlZmVmNjBjYThjNzdkMDliNjI4YWRhLi44
NjFmMDhjNjZlMjY3ODNhY2FiMGE5YzY3NmYwMTk4MzcyM2E5MDk4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvQ29kZUdl
bmVyYXRvcnMucHJpCkBAIC0xNTcsNiArMTU3LDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBk
b20vUmFuZ2UuaWRsIFwKICAgICBkb20vU3RyZWFtLmlkbCBcCiAgICAgZG9tL1N0cmVhbUV2ZW50
LmlkbCBcCisgICAgZG9tL1N0cmVhbUxpc3QuaWRsIFwKICAgICBkb20vU3RyaW5nQ2FsbGJhY2su
aWRsIFwKICAgICBkb20vVGV4dC5pZGwgXAogICAgIGRvbS9UZXh0RXZlbnQuaWRsIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRleCA1NDQ1NzQ0ZTY3ODEzYzEyMjE2MjZmNDc2NTBjMDE3
MmIwNmE3OWViLi43MDE4NmE5MDI0ZDc4NzJjZjA4NTZmMjliZTIzMzQzMGRmNmZkYjQ3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC0yOTMsNiArMjkzLDcgQEAKICNpbmNsdWRlICJK
U1N0b3JhZ2VJbmZvVXNhZ2VDYWxsYmFjay5jcHAiCiAjaW5jbHVkZSAiSlNTdHJlYW0uY3BwIgog
I2luY2x1ZGUgIkpTU3RyZWFtRXZlbnQuY3BwIgorI2luY2x1ZGUgIkpTU3RyZWFtTGlzdC5jcHAi
CiAjaW5jbHVkZSAiSlNTdHJpbmdDYWxsYmFjay5jcHAiCiAjaW5jbHVkZSAiSlNTdHlsZU1lZGlh
LmNwcCIKICNpbmNsdWRlICJKU1N0eWxlU2hlZXQuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKaW5kZXggMGM5OTBlY2RkMWMxYTU2ODEwNzllNDNmMjZiMTNiYTc0MTRhYjc4NS4uMzJk
NDRjYjE0OWEzYWNlMzEwOWQ2ZjRmMjcyOTQwMzIxNDAxMTJhZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCkBAIC0zNjcsNiArMzY3LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgU3Rv
cmFnZUluZm9Vc2FnZUNhbGxiYWNrIFwKICAgICBTdHJlYW0gXAogICAgIFN0cmVhbUV2ZW50IFwK
KyAgICBTdHJlYW1MaXN0IFwKICAgICBTdHJpbmdDYWxsYmFjayBcCiAgICAgU1ZHQUVsZW1lbnQg
XAogICAgIFNWR0FsdEdseXBoRWxlbWVudCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpp
bmRleCA3MjhjNjIyMDBhMjFlOTk4M2JiMmZlMjc2OTg1ZGEzZDkyYjY2YzBjLi4zODI3NzMxM2Jl
ZTk4ZGExYmE4ZDc0YjcxMTlkZDQ1YmQ2OTVlZDIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0KQEAgLTQ2Myw2ICs0NjMsOCBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTdHJlYW0uaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1N0cmVhbUV2ZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1N0cmVhbUV2
ZW50LmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTdHJlYW1MaXN0LmNwcCBcCisJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1N0cmVhbUxpc3QuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1N0eWxlTWVkaWEuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU3R5bGVN
ZWRpYS5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU3R5bGVTaGVldC5jcHAgXApAQCAt
MTI3NCw2ICsxMjc2LDExIEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUv
ZG9tL1N0YXRpY05vZGVMaXN0LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9TdHJlYW0uY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS9kb20vU3RyZWFtLmggXAorCVNvdXJjZS9XZWJDb3JlL2RvbS9TdHJl
YW1Db250YWluZXIuaCBcCisJU291cmNlL1dlYkNvcmUvZG9tL1N0cmVhbUV2ZW50LmNwcCBcCisJ
U291cmNlL1dlYkNvcmUvZG9tL1N0cmVhbUV2ZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL2RvbS9T
dHJlYW1MaXN0LmNwcCBcCisJU291cmNlL1dlYkNvcmUvZG9tL1N0cmVhbUxpc3QuaCBcCiAJU291
cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20v
U3R5bGVkRWxlbWVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVFbGVtZW50LmNwcCBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKaW5kZXggOWI0ZmQ1NDZkNjQ3MzI3ZmYwZTZhMjg2OGY5ZWVmNDQxN2Yy
M2Y3Yi4uZGQwY2FkOGM0M2MxMjdmZTRmYzAzYjI2Njg1MjcwOWQ2MjRkOGEyNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQpAQCAtMTE3Nyw2ICsxMTc3LDcgQEAKICAgICAgICAgICAgICdkb20vUmVxdWVzdEFu
aW1hdGlvbkZyYW1lQ2FsbGJhY2suaWRsJywKICAgICAgICAgICAgICdkb20vU3RyZWFtLmlkbCcs
CiAgICAgICAgICAgICAnZG9tL1N0cmVhbUV2ZW50LmlkbCcsCisgICAgICAgICAgICAnZG9tL1N0
cmVhbUxpc3QuaWRsJywKICAgICAgICAgICAgICdkb20vU3RyaW5nQ2FsbGJhY2suaWRsJywKICAg
ICAgICAgICAgICdkb20vVGV4dC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9UZXh0RXZlbnQuaWRs
JywKQEAgLTI1ODMsOCArMjU4NCwxMSBAQAogICAgICAgICAgICAgJ2RvbS9TdGF0aWNOb2RlTGlz
dC5oJywKICAgICAgICAgICAgICdkb20vU3RyZWFtLmNwcCcsCiAgICAgICAgICAgICAnZG9tL1N0
cmVhbS5oJywKKyAgICAgICAgICAgICdkb20vU3RyZWFtQ29udGFpbmVyLmgnLAogICAgICAgICAg
ICAgJ2RvbS9TdHJlYW1FdmVudC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9TdHJlYW1FdmVudC5o
JywKKyAgICAgICAgICAgICdkb20vU3RyZWFtTGlzdC5jcHAnLAorICAgICAgICAgICAgJ2RvbS9T
dHJlYW1MaXN0LmgnLAogICAgICAgICAgICAgJ2RvbS9TdHJpbmdDYWxsYmFjay5jcHAnLAogICAg
ICAgICAgICAgJ2RvbS9TdHJpbmdDYWxsYmFjay5oJywKICAgICAgICAgICAgICdkb20vU3R5bGVF
bGVtZW50LmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IGFkMzZmYzQ3MTMyZDhmNGQ4NDdkYzEwMDNh
MDYzOGQzODk5MmE5ZjAuLjBmNTY1YTc5NWM2OWYwY2I3ODY4ZWFkZDJhOGE4YzMxNzYwNjE3NzEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUucHJvCkBAIC0zMTU3LDcgKzMxNTcsOSBAQCBjb250YWlucyhERUZJTkVTLCBF
TkFCTEVfTUVESUFfU1RSRUFNPTEpIHsKICAgICBIRUFERVJTICs9IFwKICAgICAgICAgZG9tL0dl
bmVyYXRlZFN0cmVhbS5oIFwKICAgICAgICAgZG9tL1N0cmVhbS5oIFwKKyAgICAgICAgZG9tL1N0
cmVhbUNvbnRhaW5lci5oIFwKICAgICAgICAgZG9tL1N0cmVhbUV2ZW50LmggXAorICAgICAgICBk
b20vU3RyZWFtTGlzdC5oIFwKICAgICAgICAgcGFnZS9DYWxsYmFja1Rhc2suaCBcCiAgICAgICAg
IHBhZ2UvTWVkaWFTdHJlYW1DbGllbnQuaCBcCiAgICAgICAgIHBhZ2UvTWVkaWFTdHJlYW1Db250
cm9sbGVyLmggXApAQCAtMzE3MCw2ICszMTcyLDcgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxF
X01FRElBX1NUUkVBTT0xKSB7CiAgICAgICAgIGRvbS9HZW5lcmF0ZWRTdHJlYW0uY3BwIFwKICAg
ICAgICAgZG9tL1N0cmVhbS5jcHAgXAogICAgICAgICBkb20vU3RyZWFtRXZlbnQuY3BwIFwKKyAg
ICAgICAgZG9tL1N0cmVhbUxpc3QuY3BwIFwKICAgICAgICAgcGFnZS9NZWRpYVN0cmVhbUNvbnRy
b2xsZXIuY3BwIFwKICAgICAgICAgcGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5jcHAK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA0
NDlmZTZkYTAxYmNmMWM0OTNkYzNmNWY1ZTkzZmZjOWQxODkxYjM2Li42ZmU1MTBmOTAxNjAzMTc0
ZWRhZDE1ZjI3ZTk0ZWFiZTE4ZGY1MmQwIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMTM3MTAsNiArMTM3MTAsNjIgQEAKIAkJCQk+CiAJCQk8
L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGRE
aXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1N0cmVhbUxpc3QuY3BwIgor
CQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4z
MiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19D
RkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJ
CTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVn
X0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJ
PFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVj
dGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJ
PFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEpTU3RyZWFtTGlzdC5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRp
dmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2
ZWRTb3VyY2VzXEpTU3RyaW5nQ2FsbGJhY2suY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KQEAgLTQ3Nzc4LDYgKzQ3ODM0LDEwIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZp
bGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxTdHJlYW1Db250YWluZXIuaCIKKwkJCQk+CisJ
CQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXFN0cmVhbUV2ZW50
LmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCkBAIC00NzgzNCw2ICs0Nzg5NCw2
MiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxk
b21cU3RyZWFtTGlzdC5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlO
YW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4K
KwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0i
UmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJ
CQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVi
dWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJ
CQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlO
YW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
CisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUK
KwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxTdHJlYW1MaXN0LmgiCisJCQkJPgorCQkJPC9GaWxl
PgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxTdHJpbmdDYWxsYmFjay5jcHAi
CiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGZhMzg0ODdiY2NlNjlkMGVmMjhi
Mjc2YWFmZDA5OTBiMGEzMTVjZDIuLjNiNWNkOTUwMWVkZjM5NmE3NmY5ODJlYWRiZmU5N2U0OTdk
OTA1MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTQxNjIsNiArNDE2MiwxMSBAQAogCQlCMTJEMjM2QTEzNTYwMzNGMDAyQTI4
RDQgLyogSlNFeGNsdXNpdmVUcmFja0xpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEIxMkQyMzY4MTM1NjAzM0YwMDJBMjhENCAvKiBKU0V4Y2x1c2l2
ZVRyYWNrTGlzdC5oICovOyB9OwogCQlCMTJEMjM2RDEzNTYwMzREMDAyQTI4RDQgLyogSlNNdWx0
aXBsZVRyYWNrTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCMTJEMjM2QjEzNTYwMzREMDAyQTI4RDQgLyogSlNNdWx0aXBsZVRyYWNrTGlzdC5j
cHAgKi87IH07CiAJCUIxMkQyMzZFMTM1NjAzNEQwMDJBMjhENCAvKiBKU011bHRpcGxlVHJhY2tM
aXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMTJE
MjM2QzEzNTYwMzREMDAyQTI4RDQgLyogSlNNdWx0aXBsZVRyYWNrTGlzdC5oICovOyB9OworCQlC
MTQzNTNENDEzOEVBOEVEMDBENTMyNzYgLyogU3RyZWFtQ29udGFpbmVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMTQzNTNEMDEzOEVBOEVEMDBENTMy
NzYgLyogU3RyZWFtQ29udGFpbmVyLmggKi87IH07CisJCUIxNDM1M0Q1MTM4RUE4RUQwMEQ1MzI3
NiAvKiBTdHJlYW1MaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEIxNDM1M0QxMTM4RUE4RUQwMEQ1MzI3NiAvKiBTdHJlYW1MaXN0LmNwcCAqLzsg
fTsKKwkJQjE0MzUzRDYxMzhFQThFRDAwRDUzMjc2IC8qIFN0cmVhbUxpc3QuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxNDM1M0QyMTM4RUE4RUQwMEQ1
MzI3NiAvKiBTdHJlYW1MaXN0LmggKi87IH07CisJCUIxNDM1M0Y4MTM4RUE5NUIwMEQ1MzI3NiAv
KiBKU1N0cmVhbUxpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQjE0MzUzRjYxMzhFQTk1QjAwRDUzMjc2IC8qIEpTU3RyZWFtTGlzdC5jcHAgKi87
IH07CisJCUIxNDM1M0Y5MTM4RUE5NUIwMEQ1MzI3NiAvKiBKU1N0cmVhbUxpc3QuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxNDM1M0Y3MTM4RUE5NUIw
MEQ1MzI3NiAvKiBKU1N0cmVhbUxpc3QuaCAqLzsgfTsKIAkJQjE4Mjc0OTMxMzRDQTRDMTAwQjk4
QzJEIC8qIENhbGxiYWNrRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQjE4Mjc0OTIxMzRDQTRDMTAwQjk4QzJEIC8qIENhbGxiYWNrRnVu
Y3Rpb24uY3BwICovOyB9OwogCQlCMUQ1RUNCNTEzNEI1OERBMDA4N0M3OEYgLyogQ2FsbGJhY2tG
dW5jdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QjFENUVDQjQxMzRCNThEQTAwODdDNzhGIC8qIENhbGxiYWNrRnVuY3Rpb24uaCAqLzsgfTsKIAkJ
QjFFNTQ1N0ExMzQ2MjkxRjAwOTJBNTQ1IC8qIEdlbmVyYXRlZFN0cmVhbS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDU3MTEzNDYyOTFGMDA5
MkE1NDUgLyogR2VuZXJhdGVkU3RyZWFtLmNwcCAqLzsgfTsKQEAgLTEwNTQwLDYgKzEwNTQ1LDEy
IEBACiAJCUIxMkQyMzY4MTM1NjAzM0YwMDJBMjhENCAvKiBKU0V4Y2x1c2l2ZVRyYWNrTGlzdC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0V4Y2x1c2l2ZVRyYWNrTGlzdC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMTJEMjM2QjEzNTYwMzREMDAyQTI4RDQg
LyogSlNNdWx0aXBsZVRyYWNrTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU011bHRpcGxlVHJhY2tMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQjEyRDIzNkMxMzU2MDM0RDAwMkEyOEQ0IC8qIEpTTXVsdGlwbGVUcmFja0xpc3QuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNdWx0aXBsZVRyYWNrTGlzdC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMTQzNTNEMDEzOEVBOEVEMDBENTMyNzYgLyog
U3RyZWFtQ29udGFpbmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0cmVh
bUNvbnRhaW5lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMTQzNTNEMTEzOEVB
OEVEMDBENTMyNzYgLyogU3RyZWFtTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBTdHJlYW1MaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QjE0MzUzRDIxMzhFQThFRDAwRDUzMjc2IC8qIFN0cmVhbUxpc3QuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU3RyZWFtTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlCMTQzNTNEMzEzOEVBOEVEMDBENTMyNzYgLyogU3RyZWFtTGlzdC5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gU3RyZWFtTGlzdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUIxNDM1M0Y2MTM4RUE5NUIwMEQ1MzI3NiAvKiBKU1N0cmVhbUxpc3QuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTdHJlYW1MaXN0LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjE0MzUzRjcxMzhFQTk1QjAwRDUzMjc2IC8qIEpTU3RyZWFt
TGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1N0cmVhbUxpc3QuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjE4Mjc0OTIxMzRDQTRDMTAwQjk4QzJEIC8q
IENhbGxiYWNrRnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gQ2FsbGJhY2tGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIx
RDVFQ0I0MTM0QjU4REEwMDg3Qzc4RiAvKiBDYWxsYmFja0Z1bmN0aW9uLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhbGxiYWNrRnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQjFFNTQ1NzExMzQ2MjkxRjAwOTJBNTQ1IC8qIEdlbmVyYXRlZFN0cmVh
bS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHZW5lcmF0ZWRTdHJl
YW0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTcxODAsNiArMTcxOTEsOCBA
QAogCQkJCUIxRTU0NUQ4MTM0NjJCMEIwMDkyQTU0NSAvKiBKU1N0cmVhbS5oICovLAogCQkJCTQ5
QTg1Qjc1MTM4RDU4RUUwMEVDQjdCMyAvKiBKU1N0cmVhbUV2ZW50LmNwcCAqLywKIAkJCQk0OUE4
NUI3NjEzOEQ1OEVFMDBFQ0I3QjMgLyogSlNTdHJlYW1FdmVudC5oICovLAorCQkJCUIxNDM1M0Y2
MTM4RUE5NUIwMEQ1MzI3NiAvKiBKU1N0cmVhbUxpc3QuY3BwICovLAorCQkJCUIxNDM1M0Y3MTM4
RUE5NUIwMEQ1MzI3NiAvKiBKU1N0cmVhbUxpc3QuaCAqLywKIAkJCQk2NURGMzFFRjA5RDFDQzYw
MDAwQkUzMjUgLyogSlNUZXh0LmNwcCAqLywKIAkJCQk2NURGMzFGMDA5RDFDQzYwMDAwQkUzMjUg
LyogSlNUZXh0LmggKi8sCiAJCQkJQjEyRDIzNjMxMzU2MDMyRjAwMkEyOEQ0IC8qIEpTVHJhY2tM
aXN0LmNwcCAqLywKQEAgLTE5NzMxLDkgKzE5NzQ0LDEzIEBACiAJCQkJQjFFNTQ1NzQxMzQ2Mjkx
RjAwOTJBNTQ1IC8qIFN0cmVhbS5jcHAgKi8sCiAJCQkJQjFFNTQ1NzUxMzQ2MjkxRjAwOTJBNTQ1
IC8qIFN0cmVhbS5oICovLAogCQkJCUIxRTU0NTc2MTM0NjI5MUYwMDkyQTU0NSAvKiBTdHJlYW0u
aWRsICovLAorCQkJCUIxNDM1M0QwMTM4RUE4RUQwMEQ1MzI3NiAvKiBTdHJlYW1Db250YWluZXIu
aCAqLywKIAkJCQk0OUE4NUI2ODEzOEQ1NzM5MDBFQ0I3QjMgLyogU3RyZWFtRXZlbnQuY3BwICov
LAogCQkJCTQ5QTg1QjY5MTM4RDU3M0EwMEVDQjdCMyAvKiBTdHJlYW1FdmVudC5oICovLAogCQkJ
CTQ5QTg1QjZBMTM4RDU3M0EwMEVDQjdCMyAvKiBTdHJlYW1FdmVudC5pZGwgKi8sCisJCQkJQjE0
MzUzRDExMzhFQThFRDAwRDUzMjc2IC8qIFN0cmVhbUxpc3QuY3BwICovLAorCQkJCUIxNDM1M0Qy
MTM4RUE4RUQwMEQ1MzI3NiAvKiBTdHJlYW1MaXN0LmggKi8sCisJCQkJQjE0MzUzRDMxMzhFQThF
RDAwRDUzMjc2IC8qIFN0cmVhbUxpc3QuaWRsICovLAogCQkJCTgxMDJDNTg3MTMyNUJCMTEwMERE
RTY3QSAvKiBTdHJpbmdDYWxsYmFjay5jcHAgKi8sCiAJCQkJODFBQzZDMzUxMzFDNTdEMzAwMDlB
N0UwIC8qIFN0cmluZ0NhbGxiYWNrLmggKi8sCiAJCQkJODFBQzZDMzQxMzFDNTdDMjAwMDlBN0Uw
IC8qIFN0cmluZ0NhbGxiYWNrLmlkbCAqLywKQEAgLTIxOTYwLDYgKzIxOTc3LDcgQEAKIAkJCQk4
OTJDRjIxMjEzNEM4QkIzMDBBQUVEQTEgLyogSlNTdG9yYWdlSW5mb1VzYWdlQ2FsbGJhY2suaCBp
biBIZWFkZXJzICovLAogCQkJCUIxRTU0NUU2MTM0NjJCMEIwMDkyQTU0NSAvKiBKU1N0cmVhbS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNDlBODVCNzgxMzhENThFRTAwRUNCN0IzIC8qIEpTU3RyZWFt
RXZlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUIxNDM1M0Y5MTM4RUE5NUIwMEQ1MzI3NiAvKiBK
U1N0cmVhbUxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRjUwMjZBMTAyQkE5NDMwMDY2RjM5
QSAvKiBKU1N0eWxlTWVkaWEuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRTAxMzlCMEMwQkVGMTgw
MDQzODYwQSAvKiBKU1N0eWxlU2hlZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NEVCRDgzMENC
OEM5NzcwMDA3OTYwOSAvKiBKU1N0eWxlU2hlZXRMaXN0LmggaW4gSGVhZGVycyAqLywKQEAgLTIy
NzE3LDcgKzIyNzM1LDkgQEAKIAkJCQkzQUIwMkQyQTEyRDRGOTE2MDBGQkI2OTQgLyogU3RvcmFn
ZVRyYWNrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTNBQzM2ODAwMTJFRjdBMDkwMDZBM0Q2RiAv
KiBTdG9yYWdlVHJhY2tlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjFFNTQ1N0UxMzQ2
MjkxRjAwOTJBNTQ1IC8qIFN0cmVhbS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjE0MzUzRDQxMzhF
QThFRDAwRDUzMjc2IC8qIFN0cmVhbUNvbnRhaW5lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlB
ODVCNkMxMzhENTczQTAwRUNCN0IzIC8qIFN0cmVhbUV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJ
CQlCMTQzNTNENjEzOEVBOEVEMDBENTMyNzYgLyogU3RyZWFtTGlzdC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJODFBQzZDMzYxMzFDNTdEMzAwMDlBN0UwIC8qIFN0cmluZ0NhbGxiYWNrLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk2NTQ4OEQ2QjBERDVBODNEMDA5RDgzQjIgLyogU3RyaW5nU291cmNlUHJv
dmlkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMzU0MEYzMEQwMDc4MkUwMDIzODJGQSAvKiBT
dHJpbmdUcnVuY2F0b3IuaCBpbiBIZWFkZXJzICovLApAQCAtMjQ5MDUsNiArMjQ5MjUsNyBAQAog
CQkJCTg5MkNGMjExMTM0QzhCQjMwMEFBRURBMSAvKiBKU1N0b3JhZ2VJbmZvVXNhZ2VDYWxsYmFj
ay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMUU1NDVFNTEzNDYyQjBCMDA5MkE1NDUgLyogSlNT
dHJlYW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDlBODVCNzcxMzhENThFRTAwRUNCN0IzIC8q
IEpTU3RyZWFtRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjE0MzUzRjgxMzhFQTk1QjAw
RDUzMjc2IC8qIEpTU3RyZWFtTGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkY1MDI2OTEw
MkJBOTQzMDA2NkYzOUEgLyogSlNTdHlsZU1lZGlhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJD
RTAxMzlBMEMwQkVGMTgwMDQzODYwQSAvKiBKU1N0eWxlU2hlZXQuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQkM5OEEyN0QwQzBDOTk1MDAwNEJFQkY3IC8qIEpTU3R5bGVTaGVldEN1c3RvbS5jcHAg
aW4gU291cmNlcyAqLywKQEAgLTI1NTc1LDYgKzI1NTk2LDcgQEAKIAkJCQkzQUIwMkQyQjEyRDRG
OTE2MDBGQkI2OTQgLyogU3RvcmFnZVRyYWNrZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjFF
NTQ1N0QxMzQ2MjkxRjAwOTJBNTQ1IC8qIFN0cmVhbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0
OUE4NUI2QjEzOEQ1NzNBMDBFQ0I3QjMgLyogU3RyZWFtRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJQjE0MzUzRDUxMzhFQThFRDAwRDUzMjc2IC8qIFN0cmVhbUxpc3QuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQjJDM0RBMzAwRDAwNkMxRDAwRUY2RjI2IC8qIFN0cmluZy5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk4MTAyQzU4ODEzMjVCQjExMDBEREU2N0EgLyogU3RyaW5nQ2FsbGJhY2su
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjJCMjY0NUMwRDAwQTc3RTAwMEFDQzFEIC8qIFN0cmlu
Z0NGLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1N0
cmVhbUNvbnRhaW5lci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0cmVhbUNvbnRhaW5lci5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmFhODA3MzE4M2ZmNjQxMjFjNzdkYjFhZTc2YmFiODFkNmM5ZDhhNmYKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3RyZWFtQ29udGFpbmVyLmgKQEAgLTAs
MCArMSw5MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Cisg
KiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBTdHJlYW1Db250YWluZXJfaAorI2Rl
ZmluZSBTdHJlYW1Db250YWluZXJfaAorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2lu
Y2x1ZGUgIlN0cmVhbS5oIgorI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBTdHJlYW1Db250YWluZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxTdHJl
YW1Db250YWluZXI+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTdHJlYW1Db250
YWluZXI+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBTdHJlYW1Db250YWluZXIpOyB9
CisgICAgdmlydHVhbCB+U3RyZWFtQ29udGFpbmVyKCkgeyB9CisKKyAgICB1bnNpZ25lZCBsZW5n
dGgoKSBjb25zdCB7IHJldHVybiBtX3N0cmVhbXMuc2l6ZSgpOyB9CisKKyAgICBQYXNzUmVmUHRy
PFN0cmVhbT4gaXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3QKKyAgICB7CisgICAgICAgIEhhc2hN
YXA8U3RyaW5nLCBSZWZQdHI8U3RyZWFtPiA+Ojpjb25zdF9pdGVyYXRvciBpID0gbV9zdHJlYW1z
LmJlZ2luKCk7CisgICAgICAgIGZvciAodW5zaWduZWQgaiA9IDA7IGkgIT0gbV9zdHJlYW1zLmVu
ZCgpOyArK2ksICsraikgeworICAgICAgICAgICAgaWYgKGogPT0gaW5kZXgpCisgICAgICAgICAg
ICAgICAgcmV0dXJuIGktPnNlY29uZDsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gUGFzc1Jl
ZlB0cjxTdHJlYW0+KCk7CisgICAgfQorCisgICAgdm9pZCBhZGQoUGFzc1JlZlB0cjxTdHJlYW0+
IHN0cmVhbSkKKyAgICB7CisgICAgICAgIFJlZlB0cjxTdHJlYW0+IHMgPSBzdHJlYW07CisgICAg
ICAgIEFTU0VSVCghY29udGFpbnMocykpOworICAgICAgICBtX3N0cmVhbXMuYWRkKHMtPmxhYmVs
KCksIHMpOworICAgIH0KKworICAgIHZvaWQgcmVtb3ZlKFBhc3NSZWZQdHI8U3RyZWFtPiBzdHJl
YW0pCisgICAgeworICAgICAgICBSZWZQdHI8U3RyZWFtPiBzID0gc3RyZWFtOworICAgICAgICBB
U1NFUlQoY29udGFpbnMocykpOworICAgICAgICBtX3N0cmVhbXMucmVtb3ZlKHMtPmxhYmVsKCkp
OworICAgIH0KKworICAgIGJvb2wgY29udGFpbnMoUGFzc1JlZlB0cjxTdHJlYW0+IHN0cmVhbSkg
Y29uc3QKKyAgICB7CisgICAgICAgIFJlZlB0cjxTdHJlYW0+IHMgPSBzdHJlYW07CisgICAgICAg
IHJldHVybiBtX3N0cmVhbXMuY29udGFpbnMocy0+bGFiZWwoKSk7CisgICAgfQorCisgICAgUGFz
c1JlZlB0cjxTdHJlYW0+IGdldChjb25zdCBTdHJpbmcmIGtleSkgY29uc3QKKyAgICB7CisgICAg
ICAgIHJldHVybiBtX3N0cmVhbXMuZ2V0KGtleSk7CisgICAgfQorCitwcml2YXRlOgorICAgIFN0
cmVhbUNvbnRhaW5lcigpIHsgfQorCisgICAgSGFzaE1hcDxTdHJpbmcsIFJlZlB0cjxTdHJlYW0+
ID4gbV9zdHJlYW1zOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8g
RU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2VuZGlmIC8vIFN0cmVhbUNvbnRhaW5lcl9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3RyZWFtTGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU3RyZWFtTGlzdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDIyMzRlN2RjYmZhMTg4OTMwZDVjNTc1
MTcwOWU1YzFlMjY3ZmFlOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9T
dHJlYW1MaXN0LmNwcApAQCAtMCwwICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEx
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAg
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiU3RyZWFtTGlzdC5oIgorCisjaWYgRU5BQkxFKE1FRElBX1NU
UkVBTSkKKworI2luY2x1ZGUgPFN0cmVhbUNvbnRhaW5lci5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK1Bhc3NSZWZQdHI8U3RyZWFtTGlzdD4gU3RyZWFtTGlzdDo6Y3JlYXRlKFBhc3NSZWZQ
dHI8U3RyZWFtQ29udGFpbmVyPiBzdHJlYW1zKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcg
U3RyZWFtTGlzdChzdHJlYW1zKSk7Cit9CisKK1N0cmVhbUxpc3Q6OlN0cmVhbUxpc3QoUGFzc1Jl
ZlB0cjxTdHJlYW1Db250YWluZXI+IHN0cmVhbXMpCisgICAgOiBtX3N0cmVhbXMoc3RyZWFtcykK
K3sKK30KKworU3RyZWFtTGlzdDo6flN0cmVhbUxpc3QoKQoreworfQorCit1bnNpZ25lZCBTdHJl
YW1MaXN0OjpsZW5ndGgoKSBjb25zdAoreworICAgIHJldHVybiBtX3N0cmVhbXMtPmxlbmd0aCgp
OworfQorCitQYXNzUmVmUHRyPFN0cmVhbT4gU3RyZWFtTGlzdDo6aXRlbSh1bnNpZ25lZCBpbmRl
eCkgY29uc3QKK3sKKyAgICBpZiAoaW5kZXggPCBtX3N0cmVhbXMtPmxlbmd0aCgpKQorICAgICAg
ICByZXR1cm4gbV9zdHJlYW1zLT5pdGVtKGluZGV4KTsKKyAgICByZXR1cm4gUGFzc1JlZlB0cjxT
dHJlYW0+KCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJM
RShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3RyZWFtTGlz
dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0cmVhbUxpc3QuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NGY1ZDI3
NzM4MDU3Njg1NmQxMGFiNjYxN2I4NGVjZDhjNmJjNGQwCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL1N0cmVhbUxpc3QuaApAQCAtMCwwICsxLDU5IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQK
KyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaWZuZGVmIFN0cmVhbUxpc3RfaAorI2RlZmluZSBTdHJlYW1MaXN0X2gKKworI2lmIEVO
QUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUg
PHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU3RyZWFtOwor
Y2xhc3MgU3RyZWFtQ29udGFpbmVyOworCitjbGFzcyBTdHJlYW1MaXN0IDogcHVibGljIFJlZkNv
dW50ZWQ8U3RyZWFtTGlzdD4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0cmVh
bUxpc3Q+IGNyZWF0ZShQYXNzUmVmUHRyPFN0cmVhbUNvbnRhaW5lcj4gc3RyZWFtcyk7CisgICAg
dmlydHVhbCB+U3RyZWFtTGlzdCgpOworCisgICAgLy8gRE9NIG1ldGhvZHMgJiBhdHRyaWJ1dGVz
IGZvciBTdHJlYW1MaXN0CisgICAgdmlydHVhbCB1bnNpZ25lZCBsZW5ndGgoKSBjb25zdDsKKyAg
ICB2aXJ0dWFsIFBhc3NSZWZQdHI8U3RyZWFtPiBpdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdDsK
KworcHJpdmF0ZToKKyAgICBTdHJlYW1MaXN0KFBhc3NSZWZQdHI8U3RyZWFtQ29udGFpbmVyPiBz
dHJlYW1zKTsKKworICAgIFJlZlB0cjxTdHJlYW1Db250YWluZXI+IG1fc3RyZWFtczsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0p
CisKKyNlbmRpZiAvLyBTdHJlYW1MaXN0X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TdHJlYW1MaXN0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHJlYW1MaXN0LmlkbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40MjkzMjE5ZjY5YzQ4M2VkMzIwY2I3NWVhODYxMTgyZWU4MWVmODZkCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0cmVhbUxpc3QuaWRsCkBAIC0wLDAgKzEs
MzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBjb3JlIHsKKworICAgIGludGVyZmFjZSBbCisg
ICAgICAgIENvbmRpdGlvbmFsPU1FRElBX1NUUkVBTSwKKyAgICAgICAgSGFzSW5kZXhHZXR0ZXIK
KyAgICBdIFN0cmVhbUxpc3QgeworICAgICAgICBTdHJlYW0gaXRlbShpbiBbSXNJbmRleF0gdW5z
aWduZWQgbG9uZyBpbmRleCk7CisKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVk
IGxvbmcgbGVuZ3RoOworICAgIH07CisKK30K
</data>

          </attachment>
      

    </bug>

</bugzilla>