<?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>44692</bug_id>
          
          <creation_ts>2010-08-26 09:26:31 -0700</creation_ts>
          <short_desc>[Qt] Auto-generate WebKit2 forwarding headers</short_desc>
          <delta_ts>2010-09-01 07:08:37 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andras Becsi">abecsi</reporter>
          <assigned_to name="Andras Becsi">abecsi</assigned_to>
          <cc>christian.webkit</cc>
    
    <cc>darin</cc>
    
    <cc>hausmann</cc>
    
    <cc>kbalazs</cc>
    
    <cc>ossy</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>269926</commentid>
    <comment_count>0</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2010-08-26 09:26:31 -0700</bug_when>
    <thetext>https://bugs.webkit.org/show_bug.cgi?id=44336 introduced a new method of creating the forwarding headers.
Push this approach one step further by auto-generating the headers using a perl script to make it possible that the Mac and Windows ports of WebKit2 also use this way to generate forwarding headers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269928</commentid>
    <comment_count>1</comment_count>
      <attachid>65576</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2010-08-26 09:31:29 -0700</bug_when>
    <thetext>Created attachment 65576
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269957</commentid>
    <comment_count>2</comment_count>
      <attachid>65576</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2010-08-26 11:04:20 -0700</bug_when>
    <thetext>Comment on attachment 65576
proposed patch

The patch needs a typo fix in the ChangeLog and a comment fix in the script, so setting cq-.
Nonetheless comments are appreciated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270166</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2010-08-26 15:40:16 -0700</bug_when>
    <thetext>How is this platform-independent?  It seems to be completely missing the point of the forwarding headers, and in fact is not useful on Mac and Windows for precisely the reason that forwarding headers are currently used.   If it were possible to invoke a script located in WebKitTools/Scripts that walks over the source trees of every project then it would be possible to directly include headers from the other projects and there would be no reason to even use forwarding headers on Mac and Windows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270237</commentid>
    <comment_count>4</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2010-08-26 17:30:22 -0700</bug_when>
    <thetext>Seems like Andras has somewhat misinterpreted why do we need forwarding headers on Mac but this is a step forward anyway. It would not be hard to extend the script with a switch that means it should copy the needed headers instead of generating a forwarding header for them. Then we would have the headers in one directory for each framework and use them as now we use *framework*/ForwardingHeaders (packaging with the libraries as I can imagine). The essence is that we can save the trouble of maintaining the forwarding headers manually (for building and packaging as well).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270367</commentid>
    <comment_count>5</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2010-08-27 01:02:14 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; How is this platform-independent?  It seems to be completely missing the point of the forwarding headers, and in fact is not useful on Mac and Windows for precisely the reason that forwarding headers are currently used.   If it were possible to invoke a script located in WebKitTools/Scripts that walks over the source trees of every project then it would be possible to directly include headers from the other projects and there would be no reason to even use forwarding headers on Mac and Windows.

Now I see that my first comment did underexplain my intention with this patch. In the current form the script truly seems missing the point on Mac and Windows, and I shouldn&apos;t have set the blocker (sorry for the confusion), but as Balazs points out it is not hard to extend it with a switch, so it copies every header instead of crawling the sources and creating forwarding headers, so it can also mimic the current behaviour of the Mac and Windows WebKit2 builds.

I also see that the main cause we need these headers on Qt is because the build systems of Mac and Windows force a clumsy way of using framework style includes on other ports. This issue should be addressed in the first place by fixing the build systems and directly include headers and if the Mac and Windows build systems need framework style headers, then they should generate or copy them themselves, so this script would be useless in the current form. Since this way of fixing the problem seems to stall for almost two months now, and this issue is blocking us from being able to properly focus on on the implementation of WebKit2, I think this could be a (hopefully) temporary way of auto-generating the headers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271156</commentid>
    <comment_count>6</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2010-08-29 09:33:50 -0700</bug_when>
    <thetext>Andras, you should read this bug: https://bugs.webkit.org/show_bug.cgi?id=44802. At least I have realized that the mac production builds for a particular framework should not have dependencies from any other directory.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271428</commentid>
    <comment_count>7</comment_count>
      <attachid>65913</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2010-08-30 07:40:13 -0700</bug_when>
    <thetext>Created attachment 65913
proposed patch v2

Moved the script to the WebKit2 directory so there is no build time dependency to WebKitTools/Scripts, and generate forwarding headers with paths relative to the given framework directories since these are already added to the include paths.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271431</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-30 07:45:06 -0700</bug_when>
    <thetext>Attachment 65913 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKitTools/MiniBrowser/qt/BrowserWindow.h:33:  Alphabetical sorting problem.  [build/include_order] [4]
WebKitTools/MiniBrowser/qt/BrowserWindow.h:34:  Alphabetical sorting problem.  [build/include_order] [4]
WebKitTools/MiniBrowser/qt/BrowserWindow.h:37:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 3 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271434</commentid>
    <comment_count>9</comment_count>
      <attachid>65914</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2010-08-30 08:07:59 -0700</bug_when>
    <thetext>Created attachment 65914
proposed patch v3

Rearranged headers to comply to the style guide.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272733</commentid>
    <comment_count>10</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2010-09-01 03:56:03 -0700</bug_when>
    <thetext>Committed r66592: &lt;http://trac.webkit.org/changeset/66592&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272785</commentid>
    <comment_count>11</comment_count>
      <attachid>65914</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2010-09-01 06:51:02 -0700</bug_when>
    <thetext>Comment on attachment 65914
proposed patch v3

Clearing flags.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>65576</attachid>
            <date>2010-08-26 09:31:29 -0700</date>
            <delta_ts>2010-08-30 07:40:13 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>12166</size>
            <attacher name="Andras Becsi">abecsi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXgg
MDFlYWVmNC4uNWUwMGIxZiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvV2Vi
S2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMC0wOC0yNiAgQW5kcmFzIEJlY3Np
ICA8YWJlY3NpQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgW1F0XSBBdXRvLWdlbmVyYXRlIFdlYktpdDIgZm9yd2FyZGluZyBoZWFk
ZXJzIGluIGEgcGxhdGZvcm0gaW5kZXBlbmRlbnQgbWFubmVyCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NDY5MgorCisgICAgICAgICogRGVyaXZlZFNv
dXJjZXMucHJvOiB1c2UgdGhlIGdlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbCBzY3JpcHQK
KyAgICAgICAgYW5kIGNsZWFuLXVwIHRoZSB1bm5lZGVkIGNvZGVwYXRocworCiAyMDEwLTA4LTI1
ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBCdWlsZCBm
aXgsIG5vIHJldmlldy4KZGlmZiAtLWdpdCBhL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMucHJvIGIv
V2ViS2l0Mi9EZXJpdmVkU291cmNlcy5wcm8KaW5kZXggMjk3MDc4MC4uYTkzMWUyYyAxMDA2NDQK
LS0tIGEvV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5wcm8KKysrIGIvV2ViS2l0Mi9EZXJpdmVkU291
cmNlcy5wcm8KQEAgLTMsMTAgKzMsNiBAQCBUQVJHRVQgPSBkdW1teQogCiBDT05GSUcgLT0gZGVi
dWdfYW5kX3JlbGVhc2UKIAotV0VCQ09SRV9IRUFERVJTX0ZPUl9XRUJLSVQyID0gJCRzeXN0ZW0o
Li4vV2ViS2l0VG9vbHMvU2NyaXB0cy9lbnVtZXJhdGUtaW5jbHVkZWQtZnJhbWV3b3JrLWhlYWRl
cnMgV2ViQ29yZSkKLUpTQ19IRUFERVJTX0ZPUl9XRUJLSVQyID0gJCRzeXN0ZW0oLi4vV2ViS2l0
VG9vbHMvU2NyaXB0cy9lbnVtZXJhdGUtaW5jbHVkZWQtZnJhbWV3b3JrLWhlYWRlcnMgSmF2YVNj
cmlwdENvcmUpCi1XRUJLSVQyX0FQSV9IRUFERVJTID0gJCRzeXN0ZW0oLi4vV2ViS2l0VG9vbHMv
U2NyaXB0cy9lbnVtZXJhdGUtaW5jbHVkZWQtZnJhbWV3b3JrLWhlYWRlcnMgV2ViS2l0MikKLQog
V0VCQ09SRV9HRU5FUkFURURfSEVBREVSU19GT1JfV0VCS0lUMiArPSBcCiAgICAgJCRPVVRQVVRf
RElSL1dlYkNvcmUvZ2VuZXJhdGVkL0hUTUxOYW1lcy5oIFwKICAgICAkJE9VVFBVVF9ESVIvV2Vi
Q29yZS9nZW5lcmF0ZWQvSlNDU1NTdHlsZURlY2xhcmF0aW9uLmggXApAQCAtMTgsMTUgKzE0LDE0
IEBAIFdFQkNPUkVfR0VORVJBVEVEX0hFQURFUlNfRk9SX1dFQktJVDIgKz0gXAogUVVPVEUgPSAi
IgogRE9VQkxFX0VTQ0FQRURfUVVPVEUgPSAiIgogRVNDQVBFID0gIiIKLXdpbjMyLW1zdmMqfHN5
bWJpYW4gewotICAgIEVTQ0FQRSA9ICJeIgotfSBlbHNlOndpbjMyLWcrKyo6aXNFbXB0eShRTUFL
RV9TSCkgeworY29udGFpbnMoUU1BS0VfSE9TVC5vcywgIldpbmRvd3MiKTppc0VtcHR5KFFNQUtF
X1NIKSB7CiAgICAgIyBNaW5HVydzIG1ha2Ugd2lsbCBydW4gbWFrZWZpbGUgY29tbWFuZHMgdXNp
bmcgc2gsIGV2ZW4gaWYgbWFrZQogICAgICMgIHdhcyBydW4gZnJvbSB0aGUgV2luZG93cyBzaGVs
bCwgaWYgaXQgZmluZHMgc2ggaW4gdGhlIHBhdGguCiAgICAgRVNDQVBFID0gIl4iCiB9IGVsc2Ug
ewogICAgIFFVT1RFID0gIlwnIgogICAgIERPVUJMRV9FU0NBUEVEX1FVT1RFID0gIlxcXCciCisg
ICAgRVNDQVBFID0gIlxcIgogfQogCiBESVJTID0gXApAQCAtNDIsMjMgKzM3LDEwIEBAIFFNQUtF
X0VYVFJBX1RBUkdFVFMgKz0gY3JlYXRlZGlycwogCiBTUkNfUk9PVF9ESVIgPSAkJHJlcGxhY2Uo
UFdELCAvV2ViS2l0MiwgLykKIAotZm9yKEhFQURFUiwgV0VCQ09SRV9IRUFERVJTX0ZPUl9XRUJL
SVQyKSB7Ci0gICAgREVTVERJUl9CQVNFID0gIldlYkNvcmUiCi0KLSAgICBIRUFERVJfTkFNRSA9
ICQkYmFzZW5hbWUoSEVBREVSKQotICAgIEhFQURFUl9QQVRIID0gJCRTUkNfUk9PVF9ESVIvJCRE
RVNURElSX0JBU0UvJCRIRUFERVIKLSAgICBIRUFERVJfVEFSR0VUID0gJCRyZXBsYWNlKEhFQURF
Ul9QQVRILCBbXmEtekEtWjAtOV9dLCAtKQotICAgIEhFQURFUl9UQVJHRVQgPSAicXRoZWFkZXIt
JCR7SEVBREVSX1RBUkdFVH0iCi0gICAgREVTVERJUiA9ICQkT1VUUFVUX0RJUi9pbmNsdWRlLyQk
REVTVERJUl9CQVNFCi0KLSAgICAjRklYTUU6IFRoaXMgc2hvdWxkIGJlIG9yZ2FuaXplZCBvdXQg
aW50byBhIGZ1bmN0aW9uCi0gICAgZXZhbCgkJHtIRUFERVJfVEFSR0VUfS50YXJnZXQgPSAkJERF
U1RESVIvJCRIRUFERVJfTkFNRSkKLSAgICBldmFsKCQke0hFQURFUl9UQVJHRVR9LmRlcGVuZHMg
PSAkJEhFQURFUl9QQVRIKQotICAgIGV2YWwoJCR7SEVBREVSX1RBUkdFVH0uY29tbWFuZHMgPSBl
Y2hvICQke0RPVUJMRV9FU0NBUEVEX1FVT1RFfVwkJHtMSVRFUkFMX0hBU0h9aW5jbHVkZSBcXFwi
JCRIRUFERVJfUEFUSFxcXCIkJHtET1VCTEVfRVNDQVBFRF9RVU9URX0gPiAkJGV2YWwoJCR7SEVB
REVSX1RBUkdFVH0udGFyZ2V0KSkKLQotICAgIFFNQUtFX0VYVFJBX1RBUkdFVFMgKz0gJCRIRUFE
RVJfVEFSR0VUCi0gICAgZ2VuZXJhdGVkX2ZpbGVzLmRlcGVuZHMgKz0gJCRldmFsKCQke0hFQURF
Ul9UQVJHRVR9LnRhcmdldCkKLX0KK2Z3aGVhZGVyX2dlbmVyYXRvci5jb21tYW5kcyA9IHBlcmwg
JCR7U1JDX1JPT1RfRElSfS9XZWJLaXRUb29scy9TY3JpcHRzL2dlbmVyYXRlLWZvcndhcmRpbmct
aGVhZGVycy5wbCAkJHtPVVRQVVRfRElSfS9pbmNsdWRlIHF0Citmd2hlYWRlcl9nZW5lcmF0b3Iu
ZGVwZW5kcyAgPSAkJHtTUkNfUk9PVF9ESVJ9L1dlYktpdFRvb2xzL1NjcmlwdHMvZ2VuZXJhdGUt
Zm9yd2FyZGluZy1oZWFkZXJzLnBsCitnZW5lcmF0ZWRfZmlsZXMuZGVwZW5kcyAgICAgKz0gZndo
ZWFkZXJfZ2VuZXJhdG9yCitRTUFLRV9FWFRSQV9UQVJHRVRTICAgICAgICAgKz0gZndoZWFkZXJf
Z2VuZXJhdG9yCiAKIGZvcihIRUFERVIsIFdFQkNPUkVfR0VORVJBVEVEX0hFQURFUlNfRk9SX1dF
QktJVDIpIHsKICAgICBIRUFERVJfTkFNRSA9ICQkYmFzZW5hbWUoSEVBREVSKQpAQCAtNzUsMzgg
KzU3LDQgQEAgZm9yKEhFQURFUiwgV0VCQ09SRV9HRU5FUkFURURfSEVBREVSU19GT1JfV0VCS0lU
MikgewogICAgIGdlbmVyYXRlZF9maWxlcy5kZXBlbmRzICs9ICQkZXZhbCgkJHtIRUFERVJfVEFS
R0VUfS50YXJnZXQpCiB9CiAKLWZvcihIRUFERVIsIEpTQ19IRUFERVJTX0ZPUl9XRUJLSVQyKSB7
Ci0gICAgREVTVERJUl9CQVNFID0gIkphdmFTY3JpcHRDb3JlIgotCi0gICAgSEVBREVSX05BTUUg
PSAkJGJhc2VuYW1lKEhFQURFUikKLSAgICBIRUFERVJfUEFUSCA9ICQkU1JDX1JPT1RfRElSLyQk
REVTVERJUl9CQVNFLyQkSEVBREVSCi0gICAgSEVBREVSX1RBUkdFVCA9ICQkcmVwbGFjZShIRUFE
RVJfUEFUSCwgW15hLXpBLVowLTlfXSwgLSkKLSAgICBIRUFERVJfVEFSR0VUID0gInF0aGVhZGVy
LSQke0hFQURFUl9UQVJHRVR9IgotICAgIERFU1RESVIgPSAkJE9VVFBVVF9ESVIvaW5jbHVkZS8k
JERFU1RESVJfQkFTRQotCi0gICAgZXZhbCgkJHtIRUFERVJfVEFSR0VUfS50YXJnZXQgPSAkJERF
U1RESVIvJCRIRUFERVJfTkFNRSkKLSAgICBldmFsKCQke0hFQURFUl9UQVJHRVR9LmRlcGVuZHMg
PSAkJEhFQURFUl9QQVRIKQotICAgIGV2YWwoJCR7SEVBREVSX1RBUkdFVH0uY29tbWFuZHMgPSBl
Y2hvICQke0RPVUJMRV9FU0NBUEVEX1FVT1RFfVwkJHtMSVRFUkFMX0hBU0h9aW5jbHVkZSBcXFwi
JCRIRUFERVJfUEFUSFxcXCIkJHtET1VCTEVfRVNDQVBFRF9RVU9URX0gPiAkJGV2YWwoJCR7SEVB
REVSX1RBUkdFVH0udGFyZ2V0KSkKLQotICAgIFFNQUtFX0VYVFJBX1RBUkdFVFMgKz0gJCRIRUFE
RVJfVEFSR0VUCi0gICAgZ2VuZXJhdGVkX2ZpbGVzLmRlcGVuZHMgKz0gJCRldmFsKCQke0hFQURF
Ul9UQVJHRVR9LnRhcmdldCkKLX0KLQotZm9yKEhFQURFUiwgV0VCS0lUMl9BUElfSEVBREVSUykg
ewotICAgIERFU1RESVJfQkFTRSA9ICJXZWJLaXQyIgotCi0gICAgSEVBREVSX05BTUUgPSAkJGJh
c2VuYW1lKEhFQURFUikKLSAgICBIRUFERVJfUEFUSCA9ICQkUFdELyQkSEVBREVSCi0gICAgSEVB
REVSX1RBUkdFVCA9ICQkcmVwbGFjZShIRUFERVJfUEFUSCwgW15hLXpBLVowLTlfXSwgLSkKLSAg
ICBIRUFERVJfVEFSR0VUID0gInF0aGVhZGVyLSQke0hFQURFUl9UQVJHRVR9IgotICAgIERFU1RE
SVIgPSAkJE9VVFBVVF9ESVIvaW5jbHVkZS8kJERFU1RESVJfQkFTRQotCi0gICAgZXZhbCgkJHtI
RUFERVJfVEFSR0VUfS50YXJnZXQgPSAkJERFU1RESVIvJCRIRUFERVJfTkFNRSkKLSAgICBldmFs
KCQke0hFQURFUl9UQVJHRVR9LmRlcGVuZHMgPSAkJEhFQURFUl9QQVRIKQotICAgIGV2YWwoJCR7
SEVBREVSX1RBUkdFVH0uY29tbWFuZHMgPSBlY2hvICQke0RPVUJMRV9FU0NBUEVEX1FVT1RFfVwk
JHtMSVRFUkFMX0hBU0h9aW5jbHVkZSBcXFwiJCRIRUFERVJfUEFUSFxcXCIkJHtET1VCTEVfRVND
QVBFRF9RVU9URX0gPiAkJGV2YWwoJCR7SEVBREVSX1RBUkdFVH0udGFyZ2V0KSkKLQotICAgIFFN
QUtFX0VYVFJBX1RBUkdFVFMgKz0gJCRIRUFERVJfVEFSR0VUCi0gICAgZ2VuZXJhdGVkX2ZpbGVz
LmRlcGVuZHMgKz0gJCRldmFsKCQke0hFQURFUl9UQVJHRVR9LnRhcmdldCkKLX0KLQogUU1BS0Vf
RVhUUkFfVEFSR0VUUyArPSBnZW5lcmF0ZWRfZmlsZXMKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xz
L0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwppbmRleCA1ODExZWYzLi4xMTIzMzcz
IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMDgtMjYgIEFuZHJhcyBCZWNzaSAgPGFiZWNz
aUB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFtRdF0gQXV0by1nZW5lcmF0ZSBXZWJLaXQyIGZvcndhcmRpbmcgaGVhZGVycyBpbiBh
IHBsYXRmb3JtIGluZGVwZW5kZW50IG1hbm5lci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQ0NjkyCisKKyAgICAgICAgKiBTY3JpcHRzL2VudW1lcmF0
ZS1pbmNsdWRlZC1mcmFtZXdvcmstaGVhZGVyczogUmVtb3ZlZC4KKyAgICAgICAgKiBTY3JpcHRz
L2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbDogQWRkZWQuCisKIDIwMTAtMDgtMjYgIE1h
aGVzaCBLdWxrYXJuaSAgPG1haGVzaC5rdWxrYXJuaUBub2tpYS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCmRpZmYgLS1naXQgYS9XZWJLaXRU
b29scy9TY3JpcHRzL2VudW1lcmF0ZS1pbmNsdWRlZC1mcmFtZXdvcmstaGVhZGVycyBiL1dlYktp
dFRvb2xzL1NjcmlwdHMvZW51bWVyYXRlLWluY2x1ZGVkLWZyYW1ld29yay1oZWFkZXJzCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCA1OThhNzkwLi4wMDAwMDAwCi0tLSBhL1dlYktpdFRv
b2xzL1NjcmlwdHMvZW51bWVyYXRlLWluY2x1ZGVkLWZyYW1ld29yay1oZWFkZXJzCisrKyAvZGV2
L251bGwKQEAgLTEsNjEgKzAsMCBAQAotIyEvYmluL3NoCi0jIENvcHlyaWdodCAoQykgMjAwOSwg
MjAxMCBVbml2ZXJzaXR5IG9mIFN6ZWdlZAotIyBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0jIGFyZSBtZXQ6Ci0jIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSMgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotIyAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotIwotIyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFVOSVZFUlNJVFkgT0YgU1pFR0VEIGBgQVMgSVMn
JyBBTkQgQU5ZCi0jIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCi0jIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotIyBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVU5JVkVSU0lUWSBPRiBTWkVHRUQgT1IKLSMgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCi0jIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSMgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0jIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSMgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0j
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQotIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotIwotIyBBIHNjcmlwdCB0byBmaW5kIGFuZCBl
bnVtZXJhdGUgaGVhZGVycyBpbmNsdWRlZCBmcm9tIHRoZSBnaXZlbiBmcmFtZXdvcmtzIGJ5IGZp
bGVzIGluIHRoZQotIyBjdXJyZW50IGRpcmVjdG9yeSAoYW5kIHN1YmRpcmVjdG9yaWVzKS4KLQot
IyBGSVhNRTogVGhpcyBzaG91bGQgYmUgcmV3cml0dGVuIGluIHBlcmwuCi0jIEZJWE1FOiBDdXJy
ZW50bHkgb25seSB3b3JrcyBmb3IgcXQuCi0KLXBsYXRmb3JtX3ByZWZpeGVzPWFuZHJvaWQvXHxi
cmV3L1x8Y2YvXHxjaHJvbWl1bS9cfGN1cmxcfGVmbC9cfGd0ay9cfGhhaWt1L1x8bWFjL1x8c291
cFx8djhcfHdpbi9cfHd4LwotCi1mb3IgZnJhbWV3b3JrIGluICQqOyBkbwotICAgIGhlYWRlcnM9
YGZpbmQgLiBcKCAtbmFtZSAnKi5jcHAnIC1vIC1uYW1lICcqLmgnIFwpIC1leGVjIGdyZXAgIjwk
ZnJhbWV3b3JrLyIge30gJzsnIHwgc2VkIC1lICdzfC4qL1woLipcLmhcKS4qfFwxfCcgfCBzb3J0
IC11YAotCi0gICAgZm9yIGhlYWRlciBpbiAkaGVhZGVycwotICAgIGRvCi0gICAgICAgIGhlYWRl
cl9wYXRocz1gZmluZCAuLi8kZnJhbWV3b3JrIC1uYW1lICRoZWFkZXIgfCBzZWQgInMvLi5cLyRm
cmFtZXdvcmtcLy8vImAKLQotICAgICAgICBpZiB0ZXN0IGBlY2hvICRoZWFkZXJfcGF0aHMgfCB3
YyAtd2AgLWVxIDEKLSAgICAgICAgdGhlbgotICAgICAgICAgICAgaGVhZGVyX3BhdGg9JGhlYWRl
cl9wYXRocwotICAgICAgICAgICAgaWYgdGVzdCBgZWNobyAkaGVhZGVyX3BhdGggfCBncmVwIC1j
IC1FICRwbGF0Zm9ybV9wcmVmaXhlc2AgLW5lIDAKLSAgICAgICAgICAgIHRoZW4KLSAgICAgICAg
ICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgZmkKLSAgICAgICAgZWxzZQotICAgICAgICAg
ICAgZm9yIHBhdGggaW4gJGhlYWRlcl9wYXRocwotICAgICAgICAgICAgZG8KLSAgICAgICAgICAg
ICAgICBpZiB0ZXN0IGBlY2hvICRwYXRoIHwgZ3JlcCAtYyAtRSAkcGxhdGZvcm1fcHJlZml4ZXNg
IC1lcSAwCi0gICAgICAgICAgICAgICAgdGhlbgotICAgICAgICAgICAgICAgICAgICBoZWFkZXJf
cGF0aD0kcGF0aAotICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgIGZp
Ci0gICAgICAgICAgICBkb25lCi0gICAgICAgIGZpCi0KLSAgICAgICAgZWNobyAtbiAiJGhlYWRl
cl9wYXRoICIKLSAgICBkb25lCi1kb25lCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRz
L2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbCBiL1dlYktpdFRvb2xzL1NjcmlwdHMvZ2Vu
ZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAw
MDAwMDAuLjA0Nzk0MTIKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL2dl
bmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbApAQCAtMCwwICsxLDkxIEBACisjIS91c3IvYmlu
L3BlcmwgLXcKKyMgQ29weXJpZ2h0IChDKSAyMDEwIEFuZHJhcyBCZWNzaSAoYWJlY3NpQGluZi51
LXN6ZWdlZC5odSksIFVuaXZlcnNpdHkgb2YgU3plZ2VkCisjIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorIyAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVU5JVkVSU0lUWSBPRiBTWkVHRUQg
YGBBUyBJUycnIEFORCBBTlkKKyMgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyMgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisjIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBVTklWRVJTSVRZIE9GIFNaRUdFRCBPUgor
IyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyMgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorIyBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyMgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
IyBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisjCisjIEEgc2NyaXB0IHRvIGVu
dW1lcmF0ZSBoZWFkZXJzIGluY2x1ZGVkIGZyb20gdGhlIGdpdmVuIGZyYW1ld29yaworIyBieSBm
aWxlcyBpbiB0aGUgY3VycmVudCBkaXJlY3RvcnkgKGFuZCBzdWJkaXJlY3RvcmllcykuCisKK3Vz
ZSBzdHJpY3Q7Cit1c2UgQ3dkIHF3KGFic19wYXRoIHJlYWxwYXRoKTsKK3VzZSBGaWxlOjpGaW5k
OwordXNlIEZpbGU6OkJhc2VuYW1lOwordXNlIEZpbGU6OlNwZWM6OkZ1bmN0aW9uczsKKworbXkg
JHNyY1Jvb3QgPSByZWFscGF0aChGaWxlOjpTcGVjLT5jYXRmaWxlKGRpcm5hbWUoYWJzX3BhdGgo
JDApKSwgIi4uIiwgIi4uIikpOworbXkgQHBsYXRmb3JtUHJlZml4ZXMgPSAoImFuZHJvaWQiLCAi
YnJldyIsICJjZiIsICJjaHJvbWl1bSIsICJjdXJsIiwgImVmbCIsICJndGsiLCAiaGFpa3UiLCAi
bWFjIiwgInF0IiwgInNvdXAiLCAidjgiLCAid2luIiwgInd4Iik7CitteSBAZnJhbWV3b3JrcyA9
ICggIkphdmFTY3JpcHRDb3JlIiwgIldlYkNvcmUiLCAiV2ViS2l0MiIpOworbXkgQHNraXBwZWRQ
cmVmaXhlczsKK215IEBmcmFtZXdvcmtIZWFkZXJzOworbXkgJGZyYW1ld29yazsKK215ICVuZWVk
ZWRIZWFkZXJzOworCitteSAkb3V0cHV0RGlyZWN0b3J5ID0gJEFSR1ZbMF07CitzaGlmdDsKK215
ICRwbGF0Zm9ybSAgPSAkQVJHVlswXTsKKworZm9yZWFjaCBteSAkcHJlZml4IChAcGxhdGZvcm1Q
cmVmaXhlcykgeworICAgIHB1c2goQHNraXBwZWRQcmVmaXhlcywgJHByZWZpeCkgdW5sZXNzICgk
cHJlZml4ID1+ICRwbGF0Zm9ybSk7Cit9CisKK2ZvcmVhY2ggKEBmcmFtZXdvcmtzKSB7CisgICAg
JGZyYW1ld29yayA9ICRfOworICAgIGZpbmQoXCZjb2xsZWN0TmVlZGVkSGVhZGVycywgRmlsZTo6
U3BlYy0+Y2F0ZmlsZSgkc3JjUm9vdCwgIldlYktpdDIiKSk7CisgICAgZmluZChcJmNvbGxlY3RG
YW1ld29ya0hlYWRlclBhdGhzLCBGaWxlOjpTcGVjLT5jYXRmaWxlKCRzcmNSb290LCAkZnJhbWV3
b3JrKSk7CisgICAgY3JlYXRlRm9yd2FyZGluZ0hlYWRlcnNGb3JGcmFtZXdvcmsoKTsKK30KKwor
c3ViIGNvbGxlY3ROZWVkZWRIZWFkZXJzIHsKKyAgICBteSAkZmlsZVBhdGggPSAkRmlsZTo6Rmlu
ZDo6bmFtZTsKKyAgICBteSAkZmlsZSA9ICRfOworICAgIGlmICgkZmlsZVBhdGggPX4gJ1wuaCR8
XC5jcHAkJykgeworICAgICAgICBvcGVuKEZJTEUsICI8JGZpbGUiKSBvciBkaWUgIkNvdWxkIG5v
dCBvcGVuICRmaWxlUGF0aC5cbiI7CisgICAgICAgIHdoaWxlICg8RklMRT4pIHsKKyAgICAgICAg
ICAgaWYgKG0vXiMuKjwkZnJhbWV3b3JrXC8oLipcLmgpLykgeworICAgICAgICAgICAgICAgJG5l
ZWRlZEhlYWRlcnN7JDF9ID0gMTsKKyAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGNs
b3NlKEZJTEUpOworICAgIH0KK30KKworc3ViIGNvbGxlY3RGYW1ld29ya0hlYWRlclBhdGhzIHsK
KyAgICBteSAkZmlsZVBhdGggPSAkRmlsZTo6RmluZDo6bmFtZTsKKyAgICBteSAkZmlsZSA9ICRf
OworICAgIGlmICgkZmlsZVBhdGggPX4gJ1wuaCQnICYmICRmaWxlUGF0aCAhfiAiRm9yd2FyZGlu
Z0hlYWRlcnMiICYmIGdyZXB7JGZpbGUgZXEgJF99IGtleXMgJW5lZWRlZEhlYWRlcnMpIHsKKyAg
ICAgICAgcHVzaChAZnJhbWV3b3JrSGVhZGVycywgJGZpbGVQYXRoKSB1bmxlc3MgKGdyZXAoJGZp
bGVQYXRoID1+ICRfLCBAc2tpcHBlZFByZWZpeGVzKSk7CisgICAgfQorfQorCitzdWIgY3JlYXRl
Rm9yd2FyZGluZ0hlYWRlcnNGb3JGcmFtZXdvcmsgeworICAgIGZvcmVhY2ggbXkgJGhlYWRlciAo
QGZyYW1ld29ya0hlYWRlcnMpIHsKKyAgICAgICAgbXkgJGZvcndhcmRpbmdIZWFkZXJQYXRoID0g
RmlsZTo6U3BlYy0+Y2F0ZmlsZSgkb3V0cHV0RGlyZWN0b3J5LCAkZnJhbWV3b3JrLCBiYXNlbmFt
ZSgkaGVhZGVyKSk7CisgICAgICAgIGlmICghIC1lICRmb3J3YXJkaW5nSGVhZGVyUGF0aCkgewor
ICAgICAgICAgICAgcHJpbnQgIltDcmVhdGUgZm9yd2FyZGluZyBoZWFkZXIgJGZvcndhcmRpbmdI
ZWFkZXJQYXRoXVxuIjsKKyAgICAgICAgICAgIG9wZW4oRk9SV0FSRElOR19IRUFERVIsICI+JGZv
cndhcmRpbmdIZWFkZXJQYXRoIikgb3IgZGllICJDb3VsZCBub3Qgb3BlbiAkZm9yd2FyZGluZ0hl
YWRlclBhdGguXG4iOworICAgICAgICAgICAgcHJpbnQgRk9SV0FSRElOR19IRUFERVIgIiNpbmNs
dWRlIFwiJGhlYWRlclwiXG4iOworICAgICAgICAgICAgY2xvc2UoRk9SV0FSRElOR19IRUFERVIp
OworICAgICAgICB9CisgICAgfQorfQorCg==
</data>
<flag name="commit-queue"
          id="54380"
          type_id="3"
          status="-"
          setter="abecsi"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>65913</attachid>
            <date>2010-08-30 07:40:13 -0700</date>
            <delta_ts>2010-08-30 08:07:59 -0700</delta_ts>
            <desc>proposed patch v2</desc>
            <filename>fwheaders.patch</filename>
            <type>text/plain</type>
            <size>12892</size>
            <attacher name="Andras Becsi">abecsi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXgg
ZDYxNmI0YS4uYWY0YjUyYSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvV2Vi
S2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMC0wOC0zMCAgQW5kcmFzIEJlY3Np
ICA8YWJlY3NpQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgW1F0XSBBdXRvLWdlbmVyYXRlIFdlYktpdDIgZm9yd2FyZGluZyBoZWFk
ZXJzIGluIGEgcGxhdGZvcm0gaW5kZXBlbmRlbnQgbWFubmVyCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NDY5MgorCisgICAgICAgICogRGVyaXZlZFNv
dXJjZXMucHJvOiBsZXQgdGhlIGdlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbAorICAgICAg
ICBzY3JpcHQgZ2VuZXJhdGUgZm9yd2FyZGluZyBoZWFkZXJzLgorICAgICAgICAqIGdlbmVyYXRl
LWZvcndhcmRpbmctaGVhZGVycy5wbDogQWRkZWQuCisKIDIwMTAtMDgtMjcgIFNhbSBXZWluaWcg
IDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgpk
aWZmIC0tZ2l0IGEvV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5wcm8gYi9XZWJLaXQyL0Rlcml2ZWRT
b3VyY2VzLnBybwppbmRleCAyOTcwNzgwLi5mNjlkNWYzIDEwMDY0NAotLS0gYS9XZWJLaXQyL0Rl
cml2ZWRTb3VyY2VzLnBybworKysgYi9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLnBybwpAQCAtMywx
MCArMyw2IEBAIFRBUkdFVCA9IGR1bW15CiAKIENPTkZJRyAtPSBkZWJ1Z19hbmRfcmVsZWFzZQog
Ci1XRUJDT1JFX0hFQURFUlNfRk9SX1dFQktJVDIgPSAkJHN5c3RlbSguLi9XZWJLaXRUb29scy9T
Y3JpcHRzL2VudW1lcmF0ZS1pbmNsdWRlZC1mcmFtZXdvcmstaGVhZGVycyBXZWJDb3JlKQotSlND
X0hFQURFUlNfRk9SX1dFQktJVDIgPSAkJHN5c3RlbSguLi9XZWJLaXRUb29scy9TY3JpcHRzL2Vu
dW1lcmF0ZS1pbmNsdWRlZC1mcmFtZXdvcmstaGVhZGVycyBKYXZhU2NyaXB0Q29yZSkKLVdFQktJ
VDJfQVBJX0hFQURFUlMgPSAkJHN5c3RlbSguLi9XZWJLaXRUb29scy9TY3JpcHRzL2VudW1lcmF0
ZS1pbmNsdWRlZC1mcmFtZXdvcmstaGVhZGVycyBXZWJLaXQyKQotCiBXRUJDT1JFX0dFTkVSQVRF
RF9IRUFERVJTX0ZPUl9XRUJLSVQyICs9IFwKICAgICAkJE9VVFBVVF9ESVIvV2ViQ29yZS9nZW5l
cmF0ZWQvSFRNTE5hbWVzLmggXAogICAgICQkT1VUUFVUX0RJUi9XZWJDb3JlL2dlbmVyYXRlZC9K
U0NTU1N0eWxlRGVjbGFyYXRpb24uaCBcCkBAIC00MiwyMyArMzcsMTAgQEAgUU1BS0VfRVhUUkFf
VEFSR0VUUyArPSBjcmVhdGVkaXJzCiAKIFNSQ19ST09UX0RJUiA9ICQkcmVwbGFjZShQV0QsIC9X
ZWJLaXQyLCAvKQogCi1mb3IoSEVBREVSLCBXRUJDT1JFX0hFQURFUlNfRk9SX1dFQktJVDIpIHsK
LSAgICBERVNURElSX0JBU0UgPSAiV2ViQ29yZSIKLQotICAgIEhFQURFUl9OQU1FID0gJCRiYXNl
bmFtZShIRUFERVIpCi0gICAgSEVBREVSX1BBVEggPSAkJFNSQ19ST09UX0RJUi8kJERFU1RESVJf
QkFTRS8kJEhFQURFUgotICAgIEhFQURFUl9UQVJHRVQgPSAkJHJlcGxhY2UoSEVBREVSX1BBVEgs
IFteYS16QS1aMC05X10sIC0pCi0gICAgSEVBREVSX1RBUkdFVCA9ICJxdGhlYWRlci0kJHtIRUFE
RVJfVEFSR0VUfSIKLSAgICBERVNURElSID0gJCRPVVRQVVRfRElSL2luY2x1ZGUvJCRERVNURElS
X0JBU0UKLQotICAgICNGSVhNRTogVGhpcyBzaG91bGQgYmUgb3JnYW5pemVkIG91dCBpbnRvIGEg
ZnVuY3Rpb24KLSAgICBldmFsKCQke0hFQURFUl9UQVJHRVR9LnRhcmdldCA9ICQkREVTVERJUi8k
JEhFQURFUl9OQU1FKQotICAgIGV2YWwoJCR7SEVBREVSX1RBUkdFVH0uZGVwZW5kcyA9ICQkSEVB
REVSX1BBVEgpCi0gICAgZXZhbCgkJHtIRUFERVJfVEFSR0VUfS5jb21tYW5kcyA9IGVjaG8gJCR7
RE9VQkxFX0VTQ0FQRURfUVVPVEV9XCQke0xJVEVSQUxfSEFTSH1pbmNsdWRlIFxcXCIkJEhFQURF
Ul9QQVRIXFxcIiQke0RPVUJMRV9FU0NBUEVEX1FVT1RFfSA+ICQkZXZhbCgkJHtIRUFERVJfVEFS
R0VUfS50YXJnZXQpKQotCi0gICAgUU1BS0VfRVhUUkFfVEFSR0VUUyArPSAkJEhFQURFUl9UQVJH
RVQKLSAgICBnZW5lcmF0ZWRfZmlsZXMuZGVwZW5kcyArPSAkJGV2YWwoJCR7SEVBREVSX1RBUkdF
VH0udGFyZ2V0KQotfQorZndoZWFkZXJfZ2VuZXJhdG9yLmNvbW1hbmRzID0gcGVybCAkJHtTUkNf
Uk9PVF9ESVJ9L1dlYktpdDIvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsICQke09VVFBV
VF9ESVJ9L2luY2x1ZGUgcXQKK2Z3aGVhZGVyX2dlbmVyYXRvci5kZXBlbmRzICA9ICQke1NSQ19S
T09UX0RJUn0vV2ViS2l0Mi9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwKK2dlbmVyYXRl
ZF9maWxlcy5kZXBlbmRzICAgICArPSBmd2hlYWRlcl9nZW5lcmF0b3IKK1FNQUtFX0VYVFJBX1RB
UkdFVFMgICAgICAgICArPSBmd2hlYWRlcl9nZW5lcmF0b3IKIAogZm9yKEhFQURFUiwgV0VCQ09S
RV9HRU5FUkFURURfSEVBREVSU19GT1JfV0VCS0lUMikgewogICAgIEhFQURFUl9OQU1FID0gJCRi
YXNlbmFtZShIRUFERVIpCkBAIC03NSwzOCArNTcsNCBAQCBmb3IoSEVBREVSLCBXRUJDT1JFX0dF
TkVSQVRFRF9IRUFERVJTX0ZPUl9XRUJLSVQyKSB7CiAgICAgZ2VuZXJhdGVkX2ZpbGVzLmRlcGVu
ZHMgKz0gJCRldmFsKCQke0hFQURFUl9UQVJHRVR9LnRhcmdldCkKIH0KIAotZm9yKEhFQURFUiwg
SlNDX0hFQURFUlNfRk9SX1dFQktJVDIpIHsKLSAgICBERVNURElSX0JBU0UgPSAiSmF2YVNjcmlw
dENvcmUiCi0KLSAgICBIRUFERVJfTkFNRSA9ICQkYmFzZW5hbWUoSEVBREVSKQotICAgIEhFQURF
Ul9QQVRIID0gJCRTUkNfUk9PVF9ESVIvJCRERVNURElSX0JBU0UvJCRIRUFERVIKLSAgICBIRUFE
RVJfVEFSR0VUID0gJCRyZXBsYWNlKEhFQURFUl9QQVRILCBbXmEtekEtWjAtOV9dLCAtKQotICAg
IEhFQURFUl9UQVJHRVQgPSAicXRoZWFkZXItJCR7SEVBREVSX1RBUkdFVH0iCi0gICAgREVTVERJ
UiA9ICQkT1VUUFVUX0RJUi9pbmNsdWRlLyQkREVTVERJUl9CQVNFCi0KLSAgICBldmFsKCQke0hF
QURFUl9UQVJHRVR9LnRhcmdldCA9ICQkREVTVERJUi8kJEhFQURFUl9OQU1FKQotICAgIGV2YWwo
JCR7SEVBREVSX1RBUkdFVH0uZGVwZW5kcyA9ICQkSEVBREVSX1BBVEgpCi0gICAgZXZhbCgkJHtI
RUFERVJfVEFSR0VUfS5jb21tYW5kcyA9IGVjaG8gJCR7RE9VQkxFX0VTQ0FQRURfUVVPVEV9XCQk
e0xJVEVSQUxfSEFTSH1pbmNsdWRlIFxcXCIkJEhFQURFUl9QQVRIXFxcIiQke0RPVUJMRV9FU0NB
UEVEX1FVT1RFfSA+ICQkZXZhbCgkJHtIRUFERVJfVEFSR0VUfS50YXJnZXQpKQotCi0gICAgUU1B
S0VfRVhUUkFfVEFSR0VUUyArPSAkJEhFQURFUl9UQVJHRVQKLSAgICBnZW5lcmF0ZWRfZmlsZXMu
ZGVwZW5kcyArPSAkJGV2YWwoJCR7SEVBREVSX1RBUkdFVH0udGFyZ2V0KQotfQotCi1mb3IoSEVB
REVSLCBXRUJLSVQyX0FQSV9IRUFERVJTKSB7Ci0gICAgREVTVERJUl9CQVNFID0gIldlYktpdDIi
Ci0KLSAgICBIRUFERVJfTkFNRSA9ICQkYmFzZW5hbWUoSEVBREVSKQotICAgIEhFQURFUl9QQVRI
ID0gJCRQV0QvJCRIRUFERVIKLSAgICBIRUFERVJfVEFSR0VUID0gJCRyZXBsYWNlKEhFQURFUl9Q
QVRILCBbXmEtekEtWjAtOV9dLCAtKQotICAgIEhFQURFUl9UQVJHRVQgPSAicXRoZWFkZXItJCR7
SEVBREVSX1RBUkdFVH0iCi0gICAgREVTVERJUiA9ICQkT1VUUFVUX0RJUi9pbmNsdWRlLyQkREVT
VERJUl9CQVNFCi0KLSAgICBldmFsKCQke0hFQURFUl9UQVJHRVR9LnRhcmdldCA9ICQkREVTVERJ
Ui8kJEhFQURFUl9OQU1FKQotICAgIGV2YWwoJCR7SEVBREVSX1RBUkdFVH0uZGVwZW5kcyA9ICQk
SEVBREVSX1BBVEgpCi0gICAgZXZhbCgkJHtIRUFERVJfVEFSR0VUfS5jb21tYW5kcyA9IGVjaG8g
JCR7RE9VQkxFX0VTQ0FQRURfUVVPVEV9XCQke0xJVEVSQUxfSEFTSH1pbmNsdWRlIFxcXCIkJEhF
QURFUl9QQVRIXFxcIiQke0RPVUJMRV9FU0NBUEVEX1FVT1RFfSA+ICQkZXZhbCgkJHtIRUFERVJf
VEFSR0VUfS50YXJnZXQpKQotCi0gICAgUU1BS0VfRVhUUkFfVEFSR0VUUyArPSAkJEhFQURFUl9U
QVJHRVQKLSAgICBnZW5lcmF0ZWRfZmlsZXMuZGVwZW5kcyArPSAkJGV2YWwoJCR7SEVBREVSX1RB
UkdFVH0udGFyZ2V0KQotfQotCiBRTUFLRV9FWFRSQV9UQVJHRVRTICs9IGdlbmVyYXRlZF9maWxl
cwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwgYi9X
ZWJLaXQyL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbApuZXcgZmlsZSBtb2RlIDEwMDc1
NQppbmRleCAwMDAwMDAwLi4zYjVhMDUxCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0Mi9nZW5l
cmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwKQEAgLTAsMCArMSw5MiBAQAorIyEvdXNyL2Jpbi9w
ZXJsIC13CisjIENvcHlyaWdodCAoQykgMjAxMCBBbmRyYXMgQmVjc2kgKGFiZWNzaUBpbmYudS1z
emVnZWQuaHUpLCBVbml2ZXJzaXR5IG9mIFN6ZWdlZAorIyBBbGwgcmlnaHRzIHJlc2VydmVkLgor
IworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyMgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
IworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFVOSVZFUlNJVFkgT0YgU1pFR0VEIGBg
QVMgSVMnJyBBTkQgQU5ZCisjIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisjIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorIyBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVU5JVkVSU0lUWSBPRiBTWkVHRUQgT1IKKyMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisjIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyMgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisjIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyMg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorIworIyBBIHNjcmlwdCB3aGljaCBz
ZWFyY2hlcyBmb3IgaGVhZGVycyBpbmNsdWRlZCBieSBXZWJLaXQyIGZpbGVzCisjIGFuZCBnZW5l
cmF0ZXMgZm9yd2FyZGluZyBoZWFkZXJzIGZvciB0aGVzZSBoZWFkZXJzLgorCit1c2Ugc3RyaWN0
OwordXNlIEN3ZCBxdyhhYnNfcGF0aCByZWFscGF0aCk7Cit1c2UgRmlsZTo6RmluZDsKK3VzZSBG
aWxlOjpCYXNlbmFtZTsKK3VzZSBGaWxlOjpTcGVjOjpGdW5jdGlvbnM7CisKK215ICRzcmNSb290
ID0gcmVhbHBhdGgoRmlsZTo6U3BlYy0+Y2F0ZmlsZShkaXJuYW1lKGFic19wYXRoKCQwKSksICIu
LiIpKTsKK215IEBwbGF0Zm9ybVByZWZpeGVzID0gKCJhbmRyb2lkIiwgImJyZXciLCAiY2YiLCAi
Y2hyb21pdW0iLCAiY3VybCIsICJlZmwiLCAiZ3RrIiwgImhhaWt1IiwgIm1hYyIsICJxdCIsICJz
b3VwIiwgInY4IiwgIndpbiIsICJ3eCIpOworbXkgQGZyYW1ld29ya3MgPSAoICJKYXZhU2NyaXB0
Q29yZSIsICJXZWJDb3JlIiwgIldlYktpdDIiKTsKK215IEBza2lwcGVkUHJlZml4ZXM7CitteSBA
ZnJhbWV3b3JrSGVhZGVyczsKK215ICRmcmFtZXdvcms7CitteSAlbmVlZGVkSGVhZGVyczsKKwor
bXkgJG91dHB1dERpcmVjdG9yeSA9ICRBUkdWWzBdOworc2hpZnQ7CitteSAkcGxhdGZvcm0gID0g
JEFSR1ZbMF07CisKK2ZvcmVhY2ggbXkgJHByZWZpeCAoQHBsYXRmb3JtUHJlZml4ZXMpIHsKKyAg
ICBwdXNoKEBza2lwcGVkUHJlZml4ZXMsICRwcmVmaXgpIHVubGVzcyAoJHByZWZpeCA9fiAkcGxh
dGZvcm0pOworfQorCitmb3JlYWNoIChAZnJhbWV3b3JrcykgeworICAgICRmcmFtZXdvcmsgPSAk
XzsKKyAgICBmaW5kKFwmY29sbGVjdE5lZWRlZEhlYWRlcnMsIEZpbGU6OlNwZWMtPmNhdGZpbGUo
JHNyY1Jvb3QsICJXZWJLaXQyIikpOworICAgIGZpbmQoXCZjb2xsZWN0RmFtZXdvcmtIZWFkZXJQ
YXRocywgRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkc3JjUm9vdCwgJGZyYW1ld29yaykpOworICAgIGNy
ZWF0ZUZvcndhcmRpbmdIZWFkZXJzRm9yRnJhbWV3b3JrKCk7Cit9CisKK3N1YiBjb2xsZWN0TmVl
ZGVkSGVhZGVycyB7CisgICAgbXkgJGZpbGVQYXRoID0gJEZpbGU6OkZpbmQ6Om5hbWU7CisgICAg
bXkgJGZpbGUgPSAkXzsKKyAgICBpZiAoJGZpbGVQYXRoID1+ICdcLmgkfFwuY3BwJCcpIHsKKyAg
ICAgICAgb3BlbihGSUxFLCAiPCRmaWxlIikgb3IgZGllICJDb3VsZCBub3Qgb3BlbiAkZmlsZVBh
dGguXG4iOworICAgICAgICB3aGlsZSAoPEZJTEU+KSB7CisgICAgICAgICAgIGlmIChtL14jLio8
JGZyYW1ld29ya1wvKC4qXC5oKS8pIHsKKyAgICAgICAgICAgICAgICRuZWVkZWRIZWFkZXJzeyQx
fSA9IDE7CisgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBjbG9zZShGSUxFKTsKKyAg
ICB9Cit9CisKK3N1YiBjb2xsZWN0RmFtZXdvcmtIZWFkZXJQYXRocyB7CisgICAgbXkgJGZpbGVQ
YXRoID0gJEZpbGU6OkZpbmQ6Om5hbWU7CisgICAgbXkgJGZpbGUgPSAkXzsKKyAgICBpZiAoJGZp
bGVQYXRoID1+ICdcLmgkJyAmJiAkZmlsZVBhdGggIX4gIkZvcndhcmRpbmdIZWFkZXJzIiAmJiBn
cmVweyRmaWxlIGVxICRffSBrZXlzICVuZWVkZWRIZWFkZXJzKSB7CisgICAgICAgIG15ICRoZWFk
ZXJQYXRoID0gc3Vic3RyKCRmaWxlUGF0aCwgbGVuZ3RoKCIkc3JjUm9vdC8kZnJhbWV3b3JrLyIp
KTsKKyAgICAgICAgcHVzaChAZnJhbWV3b3JrSGVhZGVycywgJGhlYWRlclBhdGgpIHVubGVzcyAo
Z3JlcCgkZmlsZVBhdGggPX4gJF8sIEBza2lwcGVkUHJlZml4ZXMpKTsKKyAgICB9Cit9CisKK3N1
YiBjcmVhdGVGb3J3YXJkaW5nSGVhZGVyc0ZvckZyYW1ld29yayB7CisgICAgZm9yZWFjaCBteSAk
aGVhZGVyIChAZnJhbWV3b3JrSGVhZGVycykgeworICAgICAgICBteSAkZm9yd2FyZGluZ0hlYWRl
clBhdGggPSBGaWxlOjpTcGVjLT5jYXRmaWxlKCRvdXRwdXREaXJlY3RvcnksICRmcmFtZXdvcmss
IGJhc2VuYW1lKCRoZWFkZXIpKTsKKyAgICAgICAgaWYgKCEgLWUgJGZvcndhcmRpbmdIZWFkZXJQ
YXRoKSB7CisgICAgICAgICAgICBwcmludCAiW0NyZWF0ZSBmb3J3YXJkaW5nIGhlYWRlciAkZm9y
d2FyZGluZ0hlYWRlclBhdGhdXG4iOworICAgICAgICAgICAgb3BlbihGT1JXQVJESU5HX0hFQURF
UiwgIj4kZm9yd2FyZGluZ0hlYWRlclBhdGgiKSBvciBkaWUgIkNvdWxkIG5vdCBvcGVuICRmb3J3
YXJkaW5nSGVhZGVyUGF0aC5cbiI7CisgICAgICAgICAgICBwcmludCBGT1JXQVJESU5HX0hFQURF
UiAiI2luY2x1ZGUgXCIkaGVhZGVyXCJcbiI7CisgICAgICAgICAgICBjbG9zZShGT1JXQVJESU5H
X0hFQURFUik7CisgICAgICAgIH0KKyAgICB9Cit9CisKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xz
L0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwppbmRleCBmMGRjNjg3Li5iM2NkMjZl
IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTAtMDgtMzAgIEFuZHJhcyBCZWNzaSAgPGFiZWNz
aUB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFtRdF0gQXV0by1nZW5lcmF0ZSBXZWJLaXQyIGZvcndhcmRpbmcgaGVhZGVycyBpbiBh
IHBsYXRmb3JtIGluZGVwZW5kZW50IG1hbm5lcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQ2OTIKKworICAgICAgICAqIE1pbmlCcm93c2VyL3F0L0Jy
b3dzZXJXaW5kb3cuaDogdXNlIHNvdXJjZSBzdHlsZSBpbmNsdWRlcworICAgICAgICAqIE1pbmlC
cm93c2VyL3F0L01pbmlCcm93c2VyLnBybzogYWRkIG1pc3NpbmcgaW5jbHVkZSBwYXRocworICAg
ICAgICAqIFNjcmlwdHMvZW51bWVyYXRlLWluY2x1ZGVkLWZyYW1ld29yay1oZWFkZXJzOiBSZW1v
dmVkLgorCiAyMDEwLTA4LTI5ICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgTGV2aW4uCmRpZmYgLS1naXQgYS9XZWJLaXRU
b29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmggYi9XZWJLaXRUb29scy9NaW5pQnJv
d3Nlci9xdC9Ccm93c2VyV2luZG93LmgKaW5kZXggZmExMTM5MC4uZmY4M2I5MSAxMDA2NDQKLS0t
IGEvV2ViS2l0VG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5oCisrKyBiL1dlYktp
dFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaApAQCAtMzAsMTEgKzMwLDExIEBA
CiAKICNpbmNsdWRlIDxzdGRpbnQuaD4KICNpbmNsdWRlIDxRdEd1aT4KLSNpbmNsdWRlIDxXZWJL
aXQyL1dLUmV0YWluUHRyLmg+Ci0jaW5jbHVkZSA8V2ViS2l0Mi9XS0NvbnRleHQuaD4KKyNpbmNs
dWRlICJXS1JldGFpblB0ci5oIgorI2luY2x1ZGUgIldLQ29udGV4dC5oIgogI2luY2x1ZGUgPFFH
cmFwaGljc1NjZW5lPgogI2luY2x1ZGUgPFFHcmFwaGljc1ZpZXc+Ci0jaW5jbHVkZSA8V2ViS2l0
Mi9xZ3JhcGhpY3N3a3ZpZXcuaD4KKyNpbmNsdWRlICJxZ3JhcGhpY3N3a3ZpZXcuaCIKIAogY2xh
c3MgQnJvd3NlclZpZXcgOiBwdWJsaWMgUUdyYXBoaWNzVmlldyB7CiAgICAgUV9PQkpFQ1QKZGlm
ZiAtLWdpdCBhL1dlYktpdFRvb2xzL01pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyLnBybyBiL1dl
YktpdFRvb2xzL01pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyLnBybwppbmRleCBiMzRiOGY3Li4y
NzRiOWU1IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9NaW5pQnJvd3Nlci9xdC9NaW5pQnJvd3Nl
ci5wcm8KKysrIGIvV2ViS2l0VG9vbHMvTWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXIucHJvCkBA
IC0xNCw2ICsxNCw4IEBAIGlzRW1wdHkoT1VUUFVUX0RJUik6IE9VVFBVVF9ESVIgPSAuLi8uLi8u
LgogaW5jbHVkZSguLi8uLi8uLi9XZWJLaXQucHJpKQogCiBJTkNMVURFUEFUSCArPSBcCisgICAg
JCRQV0QvLi4vLi4vLi4vV2ViS2l0Mi8gXAorICAgICQkUFdELy4uLy4uLy4uL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9jcHAgXAogICAgICQkUFdELy4uLy4uLy4uL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DIFwKICAgICAkJFBXRC8uLi8uLi8uLi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQgXAogICAg
ICQkT1VUUFVUX0RJUi9pbmNsdWRlCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL2Vu
dW1lcmF0ZS1pbmNsdWRlZC1mcmFtZXdvcmstaGVhZGVycyBiL1dlYktpdFRvb2xzL1NjcmlwdHMv
ZW51bWVyYXRlLWluY2x1ZGVkLWZyYW1ld29yay1oZWFkZXJzCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDc1NQppbmRleCA1OThhNzkwLi4wMDAwMDAwCi0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvZW51
bWVyYXRlLWluY2x1ZGVkLWZyYW1ld29yay1oZWFkZXJzCisrKyAvZGV2L251bGwKQEAgLTEsNjEg
KzAsMCBAQAotIyEvYmluL3NoCi0jIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMCBVbml2ZXJzaXR5
IG9mIFN6ZWdlZAotIyBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSMgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0jIGFyZSBtZXQ6Ci0jIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSMgMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotIyAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotIwotIyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFVOSVZFUlNJVFkgT0YgU1pFR0VEIGBgQVMgSVMnJyBBTkQgQU5ZCi0jIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCi0jIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotIyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgVU5JVkVSU0lUWSBPRiBTWkVHRUQgT1IKLSMgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0jIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSMgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCi0jIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSMgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0jIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
IyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotIwotIyBBIHNjcmlwdCB0byBmaW5kIGFuZCBlbnVtZXJhdGUgaGVhZGVy
cyBpbmNsdWRlZCBmcm9tIHRoZSBnaXZlbiBmcmFtZXdvcmtzIGJ5IGZpbGVzIGluIHRoZQotIyBj
dXJyZW50IGRpcmVjdG9yeSAoYW5kIHN1YmRpcmVjdG9yaWVzKS4KLQotIyBGSVhNRTogVGhpcyBz
aG91bGQgYmUgcmV3cml0dGVuIGluIHBlcmwuCi0jIEZJWE1FOiBDdXJyZW50bHkgb25seSB3b3Jr
cyBmb3IgcXQuCi0KLXBsYXRmb3JtX3ByZWZpeGVzPWFuZHJvaWQvXHxicmV3L1x8Y2YvXHxjaHJv
bWl1bS9cfGN1cmxcfGVmbC9cfGd0ay9cfGhhaWt1L1x8bWFjL1x8c291cFx8djhcfHdpbi9cfHd4
LwotCi1mb3IgZnJhbWV3b3JrIGluICQqOyBkbwotICAgIGhlYWRlcnM9YGZpbmQgLiBcKCAtbmFt
ZSAnKi5jcHAnIC1vIC1uYW1lICcqLmgnIFwpIC1leGVjIGdyZXAgIjwkZnJhbWV3b3JrLyIge30g
JzsnIHwgc2VkIC1lICdzfC4qL1woLipcLmhcKS4qfFwxfCcgfCBzb3J0IC11YAotCi0gICAgZm9y
IGhlYWRlciBpbiAkaGVhZGVycwotICAgIGRvCi0gICAgICAgIGhlYWRlcl9wYXRocz1gZmluZCAu
Li8kZnJhbWV3b3JrIC1uYW1lICRoZWFkZXIgfCBzZWQgInMvLi5cLyRmcmFtZXdvcmtcLy8vImAK
LQotICAgICAgICBpZiB0ZXN0IGBlY2hvICRoZWFkZXJfcGF0aHMgfCB3YyAtd2AgLWVxIDEKLSAg
ICAgICAgdGhlbgotICAgICAgICAgICAgaGVhZGVyX3BhdGg9JGhlYWRlcl9wYXRocwotICAgICAg
ICAgICAgaWYgdGVzdCBgZWNobyAkaGVhZGVyX3BhdGggfCBncmVwIC1jIC1FICRwbGF0Zm9ybV9w
cmVmaXhlc2AgLW5lIDAKLSAgICAgICAgICAgIHRoZW4KLSAgICAgICAgICAgICAgICBjb250aW51
ZQotICAgICAgICAgICAgZmkKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgZm9yIHBhdGggaW4g
JGhlYWRlcl9wYXRocwotICAgICAgICAgICAgZG8KLSAgICAgICAgICAgICAgICBpZiB0ZXN0IGBl
Y2hvICRwYXRoIHwgZ3JlcCAtYyAtRSAkcGxhdGZvcm1fcHJlZml4ZXNgIC1lcSAwCi0gICAgICAg
ICAgICAgICAgdGhlbgotICAgICAgICAgICAgICAgICAgICBoZWFkZXJfcGF0aD0kcGF0aAotICAg
ICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgIGZpCi0gICAgICAgICAgICBk
b25lCi0gICAgICAgIGZpCi0KLSAgICAgICAgZWNobyAtbiAiJGhlYWRlcl9wYXRoICIKLSAgICBk
b25lCi1kb25lCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>65914</attachid>
            <date>2010-08-30 08:07:59 -0700</date>
            <delta_ts>2010-09-01 06:51:02 -0700</delta_ts>
            <desc>proposed patch v3</desc>
            <filename>fwheaders.patch</filename>
            <type>text/plain</type>
            <size>12944</size>
            <attacher name="Andras Becsi">abecsi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXgg
ZDYxNmI0YS4uYWY0YjUyYSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvV2Vi
S2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMC0wOC0zMCAgQW5kcmFzIEJlY3Np
ICA8YWJlY3NpQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgW1F0XSBBdXRvLWdlbmVyYXRlIFdlYktpdDIgZm9yd2FyZGluZyBoZWFk
ZXJzIGluIGEgcGxhdGZvcm0gaW5kZXBlbmRlbnQgbWFubmVyCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NDY5MgorCisgICAgICAgICogRGVyaXZlZFNv
dXJjZXMucHJvOiBsZXQgdGhlIGdlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbAorICAgICAg
ICBzY3JpcHQgZ2VuZXJhdGUgZm9yd2FyZGluZyBoZWFkZXJzLgorICAgICAgICAqIGdlbmVyYXRl
LWZvcndhcmRpbmctaGVhZGVycy5wbDogQWRkZWQuCisKIDIwMTAtMDgtMjcgIFNhbSBXZWluaWcg
IDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgpk
aWZmIC0tZ2l0IGEvV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5wcm8gYi9XZWJLaXQyL0Rlcml2ZWRT
b3VyY2VzLnBybwppbmRleCAyOTcwNzgwLi4wYjNjMGYxIDEwMDY0NAotLS0gYS9XZWJLaXQyL0Rl
cml2ZWRTb3VyY2VzLnBybworKysgYi9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLnBybwpAQCAtMywx
MCArMyw2IEBAIFRBUkdFVCA9IGR1bW15CiAKIENPTkZJRyAtPSBkZWJ1Z19hbmRfcmVsZWFzZQog
Ci1XRUJDT1JFX0hFQURFUlNfRk9SX1dFQktJVDIgPSAkJHN5c3RlbSguLi9XZWJLaXRUb29scy9T
Y3JpcHRzL2VudW1lcmF0ZS1pbmNsdWRlZC1mcmFtZXdvcmstaGVhZGVycyBXZWJDb3JlKQotSlND
X0hFQURFUlNfRk9SX1dFQktJVDIgPSAkJHN5c3RlbSguLi9XZWJLaXRUb29scy9TY3JpcHRzL2Vu
dW1lcmF0ZS1pbmNsdWRlZC1mcmFtZXdvcmstaGVhZGVycyBKYXZhU2NyaXB0Q29yZSkKLVdFQktJ
VDJfQVBJX0hFQURFUlMgPSAkJHN5c3RlbSguLi9XZWJLaXRUb29scy9TY3JpcHRzL2VudW1lcmF0
ZS1pbmNsdWRlZC1mcmFtZXdvcmstaGVhZGVycyBXZWJLaXQyKQotCiBXRUJDT1JFX0dFTkVSQVRF
RF9IRUFERVJTX0ZPUl9XRUJLSVQyICs9IFwKICAgICAkJE9VVFBVVF9ESVIvV2ViQ29yZS9nZW5l
cmF0ZWQvSFRNTE5hbWVzLmggXAogICAgICQkT1VUUFVUX0RJUi9XZWJDb3JlL2dlbmVyYXRlZC9K
U0NTU1N0eWxlRGVjbGFyYXRpb24uaCBcCkBAIC00MiwyMyArMzgsMTAgQEAgUU1BS0VfRVhUUkFf
VEFSR0VUUyArPSBjcmVhdGVkaXJzCiAKIFNSQ19ST09UX0RJUiA9ICQkcmVwbGFjZShQV0QsIC9X
ZWJLaXQyLCAvKQogCi1mb3IoSEVBREVSLCBXRUJDT1JFX0hFQURFUlNfRk9SX1dFQktJVDIpIHsK
LSAgICBERVNURElSX0JBU0UgPSAiV2ViQ29yZSIKLQotICAgIEhFQURFUl9OQU1FID0gJCRiYXNl
bmFtZShIRUFERVIpCi0gICAgSEVBREVSX1BBVEggPSAkJFNSQ19ST09UX0RJUi8kJERFU1RESVJf
QkFTRS8kJEhFQURFUgotICAgIEhFQURFUl9UQVJHRVQgPSAkJHJlcGxhY2UoSEVBREVSX1BBVEgs
IFteYS16QS1aMC05X10sIC0pCi0gICAgSEVBREVSX1RBUkdFVCA9ICJxdGhlYWRlci0kJHtIRUFE
RVJfVEFSR0VUfSIKLSAgICBERVNURElSID0gJCRPVVRQVVRfRElSL2luY2x1ZGUvJCRERVNURElS
X0JBU0UKLQotICAgICNGSVhNRTogVGhpcyBzaG91bGQgYmUgb3JnYW5pemVkIG91dCBpbnRvIGEg
ZnVuY3Rpb24KLSAgICBldmFsKCQke0hFQURFUl9UQVJHRVR9LnRhcmdldCA9ICQkREVTVERJUi8k
JEhFQURFUl9OQU1FKQotICAgIGV2YWwoJCR7SEVBREVSX1RBUkdFVH0uZGVwZW5kcyA9ICQkSEVB
REVSX1BBVEgpCi0gICAgZXZhbCgkJHtIRUFERVJfVEFSR0VUfS5jb21tYW5kcyA9IGVjaG8gJCR7
RE9VQkxFX0VTQ0FQRURfUVVPVEV9XCQke0xJVEVSQUxfSEFTSH1pbmNsdWRlIFxcXCIkJEhFQURF
Ul9QQVRIXFxcIiQke0RPVUJMRV9FU0NBUEVEX1FVT1RFfSA+ICQkZXZhbCgkJHtIRUFERVJfVEFS
R0VUfS50YXJnZXQpKQotCi0gICAgUU1BS0VfRVhUUkFfVEFSR0VUUyArPSAkJEhFQURFUl9UQVJH
RVQKLSAgICBnZW5lcmF0ZWRfZmlsZXMuZGVwZW5kcyArPSAkJGV2YWwoJCR7SEVBREVSX1RBUkdF
VH0udGFyZ2V0KQotfQorZndoZWFkZXJfZ2VuZXJhdG9yLmNvbW1hbmRzID0gcGVybCAkJHtTUkNf
Uk9PVF9ESVJ9L1dlYktpdDIvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsICQke09VVFBV
VF9ESVJ9L2luY2x1ZGUgcXQKK2Z3aGVhZGVyX2dlbmVyYXRvci5kZXBlbmRzICA9ICQke1NSQ19S
T09UX0RJUn0vV2ViS2l0Mi9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwKK2dlbmVyYXRl
ZF9maWxlcy5kZXBlbmRzICAgICArPSBmd2hlYWRlcl9nZW5lcmF0b3IKK1FNQUtFX0VYVFJBX1RB
UkdFVFMgICAgICAgICArPSBmd2hlYWRlcl9nZW5lcmF0b3IKIAogZm9yKEhFQURFUiwgV0VCQ09S
RV9HRU5FUkFURURfSEVBREVSU19GT1JfV0VCS0lUMikgewogICAgIEhFQURFUl9OQU1FID0gJCRi
YXNlbmFtZShIRUFERVIpCkBAIC03NSwzOCArNTgsNCBAQCBmb3IoSEVBREVSLCBXRUJDT1JFX0dF
TkVSQVRFRF9IRUFERVJTX0ZPUl9XRUJLSVQyKSB7CiAgICAgZ2VuZXJhdGVkX2ZpbGVzLmRlcGVu
ZHMgKz0gJCRldmFsKCQke0hFQURFUl9UQVJHRVR9LnRhcmdldCkKIH0KIAotZm9yKEhFQURFUiwg
SlNDX0hFQURFUlNfRk9SX1dFQktJVDIpIHsKLSAgICBERVNURElSX0JBU0UgPSAiSmF2YVNjcmlw
dENvcmUiCi0KLSAgICBIRUFERVJfTkFNRSA9ICQkYmFzZW5hbWUoSEVBREVSKQotICAgIEhFQURF
Ul9QQVRIID0gJCRTUkNfUk9PVF9ESVIvJCRERVNURElSX0JBU0UvJCRIRUFERVIKLSAgICBIRUFE
RVJfVEFSR0VUID0gJCRyZXBsYWNlKEhFQURFUl9QQVRILCBbXmEtekEtWjAtOV9dLCAtKQotICAg
IEhFQURFUl9UQVJHRVQgPSAicXRoZWFkZXItJCR7SEVBREVSX1RBUkdFVH0iCi0gICAgREVTVERJ
UiA9ICQkT1VUUFVUX0RJUi9pbmNsdWRlLyQkREVTVERJUl9CQVNFCi0KLSAgICBldmFsKCQke0hF
QURFUl9UQVJHRVR9LnRhcmdldCA9ICQkREVTVERJUi8kJEhFQURFUl9OQU1FKQotICAgIGV2YWwo
JCR7SEVBREVSX1RBUkdFVH0uZGVwZW5kcyA9ICQkSEVBREVSX1BBVEgpCi0gICAgZXZhbCgkJHtI
RUFERVJfVEFSR0VUfS5jb21tYW5kcyA9IGVjaG8gJCR7RE9VQkxFX0VTQ0FQRURfUVVPVEV9XCQk
e0xJVEVSQUxfSEFTSH1pbmNsdWRlIFxcXCIkJEhFQURFUl9QQVRIXFxcIiQke0RPVUJMRV9FU0NB
UEVEX1FVT1RFfSA+ICQkZXZhbCgkJHtIRUFERVJfVEFSR0VUfS50YXJnZXQpKQotCi0gICAgUU1B
S0VfRVhUUkFfVEFSR0VUUyArPSAkJEhFQURFUl9UQVJHRVQKLSAgICBnZW5lcmF0ZWRfZmlsZXMu
ZGVwZW5kcyArPSAkJGV2YWwoJCR7SEVBREVSX1RBUkdFVH0udGFyZ2V0KQotfQotCi1mb3IoSEVB
REVSLCBXRUJLSVQyX0FQSV9IRUFERVJTKSB7Ci0gICAgREVTVERJUl9CQVNFID0gIldlYktpdDIi
Ci0KLSAgICBIRUFERVJfTkFNRSA9ICQkYmFzZW5hbWUoSEVBREVSKQotICAgIEhFQURFUl9QQVRI
ID0gJCRQV0QvJCRIRUFERVIKLSAgICBIRUFERVJfVEFSR0VUID0gJCRyZXBsYWNlKEhFQURFUl9Q
QVRILCBbXmEtekEtWjAtOV9dLCAtKQotICAgIEhFQURFUl9UQVJHRVQgPSAicXRoZWFkZXItJCR7
SEVBREVSX1RBUkdFVH0iCi0gICAgREVTVERJUiA9ICQkT1VUUFVUX0RJUi9pbmNsdWRlLyQkREVT
VERJUl9CQVNFCi0KLSAgICBldmFsKCQke0hFQURFUl9UQVJHRVR9LnRhcmdldCA9ICQkREVTVERJ
Ui8kJEhFQURFUl9OQU1FKQotICAgIGV2YWwoJCR7SEVBREVSX1RBUkdFVH0uZGVwZW5kcyA9ICQk
SEVBREVSX1BBVEgpCi0gICAgZXZhbCgkJHtIRUFERVJfVEFSR0VUfS5jb21tYW5kcyA9IGVjaG8g
JCR7RE9VQkxFX0VTQ0FQRURfUVVPVEV9XCQke0xJVEVSQUxfSEFTSH1pbmNsdWRlIFxcXCIkJEhF
QURFUl9QQVRIXFxcIiQke0RPVUJMRV9FU0NBUEVEX1FVT1RFfSA+ICQkZXZhbCgkJHtIRUFERVJf
VEFSR0VUfS50YXJnZXQpKQotCi0gICAgUU1BS0VfRVhUUkFfVEFSR0VUUyArPSAkJEhFQURFUl9U
QVJHRVQKLSAgICBnZW5lcmF0ZWRfZmlsZXMuZGVwZW5kcyArPSAkJGV2YWwoJCR7SEVBREVSX1RB
UkdFVH0udGFyZ2V0KQotfQotCiBRTUFLRV9FWFRSQV9UQVJHRVRTICs9IGdlbmVyYXRlZF9maWxl
cwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwgYi9X
ZWJLaXQyL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbApuZXcgZmlsZSBtb2RlIDEwMDc1
NQppbmRleCAwMDAwMDAwLi42YTc3OWMyCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0Mi9nZW5l
cmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwKQEAgLTAsMCArMSw5MiBAQAorIyEvdXNyL2Jpbi9w
ZXJsIC13CisjIENvcHlyaWdodCAoQykgMjAxMCBBbmRyYXMgQmVjc2kgKGFiZWNzaUBpbmYudS1z
emVnZWQuaHUpLCBVbml2ZXJzaXR5IG9mIFN6ZWdlZAorIyBBbGwgcmlnaHRzIHJlc2VydmVkLgor
IworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyMgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
IworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFVOSVZFUlNJVFkgT0YgU1pFR0VEIGBg
QVMgSVMnJyBBTkQgQU5ZCisjIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisjIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorIyBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVU5JVkVSU0lUWSBPRiBTWkVHRUQgT1IKKyMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisjIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyMgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisjIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyMg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorIworIyBBIHNjcmlwdCB3aGljaCBz
ZWFyY2hlcyBmb3IgaGVhZGVycyBpbmNsdWRlZCBieSBXZWJLaXQyIGZpbGVzCisjIGFuZCBnZW5l
cmF0ZXMgZm9yd2FyZGluZyBoZWFkZXJzIGZvciB0aGVzZSBoZWFkZXJzLgorCit1c2Ugc3RyaWN0
OwordXNlIEN3ZCBxdyhhYnNfcGF0aCByZWFscGF0aCk7Cit1c2UgRmlsZTo6RmluZDsKK3VzZSBG
aWxlOjpCYXNlbmFtZTsKK3VzZSBGaWxlOjpTcGVjOjpGdW5jdGlvbnM7CisKK215ICRzcmNSb290
ID0gcmVhbHBhdGgoRmlsZTo6U3BlYy0+Y2F0ZmlsZShkaXJuYW1lKGFic19wYXRoKCQwKSksICIu
LiIpKTsKK215IEBwbGF0Zm9ybVByZWZpeGVzID0gKCJhbmRyb2lkIiwgImJyZXciLCAiY2YiLCAi
Y2hyb21pdW0iLCAiY3VybCIsICJlZmwiLCAiZ3RrIiwgImhhaWt1IiwgIm1hYyIsICJxdCIsICJz
b3VwIiwgInY4IiwgIndpbiIsICJ3eCIpOworbXkgQGZyYW1ld29ya3MgPSAoICJKYXZhU2NyaXB0
Q29yZSIsICJXZWJDb3JlIiwgIldlYktpdDIiKTsKK215IEBza2lwcGVkUHJlZml4ZXM7CitteSBA
ZnJhbWV3b3JrSGVhZGVyczsKK215ICRmcmFtZXdvcms7CitteSAlbmVlZGVkSGVhZGVyczsKKwor
bXkgJG91dHB1dERpcmVjdG9yeSA9ICRBUkdWWzBdOworc2hpZnQ7CitteSAkcGxhdGZvcm0gID0g
JEFSR1ZbMF07CisKK2ZvcmVhY2ggbXkgJHByZWZpeCAoQHBsYXRmb3JtUHJlZml4ZXMpIHsKKyAg
ICBwdXNoKEBza2lwcGVkUHJlZml4ZXMsICRwcmVmaXgpIHVubGVzcyAoJHByZWZpeCA9fiAkcGxh
dGZvcm0pOworfQorCitmb3JlYWNoIChAZnJhbWV3b3JrcykgeworICAgICRmcmFtZXdvcmsgPSAk
XzsKKyAgICBmaW5kKFwmY29sbGVjdE5lZWRlZEhlYWRlcnMsIEZpbGU6OlNwZWMtPmNhdGZpbGUo
JHNyY1Jvb3QsICJXZWJLaXQyIikpOworICAgIGZpbmQoXCZjb2xsZWN0RmFtZXdvcmtIZWFkZXJQ
YXRocywgRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkc3JjUm9vdCwgJGZyYW1ld29yaykpOworICAgIGNy
ZWF0ZUZvcndhcmRpbmdIZWFkZXJzRm9yRnJhbWV3b3JrKCk7Cit9CisKK3N1YiBjb2xsZWN0TmVl
ZGVkSGVhZGVycyB7CisgICAgbXkgJGZpbGVQYXRoID0gJEZpbGU6OkZpbmQ6Om5hbWU7CisgICAg
bXkgJGZpbGUgPSAkXzsKKyAgICBpZiAoJGZpbGVQYXRoID1+ICdcLmgkfFwuY3BwJCcpIHsKKyAg
ICAgICAgb3BlbihGSUxFLCAiPCRmaWxlIikgb3IgZGllICJDb3VsZCBub3Qgb3BlbiAkZmlsZVBh
dGguXG4iOworICAgICAgICB3aGlsZSAoPEZJTEU+KSB7CisgICAgICAgICAgIGlmIChtL14jLio8
JGZyYW1ld29ya1wvKC4qXC5oKS8pIHsKKyAgICAgICAgICAgICAgICRuZWVkZWRIZWFkZXJzeyQx
fSA9IDE7CisgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBjbG9zZShGSUxFKTsKKyAg
ICB9Cit9CisKK3N1YiBjb2xsZWN0RmFtZXdvcmtIZWFkZXJQYXRocyB7CisgICAgbXkgJGZpbGVQ
YXRoID0gJEZpbGU6OkZpbmQ6Om5hbWU7CisgICAgbXkgJGZpbGUgPSAkXzsKKyAgICBpZiAoJGZp
bGVQYXRoID1+ICdcLmgkJyAmJiAkZmlsZVBhdGggIX4gIkZvcndhcmRpbmdIZWFkZXJzIiAmJiBn
cmVweyRmaWxlIGVxICRffSBrZXlzICVuZWVkZWRIZWFkZXJzKSB7CisgICAgICAgIG15ICRoZWFk
ZXJQYXRoID0gc3Vic3RyKCRmaWxlUGF0aCwgbGVuZ3RoKCIkc3JjUm9vdC8kZnJhbWV3b3JrLyIp
KTsKKyAgICAgICAgcHVzaChAZnJhbWV3b3JrSGVhZGVycywgJGhlYWRlclBhdGgpIHVubGVzcyAo
Z3JlcCgkaGVhZGVyUGF0aCA9fiAiJF8vIiwgQHNraXBwZWRQcmVmaXhlcykpOworICAgIH0KK30K
Kworc3ViIGNyZWF0ZUZvcndhcmRpbmdIZWFkZXJzRm9yRnJhbWV3b3JrIHsKKyAgICBmb3JlYWNo
IG15ICRoZWFkZXIgKEBmcmFtZXdvcmtIZWFkZXJzKSB7CisgICAgICAgIG15ICRmb3J3YXJkaW5n
SGVhZGVyUGF0aCA9IEZpbGU6OlNwZWMtPmNhdGZpbGUoJG91dHB1dERpcmVjdG9yeSwgJGZyYW1l
d29yaywgYmFzZW5hbWUoJGhlYWRlcikpOworICAgICAgICBpZiAoISAtZSAkZm9yd2FyZGluZ0hl
YWRlclBhdGgpIHsKKyAgICAgICAgICAgIHByaW50ICJbQ3JlYXRlIGZvcndhcmRpbmcgaGVhZGVy
IGZvciAkZnJhbWV3b3JrLyRoZWFkZXJdXG4iOworICAgICAgICAgICAgb3BlbihGT1JXQVJESU5H
X0hFQURFUiwgIj4kZm9yd2FyZGluZ0hlYWRlclBhdGgiKSBvciBkaWUgIkNvdWxkIG5vdCBvcGVu
ICRmb3J3YXJkaW5nSGVhZGVyUGF0aC5cbiI7CisgICAgICAgICAgICBwcmludCBGT1JXQVJESU5H
X0hFQURFUiAiI2luY2x1ZGUgXCIkaGVhZGVyXCJcbiI7CisgICAgICAgICAgICBjbG9zZShGT1JX
QVJESU5HX0hFQURFUik7CisgICAgICAgIH0KKyAgICB9Cit9CisKZGlmZiAtLWdpdCBhL1dlYktp
dFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwppbmRleCBmMGRjNjg3Li5i
M2NkMjZlIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9v
bHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTAtMDgtMzAgIEFuZHJhcyBCZWNzaSAg
PGFiZWNzaUB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFtRdF0gQXV0by1nZW5lcmF0ZSBXZWJLaXQyIGZvcndhcmRpbmcgaGVhZGVy
cyBpbiBhIHBsYXRmb3JtIGluZGVwZW5kZW50IG1hbm5lcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQ2OTIKKworICAgICAgICAqIE1pbmlCcm93c2Vy
L3F0L0Jyb3dzZXJXaW5kb3cuaDogdXNlIHNvdXJjZSBzdHlsZSBpbmNsdWRlcworICAgICAgICAq
IE1pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyLnBybzogYWRkIG1pc3NpbmcgaW5jbHVkZSBwYXRo
cworICAgICAgICAqIFNjcmlwdHMvZW51bWVyYXRlLWluY2x1ZGVkLWZyYW1ld29yay1oZWFkZXJz
OiBSZW1vdmVkLgorCiAyMDEwLTA4LTI5ICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgTGV2aW4uCmRpZmYgLS1naXQgYS9X
ZWJLaXRUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmggYi9XZWJLaXRUb29scy9N
aW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmgKaW5kZXggZmExMTM5MC4uYWRjMGQ4NiAxMDA2
NDQKLS0tIGEvV2ViS2l0VG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5oCisrKyBi
L1dlYktpdFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaApAQCAtMjgsMTMgKzI4
LDEzIEBACiAKICNkZWZpbmUgUExBVEZPUk0oeCkgMAogCi0jaW5jbHVkZSA8c3RkaW50Lmg+Cisj
aW5jbHVkZSAiV0tDb250ZXh0LmgiCisjaW5jbHVkZSAiV0tSZXRhaW5QdHIuaCIKKyNpbmNsdWRl
ICJxZ3JhcGhpY3N3a3ZpZXcuaCIKICNpbmNsdWRlIDxRdEd1aT4KLSNpbmNsdWRlIDxXZWJLaXQy
L1dLUmV0YWluUHRyLmg+Ci0jaW5jbHVkZSA8V2ViS2l0Mi9XS0NvbnRleHQuaD4KICNpbmNsdWRl
IDxRR3JhcGhpY3NTY2VuZT4KICNpbmNsdWRlIDxRR3JhcGhpY3NWaWV3PgotI2luY2x1ZGUgPFdl
YktpdDIvcWdyYXBoaWNzd2t2aWV3Lmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CiAKIGNsYXNzIEJy
b3dzZXJWaWV3IDogcHVibGljIFFHcmFwaGljc1ZpZXcgewogICAgIFFfT0JKRUNUCmRpZmYgLS1n
aXQgYS9XZWJLaXRUb29scy9NaW5pQnJvd3Nlci9xdC9NaW5pQnJvd3Nlci5wcm8gYi9XZWJLaXRU
b29scy9NaW5pQnJvd3Nlci9xdC9NaW5pQnJvd3Nlci5wcm8KaW5kZXggYjM0YjhmNy4uMjc0Yjll
NSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvTWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXIucHJv
CisrKyBiL1dlYktpdFRvb2xzL01pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyLnBybwpAQCAtMTQs
NiArMTQsOCBAQCBpc0VtcHR5KE9VVFBVVF9ESVIpOiBPVVRQVVRfRElSID0gLi4vLi4vLi4KIGlu
Y2x1ZGUoLi4vLi4vLi4vV2ViS2l0LnByaSkKIAogSU5DTFVERVBBVEggKz0gXAorICAgICQkUFdE
Ly4uLy4uLy4uL1dlYktpdDIvIFwKKyAgICAkJFBXRC8uLi8uLi8uLi9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvY3BwIFwKICAgICAkJFBXRC8uLi8uLi8uLi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQyBc
CiAgICAgJCRQV0QvLi4vLi4vLi4vV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0IFwKICAgICAkJE9V
VFBVVF9ESVIvaW5jbHVkZQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9lbnVtZXJh
dGUtaW5jbHVkZWQtZnJhbWV3b3JrLWhlYWRlcnMgYi9XZWJLaXRUb29scy9TY3JpcHRzL2VudW1l
cmF0ZS1pbmNsdWRlZC1mcmFtZXdvcmstaGVhZGVycwpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUK
aW5kZXggNTk4YTc5MC4uMDAwMDAwMAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL2VudW1lcmF0
ZS1pbmNsdWRlZC1mcmFtZXdvcmstaGVhZGVycworKysgL2Rldi9udWxsCkBAIC0xLDYxICswLDAg
QEAKLSMhL2Jpbi9zaAotIyBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTAgVW5pdmVyc2l0eSBvZiBT
emVnZWQKLSMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMgUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0jIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotIyBhcmUgbWV0OgotIyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0jIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSMgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSMKLSMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBVTklWRVJTSVRZIE9GIFNaRUdFRCBgYEFTIElTJycgQU5EIEFOWQotIyBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQotIyBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSMgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIFVOSVZFUlNJVFkgT0YgU1pFR0VEIE9SCi0jIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotIyBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0jIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgotIyBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0jIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotIyAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSMgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLSMKLSMgQSBzY3JpcHQgdG8gZmluZCBhbmQgZW51bWVyYXRlIGhlYWRlcnMgaW5j
bHVkZWQgZnJvbSB0aGUgZ2l2ZW4gZnJhbWV3b3JrcyBieSBmaWxlcyBpbiB0aGUKLSMgY3VycmVu
dCBkaXJlY3RvcnkgKGFuZCBzdWJkaXJlY3RvcmllcykuCi0KLSMgRklYTUU6IFRoaXMgc2hvdWxk
IGJlIHJld3JpdHRlbiBpbiBwZXJsLgotIyBGSVhNRTogQ3VycmVudGx5IG9ubHkgd29ya3MgZm9y
IHF0LgotCi1wbGF0Zm9ybV9wcmVmaXhlcz1hbmRyb2lkL1x8YnJldy9cfGNmL1x8Y2hyb21pdW0v
XHxjdXJsXHxlZmwvXHxndGsvXHxoYWlrdS9cfG1hYy9cfHNvdXBcfHY4XHx3aW4vXHx3eC8KLQot
Zm9yIGZyYW1ld29yayBpbiAkKjsgZG8KLSAgICBoZWFkZXJzPWBmaW5kIC4gXCggLW5hbWUgJyou
Y3BwJyAtbyAtbmFtZSAnKi5oJyBcKSAtZXhlYyBncmVwICI8JGZyYW1ld29yay8iIHt9ICc7JyB8
IHNlZCAtZSAnc3wuKi9cKC4qXC5oXCkuKnxcMXwnIHwgc29ydCAtdWAKLQotICAgIGZvciBoZWFk
ZXIgaW4gJGhlYWRlcnMKLSAgICBkbwotICAgICAgICBoZWFkZXJfcGF0aHM9YGZpbmQgLi4vJGZy
YW1ld29yayAtbmFtZSAkaGVhZGVyIHwgc2VkICJzLy4uXC8kZnJhbWV3b3JrXC8vLyJgCi0KLSAg
ICAgICAgaWYgdGVzdCBgZWNobyAkaGVhZGVyX3BhdGhzIHwgd2MgLXdgIC1lcSAxCi0gICAgICAg
IHRoZW4KLSAgICAgICAgICAgIGhlYWRlcl9wYXRoPSRoZWFkZXJfcGF0aHMKLSAgICAgICAgICAg
IGlmIHRlc3QgYGVjaG8gJGhlYWRlcl9wYXRoIHwgZ3JlcCAtYyAtRSAkcGxhdGZvcm1fcHJlZml4
ZXNgIC1uZSAwCi0gICAgICAgICAgICB0aGVuCi0gICAgICAgICAgICAgICAgY29udGludWUKLSAg
ICAgICAgICAgIGZpCi0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGZvciBwYXRoIGluICRoZWFk
ZXJfcGF0aHMKLSAgICAgICAgICAgIGRvCi0gICAgICAgICAgICAgICAgaWYgdGVzdCBgZWNobyAk
cGF0aCB8IGdyZXAgLWMgLUUgJHBsYXRmb3JtX3ByZWZpeGVzYCAtZXEgMAotICAgICAgICAgICAg
ICAgIHRoZW4KLSAgICAgICAgICAgICAgICAgICAgaGVhZGVyX3BhdGg9JHBhdGgKLSAgICAgICAg
ICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICBmaQotICAgICAgICAgICAgZG9uZQot
ICAgICAgICBmaQotCi0gICAgICAgIGVjaG8gLW4gIiRoZWFkZXJfcGF0aCAiCi0gICAgZG9uZQot
ZG9uZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>