From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smarthost01a.ixn.mail.zen.net.uk (smarthost01a.ixn.mail.zen.net.uk [212.23.1.20]) by mx.groups.io with SMTP id smtpd.web11.28078.1647856013457754468 for ; Mon, 21 Mar 2022 02:46:54 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=permerror, err=parse error for token &{10 18 sdn.klaviyomail.com}: permanent DNS error (domain: starlabs.systems, ip: 212.23.1.20, mailfrom: sean@starlabs.systems) Received: from [51.148.147.4] (helo=sean-StarBook.lan) by smarthost01a.ixn.mail.zen.net.uk with esmtp (Exim 4.90_1) (envelope-from ) id 1nWEci-0003wn-Rv; Mon, 21 Mar 2022 09:46:49 +0000 From: "Sean Rhodes" To: devel@edk2.groups.io Cc: CoolStar , Guo Dong , Ray Ni , Maurice Ma , Benjamin You , Sean Rhodes Subject: [PATCH 1/2] Add filesystem drivers Date: Mon, 21 Mar 2022 09:46:45 +0000 Message-Id: <94c812e2dedef206a5084d7a1b0e9f9f78a38f4d.1647856006.git.sean@starlabs.systems> X-Mailer: git-send-email 2.32.0 MIME-Version: 1.0 X-Originating-smarthost01a-IP: [51.148.147.4] Feedback-ID: 51.148.147.4 Content-Transfer-Encoding: 8bit From: CoolStar Add EXT2/EXT4, exFAT, NTFS filesystem drivers. Cc: Guo Dong Cc: Ray Ni Cc: Maurice Ma Cc: Benjamin You Signed-off-by: Sean Rhodes --- FSDrivers/IA32/LICENSE.txt | 47 +++++ FSDrivers/IA32/LICENSE_GPL.txt | 340 +++++++++++++++++++++++++++++++++ FSDrivers/IA32/exfat_ia32.efi | Bin 0 -> 43008 bytes FSDrivers/IA32/ext2_ia32.efi | Bin 0 -> 19008 bytes FSDrivers/IA32/ext4_ia32.efi | Bin 0 -> 19520 bytes FSDrivers/IA32/ntfs_ia32.efi | Bin 0 -> 49152 bytes FSDrivers/X64/LICENSE.txt | 47 +++++ FSDrivers/X64/LICENSE_GPL.txt | 340 +++++++++++++++++++++++++++++++++ FSDrivers/X64/exfat_ia32.efi | Bin 0 -> 43008 bytes FSDrivers/X64/exfat_x64.efi | Bin 0 -> 40640 bytes FSDrivers/X64/ext2_x64.efi | Bin 0 -> 22280 bytes FSDrivers/X64/ext4_x64.efi | Bin 0 -> 22792 bytes FSDrivers/X64/ntfs_x64.efi | Bin 0 -> 47168 bytes FSDrivers/exfat.inf | 27 +++ FSDrivers/ext2.inf | 25 +++ FSDrivers/ext4.inf | 25 +++ FSDrivers/ntfs.inf | 27 +++ 17 files changed, 878 insertions(+) create mode 100644 FSDrivers/IA32/LICENSE.txt create mode 100644 FSDrivers/IA32/LICENSE_GPL.txt create mode 100644 FSDrivers/IA32/exfat_ia32.efi create mode 100644 FSDrivers/IA32/ext2_ia32.efi create mode 100644 FSDrivers/IA32/ext4_ia32.efi create mode 100644 FSDrivers/IA32/ntfs_ia32.efi create mode 100644 FSDrivers/X64/LICENSE.txt create mode 100644 FSDrivers/X64/LICENSE_GPL.txt create mode 100644 FSDrivers/X64/exfat_ia32.efi create mode 100644 FSDrivers/X64/exfat_x64.efi create mode 100644 FSDrivers/X64/ext2_x64.efi create mode 100644 FSDrivers/X64/ext4_x64.efi create mode 100644 FSDrivers/X64/ntfs_x64.efi create mode 100644 FSDrivers/exfat.inf create mode 100644 FSDrivers/ext2.inf create mode 100644 FSDrivers/ext4.inf create mode 100644 FSDrivers/ntfs.inf diff --git a/FSDrivers/IA32/LICENSE.txt b/FSDrivers/IA32/LICENSE.txt new file mode 100644 index 0000000000..cdeae2b89e --- /dev/null +++ b/FSDrivers/IA32/LICENSE.txt @@ -0,0 +1,47 @@ +Licensing for the filesystem drivers is complex. Three different licenses +apply to various parts of the code: + +* Christoph Pfisterer's original file system wrapper (FSW) code is covered + by a BSD-style license. Many of the source files with names that take the + form fsw_*.[ch] are so licensed, but this is NOT generally true of + filesystem-specific files (e.g., fsw_ext2.c or fsw_btrfs.c). + +* Certain filesystem drivers are licensed under the GPLv2, either because + they borrow code from the Linux kernel or because a developer (typically + Oracle) applied the GPLv2 license to them. This is true of the ext2fs, + ext4fs, ReiserFS, HFS+, and ISO-9660 drivers. + +* At least one filesystem driver (Btrfs) uses code taken from GRUB, and so + uses the GPLv3 (or later) license. + +Note that the GPLv2 and GPLv3 are, ironically, not compatible licenses. +Thus, code from GPLv2 and GPLv3 projects should not be mixed. The BSD +license used by Pfisterer's original code is compatible with both versions +of the GPL, so the fact that both GPLv2 and GPLv3 drivers is built upon it +is OK. If you intend to contribute to this project's drivers or use the +code yourself, please keep this fact in mind. + +The below was written by Christoph Pfisterer with respect to his original +code: + + File System Wrapper License +============================= + +The various parts of the File System Wrapper source code come from +different sources and may carry different licenses. Here's a quick +account of the situation: + + * The core code was written from scratch and is covered by a + BSD-style license. + + * The EFI host driver was written from scratch, possibly using code + from the TianoCore project and Intel's EFI Application Toolkit. It + is covered by a BSD-style license. + + * The ext2 and reiserfs file system drivers use definitions from the + Linux kernel source. The actual code was written from scratch, + using multiple sources for reference. These drivers are covered by + the GNU GPL. + +For more details, see each file's boilerplate comment. The full text +of the GNU GPL is in the file LICENSE_GPL.txt. diff --git a/FSDrivers/IA32/LICENSE_GPL.txt b/FSDrivers/IA32/LICENSE_GPL.txt new file mode 100644 index 0000000000..d60c31a97a --- /dev/null +++ b/FSDrivers/IA32/LICENSE_GPL.txt @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/FSDrivers/IA32/exfat_ia32.efi b/FSDrivers/IA32/exfat_ia32.efi new file mode 100644 index 0000000000000000000000000000000000000000..d293a24ccdf14e8b7e4d82aab3499bfadeefc25d GIT binary patch literal 43008 zcmeIb3w)GSmgu{`s)SUf5+D!WNGc#&383;$Y1^srG67#Cv87)p2@tK~odlF<)2T>1 zT>6-nm$*)se(Y0G?5k-7eek zacUFAbIhudr1Gm&P?Nv%Y?FsUKV9S#j561ts>@{!u$QUbr&MA5ILDRxF-=GAR%+s9 zy8I=@*KMxcx>?|EkU#ux;@6x9Px_BrDgSk=D>he$0zNoE7xsYWz1bc1HIkP;u`TN?Jh03 zlKX#}0vASP^?4k=wyb(z)k>vG+cmW!S*grIrS@q@6Jnkle6b>)J+CIja;E!YOL;Cj zkr3NpQ%_t-D(Gvsm;G~=+y1+82BJZaQfD06Rbl$a5U@_Em#QvT!G3u@SMonvFSu0f zoLxmSZ0bPyjlNhZFoQ}R2>oVJ%rVs$Q(FE%m(TLW2A4^Fmpvn5wYlK(#m<$y)MCK> zW$Q=Z)LK7&(AL_&P@T97m@Tybka5o0waE6-zSul)>v+f(c0B5fCE9|;ZvyL-U4;dv zj2X52V)JPuZKXa-sk73i=Y>$C!0NH9*r_Qh+-=kJJ_1Mj?XmU!LguZSlfpTqp685m z>GKBt9|E3?tK%O2V%-2dvrg#79Ks(zxPUnow4N(@S)ZfO@m$G&H|Dv@)*5@zuFv&6 zbJWK#a14z95px#Yv=PD1^<&f%LWcvIItX8OIi6n}b7<;--lxM6ZlYd)&Yl#`)`Fe8 z$p=TN6;C4v+L&PHwg%S?~j(-}%uF{e_;J=y8u zyWvF-vVIck9RLhp0X8rg`I#En&xrdC8pSYx@uH8Peh*y&}g zC~%u@R578u@J54n?hY;NXg27qfD=vf#cV2AOkJ_ggG8e)NWT#B2Q3EZaxzt|2&GtK zrG#JU?;j&$2>k4N6@D3BE(Xq<;Qi2ErOT2v2cPPDv1zo54YV(?U)uhmOWVsDcwFmy z(c;MwhdFM2YWPOxSn+`GF^ezr$bZ$GZ=TR_yG@5}$T7G~X3ogtCAeH;-~ye_WZSh% z+atsA?FE-};BVpLPcU)m7#{v3H0ZKtMqXge4{qnNo9(ob;ghuMhAz@}qQhugW9xfS z@)zhUba{jNm!P5GFSt5PnUAj%T;uDc{|6WPpA_E7x`;ivu=V3r*4p?-eQh9X@)Jxm z)A)6AVS7&Ub+~bK7umMzvNfSSP?p zz&)I%&emhQ9!XUvwg;}x!|loZeqeH*T~D*~WQ?N;Dtx{FlhmkM4=OAI^QDx8cS%X0cY=mvfiT;#c)XQ{&mg!45=Zwuqa=l3Q_TXac+ zirvV#QkRwJ`=Hrw!r-}p=lDK3z)YrHFEES1(ZAStC?`>!C|s-#wf6TP1ScJiHReMJ zw5Q!WQ&iaHQ{km)v<<8~RFtj4g@I{@8t5}&P@f{ka7rJ>a50uAur6;YV|W77@)#?; zgFeFt^;ux{5jwn+MZd3nq2CGVCu`BN@A2!+vP;&Q>PMf;+7lkX0q&0fs_WxU(bdRR zvBewd*H9-qDe*_nlKe zF)VWwTm{e212ugu&{oDM0>{bOGms5*M(bkny>=BeW4jqc^n^t>RX-{$^On4|PKVNw zvQE#H#Q8}ts}l}*+&@LNGR8j73DeFsCx*pekon5Id=-$cuikQHXWyHX2g$$XDb*KA>tVgJLvzA{bgZJ7CJ zBk~w78>P-VH5FUfZ?46TNrsMo-k6v0EAzR;*xTr$uYv0k=!1Oi>e`zaJGC9UWAAl& z0ykZLu<0IfR|TUDIF=qwD%f8Re%SaGA`d}iy#-tymOoTKCj8Aoa&WgU2N{uK`pLK! zU%K}$HuQPHjIi*-@w9=fjDHeaDsT%g^c#Lw{n+qn?4$ID4rkC^x_wEYpXg+UEVR$~XV2lg@9vCt&Cu>Du34fL#hjW(OTG`T_sT3Im4=G=STuRw0WKi-2$fO~Q z&WO8N>FXnYoM@jpPRIE0VaDkZeFlvk+1a{`dS<9tGH?pJ-G=NIOw?h-%dIX)1=GTg zY}G1wI-WDugS&o$-d2~-m%r%SqJ!ioDE0CC1gG1F53fZ$qkJ(x>o8dp*~iCB^Tm?! z<2=adf~zxk7HGaU;bE8E5pg(uvA66A=o@=vN`a=2ON1cPlP&%c_4Ko7JRAR{Q09nF z?6G7(b7O-tBfm$cWey6zSZw+4%)C~R9d6fx#Xn3_Pl&98b8-A$L?$BpoR1#VbpKq| zlIXzS;!}le?Os{$j$vw!(9OT*!#uHzk0+`FZ^3_&2a%{CqZNUrK(_oVh z)Pl#J?EoEFN}$=CpMQ5zY#ey*A>9KFneRTws~7c|HUF$c zb+#3|rq8)KTOWT;s(M0rBD(&g2W2l}?6(RiyBj>PD-nU0vMnL@>(Bdj*qQMEahoqT zj4@?@*KJRUEXZIF!PqsF*V!_A3s~pY9<7UdOSej05PPiIgPr-ncO&}_e0>M|$xQ6m zflvDnXvx?D>I9y{Y1Ap|f;JUvM<=zgE`pQMZODf3`8cwi;a2cIGx8gr6+f09ypUn| zhO!QXN1MSn6JCUDzS`5Y7u#8wsOA*n!-%~UUg1j|n9K9tPwGy_^Gx_9vQT33OZ1fR zD-~SZANnG{q`%c?NgTi0A6gW{kIj^H&k+3TN>D3=9~UxwvH1OAHn@HOorNE&K0)96 zM!_kB4w5n_d=L;spJ&j@qMv`BFBXNafyusB z_JAuqv=8L^TJbGn|E|+B*!gdyS#JC9oI+fPV6A6s9SD6l14rye12TY|9S}abvoG># zFyCZ6k-hlw;$=_9?`)U_xs0H$CU6>%!TsfmR@TjFLMxG76g_qTXC@!naI*xeKD76_pa5{ zoF2O?H$^2ME7aP(y>@3V{_xsnXeD;MA#gfR%5qpIQt#Is%h1dC{k}HrdwNlq=FR1K zjdINMB>372L#mCj^|{G7U-Tm#Cq#dSzM;J< zkv%mm`^zSqvv+|OYSiagFjaiY9X|JNOiWhm0pROB=$Z6qr;=a(0~!V zN*(B9pYwXPR#icNu?56EGV7NDmuC+&4xzI}*LVWmx^0-u^GnD}bV@=v3!kZ+eqB7* z0WUh`A9Z`uLZ2SW44cxU_d99!@!K3boo8Rq%m1aS3es2LY+d8YleP{wzBGB8mT|1Y z=G-a!y$6vW@z-A*N`4A*!x?e%(}7(aL0){@SDA<4Bl8e^P6OAN$7vlOo=@a!8NJh> zz0`S-m8>eQssNnw0=cpu(d(CD8@j3Qo1(m3*Q)UKBh?dcU)%0|TbCo`7CmOs+u}zL z>u(3VVO<_~H|K;4;ZatBiglxF2uEkuQ`g1%_z?f`vTLJzTKM0fsRtO=+IWq;tjizi zb8C;Ao4RCfZg{kvw&(1=Sou;TRwn%vdR2$lG2M_e(+?$3v7#QBr>7V&F&uMxr&ut1 z2l#$U=OKGZg|7;ox@jYF6yNXkKtF@d)1c!rt?w5-l=}lcd08gk*HXT-zyC$?pQ6;& z1w46v9&^yg z*6auurut%T)2Et*?8th}w4-~H)ruz5#|ECRhfE)fH8TVMVpJp;NAG%M={w{LEjt8m zmVOjkKBvckG9$CW-+!vW>$j=74)77YD`+da)sbeb!_S-s9;L`|G||Ar_qnmR5PcXm zeCp#$yFM&7%wH_)KO^E~zJX%m)5udM<5=<~>m7a>I-}czzppaIpZFVa>Sn$|FO{8h zQ7(0O_z%Eq0N#gUccl%oY00kW-2R1*A>&yNbRjP3y(uv*I8?xA8&`SD>PLnq6HdQLL0Phn*ha#IgD6|$GE_})A zNNy84i~aLp{~Y5C80FA^53(w4;(bfuTR!;7T+cn|6MtBb8N}niES`qVH(at#r2ns2 zL%u=%FY({D69+jTEbbqn+M*e%)`1S4C+)El=cg&}hGhIC?8W)(mABueVp(mfsvBN9 z6572EmzpE_3duXry~%1$0KW*IS7g0e25d6#{7 zWITI<_2?Y2#T5%AmNq=nQlXs?yZkXRQGIQ&=WsX-nZ%}uOkHZD3ucD@0XUTFdPvsA zi{z2F+!@GS0Jt7vY_g9QoFu*`wpV=9!sk`k8LK-feqO}pYukaH-80PBCVFEhYodH5 zJ_65{KC$6jOWix@*z&zY*S#fmr-rWkck1pV&fLOSxxnhd4rFPnx-hMw(N8&iFYe#| zMPJoCvBf_ce4dejz1MVKydFA=KPP<5FL$2ZD?D1poS9quNcQjg8qA1N&sL)pE)+)LYTWaalD7GA( z=9P9*-$K2gvk!cZGdbv{7S;-T=3NWACx-=}6|#n2PHt1^OVPC+bf>;YK{mu67rX0M zeZOd89!r?tkT$q^R(MvNe25LcPM43-5s5weuVF1;VE;YLJ-^wsd-Fc;e^OwdCoX|p z>GCG~0-len`q|-k(1GW%UAk<5pUA`!?3jl+w8!bypMmGc!1+a-Z_vU%)POTbmw8tl zZr$LPL_P()jsQpI?#%YZ0`TV*@`XGLy@XaWj>ps|;!n&3XFq%uez(F?u|<&ux=f)r z6Nc2A7v;)`bIJZr)|{LHir;txFhl4w@e^{I=Z04SU-Tt1TP1T4AM)xn(|7EiJD?{m z-%R;D?73pMAl-p50YWy;kX zK#oODPuX3O5OEF5_F88rA`g4uQ~OIx+v;dn1kGhH9Re0U^v(v((aI?oojQ0AI61`^ z%l4sT;injo3!Lws`z+2zHP5?5zoNTV#Gm6jq!WNGIA=^a7x!5PE&m;u@pQZ_4eRF* z&`{)kFdf;W9dNUsy^8rY!CTp@g`lI*briBuXB*YqfR22L@x-?uu(cg|1M@fqT%nnq zF}vuWk*Z=Z(q763+IM@6_Qa#4tO`GKE~b!`8%!= z^OE&bIfA$Y_DjlC^H+?v&l~d(0XM7SQk}YIl3MXTbI@GIp7$pDi(Z`$t=6H-yBDgk z$nBmTzP7$3)0R+ni7g@jb^7VHWQe+AsS{f=MBOs#o@4IM2|dwaPVGDU1B{ylPNGLG zy%FKr(i?t*KH)vL`(k2mo!HtQZ0$tw6WWf#)<(yu6^HRdOPr#fy9zs|VO zXrK7}&FHH?ke7WBcUm%|=tN-Zagzp^QqpY}evo=g(MA7Jc6s9!KBF$}6;OMPEy-GsL=ZXpEieYm@UVPa4nIj2!ZT$x8Op z?5W`^ab$fw_OBw>!~u%^)LU?(CY&{s*?%LK>ViUw}d9E_Xnqt!UcZMy9r|WUmjo&+nt`C#1TZ(^{80;L)_!15+29n zBXBJHB=|^wky&)Ve$S{Vjkw!9WJKZLj3kcI-+#u|JS;4}*IeYJdHjQCe z5+o;FB z?(#Q}2z#a)^?F`Q3m4|Z_2=wP&WZ-`E0|9_Ca%5$_;cg?r-xhNL7~?uD=Jd4wam?5 zBs!1%_-#hHhrL8$whxy654}aE zbbToNsGn@eof)Um*A=!Z-d7NL*4g9u z6(Q`nA6;BCS%qs{oJCGiVLRs~az_9toSS4ue$dCgEvK5Bi@vyFKU52UfzHWmDC1 z{H3<&zuJo_(}&%`nv#Nub>yfG6oH&XZ{`zEsb>zBZ3MU&A;~RTYpsJ!|o&5`x8n z$+jHklkT5HJ9|oQ^iRIpBTCH^IGm?e1(;KVmg)+C2m8RavX_y2Fx#Pl&?$SH@1)Ra z5p>$4)ZFMsUz^x}f39j{J&T<=qo2veoo7;ZTx(7ayE%jYkeH6>FZdLWw~6OU{@cZS zqHFD~pFWt-ihpoIZ2o)fHP#Vpc%S`-|2kjWdxuqPA3S}RGxHDaiIJFnSY#A1;q4qh zzTw_%-(wBqd~I*q$3^6>Lb6jW4`ut>hUeQ`mt`LvzmD}*KlQeq8O%Y)w_|Br7I*HV z!_{1w+g9cgqW^@cDh(ap>B#;=BYOP=K7QLTrv9PvMlE$mzs<2$d}JA~Zf`;kO6Y*p z&ttAq2a!wHfOAoruMIz-Ex$ljb6FzOT zXH41VdtB(gQm6OWNc3YvE(K;GFtcVF@HjKjV}WnkCBCLIN!y&HGG++A_K^2%OVG!N z@|-wBrE>C3y{?^hpJkb zh<=!Al%3*!m&|!3yoWw%?0wq$ZO*m+zW&np4*Ob#XTk%)<&=Fqv4^n{;mcrtUJYgGs?Dw{DJAY>zwe#a)Ds4P` znuEV0r?Ueeu3`)E<0Hb!_iM zwqtqtn?c!|v~SnX_7&&%*OMSfyu^s>QH?z2Qwa);^)iOoy5&#ZQBx9`|J_mW9*)X zR5+2m_06`zA8p+pK{v8&B@p%6J9HC3j1_ zs}u6(y_s;sye4I@lCy!P1iQZOR=u1Op1eINT)%?*dr!H-2NKj1V}%zRCYHFg%w@@p z{fAg@p@Kbv&ED zY2dj7JpUZJ?=$Jp^`W`%L~a_0^-7#jr8SKIGMO(Qwy0I;V1o|#5pU#t7nTK!&#{iI z_>cac!gfu!t>WM7=M(7VkI~7q;dxiGn#=wL-#;_5mOM5$_at^SIsqNh-#_QwDZbcy zti2XnySETM-NISBgESfc<=2|eTbQUV7n@jA53TDP#_u36cW6W8L)@XwGVSe=tJ?D< zcI~*(KQ}_ZKc}zw7&)Kz&s9mm&L!-Jg0hbB4IE0zIt(Kxa%a+rJ3+Urg~!N}!>7Ej zAlEWq;dc>xlw;)Kb(=q1wMm@|TiTQ5Yb%PQf=_2f9U0AD%&Tks;)N)*9TU1pKesX{{By^Ph zQQcMcsunq$pKa_(lc2#n;KR5}omy6Uu9mVCAG{x&*qm>!{zuW$A}Yk-6HmH zY^0mHblD`njeMK)eS!J5_w~;addPXI*cG8i6q?l$`&m8S_X)H(PM^{ibb5K5FLVIe zld|~xULM+tp6}m|Pjs34>X)oTyLLiig~I0++>hk zPpeE`bG{(FzGi^ei8(Syk%2Dsw;Nt}iC@QjgpMufDTxoaV9#W)rq7f1|Ci=z|DrrQ z5=7T)+zYft5;zmEJ+in}^GJ-s7pwhT^pIiqGANq^y#ma;bqJd&HZ-2z7Hz+1_b#5} z>FeiZ?Zjx-kI<|CdL?Ib>CuInSM*%Zz4$frjkR!|HSrcPZ|-@-+LNGfrmyYo?cC`{ zhlriB?n8=ggywDC%vE?YhWss}Td`Hy*s4S5qMq$O?@@gBB75Gv{8U?&hM&I25$wFm zybmR34O@X*!+u5XYt?YC{KN12yiH$KXGP9GWN#v}Co=WW16d{AI}JI1mOYOV+mn1o zL<3*Z=^tae--O44Z@f*laLh9C^L^T1+HKDfnuoRJ{(7~XJ#L2B zf&g~GnW^%)qoV6-!7F|p2`%LO$-*z5=alVAE*K{Fi}(4PXM_vU%>iO=(D6X7`AnOA zS$|B_b@iHqi7|;0NIxh2a)~4F5PBewh3In0>(7)W(?5TkYL)hKht-jx<`C=X#5Q!U z~l-p|{LJ@t%J>7l@syd2sI4*!LIeiPqp{HYek zAx4v)ui?L?Ft&42x^tVYL}0K7@J6U_0Z!2C1d|~RO^yI5-C3>6yKVg~X%-z8_#QnX}ww3-4#&M2w<~EpP1Q>6ojAPPG zWA7b5PCfgW_;EDJr(PVlUiLSm5{MzWa;FhD@u%8KoD+h@PR5R(V__=ernzzjRxW$E zW#H#XoS5#sDxqYJ;0Zp)IFr(InL`K|%QS}$!<7oH8B^~I{zcG9U<+TJPUUT24jygz z&iA?{i_`%s8 zWN9h<6Im5LhGZ=I`bnjHxR$!J3_Pv+RPqby^Lm{8mD65iZv?*&5qs%H_SV3^)8N*F zEVi;fMD~uDvUeNp{}(hV1K(5Nc0}T7v`enKYIY&?c0upltA>^MwdC9=x=rec5vNPM zuZLKl$lX_fA#^X)9Qqu)@xP^AVdA8ccNyO`t|&KvZ=Z|&781{tXMyz!aloQ2lV*E} zPw8VamIqmMz{etZ7^Sa_;e>}#;JptG&>`s#ew}Go%@V#YbvkpGfu|E3*U^6mGI5&t zqtxj#D|n_DycWA!h}=lrvWM}7F1mb?7x__6G%+*R3(U#iek`0ocC=G~zdeDfUil_$`p-zCYxmv{p` zPMe4ucyD1>V>-jQ1ka>51uFs}ch~Dx8GmAaE6W(=k2iqxg1V=ymxhYwlU4>tk zuT(AatILw2O}xHFHsvRXZq!rcO;4@!8$AVg_8BoBxM%b0Aa+aKG~xv25%4dJy8~Y& zcRs+?nuCoyM}TJ@ViPkWkHyUaJEYG+d?1-m7I#2Zu&GhzPzUbVjM5GMRh3gN>t53MIsW@+U2neqS@fOHPQP>NvuHH>&O7g%{*0gZ z-aP-=ndk@S<@vJ@^}nC>ee%gCS;XBfzCu%-uNIvcU(Z|o246i79(p>#Oqr*i2Y)@) z&(nCH-jS)sI=-@a@Vy=nZ(h_sJ=d}A z?{@3$@Im~n|0isYWhpaLCp2lPYmY(yP+a|HEz`B``P2!VO^pq0^Xx9+4xceb3S+o3 zoQ&akslNEWk!tMp=N%IYNn6vESK3}|m#DWB-NO5>=v(Kq9Zu)6$av+QWAB^KS$0O? zfkGELDPvu7^0MjN8TEg6o{3{(hJV{KS3^p$*zu}!f`d5N#kwTD&N<7d^P^Xf5bqa$ zwU9OulU$3fJK_TO?|ODeC^K-%1b2sl(~0B>#FdxlY%5&m08T;bk@0RV!{tg)%Vo@! zsYl08ZDC&9w2V7`?wn9m%Y13Kns!sbSK8d}v@csiyYK(pF~Lu}S6iGD0<>e@FB2J` zPPu_{=vho`5vl#CfiCiZwzV0PClaTaRFYFCxJ>0vzAruNdAA95l z5!9@Ah-n~K=*1PDsqKwC&(AueRVj2)0p)H|T}NM|RKZB)xG-X3AAWu78;@(PZ|%0V z{wYhvWWQFb=BVvaf6ICs{^j2idz zc0mAevxVi}#wjDFyG!d%4|maj1@qqnALV|Qi;FWApI@oRs_dkTBlvps9xtB`%%7VKUPWhK0mag?}R!v}U^KtF?PYhdfK%t&8_)?u4FuxLf)x`_^}$jg%1^ zeeyIZ^q(7|eI4h7&5ReJkG!|uYfsL7g?JtNr#W3b=L-y;gS2hOPTxd6$XZ?l|D>(J zoM*yhesg7PfzLQ|1s8!UaApV`%A`+3;(M$e>u#W|qtB5UnFr@bxxMz`xiX(WfwTCa ziPW!isudA%D8xU@s^>fooExUT(ip(EmKbA<{$(AiO4Ii}?cS_zt*V1Iuh&kf?!d1Z zPORWLd@dI_-Ok({1?G9|RR*l#=n}D;?+NbA<96~g-Yd|qgL96-G0#8;Iwwah&-#g~ zTE}w_F@XpZLS|XVt4N6 z{c|0REpn_?r0a35QFi_8?J>dkY3P3oa`Ue47mkRCo!8rDXM}y=nQXM}wCJhON1D30 zPUN1d+|Ly~@)0uHG)tYG0&a(g`92U?BOc-;{q1odX7Mxsp-z1iS zeA{GHBt*O^>dH8FFgasqrk1($05}o5$hGQ&5|0A@;CrJzb-w*s%GsOZ09WYX;CCC6WC2E%gIS9fw9vb+HJg*xq$Bcg)`$7AIVkm%B;zfv(jF>i^-_Od1&oPS)$ zy~V%J!UiH^SwBR+R-gvj`R$xdQITw~P=_6(N zJTDuyqp_(&t9k_5hEg?&$&}XF6xd|4Y9E>|OO({SR#k z;XUY5bj?BJRo9p^4LldHR*=G~R6tbV!llQu&4mUI1c1xJZz9AW?F zBKE*I<8r1stW#>W{u+PoBF7I%rU3a_gJnrX6N16 zoL@Xt)+hTJy*%-f@ zZxB-#J@Db(TC3b)ka+zB<|wiH#k_NQl(9ZVkIJ`Z-b>;=A9&r)JjG_CUrPOJ=IZY} zdTD#!J|Xg8679$Eo)`BxK1KhH8OAvd>1=fT5#)|D@M4i+Szp(gFmI&n73$*U$|HR4 zP*ozk;!DaqKR-!-a{OFmI7?0F?V*3gO2cM^@H@s53x6+(Z;U}Z?pe=arPV zFb|8?pW@g3k$Ilx9H#JLU+i_xa~4b>URLjm9cJCA+WYz*A@145T0Cs7ox`l1F5--b zSv%#xJIvZ4B^I68Ya@174j+F2uD#$aci#fgzwYy_st|2ofsW3x!D88uNBf&N6LhSV z@*VKTIZn^xB2yWC$X~JigB~nnC%{+O-g_NyuUT^7P>f)FQJR*HHqa&nUgzl&cNKf z4CpGbQ^~i8j<3*`pC;CpuO+W30(S>^dN|vBU(P>xH$-UCO#fDVU+x%syX@-N`$<~( zPxcWJxx!U(!ZQkr~ljirR$l)b9$@+K zPx>W>2rf}%#xHRg{3!0-&dufCkH~!wa#r}!>v_?$S$RdopZm4sUWs8vncr#UIOeGH zopfr++*@(4+`z1E^6=KopbJQ0msQZ&C*ur z>WS4_`9k@E=4pvnL?>VTmqEk~wh8lCYM|2cB8VdC0 zAzyRE$Ef2ypY6=Sz}X5z8Wwf(!4)NZZ;G6^Oe9hG> z_Gt?61@9Y~<9`HG*1i8<`sZ5k>VRbv{;rvWzn_sS=irySw{tNrn82Meo4#i{#rZe! z%J5I%w+9`mv}=j~$=;3kY}mVn(L>gLDuex7KJ)K__ChCVKlt3Mj{RK^ep~r0?o+UD zijRSvD`^|}o@4h;JNxwn_UnnQf8yMbwkJ+aN#y-u&c(%NX6()2#9nyUswK z+PbqZ-Z_#zKzuu~JFU!na69AvfPBX;exLZi2EOmu&sns**L!M&M%=+h+`%sI_~r`z zGT7U`u~6vE`5!)*@KC22vi^m*g?t~rs!E`o3uHs zsjA!1H7)q^?-CDpun$|$Jsx6FyRQpuIpkpv(vQv`{&I5LWNbt(`CB!eyO^(J#t-5KFWz>71= zw#&(}>{sR9Bm6k1_o>eezrlC(6yF8Ol(l_>&+Gb%&zqdbSt2tB2P;CirpSOp*4fYgYt4g)VoLI8(RU+Ui^v^iZdN6q<7_(i-${gN2|?gt7*mhe^k} zXeTj6hjQ}lj11>&W+^!8w4&W>$ci4n=KD)>M*cYOO>$xL00E6%{%d@#A>N-14P$S_ zdcJzx#aK@KdY1SPdgO$}-6Yl~FlJ*P2fqhko%>{P$HI@V?O+^73TNTKpTl?#?qS4_ z6B?v9Bp*Lc{F#jikTnl#*)!-Vh;k~+48`c^rGde zmAHBvB3QhJ`3k)};3M~9;^%N_oKA5cEg>R$be`aj4E5tD;%B#s-Ed57*WY_?M+W^V zYL3J}MJ7dVS|%AXyo2%e`?Tyanv>CiHl@pCJ#7S@@ZF7XA#zcGKCsHVrQVbaX)Ak9 z*8P*fz@CXes5p$p;gZ9y<&2 zj9+uy#`{ikekb=hW&bMnMerB>AJ1QTrO&$+ zQdTiGyoYfgz*b2dQ!i^C6An_gg)-rb;#tnghKf60!e8{DerGL7wMzV?AH8hnUJv(4J@9xo_p;HAu_$qj7<7Am zn7L;mWgQ`h&^mjZPS-5zg(t5ktE$z>3mypSvP(U5?}KMTZ*1wndXhb`-oIlkwi(}o z`r*J3doY+M$(*UK!LCaD!KJig9{r5<;y0AI!z*`Eww^Y>p(OP_&2h}K@9fhejNci6 zhQ!%wJ;2K4>?2Dh>w6K-T(&B7yXZ`j4RBu}eSHf?DETQcQ?X0zpCT^qIGiF@zR?}u4k#1711?FQG!?(cyC8S47r2ez zbyIy?Lt2u{c{4FB_8BeE_lTB4OyQpzM-Df#`AGjTbp9oAlIOl%0@MLsE z@-YqDn*Xrs6CeE*XHwB$f=)wo-ePwE5br{Gz> zQoZ=5rOR}@UB_e|$(n7a=X<_B+244W17~jsPqWsiVLSbSK%R^x>n}q2a^_`2XD2J$ z&T0G>0lN#l7D(IA%XELNko743*h{?oR><6(pD#R#+=Ts)mh}WO~!WTDurGOu8IgQ`F@YnxQnclYW zqb$9x#UI`8TnG$PSBd?Sv%w&`!I5qF6j9pO|NooRz1QE=DYkT{S?-|xCMjpX^yz|bc(VeNj*v-a)8-QASyZE07R#NG%x!wdaR!jWO<-*1mC zIcoEHW#5{kIU>2*@YAQKv5ty$pWt{x_cbDm$43zBc>nR#R^h|+6W4^_S5Re6O>=Ke6?o&9S53rFms-^^efJ#E?7tGc^4>L#)wQ zS&lmEo<|IME`8HTf2hs|!SmcgEqu^+-~Kk@)xDgl+-D!X^Us{a4w(aI7-#*Q$;i10 za#gwqy&2*AR%O_AY)xrds}c7vdyaDf#w&ZCGaP)sgSKt^-^3;#wAJmGdjdbyR?I(W zyMI3uJ{Yx+HO~gd?p#4!KXH3mpU`*e_kDeDanJjoX+KoE@wEFV>Taant2*rO?mwod zzWql@%h(qL!LbbA!p*v1?^{~-ma1~{TsV_=S!%~ui!C{5`_BGf(*7?-}vI(Tl$aqYHfmWr?OXYhW9z_B66?*j9%ZOaEwk9@STg}Liy< zQ_UbH#=U18>BCx;Px8dNh39fk6r{W!xI@v=Vba?J9UV9O9*f?~Hx8!Q!}rmCE%Ff< zLPk7^hMebcA2m+ScZl3QKJt-9Nhcv==lBlqe;Nidd!P2B#u4-%3g09X-)q75`^e9q zu4OOYb#*v__ECJBXp-jbNg%dD4EvnD!24lRfj7##*u-zWJ-jR3Lp}HL*#A+^JJEVM z??X%Zo0PvL<-8C5v^ybJubXJpofbIMog%jL2C<#@iR}!_PR@Ogc#p@ea^EG+b80s4 z1{3FbW18%5gPpxs`@Dh4#IRV$e{%c0cD@Dm{uI^ry~)np4))&f5fAFxZVPi4PJiD9 z|GDjN*z25=vZN)gGPk#`_r-|MWXhSK4_~V6D6w-nXC$VMeJ(9Kp;fgDpNXw^vDT28 zD$e9f6EDMWmr1{A&~GjDt5Mg4QOueCQ9keX1=ob{P4jsL_j~Zy1;);z1O^r`7?ocoiOdPKU zN1;UmcaIwSe2;nXk=R3=Eo2Qxn^icYHqa;bpea+GZ4v!eySgt*`#R!-a_`>0@0zgS zF7uJOaHjVJe(9Ja3Bku&(4nLF9+0g0gSOiJTe#oc^2v7}8>Ln6f7bS$53pOM1GwpD zl!ks{y&Mw##CkcDf{sUj4>^Yva}Lv)L(2!-ID43oe%My`fuES!aNhSjY}@w1d+6}D zlbXiAjSl~zjr-N$IUaq`^2q~_wc0|BxmxvOoXd5-!}-iB@apgAD}Cl_b^G73ryNUV z?2m|7vHv?DX^!TeFR9o(dCyC11OF~YvGDm;U_8PZgM2$%Xri!*?~2tZQlQp^33}L9|PH&FXG)<5Wue@@@oD7NbFZTEe^n4N|EP6KDo1v)vu;~nHs<3U^b zJnsA)^Z3xQ_SD{=Aq#g*d9?9ubo3|roGB{D*?R2RUNz#_TQ~V)w`AFN&rR^pAH%-( zP2Oj>BTMowRug9g;_t|vUa=c|BQV^+xBQNBuLby#5q!TqMEp>mTR!Wbb66YSy9zm# z{M^sVc(0?~n{$=#q~yhKNJgHPYR(AnR-bkg%ar)zIxS^qFET55L^BG!Eu6cbc6I1? zqF4uWZm}or9Hsf^e+(}Kw}rr)3@(D-{U&~=wA5p_OdP-aSzFBqf5Nw^M{nHEUdGNl zmZQLZaD6v8ir*7I*VQI0Yiz$cw!q^Y?VyZrjV=9T{JYIQg{DlLPHJMmp4$5o_UqGy zyiYcwz`Ksv&(ERP>%^HKh30;Is6y^v1%~;&A?70Ub7nguQ?$$-II#yUysSBX)g0rb zma&t)XZRZEBj@mSBh=Xr*07Yxm~yWF5P5-T;VXDv4s_FKmSJ9VdNhh zR39FccYpPJJ7?7w7w-D?UE^H*f#Z*H>SJck*9u`9uAMlWC1})vjyvJ8t{C zA50uIy>9v~e_Q%v&$v6*gr1$bXY9fQ<8OPqJ;iy=q^7Fr_dhVQ`**)hYg}Tq&mIKt z$VlVg``njiq_6RD1P$I|uZH}&(`@fI)8Bs2Xg|38HM9Kef603PyJzp_`n2)0YogJ9 zaQcn+A073z^M6yY@7f1uKGt5_Ik?{HKRE5GH{dxI8fo7mBYlm{walZ>ObdD0T=Ffq z7^wxPa_c=6o5?IuCH&)>0kuJ`*8kp1ev8_~e;ZY`+N>%mPrgjM&8k9gBlQbuzeTO1 zwHsI)>FK6+9sg}qt9TMfQX;jL>VDFD7;l|kTEpu}HF}HnlnXABs~}xPz47zs!LMdC zV{8k$*?ma-?ghHwxrp>W#+A|B>P{V7zt!Z~P5OS>d{*f=)X?4yR}9*% zRYmF!@|&Qw%uVRIk-AHNhNe$Eyv@q5&uAyOT zc7oAR@+3HK(xqr<0d;gvOh7nb}~%6-lmSgm0>;%=z2qY?Qi-))i2~kYt&un|2$3yU z8CB>c)Dx+=PjBg_kI>hWeq+Sd>N3!9$f|H#sXI-3vDHk2X39S{q0g(_O!db68H%2ke2H`khgP9QMDh$>zgnlV ztVEH=smvg6Kw5yeam%{Z?hP9^yQ?cJR=Zd7k3O@VjW1udal?I;)tlX`EAI=es&rpF zwdPv)=8f*VN|(%-InS7cg&gTENV{ktp~sy(i=-aDJr<5MGjJW|RvgT#My>w33>ipfLQ&LvzW)q$PZSd^fKr3cU z3zjv4%wF&?>K8*T;hjaBcuE*>{~Z1ZPGaRO{0+X$Kn|^OzKBOWzB1}i<6P7WGFy=z z!<(_>K`{K!^t14cpXE^fE&s$C$5?A(=K@H(p^s&)-2-*SVp@`NIeaW0T$JQX`xyOX zW!J#5i<0`C0mwNzj||R9Ynivmq~-C6bcxg&^s(@{99>s2QvCW74^-q?xxfi!=IvfHcl(Jk)E9M-e41QXF3f{n$Aq5F#t z62Dc(6&W=Ats3&8e`KBB!(WRk1}a}+21Tq8OIOHR5z99e^+j8VMvv#hrS!iaJVoza z)J@iC@v99hMe;v}+Esapzze^UllxkZuq zRUZ#$Fm~cc8y>p>DZbw=f8l&Ax)}Y7pnn4UB$mnE@6yTQAxFT+akspdapH5!)XHgd8? zWfymGcTz%$$hR@0q2?h_M5e_LGxi>Cq)BYBXba%Rtnq=)z+M*kA@Nc`Txu&0);9-6)eXAFID`Mopf{Rj5V@b^WNh{iPhmW%VeRPu)2 z$BG{(I$0=saSw6n90ZTWE0z?Ly4`MhmLKsbE8J3cPheeTO>NEQ%JouCbfc^$@Id9w zQ&&%SZ>Ze5xop+CEmT(DJavoE%ZPp`wfe?yRjyt;>syQO2`s6(bM3v~y0?1EO8w7_ zRU4}-zjaT|w`h7D;eO*Mu;IRnb%E7x6PkPK7NdO2hP4|u-oL?JQ;8qDx}v()y}5Q% zrTd1hQ*W5Hl>x2#P1S+*U#wNig1dg>>cBmLRTY~98#lN&2i8~CY_3?p$$ihpYWGyx zH%`4_&ej?7$Hd1T3twbXR*fawgIB8fV#ZIFx=DQl zKln*5l>AnmQ)$`_+U?qUjc+&LLw}R?_ha><`knevrE4>_JG2edD7BG2!aeIY-tP|7 zuv6GvxoUHzZq!#-uH14j^%d(3jWV_7#;L1sWH+#(8jjq%0a0N4v1R?r%4+4=uw~sk zV|%44tE)Fw-w1856RDtoO%0on8{K-j8{)58>mC@>8ZbMV{avx{=NIdKtL#8TayPRt z*}{|Px>e9t)`g)v@2Ax8O+|a&j;!Cxf5wi)pqa7H*OB0lwSStSKh1$ogP&&Udx#s@ zEn0Q)CDQ-P^2Thf^|Lwvl{Rmzu2q{iZiKFtn^-e7n*$r}b#J`KT~oV$U0}mnJy;^E z%v~;fGg*1}Y}~TJ@Tn~M)$2D@tT!52@T)8D-LkHtT3@5a3`@4GT2)z7qwcP#-XO!= zWv-uF*41v3*qc?psB#@#b}y+2tlLseFwiQ$yE+hGJW#%1%RTp0R=Z1?M#*|h7~T4UX9KO`Bkifk7#%$h~ok72Z$+kJT|ikAiiwudf{_D_CjJs%YVDcgEAVbV=zY zd71gfRU6k?ZHhLm+PHob>Te}%`dVdm4SG;8D5+ev1(w&kzZTfIPS=hGUJHvCT3z*m z#T!-&{RU{kq$;cLW9@rp@!ephF6L+7AbGR>62w~XZ}IW%9I zHGsM(JxYB=bP2PrhEn3g8~J;;1Xdd!{nQ)s41KLDZT`&CEyBQqRbZt$5(99=09bHl zt-hW{@@LL!w_6@>ls~j(j1|%^l|{{60{y4_M@C%7Z>B*r{jr(uGt=W{8a2~CGadP) z(cf*RH<)RmnXWKXznN||(_Ln|$4vK`X}g&oH`6XNJ!7UQ`=AEqBhA!prZY=xth`dkaD!m&y{tvzEqGft_W*rwWl%!kr{ zNk91q+*LdGQ6~}GAuV?+ZqH58+DU&xTAnTAOxE_1Zc%%+U6Yk^CO(sX=vt*ZRI}RZ zAy!Fxh_pldsV$hR)N+cGs&}<(lDK!vxKG=;Z>zWCzODMU_OnFp+ww8y$y(uUCY;-qdR}E~ zM@U}<^4L3-df1krohjx89N>;EA$CZ*qLdh(HZ|FQ7k9SE-|#i1inKi{csF=4-yaj{ zd)I!AZP&NRC$=VzU8z*P%69&k^joyw#Yxp>(&MCQTC1�Aa1#qm@@G^&QGzyGL;% zF-7wc*A+VLA*~?K!K3=4Hr3V@0B`MSoBmQ6bX~Dg=;qdbOnMjipCNq|Jc65)3IT5) z>BHpns*HRW=`JbXrqoYKul!u0z!eJozmNh!rF@{>wI{mg%$||WW1HR0p5_~x^P2B$ zUeR3MytO&lyr;RPd0+FP=Jw_z&BvQZKI4Ao_%p9P)AdaBnKRGuMJXkR678)=T93EB z*4ot?Z9UW4*Qz3p$jHdph&$qm+z`o&_#%aoJ0mM1~mQ)Fu-7zssoMSdLF6KRR; diyVryM~*~}M_!9`MWT^25ddEK`9DH|{|%}m>Ky<8 literal 0 HcmV?d00001 diff --git a/FSDrivers/IA32/ext2_ia32.efi b/FSDrivers/IA32/ext2_ia32.efi new file mode 100644 index 0000000000000000000000000000000000000000..b512afe8289a0618e1d1d159380dbff8a177454f GIT binary patch literal 19008 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 literal 0 HcmV?d00001 diff --git a/FSDrivers/IA32/ext4_ia32.efi b/FSDrivers/IA32/ext4_ia32.efi new file mode 100644 index 0000000000000000000000000000000000000000..445b89c9164cb9e9e2f0d9c783a3d9054cb99298 GIT binary patch literal 19520 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 F_!A_c>i7Tv literal 0 HcmV?d00001 diff --git a/FSDrivers/X64/LICENSE.txt b/FSDrivers/X64/LICENSE.txt new file mode 100644 index 0000000000..cdeae2b89e --- /dev/null +++ b/FSDrivers/X64/LICENSE.txt @@ -0,0 +1,47 @@ +Licensing for the filesystem drivers is complex. Three different licenses +apply to various parts of the code: + +* Christoph Pfisterer's original file system wrapper (FSW) code is covered + by a BSD-style license. Many of the source files with names that take the + form fsw_*.[ch] are so licensed, but this is NOT generally true of + filesystem-specific files (e.g., fsw_ext2.c or fsw_btrfs.c). + +* Certain filesystem drivers are licensed under the GPLv2, either because + they borrow code from the Linux kernel or because a developer (typically + Oracle) applied the GPLv2 license to them. This is true of the ext2fs, + ext4fs, ReiserFS, HFS+, and ISO-9660 drivers. + +* At least one filesystem driver (Btrfs) uses code taken from GRUB, and so + uses the GPLv3 (or later) license. + +Note that the GPLv2 and GPLv3 are, ironically, not compatible licenses. +Thus, code from GPLv2 and GPLv3 projects should not be mixed. The BSD +license used by Pfisterer's original code is compatible with both versions +of the GPL, so the fact that both GPLv2 and GPLv3 drivers is built upon it +is OK. If you intend to contribute to this project's drivers or use the +code yourself, please keep this fact in mind. + +The below was written by Christoph Pfisterer with respect to his original +code: + + File System Wrapper License +============================= + +The various parts of the File System Wrapper source code come from +different sources and may carry different licenses. Here's a quick +account of the situation: + + * The core code was written from scratch and is covered by a + BSD-style license. + + * The EFI host driver was written from scratch, possibly using code + from the TianoCore project and Intel's EFI Application Toolkit. It + is covered by a BSD-style license. + + * The ext2 and reiserfs file system drivers use definitions from the + Linux kernel source. The actual code was written from scratch, + using multiple sources for reference. These drivers are covered by + the GNU GPL. + +For more details, see each file's boilerplate comment. The full text +of the GNU GPL is in the file LICENSE_GPL.txt. diff --git a/FSDrivers/X64/LICENSE_GPL.txt b/FSDrivers/X64/LICENSE_GPL.txt new file mode 100644 index 0000000000..d60c31a97a --- /dev/null +++ b/FSDrivers/X64/LICENSE_GPL.txt @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/FSDrivers/X64/exfat_ia32.efi b/FSDrivers/X64/exfat_ia32.efi new file mode 100644 index 0000000000000000000000000000000000000000..d293a24ccdf14e8b7e4d82aab3499bfadeefc25d GIT binary patch literal 43008 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�Aa1#qm@@G^&QGzyGL;% zF-7wc*A+VLA*~?K!K3=4Hr3V@0B`MSoBmQ6bX~Dg=;qdbOnMjipCNq|Jc65)3IT5) z>BHpns*HRW=`JbXrqoYKul!u0z!eJozmNh!rF@{>wI{mg%$||WW1HR0p5_~x^P2B$ zUeR3MytO&lyr;RPd0+FP=Jw_z&BvQZKI4Ao_%p9P)AdaBnKRGuMJXkR678)=T93EB z*4ot?Z9UW4*Qz3p$jHdph&$qm+z`o&_#%aoJ0mM1~mQ)Fu-7zssoMSdLF6KRR; diyVryM~*~}M_!9`MWT^25ddEK`9DH|{|%}m>Ky<8 literal 0 HcmV?d00001 diff --git a/FSDrivers/X64/exfat_x64.efi b/FSDrivers/X64/exfat_x64.efi new file mode 100644 index 0000000000000000000000000000000000000000..5e1f8a8010ceee950fc31ea1d6701df8519f3683 GIT binary patch literal 40640 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 literal 0 HcmV?d00001 diff --git a/FSDrivers/X64/ext2_x64.efi b/FSDrivers/X64/ext2_x64.efi new file mode 100644 index 0000000000000000000000000000000000000000..1da0928d38c0713e4a0e8eaa71d2edae08aaaa47 GIT binary patch literal 22280 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�RBBei4w<>h5nrm2;crlJM2Dk?g_i+r;x%1kc$pMt!Vvu2yz zRaKQ$f@k64SrzkUn+j)D&02t7s)T6^tNn`>RaW`RW(#8hry(qw_fVNIvC?OnQZ{S$ z62VorcwT9lhD4>Lu&UBmR!Yq#;q*^sIUuVm{Z$yCFuk(Ezo5*NS6Nl%U*t19>b^C}k#MP;RaaD9ns`n<{tyhByqlsv74d*N&vwK^IQSyr{UY_`cV%$_4$ej0Ag z5j4R3c@hZHQI7vl@Ag7)kA5p_mjB6Q4xG0B?wgFh{P4; zPt{$26~Yu^pJwp z_9t%LD8rW1FQAnr9`!kK9aQsB=ApeGb^mp~ud>XjjW$=c*-70pfPKMz_JF)+et0@1FR~&u8!H{)Amv-8Qdk zW8?Sng99}%pmdX$Jjr*+b(uduDeVfX^Cl}608?)dtzF%GSJWm_% zgIf8hR{mBi-_Xh(T6s__V_JDpE7QiSRJ^S{U#mUeq?J~!bZF&dtt`>X3a#{OWl$?a zTKS(^`3J51i&nm+l`UGiPbCS226& zl(O=93sJbeZfB8u=D57P+lChZY=l-{IDgL2a+sy+CDp#N1=T~zNey+m$4(o^Z->l= z!Tvw_IWX4&SGcBlP05>C2inJw(@L-E;VWOij={q z%1P4cY@#(IC9Py7)0OEBNxEdgTAR}4))bvVx8n9BoniF@*16W05R`sA6OqsrqSznlooKxt61%>e;Tl8Mhv_Nr*o$APc-Fr>?PcS%L%#8MEwc8b z*Ebomt=9y893Y(ldK!|gdYvxbndeXm@LVUneD=bj{QmE(j`X>C|9@@&MReB4(LHWl zk@tt!c5K}}x9^2#Pamk>u%zdT6I;8F%%6E_-wzLbvG)h@wKtx7?bPj#*!t>Mmn*Y& z%$c`pSZ4h7^PZ22-cNr2!VgpLxbxx1^CsQ<^wWE+-xLk@Ui;)Drqx;Zp4+u-{)PS1 zGfqF0HT~k}M+dzVF+CsOJs^AO(x*z=F8#K7z<{mK_IM&WdHLSZ#q2?MdFE8DZ9O{U zZfjwWooDu~LHM=ou`z4*FWa2-&X}Vw4c@RUWZoXX?Y&vw6ijf>5FeU8@vp-1o%>3T zZ?b&3`0YRav3LJN-A3;iJ~HP|yOa#w_IJF;KKjM*v!7l6*cXeJ+`riTO6oD+W9k2W z%(fzFDyB~%Cbrf2uc`A@ldh9xSY7wE_1cbUn5MU-cd`oxYv0SSl5Jw|3{24BHvGei z$#$1@=;gNt+l>a(qJ~2sN2gT2lJ=h!(7T^55ppVSO`GzWTDKb;;!h zqOHREfVFFfnbHmH{BTX@ha_v46r*Y=^r_Zv9rsBvf&pku;$2db&S6bWNxrq4J}LFe zdP`@;!elnA&`%~$VLua~7losXrtnwgjW^yi*y-r77c>CedxH-C5cABXJ=1YfIYc>aM^6)WGeJ-_O} zF#FkMx7gloST^sqJ3{*Mwq3=)`lfP!&m$)PufME16YbaM&4w@TsQl}Vn z16w&^*wgce^*Hf|UwpB!<-oM>2G4w}@xI)r0|OR6x--%$zG_QPe*T90=ZwhtcI(*D oeaF6#A3uJu-v9i-#lPD2YkP_NySr{P9ItHdo!0NGUhBU9Um}^-rvLx| literal 0 HcmV?d00001 diff --git a/FSDrivers/X64/ext4_x64.efi b/FSDrivers/X64/ext4_x64.efi new file mode 100644 index 0000000000000000000000000000000000000000..bcb65fc0ffcaea918b49d77246a0c31236c5e7dd GIT binary patch literal 22792 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 H9`wHfdAf{( literal 0 HcmV?d00001 diff --git a/FSDrivers/X64/ntfs_x64.efi b/FSDrivers/X64/ntfs_x64.efi new file mode 100644 index 0000000000000000000000000000000000000000..5aaa97aca06fde7ea75f2475f155487b2fa3fb8d GIT binary patch literal 47168 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 literal 0 HcmV?d00001 diff --git a/FSDrivers/exfat.inf b/FSDrivers/exfat.inf new file mode 100644 index 0000000000..caf940cfda --- /dev/null +++ b/FSDrivers/exfat.inf @@ -0,0 +1,27 @@ +# ReadOnly exFAT filesystem driver +# From https://efi.akeo.ie/ v1.5 +## + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = exfat + FILE_GUID = CB683001-379F-48C7-B7B6-707D29454BF5 + MODULE_TYPE = UEFI_DRIVER + VERSION_STRING = 1.0 + + +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# + +VALID_ARCHITECTURES = X64 IA32 + +[Binaries.X64] + PE32|X64/exfat_x64.efi|* + +[Binaries.IA32] + PE32|IA32/exfat_ia32.efi|* + + diff --git a/FSDrivers/ext2.inf b/FSDrivers/ext2.inf new file mode 100644 index 0000000000..67a985e385 --- /dev/null +++ b/FSDrivers/ext2.inf @@ -0,0 +1,25 @@ +# EXT2 filesystem driver. See */LICENSE.txt for details. +# https://www.rodsbooks.com/refind/ v0.12 + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = ext2 + FILE_GUID = 8EC49C43-D1C4-4E6C-98BF-232CA5D89A1B + MODULE_TYPE = UEFI_DRIVER + VERSION_STRING = 1.0 + + +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# + +VALID_ARCHITECTURES = X64 IA32 + +[Binaries.X64] + PE32|X64/ext2_x64.efi|* + +[Binaries.IA32] + PE32|IA32/ext2_ia32.efi|* + diff --git a/FSDrivers/ext4.inf b/FSDrivers/ext4.inf new file mode 100644 index 0000000000..c9d0807251 --- /dev/null +++ b/FSDrivers/ext4.inf @@ -0,0 +1,25 @@ +# EXT4 filesystem driver. See */LICENSE.txt for details. +# https://www.rodsbooks.com/refind/ v0.12 + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = ext4 + FILE_GUID = 9d380387-a15a-4053-ae19-ff3495b6d0d5 + MODULE_TYPE = UEFI_DRIVER + VERSION_STRING = 1.0 + + +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# + +VALID_ARCHITECTURES = X64 IA32 + +[Binaries.X64] + PE32|X64/ext4_x64.efi|* + +[Binaries.IA32] + PE32|IA32/ext4_ia32.efi|* + diff --git a/FSDrivers/ntfs.inf b/FSDrivers/ntfs.inf new file mode 100644 index 0000000000..804f655cd7 --- /dev/null +++ b/FSDrivers/ntfs.inf @@ -0,0 +1,27 @@ +# ReadOnly NTFS filesystem driver +# From https://efi.akeo.ie/ v1.5 +## + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = ntfs + FILE_GUID = 2282efd0-678b-4753-8d06-200d5940285d + MODULE_TYPE = UEFI_DRIVER + VERSION_STRING = 1.0 + + +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# + +VALID_ARCHITECTURES = X64 IA32 + +[Binaries.X64] + PE32|X64/ntfs_x64.efi|* + +[Binaries.IA32] + PE32|IA32/ntfs_ia32.efi|* + + -- 2.32.0