From 1533fb8c6536698aa263e2cff88cecde5b2c247b Mon Sep 17 00:00:00 2001 From: Etienne Rey-bethbeder Date: Wed, 1 Feb 2023 17:08:02 +0100 Subject: [PATCH 1/4] 0.1 --- .env.c.swp | Bin 0 -> 12288 bytes Makefile | 5 +- env.c | 99 +++++++++++++++++++++++++++++ env.h | 21 ++++++ env.o | Bin 0 -> 5856 bytes file1 | 49 ++++++++++++++ file2 | 50 +++++++++++++++ libftx/extra/extra.a | Bin 0 -> 41312 bytes libftx/extra/ft_contain_only.o | Bin 0 -> 3216 bytes libftx/extra/ft_freer.o | Bin 0 -> 4960 bytes libftx/extra/ft_is_in.o | Bin 0 -> 2392 bytes libftx/extra/ft_random_generator.o | Bin 0 -> 3496 bytes libftx/extra/ft_strchri.o | Bin 0 -> 2872 bytes libftx/extra/ft_strcmp.o | Bin 0 -> 2440 bytes libftx/extra/ft_strfjoin.o | Bin 0 -> 3352 bytes libftx/extra/ft_strgen.o | Bin 0 -> 2776 bytes libftx/extra/ft_strmerger.o | Bin 0 -> 4112 bytes libftx/extra/ft_strndup.o | Bin 0 -> 2872 bytes libftx/extra/ft_tabrealloc.o | Bin 0 -> 2920 bytes libftx/extra/ft_ultoa_base.o | Bin 0 -> 4736 bytes libftx/gnl/get_next_line.a | Bin 0 -> 6014 bytes libftx/gnl/get_next_line.o | Bin 0 -> 5800 bytes libftx/libft/ft_atoi.o | Bin 0 -> 2968 bytes libftx/libft/ft_bzero.o | Bin 0 -> 2448 bytes libftx/libft/ft_calloc.o | Bin 0 -> 2744 bytes libftx/libft/ft_isalnum.o | Bin 0 -> 2272 bytes libftx/libft/ft_isalpha.o | Bin 0 -> 2232 bytes libftx/libft/ft_isascii.o | Bin 0 -> 2192 bytes libftx/libft/ft_isdigit.o | Bin 0 -> 2192 bytes libftx/libft/ft_isprint.o | Bin 0 -> 2184 bytes libftx/libft/ft_itoa.o | Bin 0 -> 3488 bytes libftx/libft/ft_memchr.o | Bin 0 -> 2752 bytes libftx/libft/ft_memcmp.o | Bin 0 -> 2856 bytes libftx/libft/ft_memcpy.o | Bin 0 -> 2744 bytes libftx/libft/ft_memmove.o | Bin 0 -> 2968 bytes libftx/libft/ft_memset.o | Bin 0 -> 2624 bytes libftx/libft/ft_putchar_fd.o | Bin 0 -> 2384 bytes libftx/libft/ft_putendl_fd.o | Bin 0 -> 2504 bytes libftx/libft/ft_putnbr_fd.o | Bin 0 -> 2752 bytes libftx/libft/ft_putstr_fd.o | Bin 0 -> 2464 bytes libftx/libft/ft_split.o | Bin 0 -> 5304 bytes libftx/libft/ft_strchr.o | Bin 0 -> 2352 bytes libftx/libft/ft_strdup.o | Bin 0 -> 2832 bytes libftx/libft/ft_striteri.o | Bin 0 -> 2616 bytes libftx/libft/ft_strjoin.o | Bin 0 -> 3448 bytes libftx/libft/ft_strlcat.o | Bin 0 -> 2928 bytes libftx/libft/ft_strlcpy.o | Bin 0 -> 2824 bytes libftx/libft/ft_strlen.o | Bin 0 -> 2480 bytes libftx/libft/ft_strmapi.o | Bin 0 -> 3016 bytes libftx/libft/ft_strncmp.o | Bin 0 -> 2856 bytes libftx/libft/ft_strnstr.o | Bin 0 -> 3088 bytes libftx/libft/ft_strrchr.o | Bin 0 -> 2744 bytes libftx/libft/ft_strtrim.o | Bin 0 -> 3752 bytes libftx/libft/ft_substr.o | Bin 0 -> 3320 bytes libftx/libft/ft_tolower.o | Bin 0 -> 2200 bytes libftx/libft/ft_toupper.o | Bin 0 -> 2200 bytes libftx/libft/libft.a | Bin 0 -> 97356 bytes libftx/libftx.a | Bin 0 -> 5204 bytes libftx/printf/ft_dprintX.o | Bin 0 -> 2544 bytes libftx/printf/ft_dprintarg.o | Bin 0 -> 4768 bytes libftx/printf/ft_dprintflag.o | Bin 0 -> 3024 bytes libftx/printf/ft_dprintl_base.o | Bin 0 -> 2912 bytes libftx/printf/ft_dprintptr.o | Bin 0 -> 2936 bytes libftx/printf/ft_dprintstrtab.o | Bin 0 -> 2872 bytes libftx/printf/ft_dprintul.o | Bin 0 -> 2536 bytes libftx/printf/ft_dprintul_base.o | Bin 0 -> 4640 bytes libftx/printf/ft_dprintx.o | Bin 0 -> 2528 bytes libftx/printf/ft_isarg.o | Bin 0 -> 2576 bytes libftx/printf/ft_isdigit.o | Bin 0 -> 2184 bytes libftx/printf/ft_printf.a | Bin 0 -> 52674 bytes libftx/printf/ft_printf.o | Bin 0 -> 3360 bytes libftx/printf/ft_putchar_fd.o | Bin 0 -> 2384 bytes libftx/printf/ft_putstr_fd.o | Bin 0 -> 2696 bytes libftx/printf/ft_skipflag.o | Bin 0 -> 2880 bytes libftx/printf/ft_strlen.o | Bin 0 -> 2488 bytes libftx/printf/ft_vdprintf.o | Bin 0 -> 3848 bytes minishell | Bin 0 -> 34504 bytes 77 files changed, 222 insertions(+), 2 deletions(-) create mode 100644 .env.c.swp create mode 100644 env.c create mode 100644 env.h create mode 100644 env.o create mode 100644 file1 create mode 100644 file2 create mode 100644 libftx/extra/extra.a create mode 100644 libftx/extra/ft_contain_only.o create mode 100644 libftx/extra/ft_freer.o create mode 100644 libftx/extra/ft_is_in.o create mode 100644 libftx/extra/ft_random_generator.o create mode 100644 libftx/extra/ft_strchri.o create mode 100644 libftx/extra/ft_strcmp.o create mode 100644 libftx/extra/ft_strfjoin.o create mode 100644 libftx/extra/ft_strgen.o create mode 100644 libftx/extra/ft_strmerger.o create mode 100644 libftx/extra/ft_strndup.o create mode 100644 libftx/extra/ft_tabrealloc.o create mode 100644 libftx/extra/ft_ultoa_base.o create mode 100644 libftx/gnl/get_next_line.a create mode 100644 libftx/gnl/get_next_line.o create mode 100644 libftx/libft/ft_atoi.o create mode 100644 libftx/libft/ft_bzero.o create mode 100644 libftx/libft/ft_calloc.o create mode 100644 libftx/libft/ft_isalnum.o create mode 100644 libftx/libft/ft_isalpha.o create mode 100644 libftx/libft/ft_isascii.o create mode 100644 libftx/libft/ft_isdigit.o create mode 100644 libftx/libft/ft_isprint.o create mode 100644 libftx/libft/ft_itoa.o create mode 100644 libftx/libft/ft_memchr.o create mode 100644 libftx/libft/ft_memcmp.o create mode 100644 libftx/libft/ft_memcpy.o create mode 100644 libftx/libft/ft_memmove.o create mode 100644 libftx/libft/ft_memset.o create mode 100644 libftx/libft/ft_putchar_fd.o create mode 100644 libftx/libft/ft_putendl_fd.o create mode 100644 libftx/libft/ft_putnbr_fd.o create mode 100644 libftx/libft/ft_putstr_fd.o create mode 100644 libftx/libft/ft_split.o create mode 100644 libftx/libft/ft_strchr.o create mode 100644 libftx/libft/ft_strdup.o create mode 100644 libftx/libft/ft_striteri.o create mode 100644 libftx/libft/ft_strjoin.o create mode 100644 libftx/libft/ft_strlcat.o create mode 100644 libftx/libft/ft_strlcpy.o create mode 100644 libftx/libft/ft_strlen.o create mode 100644 libftx/libft/ft_strmapi.o create mode 100644 libftx/libft/ft_strncmp.o create mode 100644 libftx/libft/ft_strnstr.o create mode 100644 libftx/libft/ft_strrchr.o create mode 100644 libftx/libft/ft_strtrim.o create mode 100644 libftx/libft/ft_substr.o create mode 100644 libftx/libft/ft_tolower.o create mode 100644 libftx/libft/ft_toupper.o create mode 100644 libftx/libft/libft.a create mode 100644 libftx/libftx.a create mode 100644 libftx/printf/ft_dprintX.o create mode 100644 libftx/printf/ft_dprintarg.o create mode 100644 libftx/printf/ft_dprintflag.o create mode 100644 libftx/printf/ft_dprintl_base.o create mode 100644 libftx/printf/ft_dprintptr.o create mode 100644 libftx/printf/ft_dprintstrtab.o create mode 100644 libftx/printf/ft_dprintul.o create mode 100644 libftx/printf/ft_dprintul_base.o create mode 100644 libftx/printf/ft_dprintx.o create mode 100644 libftx/printf/ft_isarg.o create mode 100644 libftx/printf/ft_isdigit.o create mode 100644 libftx/printf/ft_printf.a create mode 100644 libftx/printf/ft_printf.o create mode 100644 libftx/printf/ft_putchar_fd.o create mode 100644 libftx/printf/ft_putstr_fd.o create mode 100644 libftx/printf/ft_skipflag.o create mode 100644 libftx/printf/ft_strlen.o create mode 100644 libftx/printf/ft_vdprintf.o create mode 100755 minishell diff --git a/.env.c.swp b/.env.c.swp new file mode 100644 index 0000000000000000000000000000000000000000..4e351b5c9b51b62efa40867e91c09e12d893a74e GIT binary patch literal 12288 zcmeI2K~EDw6vqc{tD;1Y#xRtaY!|w10TYs1N#tNm&>LK^X_nntI>|C6yR!vtP@{=Q zP4okJ(f9$p`vvrd2QhvF55_NG{7<{vLLkI&Bff=ScIWN9H*bD(YTEV6>fL*M!L2e} zmYQfDDiUGC&5%02w%o2K3eldxFMCv*vpr4)8pZjq`gpq#GF^17v^gE!zccnUT^02<&nSOj%& z6V$*pa21>fqhJJlzsT4}@D{uTFF*&Zf<;gPE+_#8{-CFyU>|$~pTQ^a4!i;#kbq@S z1umEbW-q_7ryqbWGC&5%02v?yWPl8i0Wv@a{tpAY%!-9hW5w-CvBs=jhQFgh%ktAW z7E1H_k(WmT?7(cE<&|zJv7@no73$_zER_!J!u8~VD$ES0_-&=JhUufrtnHSJ1h?~r zC+qzF%JOoN4O`)k65CDu8X5`N6R&gpOj?_u4NNJ!)0RQei#N=)!N9LEX6a@m6Ky%! z8hGE2aA#P#%g`*}^rW)Q1M2u_x#h*&F*Vm3`N%QrG5E`j+AZM)rh!8W(4g4{!j=~V zO{tpgI1q7f@(f3bH90-qFlpKTd!YulEs$?@UIb(uNl!%hc>X|nQTf_0qIlvI9{27(tNxgP4Ba{uPG3I|?6y$SpU D5r{N$ literal 0 HcmV?d00001 diff --git a/Makefile b/Makefile index 3ac1765..3b27b6b 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -SRCS = main.c +SRCS = env.c OBJS = ${SRCS:.c=.o} @@ -6,7 +6,7 @@ NAME = minishell CC = clang -CFLAGS = -Wall -Werror -Wextra +CFLAGS = -g -Wall -Werror -Wextra LIBS = libftx/libftx.a @@ -16,6 +16,7 @@ LIBS = libftx/libftx.a all: ${NAME} ${NAME}: ${OBJS} + make -C libftx ${CC} ${OBJS} -o ${NAME} ${LIBS} clean: diff --git a/env.c b/env.c new file mode 100644 index 0000000..cadd04e --- /dev/null +++ b/env.c @@ -0,0 +1,99 @@ +#include "env.h" +#include "libftx/libftx.h" + +int strcmp_alphabet(char *s1, char *s2) +{ + int i; + + if (!s1 || !s2) + return (-2); + i = 0; + while (s1[i] && s2[i]) + { + if (s1[i] < s2[i]) + return (0); + else if (s1[i] > s2[i]) + return (1); + i++; + } + return (-1); +} + +void ft_double_swap(char **a, char **b) +{ + void *c; + + c = *a; + *a = *b; + *b = c; +} + +void add_sort(t_list **head, char *str) +{ + t_list *current; + char *last; + + current = *head; + while (current->next != NULL) + { + if (strcmp_alphabet(str, current->content) == 0) + break ; + current = current->next; + } + last = current->content; + current->content = str; + while (current != NULL) + { + if (current->next == NULL) + { + current->next = ft_calloc(1, sizeof(t_list)); + if (current->next == NULL) + return ; + } + current = current->next; + if (current->content == NULL) + { + current->content = last; + return ; + } + else + ft_double_swap((char**)(¤t->content), &last); + } +} + +t_list **init_env(char **env) +{ + t_list **head; + int i; + + head = ft_calloc(1, sizeof(t_list*)); + *head = ft_calloc(1, sizeof(t_list)); + if (*head == NULL) + return (NULL); + i = -1; + while (env[++i]) + { + if (ft_strnstr(env[i], "XDG_SESSION_CLASS=user", 200)) + write(1, "", 0); + add_sort(head, env[i]); + } + //current->next = NULL; + return(head); +} + +int main(int argc, char *argv[], char **env) +{ + t_list **new_env; + t_list *current; + + (void)argc; + (void)argv; + new_env = init_env(env); + current = *new_env; + while (current != NULL) + { + ft_printf("%s\n", current->content); + current = current->next; + } + return (0); +} diff --git a/env.h b/env.h new file mode 100644 index 0000000..49ab8fb --- /dev/null +++ b/env.h @@ -0,0 +1,21 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* env.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: erey-bet +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/01/31 14:39:05 by erey-bet #+# #+# */ +/* Updated: 2023/01/31 14:56:16 by erey-bet ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef ENV_H +# define ENV_H + +typedef struct s_env { + void *ctn; + void *next; +} t_env; + +#endif diff --git a/env.o b/env.o new file mode 100644 index 0000000000000000000000000000000000000000..21bf7febc0686db59ad68316eed3065054af1ee4 GIT binary patch literal 5856 zcmbtYZERat89vw7*S?MuJ0DBhv33a`6@pSH={nRwx~A*gx@kKQX-mph+#APE%p5!O zN16>fiqcN=tc^?v#3Y0|32EieG*KZ&23`6gnoX$tfdoZJQ>BIxGX&X>PMsJF&wDLGVpVcIVGIqMPw(jT4e%1o!!C3jvvGVby zSh=(qn?An8!Y6}JW4Xw}ry8-m9R2X4<>lq-t9-pcwy{cdDVEs35I)yv_s&g!z@Cm? z51(uonnj`U+S4~#`1^BEJrlit#t5IXpszl{oFU)WFotqVO{#RpnAWut}NV8<%xYK2_)ERr>~L-e49 zYe~~@Q}F5qq$sGA%r*2xSRxaCA5K20EV%nq_dtA|%0AbO3-=x?pXVORF)BjlA;Rqd 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 literal 0 HcmV?d00001 diff --git a/libftx/extra/ft_contain_only.o b/libftx/extra/ft_contain_only.o new file mode 100644 index 0000000000000000000000000000000000000000..417b9666d00d28ec0e11e3f77a3df64c763cbfcb GIT binary patch literal 3216 zcmb_eU1%It6h1Svv%Bdg`;$oRk8Sp$q9~b7()1y=v@2!pHnctzqQ2C1e`a?FXJ^aK zOxRSTg;Z(GgDt)&z6d^8M5HJb{2@kLsfrH@KIq#%D5M}XJ_v$=c+Skdo7tOM_wsjg z9Wv&ZbL;u#vz^3BD7yF;BrYEjz{JYgd(+<}E)ODpC$~X9clY>vI{C#_DZiBK+`YNE zxrs(9XF0cV{#If%>*dQY{+_0U`6YL4$Bak4XbWpwrA$TF5Cf{`m4D59qbF~E@pk(B zEh!~E7#~rUc=G=J@sulr6rnnZ0%I|5awP;OdI(Xa|l%beHBkg=+E zrrvDmc1CaM^J695$vCazT+wZ3PP#4IwWlUC4Z||*x^9{o(SX76? zGwQ&Mnw(MPV`?N^S7Qi7X4KS-8b?9Hdr|vLm2W<)O0EiTpxd9@+*0Va58V#Vs8RI! zH0UD_;0IAHJJI`S2*Dql{p`xt{q8X<~N5aBl)p z_Rb7BH8hD!qz@TDGmpm&8~FAR;rrszF8o!POpI4Txc^T0#$lfU$H$nyJAiw$$n<>y zoZ_5d`a#C&`??2?@}oQ8(+uZ%Utszv0e_e2vjYAB)4dCaGLOUi;=Nsn^Llt+7lb&k zGksaWdEU1K{9C5KC*VBq#{$mdej(u8|2qNyis?TJ_zk9~8K)ix`GF|2BnG8lHjut2k# zj;@`0a(2viisk1)qlcwXtW@whul4wuhNUw=uNSJVVnY`T#WzO7bWX8^e7-^af1uAX zMsQwu$S>Jwf6oENsh>eQgbHDN{*)s=jZ$pH1zYIW{0YAN5;7y=QJl=4sNaWyA*x)zT;yTf-^~R>dgNcQUb)k zpF?k>(64`OcK>)^sDJd7%Q6rSDn+D_bfodlKeR{|7~09mJ{K!H$Ffy*XJX(<$?Kv}Qjb!_3E;9Z9R zDipZ}jAf|^1tFmdE)@b%sh6k{QbYxX2K7?GrJU#iBmxym51>d?g!g7=9A|J3h$B47 z``-KB@BCzD@=9!Mhb&2ilSHW{{&7mh=W);~Y>=gNxK zKX;I_V}~g_`T=D}j#D;!lCt_)$|~o9jaBPQlvS328Pz&jK{gwtY%W6Cd=IcgC$&Qs z6xaGHQyAY@rl+A6WY<7^cdLL!6 zW#e@09L}0ikDWK_^0#d>SWlB6`qX0QjQe8CTKN?oQLV(GRxNhE zTFHV?UhdOgznQw$sbLmTW8!l|*&Zo>9;|j6)yg8MQ})M)j-#cB6_S^?;G0 zqfy)X6S#V{%O@qH8aub>V3)6+!nNK1g?9ZxbfD{9z5rbxST@QBmWftT0bbkz9~k5k z`oI8|joQv7qdc@gv_m&GL$#p=UI^^8(9+@=EL1zN>{-gEB3SMaruu(>{a5yv)G6H@ z?pBp>x(QLYtWo_v5Eoca zM!LNiLV_EK65bXHg$QZ$a6;N831dSyfZyF1rXhr}R3D1QD%Bj6${99{%Z=?T;%%_qM#<4NBGQ{}hfRO`IxY2#GuLYtp7 z5~M+82{tqmYuG|4_H-wHOVGuR|Y=xIj+zA(lG1KLv%s>R_$tNP(` zNtE(#sdpl4$fjdgnxasB1pl#9bBq`TS6>YnyPmpLn(VDhOGtmc2MW^I!*&NMf@);*>XS304CXsSyqV^2XNndBwK(cOL-?VnYWX@nY>G!%!{_^l4*-fPML*N%CTLt#v#>!3oyD= zw(z`Z6(`|mTcl`DnvOMXdzxuZTV^)nxTb4O64TtiXV3P1=3^sI#>~g}?T(oyV2M%& zTF!G%s7oVAhG63pX{!jw=|7oKT$U^F10=n;he$IK>6&$c;9*#zYXQR_67DmyJsf#W zez3!@{2+k~wGB}#A-HoJc6kEL)c!QHw~D_9a{5RTJS0i_Biw-u%fL^HmYgCkS~Q!T z&JAqZOl7)BqTc3+X7Ur+Qqm@k<$_HCIGUX#!eiX{zwE)aj?s9>R z16xyGZiAWfM$+>8F`zzjaix_}A&psBV^-Kw>yV ztZBMe04p#&&RU{-1hD-K2S$nGXIMNQ%W!p&OYo#X+QQ;R{E^Gxx1l2tG8`SxgE^7f z;nz5lLFPw4;w%&-9Fs>JA7J|WCLAA5oUUd9_utC&4UFUPnpfxc%i#Aioab?w{*Zuw z#PmG^{uR^X0=|RIZ;s)-AHHrc3I4A!y&~XvJs`d9F*=_(Z#@6|4Cndz`X3YgdHe|h z=i|bCg~aE9kLz0xZs5G`4+8!f(|-|g-pB6(zKxBG|MBsmW_dRX z_<4p83i!_q9}@6O3?C72KK|VT&ik+ge2nS6EFbQ{=6yIU;Cw&C1)Q(ra}39{&3XI* zq9^S{32whcqG(SOy=Z4G-Gxh;=o5up&V~z>c{py7nZ1ZiK2;!kzTn#W!;kD8a9nHR zS)$|RU|Pu}yc#AO_rU6v&7TW!p(a*Qud0_eo5|a(j-7_Lg_VQ10K707$>37ap%=Ve zb?1eg_&i`E{da5*!kf<hr4lvG^tAXPEjTk?_xM7$H_(*Lg@r=eNxZpzF z7jPp3#pxH`ZNPCo>C+83KEaW&w%8NmRhIM~pTo6PB2cakwSK G`hNi}+1#oC literal 0 HcmV?d00001 diff --git a/libftx/extra/ft_is_in.o b/libftx/extra/ft_is_in.o new file mode 100644 index 0000000000000000000000000000000000000000..f00ec7d4e678e1d0fb8ffc4c8ced77794dc7d4b9 GIT binary patch literal 2392 zcmb_dPj4Gl5TCc}b&|UEIthPTico~8P*r6&4MA!PDy||^7quKf=>>tccGmU^dtL3H zkQTKRN>D>9)JhyU@B#W20I5Ra(0+y9xFETwhFc{nnVH=gXS0|C5+l7gGryU6^WN-? z{YCBkyP8rUq~J8{YJvj%VC>4(M67~|o@@2(KdLu(>f2X$Zq}YWs13|pIR~2eFFZN<(A?UO_=DOrO8EGB+-}u|H-1&ywc+ERMxzm05JT|U$G@pr zb)-CR=;g|bhs(2St_Yx62+kF&2leu)(p#n151pHT=MaEyfX2|dd4R&o9@Tga^z!La zsRU3ofgIo(t^y^3>Ez{fsee)zAx&UX)J4*i>Eo_zcQ2({oN9wqyMnBs-6eNWv*Za$ z9gRYfOo?2?A~s_`iWgcv$L}m`xIyR*{DtGo){?cf_(q%?m+HoOsh-je{@_SC;L*=X+t-?e*-Q*K9|dw!4Ww<72?{ zBM74aT3rV>@Zi5)hu(zrT*^RQ`2f^rMIGKhHGK!m`7+|Ph>|j#DObMHRu2@l7J2|C zq~gDdyHe_}@&RJ>6>zEX9r39N&5S>QZYra&?~ySR8C$_zC-$h!x<^(F7CdyB~aySx3tx(gC}20_lL=mZMXs&t=X}YJ-@Z zun*;I7HLYt(`H2hX)a|T_#*2sWbn-B!b=&P&N;#QE6k}<<0_+k>|gMcj7#2#^|Lvg z>Pxhivhh8?Wu3q57{ASUGC(NH`BxeLoVnmztS>O9yJzojGoF7JSnF;x?lhccGjKP+ zif}5xY7P2*7w3VEG!|Ci_8itdzdaZ?C0PC-a;>xPuPug=)A|&wUT>q{aMssxemi^O zdY%hCu`XO+uRvL-uJUK{!-q(&VbCl z93k%)JwRbn{T?zXb)x#s;F5U3+lb}wgb-Zk{2fv literal 0 HcmV?d00001 diff --git a/libftx/extra/ft_random_generator.o b/libftx/extra/ft_random_generator.o new file mode 100644 index 0000000000000000000000000000000000000000..9817b916331754962ba1e645cce2d6e071b1290c GIT binary patch literal 3496 zcmbuBU5Fc16oBu{QsOGA|qAKC|fbzgi@3sMDZk+y2FslI5buY~DW&dj~LlX3PzJTPzh<@8%w4VJE^1e~ zU*`TtWD$*4ZlO7|u$(^I2ZnYdw}kM{1$bS>nXU|MC%&WB%FS!dnRya&Jp*3tnFX!w z&R_25&Np(m0poZbPq%X&h`*+_XXd?GwbmC}8|)`K>E1fSs0)%z$e7?NAyc%1?-ouO9qlfQiZfSqq(^^NDzHyMx6)) z!Xv36Dy8~2Zb=OYgEApv8m5yTCQ@ooGMOYKrhwC+oZTd)o=iTK+`jq1&@-C}p_GUW z9T*}+9_upW8_0nnKY)-#8VnfpOL$`N0P()jIk=EU%nVcFG&Ih+|)b|^bWcDi0?=Jipq#+1iN*%|jUJw9QWhNU|VODPi7 zEZb_OQ8#SWu#A%<1;bGtOP|u+X?34#*{(e{s@AJ!)vg$|np&$C%FeWEOoI<`O}jc_ z8l~Z?=|l}rY7JOdmzP~VWsEz-c61BhjY(225e%zR7n$@aVthptFMC~8a3t~H^l2KMFelh3~k)cRwfyR56D3ucm z?UA3RvYe-qJVASI(zv`plk!18$2=6j3FdAp=7GFRV=nD!(v9*N+Lx!v%T(M=H_H{e z72sagk33SBBz2&HWiL7j+ zt6O4+stbZ45gJCGEfM$t5h4++aNRNoW`8&GtoPU83h=?eI=ycX43A*cI4`cj-&=zZ z0!P6#dI!?82ziKUEErI;$lp*8QM}^~HgeoG=PtBSkYgF*{B49F$a~@8{Ck8T$m8&E z4)xL#^u<0dytE+?eg(dM&PQ0l2BwkoF%dlw;5g1cW^ZL0^AP-1JjOU5|1`6AuHnBo zdy~!>`K|A%30NCqw*OX1^KYKQNo;pRfN%#_{)n!Z}uNln;Hi z!snR%afshwHeW9v=R3xSnZ{fO^XXkOz`}V>Cf4=FiBd8O?!>rWC|Jf6Q7ogTD-M)t zq7)nTx&alIdDxB>RjXKtKT6dsH%MdBFwqkNYS2>5hGQuEj~pF=;$1vJ6fBA3dZ`4r z&O}$VSIYer7?ts|rPmEowhV(S za`S)GHxL{=uY9Z-R*LR$z%=GND0t5x3!V+^&*BS&*BRgXcdfzyG{N)9{qC~Ed5!_B zQTY9Nh1|sWPoQ!BQD$>B#um!YJLi1;LCxFT2X&UgdJsZ8?7KgLVaNsM_%#{<3CBMR zeNp?LWeM%D0Ng*K@cy>}Lzf-!1jS~D<>w%THlLqstYcB}N7#=7?~S1FIIauO$=gA{ z*P?z@5x(#EY?3W^Wr$f8ziWl~4ZeSl&qE_Be;RY-zZ1+K-akB^^RvLB)_;l3|0nbZ zCG0y3ol*0@8ZkfK;^Fx%VA7%G2B=whR%DtvvSYAvM~COX1rg!g;UJgTqIR(WRCqsz G=l=)&=(Y*~ literal 0 HcmV?d00001 diff --git a/libftx/extra/ft_strchri.o b/libftx/extra/ft_strchri.o new file mode 100644 index 0000000000000000000000000000000000000000..9047d037bb2761dc3b20d9643cbcd3176f7ea8cf GIT binary patch literal 2872 zcmbtWO>Ep$5FXq6oXy|vCZQpv732UyAl6Pos6weqP_?jG3J0Vhgapg}cy|q6Z{(k7 z6R8vwQY9^i1c8(TNR6P95>ZRS4+@1W=rCmrb z_ah zuI6rUO6g^W{+)r4w4GntlJcv$?VYbN|6$57s&n$B2wBbTA#?AwpQHilq0|slQki>C zr3R!y6+liSOVQ9Xs7{Y4sk6OL^*(%ZX6WgY00{;%hh~NV*kp&P4#Uh)7y!`qASkKx zy}i8v$u#1a^afrDybuYB+82!Dw{H-T6@ii^y-b#rZs9#4ug`_n`=Lc3`quHz|N9PU4HCy)R z_=Gm5jb$JA1LyeL6KG9pPe9Epx}H;MIHpzs-LAQMqt!HA-EfSBY}xR1&neB9{I-6< zcU<3{oY0%5ZMqG^vUJNV*SxlFw2>1@1Xc?tHf;}zMb|YKjiLt!+H;`NDB%svkmuX3 zS+|X95Ww00?G<Mmp8km0ZKMI*mA8B(x&%Oe%9lzR<7AUm*kFQRF1x zTXaa0^jE5%6fH4clJ2{XZrT;guNr!L>P+#>WY#imzn!hyzFsyx7yg~%E^r3cO1G@} zW_Emn>ZS*)qlc>^W`IZ$aWzo9g*n638uTn;C7rxT0B3)KPtLvCM=;a9nRC5FGt?GIx3b#8wW!@uYD zXEFQ>ZjW+JwTaf}M~=tq23pl9`}Ja}Ty~6k&^$bEK&!NxO#_b@?!+?;G{>+?+&1l6 z3pBgs8QOC%&SqV&RCz1XU7%4f7E9GCo{sg7NNjI|14g4*b4pDk5{PZ7;apy+jC!F- z`v1xrCW!7&k?%LYfv*dI>v#*&Umjs%zYF>_ABcVsct#Akrr3B+a^2p1rj#G`#E=o#K@8$2MzdGsMbG7>7Fej~~lw}letqS#jg7xN2EA1uek z|H3yXyXCKjpN*f5Su$f=bK_GmO#9}fT_QatKTNy5TZ_0zizxl zyucfX#h(cwnBwzmF=x!gfAZt!-#TV~I=$ob&myK=+^27$cknt8vHt}?&rcGce*>{2 TwL`4Ii?T^UC=^GJ6rcZZzQtPm literal 0 HcmV?d00001 diff --git a/libftx/extra/ft_strcmp.o b/libftx/extra/ft_strcmp.o new file mode 100644 index 0000000000000000000000000000000000000000..00230614ec7ce4b3ce6f901d2fe85cc7bfb1c0ff GIT binary patch literal 2440 zcmbtV&2Jl35TCanCW%w8;{=)#ghBy9g|bf4Ahm!>s$%L&EeAw6fKasStYeGyI@*uO zZAFU`wGbjfdMHQ4fkXa=NT5g@T8{h?Jygx1+#+!>GwXTY^~x1OjP%~j{O0TJ?7ZFE zm8%~rLVzRz7a-9j3h+=*)YU@q!EhgMcDIQpBgE3B$u(Rql0q zTGZ1v5=~R?xv@4uo)EWL*K#+coWma5krzg@HP`aiXEz-`XturCg++7ToS!=z#m0qO zi>NJ`Z$mv?4MM-x+AwQS_Ub{o(QY|G+3}t0bG8$fL*Lr8qE7ize=)1f|7*IzkM-924Vr{2RR|Dh{C=wqM79>oJ)F%<>#_fkD$-$Go2zq-TBYBB)> zW);){T`DTzm<}NoaQrfK2K7=Zf7~m?WQH-6(^ce@65g9$6p%_i1`?lR{e={sy6W&^ z3a32hS$~;1b*tZWl;3&=F5_ffx(Gy#y*}XXHa&*{r?Fc1t(KD{#$h+HQfS%8ueXT* zf1*C7=SOCIlZW9a2{6yz5(9C<JPL$YSJs zn!zm@$UN(N7V-2wk?x1wlye+VU_bmc#Wc;F?gP2V`C%A-;kZ2sFqicur+?zG_$3}r z^IzgW;P{Li*y-U;8D(7w(fM=X0L zgy3hcPx;f7^|jGBtbUQ_SJt8W^mWbF{{%7hYL`AEU*qbNoPP;WJW;m(kBDV^M}E^h PKl`L0Q5@ZoZ2f-#7!va# literal 0 HcmV?d00001 diff --git a/libftx/extra/ft_strfjoin.o b/libftx/extra/ft_strfjoin.o new file mode 100644 index 0000000000000000000000000000000000000000..c47d615a4949a8cdacaa8cce000f4f0340c7786d GIT binary patch literal 3352 zcmb_eO>7%g5T5n=Z5*eu^G9hZKPd%q!RsasrE04-P(n9pgDOx^TZD}5tYgD^U3qtd zQz=l%1!5vlDh@3Y;s6JP5C{%PJyiuNQaI(9V-A24i9?W(hy+rZ*?rI1ytw(Y~n<`|2=sA#=iL{A$#HA2u4Z>qf&{HRfm6 zSIKWQMsA|98W{7lHw|Ucs4ptlD7#=R8THvENWRrc0gEFW6u9-MJJiI%jzb-f?Huhrx)UJEAi|;1 zUH~?<#nh5OXxk&8CXRG;bO6M*BNC**q~G8b#S3x&Rd4fk`F0$A5mlgMDKCpU{e;TCpz!4I+5RmXFN2Giw|U2=-1Wu>iBuHe?vW(_&vOpq^TtKbZP zGYBQHD%eNKb|I5-oYHwS2d-M^EjCKdKT{4dt4jj_}M+cU;?FR+2b zEH=ipk6Bzh!8GkOQ?)4;{fV{LeT!*D7O%5T42l23deD6sjVacJK<5~X`q3R@7MEP|e>cIIvgx-mf?(z->0_!vt{IWU8U6zmPlP;Zo1(N09-xR>-aErq_-DEx7& zl~aZ0PHb_j{M2m$(NKdEAj62?elkBmR@ZGzfGc;vk0Ra^>c{_v5Ib=P{ym73(0rhg z{|`+=l!pmKk?|)3*vILp3jWm)j>D{p@8(-ddBQm9Byqf&LkD%S1B6qIkRGlGJjLzp zA)E;^uJ?s-%5#X@5Av1T3ct0-?|>iVxTyO&w+#uOY+U;@!#imRl>jE z_5}$S1M-rD*SYwQHbHnmKPOlg;I- z<}~P4)5_{Dj#JR{m2%m{naLSAqq#eXDA|Qdc;0Z`GHuZ9ifih}pPNWIZZ`iK=$18I z&SWPi@rPh)OA?%LCI`%7rclk6O(;}Nyt$ct*0L)3a0wh~I=10vbGXiwY5ia1Ys?b< zjz!WJVu5yD0DR@gqKVS)0b$}?2*)s2#5oqYJQL{8L-@Qjc|2i_1H_~E%G-h+9H-iH zPvm-sgJsSWi_G1J4jCivpB(&F1oBnp>WH`Me~$Nmg$Gdobk61e_aH`;y?BM?bN&(2 zf1t34`eLPd(JKBdf2q`8SVWvyC(tSMFmJBaN6~`Y2(WYEGe>zu`~fmTBA#DB7g1@o zfBl>&-ZSkV%_b2q@ET&R`oGTm&qz+m1pMRBvi^Y<^=Zb-^-aXolea3kT)?X-r#Mk; dBlS-r*T0IGym!Rw=RXSTWS~$SeNuA$e*yd`zSaN$ literal 0 HcmV?d00001 diff --git a/libftx/extra/ft_strgen.o b/libftx/extra/ft_strgen.o new file mode 100644 index 0000000000000000000000000000000000000000..19f5c13172c23f09e4112cd4aab7ce217ec03ab0 GIT binary patch literal 2776 zcmbtVPiP!f82@HwXR^&EyPKr+j}=|8qJo)8(g@mWyHZvs+v-7x)I*80yR(0Ac2?$3 z+!kWRwKZv=G^pS~y@-ehPaf<^3KfIrUUKk|i?9U`dTKx+e&5V{*~#nnAb#-X`+mRg z&wKOceQ&Om&c7l{5^#~=Gz<`D0k*V(U5v~kIVZ{V`Kq-B~T&H`l_xxxUgj zdz;cvRHjd%=2~gn?5%7=?&>(f&C(9h_ZDKXMZjDyZJDP^{ao*HMAsMZBe89+zqYk{ zFdg}NwSk~iLq(T6c=#%K+dDsQ|Up$UpabRj~McNs9 zcn#att6;cw-)MH)wr|*;eQCO42S(so%U0Mm&W4^J`tx%}yXCh0rtLU})2h^iu3>jE zW>5#JP0NESIJOH;2UiffeyicywL;4cz;9i)mjdX70kq)1tu%VegV7Ur@bViVb@S4( zv61vm`~r_6PlJT^8D7rjugPb}HTecc0Ng<;1#jU~lBB=0zJpLNvYeM|j40{6qEyF#5zryehf&YTx&jkKD!v&`4U6b!y zXS}!%8t65<5;m5sO2xC6LHBIO(gW;y(5szx+s2+|5qOO-cbw63>zzTvfbMnzTYvTS z#c4mVs_%eK-L_=aYIr|2_9Z$k*Jgy>T&jCk+on2I%W*o@K}Bpq9p?xEn!(%%}ncg65qjCekgOD2DRPIu85 zwtqY9GUMNw_K)rqp3iv)IdM%$!JlmYO#%rKV;krjHh-QSXg&|kPj|C8KmB2q^Sd2X lAK=)Nr&&IqkMc=4juF5&Xo!19zFVv*ZxcYFJSr*9|1ZJkDkJ~^ literal 0 HcmV?d00001 diff --git a/libftx/extra/ft_strmerger.o b/libftx/extra/ft_strmerger.o new file mode 100644 index 0000000000000000000000000000000000000000..b477be0ec4157b5c36f0b6f6b833fec41003bd32 GIT binary patch literal 4112 zcmb_eU2GIp6h5=Fv%Bq%gXL`;0a2O}gV*62gyUp?o}oie>G4u z<~!#*=iYPX-aBXJg+%XzK1l*sB-jDhESCj{HeJ)>OpQYnBm4F0kNS&0gAYLMnmX{$ z{Jh#VIl|z~5eBD^GdOvQ!Ngex^=Sr`8HCe7Sq78S45nrXx~Aed4OZC4;LHIAr$-p?eF{9V(QD*80^F;lHPjmr33r~1-*a@Ok1 zF+r?8^tmqYjE;XEsy6G@ijLIPTdoD^wMRpGbw)?OUL}=9;4@L6UIQe0NTZstd{kM! z2T<|mV~z=8g?ybzx%nt)X+Da;bz)g+702qif)!%!#6^Al@T^ZgcAiy?X0;Nfc&D5; zR9QLeQ1O<-923L}<%E!O%b}p9KdoWX;ya)H*$O$H#;$V^&Z;F8daZ|L!8rJ{F2^-{a;AU()viNB1fV(u8uTIEdcHR!wtqgJ#^a)iPoD{$nlR!X}CO_e4Jhj*X~|KR1v3#VsqzUNJ6 ztaDo_<3r$e&61uVT~eRNyWe+W#IasRP<$u)nAQBIW9iIlp-A+_nbk^G0D|KPboL=2 zHB1nq_%y}@Lk;gb1XkO4maE~{dUHOJbKj07xdGf zKqv_PgXMxvUe`>rx`ZhU?dTAQ`IA#EEa+sd0(#H01?%lc1cx=~G3FGm7eF?)rZm^uq z+1Y{{iFw%wD3)!o%{*@Qe_AxSftDIYI4m%>NlHzOhz3;nGY4xpZ4am=g&dIATBG~dO8({!J z+3?nK{3Ru{T?q^*&4E3N4{>E+Sh*?ip`5`f+Akv5a=VQ%Ah%yq8n-K<0SuG_yOpNE zJ|&0){DF+p@HMKtl}4IFK6p-Plp6+cw%v*p*yE$Ma4TJcZy@7`U+0%NkdUcMEh92- z1ENcYphz)WhNZ27-r(pm(Y@EpbIG^I^#^1q@h$Zkb&L0){3b$Vo_;Aiut^Wy_`qjXJk=h;<3)~Y$09b-e-#00%(PzZE6oa z(%)UOlS9vfMorI1rc(H|$}Ae0%N9&dn8QZeO6E;STPEHXf4MZwZzl&qD;>-e{x9+# z&f;{g-*6aemmSe(FPF{cDk< zIeYN(io%=LW+9<#x=8(Ox$*b%4WWMR6?dGAPomS+y>S_FL%CCotvTaIyzdl+4)gI_ z_&68b=XdR6s4TaB9sK;c`%LRcJ<=WT@`sQUYeEW6@%*<5PQe7~3(MuFpKcO259OzC ukeEM%oZLHKL^y)ig7oq6?z+%;5;6bB$hk2rfZwM1C;U5Z(>Qu0G5^2Cxc>wI literal 0 HcmV?d00001 diff --git a/libftx/extra/ft_strndup.o b/libftx/extra/ft_strndup.o new file mode 100644 index 0000000000000000000000000000000000000000..18668996e1037166b86c29110f70d90512f7f8d4 GIT binary patch literal 2872 zcmbtVU1%It6h1Svce2?eyPHj@X=5dz(ibzki4kfOW2CH3x77zB5(*{m&+HHG&W4?t zkQ7pF*OqJ|VvB+gTJb@&_~4^&A)pZJi!Va=F$hWmKE#(2QHbZv+?!0M>w|dU&N=5h z-@WJlojY%*FTE^F5(trC8jd`H0-WtSvS(a#2I9z^)my*n&EHdcYh_PwIXn7#dM~yC z&3%a7>_eWumEI@%?x*Ceuk7f}Eop-?>=3NC(%X7-Wjn~OQ*0~Ub~!ktzW!=Ew$U3N z+id;`tLX=^cca8uPq+2S^iJ%~CSq&p2VY6Cn+yZHXS}G}Z*4G)#BCa4)iv9Cb5p|1 z?cL804i4N{E4`0;UvGY&y7HaWFFhR{U`jOp*l@I8N~i#G32kjqVZeu`94+t2^j#tAQXbj_?0B-uV^1BIyY=m(yy`;4QDPEPBM(`hYBP0;DQbx&?z2HP!@?P+-enQ> zB2(2lHxRndx|_(%uJ3po^ttwk8=Nn52qJL$SH1! zan5o739e~t{k!zczu=;u7-y05bgl({i~H_tfVRNbI9>?wzuf4wD+2lqh*tzhJw(tI|TYZ!~5HH>Ojv++d$EnlzI3@mugz*ojs zKb+}xu9(F-XlC6uv{zo69kuLi{w>g`9Otuz0={3RWAtjpG&o?C=ZlSO&7hI<*=n_( z_vOGE)iA4_&7oedk^aB(84lpTe`35Azo6d;fa_pM()&f2xX*${m=aO zT=3c)9O3}+==|{Mb4B2kJ2)pI405pMvX4GN?lgvi7_qN&@ROsit`+1yk7%d)?{Toq zJJ9^8K7;dr5;3Bru=(XQzpP*TL9|7Fp{dS0_5XqQr+3LOqMy(i3<}%Nd&v9yF|vc) zYaX@`r0;X!Y+wMfegQ9|(P{tY_=OVZO#4S~is&zJI^W=&5P}rH)W4DAlOVT@u}=9H zI^?IfIhg-4V#=k1I;wZD9m*>2FY?j+Nrdlt0AHdJ+&hX5@kwoxgF^ji$YB0|04CN+ A8UO$Q literal 0 HcmV?d00001 diff --git a/libftx/extra/ft_tabrealloc.o b/libftx/extra/ft_tabrealloc.o new file mode 100644 index 0000000000000000000000000000000000000000..c8fd1613deb736a1c477b7dc53e8287d78ee2008 GIT binary patch literal 2920 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 P7ZfN?2H4;yp~n9Yklmcu literal 0 HcmV?d00001 diff --git a/libftx/gnl/get_next_line.a b/libftx/gnl/get_next_line.a new file mode 100644 index 0000000000000000000000000000000000000000..713cdd5792b07a91d6c16875e0daff5e6c418692 GIT binary patch literal 6014 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 literal 0 HcmV?d00001 diff --git a/libftx/gnl/get_next_line.o b/libftx/gnl/get_next_line.o new file mode 100644 index 0000000000000000000000000000000000000000..9d2cf9aeb7789d5c90a20996397f02824286879d GIT binary patch literal 5800 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 literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_calloc.o b/libftx/libft/ft_calloc.o new file mode 100644 index 0000000000000000000000000000000000000000..692fcbf7e75f193f8dbc2c8941dafa9ca563af45 GIT binary patch literal 2744 zcmbtVO>Ep$5FXoWC*)^$lR#)Gpp^;&fnq0VN()6Hs4O^X;D8jABB6ADyxCQ~-fC@! zG?0RtQnU(G$%&r0aOiguC)qRe%{OnJ z-+MEDCqMt9swg0a0@Kj31PbuE(a~ojbq2D?T(Da|+Z(^;?AH3e-3r_G#`->FZaj_@ zdo#apXLj=KiQU%s_8;NCeJ{fmcC)tC{dq%O)J=>SHfD~+gvXB0jy!i9z|cWuXm$jkXX=Ov*Dx}L4?u6UTLY0U zzqS!jPcy2R8fiVfDV-4@zw#PcYUWvd8|wCz*m@$isvWCG-M$oAL&OAFD284T=1OkC zTh6UGO~2Ogaubv0xH&#{DvX>H*Cx@LGEYM#SSl4R8bU zte{y~DTJ%m`LOAS{?w#ZuX#1U>bS1u){2#2H5TADFj?sNwPnvK=W1R6er?TJ3OWhE zt2^~#1Vd0L{>OC!+#7uyZp+%MpsZ$<69YZHTe!s!B2Ett+BSGToxQ1^A2ietkOA-| zLMgb2Z$(l5Ob?Qvlfg%^Lcd8LV7cx}eQaVf(xZ*D;tjKEUdav14uBt&%TC3tQe1M= za3)BpaF0p~4K1VS1AV{iL&l>1P(?pEr$4!zQ5sK2&=bb@cZc7jy$9 zIr?|?EILN#bd?+zbrmhexS;moisPxfzCS`V1-~73b82vRSx4L&U(q8V8XEM-P-JWH z&ueU=C)4{#h*3MCA^1P29yJyI$p0Z|zmoS#Or`S0`%C~V<=Uh^MVPp!f>`B4flo!{Buh$WrE> zLA=}gZ!>t71EOCna^>}(M2slnJ5i0s7aVs-04zm*A*p`5#b4q}Pkk#nM4XT|I)$F( z-AWcs!Xb0tj^nS$^eqO?CSpky-!I@dQR%jSKX8*0=S=%YwJ+iYei<=&O$fnvoc|j# z5<}+F{pgmz-6cQuTsi+DV%q#+1I4@ebOslM*cVzq4LSd(hzU+a;MW!x$G|WM+PE-ptE;^L8IquFc4j1Y9JT zf^CmefTFr>Pe_ z(ZKji+IlZqpDMqo`qw?Njc<5S`E~cB)F&O!52#AMaA-K+C-r9mWF29DcKWcAKcAb- zofw)MxHtr$s30>mHvo_s0VO|`%jGcBEqpSR5_+Ofq=J7-1Ch)zITFnSNt?&FBERl# zdvP{3164D0gRoe047XA2Se|dU-Qw7|Ue?Q_r^9G)Y-Jq13H=Pzg9Y0+95-y~H7L1t zztn8EEWc!V*3zhH1*O05~OOo_6zn>Is zDn631F#N(u_HON{qDg9DU#RA?x7ET0b+E1~*{fyBXslpQ{I6u>r15e2B5cFK8l`-S|`o+0BI=vs(Xc<&L9dlC(l z{#XI$qs*skLPA`)if|;NF{eDV4w7TBqVo_|1#oH?PWP9D*X_hE%redS6XxGc@W;$A zGEL{bb>?V~F`irx=!=#aHWm!i^sEl(fz=H_ueDn(3tO5E`hf?!XE_G*ZMWVQnhbQe z9a#G8_3Ee}7`6MLJ5HyyU@R`;MQrSt>DaEtfYn^6dq&F=5@EOMSSv70)JrYW|0}OB zfq3pb-zq!ww;V8?Y;6rWG2TZ!e3}`&&p0n|gK3(Z%t=G<*m#9$u9C4j4kQ`Heq$5v zFwIpm_9PC7{mtXa z6NS&?n)Zj=V%*O(m=e1bvj^f`i1ILSR!oXE|9*}GG}89(27`Q`X#e&K^Eq!KOIzw$ zR(}P@MM=iia4@ZYGo?QLD)RO7`c-7gwcl-2tN3imY9cAEpCnoT4YI%X4%r5S?`aYW K&7(V#tp5iwLCqon literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_isalpha.o b/libftx/libft/ft_isalpha.o new file mode 100644 index 0000000000000000000000000000000000000000..d9396fcbf069dafb45226a5c89c04022735487b5 GIT binary patch literal 2232 zcmbVN-D?v;5TCotrnS)|ZLPL`kq3)f$)&9oYFlbV;ztmLN+k#-T+&N&c)66^T}TDL z5S3z!`rx~d{sV&GqYwTA{s$uHo4y4s)S29Fb2;OK4(!g%Z)Rt9XJ_voWUgJ3B?$yc zum~MZpa88lW~UUneCO2(x5aR9cD^2e(-Q~P#OvY$SQ(E;q<5yor}yzPK;e0K0gMa zFpxQPbr>LY9F*u{Boe_$w{Upd?Qb8268=dy5RwHi#rpGwN9=IeEj@%(aT979nMo>{O*z)$NpC z*VmH;-AOrht)aQi)J3;$yY|d_~Ymk#gk>wk&WIf6J1A}Ru0h{m7F7x#tbEP4Qx5emU^oFz&672QXSii$(>Z46J? zraikARbmp054bE6&awCc8!54)SvFB(<2g35z)~d^&N3xjX7UFnxiZ7JUWC8QbQ>Y~ zxzo$6bndastbo#`3q=8Js~)5Pbx$|FMs>&+zg;85Le$0>j};&r$6r$$AkL; zbyY98<-ArX)b$3aj^1=YE!L`49b1?iZKn=uT{ktZ8&;_Xs#SAz_44)Qr0r2CzU zd9b@_)iwLEOi{}w3DH@<$B6d#H63&=pBSN%?MP}GU)w+DwehT{L z(AX<~x<`KcDhBgs5mT=1)Q~;Iu}h-=1wi{J3g+KJELc18d&$AKq#)5cdLzO7zX7<| B#E$>~ literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_isascii.o b/libftx/libft/ft_isascii.o new file mode 100644 index 0000000000000000000000000000000000000000..7265176ec681a02da01f52505728add8fb363288 GIT binary patch literal 2192 zcmbtU%}*0i5TEUK%SY)4A0mh`95BWhwtyHF4Azi}5aR)ZAx6_|%a(3zw`Mu58;K-1(|rTmbv+m-d2eQZ^Yz~Byxqv%ydIGxV3J@4 zjxpEqgiMT{2od{Fc`BR|oSJpmTa?fJ1-~qC z&QllqTmXMA^xFaanb3y?r<(q{;{p$!2hIujaLt6?|x`Es+(&)CHiI^Ce5G>b^jn zMipy0S^@c5mH7YC4kqw_cg{B^KKeTb1P=~(3UR`Cj@Ugb1fDa-(<}&1vB8{VdL-;Q z!I=epRWt-K^8F+N?h4K<=zA6o{`qFVv}no?0VIVV{X2*TJl33J$~h){K^7+PYM#n(HjZY{|zR9xo7|Y literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_isdigit.o b/libftx/libft/ft_isdigit.o new file mode 100644 index 0000000000000000000000000000000000000000..e2270cfe2d36fb48b5034c1da81c4d37e1ae1d93 GIT binary patch literal 2192 zcmbtU&1(};5TDIv(~q=C`eALYNDmbe=_aiewUrtvu~x)GrBXyGn{<;bCL7t0mXS|;1{67wIy#!@llo%-5f#b)Saw)W%*1Eor$!bBE{_1n3Pc38H~3P?(U3+>eT{TR@F6)&_x?<#uPQw$vL|~W>6yV?PLEiy`%^g4Q(Gp0Flr-AY(Yb@& zIgUIn0yP1yBvLOT^Sv<(9nf6C6@_u!B}w{~=p{i-#U=SJhF{o3*I`HHq@*OfU8Os= zq9iXVgGD8FU6ErYCGt^`+=zmSypZsH6X_`YJP13LTfbY|u?%vX&4vs(Mj?=arllPx z(Cqi+Z}tQ^&d`mzzY5P5@xG^kIXo~wA#8dE1mcyZ=55D>&i*sPruz`6S%2**Yz2Sgbs8y>v zj%@2Gu%GQ%pjvuG6LE%FtbuCQ99>{x5bgf&X{sd>Qehzhgp3>W?2uG>GFl;`4zb;%H&wLrVu&Z{83*E(YKZ3pmJPfNpEJ&_H_32+RSbrHg`NlyF#Zz2|;Q42Q a;t9d}Z;%W2j{M4kd`|{~;^>V8>;DEPIk|}d literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_isprint.o b/libftx/libft/ft_isprint.o new file mode 100644 index 0000000000000000000000000000000000000000..406bdbf721152eab051533bcb7a4275617b2769c GIT binary patch literal 2184 zcmbtU&1(};5TCc3t!-mIn)=bINDdVh>87m}w3S+ss)g!7si;uuCf&4)$wqcJp%t}C z@$;gB2M;11y$gc3q8I-W?|Ktj(3xbW-LC6F9C-P?-|x-G+u7MHPfVTFlmamYW3b6Y z1^AlS+>bZ6GMy&J-xd=xcVuN>ga{_ClhO#=bgA;xx2ocd9#ZA*~D6(%6wd% z`J%eifpoW_r?b2Frn^+G4L~zd%(ad8=;@KH)9uLrG!rFFWFm^uylbmnxP!pKsWn@6_D< z;E*|B4)h zrtbN5e|V@+bzH|^uq%~9#VMA9#TJAT0VabI{M$X~IRJLF0MzYEpcb=g@Ahr&FR(rP zP^U#kU4YZ+>?7?=s?9+Mq}OmIpbvkQQfuiH0d*CZ3f&AJv1uI}E!8v1NOjhYT$^d6 zt{S!hJw)ili1ii!PQK{WwCe#IT?n=fw5u@3qcE<^{MqZreH#$~JR zM4AibZ}tQ=$v~4Et|G%ldgv3t94!;QpZTtkZt$L9Pe`XcBh2?RQm;08i~A#g(NC~0 zbsNmjMf8WvFGutT%=3&?GhBC&_2_-ToU@Dd`B|%2^y~(hfxQ@n<^#-9ty;BleA&+r zJTN`GVlj8zat%zk7TD&wi_`snV3lryS*bLtv)0@kerfYt+$)Z2vtTdGmOZO#hpOQ; znphyPiik^9!vD1wm>~S#CEp=_>F-2fjLvojb<$*x#C@DMGH0S^Wy46Z(VTST^7#a# zK-8D!BC3(^2M)N-C=m4>#)I&Di(fl8>>Vuxt|Buh`Q5=0E(fYpuev!Q4 literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_itoa.o b/libftx/libft/ft_itoa.o new file mode 100644 index 0000000000000000000000000000000000000000..c01396387b0e946e4eb226190c39205fb2d89ad2 GIT binary patch literal 3488 zcmbtWZ)jUp6hH61+?O=jlC~TBbDD<4ZHL+kNW+xFmEum^&B~v$c+PaYZ z_%{&2=92Z=9Hv@{cF7BgMPx8<2;QJzrnBTt5>RF}|#yZ&+1~@%-w5+XSC<{#2vUAUi4y`C_tuE_&c> zWYcc2_rt0!@u#ZSmM}|~on^_+a`MVwR$>W#>{=J+f5cEI9XJ~YsYBWlUd5Df``QiR z4yhBjL5`rSqM@c!?O&&aw}CUA zLZJ{qnDBCD2GTD3hlrpe1*e@10C!WvBF+^rvcQ-ia3w4K)@`~AXC5O$UKrzPQb@LhUK6&|K|1iiiBo`9s$?_f zYdeQh@N=AGN8|TVIS}x}P`X+)tI?6XUd%?vjdCSdDn@&HwYV1VzP)NIdye#?v{kzU zM$J^tEa}<^#EPSp*jTAxRANTiINY5!%$Ql$$Mxz&Y*)2hsaCf3#tOM&t}-uah z0KJH&-Xtx+pE!K58D~k7{t2%nMqzMBqE_57o7!ZD;}PzXm_PV7Q`JEhQnO4^XW1Hc zng!K978q9V;fgWVrVg_J%JMV|?MJDPZ9-`a@{N70Ymfy78CnF@2hd{}!(^F!5hD&V zd4@$abS1^0tq2l|&Yi!qb?ATN6jS=x3e?T8b`3*glAl@d0NM;P3H?CXH_O!E6HKl$ z_6k$KXYz4J-zUphrl_Sge;HvPTyA)^Hz6S7ubunbd&-Rz#9NWVKRd5Z0p^8lS#gf} zH97^TLoTQHQ0#Q&wa)-z+i|onH?^e`*TL6vTPn+G5)KgMIAL^UEMb2mD!6d!wgMMl zJz?(ZM6)4W*ieX0nvewE?TA1(2@&Dc>jmAw7s8%8KG8;p*>_#Ddm(n)b#U4rA`z$J zh>+x5;8R?-d!WnyMUH1Y_Ahby5a+a?^gQCc9O1Z#f0WBFcyN)I&LNSo7kS@u;3obQ zm*4f^BJL+1{3MsZ@Zhg=Im$VmX!m~hdvH;g#&J zYo;+_f;Lhr6b$T;?mo(`E2iCEk!7lfxRVnnR~#*YRxFu@cK<^|-4#Q0rUsN{e27DJ9$8H{>hKt zJ%22qzkx&_;h+?~B)G`pdA%J_JdT@-waXnQIVjG((0OeKP~pYMb^}lRjd0}LYr7lq zR`nm{^?%A8sD6UH^~Vq+lQ<4H{lW8p=mv2u@(WJ=tCjy7{7{JRNQ4o7f)BZ33LE0z zwK`NSY%K>n9q1YGNKl+y@{Kfg9|9YYpTsA4rgZ|w_ zoQ2nx`gE)O6FiZ~L;2~p^yW7ZQ}#4U$d2M@(iAro+erRI-uyF&dH0U&;{396{#rYJ I6w;gjU#AhELjV8( literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_memchr.o b/libftx/libft/ft_memchr.o new file mode 100644 index 0000000000000000000000000000000000000000..f264816a919eff1ef2ed5d71b41cfca373811185 GIT binary patch literal 2752 zcmbtVOKcle6umR!8QXPg=L02e5Xyp&K=MqI21HvZLB+)lEg(b?EFkq~Y>%+V)qJ9~ zh*A-Ou);43Kw`nJ5>|OUPVdfVqUj72&~vWb`?K78^+qqeUhd6pl$T34%DvM1 za_Rb8rEBHiN^9hc>{|I)X``@oG)C*??eT^!ut~?*1q5ER=bcBZ4 z_EdyMXi-o<$4@3&TTf+wAPPk_BPN}JxoYSJ;drfGahu}{w&y!tcYJcnoG>Sfhr`G? zd2tHSw0S=?g87c!skJ<_2A13KtyZ^V`fSy09}mQUwQsZo_fw z@ZWZi=e{L6Jr?}JGoUOEDq{ob%=`G`-HtpB68c%-(fr_>>WTe^x_}-4SCLA=3;0zO z<)8e1QuLeSP^{4R=v-F2z0fI6PDS&mo>p8(%W-S%ux`WdNwIz?eo(L54YL)uSXL#D zL@Oxzp?#aWVa)1d#uIwhct}qf59`?_J%^M!tEY`tG)>RyL$i7w2~!_1n))D`Q?tg3 zuCBhMD@&?@8;x`J|GtiN3jW&eXVqY5Lwn3xe3SQZ1T?^w>mwRq<4JNa;^9R8sOHFt z4Et~%-B6Abtwns?aYJA>#*c;(t=| zUt;{M#J|J1D)H|zj@|*Bi*-L>{-Wf6h4I@G{|)1hC4QChmlD6i_*;qpjPZ{W{}JPH z)>N}(-5Six^#rqSSHtFfrCRmu1uz49F#xmH?R0ExaW?uv@=Y*3yIo<6<2Jfry4}Dw zAAfSL=m(YB%V1L9%~$Gme7l;EbZccML4+VwBxAo1(MNqc*qE9|psOQYwo21u>hzDlQIp6ut zxpz+Px#ZRC*~e5x0U-*Uf{rIpfNHd3&jjWSB#=3qTmLz?zVcgc-M^7rpS_-2UAYd4 zwLzrpWcP@;yNR#dMiwdAA5kMMdo8z7%AmaL|0H=NXD#+WcB(kJ~OIQdEjy(!}!sCe^rt6r)v8YM8D zifdLIb;~uargc7Dv^>*m7M2SBvU%EXy1qM=G3&NtyH%@JGi!FS;w^^?e8;sH9IKov zRSV5dRj?fo+(~dV;6SZ`8)_4Sh<(ADM}pTxir3754gYQX;kUym*UE*bL0KMB#s{OZ zP5c3mAx;lT(5Oe^LvN_359#VvWB~kxcm$rux1uP2#t)IA-yI*t^xYr&ROH7IZ!rn~36i<+4>Vs^N(Csf3Ye35CV_|6sa4$25I`jep6adY+Bz zPXs!Gx^I=m5$emc(L5Uq-pM>W=CNBV?Djl6o@ck^waO+_wWANRi2glOzhM0@umtAx zcjXM{nQAaae@JEcN#W|f-mfDVf#3Ig#WZMd{6JU>58wfe91Uts_w6zkoZ3L@BIgU zR^qR6{}~Ct$o+zZzsLQCgnz*O6$$^G`x_E|mHQt_xajjG34fdWS0tQnEt0Q81)^`F zZi?g7v+llCI4<`SjIveq7v>AaV$)gz!?Tt>FiMSj-NJi<2k|24OcWSRt5)C<+o?3b za2lRvJpSZt+Vu*hm%*U3>MC{9k## z@h|z0@_dN~W4(UV9^B;+TkM_%s+HpT)ZcCq-!Cv1jb8oxkRJ%qC+c4xJ|bV>3y6tc zpxKr=zWy(5Bs63$%|Ng9w|cBkx4OLkvxsSD_v!k24WG7%^Dh9}KZ(5l`-sWCBi;<( O)Mau|D37)zum2YdSwOJ> literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_memcpy.o b/libftx/libft/ft_memcpy.o new file mode 100644 index 0000000000000000000000000000000000000000..5217585b1a952085dfc74885e02324b0a37e7180 GIT binary patch literal 2744 zcmbtWPiP!v6n`_b-(-_*c9Tu1X)Bt8wMEQKvW=jv)|I-t-L@iPBpyoKKi}>S?#_n! z6Oux0F)B?9(p*GA^q_~Lc(6zd9z^iqf+9J3%tc6V^<+SBeQ)Oby0eprh!1Ao`~BXZ z@0&N@o88NWb1$fh0#Xz>1$`u0fE~SW=L0hj8H}7SuK!kCzjUv-?r#^@=eLS$m+nF4 z-AN2Va~sW3GOrgfqOfy!z7Kvy5>pDB#UBe@s))E-JXzSvtQ`%}X7T#@?zR0%bYSrL z?$yBT7T3O4Ft2;}r(UlY_^>kSoeMuGrlfhwpo698;(0O}bacIZ(okUW5Pm<%xd2x#e3sZkz#hpsYZ}08LON z=%3(iDES51D5^0`YAC7SMitmPzP*ZXd;V0lRkj;b%iM9Tjy*M-GiHpL>EnLjoP8^Y zXwG;7>fU0Tx2sF5MiorE?wZX`o4Y1=`08|pd#2}mQh%0vm20DRycn#eprk2>K-b4@T64Rb$$r4MISVDh>sdw1O z1*W1$(a)+nZa!RR_x)|867YL(w+D9x_cu7;*3h$;Xb|~GL;^IRNf{K{P&QIOcn8SI z3L|JoSCMl?d^m4tpkzY@lAjj%K!j()CUq#nQ=O*-en@EASM;eL{|Ekr;N`l$z`+Qj zE&0oW55_&hza#jX&@%q2z)p<+OyDaq{wslH|74w8g8w`g|FOVd#`tRj--+=z1)dU` zdK2wWUGVX~^-n$+HD2)>i{(ni;mcrne8mH!+G)2rPPuTpo&$!%TV;VQyWRoA?s(jI z@um4`*DF`w1cT;nv0SU+cd9WE-m+{i2;N+*JLNX-ZvaQn!20<4K)u=~{r`pf9X+42 z;(|E9^!1HOd;sy+C-?}+^Dbla!jSJ%@?+8vnkFh^H4yq^KynN(3Yj4gk-tRVHxZ6ZxxUm73of32OB_z) zU-F-i)QpC1MGtqxA=j1EN|?VC510AW->Asvmz;~nUi~{J4utFz^^bn7WxnJa$i?@B z6ikXkxk(@*@mQLHz1Gj~u|A!(`1-FRr=9C{P+h_6zR2@03EDqNeEkoQi}#M=w#EK$ N5Gf4)MNtv0% zc5!tjxNNr~)~EGF5fs4{#1~x@rJxV{BJ{D31rb{CVZ{d*RN^^z?rkTt@j*Ov=A84L z@7#Om-g{2^M&bNZvLt~J2~NYICs2Uv(L+1W%sh-CbJ1A;#pwQ;H`XuRHrCsF#`@x} z(Y8i1TcrlMmcrR67;#L4)n_=%(Q=_ii@L{yMDG@k}g=lWbN z34}%;zyV@M(Dsu7hNeJCoQ}ui82ARC2tG(*yF9||@asDSWJRFlNzaofB_G6hMBZHK z^Xk6$z8`zp_dZ0W%9~5f8|U5y=B2*$V+QlmGpkSQ)7gjHEI9M}EP8YLBT)60n`X1w>X>>Na(30t)mu%| z&6$q5mMxiH&U1>LVtX}rw(YoWcWySeALB(`EaGf&P&}iWr z+O})eY_pQFY{adL=CTJCc*W8TlOBeRnZpIA#GEQ zqE2b&nAT9o(Z|10q@+<#E~v@^20u~>Rgf^E=>(}-T}^z;IEe){^0+#*ppFpZF-<8g zsl%EwwWP|JBWdU4Vf;paH3Q!7Ar^t(dILhBz`=L)g%w^ReIPmt1e#DFsKDK2L@OE# zaD-VyBNdpJogrc+PN3q%HUNKN*B~LAWEh`=ibPw?NVs3nXrQEg#rTA0xle74g!n46 z{MRvVi*ZhJ|30qiJA%9P(7)g!PmI&yJXYgq3;a!vvwjl5uW-D=wcualz7xVf;r`_i z{weq03E`~CAog(xr?x|K!&e9Ee4G1Uhw#t2pW&MJCb&Ozz9iv&(|AdhSJptUn5A}Y zxmYSWW(Rb~Y!r3RT=hUNx0+28TM1{lp2Nd_hGkbNvKK;iafHZ0rZfLULzI>n|Lpkj^dI2U#+)N4)B|5vEt2k)yGZ=YZ2F9g6f?N?Cf z{t+hbzli0zA?ilp;abC=%f7l0ycoay^v?ka{oK;|Ve4cfaQd+fuZakMGZuijkKDbB z`ve9C<+nKay-4Ib%zYH`U|kD(hOhrRPoVV^6kb2oJyE9d2}+h6nTPo)yG!&bOMG+o=^J|6!HB6>!LAe|8DXNCC-`l zk9v*B7x=4)h1Y}-T;TKnK~6xzT)H2F=HDJLKlSqP{4XG;obR4?_ISRSkJe8j ZeBT40J{aCRiWz)STjZcn9t|0u{~yRyPbL5W literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_memset.o b/libftx/libft/ft_memset.o new file mode 100644 index 0000000000000000000000000000000000000000..35fb8a73bc46e2fa1b3e6b57c2785f099cfa01f3 GIT binary patch literal 2624 zcmbtVO>7%g5T4!juAMlw6Q`7vB4i{GNXWZM8YG~i1Qk;!6p&DZ%Aqp;d5%}u>*C#w z(n`=mB&Z3X79l`FaHtUCM@YbhD=G(i<(6YENa2XoLnRJoX7^3JdGZA@((}ys&CL6m zo%ejXeCAnQ(||>TlQ2Te0$j01_Htw{Lmng7DuX{OgE#IB!rPU>+FoV5e5W!f?^b>< z?@$!toyv*wUViI-MBC-tS8pPAR2RX0!q>t=mWztmQc)_eAzY_MxLIvriobFig-TwK5BkS~>vDJg#Xy07mX)Hk$=V zAAyzGcmjY-9s&A)z>&g%Omyz4$X0*OBB3)$Kzo^xmVXa_4gLD&0Tje&JNC6>^bx9* ze*M)5&3qN3a}g?#56q~1bTzGR4(UScrw1R3^bbS%n4RE}c@3ebe;X9%)E|%&daDskqqZV#Dr^3D; z`b&#W*Y#Y#Ejk^i7 zlRHF;z9$aN3H?5u!|8N3x}}B1$d2mg#C3CAuh9vc0!HV=dZGA1vng73JH8SV`yF89 zH8V50XIj>(nX;ZUC$`Kin)<3aWwlMiI%lR=%}Me-Y3je2ljlv{TGe&j6wNwL-bOM7 ze-Fp`j8W?ya2sG8zzmGIR~YVV1Mm_kav$PCV*aSM$VJ_TdJ;!+6}}$C$JYi8ltQec zc;ZVEA4%}0v`O8Q;3@ubiD^G1RH*%Oqx}exC@Rl+yq_=*gVRzoe_7%+g?~%p=yRjZ z@$X9hbtV3W#5^Cze=qs>mG~`*KUMh8CH_+32NHj$@Lx+@l$vUjtWQhwYJI?Nih8(S zt<~#&u>p13_Fh24K1ILr_FVE09*CevK6)dSn>1;Rf4!dl4>YK_;xrh8Pa zHJkYMtRD#PxSo)NXjfbPT33wLz$<0r{Pa55{>3io|1Tfn6v_VN8Fyu~aebMm`Xq(^ zB8cODXWz0k_&zW{&4$#JtIkQTkEOpWH7hmtF?6UL#qvw>6DLZo#vVsLc@H^!PLiL= zgq)1Sr!tZ`sUJp7A@dTm`dQ}D-(ymEeb#rOb6kE^Hm99Tma#-}{xb=ic$N>6&CMig z&SQ%Hc#*rHhF_Be)i)`8e&&2M#?|jf**{z-s^0_-&S!odIdxA+!7aJ|Hv|%*#@5j{ yZv9(h)~DB7U7z~XI5X^_x`Jb0xc`};{gbHce}bG^JBqs?FBR{f^5~AJ>;DVJuLdjt literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_putchar_fd.o b/libftx/libft/ft_putchar_fd.o new file mode 100644 index 0000000000000000000000000000000000000000..12b4285995fac1293e6f3d1ab8bbdfd51fd9cfd8 GIT binary patch literal 2384 zcmb_c&1(};5TCc3q}8-(Y(=XT38*MYH?^(cXB#Qi2!2C7S;A(sX@be7Y<6SnHx&Ft zX%B)PJ&GrWnZ!hMxMGwM zy1fc}ynXm_011Uj0^%wm(WffQxBcBURETc*$ROqAjmJEdz_%*8mg8oOnr_WyTBhBs zHmuB{QEfyU86I;z0}*S zZ|QD3JLTFdtVtyisTvtrh2*;=(&cG|w`%mw8VR4oS#pycpxRnc3aZ1ok0n^!=z z(_*Nnt9uFCw+ne%B-AB1l}bNQrg{?wIv_lcD+c@VDTG)_^^&5l;}V@!;v0LiX}#-e zpNMyF?jDFMi4$>=_^c!_+IRZva~Ul$__Y@0pl*E74znu9p@T%ALRXmbunK>U%pzL) z1NpsPAUBIE?L~Dyc1uW;LZ_^*`GWK8$!2`2a!-m+B;Frh-`MXfV18KQZ2>-TmLC32c2FzJD?ejdfmi(Aw8OoEzN#J)hahYvl@=6ow+bG z+;nu~I%u_8t6tDcCA`aXaKo-TW=Bx1YB6C}3T0cbo1J6ciE!vOJlD~Ss2A#_|Bt-J zG{O1dtgqzoykkOY>RV9gz7xmu$hMr^@O(2Lp7B031m~3fMr2Wgk|00&j`Xh}VV=$o z*F^RTJy3YgeDtU97#gDD-^zgN94K|zS3^Fk{=BR|BLk>@x?kb?_aH|uBe;UHO~$PIC5nvjrTdJo^T9htdA`c{BLo7%@6VKjo2dR( zB+1{I`bT%13$c+&qc@fS}+(VGj!mo2u@5yFG8mgIF-Hs($sWe$}t5 z-rPQO_A5;YkRsp&Yxo&1GBT$dOHUh%FUpOjh1I2arLnlM3Z;8Qe*OtA zjpc>a<#^>8Wh|dr`Ex7k(!-aD-&p*+eEBc2LwsJ`Y3RlBM|+DqM8yQqO32bJj8x3} zZoPPZHt zcjSpuPP;!yt;?v;i&C#k%5ZSO0&x+EGIB8O#C{Z4Tb}LDROj3v?DqZYfeCBe8Xr3t zC&2@^CeWL-4nZesUW+5wZ+p#7+iF40?}WA4e$NeSZs5+3Ic`*o0(;Jm2engi5XRx; zM6K8LyWy*t=~@{%1Tv z`iS%+p>u+%V)=XR)OPbG640d+$-#bHg%Gcc+eu*>^^h1Y5nnfv542R{CoTyizxAnM znimb-oH0t5jEecKp&c`JnU@UBJZ1>4TW{?kRcEq z9k!@Y;_I-vi+;pNc?A0x#44G6lQTnX;VpbRITGqwI?p$2sT?K{g>Y&$i6?D`J`K`( z1EVb~Bs}eZG*Bw3O8A72vA-*WXGR-7&fvs9&i<#Y=~HA+^^3RQM;Mp&%(H)5!GB=? zf`b3VJ~z#J{Y#8rQTX@Sud=2Zvvp1~uGXJ7!D_osJkzutCvfM$3S7^&B6kph)#~?p zE{+p3!YJTyn$h(;eX#s~nIg#yv70&lazpwm(56JeDe4fV5@s9*pt0PJG2Vt^5CB4qZ zlmu9-vqM*Ywr?f<4i`1f0P*O%(yWl|PF1qES`&rta{N4NsZ{Pk45%1!A92EU)>5fl z3j?F-|DEfvast&)N2=EU8Dd0{?}=t2Q=Ioe0<7i!Qq$ay%74rRsxK=tPwJBxly;Vv z%MMW{pmM`B|C&nAGw@|5mrVKo686y;b$*W+l;4@okM0ziFL4JkwI+n1&ii-B$%x8L z{_QhyX+9gVKi#$J{?uRk*|k2ZJNVlWo*#KGR6mKj|3kziCn50i8-q{Sr#zZ5b^reX D>dNln literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_putnbr_fd.o b/libftx/libft/ft_putnbr_fd.o new file mode 100644 index 0000000000000000000000000000000000000000..13a08a232b68ae66b60f65d2898a6a0bbe7c333a GIT binary patch literal 2752 zcmb_dL2nyX5T4!jZqmB3H%?U&g1~Bl9;&R9G)M(P8x*A&R8av6qKL{_+w0iEURU1T z$VC_;LO~&-f*ZXQZlGRzL_N?}YNY}vZv6#Fjl`in5rl=A*_~Ifx0?eJBfXuOZ@%|t z_U)UuA1|FcDN7Ovk>EJ=J%Iw;)cW>oZ|BB8y#nof}iA)7S6&;hEl%P8TNx+|vPf zPx@lc=XS5{MSbbdzc%j(&el>Nyeq)%QKEOc8+WELfmnMRLGT~>jobR!ThgfXOlnM3 zQuxIX0(NICG|q`#pL0M6B7W63Niz)jsYZ|1|@YonM~qpD>xE30EYd| z+vnTS$1Mb80g@xVO`eoiwY%c(W(?98k& zZA?!c_59$>N3-b78P7q*Eu8aQyVxpJ%0>xtcE!n6n+?m!SuN}QRMB#CZp&OVy>@QV zYdM}XH=AqJ?3z=x>h)Z`R;;+~Kn*MfHq>kvDrNX@IuYXkkFRE%PIXcd2vLOuOkEC8bS$p7N3$N{hb;iMO%zR8Ym6l(w99CcUVbFsY87?AR#g>kUY*pw^|g$8YrE6IIfbgO_CuD-9}&eSU*z0v`0@f=d6C41^UvV*?;M3JgUd-&f$# zbNB^D^cZ#ru}mnh|1A(Z%v?I%l%dB#Ov zzta(0jNlj8e9q0dv zoRCDhbdSX4zZa9A?$T)f(}*djdQDX8IQqg3A@+spCyD02ikRT|1b(b=Q{H5s=FyVT G{Qm+i&`v)9 literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_putstr_fd.o b/libftx/libft/ft_putstr_fd.o new file mode 100644 index 0000000000000000000000000000000000000000..690c6b7cac491b9d7bf84d8080031754be2ce549 GIT binary patch literal 2464 zcmbtV&u<%55T3W|-K24AyJ-atMaT#W7qU*%B2}eogGykFDv*j&1*FPa+iQDUd)@Aj z;2;GmnF3ajXvKvKqBoA*IYoj4XHNV9R8Y}FEA?QhNbbz;ymb9A2gFG4&CK_{*_nNw zS%0#6{!L8?kRsqTJnCKk@EdX#Jj(a$76f&bLrAgV!t?2IAG|7 z($j|v`^CHopcRp#TX-^Wt{l<}C-bl6UtTz~0FX04W8mBY0HX+`%ojl~oX+R-7}mv= z!v!##yxrc!R=0HoG+mCKVC-fxb-SDqw3W-3ZtOfY*=-u_|34=?seU;;s);K zV$F>zQQ&Mialdjl4#GG*zFg^gz8ALLPN&lGYR#yhs)< z4yFpkM;Ac!OXBd}nc16oh0h{Ri-ax;UN4kB)6VWQwfB$#&_XB&FX1kPcvRR&if$g4 zm?#q8H<3MBs_`c-3S)Nej$xYXhHkbD?R{eoP3>)Ck9o@|n5PW=cSAG3HN*#+iO-dB zQ}sU*r;UvU%6zI4KH-b(Kb65VqYTevaN?h0|2fulyV+ZMwYXJvYPG=K z04s1ijupB62&{Uq+jVhJn1S=i$7zJ;H+x|Dy~wrRdS`7hjGX!vusWTMZq;ctaKc;g zVcm82y43ohyqqr{`%4?i7=NSt!3H4)*Pgaz;}YpGN&^?`~J z_YV%Z##$6FJbzhoOXXZ49ee`?vK75GG5|s#MGJ) zf_2V+g`AA2+&Z33%m3Sy{Pay#^HYE6=f^!%*KzI2eU6v;sD2XZryjufXsCBbXTLDG NLkDd4P literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_split.o b/libftx/libft/ft_split.o new file mode 100644 index 0000000000000000000000000000000000000000..4194ea34b11ddb7bcb07368cba77d099bd27e24c GIT binary patch literal 5304 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 literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strdup.o b/libftx/libft/ft_strdup.o new file mode 100644 index 0000000000000000000000000000000000000000..2de40af249b45dca76ccdd013ae561975ea682a7 GIT binary patch literal 2832 zcmb_dPi)&{6o0n!xoOiTX*-RL0g4!~3$@!)q%pQpG!@)zplK)w4pVUwC$Vsx65CZb zR8}q9pc{u3aXtzQdp5*Vn_j`Z7 z_x*XFFU*~KO_n4OB*Ag$X#xev5A@{OP@IK4dX|i}-;K^61!HaHfpKl+L6>aC+J@2D zknT_-4$O6p&Po?@mq*CHF}Fp2_e+toNs4i84l}&5xq37Wxl4y)$kjb*GkhU&w!FWp2=hY($9s+;9g`=Cd~ag zekuIW9PZ_CC?|(o2*`>+Nt50tP0F=!Ov&quk@g`nCa*U_ZIo=Ny%%a@mx-x94&nKz zlDdj=nt;LUI1tHNXd6gFsT{a|P^dVjTQ4kGZO?AGg{f(6Qk$H3Aqb6AA5Eh+qrC_< zf5G$H)nHMpfbP~jz0qn~o^G|Ra}#CD*ZsD+WCqLniJ3mA^s{fS(Xb!Miw0lJs|Wgcyd=-Iw&hYg6&M<195NrlvzV z+%!GfEZuf1PEfU=w>aD+B+su_t(w+|T4+!vj7Z5z?8%`!Y+Nm}!bO%YGW7-P?nKak$8oqimqahKeku9%J(DvlvihgNR_PjH0BTl!vhP zXqrCbmx!g{ukAi2P++IPU1o(}-d!LnN_5GRFyaqi@OAXcKjaCZAvPA9H#{4}<{#ld z%5zXV;jzI#*ziP8$8c=v9h_vMA^diF3uRFu;ZbX%fHW4d(4X)LuJ4WEjLXCxkKyG1 z64#&NoK7OXtIt0IKf-ZQPr!8}fnVZ!_%fg@{I77ln()8Mb&*f_U*Nc~3;YJh>AZ*p z{%NE_fpc0@d|fq;C)cZ{L91HjpuS+1%WZ23w6^7#nr|)ppjBGUriGo(J@9$yH4t}< zVr{q9;wHy(L33NarM>=UX~Of(%KM;EV=kE0D!yR#U4f46S{$$%3$?b{v?x!-bevYD zHyL)ThO_%-8Tq*;@&Adw!94MMC(@qb7xT6NIH&!K6TN4IiF+(;vs}0(0M3&=M!zqEzD(ACkmnTZL^Y&8dED0m;9S%yIQ2Kl$@tIs<)`;6P9je5x6ml$xZmA)^TZ5E z-;bmC#iYB4r~QeOSiit7qR?;u3j9KebEf^HUKjBKUqUQd6GE`X3;LOq7$to_KwH20 z5BHg$-sI%`^cz)9ZMTrE;=Ek{$>t-ub9KDd*(2DXb!IKLHUM? zArH>t%lv6=MB(Pn+Mc=d>gd|@IVfL0o{)z`hQF9Q(VnS9qw#%=8kvK8k~v%(J@|P% z9-D(7D;Ix|=B4AM1FBM*d;Dl=URuDl$Ym^{=s2>VtsYiNr;4YGCytyw0+3NbX5f_r z0P4z=tCfLh_9;+GXNtulK<=P)0@LzpJWx16*WnXNIFB^fZa7v!^ zI(bq#Bj4&L)@4-aT}ixmP^t2*PVCKpLQ12dY-~x|yQp*d5AmI+#Dr%vh1=wy$a)-^ z&A~=J^1`Una4oN0*|hz@>3Nl2>YEuzh>0TDLKo@GKZt^rWuxnOPSCMk*KnPBE9@sKT?qncbSxiQ5P5;q z_UvZG@j`IG?ctK9Sm12iwGjT>qLUpzmMD<6FM!malaB7o=5FF|@+5M4Na*C@h0@#y z^11z*d-GU;dl)WmaRx@v^`GH#0)>U~O!5vjaGuKiJ=&h?6 z%~0ju3IfpJJTPOPxpZVxlJN z88H8Xz&~RCC4qm={I>;ugZV>&f6V;P1pW>4zYsY0D~!`#)BBA-9mvFU0KI9~qjt@z z*L`~v^w92ypf`Hmu8mE}2Js^Rx^KG{^Bu3%1KsO|w*K;K8`U7R8kf^o9(3xEn$>LL z_oY3R>N=jyfZeIJe5-4xGx0N{<7}Z-N4?c0{r||PSSEe%c-8yt65Zv1X|cKJ&j&Gn zk9qhiGx$B{e2yDTQ?6K(hQ4CsTTF8$#_BjAGKxLM;J>Z^X^c(x7v++iWU#~Pl#mg^ zPhl*FnWjFXkVWQmb&utJ%K_62Pu6@8`KOV literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strjoin.o b/libftx/libft/ft_strjoin.o new file mode 100644 index 0000000000000000000000000000000000000000..6e9755d7f7a5b898dfb3734e520d8983f75f8b6d GIT binary patch literal 3448 zcmbtWO>7%Q6n^XVZtVQn&QJenMI!;_fV|tJp{g3xx>SaZTTq2asVaf-&pL6j*OhlS zI7Oi#18S%WEhmuRfP?@E0VhDfC54KllVA_5BEbSQqN{d_n<+@3a@?4`YBYaM8M8CX#;m(!G-s9} z{z4Z@&|HG}i#^PoPp`0`YddS-cvA!9bZfM7|0IRp!aJTqrB=OyF(FCZLOFx8b{ zs#jQs`Sjv-Y{u#IqS2g_Fyo>znqG*X*~}+OFB_*HT6}pRf`Ti|JT(xxc9{jtr&|=* zqQDjg&c)Ac^#Yer-C7N78L}7rtv4G_hFt5La0Finlh3ACa9lB(7gCRZE%i!w#rhRF zme{a4)+_a?0HHW0me<2rzZ~1$HHsS)z7yowo~|x56%8Z$)YL}LclV~T{=J(3R0Tpr zjr9X`jI4o?I3@##ZsP-7!~9`<03!SVySW|g)}t>Z?<6`@k@t})o#(+yL=hoODjjA> zj$goD4V^pgp_YdxS5Zgk+>;#jG9{uT9QEDfp+g+?6EZj&_|fyFI9kULL@r{-*P%+0 z@6e7iLcWR}YhjK1IwCNhcP+;qEL3vV#Nd=!x63taaA;WDu5C~5aJh5n*yx#rY3pX)oKEIVM|bMEshr!;_q%o5wMT~aYS}8=lV+u&SIYU4 z)9?nU)Nr=4^|JbPGU2MPOPiI+nAdsMksLJ2&BTo^t< zha^dV#(LPmWcWzBYuEL%Rj9Z{Q*Z3rncX>(tduRck({txJzsWg_-BbdO$yvSy;7N~ zCWnUE7V7-Gbnl$R3;@pbansf&+1$bm!P-;9mDx_QXqHeWBM8e7MUB_wxTHio|4@3> zBg%%7g1xLxDC;gNU1~;&9#Ph*2ZXs5&27l)8D&dGiDa0#6FHTF!WWfjQ|VE^P(m4{ z8?(ew+?`S6`;?B1(wR|0>ZlSv>JueU)Q_Ts5JfXejO&hKRz61$M&cYHM3QpCUX)V=(_?0sT3`W`KX2upQvvA^d!Re~<91 z0saHRZw2@d2@Ah?-;as^JfOc!_)>s>lkiUgeu41M0sd3MgEX?e_wWA&;)DB!rA#ZD zd3Pe4%jfIn6lis`lG7Zs;eb}CRjVeJYf|7xfZSe0*(%k1Wrj?w#h_U=$J8Etcsyx4 zxx!PRu_Bhu6^r!L}7Ihifhb5#?nxk{y0@MXr&j)s#vxjc^3RW|jYpE{*g4X& zU?U0H-0TUq!$dj(M^L*1{Xvd}Tq5$fe~H)7-){Y{)B0B^4_iO08^QJ8fgF>Fx_~Bc zpV5!@dqL1B)+$C;f7->Lp+jZs^EVME#z)a9Y`^Zyc0YNyKIV literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strlcat.o b/libftx/libft/ft_strlcat.o new file mode 100644 index 0000000000000000000000000000000000000000..2ed02b53f2a229d7756884fa998b286af70253ac GIT binary patch literal 2928 zcmb_eU1%It6h5<)nO(EZ?k3STZAJH?(T9?mB*vnRw2``YvMoY|l_1Dwc6as%XJ_O5 zgrpc-6Z}~MVo*dB5y3(c1nGlF--FwA_&H}fnmJ8b~L1!p(x`j>bYS)lg zFb79j$5GCfws=SPu%Ass`jK+byl<@iF#gK-(x5b&8CK*>?!@WLpfsccBs2tv)R_@E zb3Q$te*EO@@Wqn=vH}SX%?<90dd<-LB=qJ(kC=UljXCBGk_XB=)S@Ib zTqRB|mHYq|vsEeiIoc@#pi~JQKgd^Y(`n=vE!S&xoczS3Hm;42JrS_r#2b_7O=(X; z-7kB-YgbKQtAg&-J-yj!Tb^#Y*78`z@^#-e7tLTvzZAG$;7v{H?UvK>nwD+rcB@kN zmqHck2<#3H95`O9;aIhN%kjZ$UAM|U)GW`3YSVPVbE^yl+j7bb{%_N!b;5(J#f`oG zB1lU)>GZK=>U}(yhY_cbgti}^&E(!rTpCalA0Y$aCxrUoWo#u$`YSU)ijEUMNe?`i zR;1hZVtZ_2lG$u4^>7RImQ%HZngx*+9Bd%a@v!3{kWmihfY1fnBDnt zo8zx>E%;w^|IHZAUKhmPjp2g#VGO4yi6qb3aIMkxHaH&Nhg5REwicE_t67zxQ8p_T z*IES4wQN)KttB6{YNy?{@O3$O!vq|Uuga$@$v5< UCOC}1n{7V-E$&kubr~Q3A5wBwpa1{> literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strlcpy.o b/libftx/libft/ft_strlcpy.o new file mode 100644 index 0000000000000000000000000000000000000000..79091068b451a41c1f3ea6b8bcea048867789ddc GIT binary patch literal 2824 zcmbtUO>Ep$5FXq6yxVNLyZIqBl%E_ZMMANY5F}_z8dNQHmX-r*P(Z4}{&;sSyx!oS zkW_>pEk8*sp_HEsh(96J9uOS4p&$@QTsR;kZq21qDsc$6Adte0{a)g@=>aj4Ju~0T zyqWjj%zLGH=5bk)K#&9zu&W6aAd}veCqr=(3g|g)tXwxbe~cI_OIyZDuxYGJZx}xn z*U81Wbavh7d?$^r8OP6VEElikJGX^!ag$8>Z&R7h7UbVwL(|3LwX0J84Tkm`M`KPG z`!mL+;uiTYha#@HCK)Tm^&1~;Z*Lo&r47ix-W^4RZa=0nn0aY)12HfN`0IpfHd*G}Q-?8sDR`0hsEG0sz!| zLCH;Ivsr+29&tRQ`$7hvVd4~JhfH{sRNc+=1wyibNs*o=P0GK7e?`8$5NU5m+FYc4 z5NXXwBhQq4`MFT*Ar07D^hc64+$ENlNxzFMlvOGH3CbA)V7d}GelS$E%T8lx-gG^y z?F@~MX(QUm@Pk2U9DR8VwQ=nssQa^?@7mS5MXd_DQ}^^{yJdR1>6(kf71P&!w>)1C z7W7kr>jmEUnBKA+%WImpt=m?m?k_|vwh-8DOdL3#)o{$(kmdN`Sr^P%A8MWt)n?fR z&#i_SSpTtH++IKJ5lOo66i5pN>2P;Cvx>KICt~yw(V@d*xx$f=~*c z#lIv;f9DPoqf5k3(gV+>edxA5-x?kr3+3k-Bn_PD3=s_mB~u~3D&Lt%nInyU1G`!mM*cb z5=*I%GWi>(o>ym>qBd9>?Fjd)Pp~c&SBS+5@k1`qTv3*PaQKPB#zwshKLtNQA|v6^EJl`I z?jZ1Ct`Ed;#${r6#Bf^Y7}xLSoc6JEnH?`AGP7iy2x%xb4G>Eh1 zS`A;X#-2dia!d}G&DpwJZkb}8=n>N}m0zxa<}J2}|6ihqHQs+>y=QoXek}mb>Ad1} z4=RL-eipV#E{ORMcydOlPvdHhGk3rXNKFUgw7;dq%Y0Ke)X?$u*n0cewxo@{TgEAGJ;>6{^D_8#X*!se!-7$EE#`=H#@B# zClM$3IW!76?)O`KSYn2xFU=!jb4mB#Iq+~SmPE0C0e4W?@BHrP4JGcG&X3**5ijr; z5lhyD5EOV*|4K@XlD;n5_RBxHPk!pPWd0gr%9(9yvsdxkp&1@8@=^UnLXR{6dIytd SN45=K{~9Ss6h})Y^ZyGZ+d7y4 literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strlen.o b/libftx/libft/ft_strlen.o new file mode 100644 index 0000000000000000000000000000000000000000..a1a0894eb97948def6db6bd4a9ea8ea76a5a518c GIT binary patch literal 2480 zcmbtV-HRJl6hC(+Gn;I>$$n^UtwX z7PhUfD=Y2B{|Fz2^lg1x@FAWvb8j;bvjWLkI;37;d$pRc1Q@xR@4X9$|HRs?@=V159+1ovW>iz<{oZq&NDdNHT%ovm5 z+}%2I?!Gm?^KucYpDks~*x9?!oP(|LgFhyd35JZ(I7U4F=vTJHp02DIdS&skbCo5w zYyxOiOw%p&ESrrpdgVg-rSh|9w^v>{3s5jX6V&z!fU$AHG*83!N|pdH_Y~-ri{)|| zpjbs7p!7@%@CmM8zy}>^4^E}J`uYF~O_wZL>^-tr)x~!~JG`D*5rUx|_ET$#d|>+Y zM$xP}g1KUGgizWgod^><+Dd{rskMDK=+$<37wzh7qTC4T*N$Om?wT{+?^#XL` zW)z1$53DxWK{vAd!vT+M9`YOY7LV;Xba&ijWM4|cD2X=K?SU6~QJ?$1?R%|mJj!6Y z4){YXn*@>93wWpI1u;b4P2NO+cHa#FYxQD0(|_6~z$0`z6n67nV53EL?$liIOKkEJ z$k9VWt%O%Ai=S(k7EJ9bMgV+|R3Y^+#{RA>00R9s_%J((LfXIW`#XdB+Ip&|eY3NE z*-1Hnht|$-HN1 zzZml$8X6MJd{Z-VFIn1*_ov7e;IGLH7wGV?;0d>mo>`&;4*v|%0Y_Mo3urIr)=zti zoLpfZ^?VgM;>2g8j|$3i1|a#muutds+$RAZ&+)X*i^6_VAayE#>gWH3r~Q-2x=Ch& zBT(|+2s^!bx%hj6?<(W6G(f{?_aL3o(rrFZza8^+iHb;2dtQn zVzAo7!GPmc5>C9bV1?Xwh3y61;dDg73WhPa-gx_3J&N7-$6(QXH{DJLzXiP$iM|(b zLGXUF8@dBNT?a?q!b-8*LcB2`{QvR=E|H%fx#Bxw7=Dn1K=p>uC!9Drk21U=6gjVw zUzCbK%2n4S*SEqS3zVS7TIf(Yid_)ozDyLT#y*F9{+`J2v1rPsNT`T7{Dh@)Mj+h> z3RxAlgs(*2Pm&NQ>q~qT`C0j!VmRr1d69V%Uqh$V^Ksq$aOWIqEd5;}cU=wd3t}^u zOR7A-r0Gv_R{v^Zeq^7hf2CZ$7%g5T0H8tsOhH9jBE30E+nQg{+-4MOC3~P-WP-1qq~}fK;XaS^tRjI`XbV zS}73XQpH393I{+4i4%egTo53TDk!L-;s8eo(e*7_lR?t5uOdLTB+0LNK%>JABY`~J`z2AU}p5x0e~O_ znL{(90BmZ9tHgoO(ESjIos34K0O1E6WatiQX7n)TN0{SB_n~rU#Nn2DZ^N-jZaKEwzH8bcLP&ZvtTrfI(Xg}Hx9+Ji$%SpR@~klk_jUT z#3dGv{KXVyjs=u5J9vX7lq|b@mED_V;VeTqqMYf6gE!bvi$#$kXW6jwA&a3oQeva% zWm#aAg|aM?WkKZxlfOKNX<0Ue2+km*DJf^<2)>ZJ^x%>1f*}0a8x##dzwRC30B?yM zAUXl}GxWoV-`+N-kd?TN3Gf_ZNzb~@nIZPpF8pym2Q?{P5bzIPD1MZJ;O?%+ohcd_g z`x90`E$aDZc|MoVH}pkN8@iEGZGFiGwNS6sbi7PB1FtR~b~CDGsm?po&`nUyx~;2E zJT*IR*}1|Co}LAjI($A?EaLT8-Z6(!HFXZ?mHAR5SJR=EGmLt{laD>G;^KBLkNQH5 z^#7HQa02i5DdtN$_d38A0^r);D}noak$$w^J`lV#|Jc(UARe6~ z^%%*1S2=6@Yobt;gO@l@C_ncI2K*Rt-{9aik;t{5t0F$A{`0*46`nx#6XdV|KE#M3 z-V;qnp5`CzZu>9lpnG6Yeuy6`)#nwFC-e*kh3(}X9rRHQ;8Oo%{sJ$zKgBVgf2@zV zhIoGgx6l~0e_j4TiF2m?qdQ0B3;adI2Gzg7*Z&pcUh#A3ej2p?_JH;2?)I-=L@aQ& mS4XviPhS$ef5g5}{UrYNKSfM%90DKacu^hhQy!J%U;kgDVO^g9 literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strncmp.o b/libftx/libft/ft_strncmp.o new file mode 100644 index 0000000000000000000000000000000000000000..4bcd22624e199ada86ae38916493e432c3e29fde GIT binary patch literal 2856 zcmbtWU1%It6h1Svce45EPJY^$Hda@$HKk-GyQW~Pt&y@i8Ja!_E1@Xq{>=W=-PyP^ z6Ouwz+(z8yp($D^2&GS2d=L>S)Pe+jXnpjl0blk-Xnc?=2o(eI+?ji~lj(|x2kxBn zedp)ixpU8D-c6l&MHB?!BET_th&T&S>UwBTdFB)-7@5|aKkLnN_w}ZGPj9AMdgELR zl;u7Qxt-difg9i8L%*F`r$Apx-Pc!U)|K!2qG;dKSJG(j>`$y6{_(@qU1fRN3z}I+ z2iE#UNUZ6;r=f+?6Kjn>f##gw<$JIgEgXq99)NOr4P6&fcdrY|GC}{wfFHE3H`WBb znOfg?duwZ}y__2nT+WQYoEv=u2ktaen=7f!H@_DKgnh9gBE|Y28;uPJgED~l3`ntK zy}i8vl8XL8d1^$89qE0c_u1XkLoe+Hh!7ANH9Z7CCbvOZ0m^pm_f&Kkm7k6)`~pV= z2SC*O3UnVIl@?MWrK5sG6_pka;dN>WN&}w}@zT7HF8HXl4W0JUr>KZ{Y1Tsn6#0co zM81f2*T%G;$KAT^+LKAGTDHn|$*feg zN;z9_7JUV-WtWSVnUCj6nR=islr0DB1bDQa1PdxPTvt2XbC=JWa}Jc@zpWi$r~mFC zoP7<1#eQM5uPeHWpXhPq>7df0kC$WpABe|y$l^~J0q`qQ5jcfUK@k3m?VyT&Ssa4q z+I9L)TBWj39Zw`Z+uKad-$bo!CM*NVh=-4YJF7Dh3&G$Y_B)X^^K3vezK{-X~)Pa?l`S22sByi2|84 zNCIs`IevvqR; zRL5L&K+V;vRTFOo=EVCa&`F@y%}R#3%2uHUs#SAL_0^N=1k?Q?Omo9EX-J%rwGQz?>M(*%`4<`aWiYry>?Cr*K5U1xX1l`b#8@0&y`GFP zP5X_8OfbyVQFgd)ae`^SR<7wkMyLD-EMNVX{1nR%g~9$#AGJg5lF!Wtdx6#(WBJch z5D@A&B_72aV rMov1hMUUBgINHL`KPTw=sf6dhf?Rm-XxuDY)O89_XdYcsc>ccue0@#- literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strnstr.o b/libftx/libft/ft_strnstr.o new file mode 100644 index 0000000000000000000000000000000000000000..b6699555db108ba2e9973cda7c5cb2f56f504c17 GIT binary patch literal 3088 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 literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_substr.o b/libftx/libft/ft_substr.o new file mode 100644 index 0000000000000000000000000000000000000000..da7cab46aebf5ded8ce64f533328c7e0a0cf1915 GIT binary patch literal 3320 zcmbtWU1%It6h1SvGdoF|-Az*aD-!UpB0HO=u~u7aw5(3HjffJd1zGoJk}S^d#+{jv z6w->(w(DZCKKW7ve-J@^Q1L-Q4XxJtAQ40spYot+AxOlRfI>Xy&b`U@cBP1i%$)mu z=kLz_Ih&K|BM+&H0zwox2pdSS0ITN4c$f``A%UJ_cKsK7etE#I&#lyhWxGDMWY5p7 zK>WpS^s+CdSIPOx=L8yaE58x4>*;1AyAQbBfT4rRsgXW_=+ITrjAJr@ zj@y`mA25Fe9{`i>&L%dNUwcWrg$`gdt_<4LA>ba>9y&EDoL?4Cd z=@8wCDyp74%23azA$pXdUdjUI8~9?i48{Ba#~tfLG@^Y)E+`RKTMS2_EiiB0gt2^3 z@q_+?o2yLpPdhcQRIT*y9<&Cmf#jZm8F!x;L^NdG1>=6!3-X>{vkH)^jC-lcYT5Bp zPR*H3<{dxf*K*UjU?z1asCj`mG?*%vDkX2yaov<#%8&aqp#ryx#e#}gny5I%{!+yU zuXNnW`WpqHFqx}?2cDm+`EZr1>r|L~n1zC~S&zpHJ>}QnzkM2P=1Zd-e+-nFgtBu} z)O-cE`bOmGA))Pq2V#j+>Y;8!{T)33is%!8kI|qg%3rZ=QglM_QBr|dqfbt`?sPf1 zdytLUQm4WtPL(PJHz+#5JUK|s?Ax2&JCt-wm0%`0Q3+D{lJ8x|#hdj2SF2cb#;r*z z-nv&f9e;Mp@zA1f3^k-9Ds&(fiWXONv(p^Z4dbY;854TnWxd15=+UEkr*T-1BHLxW z&#Wd|WAl0+TJf(Fk%>BiUN@lLkwgkd6?dKn`#`lgKDjcy6!XI;(cag6LicIyE> zp3$`fdKAqWT{ZUWoySmRbj3KVcH*LnNy_>)BqH#~n#>c{=yThM#;>w$(jY2R3~O-h zbss@XqK)^>$o00=WoHJtbN}K$z;n=r#6|{xW6L8s(ZW;v6+HQnbmBuhC`8PVcy_tD zp_gmHCpq5I!msxyAMzpS~n7_z>nt1`-&9&eIjt_Dz=Q$$zpXKG{XTYKcmdzE5`1>$%RUkGghZD|ZcD$A=J5bKK zZndyc6n`x&Ea>O*sAtQh|G&J2DO%6J$oL>#78J2hAqvl}7?Y-cPirae6LBQN?9F>U zACr>rI{m{z_v0Gj3B|o2KiWq=E!f5bs5U*a?BS#@8D!u4&@OWn@(w4P*NNYU_IC3h z;PYSNd1(IBALRK{A0ZdQh*Micfbv%^4m~>(eUY`vvzr4%)3>f;){q(9QbP&|1oKDOmTFir DeiK$wx zh>xm^x^pAA5`TfX6hyFlkuG)NUcp@p@tow|^maNT;s^Jhd%p9!bLPz4&7D1|Fa`n) zj>4KISb*io+Bw@eW+8!|6Q>uxFU+kz&8;rveht09Keu}Pac(8?ERH_!F5z}0x0-nQ z9=WHvUr)}h%ztBvw@byPul0I;|EDV-SU1}f@72_Ja$A4AoApEi6dlQ)Xtqy{kHwC} z_H94Ydu%&^s)53(Gra(j-Jr&g#$qw7aS>PZer=7rccQ)#S)>#}lfoztSYjM^Re64U zO>1V;A~2D!IDREnunlKARW-eG(RETo!}_2;m_Ar(7>Di*qc)-+0?VKDUE953dU^pe zj#bXgxFxfkF+FoOoj3iA?-^C2Qp=pEc;!lYWH?hQI>qvgY1$EgQR}@Uv4BNQhM=An8 z>l-cjZq{DgI1`GoX8>ZE#c3v0Ts{*EjW3=O@x--zZ!I-L|Wx zNn>gXzq9Fe?sm~JIbqIBTAoodrOY^uI@a=yJj&S;$^XS7CXnB|$T!Mg`YSZU)_;Lquy^Dq8v2G51jW%e60H9l9`(yq literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_toupper.o b/libftx/libft/ft_toupper.o new file mode 100644 index 0000000000000000000000000000000000000000..d1a913452c6e44dc85d25b98d7b9bd17b95ef53d GIT binary patch literal 2200 zcmbtU%}*0i5TCc(MWE0Y@PiMdJs`%IZUHetNU(-fBtZ|DdN3N?mR;J|Zpn7H0Tjg$ zKM)Ui^J3!3_!k(DB*sMU#&FbwcTKoKQfKIUWm(o3<0S9>-u&k4?d8~esz24I}5+x$ZdS9R4VNA?T@U5oeH%nawu}FE7ZbT>i{Gb$=13=yBrz{4hK(n zjJI9v0FV`sI5pk|5a5;Q4{;(&!GahIi+_xH4F zHYEV5v}4*%G?UlNnP^$JO1YvL?dw;2)!x`SXV=*GpdYmX^*k8%lwEXYXLU=>K-@G+ z@ocf6m*Tpm&&Sfb9k(s5tT}V>QO7DdrGfr6$6UYe;U955%8_ci>-KTpdmm7z^|UiH zrKQuBUIx|H=WI|j#X>>HiRH$UZMkL!R7=lm+>|qoBB*B3*443VsaVO@GIv4E=gWmD zZF(BNvzdMF`JAb9LeEYamR8VRnQLBaKCqvZ;-$AH-g~k9qcgj z#ECf)?g@SnDENptaHLpoPBJaghLWs8ZTI@pTzENh{=_40aune89YBM7zJ*^qZ^}M7ilcADTmLsfB+GjM literal 0 HcmV?d00001 diff --git a/libftx/libft/libft.a b/libftx/libft/libft.a new file mode 100644 index 0000000000000000000000000000000000000000..64fb516f859c6efb8c93ebde1b9f02fb3d49e1ca GIT binary patch literal 97356 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 literal 0 HcmV?d00001 diff --git a/libftx/libftx.a b/libftx/libftx.a new file mode 100644 index 0000000000000000000000000000000000000000..18620f9d32e78e6ad426171b13a3b8e704d95962 GIT binary patch literal 5204 zcmb7GEs!KN6prBM7!Ek#1OhQsArKVPopkzV>xx1kP9P8n1XZ&=Gd;TvJ>641J;y>J z5C{YUfj}S-2m}IwKp+qZ1OkCTAP@)y0)apv_&UkUWVUWAxvBbkUefvc{pKal+#1g7 z_QlC;di;x=p_bj}bQ;HLqL-Xb7-P2?yZ<%dW8f#o9=Ha)47?9~2mH&}g9)$&z5@Pa z?Ao)yDexKaD`OAc1YQL`0)Av{av$&#@E-6j@DF1TM?honCI0_l?D`aV1Nap9g|SC& z0I%EyA7btY#vWzBE#Lz92Kbw?$DRkyfiHmH8N2Z`@H+4b@H1nNUk7dj9~gX(f5Lx^ zJ&^+g@HOxkV^2N@tbosf-x$03)OwiLyRzAymrRMP`m7$bST^l`W5nIEuC=)B>sBq; z4SiF!?$?4c(>|1Gqv2lW28-Yry9kPVP=(BD$daDx7(^87Ytp~y{$zoSe~m% zNRHSpH(OGm-$T2Z!^##IUzbCt>|K^k(=Cni)m~9|`-NGBzc;&D`2ca~Yvt~;Y?oD| zINQbqW9U?Tuxe9o)t4dGL)9yJyC0V4Wj|l9MixeRc^FjfsyU3>1-&|}hU#MI)rTQB zb*rKTv9E@Gugt<=H!x%@&3sYr)ED*Jt&WTyjP90; z19g9S^z<_g1|nQ(=cGqC3Wik-Y5Mp{(0^ z*EXt#-0@gNmuWZRdb64stu-WBC=Jc_C2^qNh5)JSl9jyfzo9tCvejJ_P8^X|2|q zCy}j6zh3U@6|uMnn>pn~=@lZC;r?FY%HmL1UYmt<_kzd;`4AAR;~XWivyr@dbMjC5 znqCKZ<&J*llYVO{>fUGz<%CpGYJo9qJ(YcTp$vxDDJ-n37MO@H1G4<<}M{$N) z>ev1_b2q=SJc*@A+0?IB=1!j!=}D5=a`v9xN#>jj;G$M2M_zwLM0*{v0yh_hO^p?< zIztP}r{hN=^1`QX@Jvdg9&H>F8Jc)z#+B=cqCTVbv&?b)JEb@qK_SPhK_x`vS zBFTg6Dy6%LwmA`;^m_Nv;j(SGDUXBW?Dp8v<~&P7YXj~YHP9=;rJ>z-x{K<7>L=ZS z1$TNZxFVzd?C)2&dLD8FZf?(GKbH%-^J<&p@#e10^u}4(JFnp;wsCs7+}-=IIY#db zu4mlFw24|Tk8FW^^$Pbs3B6p%V1K#2iy6HssxmNExO|$Wnv2#>2b9<5%dvtF)O7uO VuyF23V_l_^3eC$+GE#Fo`5!Kt<;MU3 literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_dprintX.o b/libftx/printf/ft_dprintX.o new file mode 100644 index 0000000000000000000000000000000000000000..7c0bc3cb422236e2985002979ba67df4b9a3c056 GIT binary patch literal 2544 zcmbVN&2JM|5TEthPKb$d62wK~Iw?z_V0Oo{q$67(vhZxwY4GcmK()-QHLW-#om%@o@Id+HZ3| zO7Fi(n7jLH?yFylrSh@K;~#%Ab>hs~nRBz}!5A@)WXDowHn(>?J7SEc0TLF1qv`2= zX7*&})67TvFOHqw4`8Ms!O+DqfaGB?v!^nd44%D=D@jRUFsgfJB^ox)7$`Jq2qF0`6%(_a#f zQ*fHqdeA9E;q~50m2hQ6cpbn)pLpxBIE=et82@F5iP8PzGJ4fg-x2NDx_on&ks2TR zBlThWv((VFRN}8h8e_X&G5dFjCE?%A7!#PiPrA))@<40@Q87UoV#R0zb<|HL4EKRl z>8O%7x*Nn?T)94PfPIWnoT=Cku}pJC**7-3gl{0CA>5;xV_l9l;c6G7Y?t^1>w6Sj zo=MOF1*daPvi<>cs&ngGp)C8;@e}MX^Im8Df`&h0eO|*Kvu}u5$t6+J;v8_OK0eR{J>sZ2Fr0)TNS%j!=HjiFInhRsk>6-V z+-ukDz$Un4$qu>E_hjE=oH~c{m_K>gUPypB-KR=NP$5j6DY8$~h9u{utM$K$JQ~!w zmVOIdRFMICOZ0u^%arfvC&Va!8J9}Stc<82%CdgR>Agry z8&bQ=wst+&X|%-kzs~*VIe_}7JJ$Q3M2uYIJ)sy;k>kFV0CSmNa{4}T@xQZ!^*`}n zaJ=RQ8!~}r(BY@u_!af-Mj;GLY4Ngu39q9NcYn_qlygG&m%%0DC4LVvy(WZUit~R? zibA^Y9kj*ee;$*c{yp^k3y7JQH)%}1!L>!NI9}$X`iZ38)c}4#q3`Yxd%)mJcBHrg HTzdYu{mSPO literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_dprintarg.o b/libftx/printf/ft_dprintarg.o new file mode 100644 index 0000000000000000000000000000000000000000..b3e6c914bf2a911383b5b0f007c6a9ad70c4d7cb GIT binary patch literal 4768 zcmbVPTWlLe6rIg_9XD?5JWA`fp+r>+l~6a2K1c!4@-S>oi+CCQ0d?2*+A%n`Wv_!< z6#9xw%?hbV1oaE};G>}O5FoWeq@Yr0_P!3Q586)8o0fYgs5D#E?9Gwbo%5rUDt zckY>U?>#%SGrK+%-gAG4BoW>uau;cM93^CbpwZt&ySqp)Fr!-i7wyPzgAh}nTBuj9 zY4zy*v8ij>;B*(zpqC2PiqNyd3-$1KniZbc>fs+OQV(A_wy-Jq;sA_k*4`hi=oKw_ zL6h(9Id;KU?*-D_)m3avvmWtj^~)NJXm#v{=d3BrHK!$qwNHRW+dN+D;pc&tc_@V&!vI^rEZsX6ihuGcK%*Dk;yJD>hT`W3Hi>?QTX1z?o=yY@4 z+Bi_J-q>KYRHqDU*3ND_r2dt2-}`ML$zbg`7xH*RNX!;eOM#_YHrkaaK7*)Bjs_5y zgQQkD$gpPZ8a3*W;Q8MjJ(uAjga_`iU~QV~*-G=^GglkKU{bH$2UgTW@fk#2dNu*X z^&qKL4>GJ-yG9KiO<1OTY&B&;%?e7PYC;$aYBqos)lhr}QI{GYKwJ%yTGb%Knzd`x z&=J*q3^M|AvoTn^0q16F;XE#fGj%iea8VF@?QhIL#V$Y>#d;vAD3;6_NwD`|t4IvU+#_&eep-3h7|b?tVf%8;BgZ%kTFSq67&d-hN3A zpx@aIL%aLOpz8}_?f2m4!4C03eL|MwrKRP70vo|@=txgsUkc{oDtEk6ZSu?}Z`}4O zXlNzHqa1`j+zufjoCfkXUYwqX_C5f}=k$8)&`yt!L=%;~Ss6^`^n7M;(kPX)h5X>i zs5-0;Z{AX&gCj4Dg11%OM$%?HRV-!mre4aZNivjAmxsm+6GnN+C>aMfCk%7QEa{Va zr8;zPrBtqzw~h`?Wb@hbxRJ{Z<+6#iSskJY(oMMtq$KGSfwcH5lT0yQNTzCy$;5dLnfG*9GX-75i#p(pxy}7wC{|(W)6%guQ9>Iz@u4@Is)w5Iw_}sIxq*u zlm|>OG4SYZHME8x>i}d;0Cn9Q7*k$nf{B6WqM`u57bfL(rx1_c2hr>23b2R#vDj`@ZtUl#VcFhjO&B^dQCct?_bq{Ux8QiT^t7Oa zOas;@=%LRjU~eqJk1T=zxde_UP`kP~dF}8Ym%zVW0!RJWFduv-IqhZE!!5TAe%Ik8 zf{h;f;3JMF9LJw!tBE+y9>=c0!C&T}HPM!=DOC-c`ai__tpK+wN+ z348~`xt;^ef53&m#QdlW=j)er;jb{i;KGkH|9KbwJ@b#a@Yk4cx$t+Hj~^`9xc;-Y zOZSC{f6efBnC1L8nLo%Z&Y3uGTNv)1&t;w6%LD#kSL5ujHoEajv1pX4L`@lq3cSe@ ziIOo%)RK|YRnw@NL`@bZCJcBzGDg`fHKL2)*jzh2n@<-Sqm>*{^99pTA9yIbxoqmm zXB%Vqrd4yf$%(k0O2JD%(-_Ld6METb%A3pPIbe*((kEkPT7XQCl1`EKpU{jJYJOrR^!UYnV%O%4whM2gA zkiH8q(D-?3d#z_4?jLa?*t4fxDI0b zhSmQ?1fkFCbGw~k?)Z<`f~x-#kKfxomq`8D{XnomH}^|Bz9^mzNS$Z#V=Rsve*fJ6 z96IghkG{lUj6Wwhe>kN)p5yqx&8-O_GDtuF3Hj7D=yJ*Xz-?DQ#P$!bgY^+|*T?f* o-m{3u`C<4uZJ5P#KE`8n*Y5?uJ$K0ai3J{J0ch}+cs{P{AC}dvq5uE@ literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_dprintflag.o b/libftx/printf/ft_dprintflag.o new file mode 100644 index 0000000000000000000000000000000000000000..52149fd57f13c1fe28b34dd25fb344646f8b4c70 GIT binary patch literal 3024 zcmb_eU1%It6h5=FGucg=-OZ-h)QBut?So`CjS=EcW2CH|gyMs+QVKH6W@k4;XJ^CA z?3z|$OQXeQgQ2f+jPo^!tY z-E;2TpR;?da^aPfAOIHu=HbBOD8R2n2lj$*E*NV}8+$Qzdu_m54ZKb;wi0+ZN%@(iv~(41`5FggLF%LJpT|T7E%=tY&`SH( zj|7EQA&51U&O)`;vAs@d+0yN1scSf{*|tk(W|V1Vdg_^uKX~Tt8T4kAXQAO~^;O5T zy@sVXm1QW~4Y$0~ZW(UbaEvQcHNz`=j^5QfYvpqt$L+YYGv$_Po9>EXS!K(tHN3TQ z5MeMFU{Gk(fda$wita#Hhvur*ZZurOgO2T*P1~rKd|C*%als9%{idcnO>Bk^j?vUy zy=w%Xrge4AGF?yeFzkQ(R@y{>T4jZ6@pb+vrO+ydq*=kcz{ZvLwq((!@nceo+$TrX+7l z$2X;{>`AGMQbxWlrM{6)T#_bn_>?CNFA*%rXH!|s6@*Oazd$Sv5B3v=Ks>mm1H)o) zTLv(4#Ng5;;D_JAC1e#2F#+hB7bAK7y+rJZBlsIf;1h_G&>P8O^9u|Xiwc1#gwyrs zxI-Wc;aDL;oNSU|Y@%-k9seT2{ddU5icE8SiusR3aEaNZ9*y7>=PdIdXPQnfya;GN zeFXj-!+Bn+2_)wO<*%ROzt8+?48O&EcKJg7#|&@B`0p|QdJO-F`8*F_&mRo`FvkCc z`CN1UR}B9=#{Z7_U&ioXn7YX)mMuIm__)K4&vBD0QRO!8%f_IYt*0$FOw8 zGuAv%mfNkCK?TawOt)?}O~eAS>p6@W_@>=xgJQQmLplFyb;|Yh<;w@}9m^Cbmep-( zdcBUNws|n*7e0*dUN%>KJIEhIwM^S!X^a)E;pi=6a3&TJ1()LKHPlyHr2ikGU%2Qy z;87p4hr-W+%6{xU}bLVj+juBa5;N5U$V8prfPLtLTtSD@;3ABEK;_FusBg!y-Aw?J8c#U#g7V~$Mq5pay!Z!PP!Bc+|L4Rm8AeQlwCHT dZzHXrB%c2sV)4Br-WHpV+rs!%~Hr6>wYp??ddU{QbhJ3kd7q##oN6%53g-FcJE=K4b%*qfPWo_XKd zci)-&pm_RqS&~4A1jk_86DYuJdfT21%}MA-=Crx|hq?6U=EwUON;A} z`*1I^elBioqTF{vdyVoi`T%m5o_Y}lR_x1!*n@t{2)Kqw47Rg!FIhy+sTiO8>7bP$l)Lij$If>Z^C#9s(z_5?=~F2 zSt?teZOlQzsd|NayJdR?+qKV+lx@G@yVimgbP6W}*9*Lf@j|QNG`zaqY!;f0a@Fq? z!ZoVNVlif!O)2KJ3QPnFUX%A=Jz}$-`g=rE@b_k~paNTk?g%Sr$3e}OuD4K@Uu*y)}l!e&Ji3XZVacY1RmaS^!xDH>NB)Og@i|K ziU!JHq(VO7G<`_+M=Hcswn;q^!-;>K{U=$|*NC6$i;uvMFfQtOpM5idudp9Z3A6?O zQ^qR^{tfoU`3U|Gj9*OfZ?gY!0vEp6N38QX^QbRK1paO0!Z)l1evAD)YdV|w`Mk_{ z^4#<^7!|u5)Jj&l?Ai-pxOUSre7oa=G1qRjY#ag1@O+oUQAWe5w!v`PzHPj5W_rZ) zt+{u>Xf_vGC96`wVOQJk+#nii+W`B~cF}sxhGX*vcD+<}t(Hyv`M{_7RKnr4dqf&o zly8;6@XohL|6jR-3&iiUSnmp7_+JIUIyn_+{t+hnL(nJLxGn(J$zG(t%6Q)h`c(!; z86X~gU+Pto;YfvhCu^e6?;M|HEmV?w7z0U+xF;AC_xn-#1_pZ7{|kdxc^#^s`aN0y z(})p8yeFEW{Ka|q1i+f%t(s|W^vb`*%|P|VC7DliMqqK?Z}Db|1(Mv)qWt+JUF5$K z%Oz91zkokMqu2S(@`V!Lna+=TU*rpX39)2N2*EI4>Ko+5B+0#iv0nRkdhAcLKDqx{ q#FW#UZB!TW*^(8`7w1CtlO*^52{FM53H)=H>tAJ`@@UEA{{I5&WJ?hM literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_dprintptr.o b/libftx/printf/ft_dprintptr.o new file mode 100644 index 0000000000000000000000000000000000000000..720b8481676778b93af33305ebc0b3d88f7c4bb4 GIT binary patch literal 2936 zcmbVO-ESL35TCpAT|V46UkFlKfhE4mN6yYiA<$4#MW!x9P>_N^qPXYy?3kXpK`Pgu?|GMdot8eJ8*9XS#jm?|eJh&2L`Wh2d)t zBBO)I55j4O2JPJ5AB(8-o!oA|o!hyc+g8!MmqKrmfLRUwma1Cb#i<8 z&7ad3emdb+ohKpNgzVJx%L1pONIDj$RW5OpGBtff!{;*O~yA9b*tX0?Kl~yS}gm`Oc_}h#bu9aF#Ho?As5_Gy`B+^X zGSth+0Jw@!0v^X+QIvmDL!{_yVN-gRiiHSefR17)+OVPz4({lN@wPr;RP>}VuWQ@- zabr^-G+xmY#;f{ppsR>Z7q;ED#nZI0Ok|%V)ZwOCg89AxJeD}uBB&M zLytJoK#zm*kYFKVM1!GwP!o|cDQ}Az@1q{!v8=v01b>)GwEOUovVDRz?O*`g-hNl| zj0-;A(oo)D9p%5rxZqPPl1f*F6{1~>_#)mQVsiDwr6pXh-WbOb_$1r+OSp(h5WRFH zfX2~uFm4a0)HtcmU8@6MazTNb}T&dS;Ha;E9@bI;e-zesG-K%c7 z4yIf8ZS(AF%afjOty}`ran@@EdSUP(I`9pgLecW<9)G9m3cy}1lp9vfCWp1a$FzlV z>A<`DI+_UkRuN2ZqZaB$y=3_o!BgfGSKd7i=R43HmvXYrCuFn${~<)3C-s2_PC?uEd``eiM~fA`h;p~O{%cYCR}9QazBCm37ckW~u6|iQkm8(B z{gRTuz*~q#*Mt!K%K10RkR-~zjB|1M^D+79*G{ZoQM literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_dprintstrtab.o b/libftx/printf/ft_dprintstrtab.o new file mode 100644 index 0000000000000000000000000000000000000000..d3ce17fb7d206575309f36e298389027f8846808 GIT binary patch literal 2872 zcmb_d|7#po5TD(>w|7mN%ePt^t8%EtU(9ZjMhI?j-SRpbf9gXg8H|B9v`V+U@y9n? zTU%@8^~&n6r8B>1!`gx3C^L#f_wO$bYa=FrK8Rt4g_aR>Zl6&+)PK1D@v#%5N5=qi z40HjV7zJR{J5=*AFp5X|`}+a%gFp_2y~xrnaMLevQ91zZb+0g?FG`b z!Snc=)33a`Lt9FqHUV*FsjjguFqP@A@%gl1fImO?Lxqd1Ifb*lk((2VR> zr|m|z8@gx5>uzkvVQsmVtk}nsFiN87DZA|jUet1Z-}b$FGhVUz9!+&Sz>T5l0PYNp zRxL!`aaX|aU}i}Wd5eMTl*lLY&bieXJos&FL7eF;4PzC$PnRs7X7?eF3MF}hY-;eVFb0%kA;WDK7JR+G!na zFKGCQTF$J}&gV8Jr23*aI1y{ErI#VZrGxvQ>TJ9{3@F%Y674 zK&+zRmxa!U2FlX^J%Kxl|HncP75oRGUr_M3h5oLBe<1Xa6#QGEf2QD{3%w*b)gW63 zU*Kwe3VE;`x1KCkYxR2QE`t@ie$9&Al^Co>r`>jO90(7bNy3~)ctNuRR?vxE>*;3~ z#-q5_cm*tK(rV3daL_I8aQD5y6@c5SHp5!mrG8yXXxLS8ETsw!CZQ>#P#KP3r9%?= z**1-||AW5AO|tJ+?)kEK*taDhIMp*tH2(;beIRXfLXdqZakb~@?=ssT((g?HP6&Yf z=zgguiT0(8pRMLZrmMo<7F;sb_aGWnjC>yv;FmH`aMjmByjT9$1$a>eQ2x}{YW|NR zMlSL@QRH-6#Qi7%!R7gq(|qU^|AuG=$}dYYPI8(jQqKBa%{EiUp!!B>{F3T^T>vwg zSQ6#;OE^HGSN&$hgOc}5^`luN<0W24Ow9=)*c9jAtA6A|bOu+i^PlT+KFxIX{8NY- oC$~DtF5=pzmWY>iq5O%|Tz^JP`fvyF^R;No--J$aw559fKVObP9RL6T literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_dprintul.o b/libftx/printf/ft_dprintul.o new file mode 100644 index 0000000000000000000000000000000000000000..d964808546845c86313d78cad9941cce9dab8fdd GIT binary patch literal 2536 zcmbVNO>7%g5T5ngPKX=FNf5LRDz2bH0%aXL38b`YQ&pudjS#97E(kg6cc4v~8^k#iG6IsKeMOo!v4*Rjd35`TwiRm~ zV$t5YY{W)JVYL~$L0DdQOt(|+Tb^(C+;X*M%o%gD^I>GHep^Fr!B~WL&}eOWHU>Dx zI#k@YU)kt&Ex%%U*3H?b6;uMx?3>}Bayj(;&|j!ky0&Zk8L29+qjt!@Rl zA+%fIg44qyq9t^FyW?7|GTHuHk<{dyv><7>Zh$r@X*0)0MtAWz-$9H%B04p=R4m=k zTprK2(E-&J{IYNcS54FYDUK7PTfk3KOUCXadgI^@^a(9DGxjp~ZvK33?DJga&rBYJ zW3S=$F+y4Rdw_l zjx$CL>Wcj|%QRh-eQ!S|dougp1tY+A0 zn9ZhV^}+Bg$20vk=CHSFOB9-HF`+imyMQ3k{91(tF3i`7{_FxNN1aGZX( zVYXWMThLKG8%@)wt^n3XqwSepOAWwRVqp5fY$CtejkwoqnSn`g)u?iJ|DQd< zP<8%frx!eAzX-sb&QT@$oghq|C9*Hmf+TYiYr}700uAasi{Ba-HOBzGA-Y$36GZZU zo}o7ufFc&8Et6XI9A>L=@iVC8f^qo(^DC9?4ka{sYSd;MvTGIO8<^IbY zK>gDhC;NX7F>;Y}LNTHbIqnAmm`i@)^zPH*e`5!#PbG;HejSY>tA2ZFV2bZ85lbs|iSvJnc9oL8x6qiD|JRiK^skZ3 s|21Oz%07+BclaI99~>|FsD2{RV-4Ub3PWdy*aHTCXGe+~!7rKrUuAveJOBUy literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_dprintul_base.o b/libftx/printf/ft_dprintul_base.o new file mode 100644 index 0000000000000000000000000000000000000000..9b9e65cb60c030ad05b04fa99568a8fd7f2b5363 GIT binary patch literal 4640 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 AB>(^b literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_isarg.o b/libftx/printf/ft_isarg.o new file mode 100644 index 0000000000000000000000000000000000000000..07990c1cc21733c82e5c3ae60c1a0789da172d13 GIT binary patch literal 2576 zcmbVN&2Jl35TCc}-MDdM=cA%u2rQuDfU=vUK`OLrgDO)ORUmAjix&BuFhcE*0=xJzPW$<<~~%uK8%LHYL6)X;d{8%@1>q3 zZP)hdJGH&7Gf=rRPXH>F-{EX+e>CivwAF9l7ZmjH&%t1TIVsUj?a{}7G^34{m-Mfm z`T)d?I8~lA^z!u4ljRvPYXWE%g0tqzF}?g|>1^rMp2NkOOSsD$towOshdJdz?N)NMo23@gZrV@+t1Rw%b3@3feB^#5;G0rPVYF zrq8m8rEDZYoK%~>6LhMZZWwvJpt`tZEm#Zlr<2sUcxwr@W$Sfl$7^2XgdM91cF>OO z^xOB*W9VkbDE?|p{%vTe70vIB3FPH-#>6?S zaB9#|iwKveYXGv{H%@!?}ghpER<8lzd| z+_Z*>y(m5DJ-U>M;S8iSiF?+-na&MNxH8I^J0r$vHi@3g7!b}m2|A(Rl;@1pUyz*c zGyF;@zxD+D4T8v@8M(A#W6}rA-#cn?atJ&*zU7Q-}5yhc2XAxe|?tvBbV%NI#?&^FLJI!mujt0y3 zH@j<2tA%6U8Hw|~z?FczzSa(%t~(6FL9pkEJ$8KuJ$dP@5xKi{{s=l(f8v?V*E$M z==>#ID*Y@K{EZ(WzQ4*@Rvmwn%10`Qa^Cm!7>q)WO2?QKh4S$h+Qz;AfqZ{e2GIMd z#`*WZj2O8r;8JNv#(k@TDD(NuX}-tBpOC{s_fv`Em|s96%c@^p9X7>~_x&P^-^jaj zJpbNs3VuK9*HIW(zdZ?ZpHTg%7dW2rYl!9Vgb-}W3+4Ma@7qS-apxE1{O~z+KKAq9}vsej{No|c%Kv`ikrZdKmUKiJ?N4E literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_isdigit.o b/libftx/printf/ft_isdigit.o new file mode 100644 index 0000000000000000000000000000000000000000..0b73c21d2f8287b03c6eba8cbc2fc92b2a7cfd8a GIT binary patch literal 2184 zcmbtV&1(};5TBRLrXOjO^h0f}NDdVh>84+TtxzMS)=KeEiJ%~LlWx+*WK;Gdrb1OL z6pMoOCZ0U{CkP%r*nh->H@y`s=uGxavsoh|4!k!rzxjGQJ8$>N!t%9<5Wpm04w@RH z0Q=FVoNb6%NTO%%`tFzAt%L2YgPG*3<7hx>Jo&N*rOyk8l<8}SFXIj`77p)y5`E%K zVn9_AsS_iKKG7coh-e7*$Ff68Vm5v`es*|i;L0$7qC!MMO9KGWQBV?d@pv3F-Nxk~ zsk3ohD)>81ArxVl6hUzyk}J3?k=OO6=4Vr*kjs0P>!k~2-72MPhV7VDD?Kr(jcem$ zQ(nV3@puxoY3(8u-Br_BGfSqc6(D03oy>Z*VmKMYHa5rdhMRG1y{3Eh%)Dnio-;j} zshF1OtQ+NWrflYmZauSMo0eM)WCGNo0RMK7L3$D-@n{7^JtanZIy(2TGp7)vMMMpN ztBKT3WWG0Mp#!QpTu~UsT?p|b(MyaPic18}giqI?uA^=$NuhRjdulRvLme!txGS-e z8u_RSFQQ@=-~W&MHd>U% z4p!m0B0O*fFo#c!k4c@b01@G8L-MziQfB{IsndCgs9#6DMfn1ONMU@&ha36nJP)P5 z7{Yg?ek+7OlX_Zmsu`?1A@Ois(AJE+S6bEcdE2Og<{EVuv_iE~F>qR&*MR*T*9Oft z%DRj*tzs24tLhrs;?3Ncn~}AKM7t1!?d7wLJ4^r5-fW~(9QxfDlRG+?z;rjF+P?mpIkv+wAL_GftP&`q%{u{)?y(7Q- P5`0ez62;LS3D^Gx;BdMD literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_printf.a b/libftx/printf/ft_printf.a new file mode 100644 index 0000000000000000000000000000000000000000..00d1460d6b68b2b9f4c6ba66273bc94faa4adef8 GIT binary patch literal 52674 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 MRIDDWl%M|p2aqflSO5S3 literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_printf.o b/libftx/printf/ft_printf.o new file mode 100644 index 0000000000000000000000000000000000000000..375692f8a00635476e65b9c65963e06208bd0bda GIT binary patch literal 3360 zcmbtWU1%It6h5>6$tF9SL~CkAR{Tql%%*9@`a_yh)@~qbsiw4IJDttWZU*WdT<<2iTk-AtzIgLq)(JKuND zJ?GB-+kHDV^Q=#jK$rxRu)%~1km%X)rxgHXIQ0?bC(#qz$%TbTxD#PD&YwCV;UUcF$NbZ4D>~L^hjGCojog$K6gnT zO|7Myb*h(cwpjJ1GnVEG8(DLe#yQih-y&$#(-hfQono-Ei^1|ZgVqRx)a`Vuo^ae- z=~gP9ZlrErPW?EJ-*P#1J%W&KR&Ren6Q6F)UcZS5jnuVf>RS55S2VXrzLW-}hhsxQ ze=L5_w%C9)7y|GqC=Q0EhW)XpqEAO3-8wzAdn*rZlb|q%pH0N{ISVs zGzt)wfubUhFzDHW;G_fSbqGLIk|?I{0c?B%`}7Y<{up(R^<$ptA*#L$sVrmeIOUE; zCy~Q1_yq95{PbDNpczAe&4ADht&`QzEj5-8+g}YuP`=9kwL&Y zK?sE3M2IZniwPmA=RNeve6ilsjt9~6==A-BFA4fd8;;TYJA9-8aQOk|-(Y&g<;R`u z;eZ^cj*&3TW~wE-nwTqSrF^2Mo0d^7CALo}-O3s&yx|P&T{rFf$x0AN1)wJqDa&OhNs@BelWYH)Y*1TRQBnw6+XD=k3?i+~! zvq7$G7Bw5@<~0*)8ssZ#IhV6^8>%JC$d~kNf<<-YGLAD>D8H_1W*#4115?kdmR8dp zrm8hfEf|)q+FBk|bLiWQT%nrPVPi6JRnROui}Rw)QyPGt&L;KCQqb4yyXe~z zygPC#7z$kp1`Y*#Lz6*Y=ow!R7N_`b_CAUM_5 zoZ(u)pesL{L)4Do!}c%hx$!#4zkp6JRrw2VFEVzbkoV%_$48hr*`zxs-f0=+0YV?+ ze2YsDa-ZN{mri+}+C zYR=S(`lds#U{zbofMOjl68>NN5EHo1iOBaF{ph28>Okksw^xVLeMp)(ccNj6JK`J* z-Fuel7ukItMcgn?NdE@ND2~>T4-14&wY_6P2|niH3K5riV|QSiSEKNwe6#%K>PxOS zRza=X_{aJ9<2(Jr;rC@Uca!KZ^aa$qjsFTy+QxRb zd1EbX>{kC!m-_S@;;sJzYW|t^GQuK09jov_QIEz?Cb+`@&ZFa!oN`w`kL+3wbYq9h~+ zqDHwGJ$m%07mX(q{U7`bNH}=VGbA{(`yT8*_hRBC@6DUve7@Ov`(%3VMnIB)lLQlR zC~*|vPU!HQv5y&uq2+vbb342KGnU!-wYj>tF}?e2buatE+WkU7cF6EEowDoSV+-G; zKIvRE5t5^^8dokr$;>TTW}%`Qxl&OnKuRw)QIqlS0L7cQf-r=;BuTr`9%9sXT#~m! zysk}04%#mFN}z8d}!h@h`y;z-2=oHaK&sd?{?Z{HytWt+Nim)V&Z&q%m4wT?3GFyJ`Pd(4Hq zo*bNT;S}c@lX*SV*@MR8`8?B$_$7w(yemwe5%A|so)_?!OjZSagUJ;Er|(LXw0EaQ zcb(%57whZ*rKshta!$?X4Xp)=q19By)Y>K}g+{%u;d5XXP19g%$D^v38ldP6Q&VPc z%?~$CwXg_Et=6jN)M61Ia2XyLRa5gg)v7uNv`VgIsCCUd-d+iZUBSGjnn%7|C;orv z9fonw50Cnm4bKM-Fiw4Q6TNf7_&jo5h8_5vaa^47UR1c}l-s3QQT+@cJNl0Fk09bW zX@?!`qU{)JM2w6-GLHu1oQbvyD*Wotvig(Ef$FFCCDwliF)~Txa?@$% z_u38Ondj%6-l?DeCuTtPxrzI6K8Z?xcH3?Hfj+j&4z}ceV-#nH`ClZ#Mg0C8GV$Qo zzX}8Scc%W)KZN^pyn>itsYzDQZPdF-v@M|0FaMfPe)_kH`6<3Ux8FdvhUL=o|BLTd}gV;OL@rHgS0g3$RjfwgH0N6XzO#lD@ literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_putstr_fd.o b/libftx/printf/ft_putstr_fd.o new file mode 100644 index 0000000000000000000000000000000000000000..c1d1ae9bcd85070ec3d47008b48a75990293b121 GIT binary patch literal 2696 zcmbtWUyB=66hAYQJK1i!`Lk>7wiOA~`Ul*}Zn{FLp14j%8z*Ja`gP|=y))7!Ofs&`Z zMV^vs;WMUgUmx>`fO8#uGIiSty$mrSEG~=1-xs!yl`RLZA7m?z<*sErw%2a7-0V`` zSTq(FP6pxR(g%6;mW`L7=9kt3zwLXaTGgmP&aJg`^;Xkv=WNg3SSZ_m&iAa26?Ajw z0(dw&UcSM!Dv9bL(Ei^=o5m0U}VV0KH@QW7N3fu{GFU3MQ;L!GL|8pHk1SE zNaGzyDQtTBPp0c{v$(#-V!yEi0ZZ$5nOa~O1PT!dZQU?uT`~t zi{K?=i68ENs4p=#dN0LNAM#7~lK{Au8}q_Rn))sBgGIy%iOae^d)Q%A<8ju7=OOhs>q>C1b=s%)#DX zXlTh?1JOz6pXcBy9zf@(8q4QDju=ryozM*B3m!+`&!~v~g{JSpr1(5`} z33bVdh|Il$bCdS3PuQP+O+@};|4WEz7l!n2^D;RlNV literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_skipflag.o b/libftx/printf/ft_skipflag.o new file mode 100644 index 0000000000000000000000000000000000000000..a9b81e551c70baa6946892c91f2bc946f249395c GIT binary patch literal 2880 zcmb_eO=u)V6n@=3)icQ?Gx=l9x*`L*dXVW(Vgz-U7+J=h4XZ3dWLc5eGt)EEY)?<@ zpO9TyT{7_}M8x1(JbBWSo+K!OLM|S>2!aQ_2nl#tZvg}Gz3!@{r*=FDKGOB-ef7Pn zS5@!TY$kpzZLGwkt=~-VdeMzE{ST^My&K6~-PoR~T0&bO6;ra6(_4 z)(X$&FXSITdu8&uvj7?cl|xr10W$M_CVLdL!a_cu2hfW^gzRIn%AG-#%!JFohhGLi zfLwgywDJ4pM}$-XlcBsqmQs8jTTR_rO{^BGjJnf~t?_kIEN(Koi#q#;0CXkSqX87v zh$-0|EY~70j7oLa@>-=e+Yg+sSDKwOW{jEglTkc4`_>#<^Tt!q3|E4i&T7-OT1FjA zuNj!_ZpRKx+qZ9(Yj$XczO`mW>*l4%529dx&g?jz6SQsDHC?CH4A;$7-|@m`dMZEw zg3yP0+w#Eyw~L`fUf{GmyHSb&hEsbs65+$5 z3eOkD-c>J+>gpac0DeU%1FvGMD9Yc3QBrhE_$g)-__Ptzb=NxO*}1qMpPiYUndx|S zH)`0B-XNY8N)R?0cGGAlMK*MDvszJMnc;7k-ebf162reyY%elRZ|yRD_dbxRyKG9o z&Zd{x)Djz7V(N94(RY~oH7nj=ljvWhSvFW+Z?RD{HKgF=N~8|qUMQ4-@(H3D`0IGk zpmv&weZv}0<311#4N{LrYEXlbl$CUEprRU;R>eNTGU#xYBk?p1H-pn%LwiD5R7`a)3Nbcz!%2}8cxeWEFsfFkuVe6@tR#Q zyl!Y4mtR^g2ccEJnYdYg3k)jM6|2#}hpm;a$-X&U$Fn(Lw^y3J)v?oDtX~6{4XqmL zTOHE>gM5y2r1MTpxxo{2R{&hgl}qm%VIq$OeUW!WT?kyRr6LZb^IPzK;@}Jih)4H{ zPh%|8T+`ZeOf)pY!7k?sC36>WK*ossCI`2LBiAyQ>S9p*$*&*4HSR$1Q(emO8;B7_ z>=V1O=sbD95CGR=eW9to2l;=={b~NR2tT2ha8UHqyx+Nh8l%3;D63cu%+h literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_strlen.o b/libftx/printf/ft_strlen.o new file mode 100644 index 0000000000000000000000000000000000000000..6912c72aba67fffc22e4b23073001d23d88c7489 GIT binary patch literal 2488 zcmbtV&5zqu5FgvIH`#QP{eaR^gmU0hBKGcfkxD@&s4RF(;ec9HkWgeNFNuZYto#wB zm9{J_i?phQXb(sT0fiI)0=G&W5Pt+mr1ZAjR^kw5?Dsa_r}Tgr$^Om!X6DU%lX=dk zn^)gb6$OMSa0#ZCU;&QwsoqG{22?Tfx_$7MeXw(A@9i8yb$gAl~Y?Q0Q$xW(>M)VD_H`-+%uq6E|tq= zfMOMSfYNg*z-PFA0UvavJvf!>^6Nt+R86pCDIbufR2_U5)Vtf66(Q*A-Ck-fkq-=? z-YBX$M=)0`ju1*aq!VFaN8KcdlUmDnf^Kcd!pIv0wY7C~)m*KgPg3XF?RB&^%$K1P zH={W8Szxxn3ObS18}wOZv5?)YyDYZi&>1?($hw?_Q4(#eTYWF^q8{^o%lF()JhHY! zFNizSg}@(R-6V*-Zot|#bVB6aVod~S^_&nq_-|XJV*xyt0VucL2W7OVoI5pF{2H75 z6!P?tP%Gh$%Ho&mPy1$N z{j$8EEP@=fqW*xJaje1EXjzp^}dU1YVH;fy)W_0z!A9`s|FB?~M^@?6F ze$>@p_4$u<6$!<7M>TLaS>hw#pQEP$e@|uwXmDKkgj<8->5_Q71T#bf9A!x^qP?73 zKkY4YVug9s^Hs#C6Q5lHR8W>P0KwO}eLBbIJ`M0>j;D2A;r7!UsbBe1zw`*6_D>?} z4l@&Mj)MP|+vyF=#oy9`CMSOnVWQ*j_ZbO z2xiPiF_^7Ezt8YSaVK6~Fhk}$-1dUbU^=Q`27{QHZ@+iF9>q@U6EJDcn@+op--Pao zMBfV-Cs?o937tNhu7e|QVx`z|5pVVh|G#{NOXTNAtayVD!w-VsDBlzMloKcBQG_?R zBIZ@_i$dW@x$>Ii67vxAI0163i4K{g*ac4Ri$soc?2E|f?}-RMA$kn*JPT_3s5fKcY|6zfvw=@LlBOJs}16dHtWr$cY^5qHk9H#*F&(brt&; r^{*kPU7ZXNcJVnDG5>;~{gcS`zd=s!9mUyvetsbXh4Sc*$o2mP`qlGV literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_vdprintf.o b/libftx/printf/ft_vdprintf.o new file mode 100644 index 0000000000000000000000000000000000000000..e99c158c603b6c5ff5a47969e47aedeaa2c82060 GIT binary patch literal 3848 zcmbtXU1%It6uvXFce0yJb~j12X%pIDTPxbkrfCFeV;d<`C$Uu!qCqL!$?oiC?f$Vd zyQX4nZBpsF7E(|UeGs8&UqpTJ!9uB6Xca*pM8W#7LZu0f5D_F|B%U*K?`AUDJcuXE zoO8bObI<*mb2q2eqenzRAe;npkgRGPCBz?Gm4|F`h(y41RIB`|O)vCRrk1oyX;G_; z&S}$AizIxm1-x#k%PTV)!bVULxU{SzDi4oI?X5=M)gCkg8f*oO>1I zidw54t6_{5|4I{XY87>{s@5d+c168C|HP`dRvn$Q(?G=ZRBdJL_`Tq$RoOt5FE+|| z0&1;d>gB4stW96<~1B7m@C7&%l2$1t>pcHXJn|x$+yp*#_ zJ@Jg5OZAkEqM6R;diM4!eM(>NzLIU+`$|7(1IoiBX~oKkLNT4Ql1iLJb4fEgkLKddCebY8CaeUYd*^E)~s^InW=?rgLd?!pLNzne=$lnv6Q(?oK2Jl=tWZ2NvaUbCzGaOky6e~r*cN3$BwGQd8j>^$-fxWiz#>vofM5!%+$+< zqs3xnJ(fwER?N~9r`ELsVOScIgB;lo}i7*)vx>}n2v#{XZfZ>Bw!`EY> z$ZO)^R$06S9*%7gaUeVctM=2jJpeg;WEU6&LHIk=iVXJ=9>Kj@u<$koM2ExI)h*E0 zW`94GBc`N`s&U(5gp>vQ$jcW~ptAiV!7$Gm)N~rM~7nSVKhq zoOYh2yOZ=GsKBCqV^U_8iqfV*+9rQZ@4+$8QlEU0iWg|}am*pgFmpb&2K*{uKJxpD z*K`~J5&mk-V6QQgCBPez#JYpmCOMyn7bX%}-$7mgugE%2LO$65$7a&VAM0&*)mZ}_ z>4?MZN&_I<_Y^eU3oab{0LMRe;cowKwx~X^yYXQc4#%{fhc_(jD;UFxuK?nBM{sIq z0>|+tL%P>tc7NhI5!&j)G0y>}Z(|(GsyAhj_iTXgXE-0%Zq|Tl9{eq)+pQgB?*BH! z6CVFdOotX>6Zij<>1P<{_!86KV4T-qWBNOcbN};9zwE(zou7H|Wu{;E;JlviJopUL zfAQe&G5t3WKF9PwJotx9|Hp&lcZk%)&JUm0O$R1z9{eYU^K;1kKV^6i^g8F=dS0E_3jF&@b~{`Y{fBVyb6 SYmr^1&VMRS93Cm}`2PZF(+Uaz literal 0 HcmV?d00001 diff --git a/minishell b/minishell new file mode 100755 index 0000000000000000000000000000000000000000..3435c480bddc2a2c67841914c0f9196577665114 GIT binary patch literal 34504 zcmeHw3v`s#z3={J=9^3&WF`SI0!p-?p_UL3EmqVCFgip~s*n?(Lr5l%8j?B545F46 zNzxKVZ0wS*o@48w>)3TU_u9%jr?nK16dy;h^|W-|_Q>rsRn$qPnzq`~YR&!q_T!sx zCX@Q8>)y5Q%?I=Cz5nn1-~avmzR7$#vgQhpWeIb6#ASk|b)m2Xsk;z6KP8JAwoH_Y zusB;(3qK$}e8LjLROL+C;ZX>a1~i=)Df#wk{60?@C6>cX#2k6grp7|1e0tJ{HMWt@)}opGl8tN0`+3lhx+uDJ}0QPZ%YZ!%V~~dC#V#<+bj`WGnL>x_%wH zUM8KV^_kT0eH?tc>Qc@--Hh9>)%qs$%b3<@Qe6~_x;i&qv~*Ed>%y+i?$p+WTbEt5 z@S>%)eLb~HWW8s=0LIjnS8otceqznV-@4@wOZI)``8}V!@BBOZU*6nLyJ-XEk%kxP zjr$2VAL8EaH4lW91&9eN1iuLI>H_qolh6y)yM@)fNNjHI>gs6`u^2(IzGQQ6GPb$7 zvs>KO+nJ1uE7z=Eu`;%#c1i7pplRRS)2(S@ROgX3^`MUYm+c0rS)IkiewakK#;ys= zlx=H#L%=B)oPIM`)w;0E7U530=BjqVP0SeFR66B>DGy9}V9Eni9+>jLln16fFy(_4^8k;}KY@F2ZWuY1JBS+{ z8OJsMCoFU6KY9#B%3J)K)k8nLB|7wcwEx7|y7jA%9NvF!SVWIJ9+t_GjWZzUv|jMN zK1}*2+iHVz2c){;1Iw^+h+fKja{2+nXj1Wa2pAt}8-B7aOH6wXN&359mC4Xp^zm0O zk3N3N8?~N}{_yQ&g(IOzOUUP^{_U48ge@X9eM5BU#mpV3#nbj|K&+deoS={Nuk6a& zK$hsxwz23?DiiJBHYS1t+{z)F5y8PSWRFDNdK)4~Y08nv3EV|A9T|(ZtUVDtR2Eo# zxc^ULXXJ(8z-bDTQ5avK|C9*sISkaU$P4?d;2@7LMsLkw_o3a^f?)$iRa|^DxLa!k zl^DI^uhZV6X=U5ZA_KY7krVxgt)a+?(MDJe<8dEPN8Y;m$>7{oLg@OQLVd?jjZ@LI zhz>+C z3W+5q9H8>iCt#u?r7_`wTM{0^&qh(`jM05-JIp~oe`P?VL> zb|`iAppmXoDwIw|vb&UktnIKc-CJ z2~K7Zdu>+5WmT^PX{)qR)HjXtk3>!(5u=~M4MD{=g8s4e+7tbcTSIG4L|dMT_AfsQ zSKdT&9dFU}@}tp1zPd1ALL5AbTjqPXMd{mtD&(a8=%KST$>PI9Ph^S_0?{-o@B{tY{Qa%cktM>5;tx`DHm%uMu>$XIZ& zT9#l$72E%k$Vl+B(zh~jBd11xMf{P-aU{^V_BfPWvUX%=Rbk%=Q{KphOdIN}~-nGZr>uFLny#e_dp~Z(U{^8EZ_k)8fa!_S&cZFVGK;i;l5L&JjsE0jNykZ0FI4rSFHrcO2F~aMFi*w z0wtR*4But@x9XqnF|9@k9g7AZj${@;GxXi)AJP9WiDZHUIq`@Q0?N^GgAc>8zx-rOHDO2FHQ(vQ*3HR-`ICPRZ!QVu;9mdQ7l$z)HROm^4E z1Wmeouv%ruqPrs@xHN-dq7HRA5*gu$1Gk@2oqhL)k<1oAh9W;pM}8K)>nZw{qy2UO z&3Hei=C<6yhr=l1C__3l90NSFeL2T(XM|QEml^#zjgbSS8Yyz+Bi`HtgPcaq+zH0< z(XT;+Ywipl5^}^EmWsEHWg0P7%K4!dkThl%1XboP9m-g%`!Ec=vMch6GYp&q!ZZY`0U1)31~S(X z7C9;B?vtbUOG{4X56I5^gNQKmFTJ&4Z1Ep5zk)h2gxpiMnXf|OonxrN&d8h8yF2yf zK@f|~t8buLC5u_WW$UY^cQw$DWxfG&*+P2JA>A4UP*y^P2`BBb;Gt!iD>bo+BSfDZ zy2eI-!g|qS64uE^+r=hvc|5x|GwTghwSU{Gi-VuzGalsXf_J-@K0LbC)0151xCNN` zt6I({d9kiW{`tWHEe&$S=smc>Jggw3$r!3t$1u}GPFy#WgKSx<<$(-4xQy=!-RQ@_ zh-8>8}vsmnVfkJvj~Uv{&aRezeHw6ddM)Nnc<^$CHlw0$G^oFPMH19K-4@}g&FTIVj_Ft_ou4>C9Fp?xpC26LS{6gz!keg_^TMfx$NLl$W44`2n2%^S?_dWypfmk`c=vd&Cr9Mf|4-Y{l-v>SrV z`a!NPcC#a3L4Q65XAVE8Kj-+&G^|+l;y|sE96Xj3$K`zUG3Zt#{o77h&W>B^K}X;Q z8aAs10JkKr-H=(oy4E{tt;5AIr?o>LHbd7^pQ`#wVBmFH$rT)8NfFi=!cq{*84>3X z2QM&Cwx2T6Z4P#z+4)(oM^1op!YWSh9WRmE)H;Lb3~6lq?&sik*wVtcy>*DgdgjM} z)WM-=z0rS#KcG5)0bu?;}mO<+Y_U91k2&8#j z@o=Ap7IX)cj(>Chgta|_6N@;WLpf`8#?0u&yy2sfW-Dx}OdVW)!EDm1}@Z81{gfF_BAw-X;T_LsyF>vD;`l+ zWEX$~0Js-xI-Wy%eJxkT*idHI0O`M=9(sw2XmHUFrA~pI)6~Pv<$n9S+(0VLv7Nw+@AJ zseGeL`Gk##I>Z?G5GeK5BE9zH(0BWvu!c6A#O6tc{j0x6e>e&Yu+vb{$n((pzgx5W z(kIUoqP}tU(0|o$SUvPc{rdW$w>Cs~FZ>3;*R5Ib7oIU^J~xWCc>FKkPQ8-&B8d{Vnw|_nECcFNTdw<+-(UQVrnL zHRXXR4@`Mr$^%m#nDW4s2c|smjvlb^mT%LlD`VG1uDfpaHCM-0uBpH7x=T}i@m?{% zuSC=>UUI?G3orWUvWrDccW2iEQMc6vYu?n-8gFv}>Q}5>6}dvR^d(w5Q(K$nUk9#K z7ubX~+j|M$A?Nz?z%R$g`Nlv7X&7nM$oTkrq{or+;lt5ijgRj~8hCzuoM$+J7skiO zke)&s!fvMH#P~Sho8R~1`1m@c(U-=@6G#ud41T0l8So=Lh4dKGomh5`5sx&4?P~^U z9n!7820zjRNE1kRz5;&Yk?u#@GzNa8f!~6kc%&g8%D)3Y(hSmdNSm-K=JySbA{}NK zd%FEdcOpH8^Z?Q^q#2|koWFG7)VvPqair^zMzNXvB2r%5Z1S@1xK>zOL)PrFq5yru z^IaZ|?)}C1IG>J-RYf7f>hSq@z%;vncTmT1ZU5a4ydzwO3*{^amKOMbNF z3pw~-IQWx*j{wipnXLX!2VaJI*C7UY;^N@F7g{8s{T~5*9b)3%9R9l<{x!fK1HLnd zzt!RI0=ybAbbSv0dWZjR;5Pz4l7s)LgMWzph`oUv{HGoKv%n7nKi`etDACgXlfdr< zzQ&Dj$>Pfpv-^SH;l_KmIr2XOd^KX8&*2>ZbZ7b303QaP?cm@&M;!hx;KzVppM$@~ z!QTyh9r{ogV%OpKw);px|33u$_LJk|U&-PBlEeQj@S)#~k8jVx-|65_0-pdrm4i<> z_%iglW5EAB2Y=kbe+2m9SI5UU<=}62@N0k{0iN&7IQDzm9DEn>b+4h%=HSx~{%+v+ z0)M_6uh>=nf#3gE@XrE&_^;qk0)Gtnzjw>`bUFIV;P*O=L5UpvtrE{Z{t@7}10N^; zit^CsJgdvA?(s&-t9Sb%o2;pJltKrtiHUizPx5ddG(6&suks- z73Bdrt|TF6ALN)ZgyN>IDGy9}V9Eni9+>jLln4I*@jzWgSXEZ1Sfa|yq-DBnzBkPW zR=f_J8~kjqSYq z{uN^Uo_iAqWQi;&bv){niahtWegaWo`AI1Pb(LWxLU7Y-HQvViOmJ*{16XS&w*r** zB^aPe;P1E$7F$&x22KPLnxC6utC0_>t-0hsBy-=^)-0j4xwMA-PZD?bA;3`D_&t`+ zAx_wd>0zeg1$?Z=&+#5MGVYTlT0|LA{tDtyQZ-sBYh?557QDF4wi^G9_x0K1!bItO*D&X~o0%_{0Oan?`>g`9)}z*N`65_VXCPvj_mMYHpt!VKtr) zv=yWh8x3@kEPX+hI>>4Tb!p?JZ0_J*;LtElvhgc)Xt@Ru7D) z*83W2i~aAX0P%@wfEkk;kiQy8njD%L#$5=WOn4ZfWVQ^m&vxUj#zsmGE(aMyYojc& z9w>G2{K+G0#nAXimMTao#IN!3i9S#p3)+yMj!^7Hx?fwsvk#BEU^PArkQM9!yBBfE z7PW#~C=3b?vsCd}Rk}&KrjnGl@T+Dnx)Y_qcHI1`6^cKP{D*RXGFW7X(y@^8a-5zVhdge^J5%<)cnMB>b<_&%R*DhP*(LxC=Bs!M~be zYI{EN|Ez0UT@?mi2%hA4yzY|K_)*YV!De7k!9*v!YOoI_L`jEgd*Xz@3pdrqMXHSh zTLCHFhFj4l5?Ep`4D^XFxs0eseih~@x_rAfq7`|M*OW%UYBgR%Bj)@7c^I+ves?J$ zTVT$ADO`tafjKXu1Ort+K8t)PZR8(OvF5TQ{2R{*GZh2)SdBLl6V&oQDdn3|VhQZA zf|L&#U8>4bMv-dLz)yiH9>Go5GjJ0564`F0Y`59?h*Gv1bG}lx8RIih$`)fTB#Kmf z$umWt_y`)$v{M&M`?z2Ai!p8VeDHYO1&p+^28>A6L^pv1rNreDeltqKXLsPP+Q_f_ zAqRP%xXYz)I~abf^;ORb1CP}LJ|1_$YUDw&6@&)uEv@fPIhF@o$fZX%J-dkS5G0;* zsd@l1&Mi`{zfP;#K~?U8)%bO(io-9fry56>5`1~n3Z@iJHGYtjhEZe*oui)ZoixC>U}^HTCgAlTX}R@+fR zKhfQj-B8#nR%I_O;(?jH2{*qL=trVL!qy@2H9&mggv*pyq2uRRsl5iwm^NiS@*a1= zYW%Y_Wfu^vqzXe_N~$W;_rP_ipybHML6f7hRq>!IsrjUmIANPX^UEmY#BJbT0MR3; z_&V}F@o@|zrd529IEbYrhn016!ocIS9u@Mq3s&QFDh?J5tYkCD9b8AXq-2T4Evb(gG0E_tmWXCpXHk6F5ukO626?07&L zu?Lin<0?sMTvarLe9=7w=svU;`JC{Sf#(xHbJ_VIq|U=`k0F^jCkzgRCOVAAYf3){ z#A^H&wO_UxR89k%l4{_~HYuEH;LAEuf}I<`N51enRl4aoOZAi@{OdjxMj`}_wHl8S zvxIbzpO8VaM9b)q3%jMn3IAcub*tq1F}Z?N*9x~u# zHU5g2vvkeWNOhLh+#`pF>TYPJ3^~W1EoGQF_C}zTi}mWF=+_We6euQ-SzpjrpST5s zrioO`C&Vk|x?5>$7+#*ku7cGV1eq1w2n0qa9UQu(dliRN)AfBywNUE**`;na57R^;Yv(Rljp6sDE&*Xau@J+) zapuP%=YMH+>$EyfB_4OdYP`v*s7rcM9)5#bo%V_3aio& zU8uA02F2>>sKh+sEx)X^v=qW>L0jn$S9!}nR(eV4d1tJie)$;?WDAc5k)dd5PBD3zARpq9c_@a9&*msB-fT~%plT|I?V9TQS%FagZKMD^| zQ{KmO|6I=pS-lWtmzG{Oc}t)j3R~{WwcO6N-0ya3QMLvFRfA$xgMyBdvH8AqPGmx~ zPNrK&r4x~pMq|EI#&>?R$xv}u+0|$TEBS7OW-WhLB2=Hqw=65fR<8Fe*B6P{}WaC^MNFp{;#jD7AF`GA#8v@m!4aH~dN;V@g! zf{AhpjTzah{XZcjuOnq^r~7TeN`891o*v)gMM#C6X@?4-e_AXTYN=o@cSEV z-*P+PzY0L@T?R+P8Umx9QDgC#>tI2g2z1(~l?1+^T+;*z zR~au=Aj|rlhDx19HOqkwOwan|%9}j_#D+Y%6gQyl5hi)zvMANp%ZORj)wN~w!o^Eu zUOui`q#jc(>g;amO0~v?XiMUc>h^Zyqr$2$*@`z{vteZ(NqB>n9ViKeQN0E`xZIxJ zX3uJ{&u*}5+w6G__C-x}$qafNsn36}UEFV%B3m(R&uFu&fJ45)+sVK?9kGJIE9tk( zK@mc5G>~GhyrV_VN!s(a0C$vtj&z*Q~sFBU6LVf%z`XC8deKV>CvAUvDwGu!MB z!T2Wof*mGMg3ricMN|UMfbt_{1eHD`t2I-0ixU6!CPZW!sCNxQDe+r@4)V>zPj zyNE03+#&m%XSZE)vurIoW4mmvrh?9RZzIH}JL0`Pg&WH}^HA~sdpX{rc`Sd*LmSpg z8_p|e0~;ifO15+~_r}^4>;W63`gxPqr?aoMv%NE! z)oq?SsLF5>#!!ffS$WA)wInP_wB?;gMy@8($r?eSru z;O|Edm-E>)+@(Vvwc(L`pbb-JV9Zh@IYwbPg~L326}$oc1Cs)!>_At*G|uXAI_+om zIC4BFt9SheP`%CZ&3$q0;QY#&ryt7M8QIQ047S-}qYPcwi)vsAfQIGN@A;PMGYua6 zEqUvJ96-)3XeZ-Ug%^iUxd@|2%@YhNEh!0Hg-(g+l1)4tzL@K8^L7WCyp>5L4c^KI zB(*5nSbllAxagN=&H-sPNV`BfBZ;KJJEH+fElPH2t?lJVtVq@5*XI2MNM|OIGx2_;#rtgTg$ItNlWf%L4SNRr;Ol1Q3R$|I!#97nwm zIEoDSE#N-qsP`6dpOZw=gp%ggF;<4Q`zIM=3*Mpax?-D}`{LQ=Gf#8ae5H940M>7u zrvnHYzrPJju&a>A;^hH^cDo(8LAG2Kpd9S0<-!s(W&k*jFr3~?9@V3l8a~u<>N|y3 z!YsxZUgpV-3NOYqI-zmZ320Uwm|-4FNo7_37o|anaUTP$J;#J^OE1L=dg;9lG^#IP zCQmkRQvRIKAI}a$4>tXBu*ul)C%Pg>2doA$fN+g_23&V$gM9|(QtSt?YUixRWhD0& znByO@OR%`Z0)*2EpX>R=Mu_~IR&`ECPPwBY-+J>H$a`5{WXx7Gcv%ys=Il!Dj7Q=1 z1{=dDR-t~3EF3~nPgDza;U1+5DHhG=J;cGW0&6`^-LrPsa}X=sBHU|N+@N4`_$&cn zIw-LIP)mYM2kjt-Y!0&wuF7ZNB1q3&QI;`BU&Zif9F z20_?V3{rasve#n$wwJ1y3lKL)?DV<4V9K)*~wrjLWudEGb>O; zA^W8aS?rq;!-xw1=hO;Z_0IS7UZgt6Sk&Ftx2U6MbG&a+yf=RP!cFnyqGWILmgdyf zMJrRieW|{sOBQYJ?C$LAh<9}ft`!ArZ`quPHFqUCnn5q8<(|~0u6V5Pw&sLrZf%YA z_4FnMxRNob5iLF4$#{2CbjP`o)3;dkEfF2@=2p>?>g^?IS2JkP zEG@ik0q1Q}5?Tw|^=|pS*{)A;R6?7zAhD^l9fvu|WLI4Db>0z=CB-L*cD9;MUUXya zvxzuo6Z8H|Q0!SjqOGTQb8}K`X%_8?SWjCU7FeRq$@SnB*S4;n+hTA9KJjMJ8*h*G zHE)TlQY^NmS$Z>;Y;MOd_0(T`ZTsH?oiLJkWT_hF*Y*VVUE7{p?D0ThS7Et*D zc|u(~G*^ijJ>A6HMJmxrfZ3IpEMYnOiJWp)gkBs2t3?wPbbOqZqJG5rf}5U0xiT?(>8vka>m2`F$}r(kr|o zQ;^;#0^UM$Z0CLcTseNRw;+9yc&Q*fAjS&9i-mb#KUaQ<^Im^098bqWh3qU7)dk_x zoZrjKl~e9~FCrI?gYddS@`_x-*2mW27; zuUz_>c*m!Z-qS@*L3owm-{H@{yaLZq3tV0?s{j=1Uom?U_?$`LXHI}yfcV63$MX?* z(+W{LO$>*^IVikiBjJbh;Ad;NsK}-NDBzaJ)|dKtt;EL?6aD`Qz^T{yehrCn@vRO^ zOl(KKzE#Nn`zL|#n*{!iN#KVkfj>J5{3n3Ze)ns~0Ew3;q5s_^a1R_+s9u$mz|||) z6Wej&B=i?g0*_7tzhM$MU+gMm=be+l?*W|talfoa|J<+P?pMhOe^A5Suc;Bfe-iop zc10n3zBdW{_$2TbCV>N7Q2y_LutbHJaZ#A&*l044UNgIry;_br@Z}*puYb{Sb862sK3@L@cnI?I$IpYB-aJ_1H(7Z7 zhla1y+aJEi#%m+to{96$_cgsaz#oy+Li|L-&B5yh8vde&n=?YbF3syT4L1j)94~mi zDd8&bzR!Z+=x1{}z?VdMov-2Muz809i;DrLAM*Wtg{C*pZC}y!jYj_Tu!Ovz;W5Cg zb>5wH176`dUDV~xQ+EwFpf5W>6=&XfOj(tD0Mn1=Xt;SQ#&MI^xf*VE%6#XM7hn0LeD~Mv2w$P$ z)w9AZ%5Q8iU8mvhuhkKLJ>YD|{QBO>c8L*mSk_#M--hHZ^y}T9ZA!eKBmRu@~N)=!z%ft+jQ9DPnEdH)CVh+k88=yvg3% zMO$z4=6I|%wR!XHU~!dVa)<3ERhxRO#`We_E$ZD{S!e62h@2f@?!GU(*8`brpO?SA z%WmM5rkpKY?!L{vS97*xic1wI?#J@BTN8IyIeVy_EtA?NsX97)C#6RoYXPH5Ir|~K z33BauoLvnpjm56Gwtj6S7P)$r+*9Xxzg5ImU4M1`+SMyT=fcQe)ddJY5gdy|wS?%Z zYenqJHP@`DUlY6LiYu;*tdFg)U$G{_ojP6{Xo)v0%%W0V>IZwnVfQcg znua4CJjd;QEZ*9jY}NoCqA;s>b=jT20?Nl|%&K;iO!~o=F*5su!4otaPs@EQc@;qJ z^wBS11#H644No{rlAhz4QQi*@gQ>44*3sPEiesAC>TAH>isKCYSur?1>ocy6{rj+>L%S0|g3oh`9Mr`%mD)3}#+>{O8k!JGQ}w4w5#$|2xsf>Y4P22NS- zn_Xu-=Cn_8xDLv|knK;|W3yOn{o0i}$V6@5?VE9&fK(nUAnhhIDOp=9`<@`NSsDGit>OW7NypPcI=l-&I0{3E0Jt8=Ki*3P|Fp@=^N*JJdXa}xeG z882hMSvLd}*tuVg9A-Vo{u*ys;%YQM-i4EwA9vQ>@K-6Y{AM6YjsCrwf3N0`XgZVR z`|lPY__qxVzd4_IN%NOzMq|IBGwH3s^KT`XvN^}$-`(R?E$?_+7pdER4HkDGL!TOc zbKVouj;_;$Mt^?&2Q>c*O=tezL%0Axb{`Y`$FEb-F4`wAz0Sj;OkVjX8d|JE;?D16 zx%sO#f3@Z}_8SHbHsZy7dHiNQxlR+tX|(Gy{08)o$hh^Jzvpp)&qZ+In_oFszWsZF zCBN~%bH1ewZ_nYL82|h7_{}+3hvw(sj&xu7`X9;TH|J%;ixt<-JOX8`>KW)(g%Le~&qXnc rkExECKZ*e}ZKpWYJ+oD%{NkMZGI|ZH0+~YmYqu$irFjf_Me)A@5zK%@ literal 0 HcmV?d00001 From 4f77dde859bd0abc11b57508dd82351fecbb7b72 Mon Sep 17 00:00:00 2001 From: Etienne Rey-bethbeder Date: Thu, 2 Feb 2023 18:26:09 +0100 Subject: [PATCH 2/4] ca compile mtn --- .env.c.swo | Bin 0 -> 12288 bytes env.c | 6 +++--- env.o | Bin 0 -> 7120 bytes 3 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 .env.c.swo create mode 100644 env.o diff --git a/.env.c.swo b/.env.c.swo new file mode 100644 index 0000000000000000000000000000000000000000..7b3c45de901ebafcef65b9530e7a504d72b54f0e GIT binary patch literal 12288 zcmeI2TWB0r7{^bGmriY})CZv=o@`1oJG+~`B#}Dp#?l)Nv1zs{L+ zzVn^$`=84sbgG5NruOm8qeX`6F2?S^_`R;4{&MZQ^S3k8HRp0w)2F88uHw$p=y*wU zjy77hIb)92+@-Bg#t!qotF^UOC%>cRdM$6fl%KI2%d4BVoj0BKsJ?W6Q7aS>3S6fG zEx(rAJix|E#R7R4N)7V6H%worGto^bAQTV^2nB=!LII(GP(Uak6u21`@SCgHlL&lu z6#PPTU)6Vy9>q;4AQTV^2nB=!LII(GP(Uak6c7ps1%v`ZftyeP&0tK$FaM`+LGbwh z|M>U+H}7QZ2p9n8)-!etYy_VTFxCMh;M;YKodHh+4;%oGgHezL8^L-o0509Z*w5fc z@G*D=oCUMsFxU;YgAuR^q`)A!w3e|y!3FRu_y)WW-UTm!<3IyPz#(uDjDaFZ0~y={ z)&K^6lNkF2oChC*H^5o&Ja`VA0w=)61;3cpC=0F>416i;E+zI}{nz#)90$+hIzz5(h z@FI8y(7JgFh)XDN?FyWrOUX0IHT{iQuf|aZqmur5-^IZo}n6QSyfqjqcoZ3CL>(Tw? zZPrZLsTdr$5er{54I6eyLEFZQt1W37>wrAoNxQOzmYN@{y z#GyXaHV;UWD@_u0;_m2`SUF}V=pM^Ut`@l=gC2!@VhCH7Q8CbZS#JnBn(`_9E&s3`}!WRY61YL%;qhlNJkMbeQh$P<;Qql8e>XPOnwZq_w?zemql`TdhXnHI6^ zmXT_4z`4mlhA3=4JWNBbWFYh?V4yhfGLM!Ps*t9nMDrT2v&fE?9_{t+ehdwGxH99t zj2ObLtmqKIfCNev1qCO9q-a#CqJ*7;Lx9$K;8KBI`qEo5YuzMbPfz8&$ zWwEQjHFZ{)rE>^Kb%1CF+7? zD4*`MCrdEiiQ#ct!y%hGbB;ZJlEkQLZ|`~3}!)z z-Y$CGm380A@{#gLn&+Su9Uvo>kzfn^4lT{TEq?7X(dcj&}I^;tc@)+MDcl`QN z&cIpp2aZrm+;tsppHsVOZJp8Fw&iRaFCmr59_yqSILWB7ryiei%8BVp3*@cq5phP| wV~4bc^p!db?bM9As1QEK4zJBuWUZ>POO)tB{r_^fR1~4Z8?{dqY`Q%A7fgj%tN;K2 literal 0 HcmV?d00001 diff --git a/env.c b/env.c index b0c1342..b7a4577 100644 --- a/env.c +++ b/env.c @@ -6,7 +6,7 @@ /* By: erey-bet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/02/02 14:39:56 by erey-bet #+# #+# */ -/* Updated: 2023/02/02 17:39:56 by erey-bet ### ########.fr */ +/* Updated: 2023/02/02 18:25:51 by erey-bet ### ########.fr */ /* */ /* ************************************************************************** */ @@ -25,7 +25,7 @@ void print_export(t_list **head, int fd) if (*(ft_strchr(ctn, '=') - 1) != '_') { write(fd, "declare -x ", 11); - ft_putstr_fd(ctn, fd); + ft_putstr_fd(fd, ctn); write(fd, "\n", 1); } current = current->next; @@ -39,7 +39,7 @@ void print_env(t_list **head, int fd) current = *head; while (current != NULL) { - ft_putstr_fd(current->content, fd); + ft_putstr_fd(fd, current->content); write(fd, "\n", 1); current = current->next; } diff --git a/env.o b/env.o new file mode 100644 index 0000000000000000000000000000000000000000..26d8a699c0eeba283b679ae6ff5b3affd02e6710 GIT binary patch literal 7120 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 literal 0 HcmV?d00001 From 7b3389c75d8ee46e341dd03c36cd0529487e5122 Mon Sep 17 00:00:00 2001 From: Etienne Rey-bethbeder Date: Fri, 10 Feb 2023 13:19:28 +0100 Subject: [PATCH 3/4] Tient Camille 0 bug whula --- .env.c.swo | Bin 12288 -> 0 bytes argprinter | Bin 31064 -> 0 bytes env.c | 77 +++++++++++++++++++++++---- env.h | 21 -------- env.o | Bin 7120 -> 0 bytes libftx/extra/extra.a | Bin 41312 -> 0 bytes libftx/extra/ft_contain_only.o | Bin 3216 -> 0 bytes libftx/extra/ft_freer.o | Bin 4960 -> 0 bytes libftx/extra/ft_is_in.o | Bin 2392 -> 0 bytes libftx/extra/ft_random_generator.o | Bin 3496 -> 0 bytes libftx/extra/ft_strchri.o | Bin 2872 -> 0 bytes libftx/extra/ft_strcmp.o | Bin 2440 -> 0 bytes libftx/extra/ft_strfjoin.o | Bin 3352 -> 0 bytes libftx/extra/ft_strgen.o | Bin 2776 -> 0 bytes libftx/extra/ft_strmerger.o | Bin 4112 -> 0 bytes libftx/extra/ft_strndup.o | Bin 2872 -> 0 bytes libftx/extra/ft_tabrealloc.o | Bin 2920 -> 0 bytes libftx/extra/ft_ultoa_base.o | Bin 4736 -> 0 bytes libftx/gnl/get_next_line.a | Bin 6014 -> 0 bytes libftx/gnl/get_next_line.o | Bin 5800 -> 0 bytes libftx/libft/ft_atoi.o | Bin 2968 -> 0 bytes libftx/libft/ft_bzero.o | Bin 2448 -> 0 bytes libftx/libft/ft_calloc.o | Bin 2744 -> 0 bytes libftx/libft/ft_isalnum.o | Bin 2272 -> 0 bytes libftx/libft/ft_isalpha.o | Bin 2232 -> 0 bytes libftx/libft/ft_isascii.o | Bin 2192 -> 0 bytes libftx/libft/ft_isdigit.o | Bin 2192 -> 0 bytes libftx/libft/ft_isprint.o | Bin 2184 -> 0 bytes libftx/libft/ft_itoa.o | Bin 3488 -> 0 bytes libftx/libft/ft_memchr.o | Bin 2752 -> 0 bytes libftx/libft/ft_memcmp.o | Bin 2856 -> 0 bytes libftx/libft/ft_memcpy.o | Bin 2744 -> 0 bytes libftx/libft/ft_memmove.o | Bin 2968 -> 0 bytes libftx/libft/ft_memset.o | Bin 2624 -> 0 bytes libftx/libft/ft_putchar_fd.o | Bin 2384 -> 0 bytes libftx/libft/ft_putendl_fd.o | Bin 2504 -> 0 bytes libftx/libft/ft_putnbr_fd.o | Bin 2752 -> 0 bytes libftx/libft/ft_putstr_fd.o | Bin 2464 -> 0 bytes libftx/libft/ft_split.o | Bin 5304 -> 0 bytes libftx/libft/ft_strchr.o | Bin 2352 -> 0 bytes libftx/libft/ft_strdup.o | Bin 2832 -> 0 bytes libftx/libft/ft_striteri.o | Bin 2616 -> 0 bytes libftx/libft/ft_strjoin.o | Bin 3448 -> 0 bytes libftx/libft/ft_strlcat.o | Bin 2928 -> 0 bytes libftx/libft/ft_strlcpy.o | Bin 2824 -> 0 bytes libftx/libft/ft_strlen.o | Bin 2480 -> 0 bytes libftx/libft/ft_strmapi.o | Bin 3016 -> 0 bytes libftx/libft/ft_strncmp.o | Bin 2856 -> 0 bytes libftx/libft/ft_strnstr.o | Bin 3088 -> 0 bytes libftx/libft/ft_strrchr.o | Bin 2744 -> 0 bytes libftx/libft/ft_strtrim.o | Bin 3752 -> 0 bytes libftx/libft/ft_substr.o | Bin 3320 -> 0 bytes libftx/libft/ft_tolower.o | Bin 2200 -> 0 bytes libftx/libft/ft_toupper.o | Bin 2200 -> 0 bytes libftx/libft/libft.a | Bin 97356 -> 0 bytes libftx/libftx.a | Bin 5278 -> 0 bytes libftx/libftx.h | 5 +- libftx/printf/ft_dprintX.o | Bin 2544 -> 0 bytes libftx/printf/ft_dprintarg.o | Bin 4768 -> 0 bytes libftx/printf/ft_dprintflag.o | Bin 3024 -> 0 bytes libftx/printf/ft_dprintl_base.o | Bin 2912 -> 0 bytes libftx/printf/ft_dprintptr.o | Bin 2936 -> 0 bytes libftx/printf/ft_dprintstrtab.o | Bin 2872 -> 0 bytes libftx/printf/ft_dprintul.o | Bin 2536 -> 0 bytes libftx/printf/ft_dprintul_base.o | Bin 4640 -> 0 bytes libftx/printf/ft_dprintx.o | Bin 2528 -> 0 bytes libftx/printf/ft_eprintf.o | Bin 3376 -> 0 bytes libftx/printf/ft_isarg.o | Bin 2576 -> 0 bytes libftx/printf/ft_isdigit.o | Bin 2184 -> 0 bytes libftx/printf/ft_printf.a | Bin 56124 -> 0 bytes libftx/printf/ft_printf.o | Bin 3360 -> 0 bytes libftx/printf/ft_putchar_fd.o | Bin 2384 -> 0 bytes libftx/printf/ft_putstr_fd.o | Bin 2696 -> 0 bytes libftx/printf/ft_skipflag.o | Bin 2880 -> 0 bytes libftx/printf/ft_strlen.o | Bin 2488 -> 0 bytes libftx/printf/ft_vdprintf.o | Bin 3848 -> 0 bytes minishell.h | 8 +++ file1 => test1 | 27 +++++----- file2 => test2 | 82 ++++++++++++++--------------- utils/ft_getstr.o | Bin 3200 -> 0 bytes utils/ft_is_in_quote.o | Bin 2936 -> 0 bytes utils/ft_strnchr.o | Bin 2760 -> 0 bytes utils/ft_strncpy.o | Bin 2544 -> 0 bytes utils/ft_strreplace.o | Bin 3424 -> 0 bytes 84 files changed, 132 insertions(+), 88 deletions(-) delete mode 100644 .env.c.swo delete mode 100755 argprinter delete mode 100644 env.h delete mode 100644 env.o delete mode 100644 libftx/extra/extra.a delete mode 100644 libftx/extra/ft_contain_only.o delete mode 100644 libftx/extra/ft_freer.o delete mode 100644 libftx/extra/ft_is_in.o delete mode 100644 libftx/extra/ft_random_generator.o delete mode 100644 libftx/extra/ft_strchri.o delete mode 100644 libftx/extra/ft_strcmp.o delete mode 100644 libftx/extra/ft_strfjoin.o delete mode 100644 libftx/extra/ft_strgen.o delete mode 100644 libftx/extra/ft_strmerger.o delete mode 100644 libftx/extra/ft_strndup.o delete mode 100644 libftx/extra/ft_tabrealloc.o delete mode 100644 libftx/extra/ft_ultoa_base.o delete mode 100644 libftx/gnl/get_next_line.a delete mode 100644 libftx/gnl/get_next_line.o delete mode 100644 libftx/libft/ft_atoi.o delete mode 100644 libftx/libft/ft_bzero.o delete mode 100644 libftx/libft/ft_calloc.o delete mode 100644 libftx/libft/ft_isalnum.o delete mode 100644 libftx/libft/ft_isalpha.o delete mode 100644 libftx/libft/ft_isascii.o delete mode 100644 libftx/libft/ft_isdigit.o delete mode 100644 libftx/libft/ft_isprint.o delete mode 100644 libftx/libft/ft_itoa.o delete mode 100644 libftx/libft/ft_memchr.o delete mode 100644 libftx/libft/ft_memcmp.o delete mode 100644 libftx/libft/ft_memcpy.o delete mode 100644 libftx/libft/ft_memmove.o delete mode 100644 libftx/libft/ft_memset.o delete mode 100644 libftx/libft/ft_putchar_fd.o delete mode 100644 libftx/libft/ft_putendl_fd.o delete mode 100644 libftx/libft/ft_putnbr_fd.o delete mode 100644 libftx/libft/ft_putstr_fd.o delete mode 100644 libftx/libft/ft_split.o delete mode 100644 libftx/libft/ft_strchr.o delete mode 100644 libftx/libft/ft_strdup.o delete mode 100644 libftx/libft/ft_striteri.o delete mode 100644 libftx/libft/ft_strjoin.o delete mode 100644 libftx/libft/ft_strlcat.o delete mode 100644 libftx/libft/ft_strlcpy.o delete mode 100644 libftx/libft/ft_strlen.o delete mode 100644 libftx/libft/ft_strmapi.o delete mode 100644 libftx/libft/ft_strncmp.o delete mode 100644 libftx/libft/ft_strnstr.o delete mode 100644 libftx/libft/ft_strrchr.o delete mode 100644 libftx/libft/ft_strtrim.o delete mode 100644 libftx/libft/ft_substr.o delete mode 100644 libftx/libft/ft_tolower.o delete mode 100644 libftx/libft/ft_toupper.o delete mode 100644 libftx/libft/libft.a delete mode 100644 libftx/libftx.a delete mode 100644 libftx/printf/ft_dprintX.o delete mode 100644 libftx/printf/ft_dprintarg.o delete mode 100644 libftx/printf/ft_dprintflag.o delete mode 100644 libftx/printf/ft_dprintl_base.o delete mode 100644 libftx/printf/ft_dprintptr.o delete mode 100644 libftx/printf/ft_dprintstrtab.o delete mode 100644 libftx/printf/ft_dprintul.o delete mode 100644 libftx/printf/ft_dprintul_base.o delete mode 100644 libftx/printf/ft_dprintx.o delete mode 100644 libftx/printf/ft_eprintf.o delete mode 100644 libftx/printf/ft_isarg.o delete mode 100644 libftx/printf/ft_isdigit.o delete mode 100644 libftx/printf/ft_printf.a delete mode 100644 libftx/printf/ft_printf.o delete mode 100644 libftx/printf/ft_putchar_fd.o delete mode 100644 libftx/printf/ft_putstr_fd.o delete mode 100644 libftx/printf/ft_skipflag.o delete mode 100644 libftx/printf/ft_strlen.o delete mode 100644 libftx/printf/ft_vdprintf.o rename file1 => test1 (66%) rename file2 => test2 (65%) delete mode 100644 utils/ft_getstr.o delete mode 100644 utils/ft_is_in_quote.o delete mode 100644 utils/ft_strnchr.o delete mode 100644 utils/ft_strncpy.o delete mode 100644 utils/ft_strreplace.o diff --git a/.env.c.swo b/.env.c.swo deleted file mode 100644 index 7b3c45de901ebafcef65b9530e7a504d72b54f0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI2TWB0r7{^bGmriY})CZv=o@`1oJG+~`B#}Dp#?l)Nv1zs{L+ zzVn^$`=84sbgG5NruOm8qeX`6F2?S^_`R;4{&MZQ^S3k8HRp0w)2F88uHw$p=y*wU zjy77hIb)92+@-Bg#t!qotF^UOC%>cRdM$6fl%KI2%d4BVoj0BKsJ?W6Q7aS>3S6fG zEx(rAJix|E#R7R4N)7V6H%worGto^bAQTV^2nB=!LII(GP(Uak6u21`@SCgHlL&lu z6#PPTU)6Vy9>q;4AQTV^2nB=!LII(GP(Uak6c7ps1%v`ZftyeP&0tK$FaM`+LGbwh z|M>U+H}7QZ2p9n8)-!etYy_VTFxCMh;M;YKodHh+4;%oGgHezL8^L-o0509Z*w5fc z@G*D=oCUMsFxU;YgAuR^q`)A!w3e|y!3FRu_y)WW-UTm!<3IyPz#(uDjDaFZ0~y={ z)&K^6lNkF2oChC*H^5o&Ja`VA0w=)61;3cpC=0F>416i;E+zI}{nz#)90$+hIzz5(h z@FI8y(7JgFh)XDN?FyWrOUX0IHT{iQuf|aZqmur5-^IZo}n6QSyfqjqcoZ3CL>(Tw? zZPrZLsTdr$5er{54I6eyLEFZQt1W37>wrAoNxQOzmYN@{y z#GyXaHV;UWD@_u0;_m2`SUF}V=pM^Ut`@l=gC2!@VhCH7Q8CbZS#JnBn(`_9E&s3`}!WRY61YL%;qhlNJkMbeQh$P<;Qql8e>XPOnwZq_w?zemql`TdhXnHI6^ zmXT_4z`4mlhA3=4JWNBbWFYh?V4yhfGLM!Ps*t9nMDrT2v&fE?9_{t+ehdwGxH99t zj2ObLtmqKIfCNev1qCO9q-a#CqJ*7;Lx9$K;8KBI`qEo5YuzMbPfz8&$ zWwEQjHFZ{)rE>^Kb%1CF+7? zD4*`MCrdEiiQ#ct!y%hGbB;ZJlEkQLZ|`~3}!)z z-Y$CGm380A@{#gLn&+Su9Uvo>kzfn^4lT{TEq?7X(dcj&}I^;tc@)+MDcl`QN z&cIpp2aZrm+;tsppHsVOZJp8Fw&iRaFCmr59_yqSILWB7ryiei%8BVp3*@cq5phP| wV~4bc^p!db?bM9As1QEK4zJBuWUZ>POO)tB{r_^fR1~4Z8?{dqY`Q%A7fgj%tN;K2 diff --git a/argprinter b/argprinter deleted file mode 100755 index 11c8a1d74e19662e5d5007ee01e96d5892e16f61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31064 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 diff --git a/env.c b/env.c index b7a4577..a043a88 100644 --- a/env.c +++ b/env.c @@ -6,17 +6,28 @@ /* By: erey-bet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/02/02 14:39:56 by erey-bet #+# #+# */ -/* Updated: 2023/02/02 18:25:51 by erey-bet ### ########.fr */ +/* Updated: 2023/02/03 16:04:16 by erey-bet ### ########.fr */ /* */ /* ************************************************************************** */ -#include "env.h" -#include "libftx/libftx.h" +#include "minishell.h" + +int get_index(char *s, char c) +{ + int i; + + i = -1; + while (s[++i]) + if (s[i] == c) + return (i); + return (-1); +} void print_export(t_list **head, int fd) { t_list *current; char *ctn; + int v; current = *head; while (current != NULL) @@ -24,9 +35,12 @@ void print_export(t_list **head, int fd) ctn = current->content; if (*(ft_strchr(ctn, '=') - 1) != '_') { + v = get_index(ctn, '='); write(fd, "declare -x ", 11); - ft_putstr_fd(fd, ctn); - write(fd, "\n", 1); + write(fd, ctn, v + 1); + write(fd, "\"", 1); + ft_putstr_fd(ctn + v + 1, fd); + write(fd, "\"\n", 2); } current = current->next; } @@ -39,7 +53,7 @@ void print_env(t_list **head, int fd) current = *head; while (current != NULL) { - ft_putstr_fd(fd, current->content); + ft_putstr_fd(current->content, fd); write(fd, "\n", 1); current = current->next; } @@ -111,6 +125,50 @@ void add_sort(t_list **head, char *str) } } +char *get_value_index(int index, t_list **head) +{ + t_list *current; + int i; + + current = *head; + i = -1; + while (current != NULL && ++i != index) + current = current->next; + if (i == index) + return (ft_strchr(current->content, '=') + 1); + return (NULL); +} + +int is_start(char *big, char *little) +{ + int i; + + i = 0; + while (big[i]) + { + if (little[i] != big[i]) + return (0); + i++; + if (!little[i]) + return (1); + } + return (0); +} + +char *get_value_key(char *key, t_list **head) +{ + t_list *current; + + current = *head; + while (current != NULL) + { + if (is_start(current->content, key)) + return (ft_strchr(current->content, '=') + 1); + current = current->next; + } + return (NULL); +} + t_list **init_env(char **env) { t_list **head; @@ -122,11 +180,7 @@ t_list **init_env(char **env) return (NULL); i = -1; while (env[++i]) - { - if (ft_strnstr(env[i], "XMODIFIERS=@im=ibus", 200)) - write(1, "", 0); add_sort(head, env[i]); - } return (head); } @@ -134,6 +188,7 @@ t_list **init_env(char **env) { (void)argc; (void)argv; - print_export(init_env(env)); + ft_putstr_fd(get_value_index(10, init_env(env)), 1); + //print_env(init_env(env), 1); return (0); }*/ diff --git a/env.h b/env.h deleted file mode 100644 index 49ab8fb..0000000 --- a/env.h +++ /dev/null @@ -1,21 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* env.h :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/01/31 14:39:05 by erey-bet #+# #+# */ -/* Updated: 2023/01/31 14:56:16 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#ifndef ENV_H -# define ENV_H - -typedef struct s_env { - void *ctn; - void *next; -} t_env; - -#endif diff --git a/env.o b/env.o deleted file mode 100644 index 26d8a699c0eeba283b679ae6ff5b3affd02e6710..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7120 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 diff --git a/libftx/extra/extra.a b/libftx/extra/extra.a deleted file mode 100644 index caeb9df0fc0d0a93bba40952a277879b09ba76f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41312 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 diff --git a/libftx/extra/ft_contain_only.o b/libftx/extra/ft_contain_only.o deleted file mode 100644 index 417b9666d00d28ec0e11e3f77a3df64c763cbfcb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3216 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 G`hNi}+1#oC diff --git a/libftx/extra/ft_is_in.o b/libftx/extra/ft_is_in.o deleted file mode 100644 index f00ec7d4e678e1d0fb8ffc4c8ced77794dc7d4b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2392 zcmb_dPj4Gl5TCc}b&|UEIthPTico~8P*r6&4MA!PDy||^7quKf=>>tccGmU^dtL3H zkQTKRN>D>9)JhyU@B#W20I5Ra(0+y9xFETwhFc{nnVH=gXS0|C5+l7gGryU6^WN-? z{YCBkyP8rUq~J8{YJvj%VC>4(M67~|o@@2(KdLu(>f2X$Zq}YWs13|pIR~2eFFZN<(A?UO_=DOrO8EGB+-}u|H-1&ywc+ERMxzm05JT|U$G@pr zb)-CR=;g|bhs(2St_Yx62+kF&2leu)(p#n151pHT=MaEyfX2|dd4R&o9@Tga^z!La zsRU3ofgIo(t^y^3>Ez{fsee)zAx&UX)J4*i>Eo_zcQ2({oN9wqyMnBs-6eNWv*Za$ z9gRYfOo?2?A~s_`iWgcv$L}m`xIyR*{DtGo){?cf_(q%?m+HoOsh-je{@_SC;L*=X+t-?e*-Q*K9|dw!4Ww<72?{ zBM74aT3rV>@Zi5)hu(zrT*^RQ`2f^rMIGKhHGK!m`7+|Ph>|j#DObMHRu2@l7J2|C zq~gDdyHe_}@&RJ>6>zEX9r39N&5S>QZYra&?~ySR8C$_zC-$h!x<^(F7CdyB~aySx3tx(gC}20_lL=mZMXs&t=X}YJ-@Z zun*;I7HLYt(`H2hX)a|T_#*2sWbn-B!b=&P&N;#QE6k}<<0_+k>|gMcj7#2#^|Lvg z>Pxhivhh8?Wu3q57{ASUGC(NH`BxeLoVnmztS>O9yJzojGoF7JSnF;x?lhccGjKP+ zif}5xY7P2*7w3VEG!|Ci_8itdzdaZ?C0PC-a;>xPuPug=)A|&wUT>q{aMssxemi^O zdY%hCu`XO+uRvL-uJUK{!-q(&VbCl z93k%)JwRbn{T?zXb)x#s;F5U3+lb}wgb-Zk{2fv diff --git a/libftx/extra/ft_random_generator.o b/libftx/extra/ft_random_generator.o deleted file mode 100644 index 9817b916331754962ba1e645cce2d6e071b1290c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3496 zcmbuBU5Fc16oBu{QsOGA|qAKC|fbzgi@3sMDZk+y2FslI5buY~DW&dj~LlX3PzJTPzh<@8%w4VJE^1e~ zU*`TtWD$*4ZlO7|u$(^I2ZnYdw}kM{1$bS>nXU|MC%&WB%FS!dnRya&Jp*3tnFX!w z&R_25&Np(m0poZbPq%X&h`*+_XXd?GwbmC}8|)`K>E1fSs0)%z$e7?NAyc%1?-ouO9qlfQiZfSqq(^^NDzHyMx6)) z!Xv36Dy8~2Zb=OYgEApv8m5yTCQ@ooGMOYKrhwC+oZTd)o=iTK+`jq1&@-C}p_GUW z9T*}+9_upW8_0nnKY)-#8VnfpOL$`N0P()jIk=EU%nVcFG&Ih+|)b|^bWcDi0?=Jipq#+1iN*%|jUJw9QWhNU|VODPi7 zEZb_OQ8#SWu#A%<1;bGtOP|u+X?34#*{(e{s@AJ!)vg$|np&$C%FeWEOoI<`O}jc_ z8l~Z?=|l}rY7JOdmzP~VWsEz-c61BhjY(225e%zR7n$@aVthptFMC~8a3t~H^l2KMFelh3~k)cRwfyR56D3ucm z?UA3RvYe-qJVASI(zv`plk!18$2=6j3FdAp=7GFRV=nD!(v9*N+Lx!v%T(M=H_H{e z72sagk33SBBz2&HWiL7j+ zt6O4+stbZ45gJCGEfM$t5h4++aNRNoW`8&GtoPU83h=?eI=ycX43A*cI4`cj-&=zZ z0!P6#dI!?82ziKUEErI;$lp*8QM}^~HgeoG=PtBSkYgF*{B49F$a~@8{Ck8T$m8&E z4)xL#^u<0dytE+?eg(dM&PQ0l2BwkoF%dlw;5g1cW^ZL0^AP-1JjOU5|1`6AuHnBo zdy~!>`K|A%30NCqw*OX1^KYKQNo;pRfN%#_{)n!Z}uNln;Hi z!snR%afshwHeW9v=R3xSnZ{fO^XXkOz`}V>Cf4=FiBd8O?!>rWC|Jf6Q7ogTD-M)t zq7)nTx&alIdDxB>RjXKtKT6dsH%MdBFwqkNYS2>5hGQuEj~pF=;$1vJ6fBA3dZ`4r z&O}$VSIYer7?ts|rPmEowhV(S za`S)GHxL{=uY9Z-R*LR$z%=GND0t5x3!V+^&*BS&*BRgXcdfzyG{N)9{qC~Ed5!_B zQTY9Nh1|sWPoQ!BQD$>B#um!YJLi1;LCxFT2X&UgdJsZ8?7KgLVaNsM_%#{<3CBMR zeNp?LWeM%D0Ng*K@cy>}Lzf-!1jS~D<>w%THlLqstYcB}N7#=7?~S1FIIauO$=gA{ z*P?z@5x(#EY?3W^Wr$f8ziWl~4ZeSl&qE_Be;RY-zZ1+K-akB^^RvLB)_;l3|0nbZ zCG0y3ol*0@8ZkfK;^Fx%VA7%G2B=whR%DtvvSYAvM~COX1rg!g;UJgTqIR(WRCqsz G=l=)&=(Y*~ diff --git a/libftx/extra/ft_strchri.o b/libftx/extra/ft_strchri.o deleted file mode 100644 index 9047d037bb2761dc3b20d9643cbcd3176f7ea8cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2872 zcmbtWO>Ep$5FXq6oXy|vCZQpv732UyAl6Pos6weqP_?jG3J0Vhgapg}cy|q6Z{(k7 z6R8vwQY9^i1c8(TNR6P95>ZRS4+@1W=rCmrb z_ah zuI6rUO6g^W{+)r4w4GntlJcv$?VYbN|6$57s&n$B2wBbTA#?AwpQHilq0|slQki>C zr3R!y6+liSOVQ9Xs7{Y4sk6OL^*(%ZX6WgY00{;%hh~NV*kp&P4#Uh)7y!`qASkKx zy}i8v$u#1a^afrDybuYB+82!Dw{H-T6@ii^y-b#rZs9#4ug`_n`=Lc3`quHz|N9PU4HCy)R z_=Gm5jb$JA1LyeL6KG9pPe9Epx}H;MIHpzs-LAQMqt!HA-EfSBY}xR1&neB9{I-6< zcU<3{oY0%5ZMqG^vUJNV*SxlFw2>1@1Xc?tHf;}zMb|YKjiLt!+H;`NDB%svkmuX3 zS+|X95Ww00?G<Mmp8km0ZKMI*mA8B(x&%Oe%9lzR<7AUm*kFQRF1x zTXaa0^jE5%6fH4clJ2{XZrT;guNr!L>P+#>WY#imzn!hyzFsyx7yg~%E^r3cO1G@} zW_Emn>ZS*)qlc>^W`IZ$aWzo9g*n638uTn;C7rxT0B3)KPtLvCM=;a9nRC5FGt?GIx3b#8wW!@uYD zXEFQ>ZjW+JwTaf}M~=tq23pl9`}Ja}Ty~6k&^$bEK&!NxO#_b@?!+?;G{>+?+&1l6 z3pBgs8QOC%&SqV&RCz1XU7%4f7E9GCo{sg7NNjI|14g4*b4pDk5{PZ7;apy+jC!F- z`v1xrCW!7&k?%LYfv*dI>v#*&Umjs%zYF>_ABcVsct#Akrr3B+a^2p1rj#G`#E=o#K@8$2MzdGsMbG7>7Fej~~lw}letqS#jg7xN2EA1uek z|H3yXyXCKjpN*f5Su$f=bK_GmO#9}fT_QatKTNy5TZ_0zizxl zyucfX#h(cwnBwzmF=x!gfAZt!-#TV~I=$ob&myK=+^27$cknt8vHt}?&rcGce*>{2 TwL`4Ii?T^UC=^GJ6rcZZzQtPm diff --git a/libftx/extra/ft_strcmp.o b/libftx/extra/ft_strcmp.o deleted file mode 100644 index 00230614ec7ce4b3ce6f901d2fe85cc7bfb1c0ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2440 zcmbtV&2Jl35TCanCW%w8;{=)#ghBy9g|bf4Ahm!>s$%L&EeAw6fKasStYeGyI@*uO zZAFU`wGbjfdMHQ4fkXa=NT5g@T8{h?Jygx1+#+!>GwXTY^~x1OjP%~j{O0TJ?7ZFE zm8%~rLVzRz7a-9j3h+=*)YU@q!EhgMcDIQpBgE3B$u(Rql0q zTGZ1v5=~R?xv@4uo)EWL*K#+coWma5krzg@HP`aiXEz-`XturCg++7ToS!=z#m0qO zi>NJ`Z$mv?4MM-x+AwQS_Ub{o(QY|G+3}t0bG8$fL*Lr8qE7ize=)1f|7*IzkM-924Vr{2RR|Dh{C=wqM79>oJ)F%<>#_fkD$-$Go2zq-TBYBB)> zW);){T`DTzm<}NoaQrfK2K7=Zf7~m?WQH-6(^ce@65g9$6p%_i1`?lR{e={sy6W&^ z3a32hS$~;1b*tZWl;3&=F5_ffx(Gy#y*}XXHa&*{r?Fc1t(KD{#$h+HQfS%8ueXT* zf1*C7=SOCIlZW9a2{6yz5(9C<JPL$YSJs zn!zm@$UN(N7V-2wk?x1wlye+VU_bmc#Wc;F?gP2V`C%A-;kZ2sFqicur+?zG_$3}r z^IzgW;P{Li*y-U;8D(7w(fM=X0L zgy3hcPx;f7^|jGBtbUQ_SJt8W^mWbF{{%7hYL`AEU*qbNoPP;WJW;m(kBDV^M}E^h PKl`L0Q5@ZoZ2f-#7!va# diff --git a/libftx/extra/ft_strfjoin.o b/libftx/extra/ft_strfjoin.o deleted file mode 100644 index c47d615a4949a8cdacaa8cce000f4f0340c7786d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3352 zcmb_eO>7%g5T5n=Z5*eu^G9hZKPd%q!RsasrE04-P(n9pgDOx^TZD}5tYgD^U3qtd zQz=l%1!5vlDh@3Y;s6JP5C{%PJyiuNQaI(9V-A24i9?W(hy+rZ*?rI1ytw(Y~n<`|2=sA#=iL{A$#HA2u4Z>qf&{HRfm6 zSIKWQMsA|98W{7lHw|Ucs4ptlD7#=R8THvENWRrc0gEFW6u9-MJJiI%jzb-f?Huhrx)UJEAi|;1 zUH~?<#nh5OXxk&8CXRG;bO6M*BNC**q~G8b#S3x&Rd4fk`F0$A5mlgMDKCpU{e;TCpz!4I+5RmXFN2Giw|U2=-1Wu>iBuHe?vW(_&vOpq^TtKbZP zGYBQHD%eNKb|I5-oYHwS2d-M^EjCKdKT{4dt4jj_}M+cU;?FR+2b zEH=ipk6Bzh!8GkOQ?)4;{fV{LeT!*D7O%5T42l23deD6sjVacJK<5~X`q3R@7MEP|e>cIIvgx-mf?(z->0_!vt{IWU8U6zmPlP;Zo1(N09-xR>-aErq_-DEx7& zl~aZ0PHb_j{M2m$(NKdEAj62?elkBmR@ZGzfGc;vk0Ra^>c{_v5Ib=P{ym73(0rhg z{|`+=l!pmKk?|)3*vILp3jWm)j>D{p@8(-ddBQm9Byqf&LkD%S1B6qIkRGlGJjLzp zA)E;^uJ?s-%5#X@5Av1T3ct0-?|>iVxTyO&w+#uOY+U;@!#imRl>jE z_5}$S1M-rD*SYwQHbHnmKPOlg;I- z<}~P4)5_{Dj#JR{m2%m{naLSAqq#eXDA|Qdc;0Z`GHuZ9ifih}pPNWIZZ`iK=$18I z&SWPi@rPh)OA?%LCI`%7rclk6O(;}Nyt$ct*0L)3a0wh~I=10vbGXiwY5ia1Ys?b< zjz!WJVu5yD0DR@gqKVS)0b$}?2*)s2#5oqYJQL{8L-@Qjc|2i_1H_~E%G-h+9H-iH zPvm-sgJsSWi_G1J4jCivpB(&F1oBnp>WH`Me~$Nmg$Gdobk61e_aH`;y?BM?bN&(2 zf1t34`eLPd(JKBdf2q`8SVWvyC(tSMFmJBaN6~`Y2(WYEGe>zu`~fmTBA#DB7g1@o zfBl>&-ZSkV%_b2q@ET&R`oGTm&qz+m1pMRBvi^Y<^=Zb-^-aXolea3kT)?X-r#Mk; dBlS-r*T0IGym!Rw=RXSTWS~$SeNuA$e*yd`zSaN$ diff --git a/libftx/extra/ft_strgen.o b/libftx/extra/ft_strgen.o deleted file mode 100644 index 19f5c13172c23f09e4112cd4aab7ce217ec03ab0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2776 zcmbtVPiP!f82@HwXR^&EyPKr+j}=|8qJo)8(g@mWyHZvs+v-7x)I*80yR(0Ac2?$3 z+!kWRwKZv=G^pS~y@-ehPaf<^3KfIrUUKk|i?9U`dTKx+e&5V{*~#nnAb#-X`+mRg z&wKOceQ&Om&c7l{5^#~=Gz<`D0k*V(U5v~kIVZ{V`Kq-B~T&H`l_xxxUgj zdz;cvRHjd%=2~gn?5%7=?&>(f&C(9h_ZDKXMZjDyZJDP^{ao*HMAsMZBe89+zqYk{ zFdg}NwSk~iLq(T6c=#%K+dDsQ|Up$UpabRj~McNs9 zcn#att6;cw-)MH)wr|*;eQCO42S(so%U0Mm&W4^J`tx%}yXCh0rtLU})2h^iu3>jE zW>5#JP0NESIJOH;2UiffeyicywL;4cz;9i)mjdX70kq)1tu%VegV7Ur@bViVb@S4( zv61vm`~r_6PlJT^8D7rjugPb}HTecc0Ng<;1#jU~lBB=0zJpLNvYeM|j40{6qEyF#5zryehf&YTx&jkKD!v&`4U6b!y zXS}!%8t65<5;m5sO2xC6LHBIO(gW;y(5szx+s2+|5qOO-cbw63>zzTvfbMnzTYvTS z#c4mVs_%eK-L_=aYIr|2_9Z$k*Jgy>T&jCk+on2I%W*o@K}Bpq9p?xEn!(%%}ncg65qjCekgOD2DRPIu85 zwtqY9GUMNw_K)rqp3iv)IdM%$!JlmYO#%rKV;krjHh-QSXg&|kPj|C8KmB2q^Sd2X lAK=)Nr&&IqkMc=4juF5&Xo!19zFVv*ZxcYFJSr*9|1ZJkDkJ~^ diff --git a/libftx/extra/ft_strmerger.o b/libftx/extra/ft_strmerger.o deleted file mode 100644 index b477be0ec4157b5c36f0b6f6b833fec41003bd32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4112 zcmb_eU2GIp6h5=Fv%Bq%gXL`;0a2O}gV*62gyUp?o}oie>G4u z<~!#*=iYPX-aBXJg+%XzK1l*sB-jDhESCj{HeJ)>OpQYnBm4F0kNS&0gAYLMnmX{$ z{Jh#VIl|z~5eBD^GdOvQ!Ngex^=Sr`8HCe7Sq78S45nrXx~Aed4OZC4;LHIAr$-p?eF{9V(QD*80^F;lHPjmr33r~1-*a@Ok1 zF+r?8^tmqYjE;XEsy6G@ijLIPTdoD^wMRpGbw)?OUL}=9;4@L6UIQe0NTZstd{kM! z2T<|mV~z=8g?ybzx%nt)X+Da;bz)g+702qif)!%!#6^Al@T^ZgcAiy?X0;Nfc&D5; zR9QLeQ1O<-923L}<%E!O%b}p9KdoWX;ya)H*$O$H#;$V^&Z;F8daZ|L!8rJ{F2^-{a;AU()viNB1fV(u8uTIEdcHR!wtqgJ#^a)iPoD{$nlR!X}CO_e4Jhj*X~|KR1v3#VsqzUNJ6 ztaDo_<3r$e&61uVT~eRNyWe+W#IasRP<$u)nAQBIW9iIlp-A+_nbk^G0D|KPboL=2 zHB1nq_%y}@Lk;gb1XkO4maE~{dUHOJbKj07xdGf zKqv_PgXMxvUe`>rx`ZhU?dTAQ`IA#EEa+sd0(#H01?%lc1cx=~G3FGm7eF?)rZm^uq z+1Y{{iFw%wD3)!o%{*@Qe_AxSftDIYI4m%>NlHzOhz3;nGY4xpZ4am=g&dIATBG~dO8({!J z+3?nK{3Ru{T?q^*&4E3N4{>E+Sh*?ip`5`f+Akv5a=VQ%Ah%yq8n-K<0SuG_yOpNE zJ|&0){DF+p@HMKtl}4IFK6p-Plp6+cw%v*p*yE$Ma4TJcZy@7`U+0%NkdUcMEh92- z1ENcYphz)WhNZ27-r(pm(Y@EpbIG^I^#^1q@h$Zkb&L0){3b$Vo_;Aiut^Wy_`qjXJk=h;<3)~Y$09b-e-#00%(PzZE6oa z(%)UOlS9vfMorI1rc(H|$}Ae0%N9&dn8QZeO6E;STPEHXf4MZwZzl&qD;>-e{x9+# z&f;{g-*6aemmSe(FPF{cDk< zIeYN(io%=LW+9<#x=8(Ox$*b%4WWMR6?dGAPomS+y>S_FL%CCotvTaIyzdl+4)gI_ z_&68b=XdR6s4TaB9sK;c`%LRcJ<=WT@`sQUYeEW6@%*<5PQe7~3(MuFpKcO259OzC ukeEM%oZLHKL^y)ig7oq6?z+%;5;6bB$hk2rfZwM1C;U5Z(>Qu0G5^2Cxc>wI diff --git a/libftx/extra/ft_strndup.o b/libftx/extra/ft_strndup.o deleted file mode 100644 index 18668996e1037166b86c29110f70d90512f7f8d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2872 zcmbtVU1%It6h1Svce2?eyPHj@X=5dz(ibzki4kfOW2CH3x77zB5(*{m&+HHG&W4?t zkQ7pF*OqJ|VvB+gTJb@&_~4^&A)pZJi!Va=F$hWmKE#(2QHbZv+?!0M>w|dU&N=5h z-@WJlojY%*FTE^F5(trC8jd`H0-WtSvS(a#2I9z^)my*n&EHdcYh_PwIXn7#dM~yC z&3%a7>_eWumEI@%?x*Ceuk7f}Eop-?>=3NC(%X7-Wjn~OQ*0~Ub~!ktzW!=Ew$U3N z+id;`tLX=^cca8uPq+2S^iJ%~CSq&p2VY6Cn+yZHXS}G}Z*4G)#BCa4)iv9Cb5p|1 z?cL804i4N{E4`0;UvGY&y7HaWFFhR{U`jOp*l@I8N~i#G32kjqVZeu`94+t2^j#tAQXbj_?0B-uV^1BIyY=m(yy`;4QDPEPBM(`hYBP0;DQbx&?z2HP!@?P+-enQ> zB2(2lHxRndx|_(%uJ3po^ttwk8=Nn52qJL$SH1! zan5o739e~t{k!zczu=;u7-y05bgl({i~H_tfVRNbI9>?wzuf4wD+2lqh*tzhJw(tI|TYZ!~5HH>Ojv++d$EnlzI3@mugz*ojs zKb+}xu9(F-XlC6uv{zo69kuLi{w>g`9Otuz0={3RWAtjpG&o?C=ZlSO&7hI<*=n_( z_vOGE)iA4_&7oedk^aB(84lpTe`35Azo6d;fa_pM()&f2xX*${m=aO zT=3c)9O3}+==|{Mb4B2kJ2)pI405pMvX4GN?lgvi7_qN&@ROsit`+1yk7%d)?{Toq zJJ9^8K7;dr5;3Bru=(XQzpP*TL9|7Fp{dS0_5XqQr+3LOqMy(i3<}%Nd&v9yF|vc) zYaX@`r0;X!Y+wMfegQ9|(P{tY_=OVZO#4S~is&zJI^W=&5P}rH)W4DAlOVT@u}=9H zI^?IfIhg-4V#=k1I;wZD9m*>2FY?j+Nrdlt0AHdJ+&hX5@kwoxgF^ji$YB0|04CN+ A8UO$Q diff --git a/libftx/extra/ft_tabrealloc.o b/libftx/extra/ft_tabrealloc.o deleted file mode 100644 index c8fd1613deb736a1c477b7dc53e8287d78ee2008..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2920 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 P7ZfN?2H4;yp~n9Yklmcu diff --git a/libftx/gnl/get_next_line.a b/libftx/gnl/get_next_line.a deleted file mode 100644 index 713cdd5792b07a91d6c16875e0daff5e6c418692..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6014 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 diff --git a/libftx/gnl/get_next_line.o b/libftx/gnl/get_next_line.o deleted file mode 100644 index 9d2cf9aeb7789d5c90a20996397f02824286879d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5800 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 diff --git a/libftx/libft/ft_calloc.o b/libftx/libft/ft_calloc.o deleted file mode 100644 index 692fcbf7e75f193f8dbc2c8941dafa9ca563af45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2744 zcmbtVO>Ep$5FXoWC*)^$lR#)Gpp^;&fnq0VN()6Hs4O^X;D8jABB6ADyxCQ~-fC@! zG?0RtQnU(G$%&r0aOiguC)qRe%{OnJ z-+MEDCqMt9swg0a0@Kj31PbuE(a~ojbq2D?T(Da|+Z(^;?AH3e-3r_G#`->FZaj_@ zdo#apXLj=KiQU%s_8;NCeJ{fmcC)tC{dq%O)J=>SHfD~+gvXB0jy!i9z|cWuXm$jkXX=Ov*Dx}L4?u6UTLY0U zzqS!jPcy2R8fiVfDV-4@zw#PcYUWvd8|wCz*m@$isvWCG-M$oAL&OAFD284T=1OkC zTh6UGO~2Ogaubv0xH&#{DvX>H*Cx@LGEYM#SSl4R8bU zte{y~DTJ%m`LOAS{?w#ZuX#1U>bS1u){2#2H5TADFj?sNwPnvK=W1R6er?TJ3OWhE zt2^~#1Vd0L{>OC!+#7uyZp+%MpsZ$<69YZHTe!s!B2Ett+BSGToxQ1^A2ietkOA-| zLMgb2Z$(l5Ob?Qvlfg%^Lcd8LV7cx}eQaVf(xZ*D;tjKEUdav14uBt&%TC3tQe1M= za3)BpaF0p~4K1VS1AV{iL&l>1P(?pEr$4!zQ5sK2&=bb@cZc7jy$9 zIr?|?EILN#bd?+zbrmhexS;moisPxfzCS`V1-~73b82vRSx4L&U(q8V8XEM-P-JWH z&ueU=C)4{#h*3MCA^1P29yJyI$p0Z|zmoS#Or`S0`%C~V<=Uh^MVPp!f>`B4flo!{Buh$WrE> zLA=}gZ!>t71EOCna^>}(M2slnJ5i0s7aVs-04zm*A*p`5#b4q}Pkk#nM4XT|I)$F( z-AWcs!Xb0tj^nS$^eqO?CSpky-!I@dQR%jSKX8*0=S=%YwJ+iYei<=&O$fnvoc|j# z5<}+F{pgmz-6cQuTsi+DV%q#+1I4@ebOslM*cVzq4LSd(hzU+a;MW!x$G|WM+PE-ptE;^L8IquFc4j1Y9JT zf^CmefTFr>Pe_ z(ZKji+IlZqpDMqo`qw?Njc<5S`E~cB)F&O!52#AMaA-K+C-r9mWF29DcKWcAKcAb- zofw)MxHtr$s30>mHvo_s0VO|`%jGcBEqpSR5_+Ofq=J7-1Ch)zITFnSNt?&FBERl# zdvP{3164D0gRoe047XA2Se|dU-Qw7|Ue?Q_r^9G)Y-Jq13H=Pzg9Y0+95-y~H7L1t zztn8EEWc!V*3zhH1*O05~OOo_6zn>Is zDn631F#N(u_HON{qDg9DU#RA?x7ET0b+E1~*{fyBXslpQ{I6u>r15e2B5cFK8l`-S|`o+0BI=vs(Xc<&L9dlC(l z{#XI$qs*skLPA`)if|;NF{eDV4w7TBqVo_|1#oH?PWP9D*X_hE%redS6XxGc@W;$A zGEL{bb>?V~F`irx=!=#aHWm!i^sEl(fz=H_ueDn(3tO5E`hf?!XE_G*ZMWVQnhbQe z9a#G8_3Ee}7`6MLJ5HyyU@R`;MQrSt>DaEtfYn^6dq&F=5@EOMSSv70)JrYW|0}OB zfq3pb-zq!ww;V8?Y;6rWG2TZ!e3}`&&p0n|gK3(Z%t=G<*m#9$u9C4j4kQ`Heq$5v zFwIpm_9PC7{mtXa z6NS&?n)Zj=V%*O(m=e1bvj^f`i1ILSR!oXE|9*}GG}89(27`Q`X#e&K^Eq!KOIzw$ zR(}P@MM=iia4@ZYGo?QLD)RO7`c-7gwcl-2tN3imY9cAEpCnoT4YI%X4%r5S?`aYW K&7(V#tp5iwLCqon diff --git a/libftx/libft/ft_isalpha.o b/libftx/libft/ft_isalpha.o deleted file mode 100644 index d9396fcbf069dafb45226a5c89c04022735487b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2232 zcmbVN-D?v;5TCotrnS)|ZLPL`kq3)f$)&9oYFlbV;ztmLN+k#-T+&N&c)66^T}TDL z5S3z!`rx~d{sV&GqYwTA{s$uHo4y4s)S29Fb2;OK4(!g%Z)Rt9XJ_voWUgJ3B?$yc zum~MZpa88lW~UUneCO2(x5aR9cD^2e(-Q~P#OvY$SQ(E;q<5yor}yzPK;e0K0gMa zFpxQPbr>LY9F*u{Boe_$w{Upd?Qb8268=dy5RwHi#rpGwN9=IeEj@%(aT979nMo>{O*z)$NpC z*VmH;-AOrht)aQi)J3;$yY|d_~Ymk#gk>wk&WIf6J1A}Ru0h{m7F7x#tbEP4Qx5emU^oFz&672QXSii$(>Z46J? zraikARbmp054bE6&awCc8!54)SvFB(<2g35z)~d^&N3xjX7UFnxiZ7JUWC8QbQ>Y~ zxzo$6bndastbo#`3q=8Js~)5Pbx$|FMs>&+zg;85Le$0>j};&r$6r$$AkL; zbyY98<-ArX)b$3aj^1=YE!L`49b1?iZKn=uT{ktZ8&;_Xs#SAz_44)Qr0r2CzU zd9b@_)iwLEOi{}w3DH@<$B6d#H63&=pBSN%?MP}GU)w+DwehT{L z(AX<~x<`KcDhBgs5mT=1)Q~;Iu}h-=1wi{J3g+KJELc18d&$AKq#)5cdLzO7zX7<| B#E$>~ diff --git a/libftx/libft/ft_isascii.o b/libftx/libft/ft_isascii.o deleted file mode 100644 index 7265176ec681a02da01f52505728add8fb363288..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2192 zcmbtU%}*0i5TEUK%SY)4A0mh`95BWhwtyHF4Azi}5aR)ZAx6_|%a(3zw`Mu58;K-1(|rTmbv+m-d2eQZ^Yz~Byxqv%ydIGxV3J@4 zjxpEqgiMT{2od{Fc`BR|oSJpmTa?fJ1-~qC z&QllqTmXMA^xFaanb3y?r<(q{;{p$!2hIujaLt6?|x`Es+(&)CHiI^Ce5G>b^jn zMipy0S^@c5mH7YC4kqw_cg{B^KKeTb1P=~(3UR`Cj@Ugb1fDa-(<}&1vB8{VdL-;Q z!I=epRWt-K^8F+N?h4K<=zA6o{`qFVv}no?0VIVV{X2*TJl33J$~h){K^7+PYM#n(HjZY{|zR9xo7|Y diff --git a/libftx/libft/ft_isdigit.o b/libftx/libft/ft_isdigit.o deleted file mode 100644 index e2270cfe2d36fb48b5034c1da81c4d37e1ae1d93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2192 zcmbtU&1(};5TDIv(~q=C`eALYNDmbe=_aiewUrtvu~x)GrBXyGn{<;bCL7t0mXS|;1{67wIy#!@llo%-5f#b)Saw)W%*1Eor$!bBE{_1n3Pc38H~3P?(U3+>eT{TR@F6)&_x?<#uPQw$vL|~W>6yV?PLEiy`%^g4Q(Gp0Flr-AY(Yb@& zIgUIn0yP1yBvLOT^Sv<(9nf6C6@_u!B}w{~=p{i-#U=SJhF{o3*I`HHq@*OfU8Os= zq9iXVgGD8FU6ErYCGt^`+=zmSypZsH6X_`YJP13LTfbY|u?%vX&4vs(Mj?=arllPx z(Cqi+Z}tQ^&d`mzzY5P5@xG^kIXo~wA#8dE1mcyZ=55D>&i*sPruz`6S%2**Yz2Sgbs8y>v zj%@2Gu%GQ%pjvuG6LE%FtbuCQ99>{x5bgf&X{sd>Qehzhgp3>W?2uG>GFl;`4zb;%H&wLrVu&Z{83*E(YKZ3pmJPfNpEJ&_H_32+RSbrHg`NlyF#Zz2|;Q42Q a;t9d}Z;%W2j{M4kd`|{~;^>V8>;DEPIk|}d diff --git a/libftx/libft/ft_isprint.o b/libftx/libft/ft_isprint.o deleted file mode 100644 index 406bdbf721152eab051533bcb7a4275617b2769c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2184 zcmbtU&1(};5TCc3t!-mIn)=bINDdVh>87m}w3S+ss)g!7si;uuCf&4)$wqcJp%t}C z@$;gB2M;11y$gc3q8I-W?|Ktj(3xbW-LC6F9C-P?-|x-G+u7MHPfVTFlmamYW3b6Y z1^AlS+>bZ6GMy&J-xd=xcVuN>ga{_ClhO#=bgA;xx2ocd9#ZA*~D6(%6wd% z`J%eifpoW_r?b2Frn^+G4L~zd%(ad8=;@KH)9uLrG!rFFWFm^uylbmnxP!pKsWn@6_D< z;E*|B4)h zrtbN5e|V@+bzH|^uq%~9#VMA9#TJAT0VabI{M$X~IRJLF0MzYEpcb=g@Ahr&FR(rP zP^U#kU4YZ+>?7?=s?9+Mq}OmIpbvkQQfuiH0d*CZ3f&AJv1uI}E!8v1NOjhYT$^d6 zt{S!hJw)ili1ii!PQK{WwCe#IT?n=fw5u@3qcE<^{MqZreH#$~JR zM4AibZ}tQ=$v~4Et|G%ldgv3t94!;QpZTtkZt$L9Pe`XcBh2?RQm;08i~A#g(NC~0 zbsNmjMf8WvFGutT%=3&?GhBC&_2_-ToU@Dd`B|%2^y~(hfxQ@n<^#-9ty;BleA&+r zJTN`GVlj8zat%zk7TD&wi_`snV3lryS*bLtv)0@kerfYt+$)Z2vtTdGmOZO#hpOQ; znphyPiik^9!vD1wm>~S#CEp=_>F-2fjLvojb<$*x#C@DMGH0S^Wy46Z(VTST^7#a# zK-8D!BC3(^2M)N-C=m4>#)I&Di(fl8>>Vuxt|Buh`Q5=0E(fYpuev!Q4 diff --git a/libftx/libft/ft_itoa.o b/libftx/libft/ft_itoa.o deleted file mode 100644 index c01396387b0e946e4eb226190c39205fb2d89ad2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3488 zcmbtWZ)jUp6hH61+?O=jlC~TBbDD<4ZHL+kNW+xFmEum^&B~v$c+PaYZ z_%{&2=92Z=9Hv@{cF7BgMPx8<2;QJzrnBTt5>RF}|#yZ&+1~@%-w5+XSC<{#2vUAUi4y`C_tuE_&c> zWYcc2_rt0!@u#ZSmM}|~on^_+a`MVwR$>W#>{=J+f5cEI9XJ~YsYBWlUd5Df``QiR z4yhBjL5`rSqM@c!?O&&aw}CUA zLZJ{qnDBCD2GTD3hlrpe1*e@10C!WvBF+^rvcQ-ia3w4K)@`~AXC5O$UKrzPQb@LhUK6&|K|1iiiBo`9s$?_f zYdeQh@N=AGN8|TVIS}x}P`X+)tI?6XUd%?vjdCSdDn@&HwYV1VzP)NIdye#?v{kzU zM$J^tEa}<^#EPSp*jTAxRANTiINY5!%$Ql$$Mxz&Y*)2hsaCf3#tOM&t}-uah z0KJH&-Xtx+pE!K58D~k7{t2%nMqzMBqE_57o7!ZD;}PzXm_PV7Q`JEhQnO4^XW1Hc zng!K978q9V;fgWVrVg_J%JMV|?MJDPZ9-`a@{N70Ymfy78CnF@2hd{}!(^F!5hD&V zd4@$abS1^0tq2l|&Yi!qb?ATN6jS=x3e?T8b`3*glAl@d0NM;P3H?CXH_O!E6HKl$ z_6k$KXYz4J-zUphrl_Sge;HvPTyA)^Hz6S7ubunbd&-Rz#9NWVKRd5Z0p^8lS#gf} zH97^TLoTQHQ0#Q&wa)-z+i|onH?^e`*TL6vTPn+G5)KgMIAL^UEMb2mD!6d!wgMMl zJz?(ZM6)4W*ieX0nvewE?TA1(2@&Dc>jmAw7s8%8KG8;p*>_#Ddm(n)b#U4rA`z$J zh>+x5;8R?-d!WnyMUH1Y_Ahby5a+a?^gQCc9O1Z#f0WBFcyN)I&LNSo7kS@u;3obQ zm*4f^BJL+1{3MsZ@Zhg=Im$VmX!m~hdvH;g#&J zYo;+_f;Lhr6b$T;?mo(`E2iCEk!7lfxRVnnR~#*YRxFu@cK<^|-4#Q0rUsN{e27DJ9$8H{>hKt zJ%22qzkx&_;h+?~B)G`pdA%J_JdT@-waXnQIVjG((0OeKP~pYMb^}lRjd0}LYr7lq zR`nm{^?%A8sD6UH^~Vq+lQ<4H{lW8p=mv2u@(WJ=tCjy7{7{JRNQ4o7f)BZ33LE0z zwK`NSY%K>n9q1YGNKl+y@{Kfg9|9YYpTsA4rgZ|w_ zoQ2nx`gE)O6FiZ~L;2~p^yW7ZQ}#4U$d2M@(iAro+erRI-uyF&dH0U&;{396{#rYJ I6w;gjU#AhELjV8( diff --git a/libftx/libft/ft_memchr.o b/libftx/libft/ft_memchr.o deleted file mode 100644 index f264816a919eff1ef2ed5d71b41cfca373811185..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2752 zcmbtVOKcle6umR!8QXPg=L02e5Xyp&K=MqI21HvZLB+)lEg(b?EFkq~Y>%+V)qJ9~ zh*A-Ou);43Kw`nJ5>|OUPVdfVqUj72&~vWb`?K78^+qqeUhd6pl$T34%DvM1 za_Rb8rEBHiN^9hc>{|I)X``@oG)C*??eT^!ut~?*1q5ER=bcBZ4 z_EdyMXi-o<$4@3&TTf+wAPPk_BPN}JxoYSJ;drfGahu}{w&y!tcYJcnoG>Sfhr`G? zd2tHSw0S=?g87c!skJ<_2A13KtyZ^V`fSy09}mQUwQsZo_fw z@ZWZi=e{L6Jr?}JGoUOEDq{ob%=`G`-HtpB68c%-(fr_>>WTe^x_}-4SCLA=3;0zO z<)8e1QuLeSP^{4R=v-F2z0fI6PDS&mo>p8(%W-S%ux`WdNwIz?eo(L54YL)uSXL#D zL@Oxzp?#aWVa)1d#uIwhct}qf59`?_J%^M!tEY`tG)>RyL$i7w2~!_1n))D`Q?tg3 zuCBhMD@&?@8;x`J|GtiN3jW&eXVqY5Lwn3xe3SQZ1T?^w>mwRq<4JNa;^9R8sOHFt z4Et~%-B6Abtwns?aYJA>#*c;(t=| zUt;{M#J|J1D)H|zj@|*Bi*-L>{-Wf6h4I@G{|)1hC4QChmlD6i_*;qpjPZ{W{}JPH z)>N}(-5Six^#rqSSHtFfrCRmu1uz49F#xmH?R0ExaW?uv@=Y*3yIo<6<2Jfry4}Dw zAAfSL=m(YB%V1L9%~$Gme7l;EbZccML4+VwBxAo1(MNqc*qE9|psOQYwo21u>hzDlQIp6ut zxpz+Px#ZRC*~e5x0U-*Uf{rIpfNHd3&jjWSB#=3qTmLz?zVcgc-M^7rpS_-2UAYd4 zwLzrpWcP@;yNR#dMiwdAA5kMMdo8z7%AmaL|0H=NXD#+WcB(kJ~OIQdEjy(!}!sCe^rt6r)v8YM8D zifdLIb;~uargc7Dv^>*m7M2SBvU%EXy1qM=G3&NtyH%@JGi!FS;w^^?e8;sH9IKov zRSV5dRj?fo+(~dV;6SZ`8)_4Sh<(ADM}pTxir3754gYQX;kUym*UE*bL0KMB#s{OZ zP5c3mAx;lT(5Oe^LvN_359#VvWB~kxcm$rux1uP2#t)IA-yI*t^xYr&ROH7IZ!rn~36i<+4>Vs^N(Csf3Ye35CV_|6sa4$25I`jep6adY+Bz zPXs!Gx^I=m5$emc(L5Uq-pM>W=CNBV?Djl6o@ck^waO+_wWANRi2glOzhM0@umtAx zcjXM{nQAaae@JEcN#W|f-mfDVf#3Ig#WZMd{6JU>58wfe91Uts_w6zkoZ3L@BIgU zR^qR6{}~Ct$o+zZzsLQCgnz*O6$$^G`x_E|mHQt_xajjG34fdWS0tQnEt0Q81)^`F zZi?g7v+llCI4<`SjIveq7v>AaV$)gz!?Tt>FiMSj-NJi<2k|24OcWSRt5)C<+o?3b za2lRvJpSZt+Vu*hm%*U3>MC{9k## z@h|z0@_dN~W4(UV9^B;+TkM_%s+HpT)ZcCq-!Cv1jb8oxkRJ%qC+c4xJ|bV>3y6tc zpxKr=zWy(5Bs63$%|Ng9w|cBkx4OLkvxsSD_v!k24WG7%^Dh9}KZ(5l`-sWCBi;<( O)Mau|D37)zum2YdSwOJ> diff --git a/libftx/libft/ft_memcpy.o b/libftx/libft/ft_memcpy.o deleted file mode 100644 index 5217585b1a952085dfc74885e02324b0a37e7180..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2744 zcmbtWPiP!v6n`_b-(-_*c9Tu1X)Bt8wMEQKvW=jv)|I-t-L@iPBpyoKKi}>S?#_n! z6Oux0F)B?9(p*GA^q_~Lc(6zd9z^iqf+9J3%tc6V^<+SBeQ)Oby0eprh!1Ao`~BXZ z@0&N@o88NWb1$fh0#Xz>1$`u0fE~SW=L0hj8H}7SuK!kCzjUv-?r#^@=eLS$m+nF4 z-AN2Va~sW3GOrgfqOfy!z7Kvy5>pDB#UBe@s))E-JXzSvtQ`%}X7T#@?zR0%bYSrL z?$yBT7T3O4Ft2;}r(UlY_^>kSoeMuGrlfhwpo698;(0O}bacIZ(okUW5Pm<%xd2x#e3sZkz#hpsYZ}08LON z=%3(iDES51D5^0`YAC7SMitmPzP*ZXd;V0lRkj;b%iM9Tjy*M-GiHpL>EnLjoP8^Y zXwG;7>fU0Tx2sF5MiorE?wZX`o4Y1=`08|pd#2}mQh%0vm20DRycn#eprk2>K-b4@T64Rb$$r4MISVDh>sdw1O z1*W1$(a)+nZa!RR_x)|867YL(w+D9x_cu7;*3h$;Xb|~GL;^IRNf{K{P&QIOcn8SI z3L|JoSCMl?d^m4tpkzY@lAjj%K!j()CUq#nQ=O*-en@EASM;eL{|Ekr;N`l$z`+Qj zE&0oW55_&hza#jX&@%q2z)p<+OyDaq{wslH|74w8g8w`g|FOVd#`tRj--+=z1)dU` zdK2wWUGVX~^-n$+HD2)>i{(ni;mcrne8mH!+G)2rPPuTpo&$!%TV;VQyWRoA?s(jI z@um4`*DF`w1cT;nv0SU+cd9WE-m+{i2;N+*JLNX-ZvaQn!20<4K)u=~{r`pf9X+42 z;(|E9^!1HOd;sy+C-?}+^Dbla!jSJ%@?+8vnkFh^H4yq^KynN(3Yj4gk-tRVHxZ6ZxxUm73of32OB_z) zU-F-i)QpC1MGtqxA=j1EN|?VC510AW->Asvmz;~nUi~{J4utFz^^bn7WxnJa$i?@B z6ikXkxk(@*@mQLHz1Gj~u|A!(`1-FRr=9C{P+h_6zR2@03EDqNeEkoQi}#M=w#EK$ N5Gf4)MNtv0% zc5!tjxNNr~)~EGF5fs4{#1~x@rJxV{BJ{D31rb{CVZ{d*RN^^z?rkTt@j*Ov=A84L z@7#Om-g{2^M&bNZvLt~J2~NYICs2Uv(L+1W%sh-CbJ1A;#pwQ;H`XuRHrCsF#`@x} z(Y8i1TcrlMmcrR67;#L4)n_=%(Q=_ii@L{yMDG@k}g=lWbN z34}%;zyV@M(Dsu7hNeJCoQ}ui82ARC2tG(*yF9||@asDSWJRFlNzaofB_G6hMBZHK z^Xk6$z8`zp_dZ0W%9~5f8|U5y=B2*$V+QlmGpkSQ)7gjHEI9M}EP8YLBT)60n`X1w>X>>Na(30t)mu%| z&6$q5mMxiH&U1>LVtX}rw(YoWcWySeALB(`EaGf&P&}iWr z+O})eY_pQFY{adL=CTJCc*W8TlOBeRnZpIA#GEQ zqE2b&nAT9o(Z|10q@+<#E~v@^20u~>Rgf^E=>(}-T}^z;IEe){^0+#*ppFpZF-<8g zsl%EwwWP|JBWdU4Vf;paH3Q!7Ar^t(dILhBz`=L)g%w^ReIPmt1e#DFsKDK2L@OE# zaD-VyBNdpJogrc+PN3q%HUNKN*B~LAWEh`=ibPw?NVs3nXrQEg#rTA0xle74g!n46 z{MRvVi*ZhJ|30qiJA%9P(7)g!PmI&yJXYgq3;a!vvwjl5uW-D=wcualz7xVf;r`_i z{weq03E`~CAog(xr?x|K!&e9Ee4G1Uhw#t2pW&MJCb&Ozz9iv&(|AdhSJptUn5A}Y zxmYSWW(Rb~Y!r3RT=hUNx0+28TM1{lp2Nd_hGkbNvKK;iafHZ0rZfLULzI>n|Lpkj^dI2U#+)N4)B|5vEt2k)yGZ=YZ2F9g6f?N?Cf z{t+hbzli0zA?ilp;abC=%f7l0ycoay^v?ka{oK;|Ve4cfaQd+fuZakMGZuijkKDbB z`ve9C<+nKay-4Ib%zYH`U|kD(hOhrRPoVV^6kb2oJyE9d2}+h6nTPo)yG!&bOMG+o=^J|6!HB6>!LAe|8DXNCC-`l zk9v*B7x=4)h1Y}-T;TKnK~6xzT)H2F=HDJLKlSqP{4XG;obR4?_ISRSkJe8j ZeBT40J{aCRiWz)STjZcn9t|0u{~yRyPbL5W diff --git a/libftx/libft/ft_memset.o b/libftx/libft/ft_memset.o deleted file mode 100644 index 35fb8a73bc46e2fa1b3e6b57c2785f099cfa01f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2624 zcmbtVO>7%g5T4!juAMlw6Q`7vB4i{GNXWZM8YG~i1Qk;!6p&DZ%Aqp;d5%}u>*C#w z(n`=mB&Z3X79l`FaHtUCM@YbhD=G(i<(6YENa2XoLnRJoX7^3JdGZA@((}ys&CL6m zo%ejXeCAnQ(||>TlQ2Te0$j01_Htw{Lmng7DuX{OgE#IB!rPU>+FoV5e5W!f?^b>< z?@$!toyv*wUViI-MBC-tS8pPAR2RX0!q>t=mWztmQc)_eAzY_MxLIvriobFig-TwK5BkS~>vDJg#Xy07mX)Hk$=V zAAyzGcmjY-9s&A)z>&g%Omyz4$X0*OBB3)$Kzo^xmVXa_4gLD&0Tje&JNC6>^bx9* ze*M)5&3qN3a}g?#56q~1bTzGR4(UScrw1R3^bbS%n4RE}c@3ebe;X9%)E|%&daDskqqZV#Dr^3D; z`b&#W*Y#Y#Ejk^i7 zlRHF;z9$aN3H?5u!|8N3x}}B1$d2mg#C3CAuh9vc0!HV=dZGA1vng73JH8SV`yF89 zH8V50XIj>(nX;ZUC$`Kin)<3aWwlMiI%lR=%}Me-Y3je2ljlv{TGe&j6wNwL-bOM7 ze-Fp`j8W?ya2sG8zzmGIR~YVV1Mm_kav$PCV*aSM$VJ_TdJ;!+6}}$C$JYi8ltQec zc;ZVEA4%}0v`O8Q;3@ubiD^G1RH*%Oqx}exC@Rl+yq_=*gVRzoe_7%+g?~%p=yRjZ z@$X9hbtV3W#5^Cze=qs>mG~`*KUMh8CH_+32NHj$@Lx+@l$vUjtWQhwYJI?Nih8(S zt<~#&u>p13_Fh24K1ILr_FVE09*CevK6)dSn>1;Rf4!dl4>YK_;xrh8Pa zHJkYMtRD#PxSo)NXjfbPT33wLz$<0r{Pa55{>3io|1Tfn6v_VN8Fyu~aebMm`Xq(^ zB8cODXWz0k_&zW{&4$#JtIkQTkEOpWH7hmtF?6UL#qvw>6DLZo#vVsLc@H^!PLiL= zgq)1Sr!tZ`sUJp7A@dTm`dQ}D-(ymEeb#rOb6kE^Hm99Tma#-}{xb=ic$N>6&CMig z&SQ%Hc#*rHhF_Be)i)`8e&&2M#?|jf**{z-s^0_-&S!odIdxA+!7aJ|Hv|%*#@5j{ yZv9(h)~DB7U7z~XI5X^_x`Jb0xc`};{gbHce}bG^JBqs?FBR{f^5~AJ>;DVJuLdjt diff --git a/libftx/libft/ft_putchar_fd.o b/libftx/libft/ft_putchar_fd.o deleted file mode 100644 index 12b4285995fac1293e6f3d1ab8bbdfd51fd9cfd8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2384 zcmb_c&1(};5TCc3q}8-(Y(=XT38*MYH?^(cXB#Qi2!2C7S;A(sX@be7Y<6SnHx&Ft zX%B)PJ&GrWnZ!hMxMGwM zy1fc}ynXm_011Uj0^%wm(WffQxBcBURETc*$ROqAjmJEdz_%*8mg8oOnr_WyTBhBs zHmuB{QEfyU86I;z0}*S zZ|QD3JLTFdtVtyisTvtrh2*;=(&cG|w`%mw8VR4oS#pycpxRnc3aZ1ok0n^!=z z(_*Nnt9uFCw+ne%B-AB1l}bNQrg{?wIv_lcD+c@VDTG)_^^&5l;}V@!;v0LiX}#-e zpNMyF?jDFMi4$>=_^c!_+IRZva~Ul$__Y@0pl*E74znu9p@T%ALRXmbunK>U%pzL) z1NpsPAUBIE?L~Dyc1uW;LZ_^*`GWK8$!2`2a!-m+B;Frh-`MXfV18KQZ2>-TmLC32c2FzJD?ejdfmi(Aw8OoEzN#J)hahYvl@=6ow+bG z+;nu~I%u_8t6tDcCA`aXaKo-TW=Bx1YB6C}3T0cbo1J6ciE!vOJlD~Ss2A#_|Bt-J zG{O1dtgqzoykkOY>RV9gz7xmu$hMr^@O(2Lp7B031m~3fMr2Wgk|00&j`Xh}VV=$o z*F^RTJy3YgeDtU97#gDD-^zgN94K|zS3^Fk{=BR|BLk>@x?kb?_aH|uBe;UHO~$PIC5nvjrTdJo^T9htdA`c{BLo7%@6VKjo2dR( zB+1{I`bT%13$c+&qc@fS}+(VGj!mo2u@5yFG8mgIF-Hs($sWe$}t5 z-rPQO_A5;YkRsp&Yxo&1GBT$dOHUh%FUpOjh1I2arLnlM3Z;8Qe*OtA zjpc>a<#^>8Wh|dr`Ex7k(!-aD-&p*+eEBc2LwsJ`Y3RlBM|+DqM8yQqO32bJj8x3} zZoPPZHt zcjSpuPP;!yt;?v;i&C#k%5ZSO0&x+EGIB8O#C{Z4Tb}LDROj3v?DqZYfeCBe8Xr3t zC&2@^CeWL-4nZesUW+5wZ+p#7+iF40?}WA4e$NeSZs5+3Ic`*o0(;Jm2engi5XRx; zM6K8LyWy*t=~@{%1Tv z`iS%+p>u+%V)=XR)OPbG640d+$-#bHg%Gcc+eu*>^^h1Y5nnfv542R{CoTyizxAnM znimb-oH0t5jEecKp&c`JnU@UBJZ1>4TW{?kRcEq z9k!@Y;_I-vi+;pNc?A0x#44G6lQTnX;VpbRITGqwI?p$2sT?K{g>Y&$i6?D`J`K`( z1EVb~Bs}eZG*Bw3O8A72vA-*WXGR-7&fvs9&i<#Y=~HA+^^3RQM;Mp&%(H)5!GB=? zf`b3VJ~z#J{Y#8rQTX@Sud=2Zvvp1~uGXJ7!D_osJkzutCvfM$3S7^&B6kph)#~?p zE{+p3!YJTyn$h(;eX#s~nIg#yv70&lazpwm(56JeDe4fV5@s9*pt0PJG2Vt^5CB4qZ zlmu9-vqM*Ywr?f<4i`1f0P*O%(yWl|PF1qES`&rta{N4NsZ{Pk45%1!A92EU)>5fl z3j?F-|DEfvast&)N2=EU8Dd0{?}=t2Q=Ioe0<7i!Qq$ay%74rRsxK=tPwJBxly;Vv z%MMW{pmM`B|C&nAGw@|5mrVKo686y;b$*W+l;4@okM0ziFL4JkwI+n1&ii-B$%x8L z{_QhyX+9gVKi#$J{?uRk*|k2ZJNVlWo*#KGR6mKj|3kziCn50i8-q{Sr#zZ5b^reX D>dNln diff --git a/libftx/libft/ft_putnbr_fd.o b/libftx/libft/ft_putnbr_fd.o deleted file mode 100644 index 13a08a232b68ae66b60f65d2898a6a0bbe7c333a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2752 zcmb_dL2nyX5T4!jZqmB3H%?U&g1~Bl9;&R9G)M(P8x*A&R8av6qKL{_+w0iEURU1T z$VC_;LO~&-f*ZXQZlGRzL_N?}YNY}vZv6#Fjl`in5rl=A*_~Ifx0?eJBfXuOZ@%|t z_U)UuA1|FcDN7Ovk>EJ=J%Iw;)cW>oZ|BB8y#nof}iA)7S6&;hEl%P8TNx+|vPf zPx@lc=XS5{MSbbdzc%j(&el>Nyeq)%QKEOc8+WELfmnMRLGT~>jobR!ThgfXOlnM3 zQuxIX0(NICG|q`#pL0M6B7W63Niz)jsYZ|1|@YonM~qpD>xE30EYd| z+vnTS$1Mb80g@xVO`eoiwY%c(W(?98k& zZA?!c_59$>N3-b78P7q*Eu8aQyVxpJ%0>xtcE!n6n+?m!SuN}QRMB#CZp&OVy>@QV zYdM}XH=AqJ?3z=x>h)Z`R;;+~Kn*MfHq>kvDrNX@IuYXkkFRE%PIXcd2vLOuOkEC8bS$p7N3$N{hb;iMO%zR8Ym6l(w99CcUVbFsY87?AR#g>kUY*pw^|g$8YrE6IIfbgO_CuD-9}&eSU*z0v`0@f=d6C41^UvV*?;M3JgUd-&f$# zbNB^D^cZ#ru}mnh|1A(Z%v?I%l%dB#Ov zzta(0jNlj8e9q0dv zoRCDhbdSX4zZa9A?$T)f(}*djdQDX8IQqg3A@+spCyD02ikRT|1b(b=Q{H5s=FyVT G{Qm+i&`v)9 diff --git a/libftx/libft/ft_putstr_fd.o b/libftx/libft/ft_putstr_fd.o deleted file mode 100644 index 690c6b7cac491b9d7bf84d8080031754be2ce549..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2464 zcmbtV&u<%55T3W|-K24AyJ-atMaT#W7qU*%B2}eogGykFDv*j&1*FPa+iQDUd)@Aj z;2;GmnF3ajXvKvKqBoA*IYoj4XHNV9R8Y}FEA?QhNbbz;ymb9A2gFG4&CK_{*_nNw zS%0#6{!L8?kRsqTJnCKk@EdX#Jj(a$76f&bLrAgV!t?2IAG|7 z($j|v`^CHopcRp#TX-^Wt{l<}C-bl6UtTz~0FX04W8mBY0HX+`%ojl~oX+R-7}mv= z!v!##yxrc!R=0HoG+mCKVC-fxb-SDqw3W-3ZtOfY*=-u_|34=?seU;;s);K zV$F>zQQ&Mialdjl4#GG*zFg^gz8ALLPN&lGYR#yhs)< z4yFpkM;Ac!OXBd}nc16oh0h{Ri-ax;UN4kB)6VWQwfB$#&_XB&FX1kPcvRR&if$g4 zm?#q8H<3MBs_`c-3S)Nej$xYXhHkbD?R{eoP3>)Ck9o@|n5PW=cSAG3HN*#+iO-dB zQ}sU*r;UvU%6zI4KH-b(Kb65VqYTevaN?h0|2fulyV+ZMwYXJvYPG=K z04s1ijupB62&{Uq+jVhJn1S=i$7zJ;H+x|Dy~wrRdS`7hjGX!vusWTMZq;ctaKc;g zVcm82y43ohyqqr{`%4?i7=NSt!3H4)*Pgaz;}YpGN&^?`~J z_YV%Z##$6FJbzhoOXXZ49ee`?vK75GG5|s#MGJ) zf_2V+g`AA2+&Z33%m3Sy{Pay#^HYE6=f^!%*KzI2eU6v;sD2XZryjufXsCBbXTLDG NLkDd4P diff --git a/libftx/libft/ft_split.o b/libftx/libft/ft_split.o deleted file mode 100644 index 4194ea34b11ddb7bcb07368cba77d099bd27e24c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5304 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 diff --git a/libftx/libft/ft_strdup.o b/libftx/libft/ft_strdup.o deleted file mode 100644 index 2de40af249b45dca76ccdd013ae561975ea682a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2832 zcmb_dPi)&{6o0n!xoOiTX*-RL0g4!~3$@!)q%pQpG!@)zplK)w4pVUwC$Vsx65CZb zR8}q9pc{u3aXtzQdp5*Vn_j`Z7 z_x*XFFU*~KO_n4OB*Ag$X#xev5A@{OP@IK4dX|i}-;K^61!HaHfpKl+L6>aC+J@2D zknT_-4$O6p&Po?@mq*CHF}Fp2_e+toNs4i84l}&5xq37Wxl4y)$kjb*GkhU&w!FWp2=hY($9s+;9g`=Cd~ag zekuIW9PZ_CC?|(o2*`>+Nt50tP0F=!Ov&quk@g`nCa*U_ZIo=Ny%%a@mx-x94&nKz zlDdj=nt;LUI1tHNXd6gFsT{a|P^dVjTQ4kGZO?AGg{f(6Qk$H3Aqb6AA5Eh+qrC_< zf5G$H)nHMpfbP~jz0qn~o^G|Ra}#CD*ZsD+WCqLniJ3mA^s{fS(Xb!Miw0lJs|Wgcyd=-Iw&hYg6&M<195NrlvzV z+%!GfEZuf1PEfU=w>aD+B+su_t(w+|T4+!vj7Z5z?8%`!Y+Nm}!bO%YGW7-P?nKak$8oqimqahKeku9%J(DvlvihgNR_PjH0BTl!vhP zXqrCbmx!g{ukAi2P++IPU1o(}-d!LnN_5GRFyaqi@OAXcKjaCZAvPA9H#{4}<{#ld z%5zXV;jzI#*ziP8$8c=v9h_vMA^diF3uRFu;ZbX%fHW4d(4X)LuJ4WEjLXCxkKyG1 z64#&NoK7OXtIt0IKf-ZQPr!8}fnVZ!_%fg@{I77ln()8Mb&*f_U*Nc~3;YJh>AZ*p z{%NE_fpc0@d|fq;C)cZ{L91HjpuS+1%WZ23w6^7#nr|)ppjBGUriGo(J@9$yH4t}< zVr{q9;wHy(L33NarM>=UX~Of(%KM;EV=kE0D!yR#U4f46S{$$%3$?b{v?x!-bevYD zHyL)ThO_%-8Tq*;@&Adw!94MMC(@qb7xT6NIH&!K6TN4IiF+(;vs}0(0M3&=M!zqEzD(ACkmnTZL^Y&8dED0m;9S%yIQ2Kl$@tIs<)`;6P9je5x6ml$xZmA)^TZ5E z-;bmC#iYB4r~QeOSiit7qR?;u3j9KebEf^HUKjBKUqUQd6GE`X3;LOq7$to_KwH20 z5BHg$-sI%`^cz)9ZMTrE;=Ek{$>t-ub9KDd*(2DXb!IKLHUM? zArH>t%lv6=MB(Pn+Mc=d>gd|@IVfL0o{)z`hQF9Q(VnS9qw#%=8kvK8k~v%(J@|P% z9-D(7D;Ix|=B4AM1FBM*d;Dl=URuDl$Ym^{=s2>VtsYiNr;4YGCytyw0+3NbX5f_r z0P4z=tCfLh_9;+GXNtulK<=P)0@LzpJWx16*WnXNIFB^fZa7v!^ zI(bq#Bj4&L)@4-aT}ixmP^t2*PVCKpLQ12dY-~x|yQp*d5AmI+#Dr%vh1=wy$a)-^ z&A~=J^1`Una4oN0*|hz@>3Nl2>YEuzh>0TDLKo@GKZt^rWuxnOPSCMk*KnPBE9@sKT?qncbSxiQ5P5;q z_UvZG@j`IG?ctK9Sm12iwGjT>qLUpzmMD<6FM!malaB7o=5FF|@+5M4Na*C@h0@#y z^11z*d-GU;dl)WmaRx@v^`GH#0)>U~O!5vjaGuKiJ=&h?6 z%~0ju3IfpJJTPOPxpZVxlJN z88H8Xz&~RCC4qm={I>;ugZV>&f6V;P1pW>4zYsY0D~!`#)BBA-9mvFU0KI9~qjt@z z*L`~v^w92ypf`Hmu8mE}2Js^Rx^KG{^Bu3%1KsO|w*K;K8`U7R8kf^o9(3xEn$>LL z_oY3R>N=jyfZeIJe5-4xGx0N{<7}Z-N4?c0{r||PSSEe%c-8yt65Zv1X|cKJ&j&Gn zk9qhiGx$B{e2yDTQ?6K(hQ4CsTTF8$#_BjAGKxLM;J>Z^X^c(x7v++iWU#~Pl#mg^ zPhl*FnWjFXkVWQmb&utJ%K_62Pu6@8`KOV diff --git a/libftx/libft/ft_strjoin.o b/libftx/libft/ft_strjoin.o deleted file mode 100644 index 6e9755d7f7a5b898dfb3734e520d8983f75f8b6d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3448 zcmbtWO>7%Q6n^XVZtVQn&QJenMI!;_fV|tJp{g3xx>SaZTTq2asVaf-&pL6j*OhlS zI7Oi#18S%WEhmuRfP?@E0VhDfC54KllVA_5BEbSQqN{d_n<+@3a@?4`YBYaM8M8CX#;m(!G-s9} z{z4Z@&|HG}i#^PoPp`0`YddS-cvA!9bZfM7|0IRp!aJTqrB=OyF(FCZLOFx8b{ zs#jQs`Sjv-Y{u#IqS2g_Fyo>znqG*X*~}+OFB_*HT6}pRf`Ti|JT(xxc9{jtr&|=* zqQDjg&c)Ac^#Yer-C7N78L}7rtv4G_hFt5La0Finlh3ACa9lB(7gCRZE%i!w#rhRF zme{a4)+_a?0HHW0me<2rzZ~1$HHsS)z7yowo~|x56%8Z$)YL}LclV~T{=J(3R0Tpr zjr9X`jI4o?I3@##ZsP-7!~9`<03!SVySW|g)}t>Z?<6`@k@t})o#(+yL=hoODjjA> zj$goD4V^pgp_YdxS5Zgk+>;#jG9{uT9QEDfp+g+?6EZj&_|fyFI9kULL@r{-*P%+0 z@6e7iLcWR}YhjK1IwCNhcP+;qEL3vV#Nd=!x63taaA;WDu5C~5aJh5n*yx#rY3pX)oKEIVM|bMEshr!;_q%o5wMT~aYS}8=lV+u&SIYU4 z)9?nU)Nr=4^|JbPGU2MPOPiI+nAdsMksLJ2&BTo^t< zha^dV#(LPmWcWzBYuEL%Rj9Z{Q*Z3rncX>(tduRck({txJzsWg_-BbdO$yvSy;7N~ zCWnUE7V7-Gbnl$R3;@pbansf&+1$bm!P-;9mDx_QXqHeWBM8e7MUB_wxTHio|4@3> zBg%%7g1xLxDC;gNU1~;&9#Ph*2ZXs5&27l)8D&dGiDa0#6FHTF!WWfjQ|VE^P(m4{ z8?(ew+?`S6`;?B1(wR|0>ZlSv>JueU)Q_Ts5JfXejO&hKRz61$M&cYHM3QpCUX)V=(_?0sT3`W`KX2upQvvA^d!Re~<91 z0saHRZw2@d2@Ah?-;as^JfOc!_)>s>lkiUgeu41M0sd3MgEX?e_wWA&;)DB!rA#ZD zd3Pe4%jfIn6lis`lG7Zs;eb}CRjVeJYf|7xfZSe0*(%k1Wrj?w#h_U=$J8Etcsyx4 zxx!PRu_Bhu6^r!L}7Ihifhb5#?nxk{y0@MXr&j)s#vxjc^3RW|jYpE{*g4X& zU?U0H-0TUq!$dj(M^L*1{Xvd}Tq5$fe~H)7-){Y{)B0B^4_iO08^QJ8fgF>Fx_~Bc zpV5!@dqL1B)+$C;f7->Lp+jZs^EVME#z)a9Y`^Zyc0YNyKIV diff --git a/libftx/libft/ft_strlcat.o b/libftx/libft/ft_strlcat.o deleted file mode 100644 index 2ed02b53f2a229d7756884fa998b286af70253ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2928 zcmb_eU1%It6h5<)nO(EZ?k3STZAJH?(T9?mB*vnRw2``YvMoY|l_1Dwc6as%XJ_O5 zgrpc-6Z}~MVo*dB5y3(c1nGlF--FwA_&H}fnmJ8b~L1!p(x`j>bYS)lg zFb79j$5GCfws=SPu%Ass`jK+byl<@iF#gK-(x5b&8CK*>?!@WLpfsccBs2tv)R_@E zb3Q$te*EO@@Wqn=vH}SX%?<90dd<-LB=qJ(kC=UljXCBGk_XB=)S@Ib zTqRB|mHYq|vsEeiIoc@#pi~JQKgd^Y(`n=vE!S&xoczS3Hm;42JrS_r#2b_7O=(X; z-7kB-YgbKQtAg&-J-yj!Tb^#Y*78`z@^#-e7tLTvzZAG$;7v{H?UvK>nwD+rcB@kN zmqHck2<#3H95`O9;aIhN%kjZ$UAM|U)GW`3YSVPVbE^yl+j7bb{%_N!b;5(J#f`oG zB1lU)>GZK=>U}(yhY_cbgti}^&E(!rTpCalA0Y$aCxrUoWo#u$`YSU)ijEUMNe?`i zR;1hZVtZ_2lG$u4^>7RImQ%HZngx*+9Bd%a@v!3{kWmihfY1fnBDnt zo8zx>E%;w^|IHZAUKhmPjp2g#VGO4yi6qb3aIMkxHaH&Nhg5REwicE_t67zxQ8p_T z*IES4wQN)KttB6{YNy?{@O3$O!vq|Uuga$@$v5< UCOC}1n{7V-E$&kubr~Q3A5wBwpa1{> diff --git a/libftx/libft/ft_strlcpy.o b/libftx/libft/ft_strlcpy.o deleted file mode 100644 index 79091068b451a41c1f3ea6b8bcea048867789ddc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2824 zcmbtUO>Ep$5FXq6yxVNLyZIqBl%E_ZMMANY5F}_z8dNQHmX-r*P(Z4}{&;sSyx!oS zkW_>pEk8*sp_HEsh(96J9uOS4p&$@QTsR;kZq21qDsc$6Adte0{a)g@=>aj4Ju~0T zyqWjj%zLGH=5bk)K#&9zu&W6aAd}veCqr=(3g|g)tXwxbe~cI_OIyZDuxYGJZx}xn z*U81Wbavh7d?$^r8OP6VEElikJGX^!ag$8>Z&R7h7UbVwL(|3LwX0J84Tkm`M`KPG z`!mL+;uiTYha#@HCK)Tm^&1~;Z*Lo&r47ix-W^4RZa=0nn0aY)12HfN`0IpfHd*G}Q-?8sDR`0hsEG0sz!| zLCH;Ivsr+29&tRQ`$7hvVd4~JhfH{sRNc+=1wyibNs*o=P0GK7e?`8$5NU5m+FYc4 z5NXXwBhQq4`MFT*Ar07D^hc64+$ENlNxzFMlvOGH3CbA)V7d}GelS$E%T8lx-gG^y z?F@~MX(QUm@Pk2U9DR8VwQ=nssQa^?@7mS5MXd_DQ}^^{yJdR1>6(kf71P&!w>)1C z7W7kr>jmEUnBKA+%WImpt=m?m?k_|vwh-8DOdL3#)o{$(kmdN`Sr^P%A8MWt)n?fR z&#i_SSpTtH++IKJ5lOo66i5pN>2P;Cvx>KICt~yw(V@d*xx$f=~*c z#lIv;f9DPoqf5k3(gV+>edxA5-x?kr3+3k-Bn_PD3=s_mB~u~3D&Lt%nInyU1G`!mM*cb z5=*I%GWi>(o>ym>qBd9>?Fjd)Pp~c&SBS+5@k1`qTv3*PaQKPB#zwshKLtNQA|v6^EJl`I z?jZ1Ct`Ed;#${r6#Bf^Y7}xLSoc6JEnH?`AGP7iy2x%xb4G>Eh1 zS`A;X#-2dia!d}G&DpwJZkb}8=n>N}m0zxa<}J2}|6ihqHQs+>y=QoXek}mb>Ad1} z4=RL-eipV#E{ORMcydOlPvdHhGk3rXNKFUgw7;dq%Y0Ke)X?$u*n0cewxo@{TgEAGJ;>6{^D_8#X*!se!-7$EE#`=H#@B# zClM$3IW!76?)O`KSYn2xFU=!jb4mB#Iq+~SmPE0C0e4W?@BHrP4JGcG&X3**5ijr; z5lhyD5EOV*|4K@XlD;n5_RBxHPk!pPWd0gr%9(9yvsdxkp&1@8@=^UnLXR{6dIytd SN45=K{~9Ss6h})Y^ZyGZ+d7y4 diff --git a/libftx/libft/ft_strlen.o b/libftx/libft/ft_strlen.o deleted file mode 100644 index a1a0894eb97948def6db6bd4a9ea8ea76a5a518c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2480 zcmbtV-HRJl6hC(+Gn;I>$$n^UtwX z7PhUfD=Y2B{|Fz2^lg1x@FAWvb8j;bvjWLkI;37;d$pRc1Q@xR@4X9$|HRs?@=V159+1ovW>iz<{oZq&NDdNHT%ovm5 z+}%2I?!Gm?^KucYpDks~*x9?!oP(|LgFhyd35JZ(I7U4F=vTJHp02DIdS&skbCo5w zYyxOiOw%p&ESrrpdgVg-rSh|9w^v>{3s5jX6V&z!fU$AHG*83!N|pdH_Y~-ri{)|| zpjbs7p!7@%@CmM8zy}>^4^E}J`uYF~O_wZL>^-tr)x~!~JG`D*5rUx|_ET$#d|>+Y zM$xP}g1KUGgizWgod^><+Dd{rskMDK=+$<37wzh7qTC4T*N$Om?wT{+?^#XL` zW)z1$53DxWK{vAd!vT+M9`YOY7LV;Xba&ijWM4|cD2X=K?SU6~QJ?$1?R%|mJj!6Y z4){YXn*@>93wWpI1u;b4P2NO+cHa#FYxQD0(|_6~z$0`z6n67nV53EL?$liIOKkEJ z$k9VWt%O%Ai=S(k7EJ9bMgV+|R3Y^+#{RA>00R9s_%J((LfXIW`#XdB+Ip&|eY3NE z*-1Hnht|$-HN1 zzZml$8X6MJd{Z-VFIn1*_ov7e;IGLH7wGV?;0d>mo>`&;4*v|%0Y_Mo3urIr)=zti zoLpfZ^?VgM;>2g8j|$3i1|a#muutds+$RAZ&+)X*i^6_VAayE#>gWH3r~Q-2x=Ch& zBT(|+2s^!bx%hj6?<(W6G(f{?_aL3o(rrFZza8^+iHb;2dtQn zVzAo7!GPmc5>C9bV1?Xwh3y61;dDg73WhPa-gx_3J&N7-$6(QXH{DJLzXiP$iM|(b zLGXUF8@dBNT?a?q!b-8*LcB2`{QvR=E|H%fx#Bxw7=Dn1K=p>uC!9Drk21U=6gjVw zUzCbK%2n4S*SEqS3zVS7TIf(Yid_)ozDyLT#y*F9{+`J2v1rPsNT`T7{Dh@)Mj+h> z3RxAlgs(*2Pm&NQ>q~qT`C0j!VmRr1d69V%Uqh$V^Ksq$aOWIqEd5;}cU=wd3t}^u zOR7A-r0Gv_R{v^Zeq^7hf2CZ$7%g5T0H8tsOhH9jBE30E+nQg{+-4MOC3~P-WP-1qq~}fK;XaS^tRjI`XbV zS}73XQpH393I{+4i4%egTo53TDk!L-;s8eo(e*7_lR?t5uOdLTB+0LNK%>JABY`~J`z2AU}p5x0e~O_ znL{(90BmZ9tHgoO(ESjIos34K0O1E6WatiQX7n)TN0{SB_n~rU#Nn2DZ^N-jZaKEwzH8bcLP&ZvtTrfI(Xg}Hx9+Ji$%SpR@~klk_jUT z#3dGv{KXVyjs=u5J9vX7lq|b@mED_V;VeTqqMYf6gE!bvi$#$kXW6jwA&a3oQeva% zWm#aAg|aM?WkKZxlfOKNX<0Ue2+km*DJf^<2)>ZJ^x%>1f*}0a8x##dzwRC30B?yM zAUXl}GxWoV-`+N-kd?TN3Gf_ZNzb~@nIZPpF8pym2Q?{P5bzIPD1MZJ;O?%+ohcd_g z`x90`E$aDZc|MoVH}pkN8@iEGZGFiGwNS6sbi7PB1FtR~b~CDGsm?po&`nUyx~;2E zJT*IR*}1|Co}LAjI($A?EaLT8-Z6(!HFXZ?mHAR5SJR=EGmLt{laD>G;^KBLkNQH5 z^#7HQa02i5DdtN$_d38A0^r);D}noak$$w^J`lV#|Jc(UARe6~ z^%%*1S2=6@Yobt;gO@l@C_ncI2K*Rt-{9aik;t{5t0F$A{`0*46`nx#6XdV|KE#M3 z-V;qnp5`CzZu>9lpnG6Yeuy6`)#nwFC-e*kh3(}X9rRHQ;8Oo%{sJ$zKgBVgf2@zV zhIoGgx6l~0e_j4TiF2m?qdQ0B3;adI2Gzg7*Z&pcUh#A3ej2p?_JH;2?)I-=L@aQ& mS4XviPhS$ef5g5}{UrYNKSfM%90DKacu^hhQy!J%U;kgDVO^g9 diff --git a/libftx/libft/ft_strncmp.o b/libftx/libft/ft_strncmp.o deleted file mode 100644 index 4bcd22624e199ada86ae38916493e432c3e29fde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2856 zcmbtWU1%It6h1Svce45EPJY^$Hda@$HKk-GyQW~Pt&y@i8Ja!_E1@Xq{>=W=-PyP^ z6Ouwz+(z8yp($D^2&GS2d=L>S)Pe+jXnpjl0blk-Xnc?=2o(eI+?ji~lj(|x2kxBn zedp)ixpU8D-c6l&MHB?!BET_th&T&S>UwBTdFB)-7@5|aKkLnN_w}ZGPj9AMdgELR zl;u7Qxt-difg9i8L%*F`r$Apx-Pc!U)|K!2qG;dKSJG(j>`$y6{_(@qU1fRN3z}I+ z2iE#UNUZ6;r=f+?6Kjn>f##gw<$JIgEgXq99)NOr4P6&fcdrY|GC}{wfFHE3H`WBb znOfg?duwZ}y__2nT+WQYoEv=u2ktaen=7f!H@_DKgnh9gBE|Y28;uPJgED~l3`ntK zy}i8vl8XL8d1^$89qE0c_u1XkLoe+Hh!7ANH9Z7CCbvOZ0m^pm_f&Kkm7k6)`~pV= z2SC*O3UnVIl@?MWrK5sG6_pka;dN>WN&}w}@zT7HF8HXl4W0JUr>KZ{Y1Tsn6#0co zM81f2*T%G;$KAT^+LKAGTDHn|$*feg zN;z9_7JUV-WtWSVnUCj6nR=islr0DB1bDQa1PdxPTvt2XbC=JWa}Jc@zpWi$r~mFC zoP7<1#eQM5uPeHWpXhPq>7df0kC$WpABe|y$l^~J0q`qQ5jcfUK@k3m?VyT&Ssa4q z+I9L)TBWj39Zw`Z+uKad-$bo!CM*NVh=-4YJF7Dh3&G$Y_B)X^^K3vezK{-X~)Pa?l`S22sByi2|84 zNCIs`IevvqR; zRL5L&K+V;vRTFOo=EVCa&`F@y%}R#3%2uHUs#SAL_0^N=1k?Q?Omo9EX-J%rwGQz?>M(*%`4<`aWiYry>?Cr*K5U1xX1l`b#8@0&y`GFP zP5X_8OfbyVQFgd)ae`^SR<7wkMyLD-EMNVX{1nR%g~9$#AGJg5lF!Wtdx6#(WBJch z5D@A&B_72aV rMov1hMUUBgINHL`KPTw=sf6dhf?Rm-XxuDY)O89_XdYcsc>ccue0@#- diff --git a/libftx/libft/ft_strnstr.o b/libftx/libft/ft_strnstr.o deleted file mode 100644 index b6699555db108ba2e9973cda7c5cb2f56f504c17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3088 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 diff --git a/libftx/libft/ft_substr.o b/libftx/libft/ft_substr.o deleted file mode 100644 index da7cab46aebf5ded8ce64f533328c7e0a0cf1915..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3320 zcmbtWU1%It6h1SvGdoF|-Az*aD-!UpB0HO=u~u7aw5(3HjffJd1zGoJk}S^d#+{jv z6w->(w(DZCKKW7ve-J@^Q1L-Q4XxJtAQ40spYot+AxOlRfI>Xy&b`U@cBP1i%$)mu z=kLz_Ih&K|BM+&H0zwox2pdSS0ITN4c$f``A%UJ_cKsK7etE#I&#lyhWxGDMWY5p7 zK>WpS^s+CdSIPOx=L8yaE58x4>*;1AyAQbBfT4rRsgXW_=+ITrjAJr@ zj@y`mA25Fe9{`i>&L%dNUwcWrg$`gdt_<4LA>ba>9y&EDoL?4Cd z=@8wCDyp74%23azA$pXdUdjUI8~9?i48{Ba#~tfLG@^Y)E+`RKTMS2_EiiB0gt2^3 z@q_+?o2yLpPdhcQRIT*y9<&Cmf#jZm8F!x;L^NdG1>=6!3-X>{vkH)^jC-lcYT5Bp zPR*H3<{dxf*K*UjU?z1asCj`mG?*%vDkX2yaov<#%8&aqp#ryx#e#}gny5I%{!+yU zuXNnW`WpqHFqx}?2cDm+`EZr1>r|L~n1zC~S&zpHJ>}QnzkM2P=1Zd-e+-nFgtBu} z)O-cE`bOmGA))Pq2V#j+>Y;8!{T)33is%!8kI|qg%3rZ=QglM_QBr|dqfbt`?sPf1 zdytLUQm4WtPL(PJHz+#5JUK|s?Ax2&JCt-wm0%`0Q3+D{lJ8x|#hdj2SF2cb#;r*z z-nv&f9e;Mp@zA1f3^k-9Ds&(fiWXONv(p^Z4dbY;854TnWxd15=+UEkr*T-1BHLxW z&#Wd|WAl0+TJf(Fk%>BiUN@lLkwgkd6?dKn`#`lgKDjcy6!XI;(cag6LicIyE> zp3$`fdKAqWT{ZUWoySmRbj3KVcH*LnNy_>)BqH#~n#>c{=yThM#;>w$(jY2R3~O-h zbss@XqK)^>$o00=WoHJtbN}K$z;n=r#6|{xW6L8s(ZW;v6+HQnbmBuhC`8PVcy_tD zp_gmHCpq5I!msxyAMzpS~n7_z>nt1`-&9&eIjt_Dz=Q$$zpXKG{XTYKcmdzE5`1>$%RUkGghZD|ZcD$A=J5bKK zZndyc6n`x&Ea>O*sAtQh|G&J2DO%6J$oL>#78J2hAqvl}7?Y-cPirae6LBQN?9F>U zACr>rI{m{z_v0Gj3B|o2KiWq=E!f5bs5U*a?BS#@8D!u4&@OWn@(w4P*NNYU_IC3h z;PYSNd1(IBALRK{A0ZdQh*Micfbv%^4m~>(eUY`vvzr4%)3>f;){q(9QbP&|1oKDOmTFir DeiK$wx zh>xm^x^pAA5`TfX6hyFlkuG)NUcp@p@tow|^maNT;s^Jhd%p9!bLPz4&7D1|Fa`n) zj>4KISb*io+Bw@eW+8!|6Q>uxFU+kz&8;rveht09Keu}Pac(8?ERH_!F5z}0x0-nQ z9=WHvUr)}h%ztBvw@byPul0I;|EDV-SU1}f@72_Ja$A4AoApEi6dlQ)Xtqy{kHwC} z_H94Ydu%&^s)53(Gra(j-Jr&g#$qw7aS>PZer=7rccQ)#S)>#}lfoztSYjM^Re64U zO>1V;A~2D!IDREnunlKARW-eG(RETo!}_2;m_Ar(7>Di*qc)-+0?VKDUE953dU^pe zj#bXgxFxfkF+FoOoj3iA?-^C2Qp=pEc;!lYWH?hQI>qvgY1$EgQR}@Uv4BNQhM=An8 z>l-cjZq{DgI1`GoX8>ZE#c3v0Ts{*EjW3=O@x--zZ!I-L|Wx zNn>gXzq9Fe?sm~JIbqIBTAoodrOY^uI@a=yJj&S;$^XS7CXnB|$T!Mg`YSZU)_;Lquy^Dq8v2G51jW%e60H9l9`(yq diff --git a/libftx/libft/ft_toupper.o b/libftx/libft/ft_toupper.o deleted file mode 100644 index d1a913452c6e44dc85d25b98d7b9bd17b95ef53d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2200 zcmbtU%}*0i5TCc(MWE0Y@PiMdJs`%IZUHetNU(-fBtZ|DdN3N?mR;J|Zpn7H0Tjg$ zKM)Ui^J3!3_!k(DB*sMU#&FbwcTKoKQfKIUWm(o3<0S9>-u&k4?d8~esz24I}5+x$ZdS9R4VNA?T@U5oeH%nawu}FE7ZbT>i{Gb$=13=yBrz{4hK(n zjJI9v0FV`sI5pk|5a5;Q4{;(&!GahIi+_xH4F zHYEV5v}4*%G?UlNnP^$JO1YvL?dw;2)!x`SXV=*GpdYmX^*k8%lwEXYXLU=>K-@G+ z@ocf6m*Tpm&&Sfb9k(s5tT}V>QO7DdrGfr6$6UYe;U955%8_ci>-KTpdmm7z^|UiH zrKQuBUIx|H=WI|j#X>>HiRH$UZMkL!R7=lm+>|qoBB*B3*443VsaVO@GIv4E=gWmD zZF(BNvzdMF`JAb9LeEYamR8VRnQLBaKCqvZ;-$AH-g~k9qcgj z#ECf)?g@SnDENptaHLpoPBJaghLWs8ZTI@pTzENh{=_40aune89YBM7zJ*^qZ^}M7ilcADTmLsfB+GjM diff --git a/libftx/libft/libft.a b/libftx/libft/libft.a deleted file mode 100644 index 64fb516f859c6efb8c93ebde1b9f02fb3d49e1ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 97356 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 diff --git a/libftx/libftx.a b/libftx/libftx.a deleted file mode 100644 index 6919e75d4c338a7766389bf34b284431595d4443..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5278 zcmb7GEs*3y6z-ym0|q$YjzS=)1%W`^B;D!!Y*8l=RDnPs5C~>7Gnv^OnPe)HS&kD3 z1OkCTAP@)y0)apv5C{YUfj}S-2m}IwKp+qlU%LBsdZuoxb6fSzzI6J_`+wcfzSy0Y z_07rj%d3AkBmKV1$YT~5BL`N zhp`7aPy=5Ae=zpYbHH1`r@$|aO|Aj20UrWCF!u0$z)j$e!8iE-H)D_70B!+a0KYT# z=rh2ZcfluE`~dJMF{SHPc)J^4H^Uv;x`msi{KoGEcxuFFn~c~$Q>M%*pRQj6QR ztks5H*H%T{FK&v>u25_9J4M@=rN#DLBW;?Cq8EFHSyf`LI9;>fZi}|x&^1-_jux?D zajq62IbyxoY)OHB5A9|RJ8PhSop+70cac|BvoOk+dqv&t=VllF-D*nZ1H`T^mAi|) zUKEw$Y%3Ftu2J#9u1&sGUxrwAMXTiPzFVBD9XEirZbQ zJ`A}kYZWDkZPD#pWfmTGUA{YK5N0*D&uH6HB_eOvy-NMCs&eP4n$7c_`l5cj)sfK; zy}S8*pze=%?^OWw=G()*naY(~K-p;J<<1t3vT0?4a9K!pZ$}SR0Q;@yHf6EI`M5@FPqJ5UDQR3 zs-coY@ll$G>RLI~0z$7GHf)M^ZHu-xMFw-)!WJJiH@VISn;wrfXR6&zOgOEcO{x+N zJ5|3o^66wU<;svgHA*jeuk31j8UIBsebDZOEs#nw$LSo@Fs zjVL&p8_B>@tZ*4O<_CI{knEt?Y8Ui(j`c?N^h1tdGR1uaH!+Dm(fQ?3W`pImIg4Gr zTuSm`gx-|)YQ1R`*sApF<*r^4ihHn`Q%;m#A!0e+-y^QfhQjjNETr2DA{FGrh*%xw zC<>iM^6E{=Kjm)}1yn0z^d8t8#pylt!jaxANk+$61T>+P&5~zSDU@pUBv>N#a|8li)A-2Hkvvf|_@O#*B4)Z0gb=CRhBMfXq}_V7~N zEX?SfIPvS12XTg4n%5)zb@Lm_(@@$o)T>vf&YTqSX*3)u-aA8-IOhVm($=@%UlCBR zBUa$zT(CxabCgj&H5YTz4jn(2>d0^-K^G9OzdWU_hMU;t@N!WaL+`_1jx&ZF_S$TF zUF+phOiAKiLDMlmr|m+f=6VC-)4I!GTbPpz|MY;SX#*rDUo3wMY4 z46fwy=-Lprd=gchR0J)aXJbA|0efB$CA{i^52k_yesjgsM9_#e{*@~{8^ diff --git a/libftx/libftx.h b/libftx/libftx.h index 3f74279..8d0d553 100644 --- a/libftx/libftx.h +++ b/libftx/libftx.h @@ -6,7 +6,7 @@ /* By: cchauvet K~Iw?z_V0Oo{q$67(vhZxwY4GcmK()-QHLW-#om%@o@Id+HZ3| zO7Fi(n7jLH?yFylrSh@K;~#%Ab>hs~nRBz}!5A@)WXDowHn(>?J7SEc0TLF1qv`2= zX7*&})67TvFOHqw4`8Ms!O+DqfaGB?v!^nd44%D=D@jRUFsgfJB^ox)7$`Jq2qF0`6%(_a#f zQ*fHqdeA9E;q~50m2hQ6cpbn)pLpxBIE=et82@F5iP8PzGJ4fg-x2NDx_on&ks2TR zBlThWv((VFRN}8h8e_X&G5dFjCE?%A7!#PiPrA))@<40@Q87UoV#R0zb<|HL4EKRl z>8O%7x*Nn?T)94PfPIWnoT=Cku}pJC**7-3gl{0CA>5;xV_l9l;c6G7Y?t^1>w6Sj zo=MOF1*daPvi<>cs&ngGp)C8;@e}MX^Im8Df`&h0eO|*Kvu}u5$t6+J;v8_OK0eR{J>sZ2Fr0)TNS%j!=HjiFInhRsk>6-V z+-ukDz$Un4$qu>E_hjE=oH~c{m_K>gUPypB-KR=NP$5j6DY8$~h9u{utM$K$JQ~!w zmVOIdRFMICOZ0u^%arfvC&Va!8J9}Stc<82%CdgR>Agry z8&bQ=wst+&X|%-kzs~*VIe_}7JJ$Q3M2uYIJ)sy;k>kFV0CSmNa{4}T@xQZ!^*`}n zaJ=RQ8!~}r(BY@u_!af-Mj;GLY4Ngu39q9NcYn_qlygG&m%%0DC4LVvy(WZUit~R? zibA^Y9kj*ee;$*c{yp^k3y7JQH)%}1!L>!NI9}$X`iZ38)c}4#q3`Yxd%)mJcBHrg HTzdYu{mSPO diff --git a/libftx/printf/ft_dprintarg.o b/libftx/printf/ft_dprintarg.o deleted file mode 100644 index b3e6c914bf2a911383b5b0f007c6a9ad70c4d7cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4768 zcmbVPTWlLe6rIg_9XD?5JWA`fp+r>+l~6a2K1c!4@-S>oi+CCQ0d?2*+A%n`Wv_!< z6#9xw%?hbV1oaE};G>}O5FoWeq@Yr0_P!3Q586)8o0fYgs5D#E?9Gwbo%5rUDt zckY>U?>#%SGrK+%-gAG4BoW>uau;cM93^CbpwZt&ySqp)Fr!-i7wyPzgAh}nTBuj9 zY4zy*v8ij>;B*(zpqC2PiqNyd3-$1KniZbc>fs+OQV(A_wy-Jq;sA_k*4`hi=oKw_ zL6h(9Id;KU?*-D_)m3avvmWtj^~)NJXm#v{=d3BrHK!$qwNHRW+dN+D;pc&tc_@V&!vI^rEZsX6ihuGcK%*Dk;yJD>hT`W3Hi>?QTX1z?o=yY@4 z+Bi_J-q>KYRHqDU*3ND_r2dt2-}`ML$zbg`7xH*RNX!;eOM#_YHrkaaK7*)Bjs_5y zgQQkD$gpPZ8a3*W;Q8MjJ(uAjga_`iU~QV~*-G=^GglkKU{bH$2UgTW@fk#2dNu*X z^&qKL4>GJ-yG9KiO<1OTY&B&;%?e7PYC;$aYBqos)lhr}QI{GYKwJ%yTGb%Knzd`x z&=J*q3^M|AvoTn^0q16F;XE#fGj%iea8VF@?QhIL#V$Y>#d;vAD3;6_NwD`|t4IvU+#_&eep-3h7|b?tVf%8;BgZ%kTFSq67&d-hN3A zpx@aIL%aLOpz8}_?f2m4!4C03eL|MwrKRP70vo|@=txgsUkc{oDtEk6ZSu?}Z`}4O zXlNzHqa1`j+zufjoCfkXUYwqX_C5f}=k$8)&`yt!L=%;~Ss6^`^n7M;(kPX)h5X>i zs5-0;Z{AX&gCj4Dg11%OM$%?HRV-!mre4aZNivjAmxsm+6GnN+C>aMfCk%7QEa{Va zr8;zPrBtqzw~h`?Wb@hbxRJ{Z<+6#iSskJY(oMMtq$KGSfwcH5lT0yQNTzCy$;5dLnfG*9GX-75i#p(pxy}7wC{|(W)6%guQ9>Iz@u4@Is)w5Iw_}sIxq*u zlm|>OG4SYZHME8x>i}d;0Cn9Q7*k$nf{B6WqM`u57bfL(rx1_c2hr>23b2R#vDj`@ZtUl#VcFhjO&B^dQCct?_bq{Ux8QiT^t7Oa zOas;@=%LRjU~eqJk1T=zxde_UP`kP~dF}8Ym%zVW0!RJWFduv-IqhZE!!5TAe%Ik8 zf{h;f;3JMF9LJw!tBE+y9>=c0!C&T}HPM!=DOC-c`ai__tpK+wN+ z348~`xt;^ef53&m#QdlW=j)er;jb{i;KGkH|9KbwJ@b#a@Yk4cx$t+Hj~^`9xc;-Y zOZSC{f6efBnC1L8nLo%Z&Y3uGTNv)1&t;w6%LD#kSL5ujHoEajv1pX4L`@lq3cSe@ ziIOo%)RK|YRnw@NL`@bZCJcBzGDg`fHKL2)*jzh2n@<-Sqm>*{^99pTA9yIbxoqmm zXB%Vqrd4yf$%(k0O2JD%(-_Ld6METb%A3pPIbe*((kEkPT7XQCl1`EKpU{jJYJOrR^!UYnV%O%4whM2gA zkiH8q(D-?3d#z_4?jLa?*t4fxDI0b zhSmQ?1fkFCbGw~k?)Z<`f~x-#kKfxomq`8D{XnomH}^|Bz9^mzNS$Z#V=Rsve*fJ6 z96IghkG{lUj6Wwhe>kN)p5yqx&8-O_GDtuF3Hj7D=yJ*Xz-?DQ#P$!bgY^+|*T?f* o-m{3u`C<4uZJ5P#KE`8n*Y5?uJ$K0ai3J{J0ch}+cs{P{AC}dvq5uE@ diff --git a/libftx/printf/ft_dprintflag.o b/libftx/printf/ft_dprintflag.o deleted file mode 100644 index 52149fd57f13c1fe28b34dd25fb344646f8b4c70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3024 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 diff --git a/libftx/printf/ft_dprintptr.o b/libftx/printf/ft_dprintptr.o deleted file mode 100644 index 720b8481676778b93af33305ebc0b3d88f7c4bb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2936 zcmbVO-ESL35TCpAT|V46UkFlKfhE4mN6yYiA<$4#MW!x9P>_N^qPXYy?3kXpK`Pgu?|GMdot8eJ8*9XS#jm?|eJh&2L`Wh2d)t zBBO)I55j4O2JPJ5AB(8-o!oA|o!hyc+g8!MmqKrmfLRUwma1Cb#i<8 z&7ad3emdb+ohKpNgzVJx%L1pONIDj$RW5OpGBtff!{;*O~yA9b*tX0?Kl~yS}gm`Oc_}h#bu9aF#Ho?As5_Gy`B+^X zGSth+0Jw@!0v^X+QIvmDL!{_yVN-gRiiHSefR17)+OVPz4({lN@wPr;RP>}VuWQ@- zabr^-G+xmY#;f{ppsR>Z7q;ED#nZI0Ok|%V)ZwOCg89AxJeD}uBB&M zLytJoK#zm*kYFKVM1!GwP!o|cDQ}Az@1q{!v8=v01b>)GwEOUovVDRz?O*`g-hNl| zj0-;A(oo)D9p%5rxZqPPl1f*F6{1~>_#)mQVsiDwr6pXh-WbOb_$1r+OSp(h5WRFH zfX2~uFm4a0)HtcmU8@6MazTNb}T&dS;Ha;E9@bI;e-zesG-K%c7 z4yIf8ZS(AF%afjOty}`ran@@EdSUP(I`9pgLecW<9)G9m3cy}1lp9vfCWp1a$FzlV z>A<`DI+_UkRuN2ZqZaB$y=3_o!BgfGSKd7i=R43HmvXYrCuFn${~<)3C-s2_PC?uEd``eiM~fA`h;p~O{%cYCR}9QazBCm37ckW~u6|iQkm8(B z{gRTuz*~q#*Mt!K%K10RkR-~zjB|1M^D+79*G{ZoQM diff --git a/libftx/printf/ft_dprintstrtab.o b/libftx/printf/ft_dprintstrtab.o deleted file mode 100644 index d3ce17fb7d206575309f36e298389027f8846808..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2872 zcmb_d|7#po5TD(>w|7mN%ePt^t8%EtU(9ZjMhI?j-SRpbf9gXg8H|B9v`V+U@y9n? zTU%@8^~&n6r8B>1!`gx3C^L#f_wO$bYa=FrK8Rt4g_aR>Zl6&+)PK1D@v#%5N5=qi z40HjV7zJR{J5=*AFp5X|`}+a%gFp_2y~xrnaMLevQ91zZb+0g?FG`b z!Snc=)33a`Lt9FqHUV*FsjjguFqP@A@%gl1fImO?Lxqd1Ifb*lk((2VR> zr|m|z8@gx5>uzkvVQsmVtk}nsFiN87DZA|jUet1Z-}b$FGhVUz9!+&Sz>T5l0PYNp zRxL!`aaX|aU}i}Wd5eMTl*lLY&bieXJos&FL7eF;4PzC$PnRs7X7?eF3MF}hY-;eVFb0%kA;WDK7JR+G!na zFKGCQTF$J}&gV8Jr23*aI1y{ErI#VZrGxvQ>TJ9{3@F%Y674 zK&+zRmxa!U2FlX^J%Kxl|HncP75oRGUr_M3h5oLBe<1Xa6#QGEf2QD{3%w*b)gW63 zU*Kwe3VE;`x1KCkYxR2QE`t@ie$9&Al^Co>r`>jO90(7bNy3~)ctNuRR?vxE>*;3~ z#-q5_cm*tK(rV3daL_I8aQD5y6@c5SHp5!mrG8yXXxLS8ETsw!CZQ>#P#KP3r9%?= z**1-||AW5AO|tJ+?)kEK*taDhIMp*tH2(;beIRXfLXdqZakb~@?=ssT((g?HP6&Yf z=zgguiT0(8pRMLZrmMo<7F;sb_aGWnjC>yv;FmH`aMjmByjT9$1$a>eQ2x}{YW|NR zMlSL@QRH-6#Qi7%!R7gq(|qU^|AuG=$}dYYPI8(jQqKBa%{EiUp!!B>{F3T^T>vwg zSQ6#;OE^HGSN&$hgOc}5^`luN<0W24Ow9=)*c9jAtA6A|bOu+i^PlT+KFxIX{8NY- oC$~DtF5=pzmWY>iq5O%|Tz^JP`fvyF^R;No--J$aw559fKVObP9RL6T diff --git a/libftx/printf/ft_dprintul.o b/libftx/printf/ft_dprintul.o deleted file mode 100644 index d964808546845c86313d78cad9941cce9dab8fdd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2536 zcmbVNO>7%g5T5ngPKX=FNf5LRDz2bH0%aXL38b`YQ&pudjS#97E(kg6cc4v~8^k#iG6IsKeMOo!v4*Rjd35`TwiRm~ zV$t5YY{W)JVYL~$L0DdQOt(|+Tb^(C+;X*M%o%gD^I>GHep^Fr!B~WL&}eOWHU>Dx zI#k@YU)kt&Ex%%U*3H?b6;uMx?3>}Bayj(;&|j!ky0&Zk8L29+qjt!@Rl zA+%fIg44qyq9t^FyW?7|GTHuHk<{dyv><7>Zh$r@X*0)0MtAWz-$9H%B04p=R4m=k zTprK2(E-&J{IYNcS54FYDUK7PTfk3KOUCXadgI^@^a(9DGxjp~ZvK33?DJga&rBYJ zW3S=$F+y4Rdw_l zjx$CL>Wcj|%QRh-eQ!S|dougp1tY+A0 zn9ZhV^}+Bg$20vk=CHSFOB9-HF`+imyMQ3k{91(tF3i`7{_FxNN1aGZX( zVYXWMThLKG8%@)wt^n3XqwSepOAWwRVqp5fY$CtejkwoqnSn`g)u?iJ|DQd< zP<8%frx!eAzX-sb&QT@$oghq|C9*Hmf+TYiYr}700uAasi{Ba-HOBzGA-Y$36GZZU zo}o7ufFc&8Et6XI9A>L=@iVC8f^qo(^DC9?4ka{sYSd;MvTGIO8<^IbY zK>gDhC;NX7F>;Y}LNTHbIqnAmm`i@)^zPH*e`5!#PbG;HejSY>tA2ZFV2bZ85lbs|iSvJnc9oL8x6qiD|JRiK^skZ3 s|21Oz%07+BclaI99~>|FsD2{RV-4Ub3PWdy*aHTCXGe+~!7rKrUuAveJOBUy diff --git a/libftx/printf/ft_dprintul_base.o b/libftx/printf/ft_dprintul_base.o deleted file mode 100644 index 9b9e65cb60c030ad05b04fa99568a8fd7f2b5363..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4640 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 AB>(^b diff --git a/libftx/printf/ft_eprintf.o b/libftx/printf/ft_eprintf.o deleted file mode 100644 index 6e841d1717aa2b50436af34cd893ddfc9e137c1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3376 zcmb_eU1%It6h5=Ff5|30n?!4BMOOSvkj$oO#aJaxDQh)Zl|u`ckY&OJ4FK1OtlgV-b8STF`0{k@{poF`jeh-pyvZ3W5h_zVm(e z+;i^Szuh71zSw00OLJd{xox^A%c-}iN=k@>0g$xk21Pm`fGDj8C_ds zaB+#j`Ev};t}hCpne@;w$Zx9pne-6(P+UY!Ag+9T7<#+Fv6J)<&2KSm63Xh z`j50&rID2-#?G=zBj;BcyT~eytX*Ynohso74`Uh};XH$jB?iW#GJ0Z38J#<)j6S=n zjK((-%{tXfG+V5C(-}*1jg73iPUDIsT$tWPson`E#u&Y(5IAbva1sz)97 zR-zS;BpUIXm*YQ-fY zIUKoXS9m}g^aFTQ6bJp&!*Y0E=&8`7J7sQM&QMZw$=${h+# zA%~yw@#2H|*{14azWZfj8+|%6BGOTEC8daO*|S`8SQWwRS)ONX;BAM!%-A4B`T*wy z!5erTA-ISyCitbEchM*FgnK`9JP3V^PT!CClAxco;V`|w#YY-|4&TfC8%z&&_z@?2 zz^g>4V=w@7$x6YlL{mAvkd0Q2vSk(v(cKg3xH>+zr@|U{zcGPqulhJ-Y|SW@&4Qg# zQxGd;tk^;^Z&)#-Y@8ZP8g|Ss>s7r{iyf?#t%|jGB9=D`rnO+?a88%c3mYFRW=_re8%S9Y$CRaSE>E$dwh7M&Tt66&0 zaG0i5buDLFwr1;D(6j?bjvP3qy)bh;uDy8da9q<+OIFOBZ5Bi%)@41wg#R`tIE{DF zT%t*@9RaBpk#_Y3f^-1xLyaCX+9Gfu9C^!gu-`AIB@BTUN?tgQZ%LB=zd{QfIG?@PX3|CG<;f7;W7)v@!x*?ZXNh2J*2#mHNyVOz7z&(by#i3|a^#JCK1 zo;O?)80^T;<`T6N_^^GE&7N@rWs(`meQvviEB={v4Rr-qXxXBG^e)mYFnWj$|fKm00| zwe=*Z)~P(<|77PdPv?0NX;0Cg0JK#H+Hbx++MMo3(!}`_4b$8a=UM3PGfltHo##@- zMR`K{cR)sQv|fBzAattj9urFN2^Yn_B8|))yQhmraj)>r@hg!IbN5%Vt=sq~`S>F| z4~?Jh6ZiNZM2&KeaBZXeYpw&7?c z{+aC*OT7PNTX7um{X#y2PPbAC9w^qC=8x_u(O>8_)VhuT3QsETOAKS?j&jt}R>PK73UH@;Z-0xuk diff --git a/libftx/printf/ft_isarg.o b/libftx/printf/ft_isarg.o deleted file mode 100644 index 07990c1cc21733c82e5c3ae60c1a0789da172d13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2576 zcmbVN&2Jl35TCc}-MDdM=cA%u2rQuDfU=vUK`OLrgDO)ORUmAjix&BuFhcE*0=xJzPW$<<~~%uK8%LHYL6)X;d{8%@1>q3 zZP)hdJGH&7Gf=rRPXH>F-{EX+e>CivwAF9l7ZmjH&%t1TIVsUj?a{}7G^34{m-Mfm z`T)d?I8~lA^z!u4ljRvPYXWE%g0tqzF}?g|>1^rMp2NkOOSsD$towOshdJdz?N)NMo23@gZrV@+t1Rw%b3@3feB^#5;G0rPVYF zrq8m8rEDZYoK%~>6LhMZZWwvJpt`tZEm#Zlr<2sUcxwr@W$Sfl$7^2XgdM91cF>OO z^xOB*W9VkbDE?|p{%vTe70vIB3FPH-#>6?S zaB9#|iwKveYXGv{H%@!?}ghpER<8lzd| z+_Z*>y(m5DJ-U>M;S8iSiF?+-na&MNxH8I^J0r$vHi@3g7!b}m2|A(Rl;@1pUyz*c zGyF;@zxD+D4T8v@8M(A#W6}rA-#cn?atJ&*zU7Q-}5yhc2XAxe|?tvBbV%NI#?&^FLJI!mujt0y3 zH@j<2tA%6U8Hw|~z?FczzSa(%t~(6FL9pkEJ$8KuJ$dP@5xKi{{s=l(f8v?V*E$M z==>#ID*Y@K{EZ(WzQ4*@Rvmwn%10`Qa^Cm!7>q)WO2?QKh4S$h+Qz;AfqZ{e2GIMd z#`*WZj2O8r;8JNv#(k@TDD(NuX}-tBpOC{s_fv`Em|s96%c@^p9X7>~_x&P^-^jaj zJpbNs3VuK9*HIW(zdZ?ZpHTg%7dW2rYl!9Vgb-}W3+4Ma@7qS-apxE1{O~z+KKAq9}vsej{No|c%Kv`ikrZdKmUKiJ?N4E diff --git a/libftx/printf/ft_isdigit.o b/libftx/printf/ft_isdigit.o deleted file mode 100644 index 0b73c21d2f8287b03c6eba8cbc2fc92b2a7cfd8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2184 zcmbtV&1(};5TBRLrXOjO^h0f}NDdVh>84+TtxzMS)=KeEiJ%~LlWx+*WK;Gdrb1OL z6pMoOCZ0U{CkP%r*nh->H@y`s=uGxavsoh|4!k!rzxjGQJ8$>N!t%9<5Wpm04w@RH z0Q=FVoNb6%NTO%%`tFzAt%L2YgPG*3<7hx>Jo&N*rOyk8l<8}SFXIj`77p)y5`E%K zVn9_AsS_iKKG7coh-e7*$Ff68Vm5v`es*|i;L0$7qC!MMO9KGWQBV?d@pv3F-Nxk~ zsk3ohD)>81ArxVl6hUzyk}J3?k=OO6=4Vr*kjs0P>!k~2-72MPhV7VDD?Kr(jcem$ zQ(nV3@puxoY3(8u-Br_BGfSqc6(D03oy>Z*VmKMYHa5rdhMRG1y{3Eh%)Dnio-;j} zshF1OtQ+NWrflYmZauSMo0eM)WCGNo0RMK7L3$D-@n{7^JtanZIy(2TGp7)vMMMpN ztBKT3WWG0Mp#!QpTu~UsT?p|b(MyaPic18}giqI?uA^=$NuhRjdulRvLme!txGS-e z8u_RSFQQ@=-~W&MHd>U% z4p!m0B0O*fFo#c!k4c@b01@G8L-MziQfB{IsndCgs9#6DMfn1ONMU@&ha36nJP)P5 z7{Yg?ek+7OlX_Zmsu`?1A@Ois(AJE+S6bEcdE2Og<{EVuv_iE~F>qR&*MR*T*9Oft z%DRj*tzs24tLhrs;?3Ncn~}AKM7t1!?d7wLJ4^r5-fW~(9QxfDlRG+?z;rjF+P?mpIkv+wAL_GftP&`q%{u{)?y(7Q- P5`0ez62;LS3D^Gx;BdMD diff --git a/libftx/printf/ft_printf.a b/libftx/printf/ft_printf.a deleted file mode 100644 index 13f93443e4e575924f48a533273498835ae018a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56124 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 diff --git a/libftx/printf/ft_printf.o b/libftx/printf/ft_printf.o deleted file mode 100644 index 375692f8a00635476e65b9c65963e06208bd0bda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3360 zcmbtWU1%It6h5>6$tF9SL~CkAR{Tql%%*9@`a_yh)@~qbsiw4IJDttWZU*WdT<<2iTk-AtzIgLq)(JKuND zJ?GB-+kHDV^Q=#jK$rxRu)%~1km%X)rxgHXIQ0?bC(#qz$%TbTxD#PD&YwCV;UUcF$NbZ4D>~L^hjGCojog$K6gnT zO|7Myb*h(cwpjJ1GnVEG8(DLe#yQih-y&$#(-hfQono-Ei^1|ZgVqRx)a`Vuo^ae- z=~gP9ZlrErPW?EJ-*P#1J%W&KR&Ren6Q6F)UcZS5jnuVf>RS55S2VXrzLW-}hhsxQ ze=L5_w%C9)7y|GqC=Q0EhW)XpqEAO3-8wzAdn*rZlb|q%pH0N{ISVs zGzt)wfubUhFzDHW;G_fSbqGLIk|?I{0c?B%`}7Y<{up(R^<$ptA*#L$sVrmeIOUE; zCy~Q1_yq95{PbDNpczAe&4ADht&`QzEj5-8+g}YuP`=9kwL&Y zK?sE3M2IZniwPmA=RNeve6ilsjt9~6==A-BFA4fd8;;TYJA9-8aQOk|-(Y&g<;R`u z;eZ^cj*&3TW~wE-nwTqSrF^2Mo0d^7CALo}-O3s&yx|P&T{rFf$x0AN1)wJqDa&OhNs@BelWYH)Y*1TRQBnw6+XD=k3?i+~! zvq7$G7Bw5@<~0*)8ssZ#IhV6^8>%JC$d~kNf<<-YGLAD>D8H_1W*#4115?kdmR8dp zrm8hfEf|)q+FBk|bLiWQT%nrPVPi6JRnROui}Rw)QyPGt&L;KCQqb4yyXe~z zygPC#7z$kp1`Y*#Lz6*Y=ow!R7N_`b_CAUM_5 zoZ(u)pesL{L)4Do!}c%hx$!#4zkp6JRrw2VFEVzbkoV%_$48hr*`zxs-f0=+0YV?+ ze2YsDa-ZN{mri+}+C zYR=S(`lds#U{zbofMOjl68>NN5EHo1iOBaF{ph28>Okksw^xVLeMp)(ccNj6JK`J* z-Fuel7ukItMcgn?NdE@ND2~>T4-14&wY_6P2|niH3K5riV|QSiSEKNwe6#%K>PxOS zRza=X_{aJ9<2(Jr;rC@Uca!KZ^aa$qjsFTy+QxRb zd1EbX>{kC!m-_S@;;sJzYW|t^GQuK09jov_QIEz?Cb+`@&ZFa!oN`w`kL+3wbYq9h~+ zqDHwGJ$m%07mX(q{U7`bNH}=VGbA{(`yT8*_hRBC@6DUve7@Ov`(%3VMnIB)lLQlR zC~*|vPU!HQv5y&uq2+vbb342KGnU!-wYj>tF}?e2buatE+WkU7cF6EEowDoSV+-G; zKIvRE5t5^^8dokr$;>TTW}%`Qxl&OnKuRw)QIqlS0L7cQf-r=;BuTr`9%9sXT#~m! zysk}04%#mFN}z8d}!h@h`y;z-2=oHaK&sd?{?Z{HytWt+Nim)V&Z&q%m4wT?3GFyJ`Pd(4Hq zo*bNT;S}c@lX*SV*@MR8`8?B$_$7w(yemwe5%A|so)_?!OjZSagUJ;Er|(LXw0EaQ zcb(%57whZ*rKshta!$?X4Xp)=q19By)Y>K}g+{%u;d5XXP19g%$D^v38ldP6Q&VPc z%?~$CwXg_Et=6jN)M61Ia2XyLRa5gg)v7uNv`VgIsCCUd-d+iZUBSGjnn%7|C;orv z9fonw50Cnm4bKM-Fiw4Q6TNf7_&jo5h8_5vaa^47UR1c}l-s3QQT+@cJNl0Fk09bW zX@?!`qU{)JM2w6-GLHu1oQbvyD*Wotvig(Ef$FFCCDwliF)~Txa?@$% z_u38Ondj%6-l?DeCuTtPxrzI6K8Z?xcH3?Hfj+j&4z}ceV-#nH`ClZ#Mg0C8GV$Qo zzX}8Scc%W)KZN^pyn>itsYzDQZPdF-v@M|0FaMfPe)_kH`6<3Ux8FdvhUL=o|BLTd}gV;OL@rHgS0g3$RjfwgH0N6XzO#lD@ diff --git a/libftx/printf/ft_putstr_fd.o b/libftx/printf/ft_putstr_fd.o deleted file mode 100644 index c1d1ae9bcd85070ec3d47008b48a75990293b121..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2696 zcmbtWUyB=66hAYQJK1i!`Lk>7wiOA~`Ul*}Zn{FLp14j%8z*Ja`gP|=y))7!Ofs&`Z zMV^vs;WMUgUmx>`fO8#uGIiSty$mrSEG~=1-xs!yl`RLZA7m?z<*sErw%2a7-0V`` zSTq(FP6pxR(g%6;mW`L7=9kt3zwLXaTGgmP&aJg`^;Xkv=WNg3SSZ_m&iAa26?Ajw z0(dw&UcSM!Dv9bL(Ei^=o5m0U}VV0KH@QW7N3fu{GFU3MQ;L!GL|8pHk1SE zNaGzyDQtTBPp0c{v$(#-V!yEi0ZZ$5nOa~O1PT!dZQU?uT`~t zi{K?=i68ENs4p=#dN0LNAM#7~lK{Au8}q_Rn))sBgGIy%iOae^d)Q%A<8ju7=OOhs>q>C1b=s%)#DX zXlTh?1JOz6pXcBy9zf@(8q4QDju=ryozM*B3m!+`&!~v~g{JSpr1(5`} z33bVdh|Il$bCdS3PuQP+O+@};|4WEz7l!n2^D;RlNV diff --git a/libftx/printf/ft_skipflag.o b/libftx/printf/ft_skipflag.o deleted file mode 100644 index a9b81e551c70baa6946892c91f2bc946f249395c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2880 zcmb_eO=u)V6n@=3)icQ?Gx=l9x*`L*dXVW(Vgz-U7+J=h4XZ3dWLc5eGt)EEY)?<@ zpO9TyT{7_}M8x1(JbBWSo+K!OLM|S>2!aQ_2nl#tZvg}Gz3!@{r*=FDKGOB-ef7Pn zS5@!TY$kpzZLGwkt=~-VdeMzE{ST^My&K6~-PoR~T0&bO6;ra6(_4 z)(X$&FXSITdu8&uvj7?cl|xr10W$M_CVLdL!a_cu2hfW^gzRIn%AG-#%!JFohhGLi zfLwgywDJ4pM}$-XlcBsqmQs8jTTR_rO{^BGjJnf~t?_kIEN(Koi#q#;0CXkSqX87v zh$-0|EY~70j7oLa@>-=e+Yg+sSDKwOW{jEglTkc4`_>#<^Tt!q3|E4i&T7-OT1FjA zuNj!_ZpRKx+qZ9(Yj$XczO`mW>*l4%529dx&g?jz6SQsDHC?CH4A;$7-|@m`dMZEw zg3yP0+w#Eyw~L`fUf{GmyHSb&hEsbs65+$5 z3eOkD-c>J+>gpac0DeU%1FvGMD9Yc3QBrhE_$g)-__Ptzb=NxO*}1qMpPiYUndx|S zH)`0B-XNY8N)R?0cGGAlMK*MDvszJMnc;7k-ebf162reyY%elRZ|yRD_dbxRyKG9o z&Zd{x)Djz7V(N94(RY~oH7nj=ljvWhSvFW+Z?RD{HKgF=N~8|qUMQ4-@(H3D`0IGk zpmv&weZv}0<311#4N{LrYEXlbl$CUEprRU;R>eNTGU#xYBk?p1H-pn%LwiD5R7`a)3Nbcz!%2}8cxeWEFsfFkuVe6@tR#Q zyl!Y4mtR^g2ccEJnYdYg3k)jM6|2#}hpm;a$-X&U$Fn(Lw^y3J)v?oDtX~6{4XqmL zTOHE>gM5y2r1MTpxxo{2R{&hgl}qm%VIq$OeUW!WT?kyRr6LZb^IPzK;@}Jih)4H{ zPh%|8T+`ZeOf)pY!7k?sC36>WK*ossCI`2LBiAyQ>S9p*$*&*4HSR$1Q(emO8;B7_ z>=V1O=sbD95CGR=eW9to2l;=={b~NR2tT2ha8UHqyx+Nh8l%3;D63cu%+h diff --git a/libftx/printf/ft_strlen.o b/libftx/printf/ft_strlen.o deleted file mode 100644 index 6912c72aba67fffc22e4b23073001d23d88c7489..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2488 zcmbtV&5zqu5FgvIH`#QP{eaR^gmU0hBKGcfkxD@&s4RF(;ec9HkWgeNFNuZYto#wB zm9{J_i?phQXb(sT0fiI)0=G&W5Pt+mr1ZAjR^kw5?Dsa_r}Tgr$^Om!X6DU%lX=dk zn^)gb6$OMSa0#ZCU;&QwsoqG{22?Tfx_$7MeXw(A@9i8yb$gAl~Y?Q0Q$xW(>M)VD_H`-+%uq6E|tq= zfMOMSfYNg*z-PFA0UvavJvf!>^6Nt+R86pCDIbufR2_U5)Vtf66(Q*A-Ck-fkq-=? z-YBX$M=)0`ju1*aq!VFaN8KcdlUmDnf^Kcd!pIv0wY7C~)m*KgPg3XF?RB&^%$K1P zH={W8Szxxn3ObS18}wOZv5?)YyDYZi&>1?($hw?_Q4(#eTYWF^q8{^o%lF()JhHY! zFNizSg}@(R-6V*-Zot|#bVB6aVod~S^_&nq_-|XJV*xyt0VucL2W7OVoI5pF{2H75 z6!P?tP%Gh$%Ho&mPy1$N z{j$8EEP@=fqW*xJaje1EXjzp^}dU1YVH;fy)W_0z!A9`s|FB?~M^@?6F ze$>@p_4$u<6$!<7M>TLaS>hw#pQEP$e@|uwXmDKkgj<8->5_Q71T#bf9A!x^qP?73 zKkY4YVug9s^Hs#C6Q5lHR8W>P0KwO}eLBbIJ`M0>j;D2A;r7!UsbBe1zw`*6_D>?} z4l@&Mj)MP|+vyF=#oy9`CMSOnVWQ*j_ZbO z2xiPiF_^7Ezt8YSaVK6~Fhk}$-1dUbU^=Q`27{QHZ@+iF9>q@U6EJDcn@+op--Pao zMBfV-Cs?o937tNhu7e|QVx`z|5pVVh|G#{NOXTNAtayVD!w-VsDBlzMloKcBQG_?R zBIZ@_i$dW@x$>Ii67vxAI0163i4K{g*ac4Ri$soc?2E|f?}-RMA$kn*JPT_3s5fKcY|6zfvw=@LlBOJs}16dHtWr$cY^5qHk9H#*F&(brt&; r^{*kPU7ZXNcJVnDG5>;~{gcS`zd=s!9mUyvetsbXh4Sc*$o2mP`qlGV diff --git a/libftx/printf/ft_vdprintf.o b/libftx/printf/ft_vdprintf.o deleted file mode 100644 index e99c158c603b6c5ff5a47969e47aedeaa2c82060..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3848 zcmbtXU1%It6uvXFce0yJb~j12X%pIDTPxbkrfCFeV;d<`C$Uu!qCqL!$?oiC?f$Vd zyQX4nZBpsF7E(|UeGs8&UqpTJ!9uB6Xca*pM8W#7LZu0f5D_F|B%U*K?`AUDJcuXE zoO8bObI<*mb2q2eqenzRAe;npkgRGPCBz?Gm4|F`h(y41RIB`|O)vCRrk1oyX;G_; z&S}$AizIxm1-x#k%PTV)!bVULxU{SzDi4oI?X5=M)gCkg8f*oO>1I zidw54t6_{5|4I{XY87>{s@5d+c168C|HP`dRvn$Q(?G=ZRBdJL_`Tq$RoOt5FE+|| z0&1;d>gB4stW96<~1B7m@C7&%l2$1t>pcHXJn|x$+yp*#_ zJ@Jg5OZAkEqM6R;diM4!eM(>NzLIU+`$|7(1IoiBX~oKkLNT4Ql1iLJb4fEgkLKddCebY8CaeUYd*^E)~s^InW=?rgLd?!pLNzne=$lnv6Q(?oK2Jl=tWZ2NvaUbCzGaOky6e~r*cN3$BwGQd8j>^$-fxWiz#>vofM5!%+$+< zqs3xnJ(fwER?N~9r`ELsVOScIgB;lo}i7*)vx>}n2v#{XZfZ>Bw!`EY> z$ZO)^R$06S9*%7gaUeVctM=2jJpeg;WEU6&LHIk=iVXJ=9>Kj@u<$koM2ExI)h*E0 zW`94GBc`N`s&U(5gp>vQ$jcW~ptAiV!7$Gm)N~rM~7nSVKhq zoOYh2yOZ=GsKBCqV^U_8iqfV*+9rQZ@4+$8QlEU0iWg|}am*pgFmpb&2K*{uKJxpD z*K`~J5&mk-V6QQgCBPez#JYpmCOMyn7bX%}-$7mgugE%2LO$65$7a&VAM0&*)mZ}_ z>4?MZN&_I<_Y^eU3oab{0LMRe;cowKwx~X^yYXQc4#%{fhc_(jD;UFxuK?nBM{sIq z0>|+tL%P>tc7NhI5!&j)G0y>}Z(|(GsyAhj_iTXgXE-0%Zq|Tl9{eq)+pQgB?*BH! z6CVFdOotX>6Zij<>1P<{_!86KV4T-qWBNOcbN};9zwE(zou7H|Wu{;E;JlviJopUL zfAQe&G5t3WKF9PwJotx9|Hp&lcZk%)&JUm0O$R1z9{eYU^K;1kKV^6i^g8F=dS0E_3jF&@b~{`Y{fBVyb6 SYmr^1&VMRS93Cm}`2PZF(+Uaz diff --git a/minishell.h b/minishell.h index 237180e..efa5977 100644 --- a/minishell.h +++ b/minishell.h @@ -8,6 +8,9 @@ int ft_file_is_readable(char *path); int ft_file_is_writeable(char *path); +t_list **init_env(char **env); +char *get_value_index(int index, t_list **head); +char *get_value_key(char *key, t_list **head); typedef struct cmd { @@ -17,4 +20,9 @@ typedef struct cmd char *args; } cmd; +typedef struct s_data +{ + t_list **env; +} t_data; + #endif diff --git a/file1 b/test1 similarity index 66% rename from file1 rename to test1 index cacb53f..20a15c2 100644 --- a/file1 +++ b/test1 @@ -1,6 +1,6 @@ COLORTERM=truecolor -DBUS_SESSION_BUS_ADDRESS='unix:path=/run/user/101231/bus,guid=2b19cb48c68a1a9a5df2465563da4d2b' -DBUS_STARTER_ADDRESS='unix:path=/run/user/101231/bus,guid=2b19cb48c68a1a9a5df2465563da4d2b' +DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/101231/bus,guid=621c3599211e51a4e50420bf63dcee5f +DBUS_STARTER_ADDRESS=unix:path=/run/user/101231/bus,guid=621c3599211e51a4e50420bf63dcee5f DBUS_STARTER_BUS_TYPE=session DESKTOP_SESSION=ubuntu DISPLAY=:0 @@ -8,28 +8,28 @@ DOCKER_HOST=unix:///run/user/101231/docker.sock GDMSESSION=ubuntu GDM_LANG=en GNOME_DESKTOP_SESSION_ID=this-is-deprecated -GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/dd4e2769_33dd_4e18_81b2_70c233dc78ce -GNOME_TERMINAL_SERVICE=:1.96 +GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/277eb9d7_4a54_437b_9556_e8825e1c7429 +GNOME_TERMINAL_SERVICE=:1.89 GPG_AGENT_INFO=/run/user/101231/gnupg/S.gpg-agent:0:1 GTK_MODULES=gail:atk-bridge HOME=/nfs/homes/erey-bet IM_CONFIG_PHASE=1 -INVOCATION_ID=4f6816c8fd9446809f7d454fd8bdc56a -JOURNAL_STREAM=9:166232 -KRB5CCNAME=FILE:/tmp/krb5cc_101231_TfpJ05 +INVOCATION_ID=9d85372853b94435bbce5d2edac38c19 +JOURNAL_STREAM=9:2506910 +KRB5CCNAME=FILE:/tmp/krb5cc_101231_mfTZPs LANG=en_US.UTF-8 LANGUAGE=en LOGNAME=erey-bet -MANAGERPID=38750 +MANAGERPID=763384 OLDPWD=/nfs/homes/erey-bet/travaux/Cursus42/minishell PATH=/nfs/homes/erey-bet/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin PWD=/nfs/homes/erey-bet/travaux/Cursus42/minishell QT_ACCESSIBILITY=1 QT_IM_MODULE=ibus -SESSION_MANAGER=local/1C2.42angouleme.fr:@/tmp/.ICE-unix/39041,unix/1C2.42angouleme.fr:/tmp/.ICE-unix/39041 +SESSION_MANAGER=local/1D2.42angouleme.fr:@/tmp/.ICE-unix/763641,unix/1D2.42angouleme.fr:/tmp/.ICE-unix/763641 SHELL=/bin/zsh -SHLVL=1 -SSH_AGENT_PID=39003 +SHLVL=2 +SSH_AGENT_PID=763603 SSH_AUTH_SOCK=/run/user/101231/keyring/ssh TERM=xterm-256color USER=erey-bet @@ -44,6 +44,7 @@ XDG_RUNTIME_DIR=/run/user/101231 XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 XDG_SESSION_CLASS=user XDG_SESSION_DESKTOP=ubuntu -XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 +XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session3 XDG_SESSION_TYPE=x11 -XMODIFIERS='@im=ibus' +XMODIFIERS=@im=ibus +_=./minishell diff --git a/file2 b/test2 similarity index 65% rename from file2 rename to test2 index 7023d5d..11e75d9 100644 --- a/file2 +++ b/test2 @@ -1,50 +1,50 @@ +SHELL=/bin/zsh +SESSION_MANAGER=local/1D2.42angouleme.fr:@/tmp/.ICE-unix/763641,unix/1D2.42angouleme.fr:/tmp/.ICE-unix/763641 +QT_ACCESSIBILITY=1 COLORTERM=truecolor -DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/101231/bus,guid=2b19cb48c68a1a9a5df2465563da4d2b -DBUS_STARTER_ADDRESS=unix:path=/run/user/101231/bus,guid=2b19cb48c68a1a9a5df2465563da4d2b -DBUS_STARTER_BUS_TYPE=session -DESKTOP_SESSION=ubuntu -DISPLAY=:0 -DOCKER_HOST=unix:///run/user/101231/docker.sock -GDMSESSION=ubuntu -GDM_LANG=en +XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg +XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session3 +XDG_MENU_PREFIX=gnome- GNOME_DESKTOP_SESSION_ID=this-is-deprecated -GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/dd4e2769_33dd_4e18_81b2_70c233dc78ce -GNOME_TERMINAL_SERVICE=:1.96 -GPG_AGENT_INFO=/run/user/101231/gnupg/S.gpg-agent:0:1 +LANGUAGE=en +SSH_AUTH_SOCK=/run/user/101231/keyring/ssh +XMODIFIERS=@im=ibus +DESKTOP_SESSION=ubuntu +SSH_AGENT_PID=763603 GTK_MODULES=gail:atk-bridge +DBUS_STARTER_BUS_TYPE=session +KRB5CCNAME=FILE:/tmp/krb5cc_101231_mfTZPs +PWD=/nfs/homes/erey-bet/travaux/Cursus42/minishell +LOGNAME=erey-bet +XDG_SESSION_DESKTOP=ubuntu +XDG_SESSION_TYPE=x11 +GPG_AGENT_INFO=/run/user/101231/gnupg/S.gpg-agent:0:1 +XAUTHORITY=/nfs/homes/erey-bet/.Xauthority +XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/erey-bet +GDM_LANG=en HOME=/nfs/homes/erey-bet IM_CONFIG_PHASE=1 -INVOCATION_ID=4f6816c8fd9446809f7d454fd8bdc56a -JOURNAL_STREAM=9:166232 -KRB5CCNAME=FILE:/tmp/krb5cc_101231_TfpJ05 LANG=en_US.UTF-8 -LANGUAGE=en -LOGNAME=erey-bet -MANAGERPID=38750 -OLDPWD=/nfs/homes/erey-bet/travaux/Cursus42/minishell -PATH=/nfs/homes/erey-bet/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin -PWD=/nfs/homes/erey-bet/travaux/Cursus42/minishell -QT_ACCESSIBILITY=1 -QT_IM_MODULE=ibus -SESSION_MANAGER=local/1C2.42angouleme.fr:@/tmp/.ICE-unix/39041,unix/1C2.42angouleme.fr:/tmp/.ICE-unix/39041 -SHELL=/bin/zsh -SHLVL=1 -SSH_AGENT_PID=39003 +XDG_CURRENT_DESKTOP=ubuntu:GNOME +VTE_VERSION=6003 +XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 +GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/277eb9d7_4a54_437b_9556_e8825e1c7429 +INVOCATION_ID=9d85372853b94435bbce5d2edac38c19 +MANAGERPID=763384 +XDG_SESSION_CLASS=user TERM=xterm-256color USER=erey-bet -VTE_VERSION=6003 -XAUTHORITY=/nfs/homes/erey-bet/.Xauthority -XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg -XDG_CURRENT_DESKTOP=ubuntu:GNOME -XDG_DATA_DIRS=/usr/share/gnome:/usr/share/ubuntu:/nfs/homes/erey-bet/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/var/lib/snapd/desktop -XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/erey-bet -XDG_MENU_PREFIX=gnome- +GNOME_TERMINAL_SERVICE=:1.89 +DISPLAY=:0 +SHLVL=2 +QT_IM_MODULE=ibus +DBUS_STARTER_ADDRESS=unix:path=/run/user/101231/bus,guid=621c3599211e51a4e50420bf63dcee5f XDG_RUNTIME_DIR=/run/user/101231 -XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 -XDG_SESSION_CLASS=user -XDG_SESSION_DESKTOP=ubuntu -XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 -XDG_SESSION_TYPE=x11 -XMODIFIERS=@im=ibus -_=/nfs/homes/erey-bet/travaux/Cursus42/minishell/./minishell -SSH_AUTH_SOCK=/run/user/101231/keyring/ssh +DOCKER_HOST=unix:///run/user/101231/docker.sock +JOURNAL_STREAM=9:2506910 +XDG_DATA_DIRS=/usr/share/gnome:/usr/share/ubuntu:/nfs/homes/erey-bet/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/var/lib/snapd/desktop +PATH=/nfs/homes/erey-bet/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin +GDMSESSION=ubuntu +DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/101231/bus,guid=621c3599211e51a4e50420bf63dcee5f +OLDPWD=/nfs/homes/erey-bet/travaux/Cursus42/minishell +_=/usr/bin/env diff --git a/utils/ft_getstr.o b/utils/ft_getstr.o deleted file mode 100644 index ca97c0516442cfb4476d72a2e247bce6f30d897f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3200 zcmbtVU1%It6uvXFcXso)nF!2~F!P7SSvYHPdJKr=BwEQs;K zYO=bf#BQ}mVz(ymjxO!{_3gx+*!ecFN>=ArS?uZ(5Em17u0b@8zT0qV5%yAD+Q2=n z-Q3vNXpFeBHQMdi`JS2!rh~;$qCzcf4IsPpi9Rj*blWp+L;Xj)5A`#qai$V= zw41Te_!h`x3|W0Q)1n94+Ti5jUSMh=VB_DygSW?6M7+XwF%J&AVNI1J0_7D%iuN9i zntFL|3!15+Pe6s#%SC}Wq1Oe{38e)Je*g+Brv!?8g^D8whlW83e}NiAH3Som2*pEe zGV42@KbW&K&h+4{S#hnhGdMbCj2I)sPxxYS^vy9qA7CT$g#Ln zaO1^t$#mmp#XL2fHNCi3$;@W_x%gqf;`;9RSiEF8mRmG!o7G)eu9&GXh`}6Ymm#(9 zxYo2|<_9guW3F}DOoQ?=6&%YmEXPjzWzS@|`rq~}j{Sfb;kr-1#FV*CWuQGAxdbl( z3jrS#d@1bNXy*m>aEGq#RKSEi4qS-g9V?3RXS4$qn!%%p%V2Tet;B6B8@KJ*((ve* zn2Xzt*KRRxIXTx*Fn(cMMzwo=)Ml zb$IGN{9|N>b&lEpg4TnwolcBAwra_X>H^#fj|PtvxkKd9M@kn>BtJ~Jw}HpzDrGxO zr2QenJ4oZU>K_!$_uhx!N4$*V5Iz#%=Lt^+_;ZAF0sei$Cjj0Oiym=w+|rVEu!$=u8i-Nt~FUM36rR0;L}mg^9q@w=7*zo*jt zP7AT9Gt zjs2sU{{ecb#=rQ#O#T5gcB0uw(Zu#@jhkt#HHV73VVO3yOc?#J#)A3(2A{u=8UO$Q diff --git a/utils/ft_is_in_quote.o b/utils/ft_is_in_quote.o deleted file mode 100644 index 3c3b6ace4f9c1822121bc28aaf674ea58e31ae9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2936 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 ZPZFO0TVUbd5pP8lCHFtY(UuC&|1ZCn Date: Tue, 14 Feb 2023 07:26:18 +0100 Subject: [PATCH 4/4] -m --- .env.c.swp | Bin 12288 -> 0 bytes Makefile | 10 +- argprinter | Bin 0 -> 31064 bytes execution.c | 34 ++++ file.c | 66 +++++++ ft_split_quoted.c | 75 ++++++++ heredoc.c | 25 +++ infile.c | 89 +++++++++ libftx/extra/Makefile | 2 +- libftx/extra/extra.h | 6 +- libftx/extra/ft_strndup.c | 2 +- libftx/extra/ft_swap.c | 28 +++ libftx/extra/ft_tabrealloc-5f29f43f.o.tmp | 0 libftx/libft/Makefile | 14 +- libftx/libft/ft_split.c | 4 +- libftx/libft/libft.h | 2 +- libftx/libftx.h | 10 +- libftx/printf/ft_dprintarg.c | 4 +- libftx/printf/ft_dprintptr.c | 6 +- libftx/printf/ft_dprintstrtab.c | 4 +- libftx/printf/ft_eprintf.c | 2 +- libftx/printf/ft_printf.h | 4 +- libftx/printf/ft_putstr_fd.c | 4 +- main.c | 222 +++++++++++++++++++--- main.o | Bin 1608 -> 0 bytes minishell.h | 38 ++-- outfile.c | 89 +++++++++ syntatics.c | 56 ++++++ test1 | 50 ----- test2 | 50 ----- utils/ft_getstr.c | 4 +- utils/ft_is_in_quote.c | 2 +- utils/ft_strnchr.c | 2 +- utils/ft_strncpy.c | 2 +- utils/ft_strreplace.c | 5 +- utils/utils.h | 10 +- 36 files changed, 734 insertions(+), 187 deletions(-) delete mode 100644 .env.c.swp create mode 100755 argprinter create mode 100644 execution.c create mode 100644 file.c create mode 100644 ft_split_quoted.c create mode 100644 heredoc.c create mode 100644 infile.c create mode 100644 libftx/extra/ft_swap.c delete mode 100644 libftx/extra/ft_tabrealloc-5f29f43f.o.tmp delete mode 100644 main.o create mode 100644 outfile.c create mode 100644 syntatics.c delete mode 100644 test1 delete mode 100644 test2 diff --git a/.env.c.swp b/.env.c.swp deleted file mode 100644 index 4e351b5c9b51b62efa40867e91c09e12d893a74e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI2K~EDw6vqc{tD;1Y#xRtaY!|w10TYs1N#tNm&>LK^X_nntI>|C6yR!vtP@{=Q zP4okJ(f9$p`vvrd2QhvF55_NG{7<{vLLkI&Bff=ScIWN9H*bD(YTEV6>fL*M!L2e} zmYQfDDiUGC&5%02w%o2K3eldxFMCv*vpr4)8pZjq`gpq#GF^17v^gE!zccnUT^02<&nSOj%& z6V$*pa21>fqhJJlzsT4}@D{uTFF*&Zf<;gPE+_#8{-CFyU>|$~pTQ^a4!i;#kbq@S z1umEbW-q_7ryqbWGC&5%02v?yWPl8i0Wv@a{tpAY%!-9hW5w-CvBs=jhQFgh%ktAW z7E1H_k(WmT?7(cE<&|zJv7@no73$_zER_!J!u8~VD$ES0_-&=JhUufrtnHSJ1h?~r zC+qzF%JOoN4O`)k65CDu8X5`N6R&gpOj?_u4NNJ!)0RQei#N=)!N9LEX6a@m6Ky%! z8hGE2aA#P#%g`*}^rW)Q1M2u_x#h*&F*Vm3`N%QrG5E`j+AZM)rh!8W(4g4{!j=~V zO{tpgI1q7f@(f3bH90-qFlpKTd!YulEs$?@UIb(uNl!%hc>X|nQTf_0qIlvI9{27(tNxgP4Ba{uPG3I|?6y$SpU D5r{N$ diff --git a/Makefile b/Makefile index 2aeb7de..a5c2e5d 100644 --- a/Makefile +++ b/Makefile @@ -1,13 +1,13 @@ -UTILS_SRC = utils/ft_is_in_quote.c utils/ft_strncpy.c utils/ft_strreplace.c utils/ft_strnchr.c utils/ft_getstr.c -SRCS = env.c ${UTILS_SRC} +UTILS_SRC = utils/ft_is_in_quote.c utils/ft_strncpy.c utils/ft_strreplace.c utils/ft_strnchr.c utils/ft_getstr.c +SRCS = ${UTILS_SRC} main.c file.c infile.c outfile.c heredoc.c syntatics.c ft_split_quoted.c env.c OBJS = ${SRCS:.c=.o} NAME = minishell -CC = clang +CC = gcc -CFLAGS = -g -Wall -Werror -Wextra +CFLAGS = -Wall -Werror -Wextra -g LIBS = libftx/libftx.a @@ -18,7 +18,7 @@ all: ${NAME} ${NAME}: ${OBJS} make -C libftx all - ${CC} ${OBJS} -o ${NAME} ${LIBS} + ${CC} ${OBJS} -o ${NAME} ${LIBS} -lreadline clean: make -C libftx clean diff --git a/argprinter b/argprinter new file mode 100755 index 0000000000000000000000000000000000000000..11c8a1d74e19662e5d5007ee01e96d5892e16f61 GIT binary patch literal 31064 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 literal 0 HcmV?d00001 diff --git a/execution.c b/execution.c new file mode 100644 index 0000000..49294f6 --- /dev/null +++ b/execution.c @@ -0,0 +1,34 @@ +#include "libftx/libftx.h" +#include "minishell.h" +#include + +int main(int ac, char **av, char **env) +{ + +} + +/* char *ft_get_executable_path(t_data *data, char *executable) */ +/* { */ +/* if (ft_strcmp(executable, "env") == 0) */ +/* return (ft_strjoin("", executable)); */ +/* else */ +/* return */ +/* } */ + +int ft_excutor(t_cmd *cmd) +{ + int pid; + + pid = fork(); + if (pid == -1) + return (1); + if (pid == 0) + { + dup2(cmd->fd_out, 1); + dup2(cmd->fd_in, 0); + //TODO ADD ENV VARIABLES + execve(cmd->executable, cmd->args, NULL); + } + else + waitpid(pid); +} diff --git a/file.c b/file.c new file mode 100644 index 0000000..d03757d --- /dev/null +++ b/file.c @@ -0,0 +1,66 @@ +#include "minishell.h" + +int ft_file_is_readable(const char *path) +{ + int readable; + int fd; + + fd = open(path, O_RDONLY); + if (fd == -1) + { + ft_eprintf("minishell: %s: No such file or directory\n", path); + return (0); + } + readable = read(fd, "", 0); + if (readable == -1) + { + ft_eprintf("minishell: %s: Permission denied\n", path); + return (0); + } + close(fd); + return (1); +} + +int ft_file_is_writeable(const char *path) +{ + int writeable; + int fd; + + fd = open(path, O_WRONLY | O_CREAT, 0644); + if (fd == -1) + { + ft_eprintf("minishell: %s: Permission denied\n", path); + return (0); + } + writeable = write(fd, "", 0); + if (writeable == -1) + { + ft_eprintf("minishell: %s: Permission denied\n", path); + return (0); + } + close(fd); + return (1); +} + +char *ft_get_file_path(const char *infile) +{ + size_t i; + size_t n; + + n = 1; + while (infile[-n] == infile[-1]) + n++; + i = 0; + while (infile[i] == ' ') + i++; + if (infile[i] == '\0' || infile[i] == '>' || infile[i] == '<') + { + ft_eprintf("minishell: syntax error near "); + if ((infile[0] == '<' && n > 3) || (infile[0] == '>' && n > 2)) + ft_eprintf("unexpected token `%c`\n", infile[i - 1]); + else + ft_eprintf("unexpected token `newline`\n"); + return (NULL); + } + return (ft_getstr(infile, i + 1)); +} diff --git a/ft_split_quoted.c b/ft_split_quoted.c new file mode 100644 index 0000000..03b1fb2 --- /dev/null +++ b/ft_split_quoted.c @@ -0,0 +1,75 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_split_quoted.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet + +int ft_heredoc(char *stop) +{ + int fds[2]; + char *line; + + pipe(fds); + line = readline("> "); + while (line != NULL) + { + if (ft_strcmp(line, stop) == 0) + { + free(line); + break ; + } + ft_putstr_fd(line, fds[1]); + add_history(line); + free(line); + line = readline("> "); + } + close(fds[1]); + return (fds[0]); +} diff --git a/infile.c b/infile.c new file mode 100644 index 0000000..279fa17 --- /dev/null +++ b/infile.c @@ -0,0 +1,89 @@ +#include "minishell.h" + +static int ft_get_infile(char *line) +{ + size_t i; + int fd; + char *path; + + fd = 0; + i = 0; + while (line[i] != '\0') + { + if (line[i] == '<' && ft_is_in_quote(line, i) == 0) + { + i++; + if (fd != 0) + close(fd); + if (line[i] == '<') + { + i++; + path = ft_get_file_path(line + i); + if (path == NULL) + return (-1); + fd = ft_heredoc(path); + } + else + { + path = ft_get_file_path(line + i); + if (path == NULL) + return (-1); + if (ft_file_is_readable(path) == 0) + { + free(path); + return (-1); + } + fd = open(path, O_RDONLY); + } + free(path); + } + i++; + } + return (fd); +} + +static int ft_remove_infile(char *line) +{ + size_t i; + int separator; + + i = 0; + while (line[i] != '\0') + { + if (line[i] == '<' && ft_is_in_quote(line, i) == 0) + { + while (line[i] == '<') + line[i++] = ' '; + while (line[i] == ' ') + i++; + separator = ft_is_in_quote(line, i); + if (separator == 0) + separator = ' '; + else if (separator == 1) + separator = '\''; + else + separator = '\"'; + while (line[i] != separator && line[i] != '\0') + line[i++] = ' '; + if (line[i] != '\0' + && (separator == '\'' || separator == '\"')) + line[i++] = ' '; + } + i++; + } + return (0); +} + +int ft_infile(char *line) +{ + int fd; + + fd = ft_get_infile(line); + if (ft_remove_infile(line)) + { + if (fd > 0) + close(fd); + return (-1); + } + return (fd); +} diff --git a/libftx/extra/Makefile b/libftx/extra/Makefile index 269a370..bc967dd 100644 --- a/libftx/extra/Makefile +++ b/libftx/extra/Makefile @@ -12,7 +12,7 @@ CC = clang -SRCS = ft_contain_only.c ft_freer.c ft_is_in.c ft_random_generator.c ft_strchri.c ft_strcmp.c ft_strfjoin.c ft_strgen.c ft_strmerger.c ft_strndup.c ft_tabrealloc.c ft_ultoa_base.c +SRCS = ft_contain_only.c ft_freer.c ft_is_in.c ft_random_generator.c ft_strchri.c ft_strcmp.c ft_strfjoin.c ft_strgen.c ft_strmerger.c ft_strndup.c ft_tabrealloc.c ft_ultoa_base.c ft_swap.c OBJS = $(SRCS:.c=.o) diff --git a/libftx/extra/extra.h b/libftx/extra/extra.h index c5180fa..f745d3f 100644 --- a/libftx/extra/extra.h +++ b/libftx/extra/extra.h @@ -28,9 +28,13 @@ char *ft_strfjoin(char *s1, char *s2); char *ft_strmerger(size_t arg_len, ...); int ft_is_in(char *str, char c); char **ft_tabrealloc(char **tab, size_t current_size, size_t new_size); -char *ft_strndup(char *src, size_t n); +char *ft_strndup(const char *src, size_t n); ssize_t ft_strchri(char *str, char c); int ft_contain_only_str(char *str, char *to_find); int ft_contain_only(char *str, char c); int ft_strcmp(char *s1, char *s2); +void ft_swap(void *a, void *b); +void ft_swap_int(int *a, int *b); +void ft_swap_char(char *a, char *b); + #endif diff --git a/libftx/extra/ft_strndup.c b/libftx/extra/ft_strndup.c index c0fc2aa..c289878 100644 --- a/libftx/extra/ft_strndup.c +++ b/libftx/extra/ft_strndup.c @@ -12,7 +12,7 @@ #include "extra.h" -char *ft_strndup(char *src, size_t n) +char *ft_strndup(const char *src, size_t n) { char *out; size_t i; diff --git a/libftx/extra/ft_swap.c b/libftx/extra/ft_swap.c new file mode 100644 index 0000000..0a65b04 --- /dev/null +++ b/libftx/extra/ft_swap.c @@ -0,0 +1,28 @@ +#include "extra.h" + +void ft_swap(void *a, void *b) +{ + void *c; + + c = a; + a = b; + b = c; +} + +void ft_swap_char(char *a, char *b) +{ + char c; + + c = *a; + *a = *b; + *b = c; +} + +void ft_swap_int(int *a, int *b) +{ + int c; + + c = *a; + *a = *b; + *b = c; +} diff --git a/libftx/extra/ft_tabrealloc-5f29f43f.o.tmp b/libftx/extra/ft_tabrealloc-5f29f43f.o.tmp deleted file mode 100644 index e69de29..0000000 diff --git a/libftx/libft/Makefile b/libftx/libft/Makefile index 9a2c3b1..0102a19 100644 --- a/libftx/libft/Makefile +++ b/libftx/libft/Makefile @@ -45,9 +45,8 @@ SRCS = ft_isalpha.c \ ft_putchar_fd.c \ ft_putstr_fd.c \ ft_putendl_fd.c \ - ft_putnbr_fd.c - -BSRCS = ft_lstnew.c \ + ft_putnbr_fd.c \ + ft_lstnew.c \ ft_lstadd_front.c \ ft_lstsize.c \ ft_lstlast.c \ @@ -59,8 +58,6 @@ BSRCS = ft_lstnew.c \ OBJS = $(SRCS:.c=.o) -BOBJS = $(BSRCS:.c=.o) - NAME = libft.a CFLAGS = -Wall -Werror -Wextra -g @@ -73,15 +70,12 @@ all: $(NAME) $(NAME): $(OBJS) ar -rc $(NAME) $(OBJS) -bonus: $(OBJS) $(BOBJS) - ar -rc $(NAME) $(OBJS) $(BOBJS) - clean: - rm -f $(OBJS) $(BOBJS) + rm -f $(OBJS) fclean: clean rm -f $(NAME) re: fclean all -.PHONY: all bonus clean fclean re +.PHONY: all clean fclean re diff --git a/libftx/libft/ft_split.c b/libftx/libft/ft_split.c index ed71fc1..acd870d 100644 --- a/libftx/libft/ft_split.c +++ b/libftx/libft/ft_split.c @@ -12,7 +12,7 @@ #include "libft.h" -void *ft_cancel(char **tab, size_t len) +void *ft_cancel(void **tab, size_t len) { size_t i; @@ -68,7 +68,7 @@ static char **ft_segsplitter(char **tab, size_t len, const char *s, char c) let_index++; tab[tab_index] = ft_substr(s, start, let_index - start); if (tab[tab_index] == NULL) - return (ft_cancel(tab, tab_index)); + return (ft_cancel((void **)tab, tab_index)); tab_index++; } return (tab); diff --git a/libftx/libft/libft.h b/libftx/libft/libft.h index 3c98b38..11cc2c4 100644 --- a/libftx/libft/libft.h +++ b/libftx/libft/libft.h @@ -15,7 +15,7 @@ # include # include -void *ft_cancel(char **tab, size_t len); +void *ft_cancel(void **tab, size_t len); int ft_atoi(const char *nptr); void ft_bzero(void *s, size_t n); void *ft_calloc(size_t nmemb, size_t size); diff --git a/libftx/libftx.h b/libftx/libftx.h index 8d0d553..5735aa1 100644 --- a/libftx/libftx.h +++ b/libftx/libftx.h @@ -6,7 +6,7 @@ /* By: cchauvet executable != NULL) + free(content->executable); + if (content->args != NULL) + ft_freer_tab_ultimate(1, content->args); + free(content); +} + +int ft_cmds_init(t_list **cmds, size_t len) +{ + t_cmd *content; + t_list *current; + size_t i; + + *cmds = malloc(sizeof(t_list)); + current = *cmds; + i = 0; + while (i < len) + { + content = malloc(sizeof(t_cmd)); + if (content == NULL) + { + ft_lstclear(cmds, ft_lstdel); + return (1); + } + content->args = NULL; + content->executable = NULL; + content->fd_in = -1; + content->fd_out = -1; + current->content = content; + if (!((i + 1) < len)) + { + current->next = NULL; + return (0); + } + current->next = malloc(sizeof(t_list)); + if (current->next == NULL) + ft_lstclear(cmds, ft_lstdel); + current = current->next; + i++; + } + return (0); +} + +int ft_cmds_prep(t_list **cmds, const char *line, int infile, int outfile) +{ + size_t len; + t_cmd *cmd; + t_list *current; + + len = ft_seglen_quoted(line, '|'); + if (len == 0) + return (0); + if (ft_cmds_init(cmds, ft_seglen_quoted(line, '|'))) + { + free(cmds); + return (1); + } + cmd = (t_cmd *)(*cmds)->content; + cmd->fd_in = infile; + current = *cmds; + while (current->next != NULL) + current = current->next; + cmd = (t_cmd *) current->content; + cmd->fd_out = outfile; + return (0); +} + +void ft_strshift(char *str, int shift) { size_t i; - char *path; - path = NULL; + if (shift > 0) + return ; i = 0; - while ((*line)[i] != '\0') + while (str[i - shift] != '\0') { - if ((*line)[i] == '<' && ft_is_in_quote(*line, i) == 0) + str[i] = str[i - shift]; + i++; + } + str[i + shift] = '\0'; +} + +void ft_quote_remover(char *str) +{ + size_t i; + ssize_t start; + ssize_t stop; + + start = -1; + i = 0; + while (str[i] != '\0') + { + if ((str[i] == '\"' || str[i] == '\'')) { - if (path != NULL) - free(path); - path = ft_getstr(*line, i); - if (path == NULL) - return (-1); - if (ft_file_is_readable(path) == 0) + if (start == -1) + start = i; + else if (str[i] == str[start]) { - free(path); - return (-1); + stop = i; + break ; } } i++; } - return (open(path, O_RDONLY)); + if (start != -1) + { + ft_strshift(str, -1); + str[stop] = '\0'; + } } -t_list **ft_parse_cmd(char *line) +int ft_cmd_filler(t_list *element, char **args) { - char infile; - char outfile; - t_list **cmds; + t_cmd *content; size_t i; - (void) outfile; - (void) cmds; + if (args == NULL) + return (1); + content = (t_cmd *)element->content; i = 0; - while (line[i] != '\0') + while (args[i] != NULL) { - + ft_quote_remover(args[i]); i++; } + content->args = args; + //TODO check if executable exist + //TODO change it by env value + //TODO add switch to bultin + content->executable = ft_strjoin("/usr/bin/", args[0]); + if (content->executable == NULL) + return (1); + return (0); +} + +int ft_cmds_fill(t_list **cmds, const char *line) +{ + char **tab; + char **args; + t_list *current; + size_t i; + + tab = ft_split_quoted(line, '|'); + if (tab == NULL) + return (1); + i = 0; + current = *cmds; + while (tab[i] != NULL) + { + args = ft_split_quoted(tab[i], ' '); + if (ft_cmd_filler(current, args) == 1) + { + ft_lstclear(cmds, ft_lstdel); + ft_freer_tab_ultimate(2, args, tab); + return (1); + } + current = current->next; + i++; + } + ft_freer_tab_ultimate(1, tab); + return (0); +} + +t_list **ft_parse_cmds(char *line) +{ + int infile; + int outfile; + t_list **cmds; + + cmds = malloc(sizeof(t_list *)); + outfile = ft_outfile(line); + infile = ft_infile(line); + if (ft_syntatic_verif(line) == 1) + return (NULL); + if (ft_cmds_prep(cmds, line, infile, outfile) == 1) + return (NULL); + if (ft_cmds_fill(cmds, line) == 1) + return (NULL); + ft_printf("%s\n", line); + return (cmds); +} + +int ft_cmds_excutor(t_list **cmds) +{ + t_cmd *content; + t_list *current; + size_t i; + + i = 0; + current = *cmds; + while (current != NULL) + { + content = current->content; + ft_printf("--- COMMAND %d\n", i); + ft_printf("excutable: %s\n", content->executable); + ft_printf("args:\n%S", content->args); + current = current->next; + i++; + } + return (0); } int main(int ac, char **av) { - int fd; - int i; + t_list **cmds; if (ac == 1) return (1); - ft_parse_cmd(av[1]); + cmds = ft_parse_cmds(av[1]); + if (cmds == NULL) + return (1); + if (ft_cmds_excutor(cmds) == 1) + { + ft_lstclear(cmds, ft_lstdel); + return (1); + } + ft_lstclear(cmds, ft_lstdel); + free(cmds); return (1); } diff --git a/main.o b/main.o deleted file mode 100644 index 3f8ef4e97bb657bff92853efba050ef02a0aede3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1608 zcmbu9&x_Mg5XUF&?zU*vA_}5{xp>^?wkqgBsYu)$R*{7s1f^t~bhp?hHBFbgP!-Cm zB^M7~{4e|qbWy>7K`-J(sL;cDksbNsW2feX5=F0+!N>FVA#73J z=(s^guQn`qQ{Q&{cHMLJLQ$-UmF0__Xt404h}k7^Ihyf=oLAdf2d$ge&g3%LSGa?- z$mt<_Lq9i;=AWl-9$8AgMg@Unvk))9uW8a~8d6CZ(pV9+eaS<>dvkM@6r(ub}=>{OGUbE@A0W__;3tr1{LAYMvh}Apg<#u3I zAA)E!wwo2pw(%BiLM^DY{JI;|pxW@-j_l=ZRcgM~bij8kJL)B>AliW+SR3dcHzV(R zwiQ@}3!)$w_@8bI>(%$b?Iv>5FBnKq=cn2dCdA0AR+0(dA0CU}MXKd@${O;zoPSS3 z`X~wUCv!^jE_&)wlsUVvGN5;=8n2%{{nt>uqKYv7CUX(vT*v+#j&rO^b4f5kyFOzr z^^Q@WysW=MiDJBeMz=9YI=}C-A)gbSAAN^h&-?!ujZ*3rpZ^aML$tX7 diff --git a/minishell.h b/minishell.h index efa5977..86edcfd 100644 --- a/minishell.h +++ b/minishell.h @@ -1,24 +1,36 @@ -#ifndef FT_MINISHELL -# define FT_MINISHELL +#ifndef MINISHELL_H +# define MINISHELL_H # include "libftx/libftx.h" # include "utils/utils.h" # include # include # include +# include +# include +# include +# include -int ft_file_is_readable(char *path); -int ft_file_is_writeable(char *path); -t_list **init_env(char **env); -char *get_value_index(int index, t_list **head); -char *get_value_key(char *key, t_list **head); +t_list **init_env(char **env); +char *get_value_index(int index, t_list **head); +char *get_value_key(char *key, t_list **head); -typedef struct cmd +int ft_syntatic_verif(const char *str); +int ft_file_is_readable(const char *path); +int ft_file_is_writeable(const char *path); +char *ft_get_file_path(const char *infile); +int ft_infile(char *line); +int ft_outfile(char *line); +int ft_heredoc(char *stop); +size_t ft_seglen_quoted(const char *str, char c); +char **ft_split_quoted(const char *s, char c); + +typedef struct s_cmd { - int fd_in; - int fd_out; - char *cmd; - char *args; -} cmd; + int fd_in; + int fd_out; + char *executable; + char **args; +} t_cmd; typedef struct s_data { diff --git a/outfile.c b/outfile.c new file mode 100644 index 0000000..2779606 --- /dev/null +++ b/outfile.c @@ -0,0 +1,89 @@ +#include "minishell.h" + +static int ft_get_outfile(char *line) +{ + size_t i; + int append; + char *path; + + path = NULL; + append = 0; + i = 0; + while (line[i] != '\0') + { + if (line[i] == '>' && ft_is_in_quote(line, i) == 0) + { + i++; + if (line[i] == '>') + { + i++; + append = 1; + } + else + append = 0; + if (path != NULL) + free(path); + path = ft_get_file_path(line + i); + if (path == NULL || ft_file_is_writeable(path) == 0) + { + free(path); + return (-1); + } + } + i++; + } + if (path == NULL) + return (-2); + if (append == 1) + i = open(path, O_APPEND | O_CREAT, 0664); + else + i = open(path, O_WRONLY | O_TRUNC | O_CREAT, 0664); + free(path); + return (i); +} + +static int ft_remove_outfile(char *line) +{ + size_t i; + int separator; + + i = 0; + while (line[i] != '\0') + { + if (line[i] == '>' && ft_is_in_quote(line, i) == 0) + { + while (line[i] == '>') + line[i++] = ' '; + while (line[i] == ' ') + i++; + separator = ft_is_in_quote(line, i); + if (separator == 0) + separator = ' '; + else if (separator == 1) + separator = '\''; + else + separator = '\"'; + while (line[i] != separator && line[i] != '\0') + line[i++] = ' '; + if (line[i] != '\0' + && (separator == '\'' || separator == '\"')) + line[i++] = ' '; + } + i++; + } + return (0); +} + +int ft_outfile(char *line) +{ + int fd; + + fd = ft_get_outfile(line); + if (ft_remove_outfile(line)) + { + if (fd > 0) + close(fd); + return (-1); + } + return (fd); +} diff --git a/syntatics.c b/syntatics.c new file mode 100644 index 0000000..ab9cc7d --- /dev/null +++ b/syntatics.c @@ -0,0 +1,56 @@ +#include "libftx/libftx.h" +#include "minishell.h" + +static int ft_quote_verif(const char *str) +{ + if (ft_is_in_quote(str, ft_strlen(str))) + { + ft_eprintf("minishell: Quote is note closed"); + return (1); + } + else + return (0); +} + +static int ft_multipipe(const char *str) +{ + size_t i; + size_t y; + + i = 0; + while (str[i] != '\0') + { + y = 0; + while (str[i + y] == '|' && !ft_is_in_quote(str, i)) + { + if (y > 0) + { + ft_eprintf("minishell: Multiple pipes is not supported\n"); + return (1); + } + y++; + } + i++; + } + return (0); +} + +static int ft_pipe_is_alone(const char *str) +{ + size_t i; + + i = ft_strlen(str) - 1; + while (str[i] != '|' && i > 0) + { + if (str[i] != ' ') + return (0); + i--; + } + ft_eprintf("minishell: Pipe must be followed by a command or redirection\n"); + return (1); +} + +int ft_syntatic_verif(const char *str) +{ + return (ft_quote_verif(str) || ft_multipipe(str) || ft_pipe_is_alone(str)); +} diff --git a/test1 b/test1 deleted file mode 100644 index 20a15c2..0000000 --- a/test1 +++ /dev/null @@ -1,50 +0,0 @@ -COLORTERM=truecolor -DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/101231/bus,guid=621c3599211e51a4e50420bf63dcee5f -DBUS_STARTER_ADDRESS=unix:path=/run/user/101231/bus,guid=621c3599211e51a4e50420bf63dcee5f -DBUS_STARTER_BUS_TYPE=session -DESKTOP_SESSION=ubuntu -DISPLAY=:0 -DOCKER_HOST=unix:///run/user/101231/docker.sock -GDMSESSION=ubuntu -GDM_LANG=en -GNOME_DESKTOP_SESSION_ID=this-is-deprecated -GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/277eb9d7_4a54_437b_9556_e8825e1c7429 -GNOME_TERMINAL_SERVICE=:1.89 -GPG_AGENT_INFO=/run/user/101231/gnupg/S.gpg-agent:0:1 -GTK_MODULES=gail:atk-bridge -HOME=/nfs/homes/erey-bet -IM_CONFIG_PHASE=1 -INVOCATION_ID=9d85372853b94435bbce5d2edac38c19 -JOURNAL_STREAM=9:2506910 -KRB5CCNAME=FILE:/tmp/krb5cc_101231_mfTZPs -LANG=en_US.UTF-8 -LANGUAGE=en -LOGNAME=erey-bet -MANAGERPID=763384 -OLDPWD=/nfs/homes/erey-bet/travaux/Cursus42/minishell -PATH=/nfs/homes/erey-bet/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin -PWD=/nfs/homes/erey-bet/travaux/Cursus42/minishell -QT_ACCESSIBILITY=1 -QT_IM_MODULE=ibus -SESSION_MANAGER=local/1D2.42angouleme.fr:@/tmp/.ICE-unix/763641,unix/1D2.42angouleme.fr:/tmp/.ICE-unix/763641 -SHELL=/bin/zsh -SHLVL=2 -SSH_AGENT_PID=763603 -SSH_AUTH_SOCK=/run/user/101231/keyring/ssh -TERM=xterm-256color -USER=erey-bet -VTE_VERSION=6003 -XAUTHORITY=/nfs/homes/erey-bet/.Xauthority -XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg -XDG_CURRENT_DESKTOP=ubuntu:GNOME -XDG_DATA_DIRS=/usr/share/gnome:/usr/share/ubuntu:/nfs/homes/erey-bet/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/var/lib/snapd/desktop -XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/erey-bet -XDG_MENU_PREFIX=gnome- -XDG_RUNTIME_DIR=/run/user/101231 -XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 -XDG_SESSION_CLASS=user -XDG_SESSION_DESKTOP=ubuntu -XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session3 -XDG_SESSION_TYPE=x11 -XMODIFIERS=@im=ibus -_=./minishell diff --git a/test2 b/test2 deleted file mode 100644 index 11e75d9..0000000 --- a/test2 +++ /dev/null @@ -1,50 +0,0 @@ -SHELL=/bin/zsh -SESSION_MANAGER=local/1D2.42angouleme.fr:@/tmp/.ICE-unix/763641,unix/1D2.42angouleme.fr:/tmp/.ICE-unix/763641 -QT_ACCESSIBILITY=1 -COLORTERM=truecolor -XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg -XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session3 -XDG_MENU_PREFIX=gnome- -GNOME_DESKTOP_SESSION_ID=this-is-deprecated -LANGUAGE=en -SSH_AUTH_SOCK=/run/user/101231/keyring/ssh -XMODIFIERS=@im=ibus -DESKTOP_SESSION=ubuntu -SSH_AGENT_PID=763603 -GTK_MODULES=gail:atk-bridge -DBUS_STARTER_BUS_TYPE=session -KRB5CCNAME=FILE:/tmp/krb5cc_101231_mfTZPs -PWD=/nfs/homes/erey-bet/travaux/Cursus42/minishell -LOGNAME=erey-bet -XDG_SESSION_DESKTOP=ubuntu -XDG_SESSION_TYPE=x11 -GPG_AGENT_INFO=/run/user/101231/gnupg/S.gpg-agent:0:1 -XAUTHORITY=/nfs/homes/erey-bet/.Xauthority -XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/erey-bet -GDM_LANG=en -HOME=/nfs/homes/erey-bet -IM_CONFIG_PHASE=1 -LANG=en_US.UTF-8 -XDG_CURRENT_DESKTOP=ubuntu:GNOME -VTE_VERSION=6003 -XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 -GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/277eb9d7_4a54_437b_9556_e8825e1c7429 -INVOCATION_ID=9d85372853b94435bbce5d2edac38c19 -MANAGERPID=763384 -XDG_SESSION_CLASS=user -TERM=xterm-256color -USER=erey-bet -GNOME_TERMINAL_SERVICE=:1.89 -DISPLAY=:0 -SHLVL=2 -QT_IM_MODULE=ibus -DBUS_STARTER_ADDRESS=unix:path=/run/user/101231/bus,guid=621c3599211e51a4e50420bf63dcee5f -XDG_RUNTIME_DIR=/run/user/101231 -DOCKER_HOST=unix:///run/user/101231/docker.sock -JOURNAL_STREAM=9:2506910 -XDG_DATA_DIRS=/usr/share/gnome:/usr/share/ubuntu:/nfs/homes/erey-bet/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/var/lib/snapd/desktop -PATH=/nfs/homes/erey-bet/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin -GDMSESSION=ubuntu -DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/101231/bus,guid=621c3599211e51a4e50420bf63dcee5f -OLDPWD=/nfs/homes/erey-bet/travaux/Cursus42/minishell -_=/usr/bin/env diff --git a/utils/ft_getstr.c b/utils/ft_getstr.c index c55fed4..b7f88ca 100644 --- a/utils/ft_getstr.c +++ b/utils/ft_getstr.c @@ -1,11 +1,11 @@ #include "utils.h" -char *ft_getstr(char *str, size_t n) +char *ft_getstr(const char *str, size_t n) { size_t start; size_t stop; char c; - int quote; + int quote; start = n; stop = n; diff --git a/utils/ft_is_in_quote.c b/utils/ft_is_in_quote.c index 3b697d1..c645ad3 100644 --- a/utils/ft_is_in_quote.c +++ b/utils/ft_is_in_quote.c @@ -1,6 +1,6 @@ #include "utils.h" -int ft_is_in_quote(char *str, size_t n) +int ft_is_in_quote(const char *str, size_t n) { size_t double_quoted; size_t simple_quoted; diff --git a/utils/ft_strnchr.c b/utils/ft_strnchr.c index 6654db9..d385f48 100644 --- a/utils/ft_strnchr.c +++ b/utils/ft_strnchr.c @@ -1,6 +1,6 @@ #include "utils.h" -ssize_t ft_strnchr(char *str, char c) +ssize_t ft_strnchr(const char *str, char c) { size_t i; diff --git a/utils/ft_strncpy.c b/utils/ft_strncpy.c index 16de576..8eca3f1 100644 --- a/utils/ft_strncpy.c +++ b/utils/ft_strncpy.c @@ -1,6 +1,6 @@ #include "utils.h" -size_t ft_strncpy(char *dst, char *src, size_t n) +size_t ft_strncpy(char *dst, const char *src, size_t n) { size_t i; diff --git a/utils/ft_strreplace.c b/utils/ft_strreplace.c index 8a2a2ba..cfe92bf 100644 --- a/utils/ft_strreplace.c +++ b/utils/ft_strreplace.c @@ -1,11 +1,12 @@ #include "utils.h" -char *ft_strreplace(char *str, char *fill, size_t start, size_t stop) +char *ft_strreplace(char *str, const char *fill, size_t start, size_t stop) { char *out; size_t sum; - out = malloc((ft_strlen(str) + ft_strlen(fill) - (stop - start) + 1 * sizeof(char))); + out = malloc((ft_strlen(str) + ft_strlen(fill) - (stop - start) + 1 + * sizeof(char))); if (out == NULL) return (NULL); ft_strncpy(out, str, start); diff --git a/utils/utils.h b/utils/utils.h index 0f24105..23df973 100644 --- a/utils/utils.h +++ b/utils/utils.h @@ -3,10 +3,10 @@ # include # include "../libftx/libftx.h" -size_t ft_strncpy(char *dst, char *src, size_t n); -int ft_is_in_quote(char *str, size_t n); -char *ft_strreplace(char *str, char *fill, size_t start, size_t stop); -ssize_t ft_strnchr(char *str, char c); -char *ft_getstr(char *str, size_t n); +size_t ft_strncpy(char *dst, const char *src, size_t n); +int ft_is_in_quote(const char *str, size_t n); +char *ft_strreplace(char *str, const char *fill, size_t start, size_t stop); +ssize_t ft_strnchr(const char *str, char c); +char *ft_getstr(const char *str, size_t n); #endif