From 940d5e5623837fbc72d39677368772908fd9ab0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A8Roman?= <¨roman.mikhaylenko14@hotmail.com¨> Date: Tue, 3 Sep 2024 15:40:40 +0100 Subject: [PATCH 01/83] add: get local_vars using $ --- src/parser/parser_helper_helpers.c | 3 +++ src/redirection/redirect_heredoc.c | 12 ------------ src/utils/.maxishell_history | 26 ++++++++++++++++++++++++++ 3 files changed, 29 insertions(+), 12 deletions(-) diff --git a/src/parser/parser_helper_helpers.c b/src/parser/parser_helper_helpers.c index 2b498186..85d32b4d 100644 --- a/src/parser/parser_helper_helpers.c +++ b/src/parser/parser_helper_helpers.c @@ -46,7 +46,10 @@ char *expand_env_var(char *arg, t_ms_data *data) { if (arg[ft_strlen(arg) - 1] == '"') arg[ft_strlen(arg) - 1] = '\0'; + ft_printf("we here"); env_value = get_env(data->envp, arg + 1); + if (!env_value) + env_value = get_env(data->shell_variables, arg + 1); if (env_value) return (ft_strdup(env_value)); } diff --git a/src/redirection/redirect_heredoc.c b/src/redirection/redirect_heredoc.c index eef88c40..b66c7ef6 100644 --- a/src/redirection/redirect_heredoc.c +++ b/src/redirection/redirect_heredoc.c @@ -31,29 +31,17 @@ static void execute_child(t_ast *node, t_ms_data *data, int *file_fd); - 1: error */ -int is_in_quotes(char *arg) -{ - if (arg[0] == '\"' && arg[ft_strlen(arg) - 1] == '\"' ) - { - printf("quoted eof\n"); - return (1); - } - return (0); -} - int redirect_here_doc(t_ast *node, t_ms_data *data) { char *line; char *eof; int file_fd; - int in_quotes; line = NULL; if (node->right->args[0] == NULL) return (1); file_fd = open_tmp_file("w"); eof = ft_strdup(node->right->args[0]); - in_quotes = is_in_quotes(eof); line = readline("> "); while (line && (ft_strcmp(line, eof) != 0)) { diff --git a/src/utils/.maxishell_history b/src/utils/.maxishell_history index e69de29b..a891cce7 100644 --- a/src/utils/.maxishell_history +++ b/src/utils/.maxishell_history @@ -0,0 +1,26 @@ +echo hel +exit +echo +echo k +cat << ok +exit +a=123 +echo $a +exit +a=123 +echo $a +exit +a=123 +echo $a +exit +a=123 +echo $a +exit +a=1234 +echo $a +export A=12 +echo $A +b=567 +echo $a $b +echo $a$b +exit From 317fe0644bfc67ce70736e40458a10c4fe92f3ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A8Roman?= <¨roman.mikhaylenko14@hotmail.com¨> Date: Tue, 3 Sep 2024 16:18:07 +0100 Subject: [PATCH 02/83] add: heredoc now returns expanded env_arvs and loc_args --- inc/tokens.h | 1 + src/parser/parser_helper_helpers.c | 1 - src/redirection/redirect_heredoc.c | 51 +++++++++++++++++++++++++-- src/utils/.maxishell_history | 56 ++++++++++++++++++++++++++++++ 4 files changed, 106 insertions(+), 3 deletions(-) diff --git a/inc/tokens.h b/inc/tokens.h index c0489ac5..e605c88c 100644 --- a/inc/tokens.h +++ b/inc/tokens.h @@ -116,5 +116,6 @@ t_ast *manage_pipe(t_token **tokens, t_ms_data *data); char *trim_input(char *str); void print_ast_root(t_ast *root); void execute_tree(t_ast *node, t_ms_data *data); +char *expand_env_var(char *arg, t_ms_data *data); #endif diff --git a/src/parser/parser_helper_helpers.c b/src/parser/parser_helper_helpers.c index 85d32b4d..51d6077f 100644 --- a/src/parser/parser_helper_helpers.c +++ b/src/parser/parser_helper_helpers.c @@ -46,7 +46,6 @@ char *expand_env_var(char *arg, t_ms_data *data) { if (arg[ft_strlen(arg) - 1] == '"') arg[ft_strlen(arg) - 1] = '\0'; - ft_printf("we here"); env_value = get_env(data->envp, arg + 1); if (!env_value) env_value = get_env(data->shell_variables, arg + 1); diff --git a/src/redirection/redirect_heredoc.c b/src/redirection/redirect_heredoc.c index b66c7ef6..4aeae0dd 100644 --- a/src/redirection/redirect_heredoc.c +++ b/src/redirection/redirect_heredoc.c @@ -31,6 +31,53 @@ static void execute_child(t_ast *node, t_ms_data *data, int *file_fd); - 1: error */ +char *process_and_reassemble(char *line, t_ms_data *data) { + char **tokens; + char *token; + char *result; + size_t line_len = strlen(line); + size_t result_len = 0; + int i = 0; + + // Allocate memory for token array (assuming a reasonable max number of tokens) + tokens = malloc((line_len / 2 + 1) * sizeof(char *)); + if (!tokens) { + perror("malloc"); + return NULL; + } + + // Split the input line into tokens by spaces + token = strtok(line, " "); + while (token != NULL) { + // Apply the processing logic to each token + tokens[i] = expand_env_var(line, data); + result_len += strlen(tokens[i]) + 1; // +1 for the space + i++; + token = strtok(NULL, " "); + } + tokens[i] = NULL; // Null-terminate the token array + + // Allocate memory for the final result string + result = malloc(result_len + 1); // +1 for the null terminator + if (!result) { + perror("malloc"); + free(tokens); + return NULL; + } + + // Concatenate the tokens back into a single string + strcpy(result, tokens[0]); + for (int j = 1; tokens[j] != NULL; j++) { + strcat(result, " "); + strcat(result, tokens[j]); + } + + // Free the memory allocated for the tokens + free(tokens); + + return result; +} + int redirect_here_doc(t_ast *node, t_ms_data *data) { char *line; @@ -42,13 +89,13 @@ int redirect_here_doc(t_ast *node, t_ms_data *data) return (1); file_fd = open_tmp_file("w"); eof = ft_strdup(node->right->args[0]); - line = readline("> "); + line = process_and_reassemble(readline("> "), data); while (line && (ft_strcmp(line, eof) != 0)) { write(file_fd, line, ft_strlen(line)); write(file_fd, "\n", 1); free(line); - line = readline("> "); + line = process_and_reassemble(readline("> "), data); } free(line); free(eof); diff --git a/src/utils/.maxishell_history b/src/utils/.maxishell_history index a891cce7..ba6e9c4d 100644 --- a/src/utils/.maxishell_history +++ b/src/utils/.maxishell_history @@ -24,3 +24,59 @@ b=567 echo $a $b echo $a$b exit +a=435 +echo $a +a==1234 +echo $a +exitexit +exit +cat << eof +cat << eof +a=123 +b=456 +echo $a $b +echo $a$b +pwd +cd .. | cd .. +pwd +ls +cd .. | cd .. +ls +pwd +ls +clear +cd .. +ls +ls +cd minishell/ +ls +ls +cat Makefile > a.txt > b.txt +ls +vi a.txt +vi b.txt +cat << a | cat << b | cat << c +cat << a | cat << b | cat << c +cat << a | cat << b | cat << c +w +a +cat << a | cat << b | cat << c +cat < eof +cat < eofsjthgg +sei +exit +echo << eof +echo << eof +echo << eof +exit +cat << ok +exit +cat << ok +cat << ok +cat << ok +exit +cat << ok +cat << ok +a=123 +cat << ok +exit From eefb005b75f36a0dc3100ae9bd668ff45dfb371c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A8Roman?= <¨roman.mikhaylenko14@hotmail.com¨> Date: Tue, 3 Sep 2024 16:36:30 +0100 Subject: [PATCH 03/83] fix: norminette for heredoc env_var functionality --- src/redirection/redirect_heredoc.c | 81 ++++++++++++++---------------- src/utils/.maxishell_history | 18 +++++++ 2 files changed, 57 insertions(+), 42 deletions(-) diff --git a/src/redirection/redirect_heredoc.c b/src/redirection/redirect_heredoc.c index 4aeae0dd..5c092420 100644 --- a/src/redirection/redirect_heredoc.c +++ b/src/redirection/redirect_heredoc.c @@ -31,51 +31,48 @@ static void execute_child(t_ast *node, t_ms_data *data, int *file_fd); - 1: error */ -char *process_and_reassemble(char *line, t_ms_data *data) { - char **tokens; - char *token; - char *result; - size_t line_len = strlen(line); - size_t result_len = 0; - int i = 0; - - // Allocate memory for token array (assuming a reasonable max number of tokens) - tokens = malloc((line_len / 2 + 1) * sizeof(char *)); - if (!tokens) { - perror("malloc"); - return NULL; - } - - // Split the input line into tokens by spaces - token = strtok(line, " "); - while (token != NULL) { - // Apply the processing logic to each token - tokens[i] = expand_env_var(line, data); - result_len += strlen(tokens[i]) + 1; // +1 for the space - i++; - token = strtok(NULL, " "); - } - tokens[i] = NULL; // Null-terminate the token array - - // Allocate memory for the final result string - result = malloc(result_len + 1); // +1 for the null terminator - if (!result) { - perror("malloc"); - free(tokens); - return NULL; - } +static char *assemble_result(char **tokens, size_t result_len) +{ + char *result; + int i; - // Concatenate the tokens back into a single string - strcpy(result, tokens[0]); - for (int j = 1; tokens[j] != NULL; j++) { - strcat(result, " "); - strcat(result, tokens[j]); - } + result = malloc(result_len + 1); + if (!result) + return (NULL); + *result = '\0'; + i = 0; + while (tokens[i]) + { + ft_strcat(result, tokens[i]); + if (tokens[i + 1]) + ft_strcat(result, " "); + i++; + } + free(tokens); + return (result); +} - // Free the memory allocated for the tokens - free(tokens); +char *process_and_reassemble(char *line, t_ms_data *data) +{ + char **tokens; + size_t result_len; + int i; + char *processed_token; - return result; + tokens = ft_split(line, ' '); + if (!tokens) + return (NULL); + result_len = 0; + i = 0; + while (tokens[i]) + { + processed_token = expand_env_var(tokens[i], data); + free(tokens[i]); + tokens[i] = processed_token; + result_len += ft_strlen(tokens[i]) + 1; + i++; + } + return (assemble_result(tokens, result_len)); } int redirect_here_doc(t_ast *node, t_ms_data *data) diff --git a/src/utils/.maxishell_history b/src/utils/.maxishell_history index ba6e9c4d..191fb5e1 100644 --- a/src/utils/.maxishell_history +++ b/src/utils/.maxishell_history @@ -80,3 +80,21 @@ cat << ok a=123 cat << ok exit +cat << ok +cat << ok +exit +cat << ok +exit +cat << ok +exit +cat << ok +exi +exit +cat << ok +exit +cat << ok +echo $MAIL +env +$TERM +cat << ok +exit From c892c1ab876df3f05404ed3ec30848c64ea82609 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A8Roman?= <¨roman.mikhaylenko14@hotmail.com¨> Date: Wed, 4 Sep 2024 15:39:56 +0100 Subject: [PATCH 04/83] fix: working on interpreting $a$b together --- inc/tokens.h | 2 +- src/parser/parser_helper_helpers.c | 7 ++++--- src/redirection/redirect_heredoc.c | 2 +- src/utils/.maxishell_history | 30 ++++++++++++++++++++++++++++++ 4 files changed, 36 insertions(+), 5 deletions(-) diff --git a/inc/tokens.h b/inc/tokens.h index e605c88c..9411c67f 100644 --- a/inc/tokens.h +++ b/inc/tokens.h @@ -116,6 +116,6 @@ t_ast *manage_pipe(t_token **tokens, t_ms_data *data); char *trim_input(char *str); void print_ast_root(t_ast *root); void execute_tree(t_ast *node, t_ms_data *data); -char *expand_env_var(char *arg, t_ms_data *data); +char *expand_env_and_loc_var(char *arg, t_ms_data *data); #endif diff --git a/src/parser/parser_helper_helpers.c b/src/parser/parser_helper_helpers.c index 51d6077f..d76b2031 100644 --- a/src/parser/parser_helper_helpers.c +++ b/src/parser/parser_helper_helpers.c @@ -36,7 +36,7 @@ void final_quote_removal(int arg_count, t_ast *command_node) } } -char *expand_env_var(char *arg, t_ms_data *data) +char *expand_env_and_loc_var(char *arg, t_ms_data *data) { char *env_value; @@ -93,9 +93,9 @@ void post_process_command_args(t_ast *command_node, int arg_count, \ if (arg[0] == '$' || (arg[0] == '"' && arg[1] == '$')) { if (arg[0] == '"') - processed_arg = expand_env_var(arg + 1, data); + processed_arg = expand_env_and_loc_var(arg + 1, data); else - processed_arg = expand_env_var(arg, data); + processed_arg = expand_env_and_loc_var(arg, data); } else if (arg[0] == '\'') processed_arg = ft_strdup(arg); @@ -107,3 +107,4 @@ void post_process_command_args(t_ast *command_node, int arg_count, \ } final_quote_removal(arg_count, command_node); } + diff --git a/src/redirection/redirect_heredoc.c b/src/redirection/redirect_heredoc.c index 5c092420..1edd6c5c 100644 --- a/src/redirection/redirect_heredoc.c +++ b/src/redirection/redirect_heredoc.c @@ -66,7 +66,7 @@ char *process_and_reassemble(char *line, t_ms_data *data) i = 0; while (tokens[i]) { - processed_token = expand_env_var(tokens[i], data); + processed_token = expand_env_and_loc_var(tokens[i], data); free(tokens[i]); tokens[i] = processed_token; result_len += ft_strlen(tokens[i]) + 1; diff --git a/src/utils/.maxishell_history b/src/utils/.maxishell_history index 191fb5e1..edc9b118 100644 --- a/src/utils/.maxishell_history +++ b/src/utils/.maxishell_history @@ -98,3 +98,33 @@ env $TERM cat << ok exit +a=123 +b=456 +echo $a +echo $a $b +echo $a$b +export $ZZZZZZ=zzzzzzz +env +exit +echo $USER +exit +echo $USER +echo abc$USER +a = 123 +exit +echo $a +a=123 +echo $a123 +echo 123$a +echo abc$USER +exit +a=123 +echo abc$a +echo $a +a=123 +echo $a +echo $USER +exit +a=123 +echo $a +exit From b0c6094f2a1ad2125acd50fef2b37c39cba13b79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A8Roman?= <¨roman.mikhaylenko14@hotmail.com¨> Date: Wed, 4 Sep 2024 16:40:03 +0100 Subject: [PATCH 05/83] fix: done echo a$a$b --- src/parser/parser_helper_helpers.c | 70 +++++++++++++++++++++------ src/shell_variables/shell_variables.c | 1 + src/utils/.maxishell_history | 32 ++++++++++++ 3 files changed, 89 insertions(+), 14 deletions(-) diff --git a/src/parser/parser_helper_helpers.c b/src/parser/parser_helper_helpers.c index d76b2031..5ee91ab7 100644 --- a/src/parser/parser_helper_helpers.c +++ b/src/parser/parser_helper_helpers.c @@ -52,7 +52,7 @@ char *expand_env_and_loc_var(char *arg, t_ms_data *data) if (env_value) return (ft_strdup(env_value)); } - return (ft_strdup(arg)); + return (ft_strdup("")); } void handle_local_vars(t_ms_data *data, char *arg) @@ -77,34 +77,76 @@ void handle_local_vars(t_ms_data *data, char *arg) } } -void post_process_command_args(t_ast *command_node, int arg_count, \ - t_ms_data *data) +void post_process_command_args(t_ast *command_node, int arg_count, t_ms_data *data) { int i; char *arg; char *processed_arg; + char *start; + char *var_name; + char *expanded_var; + char *tmp; i = 0; while (i < arg_count) { arg = command_node->args[i]; - handle_local_vars(data, arg); - processed_arg = NULL; - if (arg[0] == '$' || (arg[0] == '"' && arg[1] == '$')) + handle_local_vars(data, arg); // This keeps working as expected + + processed_arg = ft_strdup(""); // Start with an empty string + start = arg; // Pointer to traverse through the argument string + + while (*start != '\0') // Traverse until end of string { - if (arg[0] == '"') - processed_arg = expand_env_and_loc_var(arg + 1, data); + if (*start == '$') // Found a variable + { + // We want to keep the '$' as part of the variable name + char *var_start = start; // Start of variable (including '$') + + // Move past the '$' and collect the alphanumeric characters or underscores after it + start++; // Move past the '$' + while (*start != '\0' && (ft_isalnum(*start) || *start == '_')) + start++; // Move past the variable name + + // Get the variable name including the '$' + var_name = ft_substr(var_start, 0, start - var_start); + + // Expand the variable using the provided function (with '$' included) + expanded_var = expand_env_and_loc_var(var_name, data); + free(var_name); // Free the variable name string + + // Append the expanded variable value to processed_arg + if (expanded_var != NULL) + { + tmp = ft_strjoin(processed_arg, expanded_var); + free(processed_arg); + processed_arg = tmp; + free(expanded_var); + } + } else - processed_arg = expand_env_and_loc_var(arg, data); + { + // Handle literal characters (until the next '$') + char *literal_start = start; + while (*start != '\0' && *start != '$') + start++; // Move until we find a '$' or the end of string + + // Extract the literal part and append it to processed_arg + char *literal_part = ft_substr(literal_start, 0, start - literal_start); + tmp = ft_strjoin(processed_arg, literal_part); + free(processed_arg); + processed_arg = tmp; + free(literal_part); + } } - else if (arg[0] == '\'') - processed_arg = ft_strdup(arg); - else - processed_arg = ft_strdup(arg); + + // Replace the old argument with the newly processed one free(command_node->args[i]); command_node->args[i] = processed_arg; + i++; } + + // This should remain unchanged as it handles the final cleanup final_quote_removal(arg_count, command_node); } - diff --git a/src/shell_variables/shell_variables.c b/src/shell_variables/shell_variables.c index 7c845401..539539c0 100644 --- a/src/shell_variables/shell_variables.c +++ b/src/shell_variables/shell_variables.c @@ -22,6 +22,7 @@ int handle_add_set_shell_variable(t_env **shell_var, char *line) key = ft_strcdup(line, '='); value = ft_strchr(line, '=') + 1; set_shell_var(shell_var, key, value); + printf("value: %s\n", get_env(*shell_var, key)); free(key); } return (0); diff --git a/src/utils/.maxishell_history b/src/utils/.maxishell_history index edc9b118..a1170e14 100644 --- a/src/utils/.maxishell_history +++ b/src/utils/.maxishell_history @@ -128,3 +128,35 @@ exit a=123 echo $a exit +a=123 +echo $a +exit +a=123 +exit +a=123 +echo $a +exit +a=123 +echo $a +exit +a=123 +echo $a +echo $USER +exit +a=123 +echo $a +a=123 +echo $a +echo aba$a +b=456 +echo a$ab$b +exit +a=123 +echo $a +echo $ab +a=123 +echo $a +echo $ab +exit +echo $a +exit From 62be926d1431f2803d0cc1231ad43cc2ddffb9db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A8Roman?= <¨roman.mikhaylenko14@hotmail.com¨> Date: Wed, 4 Sep 2024 16:50:58 +0100 Subject: [PATCH 06/83] fix: norminette after a$a$b fix --- inc/tokens.h | 2 + src/parser/parser_helper_helpers.c | 64 ++------------------------ src/parser/parser_joint_vars.c | 73 ++++++++++++++++++++++++++++++ src/utils/.maxishell_history | 18 ++++++++ 4 files changed, 97 insertions(+), 60 deletions(-) create mode 100644 src/parser/parser_joint_vars.c diff --git a/inc/tokens.h b/inc/tokens.h index 9411c67f..792a6b8f 100644 --- a/inc/tokens.h +++ b/inc/tokens.h @@ -117,5 +117,7 @@ char *trim_input(char *str); void print_ast_root(t_ast *root); void execute_tree(t_ast *node, t_ms_data *data); char *expand_env_and_loc_var(char *arg, t_ms_data *data); +char *append_literal(char **start, char *processed_arg); +char *process_argument(char *arg, t_ms_data *data); #endif diff --git a/src/parser/parser_helper_helpers.c b/src/parser/parser_helper_helpers.c index 5ee91ab7..e9ae7d9c 100644 --- a/src/parser/parser_helper_helpers.c +++ b/src/parser/parser_helper_helpers.c @@ -77,76 +77,20 @@ void handle_local_vars(t_ms_data *data, char *arg) } } -void post_process_command_args(t_ast *command_node, int arg_count, t_ms_data *data) +void post_process_command_args(t_ast *command_node, int arg_count \ + , t_ms_data *data) { int i; - char *arg; char *processed_arg; - char *start; - char *var_name; - char *expanded_var; - char *tmp; i = 0; while (i < arg_count) { - arg = command_node->args[i]; - handle_local_vars(data, arg); // This keeps working as expected - - processed_arg = ft_strdup(""); // Start with an empty string - start = arg; // Pointer to traverse through the argument string - - while (*start != '\0') // Traverse until end of string - { - if (*start == '$') // Found a variable - { - // We want to keep the '$' as part of the variable name - char *var_start = start; // Start of variable (including '$') - - // Move past the '$' and collect the alphanumeric characters or underscores after it - start++; // Move past the '$' - while (*start != '\0' && (ft_isalnum(*start) || *start == '_')) - start++; // Move past the variable name - - // Get the variable name including the '$' - var_name = ft_substr(var_start, 0, start - var_start); - - // Expand the variable using the provided function (with '$' included) - expanded_var = expand_env_and_loc_var(var_name, data); - free(var_name); // Free the variable name string - - // Append the expanded variable value to processed_arg - if (expanded_var != NULL) - { - tmp = ft_strjoin(processed_arg, expanded_var); - free(processed_arg); - processed_arg = tmp; - free(expanded_var); - } - } - else - { - // Handle literal characters (until the next '$') - char *literal_start = start; - while (*start != '\0' && *start != '$') - start++; // Move until we find a '$' or the end of string - - // Extract the literal part and append it to processed_arg - char *literal_part = ft_substr(literal_start, 0, start - literal_start); - tmp = ft_strjoin(processed_arg, literal_part); - free(processed_arg); - processed_arg = tmp; - free(literal_part); - } - } - - // Replace the old argument with the newly processed one + handle_local_vars(data, command_node->args[i]); + processed_arg = process_argument(command_node->args[i], data); free(command_node->args[i]); command_node->args[i] = processed_arg; - i++; } - - // This should remain unchanged as it handles the final cleanup final_quote_removal(arg_count, command_node); } diff --git a/src/parser/parser_joint_vars.c b/src/parser/parser_joint_vars.c new file mode 100644 index 00000000..94bbd0b4 --- /dev/null +++ b/src/parser/parser_joint_vars.c @@ -0,0 +1,73 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* parser_joint_vars.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rmikhayl +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/09/04 16:46:53 by rmikhayl #+# #+# */ +/* Updated: 2024/09/04 16:46:57 by rmikhayl ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +char *expand_variable(char **start, t_ms_data *data) +{ + char *var_name; + char *expanded_var; + char *var_start; + + var_start = *start; + (*start)++; + while (**start != '\0' && (ft_isalnum(**start) || **start == '_')) + (*start)++; + var_name = ft_substr(var_start, 0, *start - var_start); + expanded_var = expand_env_and_loc_var(var_name, data); + free(var_name); + return (expanded_var); +} + +char *append_literal(char **start, char *processed_arg) +{ + char *literal_part; + char *literal_start; + char *tmp; + + literal_start = *start; + while (**start != '\0' && **start != '$') + (*start)++; + literal_part = ft_substr(literal_start, 0, *start - literal_start); + tmp = ft_strjoin(processed_arg, literal_part); + free(literal_part); + free(processed_arg); + return (tmp); +} + +char *process_argument(char *arg, t_ms_data *data) +{ + char *start; + char *processed_arg; + char *tmp; + char *expanded_var; + + processed_arg = ft_strdup(""); + start = arg; + while (*start != '\0') + { + if (*start == '$') + { + expanded_var = expand_variable(&start, data); + if (expanded_var != NULL) + { + tmp = ft_strjoin(processed_arg, expanded_var); + free(processed_arg); + processed_arg = tmp; + free(expanded_var); + } + } + else + processed_arg = append_literal(&start, processed_arg); + } + return (processed_arg); +} diff --git a/src/utils/.maxishell_history b/src/utils/.maxishell_history index a1170e14..a9cffe7e 100644 --- a/src/utils/.maxishell_history +++ b/src/utils/.maxishell_history @@ -160,3 +160,21 @@ echo $ab exit echo $a exit +a=123 +echo $a +echo a$a +exit +echo $a +a=123 +echo $a +echo a$a +a='cho "' +echo $a +b='123"' +echo $b +echo $a$b +e$a$b +exit +a=123 +echo a$a +exit From 7e70340793380f1c83e276a346e227bc591b1691 Mon Sep 17 00:00:00 2001 From: Dmitry Demirkylych Date: Tue, 3 Sep 2024 16:09:59 +0100 Subject: [PATCH 07/83] refactoring --- inc/execute.h | 5 +++++ src/builtins/cd.c | 9 +++++---- src/builtins/echo.c | 12 +++++------- src/builtins/env.c | 3 ++- src/builtins/exit.c | 4 ++-- src/builtins/export.c | 3 ++- src/builtins/pwd.c | 7 ++++--- src/builtins/unset.c | 12 +++++------- src/execute/execute.c | 12 +++++------- src/execute/utils_0.c | 5 +++-- 10 files changed, 38 insertions(+), 34 deletions(-) diff --git a/inc/execute.h b/inc/execute.h index 75c036c2..c67e8f3a 100644 --- a/inc/execute.h +++ b/inc/execute.h @@ -17,6 +17,11 @@ # include "tokens.h" # include "env.h" +# define ERROR 1 +# define SUCCESS 0 +# define IS_DIRECTORY 126 +# define UNKNOWN_COMMAND 127 + /* execute */ int execute_ast(t_ast *node, t_ms_data *data); diff --git a/src/builtins/cd.c b/src/builtins/cd.c index 79a3d872..7b6a79ed 100644 --- a/src/builtins/cd.c +++ b/src/builtins/cd.c @@ -14,6 +14,7 @@ #include "libft.h" #include "shell.h" #include "env.h" +#include "execute.h" /* - Functionality: @@ -36,12 +37,12 @@ int builtin_cd(t_ms_data *data) target_dir = home_dir; if (chdir(target_dir) != 0) { - ft_putstr_fd("bash: cd: ", 2); - perror(target_dir); - return (1); + ft_putstr_fd("bash: cd: ", STDERR_FILENO); + ft_perror(target_dir); + return (ERROR); } set_env(&data->envp, "OLDPWD", get_env(data->envp, "PWD")); if (getcwd(cwd, sizeof(cwd)) != NULL) set_env(&data->envp, "PWD", cwd); - return (0); + return (SUCCESS); } diff --git a/src/builtins/echo.c b/src/builtins/echo.c index 36dacee0..07e1f628 100644 --- a/src/builtins/echo.c +++ b/src/builtins/echo.c @@ -12,6 +12,7 @@ #include "libft.h" #include "shell.h" +#include "execute.h" /* Functionality: @@ -23,8 +24,6 @@ int builtin_echo(t_ms_data *data) int newline; int i; - if (data->std_out == -1) - data->std_out = 1; newline = 1; if (data->args[1] && (ft_strcmp(data->args[1], "-n") == 0)) { @@ -34,12 +33,11 @@ int builtin_echo(t_ms_data *data) i = 0; while (data->args[++i]) { - write(1, data->args[i], ft_strlen(data->args[i])); + ft_putstr_fd(data->args[i], STDOUT_FILENO); if (data->args[i + 1]) - write(data->std_out, " ", 1); + ft_putstr_fd(" ", STDOUT_FILENO); } if (newline) - write(data->std_out, "\n", 1); - data->std_out = -1; - return (0); + write(STDOUT_FILENO, "\n", 1); + return (SUCCESS); } diff --git a/src/builtins/env.c b/src/builtins/env.c index 157574ff..feffdd35 100644 --- a/src/builtins/env.c +++ b/src/builtins/env.c @@ -15,6 +15,7 @@ #include "libft.h" #include #include +#include "execute.h" void print_env_stack(t_env *envp); int builtin_env(t_ms_data *data); @@ -36,5 +37,5 @@ int builtin_env(t_ms_data *data) ft_printf("\nbuiltin_env\n"); if (ft_strcmp(data->args[0], "env") == 0 && data->args[1] == NULL) print_env_stack(data->envp); - return (0); + return (SUCCESS); } diff --git a/src/builtins/exit.c b/src/builtins/exit.c index 68e07cae..038d1999 100644 --- a/src/builtins/exit.c +++ b/src/builtins/exit.c @@ -25,9 +25,9 @@ int builtin_exit(t_ms_data *data) { - const char *message; + char *message; message = "exit\n"; - write(STDOUT_FILENO, message, ft_strlen(message)); + ft_putstr_fd(message, STDOUT_FILENO); exit(data->exit_status); } diff --git a/src/builtins/export.c b/src/builtins/export.c index 692c876d..09a066a9 100644 --- a/src/builtins/export.c +++ b/src/builtins/export.c @@ -15,6 +15,7 @@ #include #include "shell.h" #include +#include "execute.h" /* Functionalities: @@ -44,7 +45,7 @@ int builtin_export(t_ms_data *data) } else add_env(data); - return (0); + return (SUCCESS); } diff --git a/src/builtins/pwd.c b/src/builtins/pwd.c index ce19efb0..bf8bda18 100644 --- a/src/builtins/pwd.c +++ b/src/builtins/pwd.c @@ -14,6 +14,7 @@ #include #include "libft.h" #include +#include "execute.h" /* Functionality: @@ -29,9 +30,9 @@ int builtin_pwd(t_ms_data *data) ft_putendl_fd(cwd, STDOUT_FILENO); else { - ft_putstr_fd("bash: cd: ", 2); + ft_putstr_fd("bash: cd: ", STDERR_FILENO); perror("cwd"); - return (1); + return (ERROR); } - return (0); + return (SUCCESS); } diff --git a/src/builtins/unset.c b/src/builtins/unset.c index 874ab2bf..1fa418d6 100644 --- a/src/builtins/unset.c +++ b/src/builtins/unset.c @@ -14,23 +14,22 @@ #include "env.h" #include "libft.h" #include +#include "execute.h" /* todo - set the exit status to 1 if the variable is not a valid identifier + set the exit status to ERROR if the variable is not a valid identifier Functionality: - Unset the environment variable -- Return 1 if the variable is not a valid identifier +- Return ERROR if the variable is not a valid identifier */ int builtin_unset(t_ms_data *data) { int i; - int exit_status; char *key; i = 0; - exit_status = 0; while (data->args[++i]) { key = data->args[i]; @@ -39,9 +38,8 @@ int builtin_unset(t_ms_data *data) ft_putstr_fd("bash: unset: `", STDERR_FILENO); ft_putstr_fd(key, STDERR_FILENO); ft_putendl_fd("': not a valid identifier", STDERR_FILENO); - exit_status = 1; + return (ERROR); } } - data->exit_status = exit_status; - return (exit_status); + return (SUCCESS); } diff --git a/src/execute/execute.c b/src/execute/execute.c index a2f22af6..87197b6b 100644 --- a/src/execute/execute.c +++ b/src/execute/execute.c @@ -37,11 +37,9 @@ static int new_process(t_ms_data *data); int execute_ast(t_ast *node, t_ms_data *data) { if (!node) - return (1); + return (ERROR); if (node->type == PIPE) return (builtin_pipe(node, data)); - // else if (node->type == ENV_VAR) - // return (handle_shell_variable(node, data)); else if (node->type == REDIR_IN) return (redirect_in(node, data)); else if (node->type == REDIR_OUT) @@ -55,7 +53,7 @@ int execute_ast(t_ast *node, t_ms_data *data) data->args = node->args; return (execute(data)); } - return (0); + return (SUCCESS); } /** @@ -101,8 +99,8 @@ static int execute(t_ms_data *data) - - @param data minishell data structure - @return int return status: - - - 0: success - - - 1: error + - - 0: SUCCESS + - - 1: ERROR */ static int new_process(t_ms_data *data) @@ -129,5 +127,5 @@ static int new_process(t_ms_data *data) } close_fds(data->std_in, data->std_out); waitpid(pid, &data->exit_status, 0); - return (0); + return (SUCCESS); } diff --git a/src/execute/utils_0.c b/src/execute/utils_0.c index 40110bad..bdbf0289 100644 --- a/src/execute/utils_0.c +++ b/src/execute/utils_0.c @@ -13,6 +13,7 @@ #include "libft.h" #include #include "shell.h" +#include "execute.h" void ft_free_2d_arr(char **arr); int ft_perror(char *str); @@ -40,13 +41,13 @@ void ft_free_2d_arr(char **arr) - - @param str paste the error message - @return int return status: -- - 1: EXIT_FAILURE +- - 1: ERROR */ int ft_perror(char *str) { perror (str); - exit(EXIT_FAILURE); + exit(ERROR); } /** From a0aa1fae055281bc272c8a1d15ffb8ed5525ba40 Mon Sep 17 00:00:00 2001 From: Dmitry Demirkylych Date: Tue, 3 Sep 2024 18:38:37 +0100 Subject: [PATCH 08/83] new: errors --- Makefile | 11 +- inc/errors.h | 23 ++++ inc/execute.h | 6 +- src/builtins/cd.c | 6 +- src/builtins/echo.c | 2 +- src/builtins/env.c | 2 +- src/builtins/exit.c | 29 ++++- src/builtins/export.c | 2 +- src/builtins/pwd.c | 2 +- src/builtins/unset.c | 2 +- src/errors/errors.c | 47 +++++++ src/errors/errors_utils.c | 33 +++++ src/execute/utils_0.c | 14 -- src/main.c | 1 + src/shell_variables/shell_variables.c | 7 + src/utils/.maxishell_history | 180 -------------------------- 16 files changed, 154 insertions(+), 213 deletions(-) create mode 100644 inc/errors.h create mode 100644 src/errors/errors.c create mode 100644 src/errors/errors_utils.c diff --git a/Makefile b/Makefile index 96fd8281..8442f5db 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,7 @@ # Colors DEF_COLOR = \033[0;39m GRAY = \033[0;90m -RED = \033[0;91m +RED = \033[0;91m GREEN = \033[0;92m YELLOW = \033[0;93m BLUE = \033[0;94m @@ -40,6 +40,7 @@ READLINE = -lreadline SRC_DIR = ./src UTILS_DIR = $(SRC_DIR)/utils ENV_DIR = $(SRC_DIR)/env +ERRORS_DIR = $(SRC_DIR)/errors SHELL_VAR_DIR = $(SRC_DIR)/shell_variables APP_DIR = $(SRC_DIR)/app COMMON_DIR = $(SRC_DIR)/common @@ -61,6 +62,7 @@ TEST_INCLUDES = -I./inc \ MAIN_SOURCE = $(wildcard $(SRC_DIR)/*.c) APP_SOURCES = $(wildcard $(APP_DIR)/*.c) ENV_SOURCES = $(wildcard $(ENV_DIR)/*.c) +ERRORS_SOURCES = $(wildcard $(ERRORS_DIR)/*.c) SHELL_VAR_SOURCES = $(wildcard $(SHELL_VAR_DIR)/*.c) COMMON_SOURCES = $(wildcard $(COMMON_DIR)/*.c) UTILS_SOURCES = $(wildcard $(UTILS_DIR)/*.c) @@ -78,6 +80,7 @@ PIPE_TEST_SOURCES = $(wildcard $(TEST_DIR)/pipe/*.c) SOURCES = $(MAIN_SOURCE) \ $(APP_SOURCES) \ $(ENV_SOURCES) \ + $(ERRORS_SOURCES) \ $(SHELL_VAR_SOURCES) \ $(COMMON_SOURCES) \ $(UTILS_SOURCES) \ @@ -95,6 +98,7 @@ BUILD_DIR = ./build MAIN_OBJECT = $(patsubst $(SRC_DIR)/%.c, $(BUILD_DIR)/src/%.o, $(MAIN_SOURCE)) APP_OBJECTS = $(patsubst $(APP_DIR)/%.c, $(BUILD_DIR)/src/app/%.o, $(APP_SOURCES)) ENV_OBJECTS = $(patsubst $(ENV_DIR)/env/%.c, $(BUILD_DIR)/src/app/env/%.o, $(ENV_SOURCES)) +ERRORS_OBJECTS = $(patsubst $(ERRORS_DIR)/%.c, $(BUILD_DIR)/src/errors/%.o, $(ERRORS_SOURCES)) SHELL_VAR_OBJECTS = $(patsubst $(SHELL_VAR_DIR)/%.c, $(BUILD_DIR)/src/shell_variables/%.o, $(SHELL_VAR_SOURCES)) COMMON_OBJECTS = $(patsubst $(COMMON_DIR)/%.c, $(BUILD_DIR)/common/app/%.o, $(COMMON_SOURCES)) UTILS_OBJECTS = $(patsubst $(UTILS_DIR)/%.c, $(BUILD_DIR)/utils/%.o, $(UTILS_SOURCES)) @@ -112,6 +116,7 @@ PIPE_TEST_OBJECTS = $(patsubst $(TEST_DIR)/pipe/%.c, $(BUILD_DIR)/src/test/pip OBJECTS = $(MAIN_OBJECT) \ $(APP_OBJECTS) \ $(ENV_OBJECTS) \ + $(ERRORS_OBJECTS) \ $(SHELL_VAR_OBJECTS) \ $(EXECUTE_OBJECTS) \ $(COMMON_OBJECTS) \ @@ -149,6 +154,10 @@ $(BUILD_DIR)/src/env/%.o: $(ENV_DIR)/%.c @mkdir -p $(@D) @$(COMPILER) $(CFLAGS) $(INCLUDES) -c $< -o $@ +$(BUILD_DIR)/src/errors/%.o: $(ERRORS_DIR)/%.c + @mkdir -p $(@D) + @$(COMPILER) $(CFLAGS) $(INCLUDES) -c $< -o $@ + $(BUILD_DIR)/src/shell_variables/%.o: $(SHELL_VAR_DIR)/%.c @mkdir -p $(@D) @$(COMPILER) $(CFLAGS) $(INCLUDES) -c $< -o $@ diff --git a/inc/errors.h b/inc/errors.h new file mode 100644 index 00000000..c67cd986 --- /dev/null +++ b/inc/errors.h @@ -0,0 +1,23 @@ +#ifndef ERRORS_H +# define ERRORS_H + +# define ERROR 1 +# define SUCCESS 0 + +# define IS_DIRECTORY 256 +# define NUMERIC_REQUIRED 257 +# define TOO_MANY_ARGS 258 +# define UNKNOWN_COMMAND 259 +# define INVALID_ARGUMENT 260 +# define PERMISSION_DENIED 261 +# define ERROR_EXIT 262 + + +/* errors */ +void shell_error_handler(int error_code, char *str); + +/* errors_utils */ +int ft_perror(char *str); +int ft_isnumber(char *str); + +#endif \ No newline at end of file diff --git a/inc/execute.h b/inc/execute.h index c67e8f3a..d25d63ee 100644 --- a/inc/execute.h +++ b/inc/execute.h @@ -17,11 +17,6 @@ # include "tokens.h" # include "env.h" -# define ERROR 1 -# define SUCCESS 0 -# define IS_DIRECTORY 126 -# define UNKNOWN_COMMAND 127 - /* execute */ int execute_ast(t_ast *node, t_ms_data *data); @@ -35,6 +30,7 @@ void handle_io_fd(t_ms_data *data); /* shell variable execution */ int handle_shell_variable(t_ast *node, t_ms_data *data); int handle_get_shell_variable(t_ms_data *data, const char *key); +void shell_variable_update(t_ms_data *data, int status); #endif diff --git a/src/builtins/cd.c b/src/builtins/cd.c index 7b6a79ed..4bcb502e 100644 --- a/src/builtins/cd.c +++ b/src/builtins/cd.c @@ -15,6 +15,7 @@ #include "shell.h" #include "env.h" #include "execute.h" +#include "errors.h" /* - Functionality: @@ -35,10 +36,9 @@ int builtin_cd(t_ms_data *data) target_dir = (char *)data->args[1]; if (!target_dir) target_dir = home_dir; - if (chdir(target_dir) != 0) + if (chdir(target_dir) == -1) { - ft_putstr_fd("bash: cd: ", STDERR_FILENO); - ft_perror(target_dir); + shell_error_handler(IS_DIRECTORY, ft_strjoin("cd: ", target_dir)); return (ERROR); } set_env(&data->envp, "OLDPWD", get_env(data->envp, "PWD")); diff --git a/src/builtins/echo.c b/src/builtins/echo.c index 07e1f628..ac6dcdb8 100644 --- a/src/builtins/echo.c +++ b/src/builtins/echo.c @@ -12,7 +12,7 @@ #include "libft.h" #include "shell.h" -#include "execute.h" +#include "errors.h" /* Functionality: diff --git a/src/builtins/env.c b/src/builtins/env.c index feffdd35..4bc8d46e 100644 --- a/src/builtins/env.c +++ b/src/builtins/env.c @@ -15,7 +15,7 @@ #include "libft.h" #include #include -#include "execute.h" +#include "errors.h" void print_env_stack(t_env *envp); int builtin_env(t_ms_data *data); diff --git a/src/builtins/exit.c b/src/builtins/exit.c index 038d1999..fdfa0252 100644 --- a/src/builtins/exit.c +++ b/src/builtins/exit.c @@ -15,6 +15,7 @@ #include #include #include "env.h" +#include "errors.h" /* Functionality: @@ -23,11 +24,29 @@ - Exit with the exit status */ -int builtin_exit(t_ms_data *data) +int builtin_exit(t_ms_data *data) { - char *message; - message = "exit\n"; - ft_putstr_fd(message, STDOUT_FILENO); - exit(data->exit_status); + int number; + + number = 0; + if (!ft_isnumber(data->args[1])) + { + shell_error_handler(NUMERIC_REQUIRED, ft_strjoin("exit: ", data->args[1])); + set_exit_status(NUMERIC_REQUIRED); + exit(NUMERIC_REQUIRED); + } + else if (data->args[2]) + { + shell_error_handler(TOO_MANY_ARGS, "exit"); + data->exit_status = TOO_MANY_ARGS; + exit(TOO_MANY_ARGS); + } + else + { + number = ft_atoi(data->args[1]); + ft_putendl_fd("exit", STDOUT_FILENO); + data->exit_status = number; + exit(number); + } } diff --git a/src/builtins/export.c b/src/builtins/export.c index 09a066a9..219e31d5 100644 --- a/src/builtins/export.c +++ b/src/builtins/export.c @@ -15,7 +15,7 @@ #include #include "shell.h" #include -#include "execute.h" +#include "errors.h" /* Functionalities: diff --git a/src/builtins/pwd.c b/src/builtins/pwd.c index bf8bda18..463f7d05 100644 --- a/src/builtins/pwd.c +++ b/src/builtins/pwd.c @@ -14,7 +14,7 @@ #include #include "libft.h" #include -#include "execute.h" +#include "errors.h" /* Functionality: diff --git a/src/builtins/unset.c b/src/builtins/unset.c index 1fa418d6..50e59271 100644 --- a/src/builtins/unset.c +++ b/src/builtins/unset.c @@ -14,7 +14,7 @@ #include "env.h" #include "libft.h" #include -#include "execute.h" +#include "errors.h" /* todo diff --git a/src/errors/errors.c b/src/errors/errors.c new file mode 100644 index 00000000..30fad7d2 --- /dev/null +++ b/src/errors/errors.c @@ -0,0 +1,47 @@ +#include "errors.h" +#include "libft.h" +#include +#include "shell.h" + +void shell_error_handler(int error_code, char *err_arg); + +void shell_error_handler(int error_code, char *err_arg) +{ + char *error_message; + + error_message = NULL; + if (error_code == IS_DIRECTORY) + error_message = "No such file or directory"; + else if (error_code == NUMERIC_REQUIRED) + { + error_message = "numeric argument required"; + } + else if (error_code == TOO_MANY_ARGS) + { + error_message = "too many arguments"; + } + else if (error_code == UNKNOWN_COMMAND) + { + error_message = "command not found"; + } + else if (error_code == INVALID_ARGUMENT) + { + error_message = "invalid argument"; + } + else if (error_code == PERMISSION_DENIED) + { + error_message = "permission denied"; + } + if (err_arg) + { + ft_putstr_fd("bash: ", STDERR_FILENO); + ft_putstr_fd(err_arg, STDERR_FILENO); + ft_putstr_fd(": ", STDERR_FILENO); + ft_putendl_fd(error_message, STDERR_FILENO); + } + else + { + ft_putstr_fd("bash: ", STDERR_FILENO); + ft_putendl_fd(error_message, STDERR_FILENO); + } +} \ No newline at end of file diff --git a/src/errors/errors_utils.c b/src/errors/errors_utils.c new file mode 100644 index 00000000..a460b46d --- /dev/null +++ b/src/errors/errors_utils.c @@ -0,0 +1,33 @@ +#include "errors.h" +#include +#include +#include "libft.h" + +int ft_perror(char *str); +int ft_isnumber(char *str); + +/** +- @brief return error message and exit +- +- @param str paste the error message +- @return int return status: +- - 1: ERROR + */ + +int ft_perror(char *str) +{ + perror (str); + exit(ERROR); +} + +int ft_isnumber(char *str) +{ + int i = 0; + while (str[i]) + { + if (!ft_isdigit(str[i])) + return (0); + i++; + } + return (1); +} \ No newline at end of file diff --git a/src/execute/utils_0.c b/src/execute/utils_0.c index bdbf0289..4402fa00 100644 --- a/src/execute/utils_0.c +++ b/src/execute/utils_0.c @@ -36,20 +36,6 @@ void ft_free_2d_arr(char **arr) free(arr); } -/** -- @brief return error message and exit -- -- @param str paste the error message -- @return int return status: -- - 1: ERROR - */ - -int ft_perror(char *str) -{ - perror (str); - exit(ERROR); -} - /** - @brief close two file descriptors - diff --git a/src/main.c b/src/main.c index e36f4a30..f91ffcae 100644 --- a/src/main.c +++ b/src/main.c @@ -33,6 +33,7 @@ void process_ast_and_io(t_ms_data *data, t_loop_data *loop_data) print_ast_root(loop_data->tree); status = execute_ast(loop_data->tree, data); + shell_variable_update(data, status); if (status_handler(status, loop_data)) { handle_io_fd(data); diff --git a/src/shell_variables/shell_variables.c b/src/shell_variables/shell_variables.c index 539539c0..a16ff28b 100644 --- a/src/shell_variables/shell_variables.c +++ b/src/shell_variables/shell_variables.c @@ -7,6 +7,7 @@ int handle_add_set_shell_variable(t_env **shell_var, char *line); int handle_get_shell_variable(t_ms_data *data, const char *key); int handle_shell_variable(t_ast *node, t_ms_data *data); +void shell_variable_update(t_ms_data *data, int status); int handle_add_set_shell_variable(t_env **shell_var, char *line) { @@ -49,4 +50,10 @@ int handle_shell_variable(t_ast *node, t_ms_data *data) if (node->left && node->right == NULL) return (handle_get_shell_variable(data, node->args[0])); return (-1); +} + +void shell_variable_update(t_ms_data *data, int status) +{ + data->exit_status = status; + set_shell_var(&data->shell_variables, "?", ft_itoa(status)); } \ No newline at end of file diff --git a/src/utils/.maxishell_history b/src/utils/.maxishell_history index a9cffe7e..e69de29b 100644 --- a/src/utils/.maxishell_history +++ b/src/utils/.maxishell_history @@ -1,180 +0,0 @@ -echo hel -exit -echo -echo k -cat << ok -exit -a=123 -echo $a -exit -a=123 -echo $a -exit -a=123 -echo $a -exit -a=123 -echo $a -exit -a=1234 -echo $a -export A=12 -echo $A -b=567 -echo $a $b -echo $a$b -exit -a=435 -echo $a -a==1234 -echo $a -exitexit -exit -cat << eof -cat << eof -a=123 -b=456 -echo $a $b -echo $a$b -pwd -cd .. | cd .. -pwd -ls -cd .. | cd .. -ls -pwd -ls -clear -cd .. -ls -ls -cd minishell/ -ls -ls -cat Makefile > a.txt > b.txt -ls -vi a.txt -vi b.txt -cat << a | cat << b | cat << c -cat << a | cat << b | cat << c -cat << a | cat << b | cat << c -w -a -cat << a | cat << b | cat << c -cat < eof -cat < eofsjthgg -sei -exit -echo << eof -echo << eof -echo << eof -exit -cat << ok -exit -cat << ok -cat << ok -cat << ok -exit -cat << ok -cat << ok -a=123 -cat << ok -exit -cat << ok -cat << ok -exit -cat << ok -exit -cat << ok -exit -cat << ok -exi -exit -cat << ok -exit -cat << ok -echo $MAIL -env -$TERM -cat << ok -exit -a=123 -b=456 -echo $a -echo $a $b -echo $a$b -export $ZZZZZZ=zzzzzzz -env -exit -echo $USER -exit -echo $USER -echo abc$USER -a = 123 -exit -echo $a -a=123 -echo $a123 -echo 123$a -echo abc$USER -exit -a=123 -echo abc$a -echo $a -a=123 -echo $a -echo $USER -exit -a=123 -echo $a -exit -a=123 -echo $a -exit -a=123 -exit -a=123 -echo $a -exit -a=123 -echo $a -exit -a=123 -echo $a -echo $USER -exit -a=123 -echo $a -a=123 -echo $a -echo aba$a -b=456 -echo a$ab$b -exit -a=123 -echo $a -echo $ab -a=123 -echo $a -echo $ab -exit -echo $a -exit -a=123 -echo $a -echo a$a -exit -echo $a -a=123 -echo $a -echo a$a -a='cho "' -echo $a -b='123"' -echo $b -echo $a$b -e$a$b -exit -a=123 -echo a$a -exit From 78229012d8b241af27e20b21115b6155756bfc00 Mon Sep 17 00:00:00 2001 From: Dmitry Demirkylych Date: Wed, 4 Sep 2024 20:05:54 +0100 Subject: [PATCH 09/83] add: exit_status --- Makefile | 18 +++--- inc/errors.h | 23 -------- inc/exit_status.h | 29 ++++++++++ src/builtins/cd.c | 11 ++-- src/builtins/echo.c | 4 +- src/builtins/env.c | 13 ++++- src/builtins/exit.c | 13 ++--- src/builtins/export.c | 49 +++++++++------- src/builtins/pwd.c | 18 +++--- src/builtins/unset.c | 11 +++- src/errors/errors.c | 47 ---------------- src/execute/execute.c | 1 + src/exit_status/exit_status.c | 56 +++++++++++++++++++ .../exit_status_utils.c} | 4 +- 14 files changed, 170 insertions(+), 127 deletions(-) delete mode 100644 inc/errors.h create mode 100644 inc/exit_status.h delete mode 100644 src/errors/errors.c create mode 100644 src/exit_status/exit_status.c rename src/{errors/errors_utils.c => exit_status/exit_status_utils.c} (90%) diff --git a/Makefile b/Makefile index 8442f5db..161ee1cc 100644 --- a/Makefile +++ b/Makefile @@ -40,7 +40,6 @@ READLINE = -lreadline SRC_DIR = ./src UTILS_DIR = $(SRC_DIR)/utils ENV_DIR = $(SRC_DIR)/env -ERRORS_DIR = $(SRC_DIR)/errors SHELL_VAR_DIR = $(SRC_DIR)/shell_variables APP_DIR = $(SRC_DIR)/app COMMON_DIR = $(SRC_DIR)/common @@ -49,6 +48,7 @@ PIPE_DIR = $(SRC_DIR)/pipe REDIRECTION_DIR = $(SRC_DIR)/redirection BUILTINS_DIR = $(SRC_DIR)/builtins EXECUTE_DIR = $(SRC_DIR)/execute +EXIT_STATUS_DIR = $(SRC_DIR)/exit_status TEST_DIR = $(SRC_DIR)/test SIGNALS_DIR = $(SRC_DIR)/signals @@ -62,7 +62,6 @@ TEST_INCLUDES = -I./inc \ MAIN_SOURCE = $(wildcard $(SRC_DIR)/*.c) APP_SOURCES = $(wildcard $(APP_DIR)/*.c) ENV_SOURCES = $(wildcard $(ENV_DIR)/*.c) -ERRORS_SOURCES = $(wildcard $(ERRORS_DIR)/*.c) SHELL_VAR_SOURCES = $(wildcard $(SHELL_VAR_DIR)/*.c) COMMON_SOURCES = $(wildcard $(COMMON_DIR)/*.c) UTILS_SOURCES = $(wildcard $(UTILS_DIR)/*.c) @@ -71,6 +70,7 @@ PIPE_SOURCES = $(wildcard $(PIPE_DIR)/*.c) REDIRECTION_SOURCES = $(wildcard $(REDIRECTION_DIR)/*.c) BUILTINS_SOURCES = $(wildcard $(BUILTINS_DIR)/*.c) EXECUTE_SOURCES = $(wildcard $(EXECUTE_DIR)/*.c) +EXIT_STATUS_SOURCES = $(wildcard $(EXIT_STATUS_DIR)/*.c) SIGNALS_SOURCES = $(wildcard $(SIGNALS_DIR)/*.c) MAIN_TEST_SOURCE = $(wildcard $(TEST_DIR)/*.c) @@ -80,7 +80,6 @@ PIPE_TEST_SOURCES = $(wildcard $(TEST_DIR)/pipe/*.c) SOURCES = $(MAIN_SOURCE) \ $(APP_SOURCES) \ $(ENV_SOURCES) \ - $(ERRORS_SOURCES) \ $(SHELL_VAR_SOURCES) \ $(COMMON_SOURCES) \ $(UTILS_SOURCES) \ @@ -88,6 +87,7 @@ SOURCES = $(MAIN_SOURCE) \ $(PIPE_SOURCES) \ $(BUILTINS_SOURCES) \ $(EXECUTE_SOURCES) \ + $(EXIT_STATUS_SOURCES) \ $(MAIN_TEST_SOURCE) \ $(ENV_TEST_SOURCES) \ $(PIPE_TEST_SOURCES) \ @@ -98,7 +98,7 @@ BUILD_DIR = ./build MAIN_OBJECT = $(patsubst $(SRC_DIR)/%.c, $(BUILD_DIR)/src/%.o, $(MAIN_SOURCE)) APP_OBJECTS = $(patsubst $(APP_DIR)/%.c, $(BUILD_DIR)/src/app/%.o, $(APP_SOURCES)) ENV_OBJECTS = $(patsubst $(ENV_DIR)/env/%.c, $(BUILD_DIR)/src/app/env/%.o, $(ENV_SOURCES)) -ERRORS_OBJECTS = $(patsubst $(ERRORS_DIR)/%.c, $(BUILD_DIR)/src/errors/%.o, $(ERRORS_SOURCES)) +EXIT_STATUS_OBJECTS = $(patsubst $(EXIT_STATUS_DIR)/%.c, $(BUILD_DIR)/src/exit_status/%.o, $(EXIT_STATUS_SOURCES)) SHELL_VAR_OBJECTS = $(patsubst $(SHELL_VAR_DIR)/%.c, $(BUILD_DIR)/src/shell_variables/%.o, $(SHELL_VAR_SOURCES)) COMMON_OBJECTS = $(patsubst $(COMMON_DIR)/%.c, $(BUILD_DIR)/common/app/%.o, $(COMMON_SOURCES)) UTILS_OBJECTS = $(patsubst $(UTILS_DIR)/%.c, $(BUILD_DIR)/utils/%.o, $(UTILS_SOURCES)) @@ -116,9 +116,9 @@ PIPE_TEST_OBJECTS = $(patsubst $(TEST_DIR)/pipe/%.c, $(BUILD_DIR)/src/test/pip OBJECTS = $(MAIN_OBJECT) \ $(APP_OBJECTS) \ $(ENV_OBJECTS) \ - $(ERRORS_OBJECTS) \ $(SHELL_VAR_OBJECTS) \ $(EXECUTE_OBJECTS) \ + $(EXIT_STATUS_OBJECTS) \ $(COMMON_OBJECTS) \ $(BUILTINS_OBJECTS) \ $(UTILS_OBJECTS) \ @@ -154,10 +154,6 @@ $(BUILD_DIR)/src/env/%.o: $(ENV_DIR)/%.c @mkdir -p $(@D) @$(COMPILER) $(CFLAGS) $(INCLUDES) -c $< -o $@ -$(BUILD_DIR)/src/errors/%.o: $(ERRORS_DIR)/%.c - @mkdir -p $(@D) - @$(COMPILER) $(CFLAGS) $(INCLUDES) -c $< -o $@ - $(BUILD_DIR)/src/shell_variables/%.o: $(SHELL_VAR_DIR)/%.c @mkdir -p $(@D) @$(COMPILER) $(CFLAGS) $(INCLUDES) -c $< -o $@ @@ -170,6 +166,10 @@ $(BUILD_DIR)/src/execute/%.o: $(EXECUTE_DIR)/%.c @mkdir -p $(@D) @$(COMPILER) $(CFLAGS) $(INCLUDES) -c $< -o $@ +$(BUILD_DIR)/src/exit_status/%.o: $(ERRORS_DIR)/%.c + @mkdir -p $(@D) + @$(COMPILER) $(CFLAGS) $(INCLUDES) -c $< -o $@ + $(BUILD_DIR)/utils/%.o: $(UTILS_DIR)/%.c @mkdir -p $(@D) @$(COMPILER) $(CFLAGS) $(INCLUDES) -c $< -o $@ diff --git a/inc/errors.h b/inc/errors.h deleted file mode 100644 index c67cd986..00000000 --- a/inc/errors.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef ERRORS_H -# define ERRORS_H - -# define ERROR 1 -# define SUCCESS 0 - -# define IS_DIRECTORY 256 -# define NUMERIC_REQUIRED 257 -# define TOO_MANY_ARGS 258 -# define UNKNOWN_COMMAND 259 -# define INVALID_ARGUMENT 260 -# define PERMISSION_DENIED 261 -# define ERROR_EXIT 262 - - -/* errors */ -void shell_error_handler(int error_code, char *str); - -/* errors_utils */ -int ft_perror(char *str); -int ft_isnumber(char *str); - -#endif \ No newline at end of file diff --git a/inc/exit_status.h b/inc/exit_status.h new file mode 100644 index 00000000..725c176f --- /dev/null +++ b/inc/exit_status.h @@ -0,0 +1,29 @@ +#ifndef EXIT_STATUS_H +# define EXIT_STATUS_H + +# define EXIT_SUCCESS 0 +# define EXIT_FAILURE 1 +# define EXIT_MISUSE 2 + +# define IS_DIRECTORY 256 +# define NUMERIC_REQUIRED 257 +# define TOO_MANY_ARGS 258 +# define UNKNOWN_COMMAND 259 +# define INVALID_ARGUMENT 260 +# define PERMISSION_DENIED 261 +# define ERROR_EXIT 262 +# define NOT_VALID_IDENTIFIER 263 +# define INVALID_OPTION 264 + +#include "shell.h" +#include + +/* exit status */ +void exit_status_handler(t_ms_data *data, int status_code, char *err_arg); +void set_exit_status(int *exit_status, int status_code); + +/* exit_status_utils */ +int ft_perror(char *str); +int ft_isnumber(char *str); + +#endif \ No newline at end of file diff --git a/src/builtins/cd.c b/src/builtins/cd.c index 4bcb502e..ba72db1b 100644 --- a/src/builtins/cd.c +++ b/src/builtins/cd.c @@ -15,7 +15,7 @@ #include "shell.h" #include "env.h" #include "execute.h" -#include "errors.h" +#include "exit_status.h" /* - Functionality: @@ -38,11 +38,14 @@ int builtin_cd(t_ms_data *data) target_dir = home_dir; if (chdir(target_dir) == -1) { - shell_error_handler(IS_DIRECTORY, ft_strjoin("cd: ", target_dir)); - return (ERROR); + if (errno == EACCES) + exit_status_handler(data, PERMISSION_DENIED, ft_strjoin("cd: ", target_dir)); + if (errno == ENOENT) + exit_status_handler(data, IS_DIRECTORY, ft_strjoin("cd: ", target_dir)); + return (EXIT_FAILURE); } set_env(&data->envp, "OLDPWD", get_env(data->envp, "PWD")); if (getcwd(cwd, sizeof(cwd)) != NULL) set_env(&data->envp, "PWD", cwd); - return (SUCCESS); + return (EXIT_SUCCESS); } diff --git a/src/builtins/echo.c b/src/builtins/echo.c index ac6dcdb8..eae4c965 100644 --- a/src/builtins/echo.c +++ b/src/builtins/echo.c @@ -12,7 +12,7 @@ #include "libft.h" #include "shell.h" -#include "errors.h" +#include "exit_status.h" /* Functionality: @@ -39,5 +39,5 @@ int builtin_echo(t_ms_data *data) } if (newline) write(STDOUT_FILENO, "\n", 1); - return (SUCCESS); + return (EXIT_SUCCESS); } diff --git a/src/builtins/env.c b/src/builtins/env.c index 4bc8d46e..7812a352 100644 --- a/src/builtins/env.c +++ b/src/builtins/env.c @@ -15,7 +15,7 @@ #include "libft.h" #include #include -#include "errors.h" +#include "exit_status.h" void print_env_stack(t_env *envp); int builtin_env(t_ms_data *data); @@ -37,5 +37,14 @@ int builtin_env(t_ms_data *data) ft_printf("\nbuiltin_env\n"); if (ft_strcmp(data->args[0], "env") == 0 && data->args[1] == NULL) print_env_stack(data->envp); - return (SUCCESS); + else + { + ft_putstr_fd("env: '", STDERR_FILENO); + ft_putstr_fd(data->args[1], STDERR_FILENO); + ft_putstr_fd("': No such file or directory\n", STDERR_FILENO); + set_exit_status(&data->exit_status, IS_DIRECTORY); + set_shell_var(&data->shell_variables, "?", ft_itoa(data->exit_status)); + return (IS_DIRECTORY); + } + return (EXIT_SUCCESS); } diff --git a/src/builtins/exit.c b/src/builtins/exit.c index fdfa0252..56b99031 100644 --- a/src/builtins/exit.c +++ b/src/builtins/exit.c @@ -15,7 +15,7 @@ #include #include #include "env.h" -#include "errors.h" +#include "exit_status.h" /* Functionality: @@ -30,16 +30,14 @@ int builtin_exit(t_ms_data *data) int number; number = 0; - if (!ft_isnumber(data->args[1])) + if (ft_isnumber(data->args[1]) == 0) { - shell_error_handler(NUMERIC_REQUIRED, ft_strjoin("exit: ", data->args[1])); - set_exit_status(NUMERIC_REQUIRED); + exit_status_handler(data, NUMERIC_REQUIRED, ft_strjoin("exit: ", data->args[1])); exit(NUMERIC_REQUIRED); } - else if (data->args[2]) + else if (data->args[1] && data->args[2]) { - shell_error_handler(TOO_MANY_ARGS, "exit"); - data->exit_status = TOO_MANY_ARGS; + exit_status_handler(data, TOO_MANY_ARGS, "exit"); exit(TOO_MANY_ARGS); } else @@ -47,6 +45,7 @@ int builtin_exit(t_ms_data *data) number = ft_atoi(data->args[1]); ft_putendl_fd("exit", STDOUT_FILENO); data->exit_status = number; + set_shell_var(&data->shell_variables, "?", ft_itoa(data->exit_status)); exit(number); } } diff --git a/src/builtins/export.c b/src/builtins/export.c index 219e31d5..168cc58b 100644 --- a/src/builtins/export.c +++ b/src/builtins/export.c @@ -15,7 +15,7 @@ #include #include "shell.h" #include -#include "errors.h" +#include "exit_status.h" /* Functionalities: @@ -24,28 +24,39 @@ */ int builtin_export(t_ms_data *data); +static void print_env(t_env *env); static void add_env(t_ms_data *data); -int builtin_export(t_ms_data *data) + +int builtin_export (t_ms_data *data) { - t_env *curr_node; + if (ft_strcmp(data->args[1], "-p") != 0 && data->args[1][0] == '-') + { + exit_status_handler(data, INVALID_OPTION, ft_strjoin("export: ", data->args[1])); + ft_putendl_fd("export: usage: export [-p] [name[=value] ...] or export -p", STDERR_FILENO); + return (INVALID_OPTION); + } + else if (data->args[1] == NULL) + print_env(data->envp); + else if (ft_strcmp(data->args[1], "-p") == 0) + print_env(data->envp); + add_env(data); + return (EXIT_SUCCESS); +} - if ((data->args[1] == NULL) \ - || ft_strncmp(data->args[1], "-p", 1) == 0) - { - curr_node = data->envp; - while (curr_node) - { - if (!ft_strcmp(curr_node->value, "")) - printf("declare -x %s\n", curr_node->key); - else - printf("declare -x %s=\"%s\"\n", curr_node->key, curr_node->value); - curr_node = curr_node->next; - } - } - else - add_env(data); - return (SUCCESS); +static void print_env(t_env *env) +{ + t_env *curr_node; + + curr_node = env; + while (curr_node) + { + if (!ft_strcmp(curr_node->value, "")) + printf("declare -x %s\n", curr_node->key); + else + printf("declare -x %s=\"%s\"\n", curr_node->key, curr_node->value); + curr_node = curr_node->next; + } } diff --git a/src/builtins/pwd.c b/src/builtins/pwd.c index 463f7d05..b58ec021 100644 --- a/src/builtins/pwd.c +++ b/src/builtins/pwd.c @@ -14,7 +14,7 @@ #include #include "libft.h" #include -#include "errors.h" +#include "exit_status.h" /* Functionality: @@ -28,11 +28,11 @@ int builtin_pwd(t_ms_data *data) (void)data; if (getcwd(cwd, sizeof(cwd)) != NULL) ft_putendl_fd(cwd, STDOUT_FILENO); - else - { - ft_putstr_fd("bash: cd: ", STDERR_FILENO); - perror("cwd"); - return (ERROR); - } - return (SUCCESS); -} + // else + // { + // ft_putstr_fd("bash: cd: ", STDERR_FILENO); + // perror("cwd"); + // return (EXIT_FAILURE); + // } + return (EXIT_SUCCESS); +} \ No newline at end of file diff --git a/src/builtins/unset.c b/src/builtins/unset.c index 50e59271..eb37c951 100644 --- a/src/builtins/unset.c +++ b/src/builtins/unset.c @@ -14,7 +14,9 @@ #include "env.h" #include "libft.h" #include -#include "errors.h" +#include "exit_status.h" + +#include /* todo @@ -33,13 +35,16 @@ int builtin_unset(t_ms_data *data) while (data->args[++i]) { key = data->args[i]; + printf("key: %s\n", key); if (unset_env(&data->envp, key) == -1) { ft_putstr_fd("bash: unset: `", STDERR_FILENO); ft_putstr_fd(key, STDERR_FILENO); ft_putendl_fd("': not a valid identifier", STDERR_FILENO); - return (ERROR); + set_exit_status(&data->exit_status, EXIT_UNSET_NOT_VALID_IDENTIFIER); + set_shell_var(&data->shell_variables, "?", ft_itoa(data->exit_status)); + return (EXIT_UNSET_NOT_VALID_IDENTIFIER); } } - return (SUCCESS); + return (EXIT_SUCCESS); } diff --git a/src/errors/errors.c b/src/errors/errors.c deleted file mode 100644 index 30fad7d2..00000000 --- a/src/errors/errors.c +++ /dev/null @@ -1,47 +0,0 @@ -#include "errors.h" -#include "libft.h" -#include -#include "shell.h" - -void shell_error_handler(int error_code, char *err_arg); - -void shell_error_handler(int error_code, char *err_arg) -{ - char *error_message; - - error_message = NULL; - if (error_code == IS_DIRECTORY) - error_message = "No such file or directory"; - else if (error_code == NUMERIC_REQUIRED) - { - error_message = "numeric argument required"; - } - else if (error_code == TOO_MANY_ARGS) - { - error_message = "too many arguments"; - } - else if (error_code == UNKNOWN_COMMAND) - { - error_message = "command not found"; - } - else if (error_code == INVALID_ARGUMENT) - { - error_message = "invalid argument"; - } - else if (error_code == PERMISSION_DENIED) - { - error_message = "permission denied"; - } - if (err_arg) - { - ft_putstr_fd("bash: ", STDERR_FILENO); - ft_putstr_fd(err_arg, STDERR_FILENO); - ft_putstr_fd(": ", STDERR_FILENO); - ft_putendl_fd(error_message, STDERR_FILENO); - } - else - { - ft_putstr_fd("bash: ", STDERR_FILENO); - ft_putendl_fd(error_message, STDERR_FILENO); - } -} \ No newline at end of file diff --git a/src/execute/execute.c b/src/execute/execute.c index 87197b6b..817c9fc9 100644 --- a/src/execute/execute.c +++ b/src/execute/execute.c @@ -19,6 +19,7 @@ #include "tokens.h" #include "pipe.h" #include "redirection.h" +#include "exit_status.h" int execute_ast(t_ast *node, t_ms_data *data); static int execute(t_ms_data *data); diff --git a/src/exit_status/exit_status.c b/src/exit_status/exit_status.c new file mode 100644 index 00000000..2eeee6ac --- /dev/null +++ b/src/exit_status/exit_status.c @@ -0,0 +1,56 @@ +#include "exit_status.h" +#include "libft.h" +#include +#include "shell.h" + +#include + +void exit_status_handler(t_ms_data *data, int status_code, char *err_arg); +void set_exit_status(int *exit_status, int status_code); + +void exit_status_handler(t_ms_data *data, int status_code, char *err_arg) +{ + char *error_message; + + error_message = NULL; + if (status_code == IS_DIRECTORY) + error_message = "No such file or directory"; + else if (status_code == NUMERIC_REQUIRED) + error_message = "numeric argument required"; + else if (status_code == TOO_MANY_ARGS) + error_message = "too many arguments"; + else if (status_code == UNKNOWN_COMMAND) + error_message = "command not found"; + else if (status_code == INVALID_ARGUMENT) + error_message = "invalid argument"; + else if (status_code == PERMISSION_DENIED) + error_message = "permission denied"; + else if (status_code == NOT_VALID_IDENTIFIER) + error_message = "unset: not a valid identifier"; + else if (status_code == INVALID_OPTION) + error_message = "invalid option"; + else + error_message = "error"; + if (err_arg) + { + ft_putstr_fd("bash: ", STDERR_FILENO); + ft_putstr_fd(err_arg, STDERR_FILENO); + ft_putstr_fd(": ", STDERR_FILENO); + ft_putendl_fd(error_message, STDERR_FILENO); + } + else + { + ft_putstr_fd("bash: ", STDERR_FILENO); + ft_putendl_fd(error_message, STDERR_FILENO); + } + set_exit_status(&data->exit_status, status_code); + set_shell_var(&data->shell_variables, "?", ft_itoa(data->exit_status)); + printf("status_code: %d\n", status_code); + printf("get shell var: %s\n", get_shell_variable(data->shell_variables, "?")); +} + + +void set_exit_status(int *exit_status, int status_code) +{ + *exit_status = status_code; +} diff --git a/src/errors/errors_utils.c b/src/exit_status/exit_status_utils.c similarity index 90% rename from src/errors/errors_utils.c rename to src/exit_status/exit_status_utils.c index a460b46d..d3c60ada 100644 --- a/src/errors/errors_utils.c +++ b/src/exit_status/exit_status_utils.c @@ -1,4 +1,4 @@ -#include "errors.h" +#include "exit_status.h" #include #include #include "libft.h" @@ -17,7 +17,7 @@ int ft_isnumber(char *str); int ft_perror(char *str) { perror (str); - exit(ERROR); + exit(EXIT_FAILURE); } int ft_isnumber(char *str) From 7c6319130fe3a4638108665ba8b3a930dcd050d4 Mon Sep 17 00:00:00 2001 From: dimadem Date: Thu, 5 Sep 2024 15:41:36 +0100 Subject: [PATCH 10/83] fix:compilation issues --- src/builtins/unset.c | 12 ++++++------ src/execute/execute.c | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/builtins/unset.c b/src/builtins/unset.c index eb37c951..91e953ed 100644 --- a/src/builtins/unset.c +++ b/src/builtins/unset.c @@ -38,12 +38,12 @@ int builtin_unset(t_ms_data *data) printf("key: %s\n", key); if (unset_env(&data->envp, key) == -1) { - ft_putstr_fd("bash: unset: `", STDERR_FILENO); - ft_putstr_fd(key, STDERR_FILENO); - ft_putendl_fd("': not a valid identifier", STDERR_FILENO); - set_exit_status(&data->exit_status, EXIT_UNSET_NOT_VALID_IDENTIFIER); - set_shell_var(&data->shell_variables, "?", ft_itoa(data->exit_status)); - return (EXIT_UNSET_NOT_VALID_IDENTIFIER); + // ft_putstr_fd("bash: unset: `", STDERR_FILENO); + // ft_putstr_fd(key, STDERR_FILENO); + // ft_putendl_fd("': not a valid identifier", STDERR_FILENO); + // set_exit_status(&data->exit_status, NOT_VALID_IDENTIFIER); + // set_shell_var(&data->shell_variables, "?", ft_itoa(data->exit_status)); + return (EXIT_SUCCESS); } } return (EXIT_SUCCESS); diff --git a/src/execute/execute.c b/src/execute/execute.c index 817c9fc9..65b947cf 100644 --- a/src/execute/execute.c +++ b/src/execute/execute.c @@ -38,7 +38,7 @@ static int new_process(t_ms_data *data); int execute_ast(t_ast *node, t_ms_data *data) { if (!node) - return (ERROR); + return (EXIT_FAILURE); if (node->type == PIPE) return (builtin_pipe(node, data)); else if (node->type == REDIR_IN) @@ -54,7 +54,7 @@ int execute_ast(t_ast *node, t_ms_data *data) data->args = node->args; return (execute(data)); } - return (SUCCESS); + return (EXIT_SUCCESS); } /** @@ -128,5 +128,5 @@ static int new_process(t_ms_data *data) } close_fds(data->std_in, data->std_out); waitpid(pid, &data->exit_status, 0); - return (SUCCESS); + return (EXIT_SUCCESS); } From f99bb3b8efe34a4ae2130be0835a133140ef4f87 Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Fri, 6 Sep 2024 00:21:48 +0100 Subject: [PATCH 11/83] fix: removed error check for | at end of input --- Makefile | 2 +- inc/delete.c | 155 ++++++++++++++++++++++++++++++++++ inc/delete2.c | 157 +++++++++++++++++++++++++++++++++++ src/parser/input_checker.c | 31 ------- src/utils/.maxishell_history | 106 +++++++++++++++++++++++ 5 files changed, 419 insertions(+), 32 deletions(-) create mode 100644 inc/delete.c create mode 100644 inc/delete2.c diff --git a/Makefile b/Makefile index 161ee1cc..95aae565 100644 --- a/Makefile +++ b/Makefile @@ -27,7 +27,7 @@ NAME = minishell # Comands COMPILER = cc DFLAGS = -g3 -gdwarf-2 -CFLAGS = -Wall -Wextra -Werror $(DFLAGS) +CFLAGS = -Wall -Wextra -Werror $(DFLAGS) -g -O0 AR = ar rcs RM = rm -rf MAKEFLAGS += --silent diff --git a/inc/delete.c b/inc/delete.c new file mode 100644 index 00000000..b12db5dd --- /dev/null +++ b/inc/delete.c @@ -0,0 +1,155 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* input_checker.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rocky +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/06/11 16:51:08 by rocky #+# #+# */ +/* Updated: 2024/06/11 16:53:40 by rocky ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "tokens.h" + +int check_operators_loop(const char **str, int *single_quotes, \ + int *double_quotes, int *cmd_flag) +{ + if (**str == '\'') + (*single_quotes)++; + if (**str == '\"') + (*double_quotes)++; + + const char *start = *str; + printf("start: %s\n", start); + if (**str == '|' && !(*single_quotes % 2) && !(*double_quotes % 2)) + { + printf("*str: %s\n", *str); + if (*(*str + 1) == '\0') + { + // Prompt for more input after the pipe + char *additional_input = readline("> "); + printf("additional_input: %s\n", additional_input); + if (additional_input && *additional_input != '\0') + { + // Allocate space to append the new input to the existing input + size_t original_length = *str - start + 1; + size_t new_length = original_length + strlen(additional_input) + 2; // +2 for space and null terminator + // ^ here strlen(*str) is just 1 because *str is |, since that's waht we check for above. To get everything from the start of the string, we need to make a start pointer to keep track of the start of the striing after all the quotes are skipped, and make strlen the difference between start and str (accounting for |). Then we need to feed through start where necessary in the code. I think you understand + printf("new_length: %ld\n", new_length); + char *new_str = malloc(new_length); + if (!new_str) + exit(EXIT_FAILURE); + + // Copy current input and append a space and the new input + strcpy(new_str, *str); // Copy existing input + printf("new_str: %s.\n", new_str); + strcat(new_str, " "); // Add space after '|' + printf("new_str2: %s.\n", new_str); + strcat(new_str, additional_input); // Append additional input + printf("new_str3: %s.\n", new_str); + + // Free the old input + //free((char *)*str); // Free old input + + *str = new_str; // Update str to point to the combined input + printf("new input: %s\n", *str); + + free(additional_input); // Free the readline() result + } + else + { + free(additional_input); + return (1); // If no additional input is provided, return error + } + return (0); + } + if (*cmd_flag) + return (1); + *cmd_flag = 1; + } + else if (ft_strchr(" \t\n\r\v\f", **str) != NULL) + *cmd_flag = 0; + (*str)++; + return (0); +} + + + +int check_operators(const char *str) +{ + int single_quotes; + int double_quotes; + int cmd_flag; + + single_quotes = 0; + double_quotes = 0; + cmd_flag = 0; + if (*str == '&' || *str == '|') + return (1); + while (*str) + if (check_operators_loop(&str, &single_quotes, \ + &double_quotes, &cmd_flag) == 1) + return (1); + if (cmd_flag) + return (1); + return (0); +} + +int check_redirections(const char *str) +{ + int single_quotes; + int double_quotes; + + single_quotes = 0; + double_quotes = 0; + while (*str) + { + if (*str == '\'') + single_quotes++; + if (*str == '\"') + double_quotes++; + if ((!(single_quotes % 2) && !(double_quotes % 2)) + && (*str == '>' || *str == '<')) + { + if (!valid_operator(&str)) + return (1); + } + else + str++; + } + return (0); +} + +int check_open_quotes(const char *str) +{ + int single_quote_open; + int double_quote_open; + + single_quote_open = 0; + double_quote_open = 0; + while (*str) + { + if (*str == '\'' && !double_quote_open) + { + single_quote_open = !single_quote_open; + } + else if (*str == '"' && !single_quote_open) + double_quote_open = !double_quote_open; + str++; + } + return (single_quote_open || double_quote_open); +} + +int input_error_checks(const char *str) +{ + if (check_redirections(str)) + ft_printf("Input error: invalid redirection.\n"); + else if (check_operators(str)) + ft_printf("Input error: invalid operator.\n"); + else if (check_open_quotes(str)) + ft_printf("Input error: open quote.\n"); + else + return (0); + return (1); +} diff --git a/inc/delete2.c b/inc/delete2.c new file mode 100644 index 00000000..27be1979 --- /dev/null +++ b/inc/delete2.c @@ -0,0 +1,157 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* input_checker.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rocky +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/06/11 16:51:08 by rocky #+# #+# */ +/* Updated: 2024/06/11 16:53:40 by rocky ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "tokens.h" + +const char *ft_strcat_const(const char *dest, const char *src) +{ + int i; + int j; + char *result; + + result = malloc(sizeof(char) * (strlen(dest) + strlen(src) + 1)); + if (!result) + return (NULL); + i = 0; + while (dest[i] != '\0') + { + result[i] = dest[i]; + i++; + } + j = 0; + while (src[j] != '\0') + { + result[i + j] = src[j]; + j++; + } + result[i + j] = '\0'; + return (result); +} + + +int check_operators_loop(const char **str, int *single_quotes, \ + int *double_quotes, int *cmd_flag) +{ + if (**str == '\'') + (*single_quotes)++; + if (**str == '\"') + (*double_quotes)++; + if (**str == '|' && !(*single_quotes % 2) && !(*double_quotes % 2) && + *(*str + 1) != '\0') + { + if (*cmd_flag) + return (1); + *cmd_flag = 1; + } + else if (ft_strchr(" \t\n\r\v\f", **str) != NULL) + *cmd_flag = 0; + (*str)++; + return (0); +} + +int check_operators(const char *str) +{ + int single_quotes; + int double_quotes; + int cmd_flag; + // const char *new; + const char *tail = "yeeeeeeeeeee"; + const char *res; + + + // new = str; + single_quotes = 0; + double_quotes = 0; + cmd_flag = 0; + if (*str == '&' || *str == '|') + return (1); + // while (*new) + // { + // printf("new: %s\n", new); + // // if (*new == '|' && (*new + 1) == '\0') + // // { + // // printf("YEEEEEEEEEEEEEE"); + // // fflush(stdout); + // // } + // new++; + // } + res = ft_strcat_const(str, tail); + ft_printf("res: %s\n", res); + while (*str) + { + printf("*str: %s\n", str); + if (check_operators_loop(&str, &single_quotes, \ + &double_quotes, &cmd_flag) == 1) + return (1); + } + if (cmd_flag) + return (1); + return (0); +} + +int check_redirections(const char *str) +{ + int single_quotes; + int double_quotes; + + single_quotes = 0; + double_quotes = 0; + while (*str) + { + if (*str == '\'') + single_quotes++; + if (*str == '\"') + double_quotes++; + if ((!(single_quotes % 2) && !(double_quotes % 2)) + && (*str == '>' || *str == '<')) + { + if (!valid_operator(&str)) + return (1); + } + else + str++; + } + return (0); +} + +int check_open_quotes(const char *str) +{ + int single_quote_open; + int double_quote_open; + + single_quote_open = 0; + double_quote_open = 0; + while (*str) + { + if (*str == '\'' && !double_quote_open) + { + single_quote_open = !single_quote_open; + } + else if (*str == '"' && !single_quote_open) + double_quote_open = !double_quote_open; + str++; + } + return (single_quote_open || double_quote_open); +} + +int input_error_checks(const char *str) +{ + if (check_redirections(str)) + ft_printf("Input error: invalid redirection.\n"); + else if (check_operators(str)) + ft_printf("Input error: invalid operator.\n"); + else if (check_open_quotes(str)) + ft_printf("Input error: open quote.\n"); + else + return (0); + return (1); +} diff --git a/src/parser/input_checker.c b/src/parser/input_checker.c index fe90bcb7..d248544b 100644 --- a/src/parser/input_checker.c +++ b/src/parser/input_checker.c @@ -12,42 +12,11 @@ #include "tokens.h" -int check_operators_loop(const char **str, int *single_quotes, \ - int *double_quotes, int *cmd_flag) -{ - if (**str == '\'') - (*single_quotes)++; - if (**str == '\"') - (*double_quotes)++; - if (**str == '|' && !(*single_quotes % 2) && !(*double_quotes % 2)) - { - if (*cmd_flag) - return (1); - *cmd_flag = 1; - } - else if (ft_strchr(" \t\n\r\v\f", **str) != NULL) - *cmd_flag = 0; - (*str)++; - return (0); -} int check_operators(const char *str) { - int single_quotes; - int double_quotes; - int cmd_flag; - - single_quotes = 0; - double_quotes = 0; - cmd_flag = 0; if (*str == '&' || *str == '|') return (1); - while (*str) - if (check_operators_loop(&str, &single_quotes, \ - &double_quotes, &cmd_flag) == 1) - return (1); - if (cmd_flag) - return (1); return (0); } diff --git a/src/utils/.maxishell_history b/src/utils/.maxishell_history index e69de29b..4adbba88 100644 --- a/src/utils/.maxishell_history +++ b/src/utils/.maxishell_history @@ -0,0 +1,106 @@ +fjf +exit +ff +ls -la Z +ls -la | +ls -la | +exit +ls -la | +ls -la | +ls- la | +eiuyhj +erfuoj +ls -la | grep ".txt" +ls -la | +ls -la | +lfugu +ls -la | grep ".txt" +ls -la +ls -la +ls -la < < kj +ls -la +ls -la | +ls -la | +ls -la | +ls -la | +ls -la | +tguihbrguioh +ls -la | +ls oeuirrtyufghtegh +rtgrty +rgbrg +abcabc +ls -la +ls -la | +ls -la | +abc +abc | +| +4rfuih | +hghg| +make +./minishell +exit +ls -la | +tyufgh| +ahah +ahah| +ahah| +hahah| +ahaha| +hahaha| +ahah| +fgh +ahah| +haaaaaa | +hahaaa| +ahah| +aha| +HA| +ghhgg| +fhgh| +ghgh| +fh| +hghgh| +haha| +ghgh| +ghgh| +ahah| +ghgh| +ghgh| +ghgh| +ghgh| +ghgh| +ghj +ghgh| +ghgh| +ghghZ +j +haah| +haah| +gjg +ghh +ahah| +yeee +hehehe | +ghghghgh +|hgh +hghg| +ghgh| +yeeee +yeee| +haw +yeee| +ghgh| +fghgh +gdb ./minishell +ls +exit +ghgh| +g +gdb ./minishell +yeee| +fjgh +ghghgh +yeee| +hay From 586ef3736bf97682324e8ff85a8e6a77c7310574 Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Fri, 6 Sep 2024 00:22:38 +0100 Subject: [PATCH 12/83] fix: removed error check for | at end of input --- inc/delete.c | 155 --------------------------------------------------- 1 file changed, 155 deletions(-) delete mode 100644 inc/delete.c diff --git a/inc/delete.c b/inc/delete.c deleted file mode 100644 index b12db5dd..00000000 --- a/inc/delete.c +++ /dev/null @@ -1,155 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* input_checker.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rocky +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2024/06/11 16:51:08 by rocky #+# #+# */ -/* Updated: 2024/06/11 16:53:40 by rocky ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "tokens.h" - -int check_operators_loop(const char **str, int *single_quotes, \ - int *double_quotes, int *cmd_flag) -{ - if (**str == '\'') - (*single_quotes)++; - if (**str == '\"') - (*double_quotes)++; - - const char *start = *str; - printf("start: %s\n", start); - if (**str == '|' && !(*single_quotes % 2) && !(*double_quotes % 2)) - { - printf("*str: %s\n", *str); - if (*(*str + 1) == '\0') - { - // Prompt for more input after the pipe - char *additional_input = readline("> "); - printf("additional_input: %s\n", additional_input); - if (additional_input && *additional_input != '\0') - { - // Allocate space to append the new input to the existing input - size_t original_length = *str - start + 1; - size_t new_length = original_length + strlen(additional_input) + 2; // +2 for space and null terminator - // ^ here strlen(*str) is just 1 because *str is |, since that's waht we check for above. To get everything from the start of the string, we need to make a start pointer to keep track of the start of the striing after all the quotes are skipped, and make strlen the difference between start and str (accounting for |). Then we need to feed through start where necessary in the code. I think you understand - printf("new_length: %ld\n", new_length); - char *new_str = malloc(new_length); - if (!new_str) - exit(EXIT_FAILURE); - - // Copy current input and append a space and the new input - strcpy(new_str, *str); // Copy existing input - printf("new_str: %s.\n", new_str); - strcat(new_str, " "); // Add space after '|' - printf("new_str2: %s.\n", new_str); - strcat(new_str, additional_input); // Append additional input - printf("new_str3: %s.\n", new_str); - - // Free the old input - //free((char *)*str); // Free old input - - *str = new_str; // Update str to point to the combined input - printf("new input: %s\n", *str); - - free(additional_input); // Free the readline() result - } - else - { - free(additional_input); - return (1); // If no additional input is provided, return error - } - return (0); - } - if (*cmd_flag) - return (1); - *cmd_flag = 1; - } - else if (ft_strchr(" \t\n\r\v\f", **str) != NULL) - *cmd_flag = 0; - (*str)++; - return (0); -} - - - -int check_operators(const char *str) -{ - int single_quotes; - int double_quotes; - int cmd_flag; - - single_quotes = 0; - double_quotes = 0; - cmd_flag = 0; - if (*str == '&' || *str == '|') - return (1); - while (*str) - if (check_operators_loop(&str, &single_quotes, \ - &double_quotes, &cmd_flag) == 1) - return (1); - if (cmd_flag) - return (1); - return (0); -} - -int check_redirections(const char *str) -{ - int single_quotes; - int double_quotes; - - single_quotes = 0; - double_quotes = 0; - while (*str) - { - if (*str == '\'') - single_quotes++; - if (*str == '\"') - double_quotes++; - if ((!(single_quotes % 2) && !(double_quotes % 2)) - && (*str == '>' || *str == '<')) - { - if (!valid_operator(&str)) - return (1); - } - else - str++; - } - return (0); -} - -int check_open_quotes(const char *str) -{ - int single_quote_open; - int double_quote_open; - - single_quote_open = 0; - double_quote_open = 0; - while (*str) - { - if (*str == '\'' && !double_quote_open) - { - single_quote_open = !single_quote_open; - } - else if (*str == '"' && !single_quote_open) - double_quote_open = !double_quote_open; - str++; - } - return (single_quote_open || double_quote_open); -} - -int input_error_checks(const char *str) -{ - if (check_redirections(str)) - ft_printf("Input error: invalid redirection.\n"); - else if (check_operators(str)) - ft_printf("Input error: invalid operator.\n"); - else if (check_open_quotes(str)) - ft_printf("Input error: open quote.\n"); - else - return (0); - return (1); -} From d279ed348574390fba85f571df2ea321077c877c Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Fri, 6 Sep 2024 12:18:37 +0100 Subject: [PATCH 13/83] fix: opened 'ls -la |' readline functionality --- inc/delete2.c | 157 -------------------------------- inc/tokens.h | 3 +- lib/libft/src/ft_strcat_const.c | 36 ++++++++ src/main.c | 2 +- src/parser/input_checker.c | 37 +++++++- src/utils/.maxishell_history | 37 ++++++++ 6 files changed, 108 insertions(+), 164 deletions(-) delete mode 100644 inc/delete2.c create mode 100644 lib/libft/src/ft_strcat_const.c diff --git a/inc/delete2.c b/inc/delete2.c deleted file mode 100644 index 27be1979..00000000 --- a/inc/delete2.c +++ /dev/null @@ -1,157 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* input_checker.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rocky +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2024/06/11 16:51:08 by rocky #+# #+# */ -/* Updated: 2024/06/11 16:53:40 by rocky ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "tokens.h" - -const char *ft_strcat_const(const char *dest, const char *src) -{ - int i; - int j; - char *result; - - result = malloc(sizeof(char) * (strlen(dest) + strlen(src) + 1)); - if (!result) - return (NULL); - i = 0; - while (dest[i] != '\0') - { - result[i] = dest[i]; - i++; - } - j = 0; - while (src[j] != '\0') - { - result[i + j] = src[j]; - j++; - } - result[i + j] = '\0'; - return (result); -} - - -int check_operators_loop(const char **str, int *single_quotes, \ - int *double_quotes, int *cmd_flag) -{ - if (**str == '\'') - (*single_quotes)++; - if (**str == '\"') - (*double_quotes)++; - if (**str == '|' && !(*single_quotes % 2) && !(*double_quotes % 2) && - *(*str + 1) != '\0') - { - if (*cmd_flag) - return (1); - *cmd_flag = 1; - } - else if (ft_strchr(" \t\n\r\v\f", **str) != NULL) - *cmd_flag = 0; - (*str)++; - return (0); -} - -int check_operators(const char *str) -{ - int single_quotes; - int double_quotes; - int cmd_flag; - // const char *new; - const char *tail = "yeeeeeeeeeee"; - const char *res; - - - // new = str; - single_quotes = 0; - double_quotes = 0; - cmd_flag = 0; - if (*str == '&' || *str == '|') - return (1); - // while (*new) - // { - // printf("new: %s\n", new); - // // if (*new == '|' && (*new + 1) == '\0') - // // { - // // printf("YEEEEEEEEEEEEEE"); - // // fflush(stdout); - // // } - // new++; - // } - res = ft_strcat_const(str, tail); - ft_printf("res: %s\n", res); - while (*str) - { - printf("*str: %s\n", str); - if (check_operators_loop(&str, &single_quotes, \ - &double_quotes, &cmd_flag) == 1) - return (1); - } - if (cmd_flag) - return (1); - return (0); -} - -int check_redirections(const char *str) -{ - int single_quotes; - int double_quotes; - - single_quotes = 0; - double_quotes = 0; - while (*str) - { - if (*str == '\'') - single_quotes++; - if (*str == '\"') - double_quotes++; - if ((!(single_quotes % 2) && !(double_quotes % 2)) - && (*str == '>' || *str == '<')) - { - if (!valid_operator(&str)) - return (1); - } - else - str++; - } - return (0); -} - -int check_open_quotes(const char *str) -{ - int single_quote_open; - int double_quote_open; - - single_quote_open = 0; - double_quote_open = 0; - while (*str) - { - if (*str == '\'' && !double_quote_open) - { - single_quote_open = !single_quote_open; - } - else if (*str == '"' && !single_quote_open) - double_quote_open = !double_quote_open; - str++; - } - return (single_quote_open || double_quote_open); -} - -int input_error_checks(const char *str) -{ - if (check_redirections(str)) - ft_printf("Input error: invalid redirection.\n"); - else if (check_operators(str)) - ft_printf("Input error: invalid operator.\n"); - else if (check_open_quotes(str)) - ft_printf("Input error: open quote.\n"); - else - return (0); - return (1); -} diff --git a/inc/tokens.h b/inc/tokens.h index 792a6b8f..4dddf031 100644 --- a/inc/tokens.h +++ b/inc/tokens.h @@ -80,7 +80,6 @@ void skip_delimiters(char **input, char *delim); void reallocate_tokens(char ***tokens, int *bufsize); void parse_loop(char **input, char **tokens, int *pos, int *bufsize); char **parse_input(char *input); -// char *generate_prompt(void); char *generate_prompt(t_ms_data *data); void make_history(char *line); void loop_cleanup(char *line, t_token *tokens, \ @@ -92,7 +91,7 @@ void init_ms_data(t_ms_data *data,char **argv, char **envp); void initialise(int argc, char **argv); void execute_command(char **parsed_text, t_token **tokens); void print_maxishell(void); -int input_error_checks(const char *str); +int input_error_checks(t_loop_data *loop_data); t_token *tokenise(char *str); void print_tokens(t_token *tokens); t_ast *parse_tokens(t_token **tokens, t_ms_data *data); diff --git a/lib/libft/src/ft_strcat_const.c b/lib/libft/src/ft_strcat_const.c new file mode 100644 index 00000000..48bbf820 --- /dev/null +++ b/lib/libft/src/ft_strcat_const.c @@ -0,0 +1,36 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strcat_const.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rocky +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/09/06 12:15:55 by rocky #+# #+# */ +/* Updated: 2024/09/06 12:15:59 by rocky ### ########.fr */ +/* */ +/* ************************************************************************** */ + +char *ft_strcat_const(const char *dest, const char *src) +{ + int i; + int j; + char *result; + + result = malloc(sizeof(char) * (strlen(dest) + strlen(src) + 1)); + if (!result) + return (NULL); + i = 0; + while (dest[i] != '\0') + { + result[i] = dest[i]; + i++; + } + j = 0; + while (src[j] != '\0') + { + result[i + j] = src[j]; + j++; + } + result[i + j] = '\0'; + return (result); +} diff --git a/src/main.c b/src/main.c index f91ffcae..033eeb57 100644 --- a/src/main.c +++ b/src/main.c @@ -57,7 +57,7 @@ void main_loop(t_ms_data *data, t_loop_data *loop_data) } make_history(loop_data->input); loop_data->trimmed_input = trim_input(loop_data->input); - if (input_error_checks(loop_data->trimmed_input)) + if (input_error_checks(loop_data)) continue ; loop_data->tokens = tokenise(loop_data->trimmed_input); loop_data->tree = parse_tokens(&loop_data->tokens, data); diff --git a/src/parser/input_checker.c b/src/parser/input_checker.c index d248544b..0b10b513 100644 --- a/src/parser/input_checker.c +++ b/src/parser/input_checker.c @@ -12,11 +12,38 @@ #include "tokens.h" +void free_op_strings(t_loop_data *loop_data, char *tail, char *new_input) +{ + free(loop_data->trimmed_input); + free(new_input); + free(tail); +} -int check_operators(const char *str) +int check_operators(t_loop_data *loop_data) { - if (*str == '&' || *str == '|') + char *input; + char *tail; + char *new_input; + char *final_input; + + input = loop_data->trimmed_input; + if (*input == '&' || *input == '|') return (1); + while (*input) + { + if (*input == '|' && *(input + 1) == '\0') + { + tail = readline("> "); + if (tail == NULL) + break ; + new_input = ft_strcat_const(loop_data->trimmed_input, " "); + final_input = ft_strcat_const(new_input, tail); + free_op_strings(loop_data, tail, new_input); + loop_data->trimmed_input = final_input; + break ; + } + input++; + } return (0); } @@ -65,11 +92,13 @@ int check_open_quotes(const char *str) return (single_quote_open || double_quote_open); } -int input_error_checks(const char *str) +int input_error_checks(t_loop_data *loop_data) { + const char *str = loop_data->trimmed_input; + if (check_redirections(str)) ft_printf("Input error: invalid redirection.\n"); - else if (check_operators(str)) + else if (check_operators(loop_data)) ft_printf("Input error: invalid operator.\n"); else if (check_open_quotes(str)) ft_printf("Input error: open quote.\n"); diff --git a/src/utils/.maxishell_history b/src/utils/.maxishell_history index 4adbba88..633c8ab5 100644 --- a/src/utils/.maxishell_history +++ b/src/utils/.maxishell_history @@ -104,3 +104,40 @@ fjgh ghghgh yeee| hay +yeeee| +ghgh| +ghg +yeeeeeeeeeeeeeeeeeee| +ok +ok| +ghj +hgh +ok| +ok +ok| +yeee +yeee| +yeee| +yee| +yeeee| +yeee | +yeee | +yeee | +yeee | +yeee| +yeee | +yeeee | +ls -la | +yeee | +ls -la | +ls -la | grep ".txt" +yeee | +yeee | +yeeee| +yeee | +yee | +yee | +yeee| +yeeee | +yeee Z +yeee | From 6731a4112a2b3e9dab3d14c3b35294bed2d82e56 Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Fri, 6 Sep 2024 12:21:41 +0100 Subject: [PATCH 14/83] fix: opened 'ls -la |' readline functionality --- lib/libft/inc/libft.h | 1 + lib/libft/src/ft_strcat_const.c | 4 +++- src/utils/.maxishell_history | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/libft/inc/libft.h b/lib/libft/inc/libft.h index 51746b0e..bedd5239 100644 --- a/lib/libft/inc/libft.h +++ b/lib/libft/inc/libft.h @@ -57,6 +57,7 @@ char *ft_strndup(const char *s, size_t n); char *ft_strjoin(char const *s1, char const *s2); char *ft_strtrim(char const *s1, char const *set); char *ft_strstr(const char *big, const char *little); +char *ft_strcat_const(const char *dest, const char *src); char *ft_strmapi(char const *s, char (*f)(unsigned int, char)); char *ft_substr(char const *s, unsigned int start, size_t len); char *ft_strnstr(const char *haystack, const char *needle, size_t len); diff --git a/lib/libft/src/ft_strcat_const.c b/lib/libft/src/ft_strcat_const.c index 48bbf820..97f438d8 100644 --- a/lib/libft/src/ft_strcat_const.c +++ b/lib/libft/src/ft_strcat_const.c @@ -10,13 +10,15 @@ /* */ /* ************************************************************************** */ +#include "libft.h" + char *ft_strcat_const(const char *dest, const char *src) { int i; int j; char *result; - result = malloc(sizeof(char) * (strlen(dest) + strlen(src) + 1)); + result = malloc(sizeof(char) * (ft_strlen(dest) + ft_strlen(src) + 1)); if (!result) return (NULL); i = 0; diff --git a/src/utils/.maxishell_history b/src/utils/.maxishell_history index 633c8ab5..b108ee44 100644 --- a/src/utils/.maxishell_history +++ b/src/utils/.maxishell_history @@ -141,3 +141,4 @@ yeee| yeeee | yeee Z yeee | +ls -la | From 11cecefec070f49623184bccbda103f3d5e6b318 Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Fri, 6 Sep 2024 12:57:11 +0100 Subject: [PATCH 15/83] add: CTRL+C sigint in heredocs --- inc/signals.h | 4 ++ src/redirection/redirect_heredoc.c | 111 ++++++++++++++++++++++------- src/signals/signals.c | 9 +++ src/utils/.maxishell_history | 3 + 4 files changed, 102 insertions(+), 25 deletions(-) diff --git a/inc/signals.h b/inc/signals.h index 98bdf0ac..89a9f39a 100644 --- a/inc/signals.h +++ b/inc/signals.h @@ -19,12 +19,16 @@ # include # include "shell.h" +// GLOBAL VAR +extern volatile sig_atomic_t g_heredoc_interrupted; + /* signals */ void signal_reset_prompt(int signo); void set_signals_interactive(void); void signal_print_newline(int signal); void sigquit_ignore(void); void set_signals_noninteractive(void); +void handle_sigint_heredoc(int signo); int ft_perror(char *str); #endif diff --git a/src/redirection/redirect_heredoc.c b/src/redirection/redirect_heredoc.c index 1edd6c5c..6493d407 100644 --- a/src/redirection/redirect_heredoc.c +++ b/src/redirection/redirect_heredoc.c @@ -16,6 +16,12 @@ #include "execute.h" #include #include +#include "signals.h" + +// GLOBAL VAR +// volatile tells compiler the var can change at compilation between accesses. +// sig_atomic_t used for global_vars +volatile sig_atomic_t g_heredoc_interrupted = 0; int redirect_here_doc(t_ast *node, t_ms_data *data); static int open_tmp_file(const char *type); @@ -75,32 +81,87 @@ char *process_and_reassemble(char *line, t_ms_data *data) return (assemble_result(tokens, result_len)); } -int redirect_here_doc(t_ast *node, t_ms_data *data) +// int redirect_here_doc(t_ast *node, t_ms_data *data) +// { +// char *line; +// char *eof; +// int file_fd; + +// line = NULL; +// if (node->right->args[0] == NULL) +// return (1); +// file_fd = open_tmp_file("w"); +// eof = ft_strdup(node->right->args[0]); +// line = process_and_reassemble(readline("> "), data); +// while (line && (ft_strcmp(line, eof) != 0)) +// { +// write(file_fd, line, ft_strlen(line)); +// write(file_fd, "\n", 1); +// free(line); +// line = process_and_reassemble(readline("> "), data); +// } +// free(line); +// free(eof); +// close(file_fd); +// file_fd = open_tmp_file("r"); +// execute_child(node->left, data, &file_fd); +// unlink("/tmp/heredoc"); +// return (0); +// } + +int redirect_here_doc(t_ast *node, t_ms_data *data) { - char *line; - char *eof; - int file_fd; - - line = NULL; - if (node->right->args[0] == NULL) - return (1); - file_fd = open_tmp_file("w"); - eof = ft_strdup(node->right->args[0]); - line = process_and_reassemble(readline("> "), data); - while (line && (ft_strcmp(line, eof) != 0)) - { - write(file_fd, line, ft_strlen(line)); - write(file_fd, "\n", 1); - free(line); - line = process_and_reassemble(readline("> "), data); - } - free(line); - free(eof); - close(file_fd); - file_fd = open_tmp_file("r"); - execute_child(node->left, data, &file_fd); - unlink("/tmp/heredoc"); - return (0); + char *line; + char *eof; + int file_fd; + struct sigaction sa_old, sa_new; + + line = NULL; + if (node->right->args[0] == NULL) + return (1); + + // Setup SIGINT handler for heredoc (CTRL+C) + sa_new.sa_handler = handle_sigint_heredoc; + sigemptyset(&sa_new.sa_mask); + sa_new.sa_flags = 0; + sigaction(SIGINT, &sa_new, &sa_old); // Set custom SIGINT handler + + file_fd = open_tmp_file("w"); + eof = ft_strdup(node->right->args[0]); + + // Heredoc input loop + line = process_and_reassemble(readline("> "), data); + while (line && (ft_strcmp(line, eof) != 0) && !g_heredoc_interrupted) + { + write(file_fd, line, ft_strlen(line)); + write(file_fd, "\n", 1); + free(line); + line = process_and_reassemble(readline("> "), data); + } + + // Clean up if interrupted + if (g_heredoc_interrupted) + { + free(line); + free(eof); + close(file_fd); + unlink("/tmp/heredoc"); // Remove temporary file + g_heredoc_interrupted = 0; // Reset the flag + sigaction(SIGINT, &sa_old, NULL); // Restore original SIGINT handler + return (1); // Return to shell prompt without executing further + } + + // Normal completion of heredoc + free(line); + free(eof); + close(file_fd); + sigaction(SIGINT, &sa_old, NULL); // Restore original SIGINT handler + + file_fd = open_tmp_file("r"); + execute_child(node->left, data, &file_fd); + unlink("/tmp/heredoc"); + + return (0); } static int open_tmp_file(const char *type) diff --git a/src/signals/signals.c b/src/signals/signals.c index 4fbdfc4f..c3643f08 100644 --- a/src/signals/signals.c +++ b/src/signals/signals.c @@ -22,6 +22,15 @@ void signal_print_newline(int signal); void sigquit_ignore(void); void set_signals_noninteractive(void); +void handle_sigint_heredoc(int signo) +{ + (void)signo; + g_heredoc_interrupted = 1; // Set the interrupt flag + write(1, "\n", 1); // Print a newline + rl_replace_line("", 0); // Clear the current input + rl_redisplay(); // Redisplay the prompt +} + void signal_reset_prompt(int signo) { (void)signo; diff --git a/src/utils/.maxishell_history b/src/utils/.maxishell_history index b108ee44..5d4e2699 100644 --- a/src/utils/.maxishell_history +++ b/src/utils/.maxishell_history @@ -142,3 +142,6 @@ yeeee | yeee Z yeee | ls -la | +cat << eof +cat << eof +cat << eof From 6384d71196944dadae9bf2b2b79c3b12bcfb54be Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Fri, 6 Sep 2024 13:56:21 +0100 Subject: [PATCH 16/83] fix: CTRL+C in heredocs, working on norminette --- src/redirection/redirect_heredoc.c | 216 ++++++++--------------- src/redirection/redirect_heredoc_utils.c | 75 ++++++++ src/signals/signals.c | 9 - src/signals/signals_utils.c | 26 +++ src/utils/.maxishell_history | 22 +++ 5 files changed, 194 insertions(+), 154 deletions(-) create mode 100644 src/redirection/redirect_heredoc_utils.c create mode 100644 src/signals/signals_utils.c diff --git a/src/redirection/redirect_heredoc.c b/src/redirection/redirect_heredoc.c index 6493d407..7a753efc 100644 --- a/src/redirection/redirect_heredoc.c +++ b/src/redirection/redirect_heredoc.c @@ -1,12 +1,12 @@ /* ************************************************************************** */ /* */ /* ::: :::::::: */ -/* redirect_heredoc.c :+: :+: :+: */ +/* redirect_heredoc_utils.c :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: dmdemirk +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ -/* Created: 2024/07/11 14:32:29 by dmdemirk #+# #+# */ -/* Updated: 2024/07/11 16:00:30 by dmdemirk ### ########.fr */ +/* Created: 2024/09/06 13:46:24 by rocky #+# #+# */ +/* Updated: 2024/09/06 13:46:25 by rocky ### ########.fr */ /* */ /* ************************************************************************** */ @@ -18,152 +18,13 @@ #include #include "signals.h" +int redirect_here_doc(t_ast *node, t_ms_data *data); + // GLOBAL VAR // volatile tells compiler the var can change at compilation between accesses. // sig_atomic_t used for global_vars volatile sig_atomic_t g_heredoc_interrupted = 0; -int redirect_here_doc(t_ast *node, t_ms_data *data); -static int open_tmp_file(const char *type); -static void execute_child(t_ast *node, t_ms_data *data, int *file_fd); - -/** - - @brief This function handle "<<" heredoc functionality - - - - @param node current node in the AST - - @param data minishell data structure - - @return status: - - 0: success - - 1: error - */ - -static char *assemble_result(char **tokens, size_t result_len) -{ - char *result; - int i; - - result = malloc(result_len + 1); - if (!result) - return (NULL); - *result = '\0'; - i = 0; - while (tokens[i]) - { - ft_strcat(result, tokens[i]); - if (tokens[i + 1]) - ft_strcat(result, " "); - i++; - } - free(tokens); - return (result); -} - -char *process_and_reassemble(char *line, t_ms_data *data) -{ - char **tokens; - size_t result_len; - int i; - char *processed_token; - - tokens = ft_split(line, ' '); - if (!tokens) - return (NULL); - result_len = 0; - i = 0; - while (tokens[i]) - { - processed_token = expand_env_and_loc_var(tokens[i], data); - free(tokens[i]); - tokens[i] = processed_token; - result_len += ft_strlen(tokens[i]) + 1; - i++; - } - return (assemble_result(tokens, result_len)); -} - -// int redirect_here_doc(t_ast *node, t_ms_data *data) -// { -// char *line; -// char *eof; -// int file_fd; - -// line = NULL; -// if (node->right->args[0] == NULL) -// return (1); -// file_fd = open_tmp_file("w"); -// eof = ft_strdup(node->right->args[0]); -// line = process_and_reassemble(readline("> "), data); -// while (line && (ft_strcmp(line, eof) != 0)) -// { -// write(file_fd, line, ft_strlen(line)); -// write(file_fd, "\n", 1); -// free(line); -// line = process_and_reassemble(readline("> "), data); -// } -// free(line); -// free(eof); -// close(file_fd); -// file_fd = open_tmp_file("r"); -// execute_child(node->left, data, &file_fd); -// unlink("/tmp/heredoc"); -// return (0); -// } - -int redirect_here_doc(t_ast *node, t_ms_data *data) -{ - char *line; - char *eof; - int file_fd; - struct sigaction sa_old, sa_new; - - line = NULL; - if (node->right->args[0] == NULL) - return (1); - - // Setup SIGINT handler for heredoc (CTRL+C) - sa_new.sa_handler = handle_sigint_heredoc; - sigemptyset(&sa_new.sa_mask); - sa_new.sa_flags = 0; - sigaction(SIGINT, &sa_new, &sa_old); // Set custom SIGINT handler - - file_fd = open_tmp_file("w"); - eof = ft_strdup(node->right->args[0]); - - // Heredoc input loop - line = process_and_reassemble(readline("> "), data); - while (line && (ft_strcmp(line, eof) != 0) && !g_heredoc_interrupted) - { - write(file_fd, line, ft_strlen(line)); - write(file_fd, "\n", 1); - free(line); - line = process_and_reassemble(readline("> "), data); - } - - // Clean up if interrupted - if (g_heredoc_interrupted) - { - free(line); - free(eof); - close(file_fd); - unlink("/tmp/heredoc"); // Remove temporary file - g_heredoc_interrupted = 0; // Reset the flag - sigaction(SIGINT, &sa_old, NULL); // Restore original SIGINT handler - return (1); // Return to shell prompt without executing further - } - - // Normal completion of heredoc - free(line); - free(eof); - close(file_fd); - sigaction(SIGINT, &sa_old, NULL); // Restore original SIGINT handler - - file_fd = open_tmp_file("r"); - execute_child(node->left, data, &file_fd); - unlink("/tmp/heredoc"); - - return (0); -} - static int open_tmp_file(const char *type) { int file_fd; @@ -178,6 +39,40 @@ static int open_tmp_file(const char *type) return (file_fd); } + +static void setup_sigint_handler(struct sigaction *sa_old) +{ + struct sigaction sa_new; + + sa_new.sa_handler = handle_sigint_heredoc; + sigemptyset(&sa_new.sa_mask); + sa_new.sa_flags = 0; + sigaction(SIGINT, &sa_new, sa_old); +} + +static int handle_heredoc_interruption(char *line, char *eof, int file_fd, \ + struct sigaction *sa_old) +{ + free(line); + free(eof); + close(file_fd); + unlink("/tmp/heredoc"); + g_heredoc_interrupted = 0; + sigaction(SIGINT, sa_old, NULL); + return (1); +} + +static void write_heredoc_lines(char **line, int file_fd, char *eof) +{ + while (*line && (ft_strcmp(*line, eof) != 0) && !g_heredoc_interrupted) + { + write(file_fd, *line, ft_strlen(*line)); + write(file_fd, "\n", 1); + free(*line); + *line = readline("> "); + } +} + static void execute_child(t_ast *node, t_ms_data *data, int *file_fd) { pid_t pid; @@ -194,3 +89,34 @@ static void execute_child(t_ast *node, t_ms_data *data, int *file_fd) close(*file_fd); waitpid(pid, &data->exit_status, 0); } + +int redirect_here_doc(t_ast *node, t_ms_data *data) +{ + char *line; + char *eof; + int file_fd; + struct sigaction sa_old; + + line = NULL; + if (node->right->args[0] == NULL) + return (1); + + setup_sigint_handler(&sa_old); + file_fd = open_tmp_file("w"); + eof = ft_strdup(node->right->args[0]); + line = readline("> "); + + write_heredoc_lines(&line, file_fd, eof); + + if (g_heredoc_interrupted) + return (handle_heredoc_interruption(line, eof, file_fd, &sa_old)); + + free(line); + free(eof); + close(file_fd); + sigaction(SIGINT, &sa_old, NULL); + file_fd = open_tmp_file("r"); + execute_child(node->left, data, &file_fd); + unlink("/tmp/heredoc"); + return (0); +} diff --git a/src/redirection/redirect_heredoc_utils.c b/src/redirection/redirect_heredoc_utils.c new file mode 100644 index 00000000..6f5a33af --- /dev/null +++ b/src/redirection/redirect_heredoc_utils.c @@ -0,0 +1,75 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* redirect_heredoc.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: dmdemirk +#include +#include "signals.h" + +int redirect_here_doc(t_ast *node, t_ms_data *data); + +/** + - @brief This function handle "<<" heredoc functionality + - + - @param node current node in the AST + - @param data minishell data structure + - @return status: + - 0: success + - 1: error + */ + +static char *assemble_result(char **tokens, size_t result_len) +{ + char *result; + int i; + + result = malloc(result_len + 1); + if (!result) + return (NULL); + *result = '\0'; + i = 0; + while (tokens[i]) + { + ft_strcat(result, tokens[i]); + if (tokens[i + 1]) + ft_strcat(result, " "); + i++; + } + free(tokens); + return (result); +} + +char *process_and_reassemble(char *line, t_ms_data *data) +{ + char **tokens; + size_t result_len; + int i; + char *processed_token; + + tokens = ft_split(line, ' '); + if (!tokens) + return (NULL); + result_len = 0; + i = 0; + while (tokens[i]) + { + processed_token = expand_env_and_loc_var(tokens[i], data); + free(tokens[i]); + tokens[i] = processed_token; + result_len += ft_strlen(tokens[i]) + 1; + i++; + } + return (assemble_result(tokens, result_len)); +} \ No newline at end of file diff --git a/src/signals/signals.c b/src/signals/signals.c index c3643f08..4fbdfc4f 100644 --- a/src/signals/signals.c +++ b/src/signals/signals.c @@ -22,15 +22,6 @@ void signal_print_newline(int signal); void sigquit_ignore(void); void set_signals_noninteractive(void); -void handle_sigint_heredoc(int signo) -{ - (void)signo; - g_heredoc_interrupted = 1; // Set the interrupt flag - write(1, "\n", 1); // Print a newline - rl_replace_line("", 0); // Clear the current input - rl_redisplay(); // Redisplay the prompt -} - void signal_reset_prompt(int signo) { (void)signo; diff --git a/src/signals/signals_utils.c b/src/signals/signals_utils.c new file mode 100644 index 00000000..ee948c9f --- /dev/null +++ b/src/signals/signals_utils.c @@ -0,0 +1,26 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* signals_utils.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rocky +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/09/06 13:43:47 by rocky #+# #+# */ +/* Updated: 2024/09/06 13:43:49 by rocky ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "signals.h" +#include +#include +#include +#include "libft.h" + +void handle_sigint_heredoc(int signo) +{ + (void)signo; + g_heredoc_interrupted = 1; + write(1, "\n", 1); + rl_replace_line("", 0); + rl_redisplay(); +} diff --git a/src/utils/.maxishell_history b/src/utils/.maxishell_history index 5d4e2699..dfc4f66c 100644 --- a/src/utils/.maxishell_history +++ b/src/utils/.maxishell_history @@ -145,3 +145,25 @@ ls -la | cat << eof cat << eof cat << eof +cat << eof +cat << eof +cat << eof +ls +norminette Makefile +norminette src/signals/signals.c +norminette src/signals/signals.c +cat <, eof +cat << eor +cat << eor +norminette src/signals/signals.c +vi src/signals/signals_utils.c +norminette src/signals/signals_utils.c +norminette src/signals/signals.c +cat << eof +cat << eof +vi src/redirection/redirect_heredoc_utils.c +cat << eof +cat << eof +norminette src/redirection/redirect_heredoc.c +norminette src/redirection/redirect_heredoc.c +cat << eof From fa3e54f202ec27cc69e268bbc920466c25ec1c0b Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Fri, 6 Sep 2024 14:18:26 +0100 Subject: [PATCH 17/83] fix: CTRL+D functionality passing norminette --- inc/redirection.h | 1 + src/redirection/redirect_heredoc.c | 28 +++++------------------- src/redirection/redirect_heredoc_utils.c | 13 ++++++++++- src/utils/.maxishell_history | 22 +++++++++++++++++++ 4 files changed, 40 insertions(+), 24 deletions(-) diff --git a/inc/redirection.h b/inc/redirection.h index 05d4990e..2a82d4e0 100644 --- a/inc/redirection.h +++ b/inc/redirection.h @@ -21,6 +21,7 @@ int redirect_in(t_ast *node, t_ms_data *data); int redirect_out(t_ast *node, t_ms_data *data); int redirect_append(t_ast *node, t_ms_data *data); int redirect_here_doc(t_ast *node, t_ms_data *data); +void write_heredoc_lines(char **line, int file_fd, char *eof); /* utils */ int open_file(t_ast *node, char *direction); diff --git a/src/redirection/redirect_heredoc.c b/src/redirection/redirect_heredoc.c index 7a753efc..0a121c65 100644 --- a/src/redirection/redirect_heredoc.c +++ b/src/redirection/redirect_heredoc.c @@ -18,16 +18,14 @@ #include #include "signals.h" -int redirect_here_doc(t_ast *node, t_ms_data *data); - // GLOBAL VAR // volatile tells compiler the var can change at compilation between accesses. // sig_atomic_t used for global_vars -volatile sig_atomic_t g_heredoc_interrupted = 0; +volatile sig_atomic_t g_heredoc_interrupted = 0; static int open_tmp_file(const char *type) { - int file_fd; + int file_fd; file_fd = -1; if (ft_strcmp(type, "w") == 0) @@ -39,7 +37,6 @@ static int open_tmp_file(const char *type) return (file_fd); } - static void setup_sigint_handler(struct sigaction *sa_old) { struct sigaction sa_new; @@ -62,17 +59,6 @@ static int handle_heredoc_interruption(char *line, char *eof, int file_fd, \ return (1); } -static void write_heredoc_lines(char **line, int file_fd, char *eof) -{ - while (*line && (ft_strcmp(*line, eof) != 0) && !g_heredoc_interrupted) - { - write(file_fd, *line, ft_strlen(*line)); - write(file_fd, "\n", 1); - free(*line); - *line = readline("> "); - } -} - static void execute_child(t_ast *node, t_ms_data *data, int *file_fd) { pid_t pid; @@ -92,25 +78,21 @@ static void execute_child(t_ast *node, t_ms_data *data, int *file_fd) int redirect_here_doc(t_ast *node, t_ms_data *data) { - char *line; - char *eof; - int file_fd; + char *line; + char *eof; + int file_fd; struct sigaction sa_old; line = NULL; if (node->right->args[0] == NULL) return (1); - setup_sigint_handler(&sa_old); file_fd = open_tmp_file("w"); eof = ft_strdup(node->right->args[0]); line = readline("> "); - write_heredoc_lines(&line, file_fd, eof); - if (g_heredoc_interrupted) return (handle_heredoc_interruption(line, eof, file_fd, &sa_old)); - free(line); free(eof); close(file_fd); diff --git a/src/redirection/redirect_heredoc_utils.c b/src/redirection/redirect_heredoc_utils.c index 6f5a33af..9305d15e 100644 --- a/src/redirection/redirect_heredoc_utils.c +++ b/src/redirection/redirect_heredoc_utils.c @@ -72,4 +72,15 @@ char *process_and_reassemble(char *line, t_ms_data *data) i++; } return (assemble_result(tokens, result_len)); -} \ No newline at end of file +} + +void write_heredoc_lines(char **line, int file_fd, char *eof) +{ + while (*line && (ft_strcmp(*line, eof) != 0) && !g_heredoc_interrupted) + { + write(file_fd, *line, ft_strlen(*line)); + write(file_fd, "\n", 1); + free(*line); + *line = readline("> "); + } +} diff --git a/src/utils/.maxishell_history b/src/utils/.maxishell_history index dfc4f66c..8a9e340d 100644 --- a/src/utils/.maxishell_history +++ b/src/utils/.maxishell_history @@ -167,3 +167,25 @@ cat << eof norminette src/redirection/redirect_heredoc.c norminette src/redirection/redirect_heredoc.c cat << eof +cat << eof +norminette src/redirection/redirect_heredoc.c +norminette src/redirection/redirect_heredoc_utils.c +norminette src/redirection/redirect_heredoc_utils.c +cat << eof +cat << eof +cat << eof +cat << eof +norminette src/redirection/redirect_heredoc.c +cat << eof +cat << eof +cat << eof +cat << eof +norminette src/redirection/redirect_heredoc.c +norminette src/redirection/redirect_heredoc.c +norminette src/redirection/redirect.c +norminette src/redirection/redirect.c +norminette src/redirection/redirect_heredoc.c +norminette src/redirection/redirect_heredoc_utils.c.c +norminette src/redirection/redirect_heredoc_utils.c +norminette src/redirection/redirect_heredoc_utils.c +exit From a5ab44b10da6cebc435510f4b6d14e61b988749b Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Fri, 6 Sep 2024 15:16:10 +0100 Subject: [PATCH 18/83] fix: heredoc norminette --- inc/redirection.h | 14 ++++---- inc/tokens.h | 3 +- minishell | Bin 0 -> 450440 bytes src/parser/parser_joint_vars.c | 5 ++- src/redirection/redirect_heredoc.c | 4 +-- src/redirection/redirect_heredoc_utils.c | 12 ++++--- src/utils/.maxishell_history | 39 +++++++++++++++++++++++ 7 files changed, 62 insertions(+), 15 deletions(-) create mode 100755 minishell diff --git a/inc/redirection.h b/inc/redirection.h index 2a82d4e0..c570854b 100644 --- a/inc/redirection.h +++ b/inc/redirection.h @@ -17,13 +17,15 @@ # include "tokens.h" /* redirect_in */ -int redirect_in(t_ast *node, t_ms_data *data); -int redirect_out(t_ast *node, t_ms_data *data); -int redirect_append(t_ast *node, t_ms_data *data); -int redirect_here_doc(t_ast *node, t_ms_data *data); -void write_heredoc_lines(char **line, int file_fd, char *eof); +int redirect_in(t_ast *node, t_ms_data *data); +int redirect_out(t_ast *node, t_ms_data *data); +int redirect_append(t_ast *node, t_ms_data *data); +int redirect_here_doc(t_ast *node, t_ms_data *data); +void write_heredoc_lines(char **line, int file_fd, char *eof, \ + t_ms_data *data); +char *process_and_reassemble(char *line, t_ms_data *data); /* utils */ -int open_file(t_ast *node, char *direction); +int open_file(t_ast *node, char *direction); #endif diff --git a/inc/tokens.h b/inc/tokens.h index 4dddf031..01f1d7a6 100644 --- a/inc/tokens.h +++ b/inc/tokens.h @@ -87,7 +87,7 @@ void loop_cleanup(char *line, t_token *tokens, \ void free_ms_data(t_ms_data *data); char *check_heredoc(char *line); char *heredoc(char *eof); -void init_ms_data(t_ms_data *data,char **argv, char **envp); +void init_ms_data(t_ms_data *data, char **argv, char **envp); void initialise(int argc, char **argv); void execute_command(char **parsed_text, t_token **tokens); void print_maxishell(void); @@ -118,5 +118,6 @@ void execute_tree(t_ast *node, t_ms_data *data); char *expand_env_and_loc_var(char *arg, t_ms_data *data); char *append_literal(char **start, char *processed_arg); char *process_argument(char *arg, t_ms_data *data); +char *expand_variable(char **start, t_ms_data *data); #endif diff --git a/minishell b/minishell new file mode 100755 index 0000000000000000000000000000000000000000..fe4400998fc01c4e486a6c8a663263ac1bf3eaaf GIT binary patch literal 450440 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 z%0D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

@gRL_0DkATr8Wh+K5L-d$c2iXz#A> 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
_Yw2(NgJQV_A8U@s5w}m>Sa5WA6=^F%gHg|6- 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
p#Bl==!{G>(!fT;E%ktsDT&TG9lO0u&HCR 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

5q6^(`A4IWNyT^7Q`ipxL*29!DgEeR4 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 diff --git a/src/parser/parser_joint_vars.c b/src/parser/parser_joint_vars.c index 94bbd0b4..38046b77 100644 --- a/src/parser/parser_joint_vars.c +++ b/src/parser/parser_joint_vars.c @@ -25,7 +25,10 @@ char *expand_variable(char **start, t_ms_data *data) var_name = ft_substr(var_start, 0, *start - var_start); expanded_var = expand_env_and_loc_var(var_name, data); free(var_name); - return (expanded_var); + if (ft_strlen(expanded_var) != 0) + return (expanded_var); + else + return (var_start); } char *append_literal(char **start, char *processed_arg) diff --git a/src/utils/.maxishell_history b/src/utils/.maxishell_history index 44fdc00f..66541174 100644 --- a/src/utils/.maxishell_history +++ b/src/utils/.maxishell_history @@ -228,3 +228,8 @@ cat << eof cat << eof cat << eof cat << eof +cat << eof +cat << eof +cat << eof +cat << eof +exit From c31a36919165756cf1095b20124906c49ec54023 Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Fri, 6 Sep 2024 17:28:31 +0100 Subject: [PATCH 23/83] fix: exit statuses showing again --- ? | 0 src/parser/parser_helper_helpers.c | 11 +++- src/parser/parser_joint_vars.c | 7 ++- src/utils/.maxishell_history | 99 ++++++++++++++++++++++++++++++ src/utils/initialise.c | 1 + 5 files changed, 115 insertions(+), 3 deletions(-) create mode 100644 ? diff --git a/? b/? new file mode 100644 index 00000000..e69de29b diff --git a/src/parser/parser_helper_helpers.c b/src/parser/parser_helper_helpers.c index e9ae7d9c..472e8c07 100644 --- a/src/parser/parser_helper_helpers.c +++ b/src/parser/parser_helper_helpers.c @@ -12,6 +12,7 @@ #include "tokens.h" #include "execute.h" +#include "exit_status.h" void final_quote_removal(int arg_count, t_ast *command_node) { @@ -39,11 +40,19 @@ void final_quote_removal(int arg_count, t_ast *command_node) char *expand_env_and_loc_var(char *arg, t_ms_data *data) { char *env_value; + char *exit_status; + printf("arg: %s\n", arg); if (ft_strcmp(arg, "$?") == 0) - return (ft_itoa(data->exit_status)); + { + printf("expand_env_and_loc_var triggered\n"); + exit_status = get_shell_variable(data->shell_variables, "?"); + printf("exit_status: %s\n", exit_status); + return (ft_strdup(exit_status)); + } else if (arg[0] == '$') { + printf("expand_env_and_loc_var triggered badly\n"); if (arg[ft_strlen(arg) - 1] == '"') arg[ft_strlen(arg) - 1] = '\0'; env_value = get_env(data->envp, arg + 1); diff --git a/src/parser/parser_joint_vars.c b/src/parser/parser_joint_vars.c index 38046b77..719609f2 100644 --- a/src/parser/parser_joint_vars.c +++ b/src/parser/parser_joint_vars.c @@ -19,16 +19,19 @@ char *expand_variable(char **start, t_ms_data *data) char *var_start; var_start = *start; + printf("var_start: %s\n", var_start); (*start)++; - while (**start != '\0' && (ft_isalnum(**start) || **start == '_')) + while (**start != '\0' && (ft_isalnum(**start) || **start == '_' \ + || **start == '?')) (*start)++; var_name = ft_substr(var_start, 0, *start - var_start); + printf("var_name: %s\n", var_name); expanded_var = expand_env_and_loc_var(var_name, data); free(var_name); if (ft_strlen(expanded_var) != 0) return (expanded_var); else - return (var_start); + return (ft_strdup(var_start)); } char *append_literal(char **start, char *processed_arg) diff --git a/src/utils/.maxishell_history b/src/utils/.maxishell_history index 66541174..9dfc11e9 100644 --- a/src/utils/.maxishell_history +++ b/src/utils/.maxishell_history @@ -233,3 +233,102 @@ cat << eof cat << eof cat << eof exit +echo $? +echo $? +exit +echo $? +echo $? +echo $? +ghgh +echo $? +echo $? +exit +echo $? +exit +echo $? +exit +echo $? +exit +echo $? +exit +echo $? +echo hellooo +echo $USER +echo $? +exit +echo $USER +echo $? +exit +echo $>? +echo $? +exit +echo $USER +echo $? +rgiurthg +echo $? +exit +ls +clear +ls lkhfgd +echo $? +echo $? +echo $? +echo $? +echo $? +tguthg +echo $? +euiojtr +$? +exit +echo $? +echo yes +ye +yes +echo $? +cd rtiugh +echo $? +ls eugio +echo $? +cat ghjjgh +echo $? +echo $? +echo $? +echo $? +echo $? +echo $? +here's what I see +exit +if echo $? isnt' the 1st command, it's "ok" +dfoguhrtg +echo $? +but +cd eiughrtuighrtuighrtuihg +echo $? +echo $? +cd iurugvhvirtutghrt +echo $? +exit +echo $? +ierfughrtiugh +echo $? +cd rtiutghhrtuigh +echo $? +env +env riguhrtiughtui&*(*&^*TGHVB +echo $? +exit +echo $? +erighhtriugh +echo $? +dofgjrtopuigj +ls oeruiuitfghrtieugh +echo E? +echo E? +echo e? +ls ieufgvhiruffghv +echo $? +ls iruvhruiyghv +echo $? +cd fhghbyv +echo $? +exit diff --git a/src/utils/initialise.c b/src/utils/initialise.c index dfb6e0b3..9f449d0d 100644 --- a/src/utils/initialise.c +++ b/src/utils/initialise.c @@ -25,6 +25,7 @@ void init_ms_data(t_ms_data *data, char **argv, char **envp) init_env(&data->envp, envp); data->shell_variables = NULL; handle_add_set_shell_variable(&data->shell_variables, "_=/usr/bin/env"); + set_shell_var(&data->shell_variables, "?", "0"); data->current_dir = getcwd(NULL, 0); data->exit_status = 0; data->std_in = -1; From dacdc4aa32923fe55aa38ccabfe674debad2df6d Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Fri, 6 Sep 2024 17:42:21 +0100 Subject: [PATCH 24/83] fix: error codes (issue 1) --- ? | 0 src/execute/execute.c | 5 ++++- src/exit_status/exit_status.c | 1 + src/utils/.maxishell_history | 20 ++++++++++++++++++++ 4 files changed, 25 insertions(+), 1 deletion(-) delete mode 100644 ? diff --git a/? b/? deleted file mode 100644 index e69de29b..00000000 diff --git a/src/execute/execute.c b/src/execute/execute.c index 65b947cf..5b5c10f4 100644 --- a/src/execute/execute.c +++ b/src/execute/execute.c @@ -124,7 +124,10 @@ static int new_process(t_ms_data *data) close_fds(data->std_in, data->std_out); if (execve(ft_find_path(data->args[0], data->envp), \ data->args, env_to_array(data->envp)) == -1) - ft_perror("minishell"); + { + exit_status_handler(data, IS_DIRECTORY, "minishell: "); + exit(IS_DIRECTORY); + } } close_fds(data->std_in, data->std_out); waitpid(pid, &data->exit_status, 0); diff --git a/src/exit_status/exit_status.c b/src/exit_status/exit_status.c index ef1ffb19..ed06fc8a 100644 --- a/src/exit_status/exit_status.c +++ b/src/exit_status/exit_status.c @@ -47,6 +47,7 @@ void exit_status_handler(t_ms_data *data, int status_code, char *err_arg) ft_puterror(err_arg, error_message); set_exit_status(&data->exit_status, status_code); set_shell_var(&data->shell_variables, "?", ft_itoa(data->exit_status)); + printf("get_shell_variable ->%s\n", get_shell_variable(data->shell_variables, "?")); } void ft_puterror(char *err_arg, char *error_message) diff --git a/src/utils/.maxishell_history b/src/utils/.maxishell_history index 9dfc11e9..384c391c 100644 --- a/src/utils/.maxishell_history +++ b/src/utils/.maxishell_history @@ -332,3 +332,23 @@ echo $? cd fhghbyv echo $? exit +ls +ls kjdfs +echo $? +kjhkkhgdjg +echo $? +lssd +echo $? +ls dkjsfhsdf +echo $? +llss ls +ls kjhasd +cd kjhsdf +lkjhsfdg +ls jhsdf +echo $? +ls lajhasd +ls fguivhgh +echo $? +exit +exit From c9c287ce09c3d9537470f32146e6a733305ec354 Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Fri, 6 Sep 2024 17:53:35 +0100 Subject: [PATCH 25/83] fix: history file deleted on exit or sig quit --- inc/tokens.h | 1 + src/builtins/exit.c | 7 + src/exit_status/exit_status.c | 1 - src/main.c | 2 + src/parser/parser_helper_helpers.c | 4 - src/parser/parser_joint_vars.c | 2 - src/utils/.maxishell_history | 354 ----------------------------- 7 files changed, 10 insertions(+), 361 deletions(-) delete mode 100644 src/utils/.maxishell_history diff --git a/inc/tokens.h b/inc/tokens.h index a333d520..eeca89ec 100644 --- a/inc/tokens.h +++ b/inc/tokens.h @@ -119,5 +119,6 @@ char *expand_env_and_loc_var(char *arg, t_ms_data *data); char *append_literal(char **start, char *processed_arg); char *process_argument(char *arg, t_ms_data *data); char *expand_variable(char **start, t_ms_data *data); +void clear_history_file(void); #endif diff --git a/src/builtins/exit.c b/src/builtins/exit.c index 6b9e7a2c..7f96319e 100644 --- a/src/builtins/exit.c +++ b/src/builtins/exit.c @@ -16,6 +16,7 @@ #include #include "env.h" #include "exit_status.h" +#include "tokens.h" /* Functionality: @@ -24,6 +25,11 @@ - Exit with the exit status */ +void clear_history_file(void) +{ + remove(HISTORY_PATH); +} + void handle_numeric_error(t_ms_data *data, const char *arg) { exit_status_handler(data, NUMERIC_REQUIRED, ft_strjoin("exit: ", arg)); @@ -41,6 +47,7 @@ void handle_exit(t_ms_data *data, int status) ft_putendl_fd("exit", STDOUT_FILENO); data->exit_status = status; set_shell_var(&data->shell_variables, "?", ft_itoa(data->exit_status)); + clear_history_file(); exit(status); } diff --git a/src/exit_status/exit_status.c b/src/exit_status/exit_status.c index ed06fc8a..ef1ffb19 100644 --- a/src/exit_status/exit_status.c +++ b/src/exit_status/exit_status.c @@ -47,7 +47,6 @@ void exit_status_handler(t_ms_data *data, int status_code, char *err_arg) ft_puterror(err_arg, error_message); set_exit_status(&data->exit_status, status_code); set_shell_var(&data->shell_variables, "?", ft_itoa(data->exit_status)); - printf("get_shell_variable ->%s\n", get_shell_variable(data->shell_variables, "?")); } void ft_puterror(char *err_arg, char *error_message) diff --git a/src/main.c b/src/main.c index 033eeb57..7d211158 100644 --- a/src/main.c +++ b/src/main.c @@ -63,6 +63,7 @@ void main_loop(t_ms_data *data, t_loop_data *loop_data) loop_data->tree = parse_tokens(&loop_data->tokens, data); process_ast_and_io(data, loop_data); } + clear_history_file(); free(loop_data->prompt); } @@ -76,5 +77,6 @@ int main(int argc, char **argv, char **envp) initialise(argc, argv); main_loop(&data, &loop_data); free_ms_data(&data); + clear_history_file(); return (0); } diff --git a/src/parser/parser_helper_helpers.c b/src/parser/parser_helper_helpers.c index 472e8c07..eefeee31 100644 --- a/src/parser/parser_helper_helpers.c +++ b/src/parser/parser_helper_helpers.c @@ -42,17 +42,13 @@ char *expand_env_and_loc_var(char *arg, t_ms_data *data) char *env_value; char *exit_status; - printf("arg: %s\n", arg); if (ft_strcmp(arg, "$?") == 0) { - printf("expand_env_and_loc_var triggered\n"); exit_status = get_shell_variable(data->shell_variables, "?"); - printf("exit_status: %s\n", exit_status); return (ft_strdup(exit_status)); } else if (arg[0] == '$') { - printf("expand_env_and_loc_var triggered badly\n"); if (arg[ft_strlen(arg) - 1] == '"') arg[ft_strlen(arg) - 1] = '\0'; env_value = get_env(data->envp, arg + 1); diff --git a/src/parser/parser_joint_vars.c b/src/parser/parser_joint_vars.c index 719609f2..12090f90 100644 --- a/src/parser/parser_joint_vars.c +++ b/src/parser/parser_joint_vars.c @@ -19,13 +19,11 @@ char *expand_variable(char **start, t_ms_data *data) char *var_start; var_start = *start; - printf("var_start: %s\n", var_start); (*start)++; while (**start != '\0' && (ft_isalnum(**start) || **start == '_' \ || **start == '?')) (*start)++; var_name = ft_substr(var_start, 0, *start - var_start); - printf("var_name: %s\n", var_name); expanded_var = expand_env_and_loc_var(var_name, data); free(var_name); if (ft_strlen(expanded_var) != 0) diff --git a/src/utils/.maxishell_history b/src/utils/.maxishell_history deleted file mode 100644 index 384c391c..00000000 --- a/src/utils/.maxishell_history +++ /dev/null @@ -1,354 +0,0 @@ -fjf -exit -ff -ls -la Z -ls -la | -ls -la | -exit -ls -la | -ls -la | -ls- la | -eiuyhj -erfuoj -ls -la | grep ".txt" -ls -la | -ls -la | -lfugu -ls -la | grep ".txt" -ls -la -ls -la -ls -la < < kj -ls -la -ls -la | -ls -la | -ls -la | -ls -la | -ls -la | -tguihbrguioh -ls -la | -ls oeuirrtyufghtegh -rtgrty -rgbrg -abcabc -ls -la -ls -la | -ls -la | -abc -abc | -| -4rfuih | -hghg| -make -./minishell -exit -ls -la | -tyufgh| -ahah -ahah| -ahah| -hahah| -ahaha| -hahaha| -ahah| -fgh -ahah| -haaaaaa | -hahaaa| -ahah| -aha| -HA| -ghhgg| -fhgh| -ghgh| -fh| -hghgh| -haha| -ghgh| -ghgh| -ahah| -ghgh| -ghgh| -ghgh| -ghgh| -ghgh| -ghj -ghgh| -ghgh| -ghghZ -j -haah| -haah| -gjg -ghh -ahah| -yeee -hehehe | -ghghghgh -|hgh -hghg| -ghgh| -yeeee -yeee| -haw -yeee| -ghgh| -fghgh -gdb ./minishell -ls -exit -ghgh| -g -gdb ./minishell -yeee| -fjgh -ghghgh -yeee| -hay -yeeee| -ghgh| -ghg -yeeeeeeeeeeeeeeeeeee| -ok -ok| -ghj -hgh -ok| -ok -ok| -yeee -yeee| -yeee| -yee| -yeeee| -yeee | -yeee | -yeee | -yeee | -yeee| -yeee | -yeeee | -ls -la | -yeee | -ls -la | -ls -la | grep ".txt" -yeee | -yeee | -yeeee| -yeee | -yee | -yee | -yeee| -yeeee | -yeee Z -yeee | -ls -la | -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -ls -norminette Makefile -norminette src/signals/signals.c -norminette src/signals/signals.c -cat <, eof -cat << eor -cat << eor -norminette src/signals/signals.c -vi src/signals/signals_utils.c -norminette src/signals/signals_utils.c -norminette src/signals/signals.c -cat << eof -cat << eof -vi src/redirection/redirect_heredoc_utils.c -cat << eof -cat << eof -norminette src/redirection/redirect_heredoc.c -norminette src/redirection/redirect_heredoc.c -cat << eof -cat << eof -norminette src/redirection/redirect_heredoc.c -norminette src/redirection/redirect_heredoc_utils.c -norminette src/redirection/redirect_heredoc_utils.c -cat << eof -cat << eof -cat << eof -cat << eof -norminette src/redirection/redirect_heredoc.c -cat << eof -cat << eof -cat << eof -cat << eof -norminette src/redirection/redirect_heredoc.c -norminette src/redirection/redirect_heredoc.c -norminette src/redirection/redirect.c -norminette src/redirection/redirect.c -norminette src/redirection/redirect_heredoc.c -norminette src/redirection/redirect_heredoc_utils.c.c -norminette src/redirection/redirect_heredoc_utils.c -norminette src/redirection/redirect_heredoc_utils.c -exit -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -echo $USER -a=123 -echo $USER$a -echo $USER$a -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -a=123 -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -exit -echo $? -echo $? -exit -echo $? -echo $? -echo $? -ghgh -echo $? -echo $? -exit -echo $? -exit -echo $? -exit -echo $? -exit -echo $? -exit -echo $? -echo hellooo -echo $USER -echo $? -exit -echo $USER -echo $? -exit -echo $>? -echo $? -exit -echo $USER -echo $? -rgiurthg -echo $? -exit -ls -clear -ls lkhfgd -echo $? -echo $? -echo $? -echo $? -echo $? -tguthg -echo $? -euiojtr -$? -exit -echo $? -echo yes -ye -yes -echo $? -cd rtiugh -echo $? -ls eugio -echo $? -cat ghjjgh -echo $? -echo $? -echo $? -echo $? -echo $? -echo $? -here's what I see -exit -if echo $? isnt' the 1st command, it's "ok" -dfoguhrtg -echo $? -but -cd eiughrtuighrtuighrtuihg -echo $? -echo $? -cd iurugvhvirtutghrt -echo $? -exit -echo $? -ierfughrtiugh -echo $? -cd rtiutghhrtuigh -echo $? -env -env riguhrtiughtui&*(*&^*TGHVB -echo $? -exit -echo $? -erighhtriugh -echo $? -dofgjrtopuigj -ls oeruiuitfghrtieugh -echo E? -echo E? -echo e? -ls ieufgvhiruffghv -echo $? -ls iruvhruiyghv -echo $? -cd fhghbyv -echo $? -exit -ls -ls kjdfs -echo $? -kjhkkhgdjg -echo $? -lssd -echo $? -ls dkjsfhsdf -echo $? -llss ls -ls kjhasd -cd kjhsdf -lkjhsfdg -ls jhsdf -echo $? -ls lajhasd -ls fguivhgh -echo $? -exit -exit From 65cf07d0c450be848c43f61762c44684d012d3bd Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Fri, 6 Sep 2024 19:59:58 +0100 Subject: [PATCH 26/83] fix: single and double quotes workgit add .git add .! in heredocs toogit add .git add .git add .! --- inc/tokens.h | 1 + minishell | Bin 0 -> 457184 bytes src/parser/parser_helper_helpers.c | 27 +++++++++++++++++++++-- src/parser/parser_helpers.c | 1 + src/parser/parser_joint_vars.c | 12 ++++++++++ src/redirection/redirect_heredoc_utils.c | 3 +++ 6 files changed, 42 insertions(+), 2 deletions(-) create mode 100755 minishell diff --git a/inc/tokens.h b/inc/tokens.h index eeca89ec..f3969b8f 100644 --- a/inc/tokens.h +++ b/inc/tokens.h @@ -120,5 +120,6 @@ char *append_literal(char **start, char *processed_arg); char *process_argument(char *arg, t_ms_data *data); char *expand_variable(char **start, t_ms_data *data); void clear_history_file(void); +int is_in_single_quotes(char *arg); #endif diff --git a/minishell b/minishell new file mode 100755 index 0000000000000000000000000000000000000000..9a26671c2761d8e37b68e7963f2a9892d936f217 GIT binary patch literal 457184 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 GWRz=+LZ} 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 hF27Li8{&7largs[i]); - processed_arg = process_argument(command_node->args[i], data); + printf("command_node->args[i]:%s\n", command_node->args[i]); + if (!is_in_single_quotes(command_node->args[i])) + { + handle_local_vars(data, command_node->args[i]); + processed_arg = process_argument(command_node->args[i], data); + } + else + { + processed_arg = ft_substr(command_node->args[i], 1, \ + ft_strlen(command_node->args[i]) - 2); + } free(command_node->args[i]); command_node->args[i] = processed_arg; i++; diff --git a/src/parser/parser_helpers.c b/src/parser/parser_helpers.c index 525f6f76..defbf23c 100644 --- a/src/parser/parser_helpers.c +++ b/src/parser/parser_helpers.c @@ -88,6 +88,7 @@ t_ast *manage_commands(t_token **tokens, t_ms_data *data) if (!command_node->args) return (NULL); set_command_args(command_node, tokens, arg_count); + print_tokens(*tokens); post_process_command_args(command_node, arg_count, data); return (command_node); } diff --git a/src/parser/parser_joint_vars.c b/src/parser/parser_joint_vars.c index 12090f90..59448728 100644 --- a/src/parser/parser_joint_vars.c +++ b/src/parser/parser_joint_vars.c @@ -18,13 +18,22 @@ char *expand_variable(char **start, t_ms_data *data) char *expanded_var; char *var_start; + printf("expand_variable start: %s\n", *start); var_start = *start; + if (**start == '\"') + { + (*start)++; + var_start++; + } (*start)++; while (**start != '\0' && (ft_isalnum(**start) || **start == '_' \ || **start == '?')) (*start)++; + printf("expand_variable start2: %s\n", *start); var_name = ft_substr(var_start, 0, *start - var_start); + printf("expand_variable start3: %s\n", var_name); expanded_var = expand_env_and_loc_var(var_name, data); + printf("expand_variable start4: %s\n", expanded_var); free(var_name); if (ft_strlen(expanded_var) != 0) return (expanded_var); @@ -59,9 +68,12 @@ char *process_argument(char *arg, t_ms_data *data) start = arg; while (*start != '\0') { + printf("arg: %s\n", arg); + printf("start: %s\n", start); if (*start == '$') { expanded_var = expand_variable(&start, data); + printf("expanded_var in process-argument (should be non << only): %s\n", expanded_var); if (expanded_var != NULL) { tmp = ft_strjoin(processed_arg, expanded_var); diff --git a/src/redirection/redirect_heredoc_utils.c b/src/redirection/redirect_heredoc_utils.c index 9cecffe3..f39334e6 100644 --- a/src/redirection/redirect_heredoc_utils.c +++ b/src/redirection/redirect_heredoc_utils.c @@ -66,8 +66,11 @@ char *process_and_reassemble(char *line, t_ms_data *data) i = 0; while (tokens[i]) { + printf("tokens[i]:%s\n", tokens[i]); processed_token = expand_variable(&tokens[i], data); + printf("processed_token:%s\n", processed_token); tokens[i] = processed_token; + printf("tokens[i]:%s\n", tokens[i]); result_len += ft_strlen(tokens[i]) + 1; i++; } From cc1450e042db63ce195c98bc6c688fe4c55571b9 Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Fri, 6 Sep 2024 23:14:25 +0100 Subject: [PATCH 27/83] fix: heredoc quotation marks match bash behaviour --- lib/libft/inc/libft.h | 5 ++- lib/libft/src/ft_strjoin_free.c | 24 ++++++++++ minishell | Bin 457184 -> 0 bytes src/parser/parser_helper_helpers.c | 1 - src/parser/parser_helpers.c | 1 - src/parser/parser_joint_vars.c | 54 ++++++++++++++--------- src/redirection/redirect_heredoc_utils.c | 3 -- 7 files changed, 59 insertions(+), 29 deletions(-) create mode 100644 lib/libft/src/ft_strjoin_free.c delete mode 100755 minishell diff --git a/lib/libft/inc/libft.h b/lib/libft/inc/libft.h index bedd5239..32afe560 100644 --- a/lib/libft/inc/libft.h +++ b/lib/libft/inc/libft.h @@ -52,12 +52,13 @@ char *ft_strchr(const char *s, int c); char *ft_strcat(char *dest, char *src); char *ft_strrchr(const char *s, int c); char **ft_split(char const *s, char c); -char *ft_strcpy(char *dest, const char *src); char *ft_strndup(const char *s, size_t n); +char *ft_strjoin_free(char *s1, char *s2); +char *ft_strcpy(char *dest, const char *src); char *ft_strjoin(char const *s1, char const *s2); char *ft_strtrim(char const *s1, char const *set); char *ft_strstr(const char *big, const char *little); -char *ft_strcat_const(const char *dest, const char *src); +char *ft_strcat_const(const char *dest, const char *src); char *ft_strmapi(char const *s, char (*f)(unsigned int, char)); char *ft_substr(char const *s, unsigned int start, size_t len); char *ft_strnstr(const char *haystack, const char *needle, size_t len); diff --git a/lib/libft/src/ft_strjoin_free.c b/lib/libft/src/ft_strjoin_free.c new file mode 100644 index 00000000..93981b0c --- /dev/null +++ b/lib/libft/src/ft_strjoin_free.c @@ -0,0 +1,24 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strjoin_free.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rocky +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/09/06 23:07:53 by rocky #+# #+# */ +/* Updated: 2024/09/06 23:07:55 by rocky ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" + +char *ft_strjoin_free(char *s1, char *s2) +{ + char *result; + + if (!s1 || !s2) + return (NULL); + result = ft_strjoin(s1, s2); + free(s1); + return (result); +} diff --git a/minishell b/minishell deleted file mode 100755 index 9a26671c2761d8e37b68e7963f2a9892d936f217..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 457184 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 GWRz=+LZ} ze;kKqt}8h-Q!X5ui{s?bOw|~N=2#mXnpNa2ZNo5*(|)jw-1q0u%w0wyElpO`2XdBj z=Fm)O#G#qGu@23u|41B~x$$_1W=@QAXr_9+L$ltn?9iNQ3V5quM~7xZzoqPH_Jc7= zCN#(bye%#%9GX*2bZDlg@LJYdcR`W~?ph*e^|Q>OIll`U{D{YL=FrTgBd5Lh?E#Ij zM<$mQ4$bl5ft=;kkV7*ynL{(BA&2Hv6W}cse)qxtgOoaP=k!h9M6F=VqEF)yc*}1? zU2tgjiVu{%*KbkI-s^Qwl)cw~Qe^M-V#?mD@?&N1^&iG98dOT~)^75M>}me{M9$i8 zqH_i98yuSH*D}22Iz;O@hi1-BWJ71V&B0ukgFOsvo)5nT*d9x4I zp_%V_Or*<|3F%UJ1k$xD%;$nv4#Lb*PRO&!WgA<%-z9)Og@?Sm=W{Bp)w)X{L_=I0 zcS|*g2S+=alcma-JtC_N*(0(V?l$hXN28VJTzK+s`5}Rv)&0)j0|M;aKRTByO5xD_ zrEe#9h$^YVhW(5QR>L({jOLL=tBp@|8zA0e+ur|u*lfY*#zPXPIg?pHFg#oeCX#-M zD9uJ~@Pmb{Mr8)o_(2BMC|wBEIQLjkjq6HKjdB6i zisJ;;s2T&+V(m{Q?*T1Rz&0N2$4__D8r@BchH_n@U?OQQEibm4mWNIHu?AUyYQ-f5 zR7*7xs!>xwHQgqIY7~o8+_ePN^s@}A<#%}mRO8ZdP)*f&>>1?(s>O%@bn+gk6(Uqq zvkx_$wY~I%cg^4#O(OsV= zu8TYe9WjK@!Rb}moE1XzQ~xSfy!71VZy2@6h6fM*#s89i@$bS9p1mIGxanoG;Qr{F z__3Z>KSLIUx2u2YreewdGA!yMwImrk^NSa`_?iEq`l&0R&To7ZZt{hHrXPRi`gQrn zK6ld-e(ky|K#_hyd@G!)_*OX8zoI{ja(DeA>2=M^*1Q6COHprJaHC4P2jyiTF{u6l0 z{<-Zm!R8YGK#zY_w_J_5+V-;L&cAfC`e|~O>71T(<8lW&^}WllKKne0&zw^I@}oTn zp5pDygP_3MWvADtxI1hc`xJLSQO*Ym{EsK!m=>#xH<%Dqj2N6NpW^Nzij;mUdjL>T zqDU#zfKHJ<#od7=eu}%53+5A^Zwztpm=vjr80CKua;NYVcc0!pJUJs=F7m1p|AEgf zc-5>f@T#gA&#V63?c_o5!ew$eSf+^26M!YmN3Po}N5p5(en0xbewv&TK-L@8Xa1Y& z<*!wr|IuXiv;Uy_!uP75y;*(cA6g{T-!@$Me=%Igc$OaC+t0JiK7pbA;i&{Z3PU++ z_an{s*YFy>t^XgKzsARuy+_@l^f9tGWGL|-Ei~j>8i5fCVL`$qI-d!WG{uxmOcy^Q znHcvd#Wfb(5+}r&`qX1B%7|W0MGlwKSt&8P`t`}_Uf9z??>5%>Zo=UB&8vGS_irC5 z0#a`rjPJGt-oJfz)vVzf#H97s4J8i39iyRqgp1OBoS(YTY>0J%OV0MsZSQVMgF(3* zb$7kFTUEHIU}bqiiIoj+6mQ0@iv2|6y(4AiPc~Ak^mb*M%Riy~o3x*(-^0of*T-jO zF!7%hG?y0>&82emv9LVBaRYg7mhCMnxtk(E{3dbfRVh(kcEe%Hi<{-v`OsNoQ7XUB zFO6Aoss3Pwd|tmu!LN5T)-oBN6N$nwjRN$OU=X8cj0^rqP4gzl=rv?Fha-;Vw5Q~P zEPG)hmP{+0E=()MaWbt?6(t!Tll)s4G`W8ZMYCoWv#Att$W4lANDn@N--?EIOvJ}s zvKj7b7tei6ClH%I!O9?E_dcCKbeqhwK(VkaaMzM$f%nZV3o0IlO-UYMS>V!fmIYPk zmIca%&f%YT`{YCk2q^?&ns+J_)Akl0j}Ji{r*OKwwgpP?dYL-`oms}pR*~iAwQ@+n z%W*mi<04gDl$)1d*|U=yP3BHOpntK0g&k|;haD^^ryVRPX!xX4k)!5&GOTQ`TQ2jW zo*#`X{aAC7Ld444I^{>Bpjj2K80Su4A7m1}3h{R$yZ&wlUUvMa>% ze@Hx)IRh*j2>n0Dg3#0by~ES}-SfkfH+O_yTb8wEFA&Ric3`r7O9yUbHl{(3oFRO#Po#Fa2S_nHDVcPk6yg zl|KPOjxv}TCV7A0@wJit3KUfInk`Hv`mj_;4B_L@i6f7A0(unr^+?vU#Kn#Yn;&`p z!!y0cHpMW`;mPhpfoJYhX7fyhRbcWckCgDZVg$2H8OIknHNUc;>AaY;XNf4%k{1?1 zR}Q(I1p9b)HGWHhSu?E=A~UX)%$WdyU93^>Z&?Ds1>O~TVN8~EJb>`Q?(uo}EM!iG zgSjx{XR}h`XQ_M~ewOzt?=)tM8Kf+4z)Ejat@E>#Z1jE*e%AfijVX4%l^%I4T$?&F zgKD(Z!w6OXO(ImY@-U$~oI59p645|k7 zM@edO|3qrik2$GHF_D@S92LeaYRs%+tkbAZKx%5VJ&e@kQ3a{Vop~%xFczNLkPc8) z65@T5nz~I!YEmqiO78l&q$ca{2y6MiBHMn7@YEYH(54hF^5>4T3o^opLy;3;FI z%#~V2#+6z*5TYEXqcT^@sf)N$P8l@LxY8r7TZlK-#M1u0loKGOkO5Ma0wCoJGC*oC zSS}arC|4$SltN@jxmg0F6apZ%E5@;-_6eixDAmr6^24|&)5CUn)sT^kaF&ZA{L!su zMMXxca<{{iU0d0i*>)HVEyXcJZgETw*?2iKCLYEscyPSns;$rdCJvOJeIo$nUwNkb z!oMn*T1eKQ2iyK^bc@2g|cNo+spXV7JTg&_p6_mYr#*d&z|a+fB47z^!LAc`N!2y|MTh# zKdOG=ht*$X?*@2avQ_<{`Vw@pF8|Z&SJ>b8htDHDML!mF&*XnHd_4lD1?C?| z3y8?Gq)3zsqq@kO$M?%ueE8^od{O}!_`_5=d~*onBPu*QfM%ydalbUekBe}5xGB?{ zR<~V!!QHW0xCN7}fY?H@aeH66-33+Npl%3z({YZ%CBm-W1M%-4aI@m9A7?O}GqIFl zIF*kB!}abb7r05-l2f=zQ2M|yyrfE%oFbC^`#>PwY)9Pd0%hzY!SK0SNB<2$`sfJ3 zOJy*gX8-pE#xoG(Jo+TSc%RH4zHh>ZfZb`yC&2C+Vvmd6xiiA%BJ7S>l(;gQSz_gV zVt3sp!|oId?9N?(p0T?(V8HGa0(R%Ce`Z`Ber5nWYi0?sQ%-=LLI&7X3V@xaECcis zgY1ioGss+-06T>U*tuB(>=XiEw=3QcVCRP;TwRHLi*TL`T3lLs{ z%MZon9~}9Qp!2bBKE{^tn0_CJ$4ycH}NO?N}Ta^&#m5ZUeor zdtsLAvWzxm_YH15o)qUq&Ywqpg6i>Z#d^bXey~(iw&mX>gOT53$OGShQYf2VOv!x66>h3Mn# z!=_so3|cD0eb~5LT+eq0F(+85GUf!!Dnm}NtOgz-r2i^a#@My2vWQ*F>O$p)0%@1_e6+bZE$k`{3&pZ5pNo|%+e75M(HVV+_~p+{wZ*L3LH<4@9rO4$fBmkQ{Wge z?Ni_=aQ_rIn#1i=;HXtJFiR=vL00*Mz%j(CK`4!bkbgfy$l3>S8~(e7A#pr-1cvnF zvN;0@ZOFoKQ5u1qqnM0N4!{mtM`-tAlq@EpbqKw zjDhDh%#=@GqPt~;pw#H(ljLRSt(I~RAv;Q>0t$uqZE-Gd}Emc z(=YazeyyD-(!eG@t+iHp%)X0 zqH-j9O?Qvhdv122_1F|u$R7hu1B9N>unDCwYqliZp6g79|u{1&9=xe`74g&sCE(4>pKygVyQKyV?3qQg|pt&d(RmwdE4>Q2nm( zG+r;GSs6NI|6i-f{C}++xKxhQQ5c1(;v$-rU)i$*&B{w=G%Nn91{-U+>e9FJ<_b)EYYkK0=dfN;fPm`b51m?eUQnYQmzE5 z-5Z!6Iyrf7Cytu!hpfLBLv1z57M?9-<;{PG#R{)q{o2M9xfq$A=GcBZk@Rx|-pVCKf%mxph?GH|Oj^EVcL^o#ohQ0T& zzQOzFN(4XRvY)Ph111IZH4341QF4el>CKr9f}tj_GpUhpJri6_u<+?w(wP%?!%c8-AA7o^&QCEU+_6!^vwUu9mVta8}n$EqBh8C5w{S*RRdc;D_E zNkci_IX$&4zqsS!+3wEq$?+k6A#@KFj*$Py+W{f}GF#dH)63t#ftTttH@^9&)k}Yl zL#iUh{)9lW@3W)9rGFYvc>RyOURQ<-aUJE-OTP#K`#%}-{m*{7$d^g-L|}Iu#*HZM z5xDke3Hjy`U2*=?zpN=aTWOLe1adK23*@R9W)!U?B9bpQ03}~#GK!aL6FQ`jA=j*w zkSmo>ktyJ+PFkspr4g7 z>_-iFOKM*px~A#%6#t%Oy)m9|w{|il6#4d4Q}FGodOZA#cyj#9fslsSG-S-9@Gs)- zlY)N{xh4EdIpJRl8U9r%;9s?YppP4mY-X0r1^(sAgnubS{L9S}{-qG`uU+x8gMWFQ z4+H;ln-2m1au>!RW3S-(ZEPpZn`7bki+>rqIsTM#9MQXhbIg@7%bso&Xbtq;2WUTx~Z)YMF6tFzS}T(4DD*0y`sH)~T<^(p=# zT#oh*-x-__pv@1D_xEb`%3y1=*SR(5U+=b?%e`7-YHDF>ag8gN+pV=hud}{9*gZKr zn475~`v$jnj`wP0%se>UKiWIHrreqLPL7VQg;S-U?VRr%+wbtbUhB`z+!|bO_6FbH z?zH=ZjpoK+z|#-U-aOs8cV}=ku{(Kmr8XE86}5?p-7Ax|iK8o5xa-Q=X0t!Ix!GMF z@c(v~9}mLOTBqM%YY*BR%N^ac^a^@|=|(N6f|UWSG}zeOXxFB;E8b+Sy9xWT8tJ=sbhF#(w%EKbi=ZY+0tt!8(*R-dj6TD{QW zH|EnTEOk}~Yn_e0zs6%+QyKJHeBWxX|9bCtYI&j5{5xld$9L#}2Q~Wvk7y6po44!- zv0!IzZEm$U2De(fR)$guNyz=fV>ZdogDi7}LoS}qZ|GAC5eL_bXj-}d~ zS66!1yM6zTK|IvBqe+_G)#3xgab;r#9*-9V~(vgm)dKCtuF0(YcQCs`IQW@)#h4vy;j#SwwcXC zH)wZ8(V#XvUFo-a?fxx>-|WmZLvFCT)>&!|7+>w~MiZIRZ+82gjn%<*CKHe8tZ%Kg z*V`NYCNpt^p^}N79hW^}0C5*aGLtWyid&t>m=yVq;3wg+3yUXOOkWbl~RG$e(*H0e0#^z5~RoLt!o z!^9*^dUr`;%|jF63bz^T?CqTn2@+QCYlGq>FPwhA|KQ#M{SxNm)@s8($iKYBi_~^2 z*SEJ?Ynq!ZAXAm@VDoi*hkK$Di`AwwSnBk9QB+^&F85APcK4yZch1fSEG>h>6PqHd z?fzkYFfgGD7m!Qg1d1NP4&|A1^*#dMnypZxkj;XCsZwiL297^Nf*v^&Pz4 zexqlfTW>5>Zf#|_F7w_tUg_znr~FLHjx#Z+x=QR z7`pdzyVvh-xB8n*I3}XawVw6SR=>-Nv0^i4z~kl*%KrcZ)@?3d)oX(&YnfBbGEFEg zqN}~ll|Czt&HVae_?dlSo%UM?knmf? zA?uDtd|39kmwJA`!P@fD8m+P1=}t(LO){p=Pp%;E?(Wy@xYB9g>bIG)-j0>7$)J84 ziPhU`_FLCA>4ckX_~x&zZui&TXtjE^>4v?2W3Y`Z(TCU(&9Ti~7_2mV{rX(djO9i= zIM}8g8ARK+bWcqK;F(P_I$QE1h^&dLbM={qq=zKAq;Jc_w0#FF`R(-?SOFbQgc>#WB4ULOiQKGHz zJ=z`IKSo!6YkzNW`(*FEiNV3WE9zc{FPuAkYyapywH_y~ehZK~5JNh+cYa#?)^BoU zxf&bGmD+F7^!KrNz3ZoIU$6bf#QkFtZ0H8k;A_93XOw@*4PSkg0U9Rqt$xQoQ`4B^ z)U?9Nt@Y(NvuO3DZNyuv-R|T+T$_->;bIx- zaC0Lq$5v@8fy<}H)C_O3+S2&A)z7E3uaptX&NHZ%>a!6AGI$5??4VWMdv9WI5*#-e z+`fN!bbfeTsvdrSMzka8@@EAND}rBU!jb_K1D%ZL`n<_z5Se;ncBTO$qw$cZg*fiL z(d)O@2WThFC03LH6Oz6isjYNaVYa$AHn&=}bjWKS?=vRtn~o08&P~xC?4O?AVL@l1 zeX}-Ul8j#8*sOiG77OiLt@c(w3OYgELViu2-9I=ud@$)S*CnC)lA*Zn+rSMbq}CaI>?FIA?s%Rcy7;9VWDF=-@YMjqTd2 zwfeT2BaPaCehs!UN%w~#+riHLqw{NsgZsx)#s%sIx7m+nU>5^&k55kT?i@`#$j4Z$ ztx?SfXc60DEk$g#UfFD}|Var-b&Tr5g-QAXKO9-4V9Z@;e*oV4eOOVM3=* z5}p?j9r%jfZoviguV)MQ<~lwz{0@^chpjTw^U( zuHpkheGhL7SC7T4*u@2Qn7cMR>)M5V()j=EzdEzRSn^*61X1Wc6IW*zry0`p_0I7~ z_XA3;@3WDHd_3YcTyFKQqud1;wDd;5-MiV`3Zgda$lIsqdU0xK*&M%2FBp7TSsoyC zY!$3eHKZ#tSzHYhy8;6h#jG!dng^O`Oo*WQ-e|Wj6bS|B(WodPrCRz;&E?1yjgolR z(bJQK=ve7>ctd|jM>n;{mqKaSyT7o?7do}saxx;7C>LenAT_c z7!-J75ITlh>eaI0IdqB^uo1nn#$%I);<)Je1n--ZcMTfFLDSyqb=Ee;r!8KapPQX) z_)Hi-Y^J96uiC&dHGwhf`T_^&^-QlfHd>75bXYk?cQP@dANWA$fR{WxyU*@Vr#W>u ztee^e1&6o9gkX#>w?$>xh|wF@7p7-t7U$}-^NWl1M!h~e$LyV-ovAO*v%JnP&P>no z#`Pr)_FjAS#$dhQZnBot@-dX8i;j?V5q(V#O6?<=~H7F=r zuIde`tTg17=!yd1suU2{Hkz_AEd`2{a+t4aDC$TWM1gcwULO?aWD_`FpG}9j{Dpz) zG@%s0EcG&&;}*7tEY<4~QvqsnW^-+8Xj0jHb5IA>HgdZ3h6Qb%-?5-;OEb8*gUEm|FW?KU8`jq+bX>-~1O594xe2EDL8&HSF8 zpPpJ|g;-bsSJE@9wU>W)YI^!R^>0ki-hCOuF<%O8jYwj9|MXy2kf`9MbSOclZk8Yy zW}(r?X|Gz*n7~@!!z6aN9wzq4y5DF0m+oqVC+N;%?D}1?e>OxJOQjm7!0Oh`Zf%-& zxzS|7?qz(g4I|T*6Wu5lZ6H49trE|a5wm=Z7>(E=z3Xk{Sl#9tEcyC2ilxRK>t(4c z9H>Zh4V?^G&|G5Lz4E(LuW%)8#=Nt^PJW{wK8+-tT~SLKAwye%vo_JC zTGvO`=cAK159)KVr+r~J8f3Y>9KR`8CWKu0p6g7welbYnXU~;pOYLgCvc_UV_n8OyZ69=ybq1Hj*1=^ zX2xp}GV~$lr1o~Z77r?EGEDhoXkmg0Z2z9vetT3yTuT?NjnSoHXs`oC>Vcrr1ITh6 zdmoFXu!$k5R_3Y2}waAQ|Yw*AMc{+BwQJNa50IANGb+DTTJV7jHwO;q(X%uQ=e6i1jy?=X>MXB5V1 zBg`>UB0uYU{65`OtEi7X#8mr+n_bhPXd)3rV#*4mA8ooYrT*r+IE2EyGZ?YdL#IIJ zqA7xr&!j0!G61AMXs&_vWJsa~SoTCoONleqLsCSeXwEDo_JM=ilPOwi+Q9K0GL+37m}ZOqnZ!M5|Wi&Hc6!kg3cbr9{s-2DEl(+dV@J3aA_%!^`l2BgJU zMpzBDC2GTft(8Wq$$q4Dsm*~8^{GGz>5hDDFwYDap3T+urUZ+bN0ESi%^VE{7r*^( zv(=V-Z>e7lo?y%2{@0r~j4H=whqi8(csiCJVs%#7$T&Na>WdqjYeDodFu}o$9}Mmt z?$S~Ef@Fb}p$7i(5)Gr+&tL;++GVR`WmH!}_DQ z)oyLCnH6WyYpyVd)JWU`+XlEX0!R~3VVNIq0TP^l*aelr24hVP${(mxmP?2#7XZD^ zN^gzPVe?;*t^9qv{()lOHeAD?L&Ioe-oI``VWC1y5&WUF1dZ8YP*ocBh2>^_v)k@$ zY@tE~yAA6gPltU<+VI4LbA?wL*BVf@=zKHGNfu=U+SJ0#d}D5UdU~$DP@kJ&b>6>P zpIcLJ-adPG=N|0rF)TE^@N`3i28~I7zQ*GY4ussNrtX^p)tI>gr~|%9G#h-mEf9M0DuCHPLG^r+}$CD>7Ho8 z2|R1SRI3ci8@LtFT3@SmdTX1wTu@Terqv-r6TL>sDqFhBSbNDDYBe?%BHS(ph2Rh; zZA!Rgnq!O=gA0W<=*w=FgjItRV^2K2eR4Sp6?9|aa-=~k4K=y_6r^#XF5Bd43|2OA z2kCCR&q^xBkscJ;gFyEZmdjOx!)%p}u=-SNmOk;5d=)X8M&Dya5L!gD-ddcXL zjNY4;BA&G;Eror+ENzhrxnQ~nVec||>@}56Z+mOYI!z4qpk+(&^5%L|kl*_?kUz9o zsVlBnKl>x3RiIG3fq=Q*Uf!lpa?b{>#Y1+_`rPyaf+hbfl$iQG!3d22ID^(;yT8Je z)B;b9R^)rmNrZHXfsc}QF}-Hak37j4`&uejdrPwiF*FPz}& z0q5@9sO&c3O>F(%$=< z@PE9`#u{zB0ji+2O2siou}WdNsab^G(Ci4{8MVDB)hEsl`)1)1S)**Z7^&d}1Jnsf z(doEiSPD3{dfUCNur&X5EzM{{HbNLc$>*(9Q)<>-xNe74>Vursu-C~da;QJTGvyBp zvizcJc>GFlY3=nEBRmk&On^7!{j}z&&_p4Z*{l%R5UGZ->Uj;0dQHol5eI6pjX?+g zp|1(*R@6i_V={vBWR8vU&+(Lr^KJ9TRI?{+nh_y~XJ_|zcK1tyRyu0tykr+df>_+8 zF%j5P(y@)SA1}r35QcNBOsS@F=ltY0nb89bw1s|d#*861#AgI^ z$~41#gv@Hez(QjHg0~r_Pv-2Q7qw%h~H7BI@mnGo4YSz5Y1327;XKQkT3(mWVU zU?A0RQ$M>&!O!B`$Z6|VSCd94tg{{2$UV@6+Z4z6NMh&RKfRV;fPT128$ryhwyv)& zS5~_lfzN=KX~1W=Job^7V1Z4vY{7pNA!(Q(s5l3w`;u15sRc`7*?ZIslKb|6D6DPO zY#Id#2Q5ZVvem2vGUMjUkHjftELZ@fYub|W`H;;%eGBRVSIGYQmIVSco+q zLF)T?i8?MuhM7xBeX#7_D$qHbEt^wg>itXfX~98>?lJUteljroju64b7&!P_weu6d zU|6vyn+Xycd3sytC&K<$~InVFiOhE1NGg+rd*HZ4b@+YC6U;w`xj-fVYP zuj7@b--$`XG3Xc@?Z7;kX7y#di;m0ccMW4#b4BL;#Gx4?5{o5-d}Vc7}}8howZ#pl0VoE?^gLEO1uaOd?rNlj)La-rZOHGA)u z9an=4Sdwq!!s3ixF?}*(!e|$X-L0F;ww`X#Owa+kRWhaynk%?oO4wjy)jc@n4sQJ# z=0)`Dnw-E*3%|1KUz}l zxb$5{;bB6+MClev2cbd5S#IC3IhBf`M;m36PE9se?t2rmz@%(@xe!h0&6%^AgjR7% zs`mWB6%&85RMt_qeMJ<%905;jQ_kazSewS9ZKcUQQmclKq?+KNh{D!VSLR3jqaY*> zaS=YxX|2=qYYMSAd{a3T&JLB4#0W{DQt%*@T9Zz5N5syp=EfU|%AcQg1TS8bmyry| zl-q{Dcw?}+^xHVV^sE`jo!~_^=iKC04xGt_pCpmlWWst@ui%N$-dM5+;|#`a+{9Y) z=a+n8&FJ7@iqJrZ?X0{}OI4Na!nQ-8AA@s$heQyhgCK`HfV#iA<@a|v8%bGg1H$kA z#CTU`Yp!fJI zc(OOSJX$h^dxo`2laBT>%CRAbC`F)X`Ahx-lqRvEyH`FgWwK)J9iG-+evN~dE88%r z1fJ+8v}v(|ig)<#SPKtJBr-z12b8kE#cPaA{_tw%%jUDcQ84R}lnV30IDZ{r7bqmY z_55V#Z1?a`Z={znf{R(lnFJH@rzc_#s`pJmBqUgV&LL!eh0wGXc5h_@8iF&o+4_8z z+L97!ESsTujo~es7Mkt`F|W~ZczjZ}?-tG^`FNVC$X&_f!g$S8@Tq46w@pGF@toD| zE}TRG=gbc&ndxn`4%!f_%-8<)&E>H6rvaO6yqdiPHr(pl+k+O1w|7f3!V=x)hTw%3 zkQIHCudf@#N)S?lj~{&6$-TiIPSceZlO3FcahsRKPqyZfL+IY^=DN#^aLj!Ij>tU7 z>kYFWq!kK}>tKv=1<-@#uz$J_Jr5B|ui-0dgIt|vqa1j&34@Xl)s21~sp63@w2xe? z%k#vd8VZ_LK7crJbbd$VPhe{CSy^8iw6@JZQd*3=+2G*}E|xp4V!F%=msW2UBlEkp zyZh&O&F1z`CK#?KL9t&8ihY>g^ILYdA8#ib>bbnMwx8Mw&blxJm)AS|A ztZ{E4w;by6u~^rxEy5Vj&dtm&%+wn*bF(uuLVI&~D>WA878-bI%)=*R#y6_;MtgG& z{|zaZxGxS?+Z!0#S;973{WXsQ@K@eg?QU*wIRaZq7NKY?zYxpyfe}oy@U|lz0#kT+ zR?KpVDk}(o=WK=S{HR;*C^^n9IdZykQz9DCT$>Paxi}|Zh5J`3t`8E*g9!#>(zKQ# zV&I4hig6ddYAXiJ2ZhE{Au+aSW0{QeiOBm9|A}5s_nq9mhdr}4SUEb`ITsb(#X7a^ z%GZSZdcd3yQPIOZrH0jS;uJ3(#1t=vdySw8x$Sc3Zo9N<7QeZ^-EX_aSpl3Ycmpst zwl`kKWE2nS;WX#W`Pg;YAbaiZ0KoOcZ}}8TW^JP9Si70y6BfCGAFTi7&Vib=5jb(R zDBH^D9*Ct-2^LXB9_k+*z$#q_({FF!P~!k~FnCKgycEW_PqPPedcft&!qk(nq zr7dGA=SoB5&U^Px&Lh3eWRmSGLY*;DSlQrmA2k$?LNQq`LVoKzrH5D;ws`{4Q>;TB zv8fOVofQoC>b;@5(vNwLq8^Ps-8lb)M;x4NsGO$mUv-`O6k|{{a0{|0+lO(~a|!JB}xn)r}c=xJMw)AoK7=K%#1Ivj$qVrK2fEbSBe znaLi6yY#9dc;jyM579HCeDLvdV_3=HG|T3S)F-;KPr3XLgYzBmF4LiWJM=MLZ52M*mn+QDHovjB$*Q-Y#BA_8k$VW)A=Y%CD8 zJtso1v9K_^xKNi>9RKy1g&CMNd<*2)1LWgX@O((lgaRq*9C{{BdssA6UBL(XtVB{< zG<+racv!&hK!~BUNrVm(bE}PZ&8p4h&iqEoMeaAQi&juRT}9F5!73e$h=$_ESG!By z*6Z5^Q{>0lJG8oQY=NGNcd~Mt`LbCp$?7NtK>poeJ+8%ixDf$FI8H`F=^-~Cnu+7l z`8Q~5Ev8be{?AI0q}6S?_RY#clWSTl{rUASgcHz`U0Doy6AzYkuz?ogxp>tg2bpV zP%j_t`C>}h7Z?s9|3V0Tmp@@aT`@M-zwM^TI6kv-8rRz!%Y@6h3L}nF4>KAr^A04U zQVO$a%zy~3;SknM)RS7N#7|S(nT#|O;;6;9h78n03e&4++vu${pq(~v#$dI^@+1yp ziqEbg_wF8^oGB*D+zVXsbW<0LT<~Q;JM|?i)27S}Kx@b!5Zc;i99cn3H`5FrQ(xI= z-{dLsl0SZ>0^J(|9a#3!({!7z@?>aE8F@f!c&3gJB39r+l$8u5s-VsvcJ@$|f;B7t z(>FJGp{VOy>kd~|+P83;gCN4pcf%MK&8c$eM&JoUDjsZgEF6XJ{vEh*V|xXl5yTTq zi;Ois#+xq4RCC9Zv{gEjT#F4{f`&l$(KsuAdjdvzGIDUzODUWGlpkOV4v$bSA4MUk z0imNqGVEf>E6WJ55u=DX3%}!;dOTuT28d{P)63*ZA55WGZm)G^W?NXCYVjb^3n;?I zG6+_{kh{w{=NProCZuSt#Yg>Xligru*_APzbCE%tTXI*18;DKj962HR++JA6{T<~9 zC*A;l*%6O|5>126Wf_CSMHxbTVQv7#aZjN%x!m(iff1~R*!7qcM4%LG#jbu|ESQQ)VV zDFy)=uZM(0CYxhIA~}3$kQDlSeUXqMaZsr#+-_wQMM2FJj2*)}5_Sqq!(xS3DVcwk zx_!L$>o~pQvNjF+nOa;}z>9KvesOAUzCKG|T14*w0l~FVs<;SX9BM)->Pdhrp%LzS;5nuAWmbg!Z0af zzkNEIr7PAEi5GyHr#Z1GC+Ao5*9J=mjar^4g$m?er@f-2TH z9b3lp;ySmAYDl}98kb%dPMcdqBO8bi{2BCD2biI6O=!|h3INer#;CDof4!z!8B~vI zIyLEJWU!KIO`M4S>4i{crsY5@SKw*#7!HCw+;*RH=9y6_h4e-LTg!|z7o9BSkk~Bc zkl2h2&+1LWB^kZYI~tAe-al2h-`RNwM^#T=Z`O^$xnn9wY(`aPmNGpl2t8ZS?LU%x zHncZLRPczw9Y%G(waG#+p^VN~I1fer4rL>{Xdv>rCixec)#r86WwqCsbmRrn5x0p- zDMGujO}Pc0X%fsAnlXOJ57Kmz+*31TTrk#FGx_{2x3n7VR@r~Bze@%*Wn>y!*IKw+ zD_4ndj*X#0!bWRgaf^k|$`zN>nf#SI-xI?gZ4=-JDG4TbG#bUOC#fq#&Z&+Y! z?d5B)ot^H!X1o8rcCE<%HV8REaV!eP*fSdm=Rfg*U2YkgG9tAZH5lQVAtp_ zm3Y;ao}(=r;WgI7;D?8AGl6g#_5p<590FmjF(B-E`ropGL_8c!r4QZOT(veOx!MRv9WcE(KcMo&RNWy?0qQXNaoRQiJ@HhFs zg|q-g!hmpYOxgf6SUj!x|K`?)rO@$1dc(ZF-ZZZ-ps3QiHDbD*ZhJMR+u_jGI00v6 z>xnKE*wvJ$)oD6Y9McD)1ndq60ykb?xYg^F20>wppdCGbqf%m#z>yVHeh-pzBOV8; z6#90TgSe#U&PtaiTQhFlM}H`e*}$6Q*ta$6En&!&q7^XHoJ+)8a zH0!n$CVsRI5fYvS<|PRrO_Wk=talwO1(u$Jz1(|<=@*maViC>ftbxG*OHIAX6oKKq zN{~H=mduNOj_G&D_$49Zctj)=mG~Kl9R-icZzp&Sp+x4vd~>zjo5&2+TIlscoYC5+ zLw-!FNv;`m#z?j}D=V2j%j8fqcd8ZYF&W0yzL-y34Sor5#RR=9DF-mlDB_gD#Uk7@ zGu$JF#&Jz!>j5rL&si}Elk{}Tm=7lWY1l$I7l7@G`SUT8JYt0ysc-x0sXk0yVA`39qHN83oK#P?rdJN&?DvPn zTNKqUp`yRu)S_u8k3T(qSmtg$P@(mOxw-manyzG|Ab6Zyhq1D>g9d!cRj6K@mMzCV zepUk@eSA&(dVw#CmV%dBbIC0u-bnPZ%CJd?Q+#lWADTa1hCH!j)1a zRFMJ1%qPK_3p%Gkp2hmCY|O#uMM5cQ2Oif1`}XEBu8jA{q;Yo~M^(D4=9d)#&uAe` zd7}HZqy#8%VLubX7YJ}n0Hsee`RE1`}PJE0)qBwT!Wt zYL%PPya?*+Z}$o|VaSVG0m&AtjH!`;!firv+}N^?n#hPbd++Y;lOx89Wzo5Fa`INq z;Q6U-O8g$7(DJxa*4Tkg^3dpf2_LDoFG&V@xs3_?3UOd1k>?c5-o7{Xf$fE;7KPR< z0ymBM^6d%0BP=x|Y`OqM^1^hkcdU62SCqn}=iUVb*wZXUQE@~Q~#LR%h@p>ga9lunM1?;jocl)wom|1h>< z(>a4x<{f5#R3b{eV05Y&B?aYAF@iwN zS&($k7oI^X3@ukIy7npg5=I?&F!)k(|D3*t=cnj&*zbh~8QNL@GTZGm-&-Kxok$hLCD#2!)!E~21)*~o?E^c7P>G>c}5zZ_EMtq z9CA)iTmD-u!9gwyFFC7OT1usRf@j0t0lG;07Y;CF?hgzS;{COsQHBr}+Z#CaNdUHu zML=@Jec_Zw_j_TY${K@X6?oXj!DzJ&88|{|05kOK~j3qfWL zSz79I9?sR6ou6KGv=&t5A_1aC_)r~h!B}ymOm{s&#s|yS5~P0S^Y&!PZiZ5MHxcve z#;Iom&_=BJv4+97wTxqtZS7J6!xjaFvSaPVEg$bEt;gQbGz9{LNj%oQyY{e?WIZrP z1S7xD;l^h@u#gYdu@d(2tOsl|5M4h+HoPNHOnXpFSk z4ClnL1iL9B>9;q#>P$wR#otYbOz1ZxJX9=ku*s7~lT?TkKJmU=bL{oq+AVxAdWK*%xC+0Cw5n#nJJHbvafK(q+|0|B z&9&CHZN|eulUy1 z+Y2RS!^BB?;4|BsWVHOG*E07$OE8$~jBE^Uf~8u$R8}FX+Q@;-$1|+4dg&M>73@=^B(x=V z;+D4b>BgD$P7BrEe!j^S6_LcUsfGkJg$+_fEtI{Oh$FohsUWz>^m_$QZem^z5t{;h zgPmR5v;<_tPC=({9vi(q0tNjdmUWmsuG9`Xelcs2nI0mAL6RDCbO@vkT^(YAf>TUt zIJG&i$0UoJX0!-9v=u9_APpiWUNi6L0}aiKYBS1sgfyaG1!d4nqgLum=iKv zOY(Yax*JJwCDL9ku84G-k&@08|2A=bI;AiRj)9}AD2wPeS{Z%+8CR^Z3BJVA+xx=K zhH5E47)?t$B|ygM`NTWEds*~ZE7e;wWqYXs4laVqHZCw<7bYpx{_^nTx9;yk$W~5A zhHkSUmB8x}wuxGJQB+3e!=y1B7p1AMrW54#1t?DQYLVm~lD(*;X*;a;?Sv)NtI zMr_J~y>8#=F-H=pLor8G0cRlqqL(3FHN5n&a$+w%Tv@TzNFdl_o}y_*eaiA#@=~m! zeB^sZjfCM&T#=$~RJF(D5~?t1G13ktSL8C1%%xsA>=b7!3UbuL%rduv%1v$J#9GI< zF$*oxs#FjAuDpUFnoSW>QZBD4{@E=3{%erO=B7tz+1*l^-wx$ltIxSLP$Bro=e(72 zUGNVRAyMGuO!FLU<-}?S1d3ZmHAHJrrlGaXUL_s3ew&E}#MuStf-xqavUoBJ|b9{EloQDM!XLl!+}{XcRluF9@uU<*-9zl57L zuiivQ1feNm6GL3dY(yUofezPmWBocx2L=X5t8GThzXIih-`oqM73^ z>{b`Ff3mz|so;yWBZpZSRkmWjIfv&Z zw^t9SN=-CmRj0jJt#cAi6p0+^h_I9jCcriFu8q*|=?hE*Ie?kv0lawkp7KeXk|K~YYy*q>1%u!x5eOi4JI^GtEWZ=R(gt7$IJ*wQkHn<-t!({}lC>C8C8GKsU|)(67%(g3iCem zu>$TEekH~BvdJD7m3Cl+rEahdX=4nKVJ(-l(izqXD`wWJ{}pZ-e56ARY4E}@Kb#;4 z%Kfh)(rbt0g?vUdFKQ|ldsGZpN&+Z^Isk^a+~oY|@Om?P&K8&GziEEL2xY7R+Rq7} z>b`kf@e)9G<+q<|D8qeMd*7vDrJ}^FjVoBlCB>Z?KbZn2*GP#h&AjxhQMpWuYJpBynO(?M8r?hBSi+RDXN{@nE?N!+CM?anpj>|A;7w#& z?Ez6@Z;=_a><1tp;BL1=7_mJg7Pw2qP-)3vec<)nBU_43R){L5Rsy90IypE1$DJHh zP-Jhh>na^?S~~Y-b(4^eVnuSA8x_%CGj`up3`A9`;s3nu zYyBTMtsY}kHRknyf$@Ai>R4N8%8_~4wPIM5+XYdSXYzw)HtPkm&r?bHMjaxBNG8Q2 z8xprOYgrDY+C-5K$&IsSodq`!?w)zh7T7Y6CSd~~_B{(TffZx3Px>tduh`a=D2oif zi!zX)YhHYkj~0S!_G408jba9f{YVGCRLA_p8LqaK+t+G!p!w`&V8jUbE>i=y!w5te z$fA^d?;4XasTgOzbaM=6W+s(FpX@8b{M#FAo!7DE5*#D_X^g80SIO-;7}+v+2Lhhh z;DM#V<{*0cNQOFJ_2X7a`1wnLDbvPp9s0)fRNHjb`y)ln<7u$GN|ue{v&z+cNm^?} zxfu}V0c?@14U&g+B-=PSoU#X{?V2PGic+O>%TTkaBU5BXA<>nKd27#gtQppn+TPNl z<4RV?BAfZ+XP>b|f0{!!$Ktk-Dah7iVm(QE>6;yY4XwE+XU5o`k)-ZOyNwiPIDRS~ zC8T6S(3ebIJU`D51Eq%ntyyyd1*Fyu`5KLDqq&k!ti~%!m5`|_c~TV>D71wq6=*t( zP*BM3t+X9nwyWf%v$f*5qlo1-2M^y}68_dUh!Ax1N%E-WhYE;Nr8+9=04+L2Jh!C?+1dO(06Y{wDTiP4-XK~uYav&fDD z+3sd>gTa2t5LJF;1H@)Z9^f6NBu)5VG9|S*!DdB)iE*~Mbseajyiu+Lh(eS~j3hKC z50o?7#1eJ{v1^TzSMViC*qEs&=-rVp)mcxfC*MA_58blZt28fgt3Z;(y}>1vX{U$6 zJCqNLh1In-9*S*Lvg{oMEL-@Ft`QwkOtZr?XPomHo9_VM;G;M{w;(f8;iIZFE%JIHoCA7kN=%ZGK-L1~%r~vB zWfKT|W`bKd&NB~}8q<4(Z%r5Ik9;2;h}?Er+OTHQRy`Vn5%BQuR*x#;qt-BPvR7ijrK09U9ofvY+d) zzA2Fh$>-m~M3R{MtRC*(pjxaAOB8Q+O+ z7r5dB77ptgIY(hWZ7RtaS|6zU!L1i43Vz+fk5)5AALeJk55ZmV|$3JHWd; zZ|%n*OZA~^jp{owfX?7+k(jg-S0>f1lS+*+FgKRuc2ST;kWaqWc1mMJu93wS29ev7 zqQUHda~Iv2MyyzBx8C@S8I>l8De2?dNRmGc7VGMAm9413J;pB)ka2ez7ga$G$>J$J zMfUFbgNcJ9(iZU_UW}I*$`@+EgBqgDBNAW4)p&fCFVCUk$Wnf_t!~i0Eqh|&cB|VJ z(Z6_#YTOD4$$oB68Rx?7_vX@tY{rEC_k_)WW#43rea*QpTI18QtNn-|c2+tHv0qsx z(NqD6hCL;s7I_Faa}3ZG;g;rMto1x!^ibL7O-oCu#%3xSbH;00FP5ticcUwBtjPgp zK7cGaUR3Wa7BN@u^6)CUcNg#H!+lF^sr}Azh$at4p#}v$Y_0Wr-|{t?G@linu_Y%F zNE-dOvax0&+yJHR(uH>$eZ91{oi<3A!Ko>j3N%tRYPB$K!6Il}NWTiH0xwSS9^BbV z%&$~2+ru|7cVq?WZo`q80>2RP`S|t1pu2=7kx&xKFvG&4ktH@Fn8`kFi<0|i`^w>! zHx?@%fmthjOrdiHs31x<&xATRJ3Bom7kI`Sogj$At2usUZlo$N= zEJ^I=w#2hOxwzZ=v-GmI&fgzXo*vMDkS0X(Wt4)!g zr8G7&F)km-p^-CumX}EP48E^n$+xtJPhi{puCi>DO`D)_;v36d8Kp$Y|JFQQHpq!z zm}({@@+Pr5F15S)>K08oHNT)1uAsvUx@Q!P+bK!c*5J1{$&L+->mu=n%28B^dI+L| zLt022R-T{E+ySUh{+r9BS!-*16B>>DW4Lnis38q|w8|dHh+gh^COJPGk=f{}$SV?T zo8DYYhr}DfMx%h*?6%m36rZM{KYq`^=GxYEW&W0Um!K$|&o25@-$|{s>sm zl($xPg<$rufMe|)X*iVAp82{SYq6fJ*)8=Nj6ug&h0EKb#RHbc<{eoToO}ZzNh$_X z!24kc9`g918l|0f0o7wyO}39(_PCM4P0exud9Y!Y1*@*r22U{d6R=g<8deoU;#52G z_yt4$>uTz_BafiL>JW&TlS+e2?eWPuo2U-dctSsdN~*qpd@US#cAaa*6*OEipB2{{ zmI}+RR=c{KIyPo&p-$wORB`BVYs=r1`!yaI8!c`0VNgZuY-)Iv05_WH)!VmPESl1z zTW)_^Cr2utur-t5p-}p{grk6r2AVZKp*{PpZd&L%-|@JYe&9EH+yoFp#nSk^8?yByp*IRh*WF{F z7)+bDF-U2nETuvFYJGNjS;nf9cgQ(>-{w%v=1{~rgmb(=8s!%8X@sDBSoUEHPWRuw zzjNf?Q@L_Abhf4prhK){E7mqL`qYNXvExw(*k8i*4If(%AqI4di%*wcoe35JiEEWX zhAztQy^Tqv&rCwM7A%U+OhfuaX)R_JD4oHmvhT7p`ebC3aGGzv+g;%xkGN=)yB5e8 zW|BmXHIMmnQDD|UpsQU6VCy@}h(`J&xTCu(^ z>rmVc?>O7WCa@dzDV{P-B;mp=>9$F3!Bgf4D&$^TCd7zl;|$<44m| zYydewzc|Ak*ynhDT02n8tVo?ISW1>}-3P9Bj_o~9G4p4%LP|g1&8tQAP~cLfa7H4(5VUrF9@}j zHTiiwP%u;Z!+A+wiMw}D`U+lj^ilc-``+>!sJe7ZmUxpOVf`DksbZSp7q6tY#5#{^ zu~%xIw52Wf*$rHlFkC9@#TJ2UH%U-2Wm#3CFktFvI!REMR=(SLHhXtyr;}j4xOm9F z-FF`i9_{YSZmUl5A7ZV|)qQrZ?BgDH7LOOk>t+b&AVBU*-3V*U>5#6aFZ7srC=@F zGda|Nqq@_JxKS_KWLJJPO9{g-!?D#P2JiqvA>Lv`Mp7Huyd17ndy50EDQ1m5q{%-b zJqHbsW%F;;rfPrF?j;k#xP)C}>MMhlHYicCiN5|Lc?xJ-7&6g@+AK|Kz8)cZ6n{Hj?-Fuc%|gIg;Y{ml;n#) z9D9MQI(!SDTQs|^lv%j@7764P9h^tJFZE;~aE}_uD%%&Qv}cQvxA1>h{O?JiWC9Mx zvvI3}Qv$hC4DfHrxtJ)TumikaAvBrxnOfJLm->ew9d&!4nWHO279h3HXCD@&ct<}7~6j9X!x=vOv; z{Ndwj-9@^2)5h+U1Q{C%!E79&<7vi)_}+<~$&<+<8A_<+={u9P6Wpl{NJz7{^+RdN z*NXi&^EJhJP{(WlF!Vvaq6bd0m59GgPv%WX3n>+aUKJDWj#eRt6+ngaN561vGPgmq z^Ok%(66W(vhembeQA7oEy<)?Vo(OvNkOM~kO(AKb`N_u=0E61g_33MkYf}K)n7_{5 zV#3hxunqaTYNpo{PKAjYjHC3BR3-8kvgkyDshk!tj zu1)7mo?P#&^c}*;Ivs<_LcEHf@H@v-8Yq5C9KiY-Wpt2oNzo2uD6fepWK**P*tw;_ z&Fh_{e#`^jLr;{#4auIHfeIO^LBncz!X`5Bszg7QuD9q0Q$K_W)(2f&)@|N$RVF)- z93{B{gGChzcG?da1Ha}{X~;REb-f0^l)^kET&r6~OEP0L#zE%p*K00KXfWl2&ysMk zX52s4224<t68$K z30G;klhkHx9-pj*(ZuAb-z2uI8|0x*x-;v5a14pveqFnz((yQr+1l^WhU7!*y*yvJ zmu#NE!uEa4lSX)TgQY$w;WL&^UCEA=4YfCMhxLu1$Ww!}Dqa1SGMj1J?Q*SDUQ!+0 zz32M#*aalCQ11C??J_t*QWq}TE@q;4tN9R^G2H&M)$DX9u6HKaHm}syHYaP>JJxh* z=a;y)!C)y}_+6IlkTIMA7u3Mv9p$t2bLbQ|=X38r5G4j9b`%(~Gy*lgEru-{eR4DK zWW3|!4elx4padk$`z2v{C-y@UkwMLJQzfK1WL+P%kd`wjTLv_~-GCQ~O`5Iin1zeZ>^95y#a{V0!7(&GiO5$e0-?0tm(do-fvV^iUq^+1gDm= z$!2qsVS39wyVjelofg)H2kenM1uZ$N1<9yfmMM*T5s5KnBO_F9iwtfPdxe@Bi$f{A z&GS})pxDXOd-1X{<`7e*qSOpe<~M~WTF76(ckUg^#gLbL%UDutki@brOzBB-7$|H- zwq0AN)#>8~@3TC)+6w07ODMlfz}E2}!YSNM&I-3~jY?OU(1BT*KI%B^n`cXHC1%WVOZ2Yf+Pm86wl%wtt8Wim5_7OSsF53hx zhwMgrFZH4tX=rTtGzu6cwoQZ)3EE9Kk{@Uc-!{aMj?P)7trWHnS6D$?A zFymckOEMj6su^)HK`+&~RI0oZW>agJLte3?N{%MjXhb~1q-_B_>6->QvtTtfgv{Ap zh8X$~NlU~(kVM)q(;7wJvndv#a=f$|f0}(5fF(A-^06^gM?;(My-lnRv0EG3HV<#s z^F4MBvHw=!N5ckGwRFgqEGyF2P2n=wY{NWH<=wc}AZIb5^H?Tkr>5)lE4jVr8*|gj zn7B}%V?S-|74^9lB#3PW<=mSy+%HzJNIwD#=tnV zP53S*3r78;%3Oh;kEDdeBGLElb!~aFx%At_u=bQ5BqTXo6Y)@+P;v|SS0Yq!y43+v zTYreHV&Z6GOw0f}EhemaLMW%TIn-2xi|g~#?1ql?n!_kHwE!ho0Hm8um_tW2 zxa?&>SHrecGi-?_`})lgB^1P*2DqGxTd$i|tUHW7Lp&D93%i!^d)$LdnVX@=@Q1V{ zVcH_uM7qxhNGT5z)lR1=K-Bg<>20%z8@QRfv5bc(&_Hn|N2?1@u>x_Jg_2V+zcrAm^VG;L11d1^Q&(=n1 zcxq45b0lVDmJZiexkOsLdx|@|$CRjXN7*&Wqt>OW*00 z$~jI=C-*$Yy1DVjCi@k2@pr9dKCg&J7w$^G9`?KRZZJm3x}m&NDw=;%cf}*0C*ZcJH5_vPZSNolei$e9BWm(JP*bUWOQq<>fN3hJ@d2Le12MGKnE_ zmE3hpTj|YBi|3ffm_Ns!-}UJk$37Y11LcBUCZ~#x4oVp$c~V-$gvTW{4t#6t$9G~0 z=r204$bbJ3P;s^|#&~ntg7ww;l^!AdqzkFN!c(xyw@@kzci5=lmi#vCTYBr@IV?u3 z)a)nLGl*fo*W&z$8^rZHu;y-zH8L32{jBGBAz?;b9Wu9ov5|lav-4zaZp_U!;D+X> z8vC!xfoMgz+)^`zn5;Q8dxd8Qv%PyA6qbH@kj2ez>HCr_88xOyaT3oA_gdXHDipU7 zxocL}F^qOz%ieO!k4hFz&uYt5PwsObsj%L$rB{T=takbIL5jg@Xpr)2niJ>F zwLbZP(B%2gYc;%tSC-}K$V}#&^W=OaUiD-r!%q>5WXcvL39Hg7 zMFn`NM-1fz|JQfhA8n%bTNLURo~5dgc~1V5rCQ5YcLi4AFt7>;4H%T&w@SC3p346Bp8-up9Fk$ZnS+UGw!4wiG%Nj?1Z%mMT5*+^*4lEdDkAhR&X;8##UYlt=q~`8 zE5a#!Oh!6B&Gfk02%~To+uZK9xng!f9UL{2}B1~vW}85G=jM#gH@w=C`LvfPn{B_H~N zG#{6-;d6m|izEmP3wLW6Wk@SS(L~BI9GF!%kdDa8L1$og*#0Y92))Yc(z5bO%nyWa zsII7iB6L+rIl>s1Lrj^jgqUJr@3LxWCYy!EsR3bh#Z{YHI9f|C5nk&~ngfrPP=Z+p zCfZiU+z4}xxL!O8twsn5x5_soRC>rVpPda(9j9NlEyNXZ5t8r6xyt%+rUj)q!E-&E zm4p6JZpzYRt2PT38f>Ys+;m4dGO=EEwbl!;n(O$tJe9~2_ZsT0lq&bvc@eYDTm0c9 z#43fOEXO(qyhwAS(&;o%U2yxdwADZ*0mXkre%6>n08yf-Sdm8`7@ycc<$f8B02XE6 zM^=d7fHuO?S;piLYF-FUZnV6{!YmCzgh)_B{2GDaP_jTCv{F#cN_#8GRHBNtn5yJe z{3Rk_p2Kr8dENijUqG;UNNXT{>u7Ap36MRi4BVUTXkD}MDoT=s*5=I8{4A1Yh}uNG z(PxV$`!-!K}#gF<@zt zu9<<=(H}7vtw)3PgbbH^#>BQVnk@b>7=;yfsGp|`DYqqoY;mD(7UQgJ*$^3lzY#K$ z8F11bN(%)`JL~mGwxp5Xt%vBKlrkjn?YL#MDKRCIBbltqV5MeI7|bHf2;rcN#*~rf z;Aj-=jAD$t6GCR_IRuMYhDq3rH9to{iU+0)5r-nLGEScz;v@)xNKCjY#%el z>c{8L(o>BSilY#r$&d>eKI+qo1gu~zOY16|jpTVTjxe&TZnUMyh2{hU^J6JPa)?8V zI??)54=%8K;v&6RPmq+okRuihhmg_$fwcUeA&@Y+w5$rYyC_EnC3tG@h#6(p|1+=3 z{`QQjC`L@iJlt(EIBuRJB~S(HTPdhy7?@wfu)Z=@4K`$-Q^^}z#X$A;G(GTGkgNr@ z3_&gG(&%E#dvFCtZ8f3<7bX;@J1YF>QyeR-5PdgtHX>IrUhioWOpn;~=2-?+>&|6B za-J>F3J6_m=}ll-1q>no(*s$R0B)6Hmeq^Wli^Dy$d{NeSS~I^!`jga$MOlcYNTh@ zf)3qa{G40f)d)vh8W-2ruM|oW%s{QI^?Fd%BiG55*s$Aup*4!7vsg{gZZAnJ zvvMLbuEoV%ky3lj6HhiMnp-)Yhv+Ix5aj5U{JeO8Fn+o@$|i6XkgA-4Tut}OtW`YA zs+I4J8RBzDdISEL)0DBU8JP%Zt7M_4n35T~Lw+eslV94ForS{mc*>rEQhy%~t002y z06#~86=oTONre5&d%F>=Gvx?ai#wpxg_mp@u$7?J0{-AN-Jc3U4Hl8w`ST>O=7OmT zZb$7z3Vpz;mtju@9a`b6AyJa4A8s)%B1EnQl$7RhZh{KF*H*!@kUSy0GLh6`P;Yo# zN`eS_JT;F$0UD2&NYLOYD3~dmema3dI}zooyHhMBFw)pp1f%EX=3u+1fnGl$_KP_9 z03Yv=k&;sr(+uN6Lq?}Wp*KJvQfNprC46VGz0SvJV|Xy6btcRwnx>EXv5+X|7DEW^ z6;i>QApOkMipp2O4}StRbqBaGkc7NVef-j2n(>wf^yFHL-h&8I4PdixHGUDdTUMBc z1rLQ&sGAil9AUhAn>!k6&3PZGkq9uWb>8Cz`ree7xg`JjdMQR9AoWQg=p*Hn_O>G5Z%<)@j!|Eg5BmW#&TjwT4xJ95QvPTv@GCDD~U}9u)Xk_(*@xE0seZh|+z+b=~mEgDw za3()Gf;a6C&>I?Ct3T62!h*s6!N5J*mCaNjVu&nq@VeI3(a;Q!NO;8PAg%3#2giw_ z;qjpn8B^{g19?V?n36%iL~OeZ_gUZ3-T{l#ddLVmfP#!ug{c`5rAl*gI4nkOJiS(f zG7}WjN%l7NgS-KuMSD-L(E)NoiQG)oHB6>qh2j*5XNO%3O1VntD4H4j?VnN+0Axux zCpGH}Ehn1WdW=?sGajJy!T6@@fjL^Xb2^hxt`8cM^-JNc59S8gqG5u74k2xa(`oqk z9vI1>;yJ=Hvuujks7qufHu$3*DLX-+-ROsYXpg?T5Em9I$5hyxProC0plNut zZ@jE@pA<7;IhGns@t65o=PndEiiI^jaLHmPCk>$oL-I@Z$&h4Wo%s((L*1ty~BP6mUM8M(o_OYM8*M(=dTA2V7GD zSEN;yP#>*eK;6npIhk$6;G_^F74dl?UTm#3p?-1fham>?K@A^AkZ{2+QZ#=jVWffZ zLN+VsKfGWwd=o{}qUke^V zutjzpA(jbS7=Gqc zXojI@wL%Ee{g;unF=tYU`sixM#dP29E;3nsXLtNg?7o`9RTI%3LN_q z#xZZ-yu$z;v2W_c)WGoAfO~OJw4L&@`MfywSt|Q9gKuXpX&W&J+S|&!j~Xi=aNQjjoBoDjO7d_ zj?pm}8cQy>naHTy5shCM+>IQA6*zk{0{v{{>DB~h#{g5XJQlqvFpzQ2?vXa9L)fv?(iXi~W zmeD5sh0|k^(cy@AAM^!=FVy;KTDnpdQ{{ifqUOviacazJDhIQc(-Ju zttM*H!w`7T;+LJAC}V)B!1m0FOsK@qLId4s&BwEH#7v9&X0lC7*P&pj!xTu9}uCy|U>}VQI{Yn7AtFw%0gffK*!eP1IL}sH`{v)W#nL%C$KJKD&~0 zKtm5c6SRp5x(fwW)Bwry8w!wGYX~`88z1TP-w z1he`$|4&AeDC?i!UpOAHVox+sjz;_wVYWFt3*X6Mr_8iR92wRWNMrQXjT10Rq|hTc zC2rUxcSo$s@;q!71IyE)%pU5HThGYm5T1>NS%ckh7aJAwc~f7hpia%s#$leW^Y9#8!f?o>jg7MyPX&k`U}U%KV-109)#=5 zTO>#?wy=U+OE~=CXP|s3QkSsINVAJHLM^kbf@w~u?qzU7nWwsx^)Qb*c(Ns-42;E~ zIjsXd%s#Cn-kYlVdg(G|f%;|tl3gvd7e@vfgES051V7m0i^c67r-}0$f;G|7i~KW} zfXzN7M8?_TCrXIcuk8z!5aIkCdJD!#5=M$>fFGYwqZ4u+6Y<2RS(5qV2%&A)Q<`+A zd>t%_WC=Eor8qwu#(^V!5W<3VVi1aJh}}m%aXwreI*~Y-3qNWtPfdI=V~#jJM9vug zL_~}YdyP(Q|Js56W5)dTb6IVD2UJs`)(X_;^n>zZ1hwiHN&$`Z#@2cmu~1NKjqSu7 z#dr+>S;po&fbYf+o^eAJu!{)zP^4o-XY0JYd088kx%g?ba+}HF;%5lf=^ei0JfC7& zaLN|}%n;>^#tv-a#THm*b44xm8T+k1qut7p6sdlLXqyGv02H={x-5;>+akS`%{Vts zvbKnOum+q8kTSwdh}|ID2TPo%9GC*TX>61Ov8K6%`vgSJPozJ^&>Vt;g;nsI2Gt*! zA=OlsLo2MLrm|EmZQ$LCmNwRT7fozLNuEYGj9G*$>dR1lfL0hIoE6Yd=L#K^jrI;A zB(`i4g1JCo$(}E2{k_A(tA~OS>jO6I41i*+nk@SjMB|{r3|ODgGwk4|QJ>INJu8qV zH#u-z*Sri`y;!(_khUr2oNZ)O1$wD`7T5m~D;Cvquv+6xTGVn37-?&Qjf*TxID&(A zCR9>N8)58UUS3*RQvth!>T1~fmz9@PVZkTuG!5@e1#eIz^@Zf49S(jPVd>P~fq7>G zYC$g0j1M4oZt((NTg*5OwY{v>fgCMGJhx)sIU+! zlx=w8EY19?nyShgm<5(sSC*Eg;r^jI4IhhD<)vj+Wz@?ntEhrHo-rKDsvMVY>wtjX zYHWNh7v>jy4EFrv6ObPmS8Ebfiw1&hB&%d7P=vNZbtz+BD~wZCAK0%1;vor1q!kLN ztvR%ZV}I`G?90I4pmPnPaNyoVJ*07s`4f7LFIu;%fxV~Qx8?&bGf%?v)1lZRUP5;GB*fDQ!njC|kzBJ61ZSHK*Bk&=}I+i-Z7tt7+P z<8vit&f~)vB=XRi85$eqV}_ZAN1G)*bscTBa5pICR4_fN;(Y7s>}to-pk#|nj#+1I z7>?1^hz*2fxOa>vO{lVpLLAFr&PBl6s%tLjV=yW@7Q&F=B!Z>j1=otfPpGzgKfN-K`b9@cRh~(rcscaToHA^?;24D1LG-74GY3?bPb;@Fu za>L)5FccV4D~l#S&wYFt-_QK)a6HV>a6BR5aaC0XPPniKYO&Utmfg2zYUEL5J{S{M zKNn3#gjT~cV_sQZ81m|_C&Yj9raMAyqyul{$+s-OXxK$i0jnF&wa!HpG|KM9#lwsU zt=S?q#8W=H8#`et`;e_S{^PL1h932CPP97T)Yxjvw8(aKggkp%!41s`yzQO(xdkfb;f^rzZ}WjR0TYJk?4Y?oIsRwC<01|Z0r z^4@Z);_e(Lh^t|YCr1>4gKkDogbbL$6MJ!G$|c}z?E)m20AJlW>IW|1 zIE>z1d5cq0`3+qbu$#BXUbLE5hw`G2&i!VpcrVDtiP!oY%s2bFQ4PqzG3_8x#37bB zzyhtLyH$J}r|W^6$XFjvJV#a!4{QM10K@vk?Y!nK^nZ@n(^J|07cU4q8>ab*S?e_3 zC87@-KZm{?_ZkVH@HgDNaJoVQ(>sQ?7V(Kw;7oH@sOMJH{t*sVS# z0VikWXHFw6l#1Z&uF1yT@n06@G}13W3yY8lDX6H`H`YHiq>5Tf(`>e(X|%Kh%4M-c z#tA;xUZv@rM?q%Vyx@Nm+pBa5#VAH#XheSI3>iwJINnhEJm(;J!(e}QwP~};gAF06 z)Lsn)>@}(x20!xi^{ZJn4iamxDgp~Op5V%s(ws_UiL44BK@VCMv6oRPIIh3#PmWHfsxjmj2RYC4s6^qSM zVqGM$M^?I@dj=JExZ zlIjk!e2T6`H7ebR2$W?xvTC3^#d6dP6qQaagT@IShn;3$olA}BD%8?e%Lsu^rMp{9 zh&}A5_DK2mtiscpc#fd`n5u671o{Tf9aOU((Wp>#P-7(OiF2#*=L|hwJ$QOgklwG&00DK*-cIyDHI! zl_aYdu!x%_!PummLvWuIm@{rWkzqs8(c0M3+XibrF5xgra;uEJmt_X3vn_B!Ks*!0 zVmczkKym>_ujSWa919G5`1NwF!8`ufO~h^th*|lJ;qT(cRtEGn3rXt3uE*vEzqBqEpZ8cjSt3?3Xz4+_O4l@Zr$euP+vWSHyqs#) zK|>pUAFv3UB?83=zo4#Dd8UxfN#y>5nuur6WnJBv(-1U5Bo;Wv@-2xtv(*K5h&Hcm z<#Qdk`F$)1?i5Y~{_)vz|28<5S^X=xib?Hj@lV}F5DtX&xY(EZTT9p8I=Gc=6=diH z2B0$VQqW^I90H+6IOT`yIJn%P-L-#ktQZRTfG!0=r` zJsoZ&c}8tafICIg$N1zR1K9wNW-vR0Bolh&Hbz{k*a!E5>mD4&?wtbpqDP-Vov9s- z_18&+v%+dp=4K{@ARa=ikYWL^F$ju%X0w}yMT2P)Jr;IQ5s7mWhfZc=U^EZ2mjhY2 zjVn2D`zf%U#(RSGYD7e#iH>td(bc%A;Ow#he zrW0w=W&EzKTQ7}|iBD%I{nnPQ*_wgd#sU}>HfsI)CF7q1%SKouMog8{+%1NE>kAiUcOEm?h#1jH=G+w>y}Dud0oP6Q^Yh)d#d0Cc z4xpSR$Eg;??tsJ_qwbDC0`{lD*(Ds0J&p0{ggGTQj7Q*H-m-34NAnD_h+{N^)Va}^ zOmQt8how+F;n6n$&!5Il3dIXuTAPSimp+Y1on6g)V1M~y+w3Z|A>I|;YsuK76mMIcmP!@J7dUM|= zbIKgm=4H_lxjU>_@yyBEprSK{s*V{GA)m{(9c4@nau5=j?&}4xcJ3~#0bGzQn$ha@lYBQ+ z?@BWyIjjO6WNC;&Y*}UY{Gw^$YBj5n_%lG|8If%@+=EbYorFJllGV$= z?5XTLh*I1xnm^l9F4ecl*?tAslYo|uL@5M2?3Oc_io$prVezhxt|y$lb!{$4As!*lrKk#Yp|PW*8-cch zVqHVQLlr-KLT(=tCn17++1)~U1HR5p-eN>p2*8%xvCFnd^#b01OtG~M%fX4k&th{c zbYn5n)g?785iwQiGrB_<7!?PZY@=st886U2v!_#qs>Yhih9+@a!+i4omycnljK(RZq0NJW9awZC6V4qapGkd3YDp7{~-n%3t;TUK2}hVbyBua9|1< zp6Lt2v*5S{{FIf+yB-Oi|G;>h>@(b>hMfxqewBSRH+ax(m8DEw2y-oi?{{}R^gsun>+@ttfI;K=_E0K>w`NIU<;s z;yyB)p{7(09f~0cObXE=(8V;TTg}sUId(!=P*EE8T3Kthq9Mt8cKOJGTP!FTae~o~ z8>UI3$y!@qk7&eDwOPCzA{D|}^%7HjS>ep8oNw0#6}T2SBMF@E=~><|LQi72pwdKz zNh^66o9tWPi;5WQ9JA7YGHOZSg1`oZD$TG;XlK|)(ro@^b0*lTa|ZKZnDR8}(ot={ zGGcv;p|Tc&LlT(TNJ4hV9Pk8`V==W6Y?W(MQzw=y_@dhcODBRI5oMN4z_%bJ2t#mf zhtBTmYQxTj+hu=LF&HF*X1Kessq0*VmcYgk%B%jyFk6ctM`)P$qYy0dO(Wz=Akkm2 z(s&@Zcol7`ZEitWBoe*sPx)L5w@(3zU?y@7C*wa8>0!AP?00tt87n_Gz*j9Z3Xz!O zVv|B8O!f=u3!?n-@Sb8E5y_P-G()@T6hgboba`0=wo@S1M*4yyt`>8mBT}hO>5TB7 z@D_v4H@3jZr4is*#xtNpFm;zcVAzJnHi~>BoEJC0;RGuf^VS`Tk8L{Yt$PMqVngG- z>&A@JN<*082qt*GQwCCF#>@Ib6OCGNMvoB(2?4b;4me3p^u{9orVq8bK{2P=)`^0# zoQE4c>pxfo6RBcYhCvVegcSL~6H;*O*w|VJ0D3L;kSZ8s!dgt+)&>TO99usyuo~Y6 zw%K(Jvy@sC*?(qu+m~Rl+7SoJ45@#M0(28?^nHcp0fB&TRJ7RGfI_p%2e~iF6&2fz z;JyT#0}4$rhr`iYbHNP5`=m+&(XHZ`hN231Q3eMTX@zkuXE^>uUSbBQb0sXr+uCJ0 z$Hvnv$Et>xeTxdOXK>`8Y};mJSJvL+?LfsC3{tWbh$S zY+o)!qcC`2Rgn=RNgMrUkvablLt?4`)tusBSJp|*FpQQcyqR92*7K5j1O};~PP~{- z43DkKQHvk!gX^G$f!}@MtP$ZE0U6wF%egVsD^Yzg_CPbzbe|w|NtX4}dZf?ZOfB#1 z>8i)Eo}F1aPLF8EijstBbCLu+ETSp1P2#b9OC1A|l2Bp70;h~4;+%WDg%uIS84_fU zCg4>pU0MVGg5_{_T@AgZDu|xSs!CzSRt6DNO}a8&1~aw_h+G7-dkwl!S*p!Jmvf|#V1Xrc*o{`zF88OT5Zzz~+NE>U z+JR-+_S4eFnA_07b{&_)?A8wkt!QN+P}8~O`AaJhce*1_K`9uM0u1so*e z2`9t>e@^Q@G6&iCAgeRoayTYAAec2=vlGQS4-e96>+Jzw@n;&sfUQGJM)076>u6<$ zP+zOU=AwNL^N^xE`!F<0=BHMPBS!YJ5lfm5HZXKenp@y^QQTTlSj24_Jr)NS2yj0O z(56bSKz5NGSWrQ4Kp@CCGZab6rcb?jXduK(u}m{IF$VDBfbr3@NZG`M9jKF6 z<{bDREy6~Y#PAU!Oag!*6nU4S1m>jPm+Gu!OksEd5&FjG%*VyiZE#tIKR=#hV*t=K z(k}rRLbFbBsgEFXK8TV)6~He3C%z_d^k{`>QX8kfE#uJ+&o44Yq8HXbz7caBi02g6 zvhMI{Rx{+JOPE|Czh>u}W$}xZ3-4Kd6{Ab7vCLd_w1^)k8BQ2&oMfk^W_LESwO58& zcWEHJwzq={I=zsVh(av{F4C`zLuDpqP}+m-j9RS#H_)lvF<2@obJr}XRfzUennrLBMkR+%J^X5?jbm*@ zkAp%ook2gM!iaUhIImMKPW}Q#t1MzVk5OGeU3*xD5vRS3PDE zeOXXP-E@#TS{U`AA4jf+Av~zMc{G9_-47)6L|<13#41-IMIOCZ=r^kUdS6NhIQ~=#zoCgS5b3UJ89o&8o&E}XEb-RslE|{W#{n_KqPlu zk&PH=>SkK92#AAD=&zRQq=bEh2%pJt@=%Ra9zqQ32G%hpJ`0GhkQ=AI&vKW;J2D(8 zl#+n^j*)OiiABshXTdLKNMy?df?UQvGPD>ATF{maF?L~dEBu`Az|2a@b5!|_3e_^G zM)x#Bomw}q%Rw_BwC3J;JwjE6?u%gt4^6?bh4O@Uhx3R9M$1Hbl4>A6p3LAz@URNV zD(B?)62sHl)5@wB`U_et3lp5ZL&%Fx$k|t|+AuB@l)@3?aSTI3#?$bd>2B)~6yt|n z*~y5dfaOY=VJrt=QPwW{UF39SH3f0w7-R2*EZo!=hioq(+@MXD>3i{!;4jCYxDeF! z`i=#$Yc`GraaI65&EcR}CRgQ99|l6vkkIti3pekstj12sqOWnoKO< zey7^GQG`fMI)cn(w(1SfEkDUZBFp06*WS-|=fv}4^gg8Cja*+t0ur47!#74Gs;enY zBNjDKj`mm-380^H_|;_y z(LyT>qk}7l%`_&%cXjV=Hz5A82W)2`ox+ssT#DmXJ7=*A!%(?1Ll9~(FnOv&AaMTK z;U<5zV__z0mc|~f>qPOfu|egjDbdQ%+`!=hQKGej+gGt^R*kos3e*_>{SD73L_kFn zS-Gf$BNl!g;2+ng7~qQgsi8$K+8-slp`elk_e{`VmV>7N9BE(DflveBOJT2DFU)^Q ztxN=1O?0g|1Rt+nxELE8x~f&ZF>_QvA7g_ec!K9Sh1RW?hk8d~*cKTXm=sTBtFb~8ST8y9 z6Zl|wAY>71>~-Oyu?_u;ki-8A`?bK;@a1p5LI|Q-zGRArvwI#3rRE-9GS@zHH0*s5 zObfLbfn~mVjL(mcQgO2HIBJl!m>1ULJQ(V@QU`oMZU-ZNE#M7hc#QRcE{HtDa!ett zXijLZ+;Q6k$HV}%Hh?3r!f?u>qBg{@a8W|T7$EuJwM<)A*#u;-M@r^{q z8R3Dtn`vxNT2U2gY;NgnJS4>^FxXNUyBw#>6M^`;s}q}o#V!c9YF`pTxcDI)fMBRbB7(IW2m0aGdC`EmV({fObXha~6@c_f zm06i;6pBhWE^9|vZ?JHUTq7ZjLyv=BXoP)eM;j&_;xeXjHqi(ksvakZ?6L~M2=U<{ zBhzt6Jwt#tVxNX6z65F;ni^77=)DdYDZ-0RrO9keRiFYgNIWTSq;XHGl%3oFo)ct4 z8xJLc(GBBLKWQgBpcA2|;2Q>d=x{QMB?*IRT7&ANN{w6)QdOuqghZ|4nv<0+!5hrb zSAYJQZN>jQNAL7Ljp#SA&en;27e;^{tVrBW;4u zHK+qEXzE*`rHD$j0e{ON6lkORZtF@pu}8zjb{}$aG}R173PDkN>Y+)*9z=ILMAgE(RAB#h|CE zOZ*`OJtcktyCE6yzfGIQ#+K4n5h|6l^fvLt3N|Kqx`ZirqRS2R(vzXGGZq^G?N`cXhlbk)E{s1g__25R^S z0^CX-Bvp>jV&;mPP<5sB2uLSB*Cd;RG`7)bEmehq<@j_L;_QLMadRwZ3yP$~CY&Qe zOwg060t-WR3n2kKjA_KwX~a$((*tpvSs+f!Q#gDS+-hzmS+2n#OVIcfVyy!yI$*tz z09$w#b1%hJ3>brrwJb|%QcR#1C=Rf{vtt=N)mGL-K#xa8#e7sCnvM3+!;d&QYQ$GM zz)e;e($LVotUbtul3Xy)=RtvKnDkw#DtrP&ynYD?oy>We&;BgwUkyne%oB0cYi6q< zjvztg)Iq0=WhBQ8L^I9R0TIJHn^P6i6%?$dD$yRGT_-0dKtWMiE)BA}RULZ(EYWCf zsgT;X7OZ0MZ_o%DivGf43bqU*21Y?Pi#1p*$9ti5ySjIM-}qW-2NomHv^4zQp&D36 z>N#$;b*vhEK?CV!p2LwUM`wAe5>4)0(yinVcOWrK7pE#QdLk622WgH4cDkIXC=-Fr z4@p&_ne+`~$R5yq7QlY$s>aH-bR49iZ)`uVc74PO+51ZTqXcn-z& z7l_c!XtT7Bf{XSrhoYoKTu(@yuu+4b(Uc)bQXY{RvK_Pww1;Shi3c4MsK-fFUE$0C zNd>o6UYf;G2w&D)V)$WUMN3zc3$^_2NIzIzboki%VNjk81H-_+3?#?sdOPtVef>h; z#@DS!SQ@yQkYVB782vtnd@PNR0h{raHTG9GnZe*V*gQ1~<57^$zBL2FpI|1#^jTTf zz|;Ech7F?|pe{l8CcXXKBN+C{l^XnlV@k;rkHPwK)qu3yT7E^wd3FYumoQ>sjB^3{ z*YcKyTADnzsDCx83U`>Cs&0aE+tCl2nf2rVRv$c@ohO?SvsvH{0Cn#_Mj7q#(NS1t zjvU9ng41Pb+=hX5@N$z=2)Ydg+sy#GMPamxUcT+SXlUQ~=#be$vH$zbeh22j+^pdH zx#f~&%dIljg4`@&Y>~{c`Y^aqOUwZAt_NiUQ+Upa4HyFCL@kL03m}1kyV^Fk%tjhd^j^ zk4mW5fU_Ri0QPc4&U8^$8y zB@SYIv(3SR1~f2z2~`vH5XPT{ietHm)w(=(0uJU`2F8keX2icX<1v=?1O^^sG(6B7 zc%Cg<-?sq@)QgO-I{E$pTZJIWU^TR65v(k9z%zoqG3Ni!u&pV-Y6_H!!m;`A1l;Su zxz5l!#7;+xO!a{u>kx!%Xx%ytC~7Bt8TRGgwFATG4GI9rKbkQ|=Si2CJ4}3#J#a!` zFLmT(z#uJ=UmOEy0rQ#&Cd_mFz;$$4piJ#?^Jt)3OdU}hc00#dhRuFR-WrRLJfXWL z2I#*Jqcj1fW7B<^z6}_0VRX@M5*E`PBb2GEA4PHYSG*-ms}M9kWR)59ZRUewpTmr8IyIZ=5#Dt=itVY|0q3%Ye0)X=zJ7X-dm>+Q0BzMf0Nts_+N}`j2TX%=5NN=6QsAMqMz;g1s)!LC2gkFwj1i9q3g@BFuxB4U0G>@S>H5K(_@{ z6w_!mblsVjMr67U4nbnY!WHR3W*ppW>d4Rc^^W3oc}18Qc@2Xmo{WLI1Qw2CWgfsX z&s{zC4!HJ${a>Dnz$(3|p}wa9M_t%Sw?Xr(38%`~GxYZQHxW8&SwA{Fj0b$l5T9^& z5k!StL0iUR0^OY*Da6XALUb?g&H0kizr{U83C*3$4k=zWF-T1aUKSjHs?yyT4mYwh zPzF|&4ZW)%9gxywZ%27PzuBSR?8x~hnM!f~hC0i>9_kA`17IV?v#PBQ`T~1OND``9 zTn~IzNfUZlu4%$1$AAJ8$V)H?>>s*`Mg^OojEsY!#oQXBhoEkavw_A2C|J?a{wT4O zZB}T{R9i0y1@%FZRrrrMWMJ@|JjLpK;D z8q+;8e%g2$NYi+Bv1UtOyX>YGY?EX_2*GU-JZEFU=mWhb0|l6!A*W>M49e8eNhBwj z%H-qdXxjpco)k#-LTSAmm6J|M=`agMxzUfnS3Hmrb!(!57*PxWUcxp`qE8xkz|5wU z-i$kIfJkN7upyc}HdiGP8eESYgKR}fSh!8SAJMXwr9CNWA^>cNb&(*!$I^u`8S5x@ zZo^dT!Fe$c8>k3^gF$Gm1ZHAuC*(kp-X>VMn5e4gLZD*jM297u zvJ_#$Y7$~BF}_2=GOk2pN*^Xf`ryU}9UvBus-O)TfPJx`rz@GWL1u?}i*Y5)nHkkg zsG`z@y(iB1THvM`f|4>+4IKc9D$lOn@6;QG8x77e?Bs~?JnStaR?vrzc}Y5p8r@d; zMM}n-lm|exr}TMf4Oa;}$M7()hur@<>;`~ALs*r#Jp$2COd_C|#G&Ud)wBkXYdbad zr1NbTfVOAXqyd{^X(Pq!S`LGq;m=gV)DYnW(4L+S?)YKr03FKZT`SB739$_L|lbNiAgn7+Ir33^oWXz=nzSFq=S8#!H1vUGzGqcCCnn?PMm3 zbzrF21X&1#U~}>5@fQM)o;rdBcaPN6&j%zy$1I3C>2a#zIy`5x&}vX;f@DcR5_Ok(zC!_>(Q!ufc3mzIgI5aQ}87wLT?C7Qf z2SKczCkP}fw*g6jXh6kY8W~0R`(23>Y!-?J08=610t+HCjv*seunmJS6=P*)1G-`Y z`yV^Ug(=2*5uk~fvLY}u9VWAd>OV41&@wFHlt2YZqxp(VLW4EzV1CndFd&j4aD_5L z-EM>c;Z>bp2EA-qd`PU)rGJQ5u6yu=_OjHa5*6)eAO>K*qFtgTCu2;>yLqpPU~u+0 zQjBqgQ+DdX$wqmn*yZc zN+e_w=9eL+mZ%0hQCE(vKD3#5%@9MSiWbq~16(oQ@H5?{EvQBhxUcjueTbEnFz`Zp zm@F(Ss1(q6>_*EPSFmN}5%X#rJZ$H@TZ(s;2_RDhwMk_Wu)i@|jsL`3IvJmNUnD)7 zd}nCHZbw3Q3^?Qp`C0c+y~`k*?G=?HX!CSI#t-|!&aS48wq=MP+J*%m;|coSp0Zag zy&JechEe_e5pcA5p`1hvA~6wDa36_13Y}4pAtsaYqyhB9{t|gChY(7@L(tY5nTLnC zE#rHbuYAwk2A$%l>Aoq3N}3F8gvSxb3B?_Ox2X8AumA44fprjd@jG~mPGIG8@-*IM z=%!`8X*ei^N)UczT3oWQEKLvc)zy`_Rw0geRl1_As;aW8qO`KA94hhERiy~dA=pTL_oeRd9Ze2W!gV1-%k(i{K6$`baPugKzqZG`ys9+QGyRCpSD%>1=FV z+AC*%un&i_xHwmbk+mogQM1=tM=xu%YLDX34JtF%|8Z)NM|0waJzdf`2xs`^WiWw& z7yNWhNf~0WRU`0P#h@8V_+^u!Y;IS_?bNeD!;zx)`7YecDrykHt+E=sC>RHnrpsV_ z#)eBJeFThL&oEJ&m}?+PhPM4LDVtB& z=A}TRJ}q4XU2>#vD&z}@iitnGiHV=a(9~e+rh!`(CDo-Zf*VFJFo+?TK)p-oSAqs2 zU?kjrXI=^f%iueMvZm47oriRErF%;QqyzX|f~bR)aLtykuB<>9NQ8Za8y3WVtSn6< z6bOdDtOn)ePZ`_)D7K|lR5Sf?EJFy%>I&H2*1%Ipc|~P4q&ZbEzb&r-MMBBtr6oWo z>^OU|YT*nVcC*A6y)k%#BVMz5HKP@9HYbx9Dm&%)VtaE|E2c`mvxpGrKkF`oK>V{< z7*2+BN5jlintqz8ijz|)_LGv>ZY~`pX-t=c^1_f5Q4~rTVxzjcWKh}->VtKfjTQ(~ zi(z7$7)ujF+$wD?_kE1=#Gbm!R%sV3no_zF9FK?4IS|qo#DF5*Qw>j01F=Fy1xp1J zaux%a50rA*Ojp8cx}pMFT2+YuS((PlP*R2i?}~DS2qj8c5rWgBwqG#fGo{&}oBjed zRjL_O`rL#IC*f{=gAS;FfVb;nIPsye;|Dg3ii$C(0>#RsFolF-u}R>M9KQI_F|F(s zU0=dKi6T*=F)}d&47~$`=)s z$jMA?oi_{#rV7Mf5~TnHg3G!rLJ}PUgD0JD7Jq0=x{1!($;YIUVH{WfR2Taea(!5k zNwlzUq9CPyrSzn`LoGttJ~EowOEV1hpd1aBYH3OVomNYldukyiHFJz=7ri(EfZ+$0 zJVbNt6y^jP)393)N38Okl|3ZD(k9rIAVN-gDb8-OUEtGpfya`A-l}g|S{pz)uv_%h z3%|u(0o)0Ge5$yEsSG8P;AG|uh50Y|8Q5@wv8paX#QB0CfT;sRp| zTJG0;2i#G$u$x$nO3618L&*_Mm9gI>;^pBTOmMj0go+LH$L%_bg(__KLv4RIt1zK7 z4xTYH3~ie<&5+5gea6%%CJpzfG>H8>d{(v8)%oZa3S~3kD<#k5&Vax&*>R0PqrA0=6FGqRBYh*{ zy(?9`>#nr$VYpPzSjgbb{?CYs>6;82mSE>{S(nX(QpQ6hFdE(z&vQE3gHsxAWqgDE zKeYu)SkSr^hN9K2pm>-{8<6l|>KnZq({Qnu^=E}NT$VyRI%@&qJ+us2g{N{!x0<-+bps-gNbKBsYxoJj*Qu4H6+G7AYj)J^SX zK6}yPz=e)4ez2mPaGs-l5Ukz6vFJe!plZ#giDv?eM|+6kK`}SZN01PTi|i|qPys=Z z9!I}0f}wfnX>l`~iw?6W%l(|G4?lqIBEEnWuGkRSOb9Cl2dIb;@~JYw*5$Za+Bs)y zSBU8_1R&)Q7L=BiGYngGlZ||5o~w?~1_Nh);;s(Ija?lpi=p`e9A&KbuuZWVw4r`R zR=IC#^{Bg{3{RiH+kv9?O-(}oVSrs|-eZ)X1?iR)JRpcpBJag2Km>eRwnSRbW))N> zmdhN0exUnwzM?Lr_D?&old28(r(fEz}=tF~D$^o?Q%^{GG8)QjV*j|3(ZdE=4Gmb4!#w74O|5+n@`hJ+}hrycnwRP z^eDUtOwbc6y$Fb~Kv`1?)VN}9YElJPltDA6tjxsU{!DdQ5vs`s=B;j)aqo zgBY@daGXnKA$VYbkIDFx3H?EZLgY)sHX*^tq9^FYO^tols(} zpa6Qx;wwjS$=>F7SH7f@?CmC6lPiyrjt$C_hyd2zfUKZEnyKz#Et9JhTt#+4Iyluf z=PY}eS9-33vurzSIg3eqK4cRP0o(E1W;Mb0TmNv3-AM}|0v z5acWzR{>UT6Y2`swdU8>@;O>T+IvbB%@&9J4Nf^YPzK!8nx^Zn3~xt`ywL$$QL`B` z)EbAx60nw~Ss0It#If^mE=ee12f~X z83A`|d{q1L1^RKaxty9|Nbfw*3EB(45q`9Y4TR-$m%=ZB4;l?5Ec}ho3b7nZuqjhH zrBu2BqvI7d495it030tv=gJ5G{N-2IeTd0mA3-_Hqs?#u7IPlQaf%a;WxFW z8j4@g{DS5Sj*lua2my(KMB)wHgN25A5#s^cZErRq4G|*b(K6{bY$Ag#nd-hnR&U5U z9RG(oP%b;;{D$P6{=p?I=vfoyUG4^-St7m8ZYf;#<#@Ue`e|3RH)sHcFxa3lwkTg) z%*d0CiiBM^{I!_H1uE(mW66iChzLRDK2B*iV5)s+u%W_Y13XN+0I%Y*HT$R!bQAI? zjJmz*v4An(!|b8{FREg8J3(ZaD(~;Vs|}gzn>_(`1jI?`#gd*nM>`CxRI}Gb7cm6e z@qEHl1;=ixe5rIvoz+*YYp1+#V$}#8yPKoA!S($x)`v1Xv^%j$g}@k#vvd9J4gq2I zwFDY0dIks~3#5X_PQbXH8toefas+z0?b+xH41A>-fBkh*hfvZSaDoq#2;I{`tP#Ou zV(C;QIHL5yFnOm_3I4Yik-vhdxke+CMG7bUyrjZkae0}f!ne7+$s$vVpZ?Z@f3#PY zukd?*UQ*$I+4@8ynWVy6N51QqY@k+~(dm~}r0{Y-FRAcvTwW%ru+}lGeEWDL?%ta$ zQdld4_mT=PbI)ax3Tqw1%D>$9-PM6URQQX2UQ*#hW99?wAB7KddHMbGb=#kJxqh82 zQutebUQ*%9+&42xg|&`h^*_XxvD`1KNa2-!UQ*$&xx7qLVXb3W`D<){4!eGxEK+#X z&r2%Y9w=X7tz%gEwumW@@1Xl;CaJL2F|7Rgwm;LZUnh$cF8A}23hSKW_$vHK^XnPg z-tW71PZlZs13xdR@ZRp5nWVy6$FTbU&9?U=*Y3$8h5zN}B^7?!eKV6(SnC*8zAa+P z{r|rEW+thy)-kO7%WQqFa`l=lQutawFRAcPTwW%r@Ea~Ke}2{5-L-KQF0pU7&o0wT@xs+ajji|IfN_W|9hP9mC4M+t%mX zu3nQx3P0%QB^90)z)yv@a(Vgv|9e}XKe>8M7AgD}KQF1U(mu{Fg|&`h^|wV#xqp7= zzL`lXtaS`4f0b?9nm`*BKHASqD*T$G^_ir?KX!Tf{qv!%&%a&0CW{;#=>MpN``kA( zNrknJVfFvC{qql3k4#cwtz%gE7u)AAckfLWDSV}$msI!lkgr>*}&S5_veu+}lG{!iKGzvteYEK*q4F}#;l_!sWEOj6-DU0#0uEA4Ol2A)y) z06#CO@RKetlT=vi7*_vJ+dmb7@)g!PhLyjk{lMP#%4ZZ_=;tLBKGo%Ak_w;Z^78w~ z{xoI$)cO!V_1)a7^2e;J!pa{b&+*EBzh;sOf7kWT|Gus>Tv?f}!R!j(k_k)2q_;fq)r zma&&#R*}LB{Jf;X_q)7IQemxQSp7e3|Lh(pUtz7||3&!|f&N!Glik^>uni2R(wX`je+tNe$M4(k_u}b!^*dhPkH|OJYL4}cv{D> z^0ltVyLwF)DSV=zmsD8!3eI1J4|IK&-~XSs{^RbOnWVy6$FTbAxV`S)n=DfJr+!{i z;XPelGf9Q#y1f5={a<$9%p?`oI)>H%Z2RpC0(DUMVm~jb@Q9<8nWVy_E-%0S_uKk> z$JJ}HNa4r)yrjZsxo>8Y3Tqw1>TipfGJbyBeKV6(SnK$IQNHdmh@T4UIviI12HW0A z*Y3$8g^&01k_uP4zRn~Su5x+#{a<6t(7D1oC|nyTU*Th2UM8uq)-kO9f42P@lo=`f z57*a|Zf{y0C|_Z%V_5l@*fOs0%PLa%DnBo&@Ov&V<7D7k$FTD4<5R|;iv#5=taS`4 z|0*j>xGo@5Q1}KvFRAbkU0x=s@JlW)e|)d9V}D%$2Nb@+&r2$Nr7J6wR9Nd6R)3Y_ z-QdP;vPj{Z{Jf;XSGsSad<$zG!^&5>eyZ!&$s&c%@bi)iU*o=+Nh+*$3@iWBj_(QX zo0+7-TF0>RyKEa*+AE(?_;5cjsqmj%UM8vVdoC}3e0Bfus%!UTk-|Ur^O6d8y0S7! zg|&`h^)It!=v?G83hTZec}azJUqkw)u+}lG{CeA;OI*KB7Ad^c&r2#?>e`e^Dy(%3 zE8i9|<@sCZzL`lXtaS`4{{Z`Z@EL`hTv?Mzh5vukpZ(o8Gf9QDj$!qWSbT^(ynqbB z!bN^wQsL&9`2fdP;e%aXK7JP3@!G_svXFVXb3W|7>B)Ncv?JDLmcJODgljwPEq==5t7mcSe}%P-c-Wu0;y}(a%dN zd|sgb3ZL)t^2fKtmQmrCRiv=eY1AvJ@UPr+nWVy6$FTapZ#(Eid*w3<|I^P)D!eFA zzQS6^u=0 zBo)>=hV_rGt6REpn=DdT=_uYyDm*PvzQS6^u=3Yf92xd;rAXmXKQF1U>K&23DXeu2 zEC18t&!GDz_P-X^I);^hlKsGG0US{HOg}HF@Ea~KlT`SpE-!z4?N3vt4=1{^GEU~C zbquTjT-(O^uHBPG3M+lYdr5^~bk9wVfBv-f-!o9Y!dl0$`hVK;pAPho!peJvm9M%m zs-wea6jmJ__K(7U3gExO@43AE@x8*fSNDP}U*YRqUrZ(y-rLQ?sp;$NX3Hq{%PLZM zZ$B@o@Z~NqlT=vi7}h^G+5WuE_3LDj!e8_Ak_zt{C|_Z%V_5mNh$-X$jqaP7q{3Rq zu=1O1e=c?XI$5M}tDl!t*r#Qgq{7Kh7~j`yeS&jb;a|AAP9_y@bl=P*71lb2)&JA> z&yU*p9;6Ty!`qfWPfW6 zJfrXuKQF29(=Kmn`fw`yem&5K3M(FA+?;&gKTF6Y71lb2jqk&@+{XjuE3EremankN z}3xl0f+iYaRbD%2yp<_K(8a z-mvlujPM|_T~Q+ka3KI9=m)PH8+a==L z0(i7QpM9)gW_;W8xA7tciD$Os%NG{Rifz7qqJAb{D@aW8ns^auEEP?>!@KzI3#Q?= zc!$KCS$t#Oj)}tvByL3-tKKQ`DzB3}$G7d71Tf2eAhtc8DoC7zOYGEwg80no4+7db z7N52DQ2;w?op#Erf8tKQbAdNIF>42Y@uu)A#x9V%)_}O2wmhwDW_*HQw&=86O?Y-@fXV^x?NV zyglO6zg7rn)}D#uS^jQw6Ibx7iCZMSSMrJzFYzw6`@Hz9;=TCmyK;ZGw^w|-pMS=S z#AffE*k>m`GG~4~I{7LJDp-(M&YXhS9t-2qXXfz7xr^elru+E*Ab(2Sg*5iIR}!Cb z8|Z0lW;#COs!IUOFO5&1o5y(Alvno8ab#-jBn#5{8w!_wmaXt{+X`jSP z0_?0~wa32k8H<|u+r0haGj{kZpu}(aNPNqi#+bd${_)v=dk}@}dO*DJ_$>h>_K$tv zJ1}w8E`gF0xAE=?@1XehmvcfWE+n2|{taGj;*1o4J?j!T;98LQ2k#E4kL}zLpYf-U zkyDW9VK2sS^KO2dpMBbEOniKJ!54&u&e0F2uE^E%7X_1@X4SP=|t8sy!Y}fmi{P zGqbQGKI0z`;kQKpBIGAK1i(zyaOy=tq1mR<}GJ{R?QCDe-bNaG$6JwjU-G{mU70|9C{*X(sLY1@qB7iw_|>1VoU>wm=$Y+S zCH^2!&g@T2D?|2y3!kr@A$>bS=jU5n#2m^6(rX3mk+$P z1&QMceLFf-5W7EmbV1@bynU9p-{b9W`{MS(7;Z0$;dYR>Z{aqv&3-Iq+XGnaHpe7x z1Q6TFRw8jX?{>8|*4{nQxTI&wTzF{IuI-eCA8DG1<4@n0OFB#s26W7oYLUw#eD;`1p)BUq?X&i9-)!c{_eK zQBsRXbhaiA;@un_(idVUB-)wdhO{7Y6z&TW!*zUp?uqePH&5q6aG~69cT#-jj+fy1 zoj;d&qMlbRY0k-B;&tTUom0Gc^p_-Bv652(zCesjq#KylF^$bU%}cBRc!|FWRDG_Os9VfOZb2G5_&hK16W+#J&iAnP%zuy*W$guC z;yvafXUCt)$}w$PeA=G;ZR^c2(pwc3#F7_!iEEee)vZ61_!@xNHWzvE>6deScDUG! z&Ah~md7t;k_XZ@zWOG z?tTF(RZtKqh=8Ga?PpBWKV@2)@{s;=Pr~or!StEanH~Wm5RVM(!C#O23gJ^vVES#4 zmw3dxnQ5UsdFFeBzu3z3E|AT5Ir;}eCzH$=0s*Q-Qx#L+p%iI zBcmTOy>Ax3c=vAzuLBy!BZpzlM13%*@yJK=*7oSpc;wt4GX3QQ(_L3G{dt7xuRyEf zk>ADmZt>%UZ;~gU$8Inl87X2;>pz%ogAtBL&Od_b&v)RjUq6!Y_vI^R{h4rPHPewd znSQi^>6^O?T+Fol3rr_^nO=c~Hy&9Gl#556hNM0o>DrMw9orLrOWOXW0eN2f>Y4Wm z-zRNM-ATCeMW#nd9iEroNMWUmM-o#1_1hDE5_CNtdFLFamrCDmCHa3nn>jP2w%23` z-}`N*Z-Fw!BeTzC`oS8e`$!Lbv>V~mr1!4bityj%yJt$@9`_V;%I;-a_!Xw#0#?N% zkAY&vBdc*{6_5OP3E}4jD;~y zj|iW!1JhgYV*11ROkdcYrM)k3b(%SU75v;xM(vGnFy~C^u?>ZUcRZ76`SDDDE$_Z5 zaI?U_2DQO=moQBVe*U1GaO`%b#qw+YzX@L@<=-l8`SYpFS+xt(26^%;I}tucu;^FA zgs=RV>4}>$y=M;VyzeZ+kL}O2|A$P!AniTzWWvA4(iD%Jejd}k4`bR@#q`*fOn=bH zv_k56*$Tq(eV865Gp+zr2G9J6>8>(56VNn{MF2j*&iP|Z z$q)n61QR|hGx|m>B=N|2HS_P3FK)jD;ToBV)06!5qidN{_BPW3!Il?4NBD3VsWX#= z-<2otmj17jx%}p5n7?j>={?6fdT<5dOP^-C|9YlxNDUv69@tGr@L{Yw zz@q8=^()UYT`eQk@DAbE%9tK3_;%MK!V^(G|DlY|>w7Tg<~x}_e+$$1k7n9g&-7g| z;K1155{?TNeO-F{_-C1O$pWUmoAa4JA4Pbwfaw))F@5O2nO>V@eaYa>84~E<#Qh8uirn5>A%lq`m>#wULa(pD_KNjA_A#gkwdl|2~2b&kMEO=}_j+`GD!>GDbHx6K)d9 z`Js$p+3w64Igsf^KV^FUJxqIQm~J6`vSe?<*9oouud4}f_8q40e1Yj-1jETw00SSF ze8JB*-z2>G8B9lHyxPwu{Fuy|pM05c*~?7dxsK@RG+K7N<*G18)!gcjX0 z$(*me&vfK;rj_#RnL>rG63pDaiTTs&nEvvIOrH`;QvFTBPYZmSVD+Od%sE5g$3H{( z;g2HVrvOc#B>wIB_jyR?uDlOv$qug~O_!gD^nj~C`{cQ~my(hdKf+q^<3%{B9`QVm=cC^KH{$Y`SHsKW-tT7P z@`U%)^SC_ey~DewypxDQ-}R`R5`Wq|WdL{2cz3YqXT6jDjJqFrLoY@mg@5!;B*i^1 z`lao0IY0XEEpfRZ`s6XVTo~P%bM~TW4PUr8`Vw1oNp#EK;qv+DX1rV)-RTfqE{n!u zxLh8+;~ThK5$$Ql=^!bbL=7DsTsEiK_3b~H|-LnCwnh1!Q~Y1yS$w0 zJ$NTBr+JHkVTGrAWq-uw46o^LxSZ+D1S%As<^9(XE@yi??10NT-tObLoa?;@v@JZ( zJL*rkobN6FJT4b_yDi7%Lhr|y;c}7p^ijB6?0pZDyYLdP1T(tu^WMH77KN939|5xp zFY~_i2V5@qzIib&S9ohcBnrRaeTbP=c%|3<7A{wL+p@5$y+e!9rt7`CR^xKJ_cppD z{%vnD=kG&a6Q&c!rINGiU2k*t@87%||B1`TUi=rhoEH7Y0l1tSy@u@3_0e@~^bOIY z4n*dcqdzW0m2QmQ$)UR``p&bsJRRMzBQDQH-y#~l7_I#RE-y#F^efrp_G`|gJ7X6U74MJT^E56$h&{+M-iR%@9v}T}>@+^|yV%2AOa2&p_B`CZ8(YAc z{$A{(*KL6_&c8nriSCAgdy&H3pCpl3un*C#^tsoN);yF#THAda(z?4gN80w+4y5hR zPe*#l`55(h$C@^zgS+uFCth;_;FG$)h4eJ<9*jTc^CUM9XL*O-fxC;m#6NMl*!uyC zx!k)2Uyonmed|qJuJg|C!sUAJ$9v=Qir2vRUiG|M+`Z-9$8r3nxAkmXPL8%bhRa#e zJCnGa6MdS4dww)c%5y=q>QP)Sj#jX1E{pza442!ZwR_=mSM-G!aCtDgLoY5*MQ`fI z<@xBr@8a@O^y?hCH=_T>ki~x*?fE?}zly$kBQEbozp)kS@=>&%Yu_2MeK^-IiT#t~ z|ApB8t8lq4_T!zAd24LxGq}4WwgWn)@Y}HmcE{cQu_O9$c|11q94@cKj>No-zZyH@ z7r6X9wmGTyuVP!AgUdUy#r)pM1$(iVE-Lu#zj3*^;GQ~MZZ0?yoJQeS3wFK+ci$}7 zdcGaP4-0PYM9xPA9~R;AalutwO8!~!A?fYE3Z`?w|6TC$Fz!x?k1fUJ)cA2<#pQzd zH7jwsFuv*lT)q^){FbQzk6YK=Mmp{5toT+xSco+F86xM_&nz$mJNW9-05TFA9ZRR&#b;0U0pbIbQSW~ZI2qr z)YzFqwD|0?e<0mu>_z)Evk+KPJaw8VC2qe5dt`?Z4)g3=PGPyvor*M-I2Y-hmpO2| zKlL8cJr92q>D)iwWb3li2Sl)4jwCy^>p!_p?9t2xvG|5kr1PVoo$>T_K#_RGzu0%x zNB$IP&E~}aeP+Lnbl;0HU{Z_udysiqa2qjq;Vu(M7uDT@v}6@2RQhYRfXki(%OFqB z*yCTgPkr?xq{WA(_}qV=g|za|Wk_p_k3+ibkWpLquKy%{?lu#>72kb#E@XS$$+GwS zD@U$;?h2$8$8jtwD-TCnbq9O5dc_+^Yi{9K9C-RkfSbN{Ez%?EzK(S0*)JnK_QHCk zC)VzW^b6j#58`s8SNk1YzUuvKA6)M9o_xgCV#!&U}Pxf{ofjq@~fqi+Zx6hw&In5j6 z^grFZjWp;C@6}y!In!G`2Ol}h`{oh2JIA|m8~d4AbN(9{yS~Z2<8H4m2E1p6vuE!7 zuOKa6_YI`;zQm^P^}u(L?)@_?cku-i+|MmMj7v({vsWW6A7WQl{CW&&<;Dw_onBO?pMQ|$NtoVjUVvVk;pml1@ia@J+uaJ?Yc{l)>U1K zv_Ab?qzym&HqyrBM9-#Oh#rft;9g|OcUXRN!*rwv|DC+#(yRXh_>hl@JY7HE8EH?) zMx=)x^jD-uT>T-^HJ7;dzs(Mr{Sw|0lq%ly@3=4fIceX1Taq5szOoBqB> zwzs8`u6+A!q^qtdM7s7wBFVb*xO*8t_!oeW|NGZ$i8F5H6SHsNNbU0MVMtSFqc`Mh z(RtOl-|WLT_3Jxv9OgfSUYFl@d>Y6b-|5FBWIMk;h;()l2!Z@Is}pUA&%S>>()rE1 zA>H??>+NrI8@WIg-+DT7=goWz>0U>j!{?^0Lb_nXJ4hFP4o}Ay-FXnw^xVCXmOjbe zExTtK((>=@XeZhB4{VfkzPdgWhJ z_^s+lPJ`-MoJtKJoPo6YT4G}Ri+rYg4!^$qM;z^*4@hrUymqrK>j7^L>Ca={1`?g8 zyhAvfpY{H6y#0OqZ~PJ&I~>kY-EsGCA>FC;yGZAC?2B}-H76k5`}1f-e17liNEfX9 zH_}Co?30qeV$`JtGa@6n-{WSIt?KXm+~#h3@K2Fj+)N_9&!U%X?({qOt(hdfe7A6C ztTvc6Env*0teIcFh{@U>l=Ku_X(UHLs*$7ORmao;PlucJhk zHFU<^$T|AY(}1!OKWT&SkHUewFiiecSm+k3E9#j^D@UCt{cp@yw&71(W|g z6zOMEoJA*Gzb(=e&w3o`Nw+p41rg$OKgB!pUR+M~&SoK}c{irecV~LNt++eO`_ZGg zob6q3GA`$M6EEO$f%g?osf)bBn{c_<`}jOuF8BWMRb0N{^^n$G<^7t!UG42d0&%@} z=YhC<*?V*sTyFASs=?)EudoD{+r5=NxO~(5fZWO*-miazyF0x2g5ZQm_-N4qr0m0KfL(uxP0U_68%n%zR&8O z7JXz_MVh;Zkl~Ofo;vX;+@J0Zb6n2yJ|Hi4uGe#7#Nb%!ZxJigcf8lt1j>bS2>0-@J>oVG(Px_#x7mgGUztZhe@2*nR0mNc)P3 z537&f0_ocNB}k7s`hKJ%PYfVE*82eI__W_3oxG$H>G20%jr7EA$+({4b+ewQd-raG zytBNUn0cPp^F`c!(cAuLTlwwp0`ZFPbom6*U4C#M(p@(`YJZE}vKj8v+eIh8DJN$D>%= z+4uey>6|J~x!un!MOysYNl52Yu^_%^^_ED>jwH%fMejs<;A)mw_g){;#&fSly5x4^ z+0y;l1FiQTj`Wb7h{j!SaCuqr@jmve`!xd{3J>hK2Du0A2eMeWgmxA2=86AeTR!{; z;H9UbPKB-MuL16O97s`k)GmCcZ(H`ss*m_g|DTZ-uKCJwfY<(ODd3?me+2mGb$n*s z4TO&!C7(Jmn_{ZWG1HMhd15EvjZYj4__HVNhi6XsI=^+Y_u{#@ImKIW8tzW@zWFxp zPV;WL2zO_C_rHa^v%H6Tad)2g0-rqJ+hQ-=UEp<*hFvIg0z2nU-hJMC8AR9g@t*v~ zuD{w1X~knCQ1wY7YE!%$>A~ORbZCA44!|8-v(J|Qh~stWh3xOu-+UJ7n$?`fYaf_{ zbf|`<4VONMbo~=wMLM4Crc1=6~X8;~|OaRM#j0LGUt{yWl^lbVsX zee@#Ij=5NrH<44_xzN3VPe>AH=?v61JvD_Vc? zHGnt#nOyor>oI^gZZ#L_afgl|J^oIP?TL3|%MXHn59MB`dCS|8ccynaxvF!#uaIFo z-`kB9zsP(2C|o}8J%O5nXt%Ksuk;S6!sQw-&M#f(-5bZ{2Jfz7TyF9X{Ut89dS^V3 z%kADG(%`Rqzk3dMcX*$liOb#I7x%^GUhkd~T<-G*SnCJ8{ZhDl&^wRx`62JU@8I&V z_f6mw#8*#z%MM8OO)nv%rh{Fw&+BQV`@hN|JK!7a{sS+hWU}`T5Aad_|BZCu$}5l# z*05{W{`@ychZ=`$Suc4<^VOHVEpNf)6>k-5{HEyeU}vs-Eo{rLA(6T?y7pvTu8Lkn z)VVs^#nHVc`rKb|xi)(JDY!forA|});pk7kj>~tV_g;X@)6vaIq@Rgy{53AmMmzDF z;MR`!5GQuNc`?#muHkH&^Ro{C@0QpO=^lUJ=+6Ck3DS8D#HYQtW#bn7Vj18?550mk z{RC!9yzGoqkyc#A=c^tdHq=CKMY``R46?%qcr%B#_JH#M*YCU*>A|PPkhYxj zIi#)EaelP#^d{1dg?AzCs(%&f^5Z{7y5i|eksdn8ebM1}P69siye}g?DnhJTb^VP< zR}XKEbg&6)U3~2pe*u^|?$*sx*+vAy@5yL0wtH;Lj?Y~)AI+1c#fot>ST@3cA7lRnK_5kRx=MsXj# z+-C6(W*rC^XKi5DiQP1h?-1iRfn6^Kgn`{4zJ3wxCPAx%?KcZw>QQ^dMY`lRv4Ea_ zhgd`HyH6xi1MC;WYJuG&CdY#v5dOQt?iUfqz#bIWO$9qFCR7A_ShS~k;Zaee2iRlc zG4uf#UiYZ_OzN1(9PW(*c^apXArjeh-Od6p76-!8-o~I>} z0KGt)PHnbGJNymUQf*INu;tnzYR{G0(0jnH(I(LI)@T=KD!f*EX+GEn?fy5wHfi&2 z2iu|z_W-+2duTh@4()s%*!9|HG;iIgB(SHo^Yj@{YWwJop3^)}fW4p%q}F{&n==;dW$o~P z!Cuu~qn><5(`tjgsTDj2_O@2g6YQ+EhYTU_Ycd6;54E9GiI23x#bBRk9xs4>rZuAO zc3zA59PCT28p&K=YsYDjf2)n8R=TLgH3Yk)<#h)8LHmJ**H2pH>nQzK^L!d?o(#Je zY=O+Cp1ep#ZbfN{Y(F? zlSilv|3@a%Cq5=$nT*m?GKzk1LZ;JKc}8B^1@^3bVlLPV@}}uvr)2q>V5gE4g)(UPg4*1Sg!dR>{IzO zHNod{HZ|l|vL z*b>{z)ZLcZ>fZ*o()J*I{?)dQ^!?V_KAO>FQdOv}akJ`=<$RD+xn}X8gw!7MZ9kV@2{pBfJYbV$V+kFHm z&)6!FJo~Io-hoMSGI%`VBgs4 zWrAI>Rr>_&JKK2beBawX{RpKWZ3EVT{cJl;FFn`(D1FBH_BZH~MfL>;P+DT|vKwrf zJ^Lcq3VRq0u2uGp&w{PC$A1X6*4`-yY@I!cKF0=o_n*Kv*aw#A;g8f=@r_7bq| z_NXwho%ZuI-gntG`rVE8Wz^O;+r8+@J@zoPwM$|+RX+88oO!8ylRaRk%Qrp(_Hy|s zbOG1@Be%z*o>3>eLxzr-;e~%De*Gk9ttq2H>#ThWG(D2KR{gswfo9%Gbo9eLLC0O9 zD<`}d3_5uh4WVfXaq7PQ{?xa_-lP5=KItpah`8~fX1m*Cb z=$l16MfHk)wH|297u1#F>(Ft+we-e`uhYOv`f(X(a>M$dRbQn#rR30et2Uk{!|GXg z;Y^LiKZB+^2+7ih-+<$qpI;AJ>n8f_b$@scG{aS!Ojm8Ps5bTn9V&x1Tn4mowR8D% zG~sxjc~_Nvci)O~z?i9^!3StI2~Fz&8qtrQ7M)K|o-4-h1DhwbIbid}v0-2f#J(+H z3&mM{VOVer-vL`J+R^`(h{mhHmWtLiV=fc#cLiH67SrfhAr_HOYo&OLDz-}G($}~~ z?4s9NEil!QnPnyY;98O709z*p(qq?)Nl~iK{=I1Oi`YuFt#`y_6nm70TE=;rk1}t6 z6X&y<_=9Gr-2vL*4LaY@b*9mUDmasKhQ?Oz^KC&}wxRzP?CFf-HWz48Xg9wPXotbn z3p<^n^IZ;5ckQ-{aG=Kn=Rx~-TMs%gKOb~(JL+RYU!ay9et0$L$Pd?nj`pJej-7ZN zXklR%=!Dnq1)YxFw;(T;rzv1|KF$1dMb9Q+^TnIgvlfbuYf*wyGZSp7_<&wzxd_+< zwo>@N1-4FHOLN5r@n7nAn?wSM4_m~|6;awIKBighfS6BJykC4vJ@=q^Yctp(;T4Z7 z9}*`?Ab&&*NWsY`#9$J!pA=eol#Yx2q^3VDKBZ4`Qq-cSKPRHY@SUm0m#;Yy)U!r! z(CYm*g4XB+Rm}B2|IYMnBZg3WL|qpF8gu$<(1c6Zt8ceQtfH>|fcWe+{+gBM<3!@= zZ$Og##z%`U=ou|X(%5X3 zkObQHJdK8Sx02}D{!W;ZT($H2WHio()*(O)TS+}Te8v-8i>ImS0@-Y8_v?$92s6eC z(4zy*mUArBHlV5Xm)%b<8yeaY|BQGRmD0~H-#}$=sz%h%d)3(mGPx2?ER~ykD>JcF_87Q3uLwM;5uPn)Fe#FVUcAaL*XfhG(d88h!O0XwF-N z+PTMX2W{M;F=$>Zn#P*OQj_PuLvPvaMXE`22Mxm(pDYJ$`Mt|fw1y_4f(d6qTQ{XH z*2XyuwB7SlLECq5fOe?k3)-<@A84mTL7<&Kp=Rw8&>FPs%x6HmjiRS_pWhR-=Ppms zUS~#v_P&j5`F)0tz;WN)1EBrNQ8(?slEXTK2OV*NT5sfW`g)@-4hJ2bM6EjJX&M}3N76eMrqWOy-{w=$3FoN&CsuBV<4L~M zR+E>~H=45G66n-HKY~uHwhDCm%kP2C3~UEF>%G39v%jOSFejoF=v+~aM#4Pt8g=dY z;-)yT1>&?m3C~VLX_4><16v{vJ_)u|%%E?A(41yq%f%y`!B&VpG;gdFn>(PiO6+X_ zc8%ChZGfN;k^t6-^e$l6ik8*E)`?f11zRs>(1fu;Orf5&QT&hywn_L`0^2N(Q(d-* zCDdECir|mHwuwH}PTNK55tMd_9BP-HVhVM)>&5Z?V7tWXTflA*-$#PoD3S}nZW5gc z7I%xnnkd~YmQaiB5!BZ)1UwjKTPwPWtZ@!k+38e*EN9xH7HDCHhi?ruyPFk#GU^F6bWy*N4rP^{&uw~lK z4}-1Hn$hQ2sd>;?U!~1X0lP-ang+I76Eu$2Xiw2hwN|@j8`!nlSI>j3)3SDft=B%I z$8OZtQa{_Iy-sMcS@UR#(iZJA>YrP+o1?+DX+7vJ*J&+WLq@xYD!)U^qmQ#wizSoh zF0J1_ly1=K*igDr8$=)cCM}C*$lcndYrt;SUdjc#MH_ewY>&3$9N4W|K|`>;nhzoT z?b@vKDBYn2?*Y40OQYViPa8<3yR@~>fbG|A^#QwEt3iGD9&Nb>cCYryr(g%POVkAS zYkTNZJ)ngLgB{c&$#V9f=G6tIL)zjPu*2FzZ-G6e{f8#2hqcESfjy$lpq6-4`-YnC zF>QqtrK4KREU^D*Yqx?uuC=HI_Jju1AoF8R5ZII2**CzR(!QrId|Z340oVy`aYQ*C z7t>y&*T{O{UC`_q?}0NL zwc|7_w`!+p(Cp9-d4XN8m46fLM$LO3*lz8+`@!~TFHlqN)jptk@lNgaFHqXAZT$f3 zUhSKE!47D5KL~c8HXYAJtNl1Yf4t*C?N}42Ift|;3@XQAZ7jOH<00)ms`}&F4M|{6 zXsfA99Mj^fgFWf~?Fs$2PwT&ZM*rcgOVKosjLw z6!f&5dLw@KjQ+cm`tM%Se|K8{-OKv#UeSN|x_prO?i=z)digi?-@WDf9eo$a2l{V6 z)PH+U|LsTmZ$Fb`*5gN?%NOX=o!5W+h5pQo`tQEee|Jg$-S_(MewM2j;|Kqh=g5OF z*XC-bc{bNOF15MZW|_^^Hp^|Uwpn4LwsGvVJ(LG_y)78u#IehE-6pUbY+m@fjvH+U zZpA%swt4mkyTz8$6l{-eAvOK2w&x_+ZMJh%-8*el>8n5EIFFg%ang~A&+T~Dv2Qfk zbB^Blo#T1OPwT*5aJ)c+=o`l!uY!H=sM-c>p0hRy!M8fUdkv-Aox|}v`#$IUcYxjP zylV;A0jGmzxMR-nXs~CUCoX}Vb#7V-_OUa-8|-Um5cTuL<#(P2TUoyHD6m!K(`Xjk zQhp`%`X9>oq|%S&_kRrbQ~87OU_Y0Clq8J*mVcQ3H`l}O2-rN2$M=HG_o(p^*aD9+ z1P2Q}4juwqz_xjQx&`by&$c&#ZTFl`Z?wa+9?gC` zJs04fuAvz+iw0BwU1)m@X#qOuCK``}?+OGRGJ&viSbv)KNBGh(A9>S79FMxb8tCZT zw}Xy3vI=x;`B2bt_t1<~xavQk6V6=+I`Jf(pY-uC(8;IB7ByuuRd4Dgs`4~X(hjE& z#n;tq^F>9R4K;-FDAE}0(T2yxZ@eeUL*A?aI${mYGGiyM1|8R#-gSKQyFn)e6H-n( zi2A$k*(ans%6*&Dv-^EO;?JNjNemg@-~!H%aXDtjy8JTZTyB|Zo6>Q9=JQoRXU(s! z?&80b-mJ>S)~dWvcmpI5?c1Mbp%r5IU0_>8PioDrB829oZQ^xw5yyjKe?OECiIw<( zt{MeBLsvzg$O28O`3Rr=lHM(<8r`V&qb)((9X-zfJ4#ApN*7#f@76E?bYN0D&_Q+U zf)1JUD(E)x%~$nP6wd$)CaA6H~qcdtZ$0tg82=_>yFtZ^Zne z_{Vl_?{{E3v@d6Z?bO2Q8(*)Dc@CvrT9?PbZqO2@fZeFQWCy!Rdnpxcw{~q+u$#3) zf3RD$rHjCB)h0IuyIl*SuXTr(_a)d}+RJ2@*spEwiPGI#N<7#-TEic~?$vhB2RooW zfXV?L(&!2IYfH&;`GB^fA4&(cMR$TdsM%J59oDK-=YK?NL?HgCc6Kg)Xv3MHN!vi( zVHuIG&KTwHjBC*uiYT=a`{$vY+$9{e>QovgDYrZWTJ0Sg0@b(n2d!ZvKuc@V3CA^` zBX?NslOu3k=cW3fbvw`?t#=E3mZnd<0-EoQPU2|eOP{Sn&?(T483clz`hN=AIdlwY zmpp3quB{V5yM04vdKAWi_B=`*p;y=_&_0enpnZ3(2OTiB2IxSs5p?K2s>#SNz5*S4 z?s3pUFZwbQ_O=I|wyZhmtR!kQti3$|wn!Yk8El0}KMl4K8FM9mi##Iw+iw?~esr;>e)K ze(ku4>TtpFpXb3YI_gdZ`@!+}aIha8bAJH)$?C+W#jdM4RhPBR0w}D;j9N7$PowGG{yY)h}tXx;bk1Fiq6CurunS)kbo--0&0 zX$WXeU8;QJzPE!my&Lc9dRlIDAK@D?(7h16_;vsF%D=CFs}MtwExjlQ7a-_fXv$V~x_bkI~CmHP^g zqkB;c#KfTi?6GfO0~&XLMpk^72AYsY^G4$5?|~*=m%&e}`3=e;+qZ*O38lJ*)}}ri zwuH=h;SK3t5qAWEMsB3O6&3S7X!I!o8atNsh`1HCaU8#U4rszt(?FBn-p_Zxb}-5z z{fC2wZlbz}JunwEJmVhFh*OE6kv*sjM&0-^XiWE+ps@?62gL1N1sea-3ebcP=?xM; zTmqVO4?QV)OD1U5<7YrqUY!71Z8LSP>Zu1oYn-8RnL33&RN8{YpfykI2CX%c-lz8G zsGq>c9TUR*VC!KbB^ijA2xh>{~ISTwfvj4BaMf*i{KM zaVIHCN!uijlPgjUswO=Pn(}R9&}!)~fmT0uBWR6L{{c-MN8>f^wkJSq-A-*$`(gBA z*Yko8(%XmZqqh&;w+A$Az8`3Kd(sc1Z=zO=IeZsrteu8mT#W$Gc+CeiVLrimViOt) zNw>d+<75wN@2b0~PozBY3~03`TR^J^poiLPR15}9t>^`s7L0o6HR$TrPp0UGndYS8!`)Ly^WX7qV`$QyLW&=;oT zIQ$d|ND;?d;W+A1vc^R_Q*j)VPk0l%m^^ave$?hw%Y6b`{gF^mTJS?(&JJ2P!UHtp z`{U{v*_-LB=8TyLn!B+rXyg6V@AKw93!2}%7HG3`FM>9I5N)N`E1RAcvga7iR_Tr! zxy~j}rte#$;3Lq~pN4^^ojm|rGlsyk*6e{lxX;DqrKc*|YUPn@1#rwkSUjwBL+x*+O`b)j|)<~!Nr#feYW+vb<_J)J$ z+ci$0iLvQX>YJ_Jt`6F94B1uzw!MnuF8jX(?fT|f&~DE+0qveocjy&OW2bk< z7odIesE764OTBpDXEf6cqC_tC!DHw?L+%=nf}aD`F7!vq<|UoQc{+HH*F*y~iH2gWe(bZIb)q zCeiir^R|H|JUJRPF})*bQfhn9G&}kZX!EBAfwov>18v#5 z3uvoMx~9P6I~=!OM(y6FjSpzsPE`MPKfDjx{;^%49d0MVwBxGJaoqXsji6nk9tQ0? zz9(q6vD6#7JKBQwm_)Ve*^;j5wP+P+@6>BR`!w$l+PC95(0*|ZKnJAK9R|Kr19U{6 zNuXms?hHD1cQ4R!yXeZo{VhSq&;1&7LNl6gCLZ|-$CKWr7Mnt2+||#kjGVX!Xr~Kx_Os88meu&7oyDS9Q?Zc0$cMJ3j0KOmSak-p;}cZFu20tm?Y5j| zon8T>L3=-RKj@I_=*+0{XH`4KE_)s2)KBO)X%+4S#nV7*&7$_IU7vbNox_AA>7g_# z>z=08skexFT>aVtG{ffrXv24hgEl()J!p&B=M#G|o%o zg$y-%A~wm1*c_aQtvn}U^Wa2mp3=VpCt|B8k#5SBl+Bumtr90<<7EMh_o?96R}CBDG{3wCt~w8C1UeaiP-!(5u5Peoro>0SRyv{Qb@!WUMvw?1SevPREgN4N=U>O&577z ztcloSIT2eNCt{1|L~IF0BDO>$5nGbIq(p4VoQSO|Ct^$CL~N?PI1yVlBN1D5PQ+HD zv_x#FDiND{dut-LG~^)isVO~bsYGn$IT2fJPQ=FFD!z`9h%LS3L~M0A5nDY@#8wxH z*y^i9Z0gROh%JK?vGKd9L~NNV5nGmXR}?ytO2n2e!yA;Eh^=8MiP#!BRU)<=BN1D! z4CLpT60vdXs6=dyjYMpDoQSQ7H4$4=w48rFCt_>HiP)N}L~JcAiP&1&IT2ecyQU{% zt)n#&8;^#AS|^o= zO`V}cY@LlnY+Z~*Y+Wf4TQ?&STX%ONwjP#5Y(3F3fxS2pTW^(!jeAy79~siul8CLJ zI}uxdb0W3@Mk2O>l!$GRk%$e&<5X0M*ic+8QB;Z82AUJGdD~PXHtvLaA~yBLoQQ2O zCt@4oPQ*6UNW?bGNW?bWNW?aR6S0l7Bw`y?G!YwR-O}p#7sUVvV}O&Blo?>)Q(kqY zkSjdn%W$8|pO1Zw`Pk1qAIk`T)#C#!JwA|od~6U;hQVqwbk6RM&YK>h&x6uYMa{aQ zMQ2^<#2oI*tBLG|;l&0`gn7_JS_VxN51MFW&>&5xdC**gS|EF2ta;GH8G|Oi_@KGV z^^=2If-z`vdJxuO&?FjzCdn8y$uwxH8iOW<2hBwdbNHQQ=Lry!JTb%is&Ql6Ll~*=L#}}3G)fj+!!q;4uGa8%Zj65Z0U<%d~ zzLp|qG2Od&Rb5%rCHFerv}3HVX6OF+D#S zO_=4*uS%&<+x;>Ex5t{=zB+LrVZ(qxMU`uS3(++yK=e}`l~DuE8w*rBKQDRRdCTP;l46JdBUS(x&2=**vC zVY;%JmsI2YqjDd)5@OpgC)lN^Bpzs?y2PXI;Zzb&f?488G$fuRtHhJ+WQnJ$l6aDxhQyO%NIcaHiKjYAJT(l7 z2f~Y(=jy!>My>bjiN;CdscVsVD5bb>eU^Bn3`H{MCUm>743>B@S>nku zNj%vs@ibtGr=dyWX~Yswj$7i%HA_4Y<8=d0vQtSs9 z;>l-;$LQ8(%StmP@j$lWwDc|95)V{POD=l#beKR|6_a=hl*H4TC7w1`iKi_~JndNG zK~C|KB%TgR;!%&Y+8jEP#M4Q7bXF3NY9Sfcg(V*D^6^~_iKko15>I!QczUqJ(;X5| zPbKki+bfBu7fU?c-;~Xvw~~1Jm?WOQG8`$!OG*CTzZ8jQ082ar4T)!v4CLpTY!2Ky z%H}ZGka&i$#52??@eCu0XE;kdBUs`YsU#k5$fQv+WVA)%8RM3C#+oG_2r<($A?rS% z6_Ug=-jH}uJWfR=@u0X`qNpUELX*TJy&b%(!~~2(52bJO2hjCxqx0*D&nL3JJ;|+a zPd4=JDTcm1)zG)6vA#XsqHoVAs&C7HnVk517AHQR&56(FaN_g1$OW!vKA$Hz^*K_E ztK8=caAZz?zEG&_=lo7NxoEU#9#SVI(ulXCQ$gw!44}S)FadG;^TooF|9lB*peH~_ zdhw%q_-Q!bEgEUYU&R?@KwmEGoB@3W4ok>@zLGPbbNg}zbi0vs+$Y(l%cQP|6-Ufl zB!iX3t-vlr-Y&OozRWIzURY+Ap;26Bm$C6iJY{y7aeSC$pp7>0)b^T+`HJ71rm$el?4Ke+LdJr3nx=8!pXFv!imcn&>tot zH|Y4WYK;B3vQuft5@YKUw~mb6tXw<&g!r?L93cGzSw{|%e(Kn&BL}mN%-0^Vg;;gu zD$+C5ts@)TW$`bPRx{$jKHRxhm_(DTa=WEwgkTS>1zmBtaz5zu9m_3~IpZer4ro3f6a@79rir6?TabM9h8FHkrm`lRt32;E680~LGD_zg4|6h$m(%c1-UyZ$UUS-Po*HM z7LsATSV89g9^czgkYSxKX?L`~tRVMe1-UO2~K}PX76_tXF;%bSaQjjN`739iO73^@E z>#$?=cU>o*#;`Np4LdUo*qLd-&MX6VW;5)}vB1t;Q51Kix2N-AM3~8zw53*T679qF zHp=K}*n-NplCdcjtMT&%b`XOathNw?`n#+VT^T!kA$SEhORos`gNb!A$evMST7tjhE?hBA!=?7A||cZ*(QDAQ}* z$}~3ADoL4M$I3K+7+slGyLUl)@IVjqRr_@X_}IO^uZE^16VDgax{>QqkMtS<@vsee z>ohv5f~~m3Cj4#2&Rq*ra0bhUoQ)CgYjXxq0>zXWQIEceJ>e*RfU?V96x138d*f%T zg64fp$4&O9fi_LXBVAW??ErDX-mNXJaFxBL(Y4;Lq|!dF1k=8+q8Rhe3g-OO=xpE4oji`hCe`OBI4;jk(1~+Dx2;Wy^?6mF1jYR79GdEK{Wmr zszbsl+|$)g&T~{Q??bipxSQ_lJDr~Af5FvGyIk$m!&Muvnm8Xko1PIe-_=fI=*rM3 zbce8&RDrMOj<#-YCo!F zN&~vGS~PDhzNpwxkuJqelljv8qed$b{gY@6@$LM_BXnIP$z4&_e z`aX0`#!foU%%N+t^6C2Q)^ufqF#2!9DRh0KMpWCJjr7FaPw2mm>(lwX5Nd%YJLtIS zC8GIn(|wwKOy`^Lr86x~(0y7irQf!CobFSwhiK~pdW$w+(Q(_BbbUJq9k-uIcjypI z|Lqt?XFBboT6Nw_&+T%8XxG*;PIx6)Ha-A~7(qv^^q zqo{^suctbUTSdo(pU{6N_M|hDzM|hwsYJ)qo<<$etF%-^;<|{D8&O2%(0yzm+x7tVrUJaX01VO zvWu`E_GTdLM;F%Si3oRWC%j}9xlO$kH%)KdZ1aZM!2SOJPjtfdWa!cqj;Q(O0Gr`TRa(Z^-kFm(rV@+ap<>K)SzT;TK zF6xCYWDR>fYuFP^8umoiuqUyGJ=vsTPhkyvs$0XJ#+%DZ@99c__qJou&tM^bCS>?o zEW*!b34RU>@Z8e8ouZy342)PBG#OBUd<mK})%@ng<~P3fh^?~K{N^n^ec1eFf@({6 zq%T9Yp9!k{6;uZ>R2vU4+d={vs)HD+xlUol>dyu~EWW6M!6L5_AtgdJ;#?T2vG#(Y zn&Womd@QxFLbZA+Ks6$Gf50jz8!}I&^@r|smxyGjj#5w^T>@0cFjU7{p*oJCI-a2# zwnE*;m}o#X(EG_~dZ$Df2lKJA2onp1ojC6XmG26yzR*o@2-e-Q7N@FJV-uWeFJ6WL z5782=9m0;!HP{4~YBIqUf$Fqh4g#%7P+d!U)K*aK!BAa?p_;!{JgkKZs$ncF$>LLw zp}Iapbv;0JhJtE!XNKxbhH8E{1=U#!s*gHhHBF?41S);;-mV8 z^G{ud!7clHmSOPQ{QZ|r|b$twG8*Yd?3ZD83m;NW+0Uj0ZOX~v}hGrHKROb z!Hi-dW=~la_LPMxxC|=_m(mIF9kmkxh4nMgo^?-|G22C&6_Y57ViL`Y30BQ0#Uz#$ z6Q1orYOiOga1aV}er8%vQVMH4n1 zH~mG+vGg*8*hKcU<+Bjm%;afHG#i4Nvvk?QBwe;t(q*e(kuD3Arwtk~ON4N`v8N4A zH;ctaJso0TyJBKsd*x~Cz>;1^tEAV7CB4q(1!yVT>XCX#L>cXgK@J(S#~ zT1bZVEGBnB6IOB;d~PMlU42;Y>dSIhAIM$(l-$K_uRLx2OOd+Y8ZE7bS{psSt?t=i_=^^#!e+7*jhd zOdYrZSIxI|aUP(9*$59|u&D;u<<}y{%x`hrzNh zgJr*x!Lq*rmafNH!Eyk=(iqb!gaZHCMk1(~r7nZ_&YP6&j68i5d!71KBd(Ml%8l&wK= zI*7(Ih$fgpG|_noO(kc;pwA$h%pf`sW_;cD0UrcneJ#o-TdTGSIOZ*QTAh6mHIz{$ zwWv`=g$txH*w(ayZ7l}d+U$d&aHRUWQe!H(TZSZIln9kJ&2M*Raa~)7@@|8HU@z8+mekX0j8+fx;~I zL(GQH9;;NZc^5Aihalc%de|*isj9GBtWs58dkW9h!)_6ttHN#<8D4vY=UTk>OW14A zBhcy!K=iKewdWpS@!BJ%*X*@NXs=qsijZF2YtP*&8Zo@eYmaDM_Sz#(x1_LJ1nufx zd-ZFJD?s`>ReY@{E17HXc6xa2T7=eKi@$Y7cL^B003%4rRzWo~+4f9GFA|hA-T}&R0afOcq+-6-i-|i-PwT9 z4F-fB%7DOauVB3=8xYt!uVB5GG9dIe84&u&@V=!Q5c-v3KZryn_k(Q7877dEG# zEyWy0FKElZwyaWne|}N;Doaa>?9CWlKz$1%%TzzV?XC*Xr{1lb-$-m#=R3#UNsr@Ynf2Lh=;YdQjpZ!TNR`_ zq#&hBkGe`hs>rLn>al{v-zpv+V5K0z1zeJXl*tNG7Ar`ZP>`~ff~4-utGpVpg2eBp z6r_eqL26`DkaA>rZm9}V<5Co)JXVmJ7z$ET8OYBw**&>+l!BCRC`ip%L27PQkXn#} z)RGruw_*=#f%34nws=?(@~1qk2t3z4tlY8=gqs)ju(r2&SUa$XwWHx-?Zh5dej8=? z>}>Y1b}>AxU9BEg9t{VvfzAwU=O}~J8M1qJH$1F83=eBh^04+YJgkT~XAdjVJefSK zebF+3{n*3WUwK%$XC)1gAptM5o6>F@Ohjl1{#8FmZ09Kg+jITXn^R@z*kM#6q0F&W<3@`kPuwr*-c)^M%1uw{{Uld+sM4%eLL6!lG z6;JvAjzvy=eQvK}Ui%cvYoEdth=dmf5$WV~Az1qapwj06uBrn`LW<4-(Uv(NhUWmR zcv5ShkW*jJ5~%LMSpwtDb3lSI2P9hO09kD9le_|JpSXHTW&HyJ$cx5AT-mixUPhFT zX{9i~l8zw@9>er`R!FBSDBQW9iWh8`yI~vpxv|7wCF(C_bri=TD5>mnS4SD6#w?W; zI3tddBz3u~qd11*Pg)(N9%q$TetmTmkEr+(R!4Qi8{6!aZi4d(IPm|ij^b~xe*yeKN& z40cKkcpB^t;ffD`Te!Bhe@7Vm+J7WYAy&(NQMjVWRk-j2&nc7Scw zIw7pZzD+yv71(v!&Us*mHBzbU4{5L60rs$VA9O)`siDNB1zP9JJp8QHkHMfN1=Jwp z*ax&Lb-%p-;)>ym?g1U~WgXCw)9s+6R=o&1W;v2a*vH-m=(CS&OZ&tY_NLdEct2e~ zNm8{ZKROC@%1=E&XGBc}ow+jrbk-6~Yxdcv6XIp zSj^f5_J~;J#3fINa^IqKOmy%^=|$1)0!pXETjRlA5reM+sqV$>gs4>{*!Y>N!yqHLz{7Z3;n*E|UNB{dy_|pF_3Hx5KA4F6781uDnsk#fa zM`Bzd=h{lt$t^k=>HXazD!b;P!Yk3KJc~{q(%+LsrwYt+<9L@Hf?G$;pOmJ}8?qobMDpotOS#^8%Hxb7qMPf3SodyL8GZZc^U6ZZH~H=K{g9HC92L!`*B$0{Kbvp*`E2HfXpq9ob0L{v}ufbpfYrvOd;2HAWs# zq#Oa2Es=HfH7d%2<-#puV^z}^bQWhqUvEbTLzMw%v&F^S)@&nbXR(pAXB!DJeJdLYoXxs>$>L(} zWVVrXHf$tatTqxJ4F{3nTX!+5GX%@s3>R~E!^PZ#T+BTU7c&g_>|%zu+2msGLoVjN z>|*X`busssAp z@t++^7u9#Z9Nav>;gr=Ass_KNXhA0_K8dzekEfvyC-ognyN$ zF&n9zoE-gig)P9Q9N#SWC_ke&M}PU4qQ87q^cNPp>I+9ovBmjw^jE;;+nBMvy>ib7 znQhD}`U}2zj{br(o}<5zN@Ubd5|`!+*o!UEUn~Z06Jf^cT{8tLU%95~IJcOQ0V8mCVs!RXO^Ltz^myj3nSH z`l}j8e^oCn`m2VD{!(vmh2~UDqdsZUqo#`fa&q)nEsp*&ERKjYSJ7X{OIlL&S2{<3 z)#d1~bVPsEQ_)}Q&K&(!pQFF{-IT>KLq&gOI(Na7Vsl;smF=@+cy_7LUkyr${%Xk4 zUyTfC&XIxqJd?$dTSq~2t^v)B8JhE~(Ann zzV}5VKME|++?t^opst`95o9_v^V_KCuXbi=Zf`(y2P-u5XgH{KRM4!>5Hxo(pt-XF z&0PqZyBg5k%?-^+4`PDm9t6!j8Jc@3Xy%@k)LVx1u|RWQH#GM%Lvw!vngX_| z#p6^|(2U}0iK2q$0TyT;q@bBQVTl^^V1{O>&J4{^o)t7hcUI602v-{O2!`g77HA%2 zhUU=>&0`pv$1*fyTMm7*3&6LoF^^|x#&TGFrwgdg=5606DQM=`v1-hde_3OmVu9wV z49!=W#yse$qOfe_ps2{OTqHTvLLY(^?13Ay4Qb|Nl|MNTm+m4nA};jxoWC;}MHPnS zP=;k*hF^LzicdxG^ll?aHtWzpDk7-BCp`#b7y>VL490vT4^{1`i7E*+Lr3|Ovaz;g8xVfhzwdUMKw%Z+O*5|mx%m(yNRrf;9R(xaX= z?Nxn-W&T$22*p;goLMp~XE7{iGc0ETmK&6u_NpPnGQXRGq`E7WT@b(%ZgH|J*77}d9-G~8`cI=uf zsK?s=*x_#5VOSjlyr zyhu>475x8_Ei(B7DxLh_u|+2L=xyR^+#*xGy;Uc-W}@Pa4BeTicq7N(n~93|$+Kpn z;x*<9{QtmARE-(@P3Cfb-Y5CN!(6Uj3ZCq%(Oj+5 z>*fD+b2)#~lakHl{7Eg){Hx}2zSD0HFykg=t^98tV3vKZC@dSxmLzM;1}q!7o9%xo zEUPrG_J5TZo3qtkov^Ilz6_Sx?`zVSxpl4{Smx2-hGli;DuQM8#{U*r=1=N|W&WhU z6_)uA_`xaLl)Pl{9}+H!Slf{jIRfclzzH%uV`_faROYiz3>x;afJ6 zmjIv3wB<5w`AROuQevzXmdkw0Wxi##6pK}>t7j<|t9EgE0;@9LGB3qa4I_U$EOV3o zBVhS^-=eT=L}Mce+mgIQvbJn2#VU)&E^&o4vSjj7ENqp*OR+cuIaWwxfmW$YvC5*c z?{UuR4Ln-lQ5KEuf@Kwc>QvftSv2;FTC||#7 z?BA7BtWrc#Sgy#4OAJ`XZqmB8Y{0UyZB^L{=@MbNY=tyUn+3HvaY^mc5|>=XE2Nw7 zBB`cE;*xwB$ZLvCAzv0)Ze}Dd!ERN0PO%od~$aY-vqTvEV^OIoYMC2cH;OOR?r zB`(1R%zEMyV}*2kbK;T?mc%6;IdKU#t5S(eI&sNmnCrNjGca5?%*$ z5Xh_N6jNu&h~2|TT+-8kf{1bbC+PBHAbY)V|xj}n*k=fougRN@k2h4erf zGRTs+WUxDN$q;km5~K-JImL!i;*#M;;t~{(Q&A-@L2qDg|z3dtdK5SB=u{lKBd=6?6;YKHO|tMXBs@#6Aq27E3Qo!T;>*kYIEo#X<#70!0SVhRy{VS14v`iTc`cY;9I@D)ph-EPVoI3_K@b* zQ8w~FCtcZJx`#B6hCeM`*6>-rfq!W!kb!TjtiedR*5$8r+G* z)ETmoUnSbIdSeds{^!B6*>%mI)V=Qpe^N`J_pc@r<2(I7iNv^3Ii~FIx$lNcTi(;6 zC@dT6ugbEOl)A6;6<8L{OYpDGWzp*Gt*~4c=;ap!~N^A{N}a43@Dc>0i4Q7WcI>Shm@X zK<_eGE`w#|Tjn|Z>RErq81gS!f5j7A87#ZvZhn39=(N5?VYw0;u@Uk$BnV++-dGl` zd&7OOuDwxp%oHJBPJch}<+8H$=ZMe%AL*x#?NwZ>h;7b${c+U=>Fcxy;NVdkUwg!c zjU!iL-IvYzWFS@Z8k@iL3~=TJp@7J?aC!OrQkAN@%7|bU*BWApYsFrXdR%KPwu;m@ zg$h%fLOEx5M@`ei_5Glvqr^=irIWX{vdIi=Yh?+I#b#DT_wnT8<}=Y&*2TzbKU!;H+FV#wSrB0Rp8KS z)BY3uN_uGZg2(Xn&x)$f2J6vw&iz!pV7uHEPnBEnnuw~-pXssE+k?X}TI#!NI`!?` zs+t`!t$3H!0@E(5t<^58ZFrYeW7NnH`n1kvU~;~#tux{%4rU`to7erd=XHPc1$K3| zEcR1RhsUI2v3=J%IeYcOy<$7_)@og>TdQ^Dt<}1zt<~bYt9{g*L&B)l?j|Z9v-eN| zed=*mTS!lI1fO2gqqo}VOtp{<>r-r_Gem2vjn4Y{zHG{X~nrYdN zYnFLCuGyS1We#u0HCOO{T=NjztZ&Fg`#S3zWnyQlLygc)KNAZP@T~92wFpP%y)qXI z6?4vSrMtPg`=69cgxZ!%ox+gv9YkGtRAcH^iA#lLU#?}Sfxa=k7O*^!0Z58NNqF=ff1)-4gNKS}a9rJKuKobiXyi zd7W#wt8%t-+JWIkq1)?npt~|dx3~27aqa*>+hl;R^i#)H==Nji=4+4G{H@R(AUy+1 zfNuUpSh2fvGEVI8taf@1Hiu5jh!6$cRV>gAz*f+WxN04`!_Ckg!O$J4Hja!cx}URj z0=QUbbT7`nNtj#x8v$625|o}n9ntyZ-pGIXnZI2Cj!nV~z`fbObR=uR=9yPAUT z6gPBNH=w(Q0o|zt-Dw7N1F!W}Ef+N)w!V)vHf-Lq7X7DM9foeMo`UXl1G?)nbk{2e z-SsWdok2Y_vn1%wV(89h=x$(w?uHEAjTpLfOwgUn(B0S#-Fa^4Hm0g346rE-utq>d zQxm|Zm;pAQ0k)Y5V4Ev|#X>248*`&?n*p|^)0;qXb}Ki)7PtYnbuoZdPY1xZDF(1@ z6~MM*fNgID*bWS^9T{M;h|0BpxCLN4D}YsxvjS`v0@$w7qniR))j~3?I|D5D`}iIP z!1iQ-Jr|Ct!2sA^46wZ!V0!^z`zV0rwpRe#mjRYLo!U&Sp90waCV(9v!v~fMu!Bkl zSiedv%ndfy$qkW#{5;b-Ic^>0Y#3^+lN-kCjS`r4{Cer!?{qGVT6m)lF=L|T^PE%mJHq96m+Y{S)sc-L3a=7(NjUUY9Sfci=mtQeSB{Ny0N^u$~UO6(+u5x z8M^y1boT{x_gB!(ZLgqv07Ex-ItASW6?6|WLHA%8KBQFW9$E@?2QYLGGoX984CLpT zpqpDqLH7s)x<@i}kFrAdXoBuB4BcZHy2mN#=7vlvlp*6S&^^Ho-4o5wJ;{LX$pqa~ z4CqGjI29Fiqqth4sGxhY1-hpyC7at^hi;?4>(C7~THo^;S~Tx@J;PA4XBtZOEJMkj z%}Vwhi;@i;x&gFgo3k}h8Q{%Y_B_FA_IyLlUSO!%P^p!gy~t3r7aMB!l45H1QdYD1 zy>#&Ak#tfnV>MfyvV!+=tD3#SP_wZg^wB&FzHq)BDXO|CZ@n_O?gCfA#>T6>GJ z$@Nxalk06bf1N00lk4r+!W8;Y-zdNbDeXT1fiA84*jRx5PeTZ;KnLe(#7o=++;K z?euo%#8G;I&%{ak-{)d1mClQ==+<9~ZuFqLwI+1sJ=#M0-Mv~RDjm?0=*s)FPIU4? zZ3O-NkoGn`_7QClu}8IObjcBI3)T8DZ7H2Rs=Z8g`HvQcyXfDx4gIwBYxKl6adg}^ zi`wjZ@g+Tdm*_~P8^s%FR@V>0zobV-t)iPpAE#?#=F`t&8&Si@O{T}h=MYW!p026- z65SwW82z_e6g?(wCe@+lcDhfkG&-)GL5*1Fak?_ykB;k)qSws0g{#>vnttE@E&5G| z9QsYiY*(&ij?#bocPBdFemXzo4!UyqN;)$lfUY0uL3bNHifTVL zhMqSrg{~~TlWH)bGd+9KBD&k;Li+ENF?2kwDYfJ>L3Vfha`D<7U@OFZtH3sh!Su_` zB8qOgMFi9PZxi$A2RDmhU}!t-xj97zbsrYgVUn=A$9!2(_hUibU-}2IpdKjw)Uj1i z4`M-`uRUT5whHPY(z8klf;#^qtk~UIP!BZ(^)RcT9me z7$vC3ng#VZx1bIum+l_psyY(Pf_kDwP)}k(J=qY{tFoZ3?!kh3idj&vW(exlt%ADU z5Y%fZLEY{a)Kd*XJUk`vH*pKACZL^^6@f&SyoE`N~vazYh zSp{{gjZL*s5gQx#``>G0cj*tpaE@iw-KEU24oZ2UZvpw6xH$JyApA^#E^o0k&Q zxy^M!-RSSSpgxHOb-2Y?P={k|^k%?@tO~zacNN;^C&tgA?vrJQ$gyK zRY->h5WL%uWZY|9&apr!0?HQ#1wa?l`EJpW_?3_j*`9@TNcANN=@9XCA)VWoh4k`n zAsucsWn!yDQaU7mmm?EOG9-T`r$gA+<#Y(_W;q=xkd&N`6i6k=>5$%aZ(A`z-TR6O z>P?lPuHCVssC;4g@C=s+^bewo91hT-v z*B-G2Sp|+@=^4TThjR+W<*3jFZ?k!(3eWnXrddBs&HCXy>l+U+&-&6HJDb zEQNemAUsDGI^gWng^pS*bg1@nDxm|CiV`~Nu+Wii5<2XSqTAwY+7O^oR~ezy+gq`% z9xn2!FFi7p5z0qLe;Jm^MkxMP@mYou3Wmp$j8F~O2-T2{Pz_*&YNU)%>dsDuZ8>a& z;&)TnmaB|VjZH?VJQ?1kR3lW=QjAcB|0v%uLN$|t{5%u3aqB2-Yi<~!;5F3qEJCz- zU@Nt$^9+T@J?_y8E$3grc@|r9p2apw;BIRXxM79Vo!S`)+tH= z%Lv!uJd23eG38n8kCq7>z*f0|$|}b_D`}7n8Emo24RKrLhMKK%NSLS`YQxDYH^Q*W zp?I8%$|{HAYKfw<$|2*T$)Pq_Vtk2Ao&kimYu z1?(r7!G0ox{Uiqa$qe>W80@FAL2epD{d7k98CIa5sbXIEb#$EPPkK_$QZUb-)UsG* zwgu%OaOeRqFed6C&$o((;GsYsf(L^3hZ|F10dIv?gxM%qsuP{tX2U# z9;}voO8*M1mRFR1>e#B5S7NoCuRUV(va02krKdNm=$!oGoUdyDC(=r+8?IuNu@+$hK^T??yL+i00 zpgzmN87u~8nxx}+{i5e=eYd7B>6 zv?eA~+IIXCA~U3T-CC8v&V!~UI}Z}fW~9q?9vB0{Y({G3+_nsrn~kVkHvJ$fm!o_T z`(ugnQBQ}xr)@ENPdgRm)1FN_9jqpuj%?ED#8E!bzDo+w?V=1U>Ty;BOII?mbdw(4 zm4StA-eEo1z`}zi9$~p^1x&A!4J^Icz|w~eEWKf1>8lJZZ1hzUSwA+ga8FeRmj24X zGQebD87RXCm1W*TDPa>P=#Miw=nRKIw_%i>z)L4%IZmg zAHeKMzFWI%9_Ze-xQMME`LMh1%UQLAbQpGye$f#F{_GH@fak-@=wy&f9l3g5BU zmIx!VXTQ6&9CQ^N{e7Yp=8DxYINRrmPUFDlixXdgEf70l>;Hcv8SERiRIEs{Z_=9V z0o$xKJ_5Eyi#n*@-ercjCnbD`)3x8M3z}VNBxvrbY|vIe27?Zpbp~|w3W)%Ti7ns4 z@$~O*cl};Fytk-yWb77IN%x=lcqt$YsqDP_T1?c-<*zJ1%7+;RD~Esc@}n@rkHBji z{*UEH_Q;KBf0-B}L#r_AhBE4gG3th!P&a~6Ho zF%>U^5~P6PYj*~U_9VNE$7(NWPnKAedKibWQ8`y)3lOmNt-xe>3Oo}w=j#Pjh>OMS zh(^-|(1>cz-PDc+)h&`8+zq5!HHGq}$~Oy&yN(WW&0Klvj_XJYLPAR#eqDOL^rDDKEn+ z<#`xVUZ#@rJls-Vmh-VqB&r6*tq@?=62XYdw!RhzR0abQbRL#)hqif zw@r4gy$;n}BRG5HHZi4`&^%QM&C^(Do^BPIXRy#bQx}?@Z{e=)#p1J+sH`4h6_sbB zU3}(94|pL4VPTrAqFzOY!3*&MEmeaytW@lHii1$nG6h2D{>b?4c$~4G4dPG41#&#c zK>Tq`uY@D#LIH^xGSHUDA`fuhzY{NiR6rsM*-#$;2<2f|69xgfOTY)QC<^BjAQ$bz zfz5e|itQl>7=eh*jPFF4gjwfJb5uosuU6yb&R|M&>~7Np@YFLDXh*lwX}h zx0+5x>EF@$;zs&KAf%yBU0aR@!D!)Co2tVNk%SGOLLdP};4CJYYj41PHw%P5gl@-o zw8^Ihf*-m;s)+;u`pzI0->q$?hxpFHL| zyhMjDx(?HC!r?oTE_=^)qL5B}>pHxH4j0?##~;z*eYQEjV1~pqtgB!|kra z!F0Iab-0cWcb4BQoUQlJw;JxE0S&1MT|%MXp&QDTbIkF=Vp_*s@ge}&F;6@}Y`!?O zA8dhW1_8;jP}KemY>~*n0Jc~J0gfF@#3#eSmWnD^=ImG|;wFME7heFk9V;cj29tf1ql->|^Q3?B-!m~Yo z_m&8;;eT(7i*KOxj(Dp8rL*Fr!MO4>{mRc>SK7Z31%2_qABCMH(FNL__-gj$+O{}c zxl41^>;}zMvl}&6&2G}DX7*#+c!X@&PiXHv4EC&+y9w+??fRd=Ue^3~;IXf0^oi}S z>Nk5$qwj7%qd(y-ElJ=BZ)>i4zN1k+?eA-+I-xEfYL{Aqozo7E!X+PRy9-hJSbGVT zw}1A(_Pzs3s$y&R)ak&SQ8E|-2UJ9qk)&iLBTA4cf^g{RX=a+4>2A7vh@wP6f&>W? zl%Ns~paezG!GPf^AR;IxOb7-LMNmO}->%x#)6>j(_kaId_x)?V_0C<^KJ}elRl9cW zy=$M-HC)-wbKD%Ci`p-8AkRtj{vP1`RgL$X8t;@E?{_ucKjy%JXfV;$J6pgkG1yGk zJP*hm*O9Rx^IfZv*_o!7h@&VFL3?yFQe3%uI5t58-iq*sp`*F;g)97O}vKZ)q*X|OdPWy1z( zKpM4u8~2Tu;7!7FbKL_do96$BvRR8sD4VY)qiAtz9ml%fWlbO4cRRfc8{I}y4(bswWXZw`}@HknF(-Ry+|lr6lyP_{Y=tM%M=ErN%q%>jxs?RJJy zc4$RD(Wz@!l%3OQ8h3t75u&S+hqC(#;_2b0K6}mTh_X-r+fm+q<6xBctR)W`@LOM$ z1AEel_A)AceX?NXlg#5G=hwCV$c7DDR@H@9+zTWQpC=&E| zk$C!-C0o3=8f5kkp5OsbRtLg^Lz@843nS7?v2Xd1UiSxGPHS!7P9qOKay82AlLBS1 z74|q!NNOc4l@gIUiAt5kq((+9BsaY819Hi+6Y8-#CW#6)(7}VE?;wmiP58Fq@pKW~ z05V(L)(y`Vi2>wDi^b*rK$eKlYJ#j29cVLIFYcffd|GV9a(lOljf3&*WijIzcmIyK zkL>J2u?!|7CsJeMcqp>gm$d<3-|4${W9;jiBCQAIeNO`9%Hpy>Z`Q z@8!5}w41i2#ve6Bc}vejD4VRNNj3j~mZeo6lD5OHkAZZofC%92R*CGY=cW5m_G(6k z(A)PD%05?yQ1)$?gYxdKwNdsvMM(c)*PtBmIyP`x5|o3y6rJo9^H64mGg11*0+cz= zkyLrV{E9Ms^i7n*%8fu7TZbLfGwLDQoyOK7W#F6NW{}C^^;IC##my9sXNx~*4)aBP zJIG=&87h_9>9=eM=5WtBEQY6l7L^0$lWX03kc@g@1ybgqu`oH0eZC*c!QE))zE_YJ zc(QWIvHb(c)w2U|JWtMwyHMsH?SV4*7CHaWM&#akUCGt+H_})IGhv>d&?WRVJcryn zas%mc*lXn2g&$I%!)p`ghz1l6MxG?c9{n}pW6qPu-S;^Kg0UkBd7wdOl;gw~6bZ(Q zjwH(jaTD#tlSE}2X|f2BI1h^FssAaWI+1C@!Yri*F8u1%WE07zzI}C+UkH=GeIgktpw5Ru$#gDYPZrzq$j;apDRx+VNr#?Nt-RRO)1+ zcp?K5JSgmLs7($6$VyQ}>BEy^Uo()WgttD(I&sh4AkT?2l`-rFafFO^qxg9y$TqQ< zy526vt^j#e%q#@wCq&!}a#9>6wVx43>DeEm5~3(OfY{ZaVMIu z)&l2r(@&N=!^|Qw)BK1`>tS<0ky+;LcYw?`I}w>KDM?>x9wPFD znMDb~lctZzD)U$J!qw(UB5TdLbvRVL{^F{+Si^E zJ|b&G6$%sUMP(w-icZvSqv%Lvo2X4rzeDVTcdL<4Q*^v~ADKe!9W;F1gJi??vt3|p zT%WSGChKaUY+kM+kX9WZ#eJLakE3jV6RlmR?X=_E5w3^(Zac{8`aD8;+`u1b*?e`# zkFtkegfh1s#nHT>FQE**9zZ!v&|VQQ_dUuHb8bO7`nJU=$5y=pZO4l~q=-pkOC?}a z#FGS07k58~+FUV!X0kxEA&o8)-;y0XCN9U0BIk9P?&e{Rm9_~iqe~P zmU#RpQF?RMjKY2H`8#nRTzMAvLkozfU*7(!eeILOxH&uWA42{2>`~7dwoyyN8gT`)SDr#4kaa^&W+`&{KGs^@M+-jV4kP z&f*!f9it$qeoE^!S-8jsriq8ixn_xTsL3(+hzd|T0+y(S2cL`AsGGwgLd*J{co1tT z+0Kh))bn_=HLd6*b1ZF_Q_OfrkZI=KWKr|Xzby2$z&zpUqWQDtXTPAf(Oi54WRrPn6Ub)s`E4Lu%+dWowwmX% zl+AkQxZXnc=$-4zxDMnIS2zeV&-E=SZJTQ`MaY+3m8tvfu4~ENcDOF_bK5sm+c#C) zU8?O{s_nmAcU=r&-gAw70*&5RZFd*9{YbSvpxPc(Z9i6RKXYw+7>z!6og*o}P;I{~ zZhJ(v{a&>_s@fh?ZGU!!=AqGX*FMtW3Dx$O;KULemRNM2eSr4MoKdz%? zA^JGCobPydV!l(|QdbYTrLLyArLLyCNmt%w?j7wwmb)(_7hB<8x)5ZgyByT*eZswY zE&5&MPWOSVcHcmo^cwdhtbu2(d#?**z56JM{j7T=mcjFadkh)gCihN?*_++D96`KW z-32fd?~CqcK)f%xPg5XzS#fW7e?|Vd!~F{)2HBeTJ;nXL;@+*eKX$)QyTd1n`;faf z96)j(Q`|o&?jIHR7SEUDEL%NK(LVE{XP54Kn@39WvPVj?-6JI_QrtT|J;*s;^9+SK z%f8=G+;1xGU5fi%#r-c&1)A)8p0RL9$-P@~?@`=)759F{{gEdFuH-r384hoh+#f6M zPZakd#eLLsij;9oN%Dhd9{gdMUS#cj%+`lUB-;^Y$JZ`8}a-UY*XB77ziu;`6 z{#!|M-cys~y?2~f>SVlE>STgf>SVTeBQ4?_ubkyv@9+9WaGv6xuecW|?!}6GiC4~Y zsrM9;3n|ItihG&jUaq*G^^T{=_nhM1;4OKUEK=yhE!Wz9Fc>jI`WS@86m$1K6-e*1m`O90k8_4)Fjqstsv$o71hfsUEOc3on z&z1S^8Ib48Y?uPFxr~?6t+&cluL-iJ%)e+?`MS(P%3*&fQ?&xfZ)Gl}aQ0x@GD-wz zq?M;kZf08jB_NB^W+1qcBZ zXq)^!tuJL6XVV5yPv_D$VoUV=o%YhTAm`JHs)78I_6j{4XI0(_GTwS~9moVL^BBlP zE7S#KlJ(NdAd{`n0w51shb{$~VqHs##|&#Dne$A`OOErf)s)^BeeqtRby&SS?lklHfPmoAoTCY$@J8V@VIlr==qxpSpwWCRY zV~wPNzO`DyDLmgDe!q zpl2toLh9vLYX;?LzgfFUh*MTSn)L71dQ!n@Yd>lJjP+_R$RAc33Gt_Oh8FHGs|t;G z)>=ur{>N%ZiN(0|mDGHE`ZAjPg!E^~h$p6}6Pc9$Bq?ih`f|!59!yW822;|<5Sf}@ zk$QP3eLb1RwDikJr0MB@lJJYuulN==xFr3jMIcMlyFUr?So&yk#mCc|&>PdT^oeB9 zucm)X=Jr5a6+*;YQiVd>Kw>H74>MXo9r>jSN2U6uJhaiEn?Z~&5=?xy_ zzjJy+ho5Wzv!^$-8~*>(8)g3AKD~jrg#XQjya$QTNqn>@dErxlfrB8%eR$QTD?^rs zfv;Gl^49=v8s&`$-dK{a3{(hTo`N@G{BR218MrVmH!AGKjl5U1kG!vHy!f7~>k>a7 z%ll9V>U0%4^fSf*pXh);-@U%a12{o9q?KX_)Wk`&qenuy#*C9Zgt?l!vXK> zfKysh+WHOwzo2Yt3lEq?O5=}9{!5Ialze6^aKor%^jnhD0d8kY{!5Lb-6io=z$;N-!t|t^RYBIh8zYWp#fg(mGKSOR)9kksH3gH&ylT6*0OoKKNz@>}Pxc<6RmkU^wGB66Z=18O!`LJ1MX{uh%@r$I*)bu4RfC z%NRe+^5ihSQQ}-lB0HEr!i;6O|2G-$aGheF#ce)d{1&#)JjOqlcv8oFdxH7LjZuKM zlRtr1fd2LSPNHR+(tlYt@Im~bEaOvdQNT-#H@-;mUrzxCS2snB>XM%;N#q9Z=SQ|% zZ4b>DU(Wl;TyE2j@f|%Cu!8aagqszN+s7w$j@!Y^zn1Np-e>6A274pBdH~;S=sK#1 z5n=uo{S@#vuVDU`jA!7m5nXe5zMU8^(_Y~n6*2la z^dDgUzC9EpeoT?qXvSOTsCr#RjLD3@J5T}mjY(ch8Q&0A^)-qZPch!3ivl(?zJ>8i z7;nM&D~v~Yz4UzdNSv9H$k)u@nghmpe)g*a|5@g*|A1m_&+>bu9VT_mx0gELb=Yn@ zabPZD{^pD?AEE%>_KXe={qzG){+=3d1KiKh>Z+ek-2WKHTQ^a_9>(V~zOSkRc-f34 zj5o6t{x0)B$M`^Yh&hbE$aoG!qHC8T#%mJiN)kE5{Ppz4&iXtKJR^xu-~J7}qIsE- zma@O3bG-V6_12jiRAv0GkOHPLUW@TOj)&LrxHmCgzP4i2`*=Ix74bh~w!)D{%Bv^y z*KDln9OjHH#xsT~e2XGR0ppXeQNT?+?r6rJ>8f!0UO?A0#>aAkz+ui<#`xipif^(a z##+YfaR2OP#ukY)QxbWH`J2{Npw9mfFur`W!u3A;72}6lpAT|h#~EM1dU%)dGmOva zsDN{fUv#mG+pR|^U@GHP8INWvfW9lybq(+e_>Om3%DP|A{PfRh(iKs}XvFxqaSG7( z*^2QeZ&0}Q_d&2L+DBS*aOLGUIy1kQ*JU;Le-Gnb+biHN#&a02$NQAtFNRB;nUcsv z=6|h$0>|;QIS%~Gng76*ic#zN6~?!GidKmj*1p27GnEYBpy8!|qqmjZNN)SB@}uU5E@Kiz@Tx~Jwd z1DOA6b_kts_!(c&T=k>%A7i`@$G3GX&q&6PGvi>!CovxAtpM#ua~R*tcKayvFJU}m zyaKfStYy3#%X2&PZ({tW0Sb77*JT&uuE7d_N)cn9#JQ40jxhgiyij@k>@UVUbx;7# zUC7H@POal>Jg@hezdYk3INw{$crA%@C5be0z&mn3^)6S;r@2ip#_wUf9m}}Q_&knp z`HY7ckJeGZE|!0k#F;6H(CH=eUw1tPayT$nGaebG@Vea3^Nerg{qYCx>rKWhR#5!?rz>K7%y#texwQxbWM`MYu)zMG%X@nzcIQ~jO3m(u#qWyZD4{}T6eIj>_6#`gfv z;QM59jQKn9ycY7q(~LiGrvfzYs-VWbn&aL+<}b&1{UHh%%J?;mTWrs9##=I8llvdU zcxT4<7ASzzN~1U9m3cy1|31d&aboxa_Y+|}5>^0*8)FRP|6Hx`>zRKt@LGJIOqLVB ziA?}B`C7&OG`>Zlz4+lq#<$<703F|UNj$j+b$^igBWx!ec8%{Cuh>%YUB!NMit)p| z;n43xbe#iU5&J@wy{hh3#HdtJt=GI33K+|HZN}-(Wa#=!5yR-^kH#Bhh7H^HWd-fH zFUJ57ix&q#w?VS8@mM`DVj)$W$+gCW!@P`W` z`GI&KJF|Z29QKf4C}{hlQQsQ;}f8AGDJf`FY}SWqwuO_FLhIO8Q)3w*&4wl^=**h}ebkU_Rl2kpX{UJWzaRgaRY%NHpvZ#A1fzvg_lix@&;D zXdvGg4-OC55nnvl&h>?|^8@Gx;>6;Gg zL&G#ttV?k(2?fQ&d4Uk*r-2jq$z22^G`DCVI~Wc4vG|clAVgY9Ai1!`?64nD7>{6& z5m*!!2TClA*s)*^4Xzd}YAA~SWgFNNOgLH?i3h_WZ4}T%FhBc({u2`WVzEF0?8}Y@ zVuktfVn%6+39-V3aw&p2A)hok2ts#>ZiZkk@o*4g<1R4LpI?{_n-Am%3xbe|GzB~u z^W}#M3yLd|T%WFFV`el2vBkp#`@@Bps>EXiO9LZ!)%P^tqAl5Au__@&m;WLdji)lH13l zL0%p?-C)Ru-O+?&g;^L@bzKlBNc60{o|y5>wmbH0)3t-$p<8>~HthEIbZgVKb34GD zy7jR;+|EyLZ{O3fJ9X*awoMnid&iEwI`p=Cw`tp@gH1M07A_4d6b?yq_W3DJ8PcC& zqsnh!-!Vh^jtxyyEHMx^;x?2kL$5&-fwHk~Mh?PtXn5;RT{^dIhw#xb^JeWg`C&hT zJ9)B^RT#{VW4aUrOE(0>@j#$NFJuSsw{VnV6@^-iol{r<6U3DBgIRtGrqQ@fQ9aSH zQDdo2xr9c6FE3!{Lhvy53EM_zp|DL-kq0N5ki>Zd2whj@Qn=0JxRuC zyC7y~`{KTY<`C@-EFP^_itK@r5o|EDCD=qUKhim?fy__#fd`l&oRJn%?jc$+5Qjp7 zTo!C|QsW%?IA)ZY}Mf+iHo;}1D%ujGOE*=!Y+JIUcCZ3T6(KK>PcB~?52`<{7qk1s4 z^C%UNLm9!CazSNK7@|a5UXxfP;Kwcw3CXc&@nSNF7kdee0CVDvhd2u5`jY!2zbYUj zfhWPkqd8I~q#c=EaD*q9_K(OeF}RWvo}(ftl;O*UK?S6l$>4?DBOEJfClPGNC3^9r z84N?l88t~MzudOuj+)|NND|=#%Fk00HoGu_XMt2}V|P_PMA;HsA8+9#GA51;O8Tr! zo@6ow(+MCS8U-blkXR|khuD`B^+j@nh-io;IR#;aZW(NV=qN`%tx>&G2KL*MiMHQHXfyIu6QmmbCwNJ1Y%&UVTED2 zrU;Kv4jW2t@suGVQdoqFke(J9ANbTpmrxC@7L3!E6VPTF({*VuF%Fcp7}0PTxm3Qi zB<%dYQHfsUlF}or5T)r-0X%J5cex4bP%Kk_PHAP}Q;97`3S$tx?UZmD$c;sie#5#( zW(UvWV5h@dvBnUQisM&EX)C4|LWMhGmJJ({XGURBS=jBQeUUFp1BKzq4G*y?791Ub zW`ZGBh>Tc#Uu-TEkP0Hja!|ZbOQ-ntW-r4fUdED=Wb{137mP=OC1U`>6J;#e4Ux~v zRZlDsd3quvFOEb|B1M~ESjOTKmge)*mRiVPpoOQ8Lug){i_w*(N1%G6W>v097y`jbirl?7rvsD$Uc)(Pnrk0v<%2G$jR;isd(vr0AnXrB^Z|N9P;#@&P-;`yt{t zt)5&RJ3cBButWGpAvZWASTtM1$c&9Di2JfY<55L(^_}b|Vq}I8S2J@$g_(#gn0b6u z5+v=f9ug$Q)uwIddi2#rvgi6@xkhI8s1Sxw6zY^uhT~lk>0^nCjc4?|f*SB$1TU(Y zQe~OA&CEfp&5Q>|qNJ}cU<%8uFEfzK-&=CC(TT39rWD8!mSqclj}d$YK|f@o%r+B2 z&d8+TN-2FN{+XV_9B}$VIoP7P8Vn5y>w8~TRx~hN*JNC0E+{SmBaSgz;PXfMJD&bb z_1~rRotHkD;q$4yE_0Qn{MnbED&9l|H}u)C4F1#Y>0BvYnr6saagkPhEAQxYVRHL^ z++NdbQuy_EJPp&&8p-YT-w$Y-p&6N`wx`d8FVz1qJoqO`{z{hO)U*pX)bi_b zG^OwJ=abqG=JuMl=Ju)bGi=Pn4e3<(x18H+TEvWc{M7l=cXVpsmiY#!s~b(FasW~L zOYvW7`xU@QMY{jQcWHe8rAz;gp=xR@eNS{L{!4D3!R<7ypeM$S_;F&G)hX@kS5l0c zYI(VNLVk^JNNKNsU)I!{;^%sN-5;GBNS0rpi_)~LW@MUb|J%8JVw$s=k!fEt?xai0 zt)Vw?L*wiA`dp}{y>SjR`AQw1elJOGzhSxJ*0eYO9;^FE9se^tz)xn{OcH;8vw
b&ZkH<(&OkZbUR&lp)p~4{0e)yU6G=x{Hg1ghW0dmeZ`(A zD-@~Qt_eil5HDStR^;{yEiMNZsrw2k0_b*{GsB^M!P|l)9Cr7TB%6A zWb{H_{4)=wwtwwn<+zbedL-3P$(m}beLs1mrgZQa*W1+;dNoKM{?p5;_dnV$wCyQQ hF27Li8{&7largs[i]:%s\n", command_node->args[i]); if (!is_in_single_quotes(command_node->args[i])) { handle_local_vars(data, command_node->args[i]); diff --git a/src/parser/parser_helpers.c b/src/parser/parser_helpers.c index defbf23c..525f6f76 100644 --- a/src/parser/parser_helpers.c +++ b/src/parser/parser_helpers.c @@ -88,7 +88,6 @@ t_ast *manage_commands(t_token **tokens, t_ms_data *data) if (!command_node->args) return (NULL); set_command_args(command_node, tokens, arg_count); - print_tokens(*tokens); post_process_command_args(command_node, arg_count, data); return (command_node); } diff --git a/src/parser/parser_joint_vars.c b/src/parser/parser_joint_vars.c index 59448728..87297ee3 100644 --- a/src/parser/parser_joint_vars.c +++ b/src/parser/parser_joint_vars.c @@ -14,31 +14,44 @@ char *expand_variable(char **start, t_ms_data *data) { + char *expanded_str; char *var_name; char *expanded_var; + char *result; char *var_start; + char *str_start; + int len_before_var; - printf("expand_variable start: %s\n", *start); - var_start = *start; - if (**start == '\"') + str_start = *start; + expanded_str = ft_strdup(""); + while (**start && **start != '\0') { - (*start)++; - var_start++; + if (**start == '$') + { + var_start = *start; + (*start)++; + + while (**start && (ft_isalnum(**start) || **start == '_')) + (*start)++; + var_name = ft_substr(var_start, 0, *start - var_start); + expanded_var = expand_env_and_loc_var(var_name, data); + free(var_name); + len_before_var = var_start - str_start; + result = ft_strjoin_free(expanded_str, ft_substr(str_start, 0, len_before_var)); + expanded_str = ft_strjoin_free(result, expanded_var); + str_start = *start; + free(expanded_var); + } + else + (*start)++; } - (*start)++; - while (**start != '\0' && (ft_isalnum(**start) || **start == '_' \ - || **start == '?')) - (*start)++; - printf("expand_variable start2: %s\n", *start); - var_name = ft_substr(var_start, 0, *start - var_start); - printf("expand_variable start3: %s\n", var_name); - expanded_var = expand_env_and_loc_var(var_name, data); - printf("expand_variable start4: %s\n", expanded_var); - free(var_name); - if (ft_strlen(expanded_var) != 0) - return (expanded_var); - else - return (ft_strdup(var_start)); + if (str_start != *start) + { + result = ft_substr(str_start, 0, *start - str_start); + expanded_str = ft_strjoin_free(expanded_str, result); + free(result); + } + return (expanded_str); } char *append_literal(char **start, char *processed_arg) @@ -68,12 +81,9 @@ char *process_argument(char *arg, t_ms_data *data) start = arg; while (*start != '\0') { - printf("arg: %s\n", arg); - printf("start: %s\n", start); if (*start == '$') { expanded_var = expand_variable(&start, data); - printf("expanded_var in process-argument (should be non << only): %s\n", expanded_var); if (expanded_var != NULL) { tmp = ft_strjoin(processed_arg, expanded_var); diff --git a/src/redirection/redirect_heredoc_utils.c b/src/redirection/redirect_heredoc_utils.c index f39334e6..9cecffe3 100644 --- a/src/redirection/redirect_heredoc_utils.c +++ b/src/redirection/redirect_heredoc_utils.c @@ -66,11 +66,8 @@ char *process_and_reassemble(char *line, t_ms_data *data) i = 0; while (tokens[i]) { - printf("tokens[i]:%s\n", tokens[i]); processed_token = expand_variable(&tokens[i], data); - printf("processed_token:%s\n", processed_token); tokens[i] = processed_token; - printf("tokens[i]:%s\n", tokens[i]); result_len += ft_strlen(tokens[i]) + 1; i++; } From 0787eb97c2961cbb2345822c820d11b75807906a Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Sat, 7 Sep 2024 01:02:41 +0100 Subject: [PATCH 28/83] fix: echo rocky 'rocky' rocky USER 0 0 '0' --- src/parser/parser_helper_helpers.c | 17 +++++++++ src/parser/parser_joint_vars.c | 44 +++++++++++++++++++++++- src/redirection/redirect_heredoc_utils.c | 34 ++++++++++++++++++ 3 files changed, 94 insertions(+), 1 deletion(-) diff --git a/src/parser/parser_helper_helpers.c b/src/parser/parser_helper_helpers.c index 6e12826c..b2389c8c 100644 --- a/src/parser/parser_helper_helpers.c +++ b/src/parser/parser_helper_helpers.c @@ -14,6 +14,8 @@ #include "execute.h" #include "exit_status.h" + + void final_quote_removal(int arg_count, t_ast *command_node) { int i; @@ -37,18 +39,33 @@ void final_quote_removal(int arg_count, t_ast *command_node) } } +char *exit_status_adj(char *arg) +{ + if (strcmp(arg, "$") == 0) + { + free(arg); + return strdup("$?"); + } + return arg; +} + char *expand_env_and_loc_var(char *arg, t_ms_data *data) { char *env_value; char *exit_status; + printf("arg: %s\n", arg); + arg = exit_status_adj(arg); + printf("arg2: %s\n", arg); if (ft_strcmp(arg, "$?") == 0) { exit_status = get_shell_variable(data->shell_variables, "?"); + printf("exit_status: %s\n", exit_status); return (ft_strdup(exit_status)); } else if (arg[0] == '$') { + printf("we're ina bad place\n"); if (arg[ft_strlen(arg) - 1] == '"') arg[ft_strlen(arg) - 1] = '\0'; env_value = get_env(data->envp, arg + 1); diff --git a/src/parser/parser_joint_vars.c b/src/parser/parser_joint_vars.c index 87297ee3..fcd4976d 100644 --- a/src/parser/parser_joint_vars.c +++ b/src/parser/parser_joint_vars.c @@ -12,6 +12,33 @@ #include +char *str_start_adj(char *arg) +{ + if (!strcmp(arg, "?") || !strcmp(arg, "?\"")) + return strdup(""); + else if (!strcmp(arg, "?\'")) + return strdup("\'"); + return arg; +} + +char *tmp_adj(char *arg) +{ + char *ptr; + + if (*arg == '\"') + { + ptr = arg + 1; + while (*ptr) + { + if (!ft_isdigit(*ptr)) + return (arg); + ptr++; + } + return (ft_strdup(arg + 1)); + } + return (arg); +} + char *expand_variable(char **start, t_ms_data *data) { char *expanded_str; @@ -36,10 +63,15 @@ char *expand_variable(char **start, t_ms_data *data) var_name = ft_substr(var_start, 0, *start - var_start); expanded_var = expand_env_and_loc_var(var_name, data); free(var_name); + printf("expanded_var: %s\n", expanded_var); len_before_var = var_start - str_start; result = ft_strjoin_free(expanded_str, ft_substr(str_start, 0, len_before_var)); + printf("result: %s\n", result); expanded_str = ft_strjoin_free(result, expanded_var); + printf("expanded_str: %s\n", expanded_str); str_start = *start; + str_start = str_start_adj(str_start); + printf("str_start: %s\n", str_start); free(expanded_var); } else @@ -48,7 +80,9 @@ char *expand_variable(char **start, t_ms_data *data) if (str_start != *start) { result = ft_substr(str_start, 0, *start - str_start); + printf("result: %s\n", result); expanded_str = ft_strjoin_free(expanded_str, result); + printf("expanded_str2: %s\n", expanded_str); free(result); } return (expanded_str); @@ -79,21 +113,29 @@ char *process_argument(char *arg, t_ms_data *data) processed_arg = ft_strdup(""); start = arg; + printf(RED"arg: %s\n"RESET, arg); while (*start != '\0') { if (*start == '$') { expanded_var = expand_variable(&start, data); + printf("expanded_var: %s\n", expanded_var); if (expanded_var != NULL) { - tmp = ft_strjoin(processed_arg, expanded_var); + printf(BLU"processed_arg: %s\n"RESET, processed_arg); + printf(BLU"expanded_var: %s\n"RESET, expanded_var); + tmp = tmp_adj(ft_strjoin(processed_arg, expanded_var)); + printf(BLU"tmp: %s\n"RESET, tmp); free(processed_arg); processed_arg = tmp; + printf(BLU"shouldn't be here. processed_arg: %s\n"RESET, processed_arg); free(expanded_var); } + printf("processed_arg1: %s\n", processed_arg); } else processed_arg = append_literal(&start, processed_arg); } + printf("processed_arg2: %s\n", processed_arg); return (processed_arg); } diff --git a/src/redirection/redirect_heredoc_utils.c b/src/redirection/redirect_heredoc_utils.c index 9cecffe3..53767a9c 100644 --- a/src/redirection/redirect_heredoc_utils.c +++ b/src/redirection/redirect_heredoc_utils.c @@ -51,6 +51,36 @@ static char *assemble_result(char **tokens, size_t result_len) return (result); } +char *token_adj(char *arg) +{ + char *ptr; + char *new_arg; + + if (*arg == '\"') + { + ptr = arg + 1; + while (*ptr && *ptr != '\"') + { + if (!ft_isdigit(*ptr)) + return (arg); + ptr++; + } + if (*ptr == '\0') + { + new_arg = malloc(strlen(arg) + 2); + if (!new_arg) + return (NULL); + strcpy(new_arg, arg); + strcat(new_arg, "\""); + return (new_arg); + } + if (*ptr == '\"' && *(ptr + 1) == '\0') + return (arg); + } + return (arg); +} + + char *process_and_reassemble(char *line, t_ms_data *data) { char **tokens; @@ -66,7 +96,11 @@ char *process_and_reassemble(char *line, t_ms_data *data) i = 0; while (tokens[i]) { + printf(GRN"tokens[i]: %s\n"RESET, tokens[i]); processed_token = expand_variable(&tokens[i], data); + printf(GRN"processed_token: %s\n"RESET, processed_token); + processed_token = token_adj(processed_token); + printf(GRN"processed_token2: %s\n"RESET, processed_token); tokens[i] = processed_token; result_len += ft_strlen(tokens[i]) + 1; i++; From a233ce25e1547de715ca41a9e390f176caa043d6 Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Sat, 7 Sep 2024 10:05:04 +0100 Subject: [PATCH 29/83] fix: echo rocky 'rocky' rocky USER 0 0 '0' --- src/parser/parser_helper_helpers.c | 4 ---- src/parser/parser_joint_vars.c | 14 -------------- src/redirection/redirect_heredoc_utils.c | 3 --- 3 files changed, 21 deletions(-) diff --git a/src/parser/parser_helper_helpers.c b/src/parser/parser_helper_helpers.c index b2389c8c..681fbf56 100644 --- a/src/parser/parser_helper_helpers.c +++ b/src/parser/parser_helper_helpers.c @@ -54,18 +54,14 @@ char *expand_env_and_loc_var(char *arg, t_ms_data *data) char *env_value; char *exit_status; - printf("arg: %s\n", arg); arg = exit_status_adj(arg); - printf("arg2: %s\n", arg); if (ft_strcmp(arg, "$?") == 0) { exit_status = get_shell_variable(data->shell_variables, "?"); - printf("exit_status: %s\n", exit_status); return (ft_strdup(exit_status)); } else if (arg[0] == '$') { - printf("we're ina bad place\n"); if (arg[ft_strlen(arg) - 1] == '"') arg[ft_strlen(arg) - 1] = '\0'; env_value = get_env(data->envp, arg + 1); diff --git a/src/parser/parser_joint_vars.c b/src/parser/parser_joint_vars.c index fcd4976d..aa402367 100644 --- a/src/parser/parser_joint_vars.c +++ b/src/parser/parser_joint_vars.c @@ -63,15 +63,11 @@ char *expand_variable(char **start, t_ms_data *data) var_name = ft_substr(var_start, 0, *start - var_start); expanded_var = expand_env_and_loc_var(var_name, data); free(var_name); - printf("expanded_var: %s\n", expanded_var); len_before_var = var_start - str_start; result = ft_strjoin_free(expanded_str, ft_substr(str_start, 0, len_before_var)); - printf("result: %s\n", result); expanded_str = ft_strjoin_free(result, expanded_var); - printf("expanded_str: %s\n", expanded_str); str_start = *start; str_start = str_start_adj(str_start); - printf("str_start: %s\n", str_start); free(expanded_var); } else @@ -80,9 +76,7 @@ char *expand_variable(char **start, t_ms_data *data) if (str_start != *start) { result = ft_substr(str_start, 0, *start - str_start); - printf("result: %s\n", result); expanded_str = ft_strjoin_free(expanded_str, result); - printf("expanded_str2: %s\n", expanded_str); free(result); } return (expanded_str); @@ -113,29 +107,21 @@ char *process_argument(char *arg, t_ms_data *data) processed_arg = ft_strdup(""); start = arg; - printf(RED"arg: %s\n"RESET, arg); while (*start != '\0') { if (*start == '$') { expanded_var = expand_variable(&start, data); - printf("expanded_var: %s\n", expanded_var); if (expanded_var != NULL) { - printf(BLU"processed_arg: %s\n"RESET, processed_arg); - printf(BLU"expanded_var: %s\n"RESET, expanded_var); tmp = tmp_adj(ft_strjoin(processed_arg, expanded_var)); - printf(BLU"tmp: %s\n"RESET, tmp); free(processed_arg); processed_arg = tmp; - printf(BLU"shouldn't be here. processed_arg: %s\n"RESET, processed_arg); free(expanded_var); } - printf("processed_arg1: %s\n", processed_arg); } else processed_arg = append_literal(&start, processed_arg); } - printf("processed_arg2: %s\n", processed_arg); return (processed_arg); } diff --git a/src/redirection/redirect_heredoc_utils.c b/src/redirection/redirect_heredoc_utils.c index 53767a9c..ff20a825 100644 --- a/src/redirection/redirect_heredoc_utils.c +++ b/src/redirection/redirect_heredoc_utils.c @@ -96,11 +96,8 @@ char *process_and_reassemble(char *line, t_ms_data *data) i = 0; while (tokens[i]) { - printf(GRN"tokens[i]: %s\n"RESET, tokens[i]); processed_token = expand_variable(&tokens[i], data); - printf(GRN"processed_token: %s\n"RESET, processed_token); processed_token = token_adj(processed_token); - printf(GRN"processed_token2: %s\n"RESET, processed_token); tokens[i] = processed_token; result_len += ft_strlen(tokens[i]) + 1; i++; From 73678a850c06c97976a1e44d2f9ef0d5bd25724f Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Sat, 7 Sep 2024 10:24:02 +0100 Subject: [PATCH 30/83] fix: CTRL+C add new line after on grep 'we' --- src/signals/signals.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/signals/signals.c b/src/signals/signals.c index 4fbdfc4f..285b3c0a 100644 --- a/src/signals/signals.c +++ b/src/signals/signals.c @@ -44,6 +44,7 @@ void set_signals_interactive(void) void signal_print_newline(int signal) { (void)signal; + write(STDOUT_FILENO, "\n", 1); rl_on_new_line(); } From b3e8792bae830106435d82f34f54ac4107c402b0 Mon Sep 17 00:00:00 2001 From: Dima Dem <50800563+dimadem@users.noreply.github.com> Date: Sat, 7 Sep 2024 10:50:52 +0100 Subject: [PATCH 31/83] Dimadem valgrind (#31) * fix: valgrind * fix: valgrind * fix: ls > output.txt > new.txt --------- Co-authored-by: Dmitry Demirkylych --- inc/exit_status.h | 2 + src/builtins/cd.c | 9 +- src/builtins/exit.c | 6 +- src/redirection/redirect_out.c | 16 +- src/shell_variables/shell_variables.c | 6 +- src/shell_variables/shell_variables_utils.c | 17 ++ src/signals/signals.c | 3 + src/utils/.maxishell_history | 230 -------------------- src/utils/clean_general.c | 10 +- 9 files changed, 57 insertions(+), 242 deletions(-) diff --git a/inc/exit_status.h b/inc/exit_status.h index 0086727e..9a3aa68f 100644 --- a/inc/exit_status.h +++ b/inc/exit_status.h @@ -37,5 +37,7 @@ void set_exit_status(int *exit_status, int status_code); /* exit_status_utils */ int ft_perror(char *str); int ft_isnumber(char *str); +void free_shell_var_list(t_env *shell_var); + #endif diff --git a/src/builtins/cd.c b/src/builtins/cd.c index 382e4a4b..dd59a222 100644 --- a/src/builtins/cd.c +++ b/src/builtins/cd.c @@ -29,6 +29,7 @@ int builtin_cd(t_ms_data *data) { char *target_dir; char *home_dir; + char *error_message; char cwd[4096]; ft_printf("builtin_cd\n"); @@ -38,12 +39,12 @@ int builtin_cd(t_ms_data *data) target_dir = home_dir; if (chdir(target_dir) == -1) { + error_message = ft_strjoin("cd: ", target_dir); if (errno == EACCES) - exit_status_handler(data, PERMISSION_DENIED, \ - ft_strjoin("cd: ", target_dir)); + exit_status_handler(data, PERMISSION_DENIED, error_message); if (errno == ENOENT) - exit_status_handler(data, IS_DIRECTORY, \ - ft_strjoin("cd: ", target_dir)); + exit_status_handler(data, IS_DIRECTORY, error_message); + free(error_message); return (EXIT_FAILURE); } set_env(&data->envp, "OLDPWD", get_env(data->envp, "PWD")); diff --git a/src/builtins/exit.c b/src/builtins/exit.c index 6b9e7a2c..d3fcb706 100644 --- a/src/builtins/exit.c +++ b/src/builtins/exit.c @@ -38,9 +38,13 @@ void handle_too_many_args_error(t_ms_data *data) void handle_exit(t_ms_data *data, int status) { + char *status_str; + ft_putendl_fd("exit", STDOUT_FILENO); data->exit_status = status; - set_shell_var(&data->shell_variables, "?", ft_itoa(data->exit_status)); + status_str = ft_itoa(status); + set_shell_var(&data->shell_variables, "?", status_str); + free(status_str); exit(status); } diff --git a/src/redirection/redirect_out.c b/src/redirection/redirect_out.c index a2275d67..b2d0744f 100644 --- a/src/redirection/redirect_out.c +++ b/src/redirection/redirect_out.c @@ -33,15 +33,27 @@ int redirect_out(t_ast *node, t_ms_data *data) { pid_t pid; int status; + int fd; pid = fork(); if (pid == -1) return (1); if (pid == 0) { - data->std_out = open_file(node->right, ">"); if (data->std_out == -1) - return (1); + { + data->std_out = open_file(node->right, ">"); + if (data->std_out == -1) + return (1); + } + else + { + fd = open_file(node->right, ">"); + if (fd == -1) + return (1); + dup2(fd, STDOUT_FILENO); + close(fd); + } execute_ast(node->left, data); exit(0); } diff --git a/src/shell_variables/shell_variables.c b/src/shell_variables/shell_variables.c index 03f9101c..42fe52ca 100644 --- a/src/shell_variables/shell_variables.c +++ b/src/shell_variables/shell_variables.c @@ -66,6 +66,10 @@ int handle_shell_variable(t_ast *node, t_ms_data *data) void shell_variable_update(t_ms_data *data, int status) { + char *status_str; + data->exit_status = status; - set_shell_var(&data->shell_variables, "?", ft_itoa(status)); + status_str = ft_itoa(status); + set_shell_var(&data->shell_variables, "?", status_str); + free(status_str); } diff --git a/src/shell_variables/shell_variables_utils.c b/src/shell_variables/shell_variables_utils.c index b4c53fe9..3634c759 100644 --- a/src/shell_variables/shell_variables_utils.c +++ b/src/shell_variables/shell_variables_utils.c @@ -21,6 +21,7 @@ void set_shell_var(t_env **shell_var, const char *key, const char *value); void add_shell_var_node(t_env **shell_var, const char *line); char *get_shell_variable(t_env *shell_var, const char *key); +void free_shell_var_list(t_env *shell_var); void add_shell_var_node(t_env **shell_var, const char *line) { @@ -85,3 +86,19 @@ char *get_shell_variable(t_env *shell_var, const char *key) } return (NULL); } + +void free_shell_var_list(t_env *shell_var) +{ + t_env *curr_node; + t_env *next_node; + + curr_node = shell_var; + while (curr_node) + { + next_node = curr_node->next; + free(curr_node->key); + free(curr_node->value); + free(curr_node); + curr_node = next_node; + } +} \ No newline at end of file diff --git a/src/signals/signals.c b/src/signals/signals.c index 4fbdfc4f..c3784cbd 100644 --- a/src/signals/signals.c +++ b/src/signals/signals.c @@ -37,6 +37,7 @@ void set_signals_interactive(void) sigquit_ignore(); sigemptyset(&a.sa_mask); + a.sa_flags = 0; a.sa_handler = *signal_reset_prompt; sigaction(SIGINT, &a, NULL); } @@ -52,6 +53,7 @@ void sigquit_ignore(void) struct sigaction a; sigemptyset(&a.sa_mask); + a.sa_flags = 0; a.sa_handler = SIG_IGN; sigaction(SIGQUIT, &a, NULL); } @@ -61,6 +63,7 @@ void set_signals_noninteractive(void) struct sigaction a; sigemptyset(&a.sa_mask); + a.sa_flags = 0; a.sa_handler = &signal_print_newline; sigaction(SIGINT, &a, NULL); sigaction(SIGQUIT, &a, NULL); diff --git a/src/utils/.maxishell_history b/src/utils/.maxishell_history index 44fdc00f..e69de29b 100644 --- a/src/utils/.maxishell_history +++ b/src/utils/.maxishell_history @@ -1,230 +0,0 @@ -fjf -exit -ff -ls -la Z -ls -la | -ls -la | -exit -ls -la | -ls -la | -ls- la | -eiuyhj -erfuoj -ls -la | grep ".txt" -ls -la | -ls -la | -lfugu -ls -la | grep ".txt" -ls -la -ls -la -ls -la < < kj -ls -la -ls -la | -ls -la | -ls -la | -ls -la | -ls -la | -tguihbrguioh -ls -la | -ls oeuirrtyufghtegh -rtgrty -rgbrg -abcabc -ls -la -ls -la | -ls -la | -abc -abc | -| -4rfuih | -hghg| -make -./minishell -exit -ls -la | -tyufgh| -ahah -ahah| -ahah| -hahah| -ahaha| -hahaha| -ahah| -fgh -ahah| -haaaaaa | -hahaaa| -ahah| -aha| -HA| -ghhgg| -fhgh| -ghgh| -fh| -hghgh| -haha| -ghgh| -ghgh| -ahah| -ghgh| -ghgh| -ghgh| -ghgh| -ghgh| -ghj -ghgh| -ghgh| -ghghZ -j -haah| -haah| -gjg -ghh -ahah| -yeee -hehehe | -ghghghgh -|hgh -hghg| -ghgh| -yeeee -yeee| -haw -yeee| -ghgh| -fghgh -gdb ./minishell -ls -exit -ghgh| -g -gdb ./minishell -yeee| -fjgh -ghghgh -yeee| -hay -yeeee| -ghgh| -ghg -yeeeeeeeeeeeeeeeeeee| -ok -ok| -ghj -hgh -ok| -ok -ok| -yeee -yeee| -yeee| -yee| -yeeee| -yeee | -yeee | -yeee | -yeee | -yeee| -yeee | -yeeee | -ls -la | -yeee | -ls -la | -ls -la | grep ".txt" -yeee | -yeee | -yeeee| -yeee | -yee | -yee | -yeee| -yeeee | -yeee Z -yeee | -ls -la | -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -ls -norminette Makefile -norminette src/signals/signals.c -norminette src/signals/signals.c -cat <, eof -cat << eor -cat << eor -norminette src/signals/signals.c -vi src/signals/signals_utils.c -norminette src/signals/signals_utils.c -norminette src/signals/signals.c -cat << eof -cat << eof -vi src/redirection/redirect_heredoc_utils.c -cat << eof -cat << eof -norminette src/redirection/redirect_heredoc.c -norminette src/redirection/redirect_heredoc.c -cat << eof -cat << eof -norminette src/redirection/redirect_heredoc.c -norminette src/redirection/redirect_heredoc_utils.c -norminette src/redirection/redirect_heredoc_utils.c -cat << eof -cat << eof -cat << eof -cat << eof -norminette src/redirection/redirect_heredoc.c -cat << eof -cat << eof -cat << eof -cat << eof -norminette src/redirection/redirect_heredoc.c -norminette src/redirection/redirect_heredoc.c -norminette src/redirection/redirect.c -norminette src/redirection/redirect.c -norminette src/redirection/redirect_heredoc.c -norminette src/redirection/redirect_heredoc_utils.c.c -norminette src/redirection/redirect_heredoc_utils.c -norminette src/redirection/redirect_heredoc_utils.c -exit -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -echo $USER -a=123 -echo $USER$a -echo $USER$a -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -a=123 -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof -cat << eof diff --git a/src/utils/clean_general.c b/src/utils/clean_general.c index 59347dda..e4b4639d 100644 --- a/src/utils/clean_general.c +++ b/src/utils/clean_general.c @@ -12,6 +12,7 @@ #include "tokens.h" #include "env.h" +#include "exit_status.h" void free_args(char **args) { @@ -32,10 +33,10 @@ void free_env_list(t_env *env) while (env) { - free(env->key); - free(env->value); temp = env; env = env->next; + free(env->key); + free(env->value); free(temp); } } @@ -44,8 +45,8 @@ void free_ms_data(t_ms_data *data) { if (data) { - free_env_list(data->envp); - free_env_list(data->shell_variables); + free_shell_var_list(data->envp); + free_shell_var_list(data->shell_variables); free(data->current_dir); if (data->std_in != STDIN_FILENO) close(data->std_in); @@ -63,3 +64,4 @@ void loop_cleanup(char *line, t_token *tokens, char *prompt, t_ast *tree) (void)tokens; free_ast(tree); } + From 743a349cb8178abf4a0551263430e329317290a7 Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Sat, 7 Sep 2024 11:15:41 +0100 Subject: [PATCH 32/83] fix: 5. message for CTRL+\ on exit. --- src/execute/execute.c | 12 ++++++++++-- src/signals/signals.c | 21 +++++++++++---------- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/src/execute/execute.c b/src/execute/execute.c index 5b5c10f4..a2d9e112 100644 --- a/src/execute/execute.c +++ b/src/execute/execute.c @@ -20,6 +20,7 @@ #include "pipe.h" #include "redirection.h" #include "exit_status.h" +#include "signals.h" int execute_ast(t_ast *node, t_ms_data *data); static int execute(t_ms_data *data); @@ -107,6 +108,7 @@ static int execute(t_ms_data *data) static int new_process(t_ms_data *data) { pid_t pid; + struct sigaction a; if (data->std_in == -1) data->std_in = dup(STDIN_FILENO); @@ -122,14 +124,20 @@ static int new_process(t_ms_data *data) if (data->std_out != -1) dup2(data->std_out, STDOUT_FILENO); close_fds(data->std_in, data->std_out); + + sigemptyset(&a.sa_mask); + a.sa_handler = SIG_DFL; + sigaction(SIGQUIT, &a, NULL); if (execve(ft_find_path(data->args[0], data->envp), \ data->args, env_to_array(data->envp)) == -1) { - exit_status_handler(data, IS_DIRECTORY, "minishell: "); + exit_status_handler(data, IS_DIRECTORY, "maxishell: "); exit(IS_DIRECTORY); } } close_fds(data->std_in, data->std_out); waitpid(pid, &data->exit_status, 0); + if (WIFSIGNALED(data->exit_status) && WTERMSIG(data->exit_status) == SIGQUIT) + ft_printf("Quit (core dumped)\n"); return (EXIT_SUCCESS); -} +} \ No newline at end of file diff --git a/src/signals/signals.c b/src/signals/signals.c index 285b3c0a..df57105a 100644 --- a/src/signals/signals.c +++ b/src/signals/signals.c @@ -31,16 +31,6 @@ void signal_reset_prompt(int signo) rl_redisplay(); } -void set_signals_interactive(void) -{ - struct sigaction a; - - sigquit_ignore(); - sigemptyset(&a.sa_mask); - a.sa_handler = *signal_reset_prompt; - sigaction(SIGINT, &a, NULL); -} - void signal_print_newline(int signal) { (void)signal; @@ -57,6 +47,16 @@ void sigquit_ignore(void) sigaction(SIGQUIT, &a, NULL); } +void set_signals_interactive(void) +{ + struct sigaction a; + + sigquit_ignore(); + sigemptyset(&a.sa_mask); + a.sa_handler = *signal_reset_prompt; + sigaction(SIGINT, &a, NULL); +} + void set_signals_noninteractive(void) { struct sigaction a; @@ -64,5 +64,6 @@ void set_signals_noninteractive(void) sigemptyset(&a.sa_mask); a.sa_handler = &signal_print_newline; sigaction(SIGINT, &a, NULL); + a.sa_handler = SIG_IGN; sigaction(SIGQUIT, &a, NULL); } From e55e923109ae33fdbeae0eadf9b170772d5c3d83 Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Sat, 7 Sep 2024 11:45:30 +0100 Subject: [PATCH 33/83] merged branches --- minishell | Bin 0 -> 460928 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100755 minishell diff --git a/minishell b/minishell new file mode 100755 index 0000000000000000000000000000000000000000..aa34cfe5e0686bac01fd20ade5342a6c765c7438 GIT binary patch literal 460928 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%0A3#t-d_jQmdK}I-4bbe1W$hO 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 ZF#bvYKD{m}|G__0e*FE8geNI!{5!V~wtWBq literal 0 HcmV?d00001 From 4036360be898ea6d759cb294fe039c9270e862f3 Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Sat, 7 Sep 2024 13:27:51 +0100 Subject: [PATCH 34/83] fix: 3 memory leaks with no input, only exit after start --- minishell | Bin 460928 -> 0 bytes src/builtins/exit.c | 4 +++- src/signals/signals.c | 2 ++ src/utils/prompt.c | 2 +- 4 files changed, 6 insertions(+), 2 deletions(-) delete mode 100755 minishell diff --git a/minishell b/minishell deleted file mode 100755 index aa34cfe5e0686bac01fd20ade5342a6c765c7438..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 460928 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%0A3#t-d_jQmdK}I-4bbe1W$hO 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 ZF#bvYKD{m}|G__0e*FE8geNI!{5!V~wtWBq diff --git a/src/builtins/exit.c b/src/builtins/exit.c index 7f96319e..f785067a 100644 --- a/src/builtins/exit.c +++ b/src/builtins/exit.c @@ -46,7 +46,9 @@ void handle_exit(t_ms_data *data, int status) { ft_putendl_fd("exit", STDOUT_FILENO); data->exit_status = status; - set_shell_var(&data->shell_variables, "?", ft_itoa(data->exit_status)); + char *exit_status_str = ft_itoa(data->exit_status); + set_shell_var(&data->shell_variables, "?", exit_status_str); + free(exit_status_str); clear_history_file(); exit(status); } diff --git a/src/signals/signals.c b/src/signals/signals.c index 4e0170bf..554fbf72 100644 --- a/src/signals/signals.c +++ b/src/signals/signals.c @@ -54,7 +54,9 @@ void set_signals_interactive(void) sigquit_ignore(); sigemptyset(&a.sa_mask); + a.sa_flags = 0; a.sa_handler = *signal_reset_prompt; + a.sa_flags |= SA_RESTART; sigaction(SIGINT, &a, NULL); } diff --git a/src/utils/prompt.c b/src/utils/prompt.c index b04b6daf..c959a286 100644 --- a/src/utils/prompt.c +++ b/src/utils/prompt.c @@ -24,7 +24,7 @@ char *generate_prompt(t_ms_data *data) prompt_len = ft_strlen("🌴 @maxishell$ ") + \ ft_strlen(getenv("LOGNAME")); - prompt = (char *)malloc(prompt_len); + prompt = (char *)malloc(prompt_len + 1); if (!prompt) exit(EXIT_FAILURE); ft_strcpy(prompt, "🌴 "); From 68db54a03aa004a34d7f6dc46e24b8e29970f877 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A8Roman?= <¨roman.mikhaylenko14@hotmail.com¨> Date: Sat, 7 Sep 2024 16:06:47 +0100 Subject: [PATCH 35/83] reset to working version (exit error) --- minishell | Bin 0 -> 126144 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100755 minishell diff --git a/minishell b/minishell new file mode 100755 index 0000000000000000000000000000000000000000..20b9fd24127836b8c0368fc15b65a10888df40ee GIT binary patch literal 126144 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 V>O+`auKp+Wp!}ke3MEPB{{Ze>&$0jj literal 0 HcmV?d00001 From a75fc32b75b9fa98d86af3eac36b19accab83d02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A8Roman?= <¨roman.mikhaylenko14@hotmail.com¨> Date: Sat, 7 Sep 2024 16:21:16 +0100 Subject: [PATCH 36/83] fix: 2 leaks, (signal and path in execute.c --- minishell | Bin 126144 -> 126264 bytes src/execute/execute.c | 20 +++++++++++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/minishell b/minishell index 20b9fd24127836b8c0368fc15b65a10888df40ee..ee93915ce7dbf16f1092797ed0aa1037fdb003c1 100755 GIT binary patch delta 24656 zcmZ{M30zgx_W#)j?qyUi%8bk)f{LK1IA2W^5ECcF863e-QL(5*G_@qP2X5_XFB8kk zsnXD}Nz_PlsIaWe%Bak)Lxp8!uU`DWYoEO@+57+Q=i^>`&1 ztgJfWOOJ2w*TnBz?#sG)c8D{v4so?vEQv*}-)iFPx7tO;2`!S&x9acv?d`v=xn#_q z9g&=RXa8(zak4Vp9m{yNU!Rzb5lW)W-Ql0|H|-2t#=7!m$KYiC zyz2afct^&D@?DOwXiZyJew%2H zuTUpq#)hRU96SF)JS6ctLU34v`C#Hyn#qcXh_J}x*`&QpFJXb?z^js^30 zO~6a~3x#}i;A47NA^$2cOmADXF{qc{$D}Trf5DV?INst}K_&W-xwUTu1+c)=b4eim z0@*ebQ{wJ8G`IF@u%E6koWNT`L-er|_=-tEyhn#3*2uSYFoJeXg%Yy3t|T_2zG0); zXO4|id3M;2z=|AU(E*FM&5WSoNB-ij;d46b1>pU?HPtgnn7YT=n&mTiRro9VEBR=K zADNcwj+XG#Gd5!97`8IjDs=eEc%SPTClGKy{Ewy3Ds&gi7d z^gpj|#4w_OSEX5e*7yqq-L-D1!;v|FkB^FEpYVI54E8W@8=XG6DbZ|DM&+847Iews zoGwm6nIIhPstD;TG7dL(b7E^V4p${Rv8s&2D|$GwEs*3dMt5TO@=v0Bu^)Ncm^Zyw zS~YD|`7O<7%?`#tiOH_G$`I*>H}l{p<=5A?Xc!64jc}5XPj^S|_Xz6b8WI6pJDJ`@ zpxy;V#)d;e^JwL9N5lK=DzORb@7(x$RYUkd?Kj@yc2+Va<%7 za*dq=QE`r`T$AC%%WRGgw}| z&2i=iKNlMiw+e#m%5R~|(S{RgDIYin!$!){jFk;X!J7Kk9G{4x{O-5`KBKR-v|N2( z#87_QaTk9gu9HXK>n$zt;^@xL#HF{r0SO9tU0JN7=^793m=<_JIiA`KUggOnePPs* z&*yjSX8S_&UK5!dGL`S^nB@DxM8qqnUCOVH+H3rJ$Bz0L2X7xgJV|LdJ~gG9&_w*h z!t#zF{B624ImYv~@k7{`{7ifV`<-8pkI>s!bMH>!ddF(srBgUd<0CpnuuOgr%E^3P zrwG6MtL=zR_;0$}mMVwW@*|y!J^$KbC%WdipQk1yR6Hi-%)#J08iJH+F*IBVtKW5p z#E&%bu?(6LJAhpk{ZoIZp?B^Odw{T24YsLo`9#>Y@fnrhW>l8nu3UO+9sfKb&U^27 zEiL8{Jog=Mleju&vvj#%bChI|KU&MnY#B#(NQT3MA582Pzx7)=M2gWMn&}z!&nbxk zvjj?0(1XXkLe;WAI`9L=iu$j+ToUsO^9(dig^@BBzTdOYLEUd7l6HP93OM} zl`dJ{homxEiEXTF_xLwj2|Qgj+nm=&9+pNO9%K0CuHE~bma=9)JfHn{@iKRlT20jY zb9YFVZ%pddItJ!*ds0WwAEkt28!t&pifgM}Z5~5b%du!5Kf-99UA|2nMYRzAR#I>M z>#zBrNillZ2p-ifG157*@+h0ob5u07v^f5Q9S^h8vAFi0ZXwKTyt3YQ6t7C|lkBhX zc{#1#+{wqQzrsv?xa6BnO3&oKCwK648d=UGQXUxnwzBb`kyvSOV{HmU{>@>NoKc@A z*+}&7moV`o|Hc$UE5|*fer~JK`Ahs-%5t`o7j^HUXOd&MBdP2k}dpmYKJq)-FQ;!be~b5A&_^~ z3N)BMnL0e^_luM_TFh}Oxgii7MZUSn|48i_`i5MPzzlM{)QTiKHu4cYgG0B#AStgZ zi)B8mz0D?yw=o!pr@vS{mJ$+284u_S0(sM3*iVx})%vSS>y`B&I`~vzZ{T4Rv z%Jf@TpKe{C-5tj+@UY%dB;7k}^fzC~C{Nmh;Dttrc?3A}pz4O?%Os-6YFuQz_NWs0 z@(QiXl_xSPe{;C-i@ggg*0-j=9_y;P9IW{ic3Lyn5fPfph*&~a-AJZoB%|I?X5(lR ztxRvqsNbzf-9Ld&JC5FK3{*lL;MUogv$rTLGrk~=!$9XX)X#}1d{ zh?enIt7ktJk{Ajn9Qi{<4xsg<(i%CGNA>C2x>(HSd3`!~Iv1}&e0iVvQEpj6PYo$Y zZ{T9=_E*ERGW{J2((y$mNiKaSgPq8zuTxGYP-xUxI)h~MfHUGb`9Vx(VB1H1l2 zE8(IbJi+bMX&NL>3BrO+PQqb97_!+(cwP_!9(NKR7ldoAgf)VoR<|@*Eftg_hEr#z zAY5uCjJZPxDudJbyL~J5Uq9k`{oZTiB{wKAKI?@uX%{}de=7F2P5qx>;k?^`yY#+y z@zMbc`-e+GB;oeeH#Bj^Vm@oyqn2?v?(fX)CR10;#4S8xV5r`G3-3QLl=b6z13RRo z|6QT8sbEzKWB$%Gchh|S?7-m_g_40_{ZrK`FMuMbzo(V;pB~sIdkLGDagH+iOIrCC ziSH}4%37%nL~3{c0PBbkW-wtu8D{ z+#@~I`?Xfe7d$z=gZIT&!XciQp5=KW+Z(eU)KmKK@~ooJ6MaNrm@ae}z^*uRF^8f=+AuLzH^5l^e^nrBc;Sc=-tM7i7nTq@h7#BCaZLLhrUST{k&wsr;$z zz}5}o2VS3@r9bl)_Zk_)mh)~SC$llN>qcg>)&=%q%nvs}~7gToS)HKbpmZBo@Ho(+S#v?j4h_4v4lI`XC*nX`Un!|^W{Z)_X!3T}&z*h1p<6^@< z?=DiapH|u?^b(XY1k8=t@jicQTr9&`WZdA$JQ6gS=*6XtjtQnTt@DkJ*IwhX;~(wx zVu}zV8U_)b49hXop>+WShr{-oOrjhAczl=Euy%0o+;Qx4UXbh8Ztklj0|j&CZFJ=F zM{-Z=)~$T(gg(04R{q$8F}lZA{xvYqtvoDmpzghuPt9A+&hW4EdIdJTf_>kd>TTsc z2-c2EyxYVxUVSCO;St9zlNNaYZ6$n+S4>*!<(yAGvAktcFHgHtc#jX7oU7Lz;>iO- zJadt3YM|pM{`%x-y``3aIr&{%{y}+G7Ef{YL-`w1ChOnU^5ChxSrS_G~H(;bfDS(v9FXI}d36EyGUgkf{4d6GXjl$aAe|m)9Xv|sB74^=w zX*pjweR9`!`$e~0aCo4yuKc_s>Hv>!dHMJy z-YGvJtm+;+q{;l6e8^{PcvAp+&Tib#7vzWNJ740D=69Q&sT42bSy_ze7*eZO29FGe z+t+sDbc#-U4j$>K)SE=;v~%P>HSqtf)Xk+{si*u3wS_#qAP@^*uYz7tB`=DmH9O{_ zvabAwqv9oMg_3ua@C^kW*ebrKpfii-9~UI|I{`s)H_}|05h=XV6;m=MATs59=~hW9Q~PnLhJ2Wz1SlD=d7q`=iV_4(|=w1=i&tU`PJ=|X&Q#x z_waM0!}-+NeROLG-!gmTT_KtJ{B@G4{t-)H6=6HKI z>a7Fg#2(&hP9OGfK4VTYO}b5U`h}EZW+DgHz2+#Rr$MvfoA}i^o%HK_c>B2nygXI& zYBj!LS`=S4w>{0%>bYIJUD`#OpF4VyFZIYti^S5y!t!6Bw~pT`{{7rO@ovi8eB?=7Wmv>U?Jhyzv|!-#&Ss zGOu<3ECd1Y;W+R-f1xPO?@sw*l7EC>DT-n}x%<3${lCxhlzE-oHi3RJy%{m#VAjaz z%}Zok_~v=teU|>65jl^4Jddt2ewi1^0(rnay*u7%{^rhqM3O`Pu0LD5vLQglB$1+wO!`vB(afKc8;ZWGb^U_-LnZkS~gi_O5_p4{c&`-b3x6kWPyKZ5u zMgQ+@exNi^KlnuL=~A3Hm&piUqpNSn?_1F@n4g(`3(qFBqznXEJOX7Lc}R(hE1CDU z^2mF0*c!g*-Va@OK~F@Te;>E0CYf{Ry1`w_QuTDBwoln+hI8}#_ixavHuGr@Owv;y zrwLqp{(*0q-eZ%ff3(b(=~m9CtqiHvm#^3LX;r*x#aX@TUm*R#VrnNnl&0&G)(e3b zSKrO_=0}BM(8JT2zO=IT{zp!_ZLC^9V&=m6^9vTtid?X;G;+?ur3+?xYV!-qik1}4 zE-vmHS+wBZg5siCkp+wAE}cJnLFtmng^MF+FSxg8@xld!-yvLEQ+3F_f`z*DTZ=61 zM@BZ?+tP9t^~+@~Ejt1I?r&*140s;!7GUZFEiHbyYi$5b1w8*?OUpRGq03rYN&$BQ zZUWp?-qLaq&~!A<08qm)JegIPe z{Wc(?aa4H>1^`O|HxXV11AsdL&jU69-U7S~X!C@FY8U`)*a&^V^Bnqsshglra5MA) z#{r%P+zHqWcplK(3k`a_rKJ;~YlYF$l1+pyEiJ`>mjTxU-ont^NAxGqC4lDvZvguJ z8wPOsuo|!n;AOyU!k>gbU<2TKz@giq4;cFt^Z{=H-XQvR=;PesS_6H+ip!{EqjGQu z3;_CJrmhEU0Ne+d`V0&Jt_HjTcplIjPiQ-_Sabp0^eprN4`Qt-CWz&1J>V>?V*3Dh z0-gn=W%mZ)EiBUBI3iuf=F`PTtI&30KgkAR);<^jJP5cRa5Xm4eSqVz(Vitb;0?g@ z*n_=o2o#5uE`Y8$No51h0xSmHiBr&ez*3yY_7VRO^a1^FFuVb{8qgaDM87)d`&K{@ zm241Vu?rOgHUO>%ob@UU0Nw&T3+Va=3=kjC8w=m+H(>zqGGI1fX+87-{fjy9ZI1cbE;LZvJ{RIpF`dxwnz;S>#0A0U?0qiuZ0lNS; z0A>^31bx8Efa?MMzJfmBIKZ=jI{|M1rhX0mUwo9C{fB051csC-^N4 z0G3{X0YJa+U;uD6pmzvx2lN4lUWGp3PQYTo)z_d8*Z{bXaNKsE1&qA`eWHI4eQa>4 z{y)F~Dywm&n++J-3Yb%6Eo1J`80pmT#+lol-`pOd zU$~cN?Fq4DgV2em)I>zxzOSX_-8&8jgnN{S`2mz$_&Jmp_)U~~-1nIX_6|=G<>+TZ*;zjSnV6`cM_O9u zBKTI@Gnle{)>YFA`2lF;@pCA*@S7;hxbIFXQ+9^3eS9R!qr7NmsP4CpKfE)V?dQ9} zZsey>=J2a1?cC$p2;5{Oplsrq&qnClzxcdo!@;fusfzCg$yUWrgOtp#3X;cjq@C~_ zWH<7x=ZH}RQX{WK2@RBXehTFZeicHt&D`_(aF)*#o+oxDN(64r*=VM8^5+I9HJh($z1}MBaav=@wB zJaKQhZrj7N_7cBnFU3=d672?Gdx4(@0}Tf$pL^^h#RQc3JQF3Ffijs_?t`fVe9yjc zR>MyT(p4ek@j?VB2`H0!Cdw7O2xT*`d;tot@I5btQ#*vvRg@*%<3%`ql_$PPjLa8F zuLxy6uS8kGccX*{l+FAq${g)LJfNIG}zGqjc1vT3{ ze9vwe#V(Wc4nGZkEUNkMa8K}2TY(y!&O&uRs(V7Lt5Jx^hHB^V9T7xP~%|bQuT|RFgLPfQNXV#+qsG)07 zYd{UXRU2x(j9T*hd`~SR#dg&EKEHM#)PkC=kzcDtMp4C>Iv8r5gR+U=He{HlDu!hNF?jjCYtYlD?cn6$CKe$uUL0IMr#v=)6y=&dgw9kZLaZ- z4c)>EafY-+cwfiDW4HLV=?s{Oh0GEl6!?;c0(OFb)Nl(k_w?KMq8xnU0?Lq+OV}L# z*vU}T_ngdRb82s$3}#_bI8(FKPhrHWR~Ner>;qtKdUbwho_MO<=NX*1*u+OoT1i{} z%Bevx@$0FdQC>Tpi8A#}KiqtjoEghH@rE-4K+(_k!kXIWYzG#_bI(#hhtK{Z+O`*= zwzh2qVX|$f-(3mK!6%aV1Mkg3?aTMlQO3Q00_BbO{9U+>TN(9gv7aItbmI)F4g-hT(Ba$WNtLk=H-5bW<3Q| z^Uja418CZwI1{qm-#~XMW)FY}^JT((u{2!DNp->NrlkwZ!^ro-b0*rjyy6=6T9=YW zP&I2QN=pTbHu%SSwRHoCWXV3%%}0qu-Rwi%e1~q3W^%$EEy~-6>Pdz3` zvn0Xl7x>3ITFHa;BNQIVt3$0Yllz{sF%Si|+0G|gHLg|>Sj*WVK4lM47N2$m4C zoUX7?J;v2%q{2FopYaNVO>dv6z}(^00-H9U`+$WI7NN)Z`cwhyT0v-}9+T>`gHXbv z$i0Q3+8-p>V2?v^?B;4|56WVq1bWN@aA!8M?AsAVq}Fa3k=%sZRuT%b4gkZFf#Tn! z@89-ikb~T8KJ(Cd)M~eOXv=gTJ9<=^lPPx_ z$qUDBnr#obvTl6|_4brQ=1wC?vz*{HA4VmA2eM~Jc=L1jjPMzPu{8rs&uGf!NMJqj z&odU7=JN)EYsYVX*dd`mo@6~!U1E?XYhMVsF?X`;o{hSD0cx6cG^&;$!ITN8gl40 zmHIUU*smmANI9~3P4meC=FY$QD9P?dQgfk${NE4iaB^8fR&8FzJ`aKNJ5d&p)klGe z;1-IORRO)1kN&u89F146GK_gxv5|xr6CKQf{1lqxvC(phKl5?7QDn>)dLB=DxC2<+ zJ%$j_#n@dyj6_QqLOP9V8+ZQ|Z7eRz81GKLrhoUR_E{DvP*C23%}XKGmrgOtM{t z-m0_kHNrzIQm%fUVv&NXD=kuMJB!q?2 z0)j^66_ZQ^i2xfXnix44Jk44o?I;f{cPz>F6qzX$RZ=6v!emd06$+C*rGxwjNU}Ha zG`H_j@XZ&K(4K~igDO^o^(k%?s6ARIJC)k7L=)!>#bD&VLhMx2s8CELQJ5(aiUQO0WEqu; zj^!RFy`iQaZ4YedZd1<;W+(-tS$;!d)sfCZ{=;W<9`O1cU0OT;a|=TbmV7a20bT2D zz`>DnkR!c(s&b$R3nhW&24SePc5DlzMIJiS`J^3vKA`C(|4?VS(Ig$@lrHJaBQFgc zkOXRboGQts`pR^87dzR|^d2Z&%q`W`@=q?ywex>p3dO$Orp_cy)dS=3X^UW=a>&E7|7R?+PB zisCUHst)MbhejA*b zhJBeuT^2b_mb__BnIB0#-dw=w=*Hsdh@!dVONsZKlAipVZ{s7dhiNROimX}HN5m>R zmK(qmu7vfCC!2k{k{vg*7v1{+@feDNPFk)JW*S`0G@JohEMiE*iYwF=UtbYj;rMRA zydLm326sr54fUDw{XOi!XcbeG<0&SEfdLG++|0Qk3hiiYTkE^(bBfJM%-#C|Ahn zPB^3dCxzucOn!q{v5Zn2npw~i3eu&z*_;L;F(S!k0^Q2Mb6c8j7drKRCB1M{Z;q%JntCOBku*J$FwIgT<=uMOfoc{wboJoVn*;jUOp2B% zAO+r@K@_cb2ybB};< z#FT_r@09->8R@RxNM+v%3Vq+%fS%L<8)Mj*%S6bwb5NrOh?KM=Oml5?nz0j(jHHuZ zoT(Sjn}3d$(R#>eJ)?Q_tzz*&8cp%hQ8SVbwruoJ+ z6Y7fafF!Wo**xTz9_?31TnVz=#XSF)B#g^{{X(OB-!C-E+x{v>x!-Sn`EKqE}u2oWUeqW_gL)H;^?XW^-e}k}&$6zrA_~QTc{NKK; z`_JM44?H!Wk~V9k&8UH7Gk6Z{SQeo$Z(OW$5V%G2jekt)s)Pskw?l+H#=sPLq$mFZ zQNIT>02odW!GFeg&5@FaoElw7D%R8(AnK&y4UIW`{-41SN2R3a0Occ%qYj#euw3;x45?P_pfI-UHqvXtoHPN&|2bI#j zhVDbR51KVnO7*iV>8D6KMovpn{}Ym=_m#k=AS@bobpjh>Vza(eJYMvdZ-rf28!%W| zeS!FcOsln`E;UPpok0>S7Ip@a53I#z(+5jz)O`4ry)L6O zq`EG9ttBtuN9g?0QFfKIbR`{K)o)_5M2nmbJiXumqnfrQf0)&MzC}rE=?uXc3gfgH z%ynXz0pyX+eMSZ>JXH(2Kip%F|P?s$L_8X*$PSw#AwglTRoq~7eIc2b9aB5}L3 zOK?q*l+fv2@9ym)EEWId4J?(Iuv=J8vONhyB+^2Bx*czvg{c9=9^o`qCQOZxrb^cl zcce5`vW>92O;gEa0>3K~vfNR`o$j<$BGNOR(nDbgy9H!d^DqxC#G4M-kogdbN4-LNzt4OL({#JkQN~#A7sL%_FN5pU^_8Dg zZaC>CGEd46jRmp8Cz7sau}i6GnRXI}bQf=}Ee1!ct7nWxR~A|^jI8t`AMltrmayIu z%PAl%&9s;=Ej^K?EcPXC&fg5uSj?FV|1=M1U(|Do&6eaZB-t^tU3p6g8!Ip*E@!#1 zz`|n0grz?l6rJrw$BA2n(WS1}HRDAK8!5LgPq_nmMH^mLHsb&H80CUtA|IoSQY*v$ zX?$#DxCSxKxUn7qYY{*}SF?|5WP_dM-g{~W++PRmaZ7-IVWgTh#Z$BQb!a`dz z%y`fpDcnNDfa7Mv^XS=156m>NoMgg+2-DoEq{%Bz)AeLJkrA8L{}Q2_Xi7IrspOF= zkoQR%eBcy9%>#GLEa*~V7aHB#u+RuGzv4_2HB$8tr-@BQQ5zOETx6pARA?gmqs`cM zO2~4bBtHZGmcapJj(ms(V1V>k+|hU!9w&;KH@Jw5x$c)n(#M!aS?&vDEXNtNX(C6O zkaM`+Y<|Azt})~c$(Yj77~ED)TFOuBq!q8<lP{gE+XO+q4`RtIq^8X5B?m9L`pJ4tXr)cO$H; z#PZSzOOja5$2MTyB$km*ykv>lM-i4HFqi5#Dkc)z{W$HKE-He%a#bWcamSmH+=CXE zl?y^R+Cc5kp+Lt=%Y}u+n;^0LrG({4ERRM9n@E`Ek|WKlOydEVWM{WFIL%nuj)is> z&gLqE!dc-R28$$?lV+T3hliy?#*6$hIwW`=o? zve892Fmp!P#Cgu5O*G}VNyu_PCcVz49;H?9tn|dONnwRzYIi0p*rhA-Z;@!%BNd@ygapk>*Fw?_$gK~%3BzI((OXJg zylTY)P;5Sf4S_FoU%qILFNxwfE-ifHw3I`ZqRh2eq#KBAy!oDE?i|GNhM z8p7@gm%|TZWJ@ojMH4IW6l6WU*<2y zLZipc!|DNS%39Lwc$dk`d(3Flfd$8C(@eupNyu^^AhF?$k)qADFnDcT73Dmq4VV!V+P!N!Ted{toL5ZOTmhC}4B z2r=p1BgLeTixeR|5-CDh7R53%8(}qJkQqYGbkoTc^xN{gc zpRlnc}=?p-4-{o=HkNZd|jtV{@Y`qWM6H7#F8oJ675Mk_EQ*efB+ z9Yov^5s7Cqlxf_%gj^zJ+$e|;I#38&oBdKJXohKn<&HEmV_1h_BI@oGHM|!KmF}bh zEMLUZgJRLVBc-Csq&e1H28y8LjlD4}l+8Cz#>l0dzK(FErQAkK`C7tgVA-x2{;{I} zro@W=yFXU+-)FJZe|3#<><1V7Dzqwgh}nVrrQ5x8?1%!LqX<9GGzl!1K2K)7*t0Z7 z=y5R3_$vX&w3|fkLsU)IW|_j@NQgInMp`1C;%UNT4RaBDZr<;tGGU5|nXf_f#+z7% zt1oyH$sBfPyEp|*62>jf(rE2$716t7CrU&_0SPBjQ)sPa zvE);;9+mb~)A8_X_;zN&KGaEUJ_(V%BBM`d{J%woMqy`>(KVe#M!)OKaMx&j)rDmT z_#yVb=`x`*kyGXx2mDySXeX+I?+#(TBioA*SXPS{8|!<>@c!>aeb|GI@~7|OW3lF>z)oY4>FXh* zcPfi-uTcMaDukzvMX4;XFj5jmIT^1|Y|)J2f@WEpc2q}xu{h^Qi6@IN=kfjV1ZLiu*pof4X+!ql8teJ=u@lNPJ(x>WwUiXXH4CmN7-=~-8R8k@ECiD zmDJsQjJ>ZT^kdZwkK@gC-8uV$LBY0}y@6n+*S+^RdsIg-6SuMu7r@dd*%&mSR|`4Rvtn=N{qp;ut2nT;wvm(&y1X54yZ>VO}}GU*L2NCQ`=CXN!GrQ zbm!J4>DMK_#yEADbwksBKaAT1BtQ5yHi%s?qF#lw?@aI?6L=UqUIQ`61j#1IFhQOP z3QcgI0GSVAGp3l1K4=$S%cSqeB;CHuq|;R>{q|xXB>DVuyTDZ&wwqS>3Sb<49sT~j zN&1foyp7Rspb>Ed0$Fzx3=+UM+hQ8cdBikYWPJJtmbxW^YuMgoLBXpa!nF2U&>>Sq zIHyANLPfP;2WZ-Rce0-VUDMiW>i@4JjD9Z&`5>%3c7dznEzsMcd1~q}mW)f1t}e2_ zmGqk?eTb$WZEKY!t7%BRmpLZsZ6#e@=#G^1VB^>k7MR&Zvei}BDajrv>FTS5!;(Hi z(rpje1tnL~3xv6p#geVQo{5m`Wr{AJlPhvTIh@1!JaUACz?UdK^!?;&)7_ zu}cC3-;`3xL+pavN0jJ3<3K$N4EDnaq7)|wnC$N*`-ZWS*c(0ROU+;{O&&`nSBnzb z6{%9&7GY|?FZn|x-CknSUAp=fL7my%twz%s7r07klc1YHu%ARif?K4lI_c4iar${1zHcFIVJ1ixVD?=eX5i|R zD1TE{%a!!~YwUtjEsYdNdgDVTeY)Uk+9F9;FJ0*Ij(%_A^xTdg(A!s3NC|ZnMBi=E zZ`YX!QeRe_FCF%7_ezZy7Dd~+SeTb%Rk0(pU1!ZWVsW4j7 zzn1hGnd=Zq|5;=#*ot+7=2*#cQ|&Lw4lr&uU|ETf?4ysEZ2DY_ehGrj`k7MMQcAtw zde0QnrWsLh!^mREu97IC27}6ZS^U}7gGDQ(60DGvK#$P z<6|WIilnRi-zrJ}LDJO|(sfDK<(OCBGwhIbFG*h!WEYfoCEZ`pHD0Ux26vS*>eaW> z9c(N*fjON6wyz$n+5fRpOqFWQGB26ZbfKiLxYu;4LSL%n5qf% ztN9vkCo!j=l|t$(p$h5jkfPsjI(tRZk4n1wDEJpie^=7g%Ph5Z(#ugANb1_$hEo{* zzBlPZH1!bD&7^C(x2a%TX&00=l1{Hg#j4-Yq)(CbU}MoKBops31zUZ_$z)^uNP6-r zQ|-J|8>-yM305iTqa|H^{d7UnCrP?`4|rYD7nt-4t)#*(NNXjdOe(1F4!g^M9s%8^ zg=jhd==Jr=L8@tIwzTuOq}wV@dbOn2NV@qcX^f_|NX9;5=ssFaJ5vE?D)D>V@I|6B z8>F6k>9bj~&r7;`MI0{U{aVu1w-stpzA5q^M&A}tx2UfMS4wmALeE?hL#YM{dk4GV zy(lI6NP2R*NmnB*Thi4_LQfgU97(sy5t%COERuBfn42!?YfQS)`!t66V^SzzE_Xep z(7z>JeF#w}>GT4Of>yWaI4z6c>yoZM?;k7WPlHaq`p;eeV^iKZi6DY6NoDm-(qO6l zgK_gThVajltv-ZOBcMgn)qVR6spgG~CW=v$=Sp?n36S*ta>R6$^0AVxKAXytbb2)f zJBgaQmZZNfqTgU;XpUXr`$VZ}BaH)RFp>%++xaF~vguV4#ic$C=qt^wlyr6Be_F~v zYWSYTmc30_WiJX)L2pjTNKUX_hfwdQdNCUuQr!-4v12O1gS^zh2T;8iU_wfj!qtcJh2vZJuO5E$QmUt3c9UBf2;Z(xojm zS$$DZA|)s8QNszS6$j#QI9Qw@GiOslO(Qm5cx* zr4cRaAobKIwKB>hQ~UgvX;op*7cKYRX?*`-M{>%KhCY*wp@)?L5I zMtRiPFS8mKea?Nx*Wa-u5A~dL!3cJ+;cUH8;9%W+)%}I@|K&G!fZQ%GMO+OKM?RWd` z&LhhA1%*xC{MQ2^dl&3_E};5Bk4OjW#GmRkM6XWfUw6vVKkUFm1G})hc~)Teo<4}= z+HladDW}P`!DiM^0!#OsGR@=vZE10fTsAX;Zw>4p*E?Eil-SI@sW(}>9Ij0(n#}XP z_>Y01kuT=lED9l!Yt2#6rOoC>9@jaRh47rt{ReEJ1U4;2#7U-W^NK2SU#zBWTG33H zxw;F409~7xt}=K2g?vb3DpD|C4B@q%4|VNb1dTNZm}^5$17e&p4=zw~O%w=FgZbJ5 zz9Z;${m1!yeDD^1`h0#qI8wj0=&_K#fk9+0ihst^HcbycDx_F{XkPXEAwewIZ$2sH zoFU&<#T47jU*}a{4h_`x*YkKwc$m)fc;l21o*uD)IruXXMu<5LMySP2#qqAX&5v1a zW_~t}kBO`dj?NVxO?Yg!Y6Jz}f0TPh&Fea}0J57)bFz?>sd?O`*>iT(d|0FPWEk!^K=0p9g@t?MW?c4?ua?dw)3B2V%Z?>h>eZ^7>%?c z=f9U9LpP#?*JOIx*L4;QnrqWi)4ZI;C&k9F`}ne0gN@_uyW~t=)x!x53bd}c1x-@h zl;j3V1W=HyfSgsX+TvbruFO@Nn(F4tU9~akZmt5F{IxELEQp`((wFt(?c??Z#CmJm zniV%R`??m5pN<=owt*q==6(4TXU$QYx!_0K99>7ehMzhQTwI&?5}$Tp!y&UjzcW6# z^dwnrSmz?EO*!aWP8--)oGSfaYFTkr1J2TfbmZH7w z`wtv!W^0-?I}HcRgC%SBu&?VtP~B!3a*t--J66-u4!BkyJ^;z|5A4xvLHTP5gY0iy zK@ulKxmGlr&+~sLB>FyewWS4_n~(9Nt~u?;fU`1;H=S4c%C4Egm8vlNnjqV7bpHUj zGd2E6*ItenrR-f4Q8T}r#sj*gbhu|S5|V==?KiX2RX(~~S3T)6zqi|n6lG!FZ)r86 z+VBs>EMFE_glWmP;WF`6CXqZ6a`Z_4@N#3=pea{fqS6k~ihBpvz3xW@CV ziP3>Ww>puDh~Id*J>Arf=TY4k`yH)t60VtF^2fV(FTGvr?MDM?<{LEVsQCo5WZ1t4BhBzuD4K zCn_$@oF>lo8FeB@WmAg;HQH;DJfKy8UrUcDu!t0>+`M?k=TqmZoS_ zzB%j?Uzil7$6w+ble(}b{%TTU#(hfbS<%e<>VKvdJ>=TILd9sQW8!pw$B7|y8?6Sq5X^o@5N?nDY{$E<9hYe zhhE^*dd2DcM)B3Xdc?T9RxMR0?96kGEiLB1u^?e!o1ayG+$)UvN2!v$b}Mg6?VtLs zisqNw8qG#A-uVq~>V9aG|0NfnoEG8db`r%))0U6lqI^DuAy4zex=1vDRe`Clx>zYj zO;0|DksouDP*ifR%~hA$s+4h#kLtaW4dcgpCt=k6+B>21zebDXuy`)T5_rh9<`6UY z^Iqw_{oJu1;)~MLbnRRIYSvZN`91Y$(U(>{c9xhiJF2c z`F}G;giHoTlMXt&%^V{b>=bVKnosT1Cp<#VNDzjY_Esj<{1@NdCp5fS8m}pdXZE!L zRuM77#+%>rbA3YDVg5&-48Oa+l1(#@_v<^K{l&NU4P_VkJAGe@%=!}Tlyd{~?1r2h zm!E5$^=)SCmwZLPSkmq{YWywV$}EpMLlA{}h_yoRAEuh2{Gx~=Vbw2O@7|^qhWsEF zo+GXeznio9fXt%ONv+jC6BDa7A6!C8H`UzwGhoF$BIb}a*HUR7an%(lw;zr|Iva8t zU3K>;=&{qV*>Kc+S%_#>ZFI4EDACTs#Nx=zpW&9r_U}A;9)+VF*#70p{FmXfAJIJC z>a{0%rM=FEBc?V?)B&vKDytuF;j8;6x6T$H^4k6pe(u?8JO8$Sw{b6x6n3ghnWw>v zzMG}G=Z2hmO43{*G?&)9*b!IVDi!2+N{tFj+sRS?NRO@qb)0rY#^4de^J{|PrRLICGlfxZH$e$uUxAOJPJWx{KqKpr;SDjouOsTKHF zKgvwmz~p>Co;+}ap7&2)JMhzXr&={1=!-35PhOXm!FKT*Sx>Q*{Lw+T=wA)xrv}}X z^@CJIB{W}tUlUs(W?$C{cdpu>ZWeC0gt`*`V(`+z;rf3J{`BB*=E-XZN2Ilv3#0Is zWEprXgYcV$)^ggNdkq;;nkEG(#olza2@9eO>M~kIPeF9Kukd+Mv#+(}S*`NrB)9f2 z*{$dtLSaM`Su;)=OK4}m0bO9YTSqsY{F5QW+vU0u^QYd`G0q!|ZQ-4VW(JP?RCH9+ z9B$n-nS(y%g+t5y21^U`UH;3^*a)>~nLiIeJoiq1X`}h=fa=s+dg|>8T0^{$%opT@ z2drsDR`Bwih=Au?fl0hJXO!PQ37FYDVE8(=k3TlN-1Evu7;g6AA$;(NAXdvKjp(8$ z9OL(o7{^Xk9~<$A?myy)HMq>dM|i=g2lSJf{OqU&;q&^7%rIVPJAid@_SkE#O2xbn4tr$eHqTVnvE*^%rx+5x+OT2#c=zeZ?6*U?y7|B*WV^$~$!8t>z zYp1Brt%D6_s!?OQv;KU^m_$0ljEQ6K^MhmJ!YWWAC^fp)tY}2@cC zSBNb`0bcl0mJ!qCqSzS9ELZ(1`|)h%NWxv&UW( z1s-sa&lxw?bLt^kk)MpK^$$KEDy_+Ee}I?gKF5~x^zm8#$#nv4G~?^|^6__i#zTuo zO$*}sgqfvONOL_jr~=jo%L?0njNrQ@ye@>`I`<+c!q9lLCaD!o`;U{lv#ol?Rwv9f z%`_=KskZ~C`ZA8tR3P3sVKp1gXWcfiwT8U;OSk=|*Y)PxCq}UI{QZgXQ4jVORkMet z+Er*J7^4fIs<0B9ck#a_#-prpld@x))7(O|;?f55_nrcviN3)MdylW3v@!8kONlUa zBAnbJG1RR}#zb5EuB^oQyl-C5*0i$u;=GCML4GhVu;bBpNC!Q_ntB_|xA_lwAL%D5 zc=hf5^@a-m)9n-V&no!P{Qmmq6?{ehVEu~?i(CmgN5H3>!(q5^n=L* z6WipE{XOJ^3v*XIpF8EwfSabm6n<{XQh)b=dOeQMoZ8pVR~g*Nw@=N}gWu-mgTnms z;FAi7vrPE3F8a*3_>gIzI1aoecguDX*R|sj)2He=Z}I!5_hXOnH>P)GbNQL+PPUVW z&Tw|}s79L9YA7q#5}aSI^Tjiwx<7KVPL9xl!p82sZwVYCcBH?6pc#}th?-r1`8twlk6%*=5(xja2HI`DdoY>GPf`A2J$pp6oG};RX48sO=IS@F52Z7TYxCaB7I}t!nzZVi{Pu#b{(-7q`tIRn1>GZ4 z7dfF#?$;GS-?e$4AapcNeS?2m5T<+X;a3WJ&F!cRmq*EoA&$)Il*9em2>b3%Y){c> z-bjP?N?6aRzMEb9ovPyxROZ%PugueagV_nbvM`v%@+S-X#x}eriq>Qv#m%M_*UWRT zQz?|b*}#7+j9?eI->f9|Fz-7nbzoO0h-Vi~8(c9WDm?-!-!E!7RMZqTn3)1Ss%&~_ zWSys<=9RPFYJd7w1lVvCJ0IQL{TlTbzG8N}zzGD?5p@4YvR9fv^Jiy2==ml}zz?hs z;eF>UW`6wnIrDUnSA|)^+`g;>pEftPi+lC>9<#`%oNvS)@|(-ssj8_Tw!F;KCPeXl zbNlNrhVtgQV{e&{4f>`P$7!5m&NFLYretrp_N!fibx^7VOp70mKxP8nxAu&#yLs8X z{_H>e(7aR{bvNb>3_FXViM}~+w<zzjyv1|IbzVsx|)Oj9C87 z{7y7bug_2JHFy_Ueq%lfYArK3b;+^ic|t(s&)ZCVF(L#Kl<=z4A4_eZehBZR-!DZ_TfQeuk z0JB3CZ?`ZZu&w^_7a{q94__F|p5R3byXn(k}~%725!ND1-$Q~C|1EIEfSB?7WM1e*8TVw{+7ueiZ}Yj>dzN#VfyY4m=e45NACD5 zxxXrNDArB*#YVTeGAmKyrrcHv_MwI>_Kgh!=C69um?>9Z2&C+ zy#`tZYV$|Io@{A}_ecGo!HtW6ik6ll&|1(k(E4pHEmef0OVxu`ftsKus13*e{C~8x zB!bq0x`=-o_MjD@WuPI?z#g<2v>vqnS=bYfS=)w%{|sniDQ;?azyWAkB^-d7pk<&H z&%ptx4MV3MG#}Iitpc^-j8w7{4nT`&)Pj~_uoe-;WKag0iD{$?v;?#sw3en7(0a^& zHtbPoO(;#oO$p|67ii`yZ~$5cS_YbrC94WF5ld%1;h-jH6;?i*1BqfWOawiHW!eRr z`6lc^ORx_PM2hCOy@=G!f$Es3~sVaw(MZ3Zm@t-xwf2AYZW zrV6wkv>x=#dvHMV_u&9DPyRk609p&`qM4`;_Mj$c8PNl<2hGR!s2()&5bQzgL2aGj z|ASIEz>VuL9DtgjMW7WQ!U6F|;DF>u;Q+K5)C4W6hl4=ypoyTak6;g)`7!K4ZO36x za?mQ!s!w1KTKg&NK|>l~-x+>Nag&If3Q!lQ30ef2e-aKr&wy5eCVmD7pe3Kf0jLRT z!+Mi>3ihC7pf1o_&?3Oi&kS(Km1a z+6-C-T6Pu=KEpk<)-pjDtD=V1?81!{sO zeh2$djDOb!I0!}Npf1q-i*P{n5*&bqyv}Rtoy_@b>!Z&V@V!3?R_Gos1AH#JIzq~zK*Oqa=9Z}55yYGnB z9ry83U<&vGFsUVcBbY|MYX>PG6W7bQHgVs|Xt?T*Ya<_ttCKIlbrs)$>mI&K+#joi zitP3!qb&r^vm3nky3WY!(m zTs~4<7wim=T)VNQB?WQZ3E&p3uF*PI!7F!$>(@5&{X4s`GJYOLRh+#L%@TPmt|2@d zR~IkDwU)1bAzDAPgz%LV9AUvhmm#NjDqU zL|*t}bnF?d8M!xG=%a-RRm)moQ3>5Deo)w*$2Ekrm!erdk9{dx$14g-V;Ev&@#bsLYbxjoWz_A*`xUubz;(ek^|j#!|cX=730w(z8t zlE=Oh%`$m5u4TMX+^@zJ6^yHmAAAMn*wfPTY#Sfj+&(VCM+s-IigMrzPq>!wLV>Kt zHJ?}FTF(!@3Qt(pF0}FVZL23*Z#jF7tYdL?@$A=-Kh`&&Hp5eQ56?MRV9_0*YvYx; zX7Yo=?mVu@>2-=4i)$j!#ubf@YZ+htI=o^P9C~veD?}Qio_AsjL%E@w$L~Zy8J2UAjIf?3-fT3x)yPw>_y6A%6AyU^FMJbKhdUQv z{bqQ=9Ng7nPf&8RPyJqZ%4>zqLD=jRcjs|;7o2!`MYOjxY99;dYnrY$#d>3W>4 zT_f*$xL4E+%->$o0auZt(<`uD66i=Qt6o9EfZuz#5KpeZIDCWkI79o#r^8xtlTZ_U#J-U6#cQ*7KNQG(#YzQjQ!&QP%?L4;bDfRFK zJ94ANHmwXKcGQz#wSa;+Cp9d(jsMB0Qfa@0lg6FZmcf~okrd*tV`SjH824WHQ5^hZ zecRK-8pBfU)QYtPQ7hW16+a-3N@{OJ!l#JK(Bm9-df_g(K6+e;=0*FKv-roldQY#1 z$omsqeD9z;=1qaTzs1GtGA`5)yrbKTe&8Kwr+!e3l6q4=aEJ5`rjP@Gry^nR5DH0& zrSibf`jv_Zk$POJ{e5(U_*l z5fo>V;@~sDJ{_Efs9x~tuv79KiHp|bI@rs>C6p2yqsL{~D~Tm8mco1efoNHPJVSl= z;?~F0%OApf2nqI`17c$i^4uW`ml&<%g9P~qvu≷@yXwIdS<1*>`ULCg2bshkYSB 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 A+W-In diff --git a/src/execute/execute.c b/src/execute/execute.c index a2d9e112..d69145f4 100644 --- a/src/execute/execute.c +++ b/src/execute/execute.c @@ -109,6 +109,7 @@ static int new_process(t_ms_data *data) { pid_t pid; struct sigaction a; + char *exec_path; if (data->std_in == -1) data->std_in = dup(STDIN_FILENO); @@ -125,10 +126,25 @@ static int new_process(t_ms_data *data) dup2(data->std_out, STDOUT_FILENO); close_fds(data->std_in, data->std_out); + ft_memset(&a, 0, sizeof(struct sigaction)); sigemptyset(&a.sa_mask); a.sa_handler = SIG_DFL; + a.sa_flags = 0; sigaction(SIGQUIT, &a, NULL); - if (execve(ft_find_path(data->args[0], data->envp), \ + + exec_path = ft_find_path(data->args[0], data->envp); + if (!exec_path) + { + ft_putstr_fd("maxishell: command not found\n", STDERR_FILENO); + exit(EXIT_FAILURE); + } + if (!data->args || !data->args[0] || !data->envp) + { + ft_putstr_fd("maxishell: invalid arguments or environment\n", STDERR_FILENO); + exit(EXIT_FAILURE); + } + + if (execve(exec_path, \ data->args, env_to_array(data->envp)) == -1) { exit_status_handler(data, IS_DIRECTORY, "maxishell: "); @@ -137,7 +153,5 @@ static int new_process(t_ms_data *data) } close_fds(data->std_in, data->std_out); waitpid(pid, &data->exit_status, 0); - if (WIFSIGNALED(data->exit_status) && WTERMSIG(data->exit_status) == SIGQUIT) - ft_printf("Quit (core dumped)\n"); return (EXIT_SUCCESS); } \ No newline at end of file From f564d85f94b979a06ca01a86fbacd0d8b9e5769b Mon Sep 17 00:00:00 2001 From: Dmitry Demirkylych Date: Sat, 7 Sep 2024 16:45:48 +0100 Subject: [PATCH 37/83] fix:valgrind exit --- minishell | Bin 126264 -> 0 bytes src/builtins/exit.c | 1 + src/execute/execute.c | 1 - src/main.c | 2 +- src/parser/parser.c | 1 - src/shell_variables/shell_variables.c | 1 + src/utils/clean_general.c | 6 +++--- 7 files changed, 6 insertions(+), 6 deletions(-) delete mode 100755 minishell diff --git a/minishell b/minishell deleted file mode 100755 index ee93915ce7dbf16f1092797ed0aa1037fdb003c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126264 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, "?", exit_status_str); free(exit_status_str); clear_history_file(); + free_ms_data(data); exit(status); } diff --git a/src/execute/execute.c b/src/execute/execute.c index d69145f4..ffc6ac8f 100644 --- a/src/execute/execute.c +++ b/src/execute/execute.c @@ -131,7 +131,6 @@ static int new_process(t_ms_data *data) a.sa_handler = SIG_DFL; a.sa_flags = 0; sigaction(SIGQUIT, &a, NULL); - exec_path = ft_find_path(data->args[0], data->envp); if (!exec_path) { diff --git a/src/main.c b/src/main.c index 7d211158..fc3d0095 100644 --- a/src/main.c +++ b/src/main.c @@ -31,7 +31,7 @@ void process_ast_and_io(t_ms_data *data, t_loop_data *loop_data) { int status; - print_ast_root(loop_data->tree); + // print_ast_root(loop_data->tree); status = execute_ast(loop_data->tree, data); shell_variable_update(data, status); if (status_handler(status, loop_data)) diff --git a/src/parser/parser.c b/src/parser/parser.c index 5c4a4917..cda5c3f8 100644 --- a/src/parser/parser.c +++ b/src/parser/parser.c @@ -35,7 +35,6 @@ t_ast *create_redir_node(t_token *token) node->args[1] = NULL; node->left = NULL; node->right = NULL; - free(token); return (node); } diff --git a/src/shell_variables/shell_variables.c b/src/shell_variables/shell_variables.c index 42fe52ca..eba5fc32 100644 --- a/src/shell_variables/shell_variables.c +++ b/src/shell_variables/shell_variables.c @@ -52,6 +52,7 @@ int handle_get_shell_variable(t_ms_data *data, const char *key) { ft_putstr_fd(value, data->std_out); ft_putstr_fd("\n", data->std_out); + free(value); return (0); } return (-1); diff --git a/src/utils/clean_general.c b/src/utils/clean_general.c index e4b4639d..d8901b27 100644 --- a/src/utils/clean_general.c +++ b/src/utils/clean_general.c @@ -48,11 +48,11 @@ void free_ms_data(t_ms_data *data) free_shell_var_list(data->envp); free_shell_var_list(data->shell_variables); free(data->current_dir); - if (data->std_in != STDIN_FILENO) + if (data->std_in >= 0) close(data->std_in); - if (data->std_out != STDOUT_FILENO) + if (data->std_out >= 0) close(data->std_out); - if (data->std_err != STDERR_FILENO) + if (data->std_err >= 0) close(data->std_err); } } From d2579d6c3a5c95dac5a9ff5e1d79ca828f7d49f3 Mon Sep 17 00:00:00 2001 From: Dmitry Demirkylych Date: Sat, 7 Sep 2024 17:45:37 +0100 Subject: [PATCH 38/83] fix: add_env leak, add_shell_var leak --- Makefile | 2 +- src/builtins/export.c | 1 + src/env/env.c | 2 +- src/shell_variables/shell_variables_utils.c | 41 ++++++++++----------- 4 files changed, 22 insertions(+), 24 deletions(-) diff --git a/Makefile b/Makefile index a9ed8ab6..fc4698a8 100644 --- a/Makefile +++ b/Makefile @@ -234,6 +234,6 @@ test: $(TEST_OBJECTS) $(LIBFT) @./test valgrind: $(NAME) - @valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes --verbose --suppressions=readline.supp --log-file=valgrind-out.txt ./minishell + @valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes --track-fds=yes --trace-children=yes --suppressions=readline.supp --num-callers=20 --log-file=valgrind-out.txt ./minishell .PHONY: all bonus clean fclean re test diff --git a/src/builtins/export.c b/src/builtins/export.c index 43529d69..031ec6b1 100644 --- a/src/builtins/export.c +++ b/src/builtins/export.c @@ -84,6 +84,7 @@ static void add_env(t_ms_data *data) key = ft_strcdup(curr_arg, '='); set_env(&data->envp, key, \ ft_strchr(curr_arg, '=') + 1); + free(key); } else { diff --git a/src/env/env.c b/src/env/env.c index cf2bf419..6a0d2062 100644 --- a/src/env/env.c +++ b/src/env/env.c @@ -41,10 +41,10 @@ void add_env_node(t_env **data_envp, char *line) if (!new_node) return ; key = ft_strcdup(line, '='); + free(key); value = ft_strchr(line, '=') + 1; new_node->key = ft_strdup(key); new_node->value = ft_strdup(value); - free(key); new_node->next = NULL; if (*data_envp == NULL) { diff --git a/src/shell_variables/shell_variables_utils.c b/src/shell_variables/shell_variables_utils.c index 1f260a0f..cb1d321d 100644 --- a/src/shell_variables/shell_variables_utils.c +++ b/src/shell_variables/shell_variables_utils.c @@ -23,31 +23,28 @@ void add_shell_var_node(t_env **shell_var, const char *line); char *get_shell_variable(t_env *shell_var, const char *key); void free_shell_var_list(t_env *shell_var); -void add_shell_var_node(t_env **shell_var, const char *line) +void add_shell_var_node(t_env **shell_var, const char *line) { - t_env *new_node; - t_env *curr_node; - char *key; - char *value; + + if (!shell_var || !line) + return; - new_node = (t_env *)malloc(sizeof(t_env)); - if (!new_node) - return ; - key = ft_strcdup(line, '='); - value = ft_strchr(line, '=') + 1; - new_node->key = ft_strdup(key); - new_node->value = ft_strdup(value); - free(key); - new_node->next = NULL; - if (*shell_var == NULL) + char *key = ft_strcdup(line, '='); + char *value = ft_strchr(line, '=') + 1; + t_env *new_node = (t_env *)malloc(sizeof(t_env)); + new_node->key = ft_strdup(key); + new_node->value = ft_strdup(value); + new_node->next = NULL; + if (*shell_var == NULL) + *shell_var = new_node; + else { - *shell_var = new_node; - return ; - } - curr_node = *shell_var; - while (curr_node->next != NULL) - curr_node = curr_node->next; - curr_node->next = new_node; + t_env *curr_node = *shell_var; + while (curr_node->next != NULL) + curr_node = curr_node->next; + curr_node->next = new_node; + } + free(key); } void set_shell_var(t_env **shell_var, const char *key, const char *value) From 1b54b63522d910adbe285591c1ccd45d1355c00b Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Sun, 8 Sep 2024 11:37:28 +0100 Subject: [PATCH 39/83] SAFE TO REVERT TO - improved structuring of files only --- Makefile | 13 +- .../input_checker.c | 0 .../input_checker_helpers.c | 0 src/{parser => check_tokenise}/tokeniser.c | 0 .../tokeniser_helpers.c | 0 src/parser/{parser.c => AST.c} | 87 +++++++++++ .../heredoc_loc_env_vars_handler.c.c} | 26 +--- ...ser_joint_vars.c => loc_env_var_handler.c} | 120 ++++++++++++++++ src/parser/parser_helper_helpers.c | 136 ------------------ src/parser/parser_helpers.c | 93 ------------ src/parser/parser_utils.c | 22 --- src/redirection/redirect_heredoc.c | 19 ++- 12 files changed, 236 insertions(+), 280 deletions(-) rename src/{parser => check_tokenise}/input_checker.c (100%) rename src/{parser => check_tokenise}/input_checker_helpers.c (100%) rename src/{parser => check_tokenise}/tokeniser.c (100%) rename src/{parser => check_tokenise}/tokeniser_helpers.c (100%) rename src/parser/{parser.c => AST.c} (60%) rename src/{redirection/redirect_heredoc_utils.c => parser/heredoc_loc_env_vars_handler.c.c} (80%) rename src/parser/{parser_joint_vars.c => loc_env_var_handler.c} (59%) delete mode 100644 src/parser/parser_helper_helpers.c delete mode 100644 src/parser/parser_helpers.c delete mode 100644 src/parser/parser_utils.c diff --git a/Makefile b/Makefile index a9ed8ab6..bd8ea8f5 100644 --- a/Makefile +++ b/Makefile @@ -51,6 +51,7 @@ EXECUTE_DIR = $(SRC_DIR)/execute EXIT_STATUS_DIR = $(SRC_DIR)/exit_status TEST_DIR = $(SRC_DIR)/test SIGNALS_DIR = $(SRC_DIR)/signals +CHECK_TOKENISE_DIR = $(SRC_DIR)/check_tokenise INCLUDES = -I./inc \ -I $(LIB_DIR)/libft/inc \ @@ -73,6 +74,8 @@ BUILTINS_SOURCES = $(wildcard $(BUILTINS_DIR)/*.c) EXECUTE_SOURCES = $(wildcard $(EXECUTE_DIR)/*.c) EXIT_STATUS_SOURCES = $(wildcard $(EXIT_STATUS_DIR)/*.c) SIGNALS_SOURCES = $(wildcard $(SIGNALS_DIR)/*.c) +CHECK_TOKENISE_SOURCES = $(wildcard $(CHECK_TOKENISE_DIR)/*.c) + MAIN_TEST_SOURCE = $(wildcard $(TEST_DIR)/*.c) ENV_TEST_SOURCES = $(wildcard $(TEST_DIR)/env/*.c) @@ -94,7 +97,8 @@ SOURCES = $(MAIN_SOURCE) \ $(ENV_TEST_SOURCES) \ $(PIPE_TEST_SOURCES) \ $(REDIRECTION_SOURCES) \ - $(SIGNALS_SOURCES) + $(SIGNALS_SOURCES) \ + $(CHECK_TOKENISE) # Building BUILD_DIR = ./build MAIN_OBJECT = $(patsubst $(SRC_DIR)/%.c, $(BUILD_DIR)/src/%.o, $(MAIN_SOURCE)) @@ -113,6 +117,7 @@ SIGNALS_OBJECTS = $(patsubst $(SIGNALS_DIR)/%.c, $(BUILD_DIR)/src/signals/%.o MAIN_TEST_OBJECT = $(patsubst $(TEST_DIR)/%.c, $(BUILD_DIR)/src/test/%.o, $(MAIN_TEST_SOURCE)) ENV_TEST_OBJECTS = $(patsubst $(TEST_DIR)/env/%.c, $(BUILD_DIR)/src/test/env/%.o, $(ENV_TEST_SOURCES)) PIPE_TEST_OBJECTS = $(patsubst $(TEST_DIR)/pipe/%.c, $(BUILD_DIR)/src/test/pipe/%.o, $(PIPE_TEST_SOURCES)) +CHECK_TOKENISE_OBJECTS = $(patsubst $(CHECK_TOKENISE_DIR)/check_tokenise/%.c, $(BUILD_DIR)/src/check_tokenise/%.o, $(CHECK_TOKENISE_SOURCES)) OBJECTS = $(MAIN_OBJECT) \ $(APP_OBJECTS) \ @@ -127,7 +132,8 @@ OBJECTS = $(MAIN_OBJECT) \ $(PARSER_OBJECTS) \ $(PIPE_OBJECTS) \ $(REDIRECTION_OBJECTS) \ - $(SIGNALS_OBJECTS) + $(SIGNALS_OBJECTS) \ + $(CHECK_TOKENISE_OBJECTS) TEST_OBJECTS = $(APP_OBJECTS) \ $(ENV_OBJECTS) \ @@ -139,7 +145,8 @@ TEST_OBJECTS = $(APP_OBJECTS) \ $(PIPE_OBJECTS) \ $(MAIN_TEST_OBJECT) \ $(ENV_TEST_OBJECTS) \ - $(PIPE_TEST_OBJECTS) + $(PIPE_TEST_OBJECTS) \ + $(CHECK_TOKENISE_OBJECTS) # Processing all: $(NAME) diff --git a/src/parser/input_checker.c b/src/check_tokenise/input_checker.c similarity index 100% rename from src/parser/input_checker.c rename to src/check_tokenise/input_checker.c diff --git a/src/parser/input_checker_helpers.c b/src/check_tokenise/input_checker_helpers.c similarity index 100% rename from src/parser/input_checker_helpers.c rename to src/check_tokenise/input_checker_helpers.c diff --git a/src/parser/tokeniser.c b/src/check_tokenise/tokeniser.c similarity index 100% rename from src/parser/tokeniser.c rename to src/check_tokenise/tokeniser.c diff --git a/src/parser/tokeniser_helpers.c b/src/check_tokenise/tokeniser_helpers.c similarity index 100% rename from src/parser/tokeniser_helpers.c rename to src/check_tokenise/tokeniser_helpers.c diff --git a/src/parser/parser.c b/src/parser/AST.c similarity index 60% rename from src/parser/parser.c rename to src/parser/AST.c index cda5c3f8..7167689f 100644 --- a/src/parser/parser.c +++ b/src/parser/AST.c @@ -16,6 +16,77 @@ t_ast *create_redir_node(t_token *token); int is_redir_node(t_token *tokens); t_ast *manage_redirs(t_token **tokens, t_ms_data *data); t_ast *manage_pipe(t_token **tokens, t_ms_data *data); +t_ast *new_ast_node(t_token_type type); +t_ast *create_redir(t_token **tokens, t_token *tmp, t_ms_data *data); +int arg_len(t_token *current); +void set_command_args(t_ast *command_node, t_token **tokens, int arg_count); +t_ast *manage_commands(t_token **tokens, t_ms_data *data); + +t_ast *new_ast_node(t_token_type type) +{ + t_ast *node; + + node = malloc(sizeof(t_ast)); + if (!node) + return (NULL); + node->type = type; + node->args = NULL; + node->left = NULL; + node->right = NULL; + return (node); +} + +t_ast *create_redir(t_token **tokens, t_token *tmp, t_ms_data *data) +{ + t_ast *redirect_node; + + redirect_node = new_ast_node((*tokens)->type); + *tokens = (*tokens)->next->next; + redirect_node->left = manage_redirs(tokens, data); + redirect_node->right = create_redir_node(tmp->next); + free(tmp->data); + free(tmp); + return (redirect_node); +} + +int arg_len(t_token *current) +{ + int arg_count; + + arg_count = 0; + while (current && current->type == PHRASE) + { + arg_count++; + current = current->next; + } + return (arg_count); +} + +void set_command_args(t_ast *command_node, t_token **tokens, \ + int arg_count) +{ + int i; + t_token *tmp; + + i = 0; + while (i < arg_count) + { + command_node->args[i] = ft_strdup((*tokens)->data); + tmp = *tokens; + *tokens = (*tokens)->next; + free(tmp->data); + free(tmp); + i++; + } + command_node->args[arg_count] = NULL; +} + +t_ast *parse_tokens(t_token **tokens, t_ms_data *data) +{ + if (!tokens || !*tokens) + return (NULL); + return (manage_pipe(tokens, data)); +} t_ast *create_redir_node(t_token *token) { @@ -103,3 +174,19 @@ t_ast *manage_pipe(t_token **tokens, t_ms_data *data) } return (manage_redirs(&tmp, data)); } + +t_ast *manage_commands(t_token **tokens, t_ms_data *data) +{ + t_ast *command_node; + int arg_count; + + command_node = new_ast_node(PHRASE); + arg_count = arg_len(*tokens); + command_node->args = malloc(sizeof(char *) * (arg_count + 1)); + if (!command_node->args) + return (NULL); + set_command_args(command_node, tokens, arg_count); + (void)data; + //post_process_command_args(command_node, arg_count, data); + return (command_node); +} \ No newline at end of file diff --git a/src/redirection/redirect_heredoc_utils.c b/src/parser/heredoc_loc_env_vars_handler.c.c similarity index 80% rename from src/redirection/redirect_heredoc_utils.c rename to src/parser/heredoc_loc_env_vars_handler.c.c index ff20a825..05887efb 100644 --- a/src/redirection/redirect_heredoc_utils.c +++ b/src/parser/heredoc_loc_env_vars_handler.c.c @@ -18,18 +18,6 @@ #include #include "signals.h" -int redirect_here_doc(t_ast *node, t_ms_data *data); - -/** - - @brief This function handle "<<" heredoc functionality - - - - @param node current node in the AST - - @param data minishell data structure - - @return status: - - 0: success - - 1: error - */ - static char *assemble_result(char **tokens, size_t result_len) { char *result; @@ -104,16 +92,4 @@ char *process_and_reassemble(char *line, t_ms_data *data) } result = assemble_result(tokens, result_len); return (result); -} - -void write_heredoc_lines(char **line, int file_fd, char *eof, \ - t_ms_data *data) -{ - while (*line && (ft_strcmp(*line, eof) != 0) && !g_heredoc_interrupted) - { - write(file_fd, *line, ft_strlen(*line)); - write(file_fd, "\n", 1); - free(*line); - *line = process_and_reassemble(readline("> "), data); - } -} +} \ No newline at end of file diff --git a/src/parser/parser_joint_vars.c b/src/parser/loc_env_var_handler.c similarity index 59% rename from src/parser/parser_joint_vars.c rename to src/parser/loc_env_var_handler.c index aa402367..91cff680 100644 --- a/src/parser/parser_joint_vars.c +++ b/src/parser/loc_env_var_handler.c @@ -12,6 +12,126 @@ #include +void final_quote_removal(int arg_count, t_ast *command_node) +{ + int i; + size_t len; + char *arg; + char *trimmed_arg; + + i = 0; + while (i < arg_count) + { + arg = command_node->args[i]; + len = ft_strlen(arg); + if ((arg[0] == '"' && arg[len - 1] == '"') || (arg[0] == '\'' \ + && arg[len - 1] == '\'')) + { + trimmed_arg = ft_strndup(arg + 1, len - 2); + free(command_node->args[i]); + command_node->args[i] = trimmed_arg; + } + i++; + } +} + +char *exit_status_adj(char *arg) +{ + if (strcmp(arg, "$") == 0) + { + free(arg); + return strdup("$?"); + } + return arg; +} + +char *expand_env_and_loc_var(char *arg, t_ms_data *data) +{ + char *env_value; + char *exit_status; + + arg = exit_status_adj(arg); + if (ft_strcmp(arg, "$?") == 0) + { + exit_status = get_shell_variable(data->shell_variables, "?"); + return (ft_strdup(exit_status)); + } + else if (arg[0] == '$') + { + if (arg[ft_strlen(arg) - 1] == '"') + arg[ft_strlen(arg) - 1] = '\0'; + env_value = get_env(data->envp, arg + 1); + if (!env_value) + env_value = get_env(data->shell_variables, arg + 1); + if (env_value) + return (ft_strdup(env_value)); + } + return (ft_strdup("")); +} + +void handle_local_vars(t_ms_data *data, char *arg) +{ + char *p; + int valid_var; + + p = arg; + valid_var = 1; + if (arg[0] != '=' && strchr(arg, '=')) + { + while (p < strchr(arg, '=')) + { + if (!ft_isalnum(*p++)) + { + valid_var = 0; + break ; + } + } + if (valid_var) + handle_add_set_shell_variable(&data->shell_variables, arg); + } +} + +int is_in_single_quotes(char *arg) +{ + int len; + + if (!arg || arg[0] != '\'') + return (0); + len = 0; + while (arg[len] != '\0') + len++; + if (arg[len - 1] == '\'') + return (1); + return (0); +} + +void post_process_command_args(t_ast *command_node, int arg_count \ + , t_ms_data *data) +{ + int i; + char *processed_arg; + + i = 0; + while (i < arg_count) + { + if (!is_in_single_quotes(command_node->args[i])) + { + handle_local_vars(data, command_node->args[i]); + processed_arg = process_argument(command_node->args[i], data); + } + else + { + processed_arg = ft_substr(command_node->args[i], 1, \ + ft_strlen(command_node->args[i]) - 2); + } + free(command_node->args[i]); + command_node->args[i] = processed_arg; + i++; + } + final_quote_removal(arg_count, command_node); +} + + char *str_start_adj(char *arg) { if (!strcmp(arg, "?") || !strcmp(arg, "?\"")) diff --git a/src/parser/parser_helper_helpers.c b/src/parser/parser_helper_helpers.c deleted file mode 100644 index 681fbf56..00000000 --- a/src/parser/parser_helper_helpers.c +++ /dev/null @@ -1,136 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* parser_helper_helpers.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rocky +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2024/08/28 20:36:33 by rocky #+# #+# */ -/* Updated: 2024/08/28 20:36:39 by rocky ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "tokens.h" -#include "execute.h" -#include "exit_status.h" - - - -void final_quote_removal(int arg_count, t_ast *command_node) -{ - int i; - size_t len; - char *arg; - char *trimmed_arg; - - i = 0; - while (i < arg_count) - { - arg = command_node->args[i]; - len = ft_strlen(arg); - if ((arg[0] == '"' && arg[len - 1] == '"') || (arg[0] == '\'' \ - && arg[len - 1] == '\'')) - { - trimmed_arg = ft_strndup(arg + 1, len - 2); - free(command_node->args[i]); - command_node->args[i] = trimmed_arg; - } - i++; - } -} - -char *exit_status_adj(char *arg) -{ - if (strcmp(arg, "$") == 0) - { - free(arg); - return strdup("$?"); - } - return arg; -} - -char *expand_env_and_loc_var(char *arg, t_ms_data *data) -{ - char *env_value; - char *exit_status; - - arg = exit_status_adj(arg); - if (ft_strcmp(arg, "$?") == 0) - { - exit_status = get_shell_variable(data->shell_variables, "?"); - return (ft_strdup(exit_status)); - } - else if (arg[0] == '$') - { - if (arg[ft_strlen(arg) - 1] == '"') - arg[ft_strlen(arg) - 1] = '\0'; - env_value = get_env(data->envp, arg + 1); - if (!env_value) - env_value = get_env(data->shell_variables, arg + 1); - if (env_value) - return (ft_strdup(env_value)); - } - return (ft_strdup("")); -} - -void handle_local_vars(t_ms_data *data, char *arg) -{ - char *p; - int valid_var; - - p = arg; - valid_var = 1; - if (arg[0] != '=' && strchr(arg, '=')) - { - while (p < strchr(arg, '=')) - { - if (!ft_isalnum(*p++)) - { - valid_var = 0; - break ; - } - } - if (valid_var) - handle_add_set_shell_variable(&data->shell_variables, arg); - } -} - -int is_in_single_quotes(char *arg) -{ - int len; - - if (!arg || arg[0] != '\'') - return (0); - len = 0; - while (arg[len] != '\0') - len++; - if (arg[len - 1] == '\'') - return (1); - return (0); -} - -void post_process_command_args(t_ast *command_node, int arg_count \ - , t_ms_data *data) -{ - int i; - char *processed_arg; - - i = 0; - while (i < arg_count) - { - if (!is_in_single_quotes(command_node->args[i])) - { - handle_local_vars(data, command_node->args[i]); - processed_arg = process_argument(command_node->args[i], data); - } - else - { - processed_arg = ft_substr(command_node->args[i], 1, \ - ft_strlen(command_node->args[i]) - 2); - } - free(command_node->args[i]); - command_node->args[i] = processed_arg; - i++; - } - final_quote_removal(arg_count, command_node); -} diff --git a/src/parser/parser_helpers.c b/src/parser/parser_helpers.c deleted file mode 100644 index 525f6f76..00000000 --- a/src/parser/parser_helpers.c +++ /dev/null @@ -1,93 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* parser_helpers.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rocky +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2024/08/28 20:13:42 by rocky #+# #+# */ -/* Updated: 2024/08/28 20:14:33 by rocky ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "tokens.h" - -t_ast *new_ast_node(t_token_type type); -t_ast *create_redir(t_token **tokens, t_token *tmp, t_ms_data *data); -int arg_len(t_token *current); -void set_command_args(t_ast *command_node, t_token **tokens, int arg_count); -t_ast *manage_commands(t_token **tokens, t_ms_data *data); - -t_ast *new_ast_node(t_token_type type) -{ - t_ast *node; - - node = malloc(sizeof(t_ast)); - if (!node) - return (NULL); - node->type = type; - node->args = NULL; - node->left = NULL; - node->right = NULL; - return (node); -} - -t_ast *create_redir(t_token **tokens, t_token *tmp, t_ms_data *data) -{ - t_ast *redirect_node; - - redirect_node = new_ast_node((*tokens)->type); - *tokens = (*tokens)->next->next; - redirect_node->left = manage_redirs(tokens, data); - redirect_node->right = create_redir_node(tmp->next); - free(tmp->data); - free(tmp); - return (redirect_node); -} - -int arg_len(t_token *current) -{ - int arg_count; - - arg_count = 0; - while (current && current->type == PHRASE) - { - arg_count++; - current = current->next; - } - return (arg_count); -} - -void set_command_args(t_ast *command_node, t_token **tokens, \ - int arg_count) -{ - int i; - t_token *tmp; - - i = 0; - while (i < arg_count) - { - command_node->args[i] = ft_strdup((*tokens)->data); - tmp = *tokens; - *tokens = (*tokens)->next; - free(tmp->data); - free(tmp); - i++; - } - command_node->args[arg_count] = NULL; -} - -t_ast *manage_commands(t_token **tokens, t_ms_data *data) -{ - t_ast *command_node; - int arg_count; - - command_node = new_ast_node(PHRASE); - arg_count = arg_len(*tokens); - command_node->args = malloc(sizeof(char *) * (arg_count + 1)); - if (!command_node->args) - return (NULL); - set_command_args(command_node, tokens, arg_count); - post_process_command_args(command_node, arg_count, data); - return (command_node); -} diff --git a/src/parser/parser_utils.c b/src/parser/parser_utils.c deleted file mode 100644 index 92d15d22..00000000 --- a/src/parser/parser_utils.c +++ /dev/null @@ -1,22 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* parser_utils.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: dmdemirk right->args[0]); - line = process_and_reassemble(readline("> "), data); + // line = process_and_reassemble(readline("> "), data); + line = readline("> "); write_heredoc_lines(&line, file_fd, eof, data); if (g_heredoc_interrupted) return (handle_heredoc_interruption(line, eof, file_fd, &sa_old)); @@ -102,3 +105,17 @@ int redirect_here_doc(t_ast *node, t_ms_data *data) unlink("/tmp/heredoc"); return (0); } + +void write_heredoc_lines(char **line, int file_fd, char *eof, \ + t_ms_data *data) +{ + while (*line && (ft_strcmp(*line, eof) != 0) && !g_heredoc_interrupted) + { + write(file_fd, *line, ft_strlen(*line)); + write(file_fd, "\n", 1); + free(*line); + (void)data; + // *line = process_and_reassemble(readline("> "), data); + *line = readline("> "); + } +} From 3ac7583b8b172e9ffae3a8dfe307d4f13296df8e Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Sun, 8 Sep 2024 14:08:08 +0100 Subject: [PATCH 40/83] mid-debugging, still works well. Revert to here if necessary --- inc/tokens.h | 1 + o.txt | 19 +++ src/check_tokenise/tokeniser.c | 12 ++ src/check_tokenise/tokeniser_helpers.c | 1 + src/main.c | 1 + src/parser/AST.c | 209 +++++++++++++------------ src/utils/clean_general.c | 1 + src/utils/clean_tree.c | 2 + 8 files changed, 149 insertions(+), 97 deletions(-) create mode 100644 o.txt diff --git a/inc/tokens.h b/inc/tokens.h index f3969b8f..d0d153d9 100644 --- a/inc/tokens.h +++ b/inc/tokens.h @@ -121,5 +121,6 @@ char *process_argument(char *arg, t_ms_data *data); char *expand_variable(char **start, t_ms_data *data); void clear_history_file(void); int is_in_single_quotes(char *arg); +void print_ast_args(t_ast *node); #endif diff --git a/o.txt b/o.txt new file mode 100644 index 00000000..bf47c64f --- /dev/null +++ b/o.txt @@ -0,0 +1,19 @@ +total 2044 +drwxrwxr-x 10 rocky rocky 4096 Sep 8 14:06 . +drwxrwxr-x 14 rocky rocky 4096 Aug 23 19:45 .. +drwxrwxr-x 4 rocky rocky 4096 Sep 8 13:50 build +drwxrwxr-x 5 rocky rocky 4096 Aug 22 16:57 doc +-rw-rw-r-- 1 rocky rocky 8196 Aug 22 16:54 .DS_Store +-rw-rw-r-- 1 rocky rocky 1568461 Aug 22 16:54 en.subject.pdf +drwxrwxr-x 8 rocky rocky 4096 Sep 8 13:03 .git +drwxrwxr-x 3 rocky rocky 4096 Aug 20 13:50 .github +-rw-rw-r-- 1 rocky rocky 430 Sep 6 17:46 .gitignore +drwxrwxr-x 2 rocky rocky 4096 Sep 7 11:46 inc +drwxrwxr-x 3 rocky rocky 4096 Aug 20 13:50 lib +-rw-rw-r-- 1 rocky rocky 8699 Sep 8 11:36 Makefile +-rwxrwxr-x 1 rocky rocky 443840 Sep 8 14:06 minishell +-rw-r--r-- 1 rocky rocky 0 Sep 8 14:07 o.txt +-rw-rw-r-- 1 rocky rocky 136 Aug 22 16:54 readline.supp +-rw-rw-r-- 1 rocky rocky 1507 Aug 22 16:54 README.md +drwxrwxr-x 14 rocky rocky 4096 Sep 8 13:03 src +drwxrwxr-x 2 rocky rocky 4096 Aug 22 16:54 .vscode diff --git a/src/check_tokenise/tokeniser.c b/src/check_tokenise/tokeniser.c index bcfcfcf8..47c6cf63 100644 --- a/src/check_tokenise/tokeniser.c +++ b/src/check_tokenise/tokeniser.c @@ -97,6 +97,18 @@ void print_tokens(t_token *tokens) } } +void print_ast_args(t_ast *node) +{ + int i; + + i = 0; + while (node->args[i] != NULL) + { + ft_printf("ast arg[%d] -> %s \n", i, node->args[i]); + i++; + } +} + t_token *tokenise(char *str) { t_token *tokens; diff --git a/src/check_tokenise/tokeniser_helpers.c b/src/check_tokenise/tokeniser_helpers.c index c4a63c70..df0cd5bb 100644 --- a/src/check_tokenise/tokeniser_helpers.c +++ b/src/check_tokenise/tokeniser_helpers.c @@ -17,6 +17,7 @@ t_token *new_token(char *value, t_token_type type) t_token *token; token = malloc(sizeof(t_token)); + ft_printf(RED"token malloc'd: %s\n"RESET, ""); if (!token) return (NULL); token->data = ft_strdup(value); diff --git a/src/main.c b/src/main.c index fc3d0095..98845c4a 100644 --- a/src/main.c +++ b/src/main.c @@ -60,6 +60,7 @@ void main_loop(t_ms_data *data, t_loop_data *loop_data) if (input_error_checks(loop_data)) continue ; loop_data->tokens = tokenise(loop_data->trimmed_input); + print_tokens(loop_data->tokens); loop_data->tree = parse_tokens(&loop_data->tokens, data); process_ast_and_io(data, loop_data); } diff --git a/src/parser/AST.c b/src/parser/AST.c index 7167689f..e10856cb 100644 --- a/src/parser/AST.c +++ b/src/parser/AST.c @@ -22,6 +22,118 @@ int arg_len(t_token *current); void set_command_args(t_ast *command_node, t_token **tokens, int arg_count); t_ast *manage_commands(t_token **tokens, t_ms_data *data); + +t_ast *parse_tokens(t_token **tokens, t_ms_data *data) +{ + if (!tokens || !*tokens) + return (NULL); + return (manage_pipe(tokens, data)); +} + +t_ast *manage_pipe(t_token **tokens, t_ms_data *data) +{ + t_token *tmp; + t_token *next_token; + t_ast *pipe_node; + + tmp = *tokens; + while (*tokens && (*tokens)->next) + { + next_token = (*tokens)->next; + if ((*tokens)->next->type == PIPE) + { + pipe_node = new_ast_node((*tokens)->next->type); + (*tokens)->next = NULL; + pipe_node->left = manage_redirs(&tmp, data); + if (next_token->next == NULL) + pipe_node->right = NULL; + else + pipe_node->right = manage_pipe(&(next_token->next), data); + free(next_token->data); + free(next_token); + return (pipe_node); + } + *tokens = next_token; + } + return (manage_redirs(&tmp, data)); +} + +t_ast *manage_redirs(t_token **tokens, t_ms_data *data) +{ + t_ast *command_node; + t_ast *redirect_node; + t_token *current_token; + + if (!tokens || !*tokens) + return (NULL); + command_node = manage_commands(tokens, data); + current_token = *tokens; + while (current_token && is_redir_node(current_token)) + { + redirect_node = create_redir_node(current_token); + // ft_printf(YEL"freeing curr_token (redir): %s (manage_redirs)\n"RESET, current_token->data); + // free(current_token->data); + redirect_node->left = command_node; + print_ast_args(command_node); + *tokens = current_token->next; + if (*tokens) + { + redirect_node->right = create_redir_node(*tokens); + *tokens = (*tokens)->next; + } + else + redirect_node->right = NULL; + command_node = redirect_node; + current_token = *tokens; + } + return (command_node); +} + +t_ast *manage_commands(t_token **tokens, t_ms_data *data) +{ + t_ast *command_node; + int arg_count; + + command_node = new_ast_node(PHRASE); + arg_count = arg_len(*tokens); + command_node->args = malloc(sizeof(char *) * (arg_count + 1)); + if (!command_node->args) + return (NULL); + set_command_args(command_node, tokens, arg_count); + (void)data; + //post_process_command_args(command_node, arg_count, data); + return (command_node); +} + +void set_command_args(t_ast *command_node, t_token **tokens, int arg_count) +{ + int i; + + i = 0; + while (i < arg_count) + { + // ft_printf("set_command_args tokens:\n"); + // print_tokens(*tokens); + command_node->args[i] = ft_strdup((*tokens)->data); + *tokens = (*tokens)->next; + i++; + } + command_node->args[arg_count] = NULL; +} + + + + + + + + + + + + + + t_ast *new_ast_node(t_token_type type) { t_ast *node; @@ -62,32 +174,6 @@ int arg_len(t_token *current) return (arg_count); } -void set_command_args(t_ast *command_node, t_token **tokens, \ - int arg_count) -{ - int i; - t_token *tmp; - - i = 0; - while (i < arg_count) - { - command_node->args[i] = ft_strdup((*tokens)->data); - tmp = *tokens; - *tokens = (*tokens)->next; - free(tmp->data); - free(tmp); - i++; - } - command_node->args[arg_count] = NULL; -} - -t_ast *parse_tokens(t_token **tokens, t_ms_data *data) -{ - if (!tokens || !*tokens) - return (NULL); - return (manage_pipe(tokens, data)); -} - t_ast *create_redir_node(t_token *token) { t_ast *node; @@ -119,74 +205,3 @@ int is_redir_node(t_token *tokens) return (0); } -t_ast *manage_redirs(t_token **tokens, t_ms_data *data) -{ - t_ast *command_node; - t_ast *redirect_node; - t_token *current_token; - - if (!tokens || !*tokens) - return (NULL); - command_node = manage_commands(tokens, data); - current_token = *tokens; - while (current_token && is_redir_node(current_token)) - { - redirect_node = create_redir_node(current_token); - redirect_node->left = command_node; - *tokens = current_token->next; - if (*tokens) - { - redirect_node->right = create_redir_node(*tokens); - *tokens = (*tokens)->next; - } - else - redirect_node->right = NULL; - command_node = redirect_node; - current_token = *tokens; - } - return (command_node); -} - -t_ast *manage_pipe(t_token **tokens, t_ms_data *data) -{ - t_token *tmp; - t_token *next_token; - t_ast *pipe_node; - - tmp = *tokens; - while (*tokens && (*tokens)->next) - { - next_token = (*tokens)->next; - if ((*tokens)->next->type == PIPE) - { - pipe_node = new_ast_node((*tokens)->next->type); - (*tokens)->next = NULL; - pipe_node->left = manage_redirs(&tmp, data); - if (next_token->next == NULL) - pipe_node->right = NULL; - else - pipe_node->right = manage_pipe(&(next_token->next), data); - free(next_token->data); - free(next_token); - return (pipe_node); - } - *tokens = next_token; - } - return (manage_redirs(&tmp, data)); -} - -t_ast *manage_commands(t_token **tokens, t_ms_data *data) -{ - t_ast *command_node; - int arg_count; - - command_node = new_ast_node(PHRASE); - arg_count = arg_len(*tokens); - command_node->args = malloc(sizeof(char *) * (arg_count + 1)); - if (!command_node->args) - return (NULL); - set_command_args(command_node, tokens, arg_count); - (void)data; - //post_process_command_args(command_node, arg_count, data); - return (command_node); -} \ No newline at end of file diff --git a/src/utils/clean_general.c b/src/utils/clean_general.c index d8901b27..b8c16777 100644 --- a/src/utils/clean_general.c +++ b/src/utils/clean_general.c @@ -61,6 +61,7 @@ void loop_cleanup(char *line, t_token *tokens, char *prompt, t_ast *tree) { free(line); free(prompt); + // print_tokens(tokens); (void)tokens; free_ast(tree); } diff --git a/src/utils/clean_tree.c b/src/utils/clean_tree.c index 9d616d36..edb087c3 100644 --- a/src/utils/clean_tree.c +++ b/src/utils/clean_tree.c @@ -25,6 +25,7 @@ void free_all_tokens(t_token *tokens) { if (temp->data) { + ft_printf(GRN"token free'd: %s\n"RESET, temp->data); free(temp->data); temp->data = NULL; } @@ -45,6 +46,7 @@ void free_ast(t_ast *node) { while (node->args && node->args[i]) { + ft_printf(GRN"t_ast node arg free'd: %s (end of main_loop->loop_clean->free_ast)\n"RESET, node->args[i]); free(node->args[i]); i++; } From 2d5fe8a9af138131cb3c403d99f9dbc487fc9c79 Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Sun, 8 Sep 2024 15:17:47 +0100 Subject: [PATCH 41/83] about to refactor new_ast_node & tree, safe to RESET to here --- o.txt | 32 +++++++---------- o.txtex | 20 +++++++++++ src/parser/AST.c | 92 +++++++++++++++++++----------------------------- txt | 14 ++++++++ 4 files changed, 84 insertions(+), 74 deletions(-) create mode 100644 o.txtex create mode 100644 txt diff --git a/o.txt b/o.txt index bf47c64f..12bd9cfa 100644 --- a/o.txt +++ b/o.txt @@ -1,19 +1,13 @@ -total 2044 -drwxrwxr-x 10 rocky rocky 4096 Sep 8 14:06 . -drwxrwxr-x 14 rocky rocky 4096 Aug 23 19:45 .. -drwxrwxr-x 4 rocky rocky 4096 Sep 8 13:50 build -drwxrwxr-x 5 rocky rocky 4096 Aug 22 16:57 doc --rw-rw-r-- 1 rocky rocky 8196 Aug 22 16:54 .DS_Store --rw-rw-r-- 1 rocky rocky 1568461 Aug 22 16:54 en.subject.pdf -drwxrwxr-x 8 rocky rocky 4096 Sep 8 13:03 .git -drwxrwxr-x 3 rocky rocky 4096 Aug 20 13:50 .github --rw-rw-r-- 1 rocky rocky 430 Sep 6 17:46 .gitignore -drwxrwxr-x 2 rocky rocky 4096 Sep 7 11:46 inc -drwxrwxr-x 3 rocky rocky 4096 Aug 20 13:50 lib --rw-rw-r-- 1 rocky rocky 8699 Sep 8 11:36 Makefile --rwxrwxr-x 1 rocky rocky 443840 Sep 8 14:06 minishell --rw-r--r-- 1 rocky rocky 0 Sep 8 14:07 o.txt --rw-rw-r-- 1 rocky rocky 136 Aug 22 16:54 readline.supp --rw-rw-r-- 1 rocky rocky 1507 Aug 22 16:54 README.md -drwxrwxr-x 14 rocky rocky 4096 Sep 8 13:03 src -drwxrwxr-x 2 rocky rocky 4096 Aug 22 16:54 .vscode +build +doc +en.subject.pdf +inc +lib +Makefile +minishell +o.txt +o.txtex +readline.supp +README.md +src +txt diff --git a/o.txtex b/o.txtex new file mode 100644 index 00000000..7ac6d3fe --- /dev/null +++ b/o.txtex @@ -0,0 +1,20 @@ +total 2048 +drwxrwxr-x 10 rocky rocky 4096 Sep 8 14:50 . +drwxrwxr-x 14 rocky rocky 4096 Aug 23 19:45 .. +drwxrwxr-x 4 rocky rocky 4096 Sep 8 14:39 build +drwxrwxr-x 5 rocky rocky 4096 Aug 22 16:57 doc +-rw-rw-r-- 1 rocky rocky 8196 Aug 22 16:54 .DS_Store +-rw-rw-r-- 1 rocky rocky 1568461 Aug 22 16:54 en.subject.pdf +drwxrwxr-x 8 rocky rocky 4096 Sep 8 14:08 .git +drwxrwxr-x 3 rocky rocky 4096 Aug 20 13:50 .github +-rw-rw-r-- 1 rocky rocky 430 Sep 6 17:46 .gitignore +drwxrwxr-x 2 rocky rocky 4096 Sep 7 11:46 inc +drwxrwxr-x 3 rocky rocky 4096 Aug 20 13:50 lib +-rw-rw-r-- 1 rocky rocky 8699 Sep 8 11:36 Makefile +-rwxrwxr-x 1 rocky rocky 443880 Sep 8 14:50 minishell +-rw-r--r-- 1 rocky rocky 990 Sep 8 14:50 o.txt +-rw-r--r-- 1 rocky rocky 0 Sep 8 14:50 o.txtex +-rw-rw-r-- 1 rocky rocky 136 Aug 22 16:54 readline.supp +-rw-rw-r-- 1 rocky rocky 1507 Aug 22 16:54 README.md +drwxrwxr-x 14 rocky rocky 4096 Sep 8 13:03 src +drwxrwxr-x 2 rocky rocky 4096 Aug 22 16:54 .vscode diff --git a/src/parser/AST.c b/src/parser/AST.c index e10856cb..e49cbba4 100644 --- a/src/parser/AST.c +++ b/src/parser/AST.c @@ -66,6 +66,8 @@ t_ast *manage_redirs(t_token **tokens, t_ms_data *data) if (!tokens || !*tokens) return (NULL); + ft_printf(CYA"manage_redirs tokens:\n"RESET); + print_tokens(*tokens); command_node = manage_commands(tokens, data); current_token = *tokens; while (current_token && is_redir_node(current_token)) @@ -74,7 +76,7 @@ t_ast *manage_redirs(t_token **tokens, t_ms_data *data) // ft_printf(YEL"freeing curr_token (redir): %s (manage_redirs)\n"RESET, current_token->data); // free(current_token->data); redirect_node->left = command_node; - print_ast_args(command_node); + // print_ast_args(command_node); *tokens = current_token->next; if (*tokens) { @@ -96,9 +98,12 @@ t_ast *manage_commands(t_token **tokens, t_ms_data *data) command_node = new_ast_node(PHRASE); arg_count = arg_len(*tokens); + ft_printf("arg_count: %d\n", arg_count); command_node->args = malloc(sizeof(char *) * (arg_count + 1)); if (!command_node->args) return (NULL); + ft_printf(BLU"manage_commands tokens:\n"RESET); + print_tokens(*tokens); set_command_args(command_node, tokens, arg_count); (void)data; //post_process_command_args(command_node, arg_count, data); @@ -112,8 +117,8 @@ void set_command_args(t_ast *command_node, t_token **tokens, int arg_count) i = 0; while (i < arg_count) { - // ft_printf("set_command_args tokens:\n"); - // print_tokens(*tokens); + ft_printf("set_command_args tokens:\n"); + print_tokens(*tokens); command_node->args[i] = ft_strdup((*tokens)->data); *tokens = (*tokens)->next; i++; @@ -122,58 +127,6 @@ void set_command_args(t_ast *command_node, t_token **tokens, int arg_count) } - - - - - - - - - - - - -t_ast *new_ast_node(t_token_type type) -{ - t_ast *node; - - node = malloc(sizeof(t_ast)); - if (!node) - return (NULL); - node->type = type; - node->args = NULL; - node->left = NULL; - node->right = NULL; - return (node); -} - -t_ast *create_redir(t_token **tokens, t_token *tmp, t_ms_data *data) -{ - t_ast *redirect_node; - - redirect_node = new_ast_node((*tokens)->type); - *tokens = (*tokens)->next->next; - redirect_node->left = manage_redirs(tokens, data); - redirect_node->right = create_redir_node(tmp->next); - free(tmp->data); - free(tmp); - return (redirect_node); -} - -int arg_len(t_token *current) -{ - int arg_count; - - arg_count = 0; - while (current && current->type == PHRASE) - { - arg_count++; - current = current->next; - } - return (arg_count); -} - t_ast *create_redir_node(t_token *token) { t_ast *node; @@ -182,6 +135,7 @@ t_ast *create_redir_node(t_token *token) if (!node) return (NULL); node->type = token->type; + ft_printf(RED"token: %s, token_type: %d\n"RESET, token->data, token->type); node->args = malloc(sizeof(char *) * 2); if (!node->args) { @@ -195,6 +149,8 @@ t_ast *create_redir_node(t_token *token) return (node); } + + int is_redir_node(t_token *tokens) { if (tokens->type == REDIR_IN @@ -205,3 +161,29 @@ int is_redir_node(t_token *tokens) return (0); } +t_ast *new_ast_node(t_token_type type) +{ + t_ast *node; + + node = malloc(sizeof(t_ast)); + if (!node) + return (NULL); + node->type = type; + node->args = NULL; + node->left = NULL; + node->right = NULL; + return (node); +} + +int arg_len(t_token *current) +{ + int arg_count; + + arg_count = 0; + while (current && current->type == PHRASE) + { + arg_count++; + current = current->next; + } + return (arg_count); +} \ No newline at end of file diff --git a/txt b/txt new file mode 100644 index 00000000..21a4581a --- /dev/null +++ b/txt @@ -0,0 +1,14 @@ +total 2016 + 4 drwxrwxr-x 4 rocky rocky 4096 Sep 8 14:39 build + 4 drwxrwxr-x 5 rocky rocky 4096 Aug 22 16:57 doc +1532 -rw-rw-r-- 1 rocky rocky 1568461 Aug 22 16:54 en.subject.pdf + 4 drwxrwxr-x 2 rocky rocky 4096 Sep 7 11:46 inc + 4 drwxrwxr-x 3 rocky rocky 4096 Aug 20 13:50 lib + 12 -rw-rw-r-- 1 rocky rocky 8699 Sep 8 11:36 Makefile + 436 -rwxrwxr-x 1 rocky rocky 443880 Sep 8 14:50 minishell + 4 -rw-r--r-- 1 rocky rocky 990 Sep 8 14:50 o.txt + 4 -rw-r--r-- 1 rocky rocky 1045 Sep 8 14:50 o.txtex + 4 -rw-rw-r-- 1 rocky rocky 136 Aug 22 16:54 readline.supp + 4 -rw-rw-r-- 1 rocky rocky 1507 Aug 22 16:54 README.md + 4 drwxrwxr-x 14 rocky rocky 4096 Sep 8 13:03 src + 0 -rw-r--r-- 1 rocky rocky 0 Sep 8 14:50 txt From c5e2643ddf84d649f4dc6a1b1b827c15acf0ca30 Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Sun, 8 Sep 2024 15:29:51 +0100 Subject: [PATCH 42/83] restructured AST, safe to roll back to here --- inc/tokens.h | 5 +++-- minishell | Bin 0 -> 443624 bytes src/parser/AST.c | 25 +++++++++++-------------- 3 files changed, 14 insertions(+), 16 deletions(-) create mode 100755 minishell diff --git a/inc/tokens.h b/inc/tokens.h index d0d153d9..4b7d87e0 100644 --- a/inc/tokens.h +++ b/inc/tokens.h @@ -34,7 +34,8 @@ typedef enum e_token_type REDIR_IN, REDIR_OUT, REDIR_APPEND, - REDIR_HEREDOC + REDIR_HEREDOC, + NONE } t_token_type; typedef struct s_token @@ -102,7 +103,7 @@ void free_all_tokens(t_token *tokens); t_token *new_token(char *value, t_token_type type); void append_token(t_token **tokens, t_token *new_token); int valid_operator(const char **str); -t_ast *new_ast_node(t_token_type type); +t_ast *new_ast_node(void); t_ast *create_redir(t_token **tokens, t_token *tmp, t_ms_data *data); int arg_len(t_token *current); void set_command_args(t_ast *command_node, t_token **tokens, \ diff --git a/minishell b/minishell new file mode 100755 index 0000000000000000000000000000000000000000..8be7ddddacc4a3f06827075dadecdf4ec7c1d76b GIT binary patch literal 443624 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 -void handle_special_chars(char **str, t_token **tokens); -void append_word_if_valid(char **start, char **str, t_token **tokens); -void handle_phrase(char **str, t_token **tokens); +char *handle_special_chars(char *str, t_token **tokens); +void append_word_if_valid(char *start, char *str, t_token **tokens); +char *handle_phrase(char *str, t_token **tokens); t_token *tokenise(char *str) { @@ -27,38 +27,39 @@ t_token *tokenise(char *str) while (*str && ft_strchr(" \t\n\r\v\f", *str) != NULL) str++; if (ft_strchr("<|>", *str) != NULL) - handle_special_chars(&str, &tokens); + str = handle_special_chars(str, &tokens); else - handle_phrase(&str, &tokens); + str = handle_phrase(str, &tokens); } return (tokens); } -void handle_special_chars(char **str, t_token **tokens) +char *handle_special_chars(char *str, t_token **tokens) { - if (**str == '<') + if (*str == '<') { - if (*(*str + 1) == '<') + if ((*str + 1) == '<') { append_token(tokens, new_token("<<", REDIR_HEREDOC)); - (*str)++; + (str)++; } else append_token(tokens, new_token("<", REDIR_IN)); } - else if (**str == '>') + else if (*str == '>') { - if (*(*str + 1) == '>') + if ((*str + 1) == '>') { append_token(tokens, new_token(">>", REDIR_APPEND)); - (*str)++; + (str)++; } else append_token(tokens, new_token(">", REDIR_OUT)); } - else if (**str == '|') + else if (*str == '|') append_token(tokens, new_token("|", PIPE)); - (*str)++; + (str)++; + return (str); } t_token *new_token(char *value, t_token_type type) @@ -95,39 +96,39 @@ void append_token(t_token **tokens, t_token *new_token) } } -void handle_phrase(char **str, t_token **tokens) +char *handle_phrase(char *str, t_token **tokens) { char *start; char quote_flag; char quote_type; - start = *str; + start = str; quote_flag = 0; quote_type = 0; - while (**str) + while (*str) { - if (!quote_flag && (**str == '\'' || **str == '\"')) + if (!quote_flag && (*str == '\'' || *str == '\"')) { quote_flag = 1; - quote_type = **str; + quote_type = *str; } - else if (quote_flag && **str == quote_type) + else if (quote_flag && *str == quote_type) quote_flag = 0; - if (!quote_flag && ft_strchr(" \t\n\r\v\f<|>", **str) != NULL) + if (!quote_flag && ft_strchr(" \t\n\r\v\f<|>", *str) != NULL) break ; - (*str)++; + str++; } - append_word_if_valid(&start, str, tokens); + append_word_if_valid(start, str, tokens); + return (str); } -void append_word_if_valid(char **start, char **str, t_token **tokens) +void append_word_if_valid(char *start, char *str, t_token **tokens) { char *word; - if (*str > *start) + if (str > start) { - word = ft_strndup(*start, *str - *start); - ft_printf(CYA"word: %s\n"RESET, word); + word = ft_strndup(start, str - start); if (word) { append_token(tokens, new_token(word, PHRASE)); diff --git a/src/check_tokenise/tokeniser_helpers.c b/src/check_tokenise/tokeniser_helpers.c index 055957a8..2cb7d51d 100644 --- a/src/check_tokenise/tokeniser_helpers.c +++ b/src/check_tokenise/tokeniser_helpers.c @@ -21,7 +21,7 @@ void print_tokens(t_token *tokens) token = tokens; while (token != NULL) { - ft_printf("input[%d] -> %s \n", i, token->data); + ft_printf("input[%d] -> %s at add: %p\n", i, token->data, &token->data); token = token->next; i++; } diff --git a/src/main.c b/src/main.c index 98845c4a..761d3b97 100644 --- a/src/main.c +++ b/src/main.c @@ -16,34 +16,34 @@ #include "pipe.h" #include "signals.h" -int status_handler(int status, t_loop_data *loop_data) +int status_handler(int status, t_loop_data *loop_data, t_token *tokens_head) { if (status == WAIT_NEXT_COMMAND) { - loop_cleanup(loop_data->trimmed_input, loop_data->tokens, \ - loop_data->prompt, loop_data->tree); + loop_cleanup(loop_data, tokens_head); return (0); } return (1); } -void process_ast_and_io(t_ms_data *data, t_loop_data *loop_data) +void process_ast_and_io(t_ms_data *data, t_loop_data *loop_data, t_token *tokens_head) { int status; // print_ast_root(loop_data->tree); status = execute_ast(loop_data->tree, data); shell_variable_update(data, status); - if (status_handler(status, loop_data)) + if (status_handler(status, loop_data, tokens_head)) { handle_io_fd(data); - loop_cleanup(loop_data->trimmed_input, loop_data->tokens, \ - loop_data->prompt, loop_data->tree); + loop_cleanup(loop_data, tokens_head); } } void main_loop(t_ms_data *data, t_loop_data *loop_data) { + t_token *tokens_start; + while (1) { loop_data->prompt = generate_prompt(data); @@ -60,9 +60,12 @@ void main_loop(t_ms_data *data, t_loop_data *loop_data) if (input_error_checks(loop_data)) continue ; loop_data->tokens = tokenise(loop_data->trimmed_input); - print_tokens(loop_data->tokens); + tokens_start = loop_data->tokens; + // print_tokens(loop_data->tokens); + // print_tokens(tokens_start); loop_data->tree = parse_tokens(&loop_data->tokens, data); - process_ast_and_io(data, loop_data); + // print_tokens(tokens_start); + process_ast_and_io(data, loop_data, tokens_start); } clear_history_file(); free(loop_data->prompt); diff --git a/src/parser/AST.c b/src/parser/AST.c index 3342b016..1f74854a 100644 --- a/src/parser/AST.c +++ b/src/parser/AST.c @@ -67,8 +67,6 @@ t_ast *manage_redirs(t_token **tokens, t_ms_data *data) if (!tokens || !*tokens) return (NULL); - ft_printf(CYA"manage_redirs tokens:\n"RESET); - print_tokens(*tokens); command_node = manage_commands(tokens, data); current_token = *tokens; while (current_token && is_redir_node(current_token)) @@ -100,12 +98,9 @@ t_ast *manage_commands(t_token **tokens, t_ms_data *data) command_node = new_ast_node(); command_node->type = PHRASE; cmd_arg_count = cmd_arg_len(*tokens); - ft_printf("cmd_arg_count: %d\n", cmd_arg_count); command_node->args = malloc(sizeof(char *) * (cmd_arg_count + 1)); if (!command_node->args) return (NULL); - ft_printf(BLU"manage_commands tokens:\n"RESET); - print_tokens(*tokens); set_command_args(command_node, tokens, cmd_arg_count); (void)data; //post_process_command_args(command_node, cmd_arg_count, data); @@ -119,8 +114,6 @@ void set_command_args(t_ast *command_node, t_token **tokens, int arg_count) i = 0; while (i < arg_count) { - ft_printf("set_command_args tokens:\n"); - print_tokens(*tokens); command_node->args[i] = ft_strdup((*tokens)->data); *tokens = (*tokens)->next; i++; @@ -135,7 +128,6 @@ t_ast *create_redir_node(t_token *token) node = new_ast_node(); node->type = token->type; - ft_printf(RED"token: %s, token_type: %d\n"RESET, token->data, token->type); node->args = malloc(sizeof(char *) * 2); if (!node->args) { diff --git a/src/utils/.maxishell_history b/src/utils/.maxishell_history new file mode 100644 index 00000000..d6349515 --- /dev/null +++ b/src/utils/.maxishell_history @@ -0,0 +1 @@ +ls > o.txt diff --git a/src/utils/clean_general.c b/src/utils/clean_general.c index fc5cc07a..7cff2c99 100644 --- a/src/utils/clean_general.c +++ b/src/utils/clean_general.c @@ -57,13 +57,13 @@ void free_ms_data(t_ms_data *data) } } -void loop_cleanup(char *line, t_token *tokens, char *prompt, t_ast *tree) +void loop_cleanup(t_loop_data *loop_data, t_token *tokens_head) { - free(line); - free(prompt); - // print_tokens(tokens); - (void)tokens; - free_ast(tree); + free(loop_data->trimmed_input); + print_tokens(tokens_head); + free_all_tokens(tokens_head); + free(loop_data->prompt); + free_ast(loop_data->tree); } void free_ast(t_ast *node) From 19d7ba47d3a80a861d361edcb1e3b55be7a823dc Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Sun, 8 Sep 2024 19:50:42 +0100 Subject: [PATCH 49/83] AST & TOKENS FREE CONFLICT RESOLVED BITCHEZZZZZZZZZZ --- minishell | Bin 438224 -> 0 bytes src/main.c | 4 ++-- src/parser/AST.c | 2 +- src/utils/.maxishell_history | 1 - src/utils/clean_general.c | 7 ++----- 5 files changed, 5 insertions(+), 9 deletions(-) delete mode 100755 minishell delete mode 100644 src/utils/.maxishell_history diff --git a/minishell b/minishell deleted file mode 100755 index bc5839066ed43f6e68aa232c706d81c3161d4962..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 438224 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 = tokenise(loop_data->trimmed_input); tokens_start = loop_data->tokens; - // print_tokens(loop_data->tokens); - // print_tokens(tokens_start); + print_tokens(loop_data->tokens); + print_tokens(tokens_start); loop_data->tree = parse_tokens(&loop_data->tokens, data); // print_tokens(tokens_start); process_ast_and_io(data, loop_data, tokens_start); diff --git a/src/parser/AST.c b/src/parser/AST.c index 1f74854a..4378c956 100644 --- a/src/parser/AST.c +++ b/src/parser/AST.c @@ -134,7 +134,7 @@ t_ast *create_redir_node(t_token *token) free(node); return (NULL); } - node->args[0] = token->data; + node->args[0] = ft_strdup(token->data); node->args[1] = NULL; return (node); } diff --git a/src/utils/.maxishell_history b/src/utils/.maxishell_history deleted file mode 100644 index d6349515..00000000 --- a/src/utils/.maxishell_history +++ /dev/null @@ -1 +0,0 @@ -ls > o.txt diff --git a/src/utils/clean_general.c b/src/utils/clean_general.c index 7cff2c99..babb1a68 100644 --- a/src/utils/clean_general.c +++ b/src/utils/clean_general.c @@ -60,7 +60,6 @@ void free_ms_data(t_ms_data *data) void loop_cleanup(t_loop_data *loop_data, t_token *tokens_head) { free(loop_data->trimmed_input); - print_tokens(tokens_head); free_all_tokens(tokens_head); free(loop_data->prompt); free_ast(loop_data->tree); @@ -77,7 +76,7 @@ void free_ast(t_ast *node) { while (node->args && node->args[i]) { - ft_printf(GRN"t_ast node arg free'd: %s (end of main_loop->loop_clean->free_ast)\n"RESET, node->args[i]); + ft_printf(GRN"t_ast node arg free'd: %s at add: %p\n"RESET, node->args[i], node->args[i]); free(node->args[i]); i++; } @@ -88,8 +87,6 @@ void free_ast(t_ast *node) free(node); } - -// unused since tree freed on the fly, delete at the end if unused void free_all_tokens(t_token *tokens) { t_token *temp; @@ -102,7 +99,7 @@ void free_all_tokens(t_token *tokens) { if (temp->data) { - ft_printf(GRN"token free'd: %s\n"RESET, temp->data); + ft_printf(GRN"token free'd: %s at add: %p\n"RESET, temp->data, temp->data); free(temp->data); temp->data = NULL; } From 41674e02911d5cc10e5728a6a76b163c6e20c39f Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Sun, 8 Sep 2024 20:10:22 +0100 Subject: [PATCH 50/83] debugging pipe malloc (and mayeb functionality) issue --- minishell | Bin 0 -> 438296 bytes o.txt | 1 + ou.txt | 13 +++++++++++++ src/check_tokenise/tokeniser.c | 6 +++--- src/check_tokenise/tokeniser_helpers.c | 2 +- src/main.c | 4 ++-- src/utils/clean_general.c | 5 +++-- 7 files changed, 23 insertions(+), 8 deletions(-) create mode 100755 minishell create mode 100644 ou.txt diff --git a/minishell b/minishell new file mode 100755 index 0000000000000000000000000000000000000000..18c9ccc0e87851c9c2eb4fa0d2b43428ddabf9be GIT binary patch literal 438296 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%0DBCZg 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') { - if ((*str + 1) == '>') + if (*(str + 1) == '>') { append_token(tokens, new_token(">>", REDIR_APPEND)); (str)++; @@ -67,10 +67,10 @@ t_token *new_token(char *value, t_token_type type) t_token *token; token = malloc(sizeof(t_token)); - ft_printf(RED"token malloc'd: %s\n"RESET, ""); if (!token) return (NULL); token->data = ft_strdup(value); + ft_printf(RED"token malloc'd: %s at add: %p\n"RESET, token->data, token->data); if (!token->data) { free(token); diff --git a/src/check_tokenise/tokeniser_helpers.c b/src/check_tokenise/tokeniser_helpers.c index 2cb7d51d..5c56197e 100644 --- a/src/check_tokenise/tokeniser_helpers.c +++ b/src/check_tokenise/tokeniser_helpers.c @@ -21,7 +21,7 @@ void print_tokens(t_token *tokens) token = tokens; while (token != NULL) { - ft_printf("input[%d] -> %s at add: %p\n", i, token->data, &token->data); + ft_printf("input[%d] -> %s at add: %p\n", i, token->data, &token->data); token = token->next; i++; } diff --git a/src/main.c b/src/main.c index db24cd44..a98e979a 100644 --- a/src/main.c +++ b/src/main.c @@ -30,7 +30,7 @@ void process_ast_and_io(t_ms_data *data, t_loop_data *loop_data, t_token *tokens { int status; - // print_ast_root(loop_data->tree); + print_ast_root(loop_data->tree); status = execute_ast(loop_data->tree, data); shell_variable_update(data, status); if (status_handler(status, loop_data, tokens_head)) @@ -61,7 +61,7 @@ void main_loop(t_ms_data *data, t_loop_data *loop_data) continue ; loop_data->tokens = tokenise(loop_data->trimmed_input); tokens_start = loop_data->tokens; - print_tokens(loop_data->tokens); + // print_tokens(loop_data->tokens); print_tokens(tokens_start); loop_data->tree = parse_tokens(&loop_data->tokens, data); // print_tokens(tokens_start); diff --git a/src/utils/clean_general.c b/src/utils/clean_general.c index babb1a68..fe874f2d 100644 --- a/src/utils/clean_general.c +++ b/src/utils/clean_general.c @@ -60,6 +60,7 @@ void free_ms_data(t_ms_data *data) void loop_cleanup(t_loop_data *loop_data, t_token *tokens_head) { free(loop_data->trimmed_input); + print_tokens(tokens_head); free_all_tokens(tokens_head); free(loop_data->prompt); free_ast(loop_data->tree); @@ -76,7 +77,7 @@ void free_ast(t_ast *node) { while (node->args && node->args[i]) { - ft_printf(GRN"t_ast node arg free'd: %s at add: %p\n"RESET, node->args[i], node->args[i]); + ft_printf(GRN"t_ast node arg free'd: %s at add: %p\n"RESET, node->args[i], node->args[i]); free(node->args[i]); i++; } @@ -99,7 +100,7 @@ void free_all_tokens(t_token *tokens) { if (temp->data) { - ft_printf(GRN"token free'd: %s at add: %p\n"RESET, temp->data, temp->data); + ft_printf(GRN"token free'd: %s at add: %p\n"RESET, temp->data, temp->data); free(temp->data); temp->data = NULL; } From 6abf6e5bab8b11ba0b9dc1c0a0013ac25d0ae1f9 Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Sun, 8 Sep 2024 21:19:12 +0100 Subject: [PATCH 51/83] FIXED PIPE & TOKEN AST DISCONTINUITYYYYYYYY --- args[0] | 0 minishell | Bin 438296 -> 438360 bytes o.txt | 13 ------------- src/main.c | 5 +++-- src/parser/AST.c | 18 ++++++++++++------ 5 files changed, 15 insertions(+), 21 deletions(-) create mode 100644 args[0] diff --git a/args[0] b/args[0] new file mode 100644 index 00000000..e69de29b diff --git a/minishell b/minishell index 18c9ccc0e87851c9c2eb4fa0d2b43428ddabf9be..568bfacdab20f111ea085efee26ae97c3bcd1521 100755 GIT binary patch delta 93050 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 delta 92852 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%0D_SC2yVpmpy4zrlLpd)NYQ_#1pBgykIHj^ak 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 = tokenise(loop_data->trimmed_input); tokens_start = loop_data->tokens; - // print_tokens(loop_data->tokens); print_tokens(tokens_start); + ft_printf("-----------------------\n"); loop_data->tree = parse_tokens(&loop_data->tokens, data); - // print_tokens(tokens_start); + print_tokens(tokens_start); + ft_printf("-----------------------\n"); process_ast_and_io(data, loop_data, tokens_start); } clear_history_file(); diff --git a/src/parser/AST.c b/src/parser/AST.c index 4378c956..7eed4bff 100644 --- a/src/parser/AST.c +++ b/src/parser/AST.c @@ -40,18 +40,24 @@ t_ast *manage_pipe(t_token **tokens, t_ms_data *data) while (*tokens && (*tokens)->next) { next_token = (*tokens)->next; - if ((*tokens)->next->type == PIPE) + if (next_token->type == PIPE) { pipe_node = new_ast_node(); - pipe_node->type = (*tokens)->next->type; - (*tokens)->next = NULL; + pipe_node->type = next_token->type; + pipe_node->args = malloc(sizeof(char *) * 2); + if (!pipe_node->args) + { + free(pipe_node); + return (NULL); + } + pipe_node->args[0] = ft_strdup(next_token->data); + pipe_node->args[1] = NULL; pipe_node->left = manage_redirs(&tmp, data); + *tokens = next_token->next; if (next_token->next == NULL) pipe_node->right = NULL; else - pipe_node->right = manage_pipe(&(next_token->next), data); - free(next_token->data); - free(next_token); + pipe_node->right = manage_pipe(tokens, data); return (pipe_node); } *tokens = next_token; From 7c17c2ef20d0be1c0be9380ec0c6ac62037ce2a7 Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Sun, 8 Sep 2024 21:23:03 +0100 Subject: [PATCH 52/83] FIXED PIPE & TOKEN AST DISCONTINUITYYYYYYYY --- args[0] | 0 minishell | Bin 438360 -> 0 bytes o.txt | 0 ou.txt | 13 ------------- src/check_tokenise/tokeniser.c | 2 +- src/main.c | 6 +----- src/parser/AST.c | 3 --- src/utils/clean_general.c | 5 ++--- txt | 14 -------------- 9 files changed, 4 insertions(+), 39 deletions(-) delete mode 100644 args[0] delete mode 100755 minishell delete mode 100644 o.txt delete mode 100644 ou.txt delete mode 100644 txt diff --git a/args[0] b/args[0] deleted file mode 100644 index e69de29b..00000000 diff --git a/minishell b/minishell deleted file mode 100755 index 568bfacdab20f111ea085efee26ae97c3bcd1521..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 438360 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 = ft_strdup(value); - ft_printf(RED"token malloc'd: %s at add: %p\n"RESET, token->data, token->data); + // ft_printf(RED"token malloc'd: %s at add: %p\n"RESET, token->data, token->data); if (!token->data) { free(token); diff --git a/src/main.c b/src/main.c index 6ddded00..0de85b90 100644 --- a/src/main.c +++ b/src/main.c @@ -30,7 +30,7 @@ void process_ast_and_io(t_ms_data *data, t_loop_data *loop_data, t_token *tokens { int status; - print_ast_root(loop_data->tree); + // print_ast_root(loop_data->tree); status = execute_ast(loop_data->tree, data); shell_variable_update(data, status); if (status_handler(status, loop_data, tokens_head)) @@ -61,11 +61,7 @@ void main_loop(t_ms_data *data, t_loop_data *loop_data) continue ; loop_data->tokens = tokenise(loop_data->trimmed_input); tokens_start = loop_data->tokens; - print_tokens(tokens_start); - ft_printf("-----------------------\n"); loop_data->tree = parse_tokens(&loop_data->tokens, data); - print_tokens(tokens_start); - ft_printf("-----------------------\n"); process_ast_and_io(data, loop_data, tokens_start); } clear_history_file(); diff --git a/src/parser/AST.c b/src/parser/AST.c index 7eed4bff..daf48834 100644 --- a/src/parser/AST.c +++ b/src/parser/AST.c @@ -78,10 +78,7 @@ t_ast *manage_redirs(t_token **tokens, t_ms_data *data) while (current_token && is_redir_node(current_token)) { redirect_node = create_redir_node(current_token); - // ft_printf(YEL"freeing curr_token (redir): %s (manage_redirs)\n"RESET, current_token->data); - // free(current_token->data); redirect_node->left = command_node; - // print_ast_args(command_node); *tokens = current_token->next; if (*tokens) { diff --git a/src/utils/clean_general.c b/src/utils/clean_general.c index fe874f2d..ee7617e7 100644 --- a/src/utils/clean_general.c +++ b/src/utils/clean_general.c @@ -60,7 +60,6 @@ void free_ms_data(t_ms_data *data) void loop_cleanup(t_loop_data *loop_data, t_token *tokens_head) { free(loop_data->trimmed_input); - print_tokens(tokens_head); free_all_tokens(tokens_head); free(loop_data->prompt); free_ast(loop_data->tree); @@ -77,7 +76,7 @@ void free_ast(t_ast *node) { while (node->args && node->args[i]) { - ft_printf(GRN"t_ast node arg free'd: %s at add: %p\n"RESET, node->args[i], node->args[i]); + // ft_printf(GRN"t_ast node arg free'd: %s at add: %p\n"RESET, node->args[i], node->args[i]); free(node->args[i]); i++; } @@ -100,7 +99,7 @@ void free_all_tokens(t_token *tokens) { if (temp->data) { - ft_printf(GRN"token free'd: %s at add: %p\n"RESET, temp->data, temp->data); + // ft_printf(GRN"token free'd: %s at add: %p\n"RESET, temp->data, temp->data); free(temp->data); temp->data = NULL; } diff --git a/txt b/txt deleted file mode 100644 index 21a4581a..00000000 --- a/txt +++ /dev/null @@ -1,14 +0,0 @@ -total 2016 - 4 drwxrwxr-x 4 rocky rocky 4096 Sep 8 14:39 build - 4 drwxrwxr-x 5 rocky rocky 4096 Aug 22 16:57 doc -1532 -rw-rw-r-- 1 rocky rocky 1568461 Aug 22 16:54 en.subject.pdf - 4 drwxrwxr-x 2 rocky rocky 4096 Sep 7 11:46 inc - 4 drwxrwxr-x 3 rocky rocky 4096 Aug 20 13:50 lib - 12 -rw-rw-r-- 1 rocky rocky 8699 Sep 8 11:36 Makefile - 436 -rwxrwxr-x 1 rocky rocky 443880 Sep 8 14:50 minishell - 4 -rw-r--r-- 1 rocky rocky 990 Sep 8 14:50 o.txt - 4 -rw-r--r-- 1 rocky rocky 1045 Sep 8 14:50 o.txtex - 4 -rw-rw-r-- 1 rocky rocky 136 Aug 22 16:54 readline.supp - 4 -rw-rw-r-- 1 rocky rocky 1507 Aug 22 16:54 README.md - 4 drwxrwxr-x 14 rocky rocky 4096 Sep 8 13:03 src - 0 -rw-r--r-- 1 rocky rocky 0 Sep 8 14:50 txt From 11d0d7826064b035243b02056c1537ad640458dc Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Sun, 8 Sep 2024 21:59:18 +0100 Subject: [PATCH 53/83] fix: many things. I have become one with minishell. Tomorrow we fix env & loc vars. --- src/execute/execute.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/execute/execute.c b/src/execute/execute.c index ffc6ac8f..4d55e403 100644 --- a/src/execute/execute.c +++ b/src/execute/execute.c @@ -152,5 +152,9 @@ static int new_process(t_ms_data *data) } close_fds(data->std_in, data->std_out); waitpid(pid, &data->exit_status, 0); + if (WIFSIGNALED(data->exit_status) && WTERMSIG(data->exit_status) == SIGQUIT) + { + ft_printf("\n"); + } return (EXIT_SUCCESS); } \ No newline at end of file From 70a57b17921cd46a136b0ef5b3a48514ade6a42d Mon Sep 17 00:00:00 2001 From: Dima Dem <50800563+dimadem@users.noreply.github.com> Date: Mon, 9 Sep 2024 10:56:16 +0100 Subject: [PATCH 54/83] Roman 7sept (#32) * SAFE TO REVERT TO - improved structuring of files only * mid-debugging, still works well. Revert to here if necessary * about to refactor new_ast_node & tree, safe to RESET to here * restructured AST, safe to roll back to here * restructured AST, safe to roll back to here * restructured AST, safe to roll back to here * pipe giving double free but I think this is the right way forward * pipe giving double free but I think this is the right way forward * got through tokenizer, pipe still doesn't work but made changes i wan tot keep * I think I'm close but there are errors. Fixing ast vs tokens list free conflict * AST & TOKENS FREE CONFLICT RESOLVED BITCHEZZZZZZZZZZ * debugging pipe malloc (and mayeb functionality) issue * FIXED PIPE & TOKEN AST DISCONTINUITYYYYYYYY * FIXED PIPE & TOKEN AST DISCONTINUITYYYYYYYY * fix: many things. I have become one with minishell. Tomorrow we fix env & loc vars. --------- Co-authored-by: Roman Mikhaylenko --- Makefile | 13 +- inc/tokens.h | 13 +- .../input_checker.c | 7 +- .../input_checker_helpers.c | 0 src/{parser => check_tokenise}/tokeniser.c | 133 ++++++++------ .../tokeniser_helpers.c | 36 ++-- src/execute/execute.c | 4 + src/main.c | 17 +- src/parser/{parser.c => AST.c} | 168 +++++++++++++----- .../heredoc_loc_env_vars_handler.c.c} | 26 +-- ...ser_joint_vars.c => loc_env_var_handler.c} | 120 +++++++++++++ src/parser/parser_helper_helpers.c | 136 -------------- src/parser/parser_helpers.c | 93 ---------- src/parser/parser_utils.c | 22 --- src/redirection/redirect_heredoc.c | 19 +- src/utils/clean_general.c | 53 +++++- src/utils/clean_tree.c | 56 ------ 17 files changed, 436 insertions(+), 480 deletions(-) rename src/{parser => check_tokenise}/input_checker.c (95%) rename src/{parser => check_tokenise}/input_checker_helpers.c (100%) rename src/{parser => check_tokenise}/tokeniser.c (52%) rename src/{parser => check_tokenise}/tokeniser_helpers.c (67%) rename src/parser/{parser.c => AST.c} (59%) rename src/{redirection/redirect_heredoc_utils.c => parser/heredoc_loc_env_vars_handler.c.c} (80%) rename src/parser/{parser_joint_vars.c => loc_env_var_handler.c} (59%) delete mode 100644 src/parser/parser_helper_helpers.c delete mode 100644 src/parser/parser_helpers.c delete mode 100644 src/parser/parser_utils.c delete mode 100644 src/utils/clean_tree.c diff --git a/Makefile b/Makefile index fc4698a8..f23eea6d 100644 --- a/Makefile +++ b/Makefile @@ -51,6 +51,7 @@ EXECUTE_DIR = $(SRC_DIR)/execute EXIT_STATUS_DIR = $(SRC_DIR)/exit_status TEST_DIR = $(SRC_DIR)/test SIGNALS_DIR = $(SRC_DIR)/signals +CHECK_TOKENISE_DIR = $(SRC_DIR)/check_tokenise INCLUDES = -I./inc \ -I $(LIB_DIR)/libft/inc \ @@ -73,6 +74,8 @@ BUILTINS_SOURCES = $(wildcard $(BUILTINS_DIR)/*.c) EXECUTE_SOURCES = $(wildcard $(EXECUTE_DIR)/*.c) EXIT_STATUS_SOURCES = $(wildcard $(EXIT_STATUS_DIR)/*.c) SIGNALS_SOURCES = $(wildcard $(SIGNALS_DIR)/*.c) +CHECK_TOKENISE_SOURCES = $(wildcard $(CHECK_TOKENISE_DIR)/*.c) + MAIN_TEST_SOURCE = $(wildcard $(TEST_DIR)/*.c) ENV_TEST_SOURCES = $(wildcard $(TEST_DIR)/env/*.c) @@ -94,7 +97,8 @@ SOURCES = $(MAIN_SOURCE) \ $(ENV_TEST_SOURCES) \ $(PIPE_TEST_SOURCES) \ $(REDIRECTION_SOURCES) \ - $(SIGNALS_SOURCES) + $(SIGNALS_SOURCES) \ + $(CHECK_TOKENISE) # Building BUILD_DIR = ./build MAIN_OBJECT = $(patsubst $(SRC_DIR)/%.c, $(BUILD_DIR)/src/%.o, $(MAIN_SOURCE)) @@ -113,6 +117,7 @@ SIGNALS_OBJECTS = $(patsubst $(SIGNALS_DIR)/%.c, $(BUILD_DIR)/src/signals/%.o MAIN_TEST_OBJECT = $(patsubst $(TEST_DIR)/%.c, $(BUILD_DIR)/src/test/%.o, $(MAIN_TEST_SOURCE)) ENV_TEST_OBJECTS = $(patsubst $(TEST_DIR)/env/%.c, $(BUILD_DIR)/src/test/env/%.o, $(ENV_TEST_SOURCES)) PIPE_TEST_OBJECTS = $(patsubst $(TEST_DIR)/pipe/%.c, $(BUILD_DIR)/src/test/pipe/%.o, $(PIPE_TEST_SOURCES)) +CHECK_TOKENISE_OBJECTS = $(patsubst $(CHECK_TOKENISE_DIR)/check_tokenise/%.c, $(BUILD_DIR)/src/check_tokenise/%.o, $(CHECK_TOKENISE_SOURCES)) OBJECTS = $(MAIN_OBJECT) \ $(APP_OBJECTS) \ @@ -127,7 +132,8 @@ OBJECTS = $(MAIN_OBJECT) \ $(PARSER_OBJECTS) \ $(PIPE_OBJECTS) \ $(REDIRECTION_OBJECTS) \ - $(SIGNALS_OBJECTS) + $(SIGNALS_OBJECTS) \ + $(CHECK_TOKENISE_OBJECTS) TEST_OBJECTS = $(APP_OBJECTS) \ $(ENV_OBJECTS) \ @@ -139,7 +145,8 @@ TEST_OBJECTS = $(APP_OBJECTS) \ $(PIPE_OBJECTS) \ $(MAIN_TEST_OBJECT) \ $(ENV_TEST_OBJECTS) \ - $(PIPE_TEST_OBJECTS) + $(PIPE_TEST_OBJECTS) \ + $(CHECK_TOKENISE_OBJECTS) # Processing all: $(NAME) diff --git a/inc/tokens.h b/inc/tokens.h index f3969b8f..13c3f114 100644 --- a/inc/tokens.h +++ b/inc/tokens.h @@ -34,7 +34,8 @@ typedef enum e_token_type REDIR_IN, REDIR_OUT, REDIR_APPEND, - REDIR_HEREDOC + REDIR_HEREDOC, + NONE } t_token_type; typedef struct s_token @@ -73,17 +74,14 @@ int calc_stack_size(t_token *stack); char **list_to_array(t_token *head); void build_linked_list(t_token **tokens, char **argv); void handle_quotes(char **tokens, int *pos, char **input); -void handle_special_chars(char **str, t_token **tokens); -void handle_regular_chars(char **tokens, int *pos, char **input, \ - char *delim); +char *handle_special_chars(char *str, t_token **tokens); void skip_delimiters(char **input, char *delim); void reallocate_tokens(char ***tokens, int *bufsize); void parse_loop(char **input, char **tokens, int *pos, int *bufsize); char **parse_input(char *input); char *generate_prompt(t_ms_data *data); void make_history(char *line); -void loop_cleanup(char *line, t_token *tokens, \ - char *prompt, t_ast *tree); +void loop_cleanup(t_loop_data *loop_data, t_token *tokens_head); void free_ms_data(t_ms_data *data); char *check_heredoc(char *line); char *heredoc(char *eof); @@ -102,7 +100,7 @@ void free_all_tokens(t_token *tokens); t_token *new_token(char *value, t_token_type type); void append_token(t_token **tokens, t_token *new_token); int valid_operator(const char **str); -t_ast *new_ast_node(t_token_type type); +t_ast *new_ast_node(void); t_ast *create_redir(t_token **tokens, t_token *tmp, t_ms_data *data); int arg_len(t_token *current); void set_command_args(t_ast *command_node, t_token **tokens, \ @@ -121,5 +119,6 @@ char *process_argument(char *arg, t_ms_data *data); char *expand_variable(char **start, t_ms_data *data); void clear_history_file(void); int is_in_single_quotes(char *arg); +void print_ast_args(t_ast *node); #endif diff --git a/src/parser/input_checker.c b/src/check_tokenise/input_checker.c similarity index 95% rename from src/parser/input_checker.c rename to src/check_tokenise/input_checker.c index 0b10b513..310ced64 100644 --- a/src/parser/input_checker.c +++ b/src/check_tokenise/input_checker.c @@ -12,10 +12,10 @@ #include "tokens.h" -void free_op_strings(t_loop_data *loop_data, char *tail, char *new_input) +void free_op_strings(t_loop_data *data, char *tail, char *new) { - free(loop_data->trimmed_input); - free(new_input); + free(data->trimmed_input); + free(new); free(tail); } @@ -40,6 +40,7 @@ int check_operators(t_loop_data *loop_data) final_input = ft_strcat_const(new_input, tail); free_op_strings(loop_data, tail, new_input); loop_data->trimmed_input = final_input; + free(final_input); break ; } input++; diff --git a/src/parser/input_checker_helpers.c b/src/check_tokenise/input_checker_helpers.c similarity index 100% rename from src/parser/input_checker_helpers.c rename to src/check_tokenise/input_checker_helpers.c diff --git a/src/parser/tokeniser.c b/src/check_tokenise/tokeniser.c similarity index 52% rename from src/parser/tokeniser.c rename to src/check_tokenise/tokeniser.c index bcfcfcf8..e7b7d707 100644 --- a/src/parser/tokeniser.c +++ b/src/check_tokenise/tokeniser.c @@ -13,103 +13,128 @@ #include "tokens.h" #include -void handle_special_chars(char **str, t_token **tokens) +char *handle_special_chars(char *str, t_token **tokens); +void append_word_if_valid(char *start, char *str, t_token **tokens); +char *handle_phrase(char *str, t_token **tokens); + +t_token *tokenise(char *str) { - if (**str == '<') + t_token *tokens; + + tokens = NULL; + while (*str) { - if (*(*str + 1) == '<') + while (*str && ft_strchr(" \t\n\r\v\f", *str) != NULL) + str++; + if (ft_strchr("<|>", *str) != NULL) + str = handle_special_chars(str, &tokens); + else + str = handle_phrase(str, &tokens); + } + return (tokens); +} + +char *handle_special_chars(char *str, t_token **tokens) +{ + if (*str == '<') + { + if (*(str + 1) == '<') { append_token(tokens, new_token("<<", REDIR_HEREDOC)); - (*str)++; + (str)++; } else append_token(tokens, new_token("<", REDIR_IN)); } - else if (**str == '>') + else if (*str == '>') { - if (*(*str + 1) == '>') + if (*(str + 1) == '>') { append_token(tokens, new_token(">>", REDIR_APPEND)); - (*str)++; + (str)++; } else append_token(tokens, new_token(">", REDIR_OUT)); } - else if (**str == '|') + else if (*str == '|') append_token(tokens, new_token("|", PIPE)); - (*str)++; + (str)++; + return (str); } -void append_phrase_if_valid(char **start, char **str, t_token **tokens) +t_token *new_token(char *value, t_token_type type) { - char *phrase; + t_token *token; - if (*str > *start) + token = malloc(sizeof(t_token)); + if (!token) + return (NULL); + token->data = ft_strdup(value); + // ft_printf(RED"token malloc'd: %s at add: %p\n"RESET, token->data, token->data); + if (!token->data) { - phrase = ft_strndup(*start, *str - *start); - if (phrase) - { - append_token(tokens, new_token(phrase, PHRASE)); - free(phrase); - } - else - ft_printf("Error: unable to allocate memory for token\n"); + free(token); + return (NULL); + } + token->type = type; + token->next = NULL; + return (token); +} + +void append_token(t_token **tokens, t_token *new_token) +{ + t_token *curr; + + if (!*tokens) + *tokens = new_token; + else + { + curr = *tokens; + while (curr->next) + curr = curr->next; + curr->next = new_token; } } -void handle_phrase(char **str, t_token **tokens) +char *handle_phrase(char *str, t_token **tokens) { char *start; char quote_flag; char quote_type; - start = *str; + start = str; quote_flag = 0; quote_type = 0; - while (**str) + while (*str) { - if (!quote_flag && (**str == '\'' || **str == '\"')) + if (!quote_flag && (*str == '\'' || *str == '\"')) { quote_flag = 1; - quote_type = **str; + quote_type = *str; } - else if (quote_flag && **str == quote_type) + else if (quote_flag && *str == quote_type) quote_flag = 0; - if (!quote_flag && ft_strchr(" \t\n\r\v\f<|>", **str) != NULL) + if (!quote_flag && ft_strchr(" \t\n\r\v\f<|>", *str) != NULL) break ; - (*str)++; + str++; } - append_phrase_if_valid(&start, str, tokens); + append_word_if_valid(start, str, tokens); + return (str); } -void print_tokens(t_token *tokens) +void append_word_if_valid(char *start, char *str, t_token **tokens) { - t_token *token; - int i; + char *word; - i = 0; - token = tokens; - while (token != NULL) + if (str > start) { - ft_printf("input[%d] -> %s \n", i, token->data); - token = token->next; - i++; - } -} - -t_token *tokenise(char *str) -{ - t_token *tokens; - - tokens = NULL; - while (*str) - { - while (*str && ft_strchr(" \t\n\r\v\f", *str) != NULL) - str++; - if (ft_strchr("<|>", *str) != NULL) - handle_special_chars(&str, &tokens); + word = ft_strndup(start, str - start); + if (word) + { + append_token(tokens, new_token(word, PHRASE)); + free(word); + } else - handle_phrase(&str, &tokens); + ft_printf("Error: unable to allocate memory for token\n"); } - return (tokens); } diff --git a/src/parser/tokeniser_helpers.c b/src/check_tokenise/tokeniser_helpers.c similarity index 67% rename from src/parser/tokeniser_helpers.c rename to src/check_tokenise/tokeniser_helpers.c index c4a63c70..5c56197e 100644 --- a/src/parser/tokeniser_helpers.c +++ b/src/check_tokenise/tokeniser_helpers.c @@ -12,35 +12,29 @@ #include "tokens.h" -t_token *new_token(char *value, t_token_type type) +void print_tokens(t_token *tokens) { t_token *token; + int i; - token = malloc(sizeof(t_token)); - if (!token) - return (NULL); - token->data = ft_strdup(value); - if (!token->data) + i = 0; + token = tokens; + while (token != NULL) { - free(token); - return (NULL); + ft_printf("input[%d] -> %s at add: %p\n", i, token->data, &token->data); + token = token->next; + i++; } - token->type = type; - token->next = NULL; - return (token); } -void append_token(t_token **tokens, t_token *new_token) +void print_ast_args(t_ast *node) { - t_token *prev; + int i; - if (!*tokens) - *tokens = new_token; - else + i = 0; + while (node->args[i] != NULL) { - prev = *tokens; - while (prev->next) - prev = prev->next; - prev->next = new_token; + ft_printf("ast arg[%d] -> %s \n", i, node->args[i]); + i++; } -} +} \ No newline at end of file diff --git a/src/execute/execute.c b/src/execute/execute.c index ffc6ac8f..4d55e403 100644 --- a/src/execute/execute.c +++ b/src/execute/execute.c @@ -152,5 +152,9 @@ static int new_process(t_ms_data *data) } close_fds(data->std_in, data->std_out); waitpid(pid, &data->exit_status, 0); + if (WIFSIGNALED(data->exit_status) && WTERMSIG(data->exit_status) == SIGQUIT) + { + ft_printf("\n"); + } return (EXIT_SUCCESS); } \ No newline at end of file diff --git a/src/main.c b/src/main.c index fc3d0095..0de85b90 100644 --- a/src/main.c +++ b/src/main.c @@ -16,34 +16,34 @@ #include "pipe.h" #include "signals.h" -int status_handler(int status, t_loop_data *loop_data) +int status_handler(int status, t_loop_data *loop_data, t_token *tokens_head) { if (status == WAIT_NEXT_COMMAND) { - loop_cleanup(loop_data->trimmed_input, loop_data->tokens, \ - loop_data->prompt, loop_data->tree); + loop_cleanup(loop_data, tokens_head); return (0); } return (1); } -void process_ast_and_io(t_ms_data *data, t_loop_data *loop_data) +void process_ast_and_io(t_ms_data *data, t_loop_data *loop_data, t_token *tokens_head) { int status; // print_ast_root(loop_data->tree); status = execute_ast(loop_data->tree, data); shell_variable_update(data, status); - if (status_handler(status, loop_data)) + if (status_handler(status, loop_data, tokens_head)) { handle_io_fd(data); - loop_cleanup(loop_data->trimmed_input, loop_data->tokens, \ - loop_data->prompt, loop_data->tree); + loop_cleanup(loop_data, tokens_head); } } void main_loop(t_ms_data *data, t_loop_data *loop_data) { + t_token *tokens_start; + while (1) { loop_data->prompt = generate_prompt(data); @@ -60,8 +60,9 @@ void main_loop(t_ms_data *data, t_loop_data *loop_data) if (input_error_checks(loop_data)) continue ; loop_data->tokens = tokenise(loop_data->trimmed_input); + tokens_start = loop_data->tokens; loop_data->tree = parse_tokens(&loop_data->tokens, data); - process_ast_and_io(data, loop_data); + process_ast_and_io(data, loop_data, tokens_start); } clear_history_file(); free(loop_data->prompt); diff --git a/src/parser/parser.c b/src/parser/AST.c similarity index 59% rename from src/parser/parser.c rename to src/parser/AST.c index cda5c3f8..daf48834 100644 --- a/src/parser/parser.c +++ b/src/parser/AST.c @@ -16,36 +16,53 @@ t_ast *create_redir_node(t_token *token); int is_redir_node(t_token *tokens); t_ast *manage_redirs(t_token **tokens, t_ms_data *data); t_ast *manage_pipe(t_token **tokens, t_ms_data *data); +t_ast *new_ast_node(void); +t_ast *create_redir(t_token **tokens, t_token *tmp, t_ms_data *data); +int cmd_arg_len(t_token *current); +void set_command_args(t_ast *command_node, t_token **tokens, int cmd_arg_count); +t_ast *manage_commands(t_token **tokens, t_ms_data *data); -t_ast *create_redir_node(t_token *token) -{ - t_ast *node; - node = malloc(sizeof(t_ast)); - if (!node) - return (NULL); - node->type = token->type; - node->args = malloc(sizeof(char *) * 2); - if (!node->args) - { - free(node); +t_ast *parse_tokens(t_token **tokens, t_ms_data *data) +{ + if (!tokens || !*tokens) return (NULL); - } - node->args[0] = token->data; - node->args[1] = NULL; - node->left = NULL; - node->right = NULL; - return (node); + return (manage_pipe(tokens, data)); } -int is_redir_node(t_token *tokens) +t_ast *manage_pipe(t_token **tokens, t_ms_data *data) { - if (tokens->type == REDIR_IN - || tokens->type == REDIR_OUT - || tokens->type == REDIR_APPEND - || tokens->type == REDIR_HEREDOC) - return (1); - return (0); + t_token *tmp; + t_token *next_token; + t_ast *pipe_node; + + tmp = *tokens; + while (*tokens && (*tokens)->next) + { + next_token = (*tokens)->next; + if (next_token->type == PIPE) + { + pipe_node = new_ast_node(); + pipe_node->type = next_token->type; + pipe_node->args = malloc(sizeof(char *) * 2); + if (!pipe_node->args) + { + free(pipe_node); + return (NULL); + } + pipe_node->args[0] = ft_strdup(next_token->data); + pipe_node->args[1] = NULL; + pipe_node->left = manage_redirs(&tmp, data); + *tokens = next_token->next; + if (next_token->next == NULL) + pipe_node->right = NULL; + else + pipe_node->right = manage_pipe(tokens, data); + return (pipe_node); + } + *tokens = next_token; + } + return (manage_redirs(&tmp, data)); } t_ast *manage_redirs(t_token **tokens, t_ms_data *data) @@ -76,30 +93,89 @@ t_ast *manage_redirs(t_token **tokens, t_ms_data *data) return (command_node); } -t_ast *manage_pipe(t_token **tokens, t_ms_data *data) +t_ast *manage_commands(t_token **tokens, t_ms_data *data) { - t_token *tmp; - t_token *next_token; - t_ast *pipe_node; + t_ast *command_node; + int cmd_arg_count; - tmp = *tokens; - while (*tokens && (*tokens)->next) + command_node = new_ast_node(); + command_node->type = PHRASE; + cmd_arg_count = cmd_arg_len(*tokens); + command_node->args = malloc(sizeof(char *) * (cmd_arg_count + 1)); + if (!command_node->args) + return (NULL); + set_command_args(command_node, tokens, cmd_arg_count); + (void)data; + //post_process_command_args(command_node, cmd_arg_count, data); + return (command_node); +} + +void set_command_args(t_ast *command_node, t_token **tokens, int arg_count) +{ + int i; + + i = 0; + while (i < arg_count) { - next_token = (*tokens)->next; - if ((*tokens)->next->type == PIPE) - { - pipe_node = new_ast_node((*tokens)->next->type); - (*tokens)->next = NULL; - pipe_node->left = manage_redirs(&tmp, data); - if (next_token->next == NULL) - pipe_node->right = NULL; - else - pipe_node->right = manage_pipe(&(next_token->next), data); - free(next_token->data); - free(next_token); - return (pipe_node); - } - *tokens = next_token; + command_node->args[i] = ft_strdup((*tokens)->data); + *tokens = (*tokens)->next; + i++; } - return (manage_redirs(&tmp, data)); + command_node->args[arg_count] = NULL; +} + + +t_ast *create_redir_node(t_token *token) +{ + t_ast *node; + + node = new_ast_node(); + node->type = token->type; + node->args = malloc(sizeof(char *) * 2); + if (!node->args) + { + free(node); + return (NULL); + } + node->args[0] = ft_strdup(token->data); + node->args[1] = NULL; + return (node); +} + + +int is_redir_node(t_token *tokens) +{ + if (tokens->type == REDIR_IN + || tokens->type == REDIR_OUT + || tokens->type == REDIR_APPEND + || tokens->type == REDIR_HEREDOC) + return (1); + return (0); } + +t_ast *new_ast_node(void) +{ + t_ast *node; + + node = malloc(sizeof(t_ast)); + if (!node) + return (NULL); + node->type = NONE; + node->args = NULL; + node->left = NULL; + node->right = NULL; + return (node); +} + +int cmd_arg_len(t_token *current) +{ + int i; + + i = 0; + while (current && current->type == PHRASE) + { + i++; + current = current->next; + } + return (i); +} \ No newline at end of file diff --git a/src/redirection/redirect_heredoc_utils.c b/src/parser/heredoc_loc_env_vars_handler.c.c similarity index 80% rename from src/redirection/redirect_heredoc_utils.c rename to src/parser/heredoc_loc_env_vars_handler.c.c index ff20a825..05887efb 100644 --- a/src/redirection/redirect_heredoc_utils.c +++ b/src/parser/heredoc_loc_env_vars_handler.c.c @@ -18,18 +18,6 @@ #include #include "signals.h" -int redirect_here_doc(t_ast *node, t_ms_data *data); - -/** - - @brief This function handle "<<" heredoc functionality - - - - @param node current node in the AST - - @param data minishell data structure - - @return status: - - 0: success - - 1: error - */ - static char *assemble_result(char **tokens, size_t result_len) { char *result; @@ -104,16 +92,4 @@ char *process_and_reassemble(char *line, t_ms_data *data) } result = assemble_result(tokens, result_len); return (result); -} - -void write_heredoc_lines(char **line, int file_fd, char *eof, \ - t_ms_data *data) -{ - while (*line && (ft_strcmp(*line, eof) != 0) && !g_heredoc_interrupted) - { - write(file_fd, *line, ft_strlen(*line)); - write(file_fd, "\n", 1); - free(*line); - *line = process_and_reassemble(readline("> "), data); - } -} +} \ No newline at end of file diff --git a/src/parser/parser_joint_vars.c b/src/parser/loc_env_var_handler.c similarity index 59% rename from src/parser/parser_joint_vars.c rename to src/parser/loc_env_var_handler.c index aa402367..91cff680 100644 --- a/src/parser/parser_joint_vars.c +++ b/src/parser/loc_env_var_handler.c @@ -12,6 +12,126 @@ #include +void final_quote_removal(int arg_count, t_ast *command_node) +{ + int i; + size_t len; + char *arg; + char *trimmed_arg; + + i = 0; + while (i < arg_count) + { + arg = command_node->args[i]; + len = ft_strlen(arg); + if ((arg[0] == '"' && arg[len - 1] == '"') || (arg[0] == '\'' \ + && arg[len - 1] == '\'')) + { + trimmed_arg = ft_strndup(arg + 1, len - 2); + free(command_node->args[i]); + command_node->args[i] = trimmed_arg; + } + i++; + } +} + +char *exit_status_adj(char *arg) +{ + if (strcmp(arg, "$") == 0) + { + free(arg); + return strdup("$?"); + } + return arg; +} + +char *expand_env_and_loc_var(char *arg, t_ms_data *data) +{ + char *env_value; + char *exit_status; + + arg = exit_status_adj(arg); + if (ft_strcmp(arg, "$?") == 0) + { + exit_status = get_shell_variable(data->shell_variables, "?"); + return (ft_strdup(exit_status)); + } + else if (arg[0] == '$') + { + if (arg[ft_strlen(arg) - 1] == '"') + arg[ft_strlen(arg) - 1] = '\0'; + env_value = get_env(data->envp, arg + 1); + if (!env_value) + env_value = get_env(data->shell_variables, arg + 1); + if (env_value) + return (ft_strdup(env_value)); + } + return (ft_strdup("")); +} + +void handle_local_vars(t_ms_data *data, char *arg) +{ + char *p; + int valid_var; + + p = arg; + valid_var = 1; + if (arg[0] != '=' && strchr(arg, '=')) + { + while (p < strchr(arg, '=')) + { + if (!ft_isalnum(*p++)) + { + valid_var = 0; + break ; + } + } + if (valid_var) + handle_add_set_shell_variable(&data->shell_variables, arg); + } +} + +int is_in_single_quotes(char *arg) +{ + int len; + + if (!arg || arg[0] != '\'') + return (0); + len = 0; + while (arg[len] != '\0') + len++; + if (arg[len - 1] == '\'') + return (1); + return (0); +} + +void post_process_command_args(t_ast *command_node, int arg_count \ + , t_ms_data *data) +{ + int i; + char *processed_arg; + + i = 0; + while (i < arg_count) + { + if (!is_in_single_quotes(command_node->args[i])) + { + handle_local_vars(data, command_node->args[i]); + processed_arg = process_argument(command_node->args[i], data); + } + else + { + processed_arg = ft_substr(command_node->args[i], 1, \ + ft_strlen(command_node->args[i]) - 2); + } + free(command_node->args[i]); + command_node->args[i] = processed_arg; + i++; + } + final_quote_removal(arg_count, command_node); +} + + char *str_start_adj(char *arg) { if (!strcmp(arg, "?") || !strcmp(arg, "?\"")) diff --git a/src/parser/parser_helper_helpers.c b/src/parser/parser_helper_helpers.c deleted file mode 100644 index 681fbf56..00000000 --- a/src/parser/parser_helper_helpers.c +++ /dev/null @@ -1,136 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* parser_helper_helpers.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rocky +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2024/08/28 20:36:33 by rocky #+# #+# */ -/* Updated: 2024/08/28 20:36:39 by rocky ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "tokens.h" -#include "execute.h" -#include "exit_status.h" - - - -void final_quote_removal(int arg_count, t_ast *command_node) -{ - int i; - size_t len; - char *arg; - char *trimmed_arg; - - i = 0; - while (i < arg_count) - { - arg = command_node->args[i]; - len = ft_strlen(arg); - if ((arg[0] == '"' && arg[len - 1] == '"') || (arg[0] == '\'' \ - && arg[len - 1] == '\'')) - { - trimmed_arg = ft_strndup(arg + 1, len - 2); - free(command_node->args[i]); - command_node->args[i] = trimmed_arg; - } - i++; - } -} - -char *exit_status_adj(char *arg) -{ - if (strcmp(arg, "$") == 0) - { - free(arg); - return strdup("$?"); - } - return arg; -} - -char *expand_env_and_loc_var(char *arg, t_ms_data *data) -{ - char *env_value; - char *exit_status; - - arg = exit_status_adj(arg); - if (ft_strcmp(arg, "$?") == 0) - { - exit_status = get_shell_variable(data->shell_variables, "?"); - return (ft_strdup(exit_status)); - } - else if (arg[0] == '$') - { - if (arg[ft_strlen(arg) - 1] == '"') - arg[ft_strlen(arg) - 1] = '\0'; - env_value = get_env(data->envp, arg + 1); - if (!env_value) - env_value = get_env(data->shell_variables, arg + 1); - if (env_value) - return (ft_strdup(env_value)); - } - return (ft_strdup("")); -} - -void handle_local_vars(t_ms_data *data, char *arg) -{ - char *p; - int valid_var; - - p = arg; - valid_var = 1; - if (arg[0] != '=' && strchr(arg, '=')) - { - while (p < strchr(arg, '=')) - { - if (!ft_isalnum(*p++)) - { - valid_var = 0; - break ; - } - } - if (valid_var) - handle_add_set_shell_variable(&data->shell_variables, arg); - } -} - -int is_in_single_quotes(char *arg) -{ - int len; - - if (!arg || arg[0] != '\'') - return (0); - len = 0; - while (arg[len] != '\0') - len++; - if (arg[len - 1] == '\'') - return (1); - return (0); -} - -void post_process_command_args(t_ast *command_node, int arg_count \ - , t_ms_data *data) -{ - int i; - char *processed_arg; - - i = 0; - while (i < arg_count) - { - if (!is_in_single_quotes(command_node->args[i])) - { - handle_local_vars(data, command_node->args[i]); - processed_arg = process_argument(command_node->args[i], data); - } - else - { - processed_arg = ft_substr(command_node->args[i], 1, \ - ft_strlen(command_node->args[i]) - 2); - } - free(command_node->args[i]); - command_node->args[i] = processed_arg; - i++; - } - final_quote_removal(arg_count, command_node); -} diff --git a/src/parser/parser_helpers.c b/src/parser/parser_helpers.c deleted file mode 100644 index 525f6f76..00000000 --- a/src/parser/parser_helpers.c +++ /dev/null @@ -1,93 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* parser_helpers.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rocky +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2024/08/28 20:13:42 by rocky #+# #+# */ -/* Updated: 2024/08/28 20:14:33 by rocky ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "tokens.h" - -t_ast *new_ast_node(t_token_type type); -t_ast *create_redir(t_token **tokens, t_token *tmp, t_ms_data *data); -int arg_len(t_token *current); -void set_command_args(t_ast *command_node, t_token **tokens, int arg_count); -t_ast *manage_commands(t_token **tokens, t_ms_data *data); - -t_ast *new_ast_node(t_token_type type) -{ - t_ast *node; - - node = malloc(sizeof(t_ast)); - if (!node) - return (NULL); - node->type = type; - node->args = NULL; - node->left = NULL; - node->right = NULL; - return (node); -} - -t_ast *create_redir(t_token **tokens, t_token *tmp, t_ms_data *data) -{ - t_ast *redirect_node; - - redirect_node = new_ast_node((*tokens)->type); - *tokens = (*tokens)->next->next; - redirect_node->left = manage_redirs(tokens, data); - redirect_node->right = create_redir_node(tmp->next); - free(tmp->data); - free(tmp); - return (redirect_node); -} - -int arg_len(t_token *current) -{ - int arg_count; - - arg_count = 0; - while (current && current->type == PHRASE) - { - arg_count++; - current = current->next; - } - return (arg_count); -} - -void set_command_args(t_ast *command_node, t_token **tokens, \ - int arg_count) -{ - int i; - t_token *tmp; - - i = 0; - while (i < arg_count) - { - command_node->args[i] = ft_strdup((*tokens)->data); - tmp = *tokens; - *tokens = (*tokens)->next; - free(tmp->data); - free(tmp); - i++; - } - command_node->args[arg_count] = NULL; -} - -t_ast *manage_commands(t_token **tokens, t_ms_data *data) -{ - t_ast *command_node; - int arg_count; - - command_node = new_ast_node(PHRASE); - arg_count = arg_len(*tokens); - command_node->args = malloc(sizeof(char *) * (arg_count + 1)); - if (!command_node->args) - return (NULL); - set_command_args(command_node, tokens, arg_count); - post_process_command_args(command_node, arg_count, data); - return (command_node); -} diff --git a/src/parser/parser_utils.c b/src/parser/parser_utils.c deleted file mode 100644 index 92d15d22..00000000 --- a/src/parser/parser_utils.c +++ /dev/null @@ -1,22 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* parser_utils.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: dmdemirk right->args[0]); - line = process_and_reassemble(readline("> "), data); + // line = process_and_reassemble(readline("> "), data); + line = readline("> "); write_heredoc_lines(&line, file_fd, eof, data); if (g_heredoc_interrupted) return (handle_heredoc_interruption(line, eof, file_fd, &sa_old)); @@ -102,3 +105,17 @@ int redirect_here_doc(t_ast *node, t_ms_data *data) unlink("/tmp/heredoc"); return (0); } + +void write_heredoc_lines(char **line, int file_fd, char *eof, \ + t_ms_data *data) +{ + while (*line && (ft_strcmp(*line, eof) != 0) && !g_heredoc_interrupted) + { + write(file_fd, *line, ft_strlen(*line)); + write(file_fd, "\n", 1); + free(*line); + (void)data; + // *line = process_and_reassemble(readline("> "), data); + *line = readline("> "); + } +} diff --git a/src/utils/clean_general.c b/src/utils/clean_general.c index d8901b27..ee7617e7 100644 --- a/src/utils/clean_general.c +++ b/src/utils/clean_general.c @@ -57,11 +57,54 @@ void free_ms_data(t_ms_data *data) } } -void loop_cleanup(char *line, t_token *tokens, char *prompt, t_ast *tree) +void loop_cleanup(t_loop_data *loop_data, t_token *tokens_head) { - free(line); - free(prompt); - (void)tokens; - free_ast(tree); + free(loop_data->trimmed_input); + free_all_tokens(tokens_head); + free(loop_data->prompt); + free_ast(loop_data->tree); } +void free_ast(t_ast *node) +{ + int i; + + i = 0; + if (!node) + return ; + if (node->args) + { + while (node->args && node->args[i]) + { + // ft_printf(GRN"t_ast node arg free'd: %s at add: %p\n"RESET, node->args[i], node->args[i]); + free(node->args[i]); + i++; + } + free(node->args); + } + free_ast(node->left); + free_ast(node->right); + free(node); +} + +void free_all_tokens(t_token *tokens) +{ + t_token *temp; + + while (tokens) + { + temp = tokens; + tokens = tokens->next; + if (temp) + { + if (temp->data) + { + // ft_printf(GRN"token free'd: %s at add: %p\n"RESET, temp->data, temp->data); + free(temp->data); + temp->data = NULL; + } + } + free(temp); + temp = NULL; + } +} \ No newline at end of file diff --git a/src/utils/clean_tree.c b/src/utils/clean_tree.c deleted file mode 100644 index 9d616d36..00000000 --- a/src/utils/clean_tree.c +++ /dev/null @@ -1,56 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* clean_tree.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rocky +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2024/06/14 13:21:30 by rocky #+# #+# */ -/* Updated: 2024/06/14 13:21:49 by rocky ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "tokens.h" - -// unused since tree freed on the fly -void free_all_tokens(t_token *tokens) -{ - t_token *temp; - - while (tokens) - { - temp = tokens; - tokens = tokens->next; - if (temp) - { - if (temp->data) - { - free(temp->data); - temp->data = NULL; - } - } - free(temp); - temp = NULL; - } -} - -void free_ast(t_ast *node) -{ - int i; - - i = 0; - if (!node) - return ; - if (node->type == PHRASE && node->args) - { - while (node->args && node->args[i]) - { - free(node->args[i]); - i++; - } - free(node->args); - } - free_ast(node->left); - free_ast(node->right); - free(node); -} From 7d0ecb4fd424cfff304beb9ed3ef453b08b318a3 Mon Sep 17 00:00:00 2001 From: Dmitry Demirkylych Date: Mon, 9 Sep 2024 12:16:23 +0100 Subject: [PATCH 55/83] fix: env valgrind --- src/env/env.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/env/env.c b/src/env/env.c index 6a0d2062..7a72ff5e 100644 --- a/src/env/env.c +++ b/src/env/env.c @@ -37,13 +37,16 @@ void add_env_node(t_env **data_envp, char *line) char *key; char *value; - new_node = (t_env *)malloc(sizeof(t_env) + 1); + new_node = (t_env *)malloc(sizeof(t_env)); if (!new_node) return ; key = ft_strcdup(line, '='); - free(key); - value = ft_strchr(line, '=') + 1; + if (!key) + return ; + value = ft_strchr(line, '='); + value++; new_node->key = ft_strdup(key); + free(key); new_node->value = ft_strdup(value); new_node->next = NULL; if (*data_envp == NULL) From 5764fbebce4ee0d09e041611fe68c490e9bcc5cc Mon Sep 17 00:00:00 2001 From: Dmitry Demirkylych Date: Mon, 9 Sep 2024 12:30:06 +0100 Subject: [PATCH 56/83] fix: valgrind shell_var --- src/shell_variables/shell_variables_utils.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/shell_variables/shell_variables_utils.c b/src/shell_variables/shell_variables_utils.c index cb1d321d..0528772d 100644 --- a/src/shell_variables/shell_variables_utils.c +++ b/src/shell_variables/shell_variables_utils.c @@ -25,14 +25,17 @@ void free_shell_var_list(t_env *shell_var); void add_shell_var_node(t_env **shell_var, const char *line) { - + char *key; + char *value; + if (!shell_var || !line) return; - char *key = ft_strcdup(line, '='); - char *value = ft_strchr(line, '=') + 1; + key = ft_strcdup(line, '='); + value = ft_strchr(line, '=') + 1; t_env *new_node = (t_env *)malloc(sizeof(t_env)); new_node->key = ft_strdup(key); + free(key); new_node->value = ft_strdup(value); new_node->next = NULL; if (*shell_var == NULL) @@ -44,7 +47,6 @@ void add_shell_var_node(t_env **shell_var, const char *line) curr_node = curr_node->next; curr_node->next = new_node; } - free(key); } void set_shell_var(t_env **shell_var, const char *key, const char *value) From 4d15af3e79d67240a14e2943834cad0651a04987 Mon Sep 17 00:00:00 2001 From: Dmitry Demirkylych Date: Mon, 9 Sep 2024 12:33:09 +0100 Subject: [PATCH 57/83] fix --- src/signals/signals.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/signals/signals.c b/src/signals/signals.c index 554fbf72..9a02524f 100644 --- a/src/signals/signals.c +++ b/src/signals/signals.c @@ -6,7 +6,7 @@ /* By: dmdemirk Date: Mon, 9 Sep 2024 12:45:54 +0100 Subject: [PATCH 58/83] merged with dimas work from today (9th) from dev --- o.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 o.txt diff --git a/o.txt b/o.txt new file mode 100644 index 00000000..71787e65 --- /dev/null +++ b/o.txt @@ -0,0 +1,11 @@ +build +doc +en.subject.pdf +inc +lib +Makefile +minishell +o.txt +readline.supp +README.md +src From 6add453b7523c83ab43433b97ee4b0d8165fe40c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A8Roman?= <¨roman.mikhaylenko14@hotmail.com¨> Date: Mon, 9 Sep 2024 14:14:37 +0100 Subject: [PATCH 59/83] added malloc debugger statements --- src/parser/AST.c | 2 +- src/parser/loc_env_var_handler.c | 321 +++++++++++++++----------- src/shell_variables/shell_variables.c | 2 +- 3 files changed, 191 insertions(+), 134 deletions(-) diff --git a/src/parser/AST.c b/src/parser/AST.c index daf48834..bd139425 100644 --- a/src/parser/AST.c +++ b/src/parser/AST.c @@ -106,7 +106,7 @@ t_ast *manage_commands(t_token **tokens, t_ms_data *data) return (NULL); set_command_args(command_node, tokens, cmd_arg_count); (void)data; - //post_process_command_args(command_node, cmd_arg_count, data); + post_process_command_args(command_node, cmd_arg_count, data); return (command_node); } diff --git a/src/parser/loc_env_var_handler.c b/src/parser/loc_env_var_handler.c index 91cff680..db98a5b9 100644 --- a/src/parser/loc_env_var_handler.c +++ b/src/parser/loc_env_var_handler.c @@ -12,61 +12,43 @@ #include -void final_quote_removal(int arg_count, t_ast *command_node) +void handle_local_vars(t_ms_data *data, char *arg); +char *process_argument(char *arg, t_ms_data *data); +char *expand_variable(char **start, t_ms_data *data); +void final_quote_removal(int arg_count, t_ast *command_node); +char *exit_status_adj(char *arg); +char *tmp_adj(char *arg); +char *expand_env_and_loc_var(char *arg, t_ms_data *data); +char *str_start_adj(char *arg); + +void post_process_command_args(t_ast *command_node, int arg_count \ + , t_ms_data *data) { int i; - size_t len; - char *arg; - char *trimmed_arg; + char *processed_arg; i = 0; while (i < arg_count) { - arg = command_node->args[i]; - len = ft_strlen(arg); - if ((arg[0] == '"' && arg[len - 1] == '"') || (arg[0] == '\'' \ - && arg[len - 1] == '\'')) + if (!is_in_single_quotes(command_node->args[i])) { - trimmed_arg = ft_strndup(arg + 1, len - 2); - free(command_node->args[i]); - command_node->args[i] = trimmed_arg; + handle_local_vars(data, command_node->args[i]); // no mallocs --> noleaks poss + processed_arg = process_argument(command_node->args[i], data); + } + else + { + processed_arg = ft_substr(command_node->args[i], 1, \ + ft_strlen(command_node->args[i]) - 2); + ft_printf(RED"malloc'd processed_arg: %s at ad: %p\n"RESET, processed_arg, processed_arg); } + ft_printf(RED"malloc'd command_node->args[i]: %s at ad: %p\n"RESET, command_node->args[i], command_node->args[i]); + free(command_node->args[i]); + command_node->args[i] = processed_arg; + ft_printf(RED"freed processed_arg: %s at ad: %p\n"RESET, processed_arg, processed_arg); + // free(processed_arg); i++; } -} - -char *exit_status_adj(char *arg) -{ - if (strcmp(arg, "$") == 0) - { - free(arg); - return strdup("$?"); - } - return arg; -} - -char *expand_env_and_loc_var(char *arg, t_ms_data *data) -{ - char *env_value; - char *exit_status; - - arg = exit_status_adj(arg); - if (ft_strcmp(arg, "$?") == 0) - { - exit_status = get_shell_variable(data->shell_variables, "?"); - return (ft_strdup(exit_status)); - } - else if (arg[0] == '$') - { - if (arg[ft_strlen(arg) - 1] == '"') - arg[ft_strlen(arg) - 1] = '\0'; - env_value = get_env(data->envp, arg + 1); - if (!env_value) - env_value = get_env(data->shell_variables, arg + 1); - if (env_value) - return (ft_strdup(env_value)); - } - return (ft_strdup("")); + final_quote_removal(arg_count, command_node); } void handle_local_vars(t_ms_data *data, char *arg) @@ -76,9 +58,9 @@ void handle_local_vars(t_ms_data *data, char *arg) p = arg; valid_var = 1; - if (arg[0] != '=' && strchr(arg, '=')) + if (arg[0] != '=' && ft_strchr(arg, '=')) { - while (p < strchr(arg, '=')) + while (p < ft_strchr(arg, '=')) { if (!ft_isalnum(*p++)) { @@ -91,72 +73,37 @@ void handle_local_vars(t_ms_data *data, char *arg) } } -int is_in_single_quotes(char *arg) -{ - int len; - - if (!arg || arg[0] != '\'') - return (0); - len = 0; - while (arg[len] != '\0') - len++; - if (arg[len - 1] == '\'') - return (1); - return (0); -} - -void post_process_command_args(t_ast *command_node, int arg_count \ - , t_ms_data *data) +char *process_argument(char *arg, t_ms_data *data) { - int i; + char *start; char *processed_arg; + char *tmp; + char *expanded_var; - i = 0; - while (i < arg_count) + processed_arg = ft_strdup(""); + ft_printf(RED"malloc'd processed_arg: %s at ad: %p\n"RESET, processed_arg, processed_arg); + start = arg; + while (*start != '\0') { - if (!is_in_single_quotes(command_node->args[i])) + if (*start == '$') { - handle_local_vars(data, command_node->args[i]); - processed_arg = process_argument(command_node->args[i], data); + expanded_var = expand_variable(&start, data); + if (expanded_var != NULL) + { + tmp = tmp_adj(ft_strjoin(processed_arg, expanded_var)); + ft_printf(GRN"freed processed_arg: %s at ad: %p\n"RESET, processed_arg, processed_arg); + free(processed_arg); + ft_printf(GRN"freed expanded_var: %s at ad: %p\n"RESET, expanded_var, expanded_var); + free(expanded_var); + processed_arg = tmp; + ft_printf(GRN"freed tmp_adj_dup: %s at ad: %p\n"RESET, tmp, tmp); + free(tmp); + } } else - { - processed_arg = ft_substr(command_node->args[i], 1, \ - ft_strlen(command_node->args[i]) - 2); - } - free(command_node->args[i]); - command_node->args[i] = processed_arg; - i++; - } - final_quote_removal(arg_count, command_node); -} - - -char *str_start_adj(char *arg) -{ - if (!strcmp(arg, "?") || !strcmp(arg, "?\"")) - return strdup(""); - else if (!strcmp(arg, "?\'")) - return strdup("\'"); - return arg; -} - -char *tmp_adj(char *arg) -{ - char *ptr; - - if (*arg == '\"') - { - ptr = arg + 1; - while (*ptr) - { - if (!ft_isdigit(*ptr)) - return (arg); - ptr++; - } - return (ft_strdup(arg + 1)); + processed_arg = append_literal(&start, processed_arg); } - return (arg); + return (processed_arg); } char *expand_variable(char **start, t_ms_data *data) @@ -171,6 +118,8 @@ char *expand_variable(char **start, t_ms_data *data) str_start = *start; expanded_str = ft_strdup(""); + ft_printf(RED"malloc'd expanded_str: %s at ad: %p\n"RESET, expanded_str, expanded_str); + while (**start && **start != '\0') { if (**start == '$') @@ -181,13 +130,20 @@ char *expand_variable(char **start, t_ms_data *data) while (**start && (ft_isalnum(**start) || **start == '_')) (*start)++; var_name = ft_substr(var_start, 0, *start - var_start); + ft_printf(RED"malloc'd var_name: %s at ad: %p\n"RESET, var_name, var_name); expanded_var = expand_env_and_loc_var(var_name, data); + ft_printf(RED"malloc'd expanded_var: %s at ad: %p\n"RESET, expanded_var, expanded_var); + ft_printf(GRN"freed var_name: %s at ad: %p\n"RESET, var_name, var_name); free(var_name); len_before_var = var_start - str_start; result = ft_strjoin_free(expanded_str, ft_substr(str_start, 0, len_before_var)); + ft_printf(RED"malloc'd result: %s at ad: %p\n"RESET, result, result); expanded_str = ft_strjoin_free(result, expanded_var); + ft_printf(RED"malloc'd expanded_str: %s at ad: %p\n"RESET, expanded_str, expanded_str); str_start = *start; str_start = str_start_adj(str_start); + ft_printf(RED"malloc'd str_start: %s at ad: %p\n"RESET, str_start, str_start); + ft_printf(GRN"freed expanded_var: %s at ad: %p\n"RESET, expanded_var, expanded_var); free(expanded_var); } else @@ -196,12 +152,136 @@ char *expand_variable(char **start, t_ms_data *data) if (str_start != *start) { result = ft_substr(str_start, 0, *start - str_start); + ft_printf(RED"malloc'd result: %s at ad: %p\n"RESET, result, result); expanded_str = ft_strjoin_free(expanded_str, result); + ft_printf(RED"malloc'd expanded_str: %s at ad: %p\n"RESET, expanded_str, expanded_str); + ft_printf(GRN"freed result: %s at ad: %p\n"RESET, result, result); free(result); } return (expanded_str); } +char *expand_env_and_loc_var(char *arg, t_ms_data *data) +{ + char *env_value; + char *exit_status; + char *env_value_dup; + + arg = exit_status_adj(arg); + if (ft_strcmp(arg, "$?") == 0) + { + exit_status = get_shell_variable(data->shell_variables, "?"); + env_value_dup = ft_strdup(exit_status); + ft_printf(RED"malloc'd (exit status) env_value_dup: %s at ad: %p\n"RESET, env_value_dup, env_value_dup); + return (env_value_dup); + } + else if (arg[0] == '$') + { + if (arg[ft_strlen(arg) - 1] == '"') + arg[ft_strlen(arg) - 1] = '\0'; + env_value = get_env(data->envp, arg + 1); + if (!env_value) + { + env_value = get_env(data->shell_variables, arg + 1); // is strdup necessary? + env_value_dup = ft_strdup(env_value); + ft_printf(RED"malloc'd env_value_dup: %s at ad: %p\n"RESET, env_value_dup, env_value_dup); + } + if (env_value) + { + env_value_dup = ft_strdup(env_value); + ft_printf(RED"malloc'd env_value_dup: %s at ad: %p\n"RESET, env_value_dup, env_value_dup); + return (env_value_dup); + } + } + env_value_dup = ft_strdup(""); + ft_printf(RED"malloc'd empty env_value_dup: %s at ad: %p\n"RESET, env_value_dup, env_value_dup); + return (env_value_dup); +} + + +void final_quote_removal(int arg_count, t_ast *command_node) +{ + int i; + size_t len; + char *arg; + char *trimmed_arg; + + i = 0; + while (i < arg_count) + { + arg = command_node->args[i]; + len = ft_strlen(arg); + if ((arg[0] == '"' && arg[len - 1] == '"') || (arg[0] == '\'' \ + && arg[len - 1] == '\'')) + { + trimmed_arg = ft_strndup(arg + 1, len - 2); + free(command_node->args[i]); + command_node->args[i] = trimmed_arg; + } + i++; + } +} + +char *exit_status_adj(char *arg) +{ + char *exit_status; + + if (strcmp(arg, "$") == 0) + { + free(arg); + exit_status = strdup("$?"); + ft_printf(RED"malloc'd exit_status: %s at ad: %p\n"RESET, exit_status, exit_status); + return exit_status; + } + return arg; +} + +int is_in_single_quotes(char *arg) +{ + int len; + + if (!arg || arg[0] != '\'') + return (0); + len = 0; + while (arg[len] != '\0') + len++; + if (arg[len - 1] == '\'') + return (1); + return (0); +} + +char *str_start_adj(char *arg) +{ + if (!strcmp(arg, "?") || !strcmp(arg, "?\"")) + return strdup(""); + else if (!strcmp(arg, "?\'")) + return strdup("\'"); + return arg; +} + +char *tmp_adj(char *arg) +{ + char *ptr; + char *tmp_adj_dup; + + if (*arg == '\"') + { + ptr = arg + 1; + while (*ptr) + { + if (!ft_isdigit(*ptr)) + return (arg); + ptr++; + } + tmp_adj_dup = ft_strdup(arg + 1); + ft_printf(RED"malloc'd tmp_adj_dup: %s at ad: %p\n"RESET, tmp_adj_dup, tmp_adj_dup); + return (tmp_adj_dup); + } + tmp_adj_dup = ft_strdup(arg); + ft_printf(RED"malloc'd tmp_adj_dup: %s at ad: %p\n"RESET, tmp_adj_dup, tmp_adj_dup); + return (tmp_adj_dup); +} + char *append_literal(char **start, char *processed_arg) { char *literal_part; @@ -212,36 +292,13 @@ char *append_literal(char **start, char *processed_arg) while (**start != '\0' && **start != '$') (*start)++; literal_part = ft_substr(literal_start, 0, *start - literal_start); + ft_printf(RED"malloc'd tmp_aliteral_partdj_dup: %s at ad: %p\n"RESET, literal_part, literal_part); tmp = ft_strjoin(processed_arg, literal_part); + ft_printf(RED"malloc'd tmp_append_literal: %s at ad: %p\n"RESET, tmp, tmp); + ft_printf(GRN"freed literal_part: %s at ad: %p\n"RESET, literal_part, literal_part); free(literal_part); + ft_printf(GRN"freed processed_arg: %s at ad: %p\n"RESET, processed_arg, processed_arg); free(processed_arg); return (tmp); } -char *process_argument(char *arg, t_ms_data *data) -{ - char *start; - char *processed_arg; - char *tmp; - char *expanded_var; - - processed_arg = ft_strdup(""); - start = arg; - while (*start != '\0') - { - if (*start == '$') - { - expanded_var = expand_variable(&start, data); - if (expanded_var != NULL) - { - tmp = tmp_adj(ft_strjoin(processed_arg, expanded_var)); - free(processed_arg); - processed_arg = tmp; - free(expanded_var); - } - } - else - processed_arg = append_literal(&start, processed_arg); - } - return (processed_arg); -} diff --git a/src/shell_variables/shell_variables.c b/src/shell_variables/shell_variables.c index eba5fc32..080fd190 100644 --- a/src/shell_variables/shell_variables.c +++ b/src/shell_variables/shell_variables.c @@ -35,7 +35,7 @@ int handle_add_set_shell_variable(t_env **shell_var, char *line) key = ft_strcdup(line, '='); value = ft_strchr(line, '=') + 1; set_shell_var(shell_var, key, value); - printf("value: %s\n", get_env(*shell_var, key)); + // printf("value: %s\n", get_env(*shell_var, key)); free(key); } return (0); From 2a9f6914bb106a5c92af55b492f9cacd01ee43f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A8Roman?= <¨roman.mikhaylenko14@hotmail.com¨> Date: Mon, 9 Sep 2024 14:26:07 +0100 Subject: [PATCH 60/83] no leak checks with echo simple arg --- minishell | Bin 0 -> 123384 bytes src/parser/loc_env_var_handler.c | 14 ++++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) create mode 100755 minishell diff --git a/minishell b/minishell new file mode 100755 index 0000000000000000000000000000000000000000..1385cded5d8f3221900da048aa11a44d69718316 GIT binary patch literal 123384 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

    `-H5%10~8b2@N2H*obYF>sZQ(=mIA=7l3;Q(U#* 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 GdjA_B8~LCB literal 0 HcmV?d00001 diff --git a/src/parser/loc_env_var_handler.c b/src/parser/loc_env_var_handler.c index db98a5b9..864673bc 100644 --- a/src/parser/loc_env_var_handler.c +++ b/src/parser/loc_env_var_handler.c @@ -41,13 +41,14 @@ void post_process_command_args(t_ast *command_node, int arg_count \ ft_strlen(command_node->args[i]) - 2); ft_printf(RED"malloc'd processed_arg: %s at ad: %p\n"RESET, processed_arg, processed_arg); } - ft_printf(RED"malloc'd command_node->args[i]: %s at ad: %p\n"RESET, command_node->args[i], command_node->args[i]); + ft_printf(GRN"freed command_node->args[i]: %s at ad: %p\n"RESET, command_node->args[i], command_node->args[i]); free(command_node->args[i]); - command_node->args[i] = processed_arg; - ft_printf(RED"freed processed_arg: %s at ad: %p\n"RESET, processed_arg, processed_arg); - // free(processed_arg); + ft_printf(RED"malloc'd command_node->args[i]: %s at ad: %p\n"RESET, command_node->args[i], command_node->args[i]); + command_node->args[i] = ft_strdup(processed_arg); i++; } + ft_printf(GRN"freed new processed_arg: %s at ad: %p\n"RESET, processed_arg, processed_arg); + free(processed_arg); final_quote_removal(arg_count, command_node); } @@ -292,13 +293,14 @@ char *append_literal(char **start, char *processed_arg) while (**start != '\0' && **start != '$') (*start)++; literal_part = ft_substr(literal_start, 0, *start - literal_start); - ft_printf(RED"malloc'd tmp_aliteral_partdj_dup: %s at ad: %p\n"RESET, literal_part, literal_part); + ft_printf(RED"malloc'd literal_part: %s at ad: %p\n"RESET, literal_part, literal_part); tmp = ft_strjoin(processed_arg, literal_part); - ft_printf(RED"malloc'd tmp_append_literal: %s at ad: %p\n"RESET, tmp, tmp); + ft_printf(RED"malloc'd tmp_append_literal (new processed_arg): %s at ad: %p\n"RESET, tmp, tmp); ft_printf(GRN"freed literal_part: %s at ad: %p\n"RESET, literal_part, literal_part); free(literal_part); ft_printf(GRN"freed processed_arg: %s at ad: %p\n"RESET, processed_arg, processed_arg); free(processed_arg); + return (tmp); } From 2da1a829c85fb5cc4131abbf17b0820d1aa911b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A8Roman?= <¨roman.mikhaylenko14@hotmail.com¨> Date: Mon, 9 Sep 2024 14:28:08 +0100 Subject: [PATCH 61/83] fixed memory leaks for echo multiple simple args --- minishell | Bin 123384 -> 123384 bytes o.txt | 11 ----------- src/parser/loc_env_var_handler.c | 5 +++-- 3 files changed, 3 insertions(+), 13 deletions(-) diff --git a/minishell b/minishell index 1385cded5d8f3221900da048aa11a44d69718316..fdafb9ced7f76776e896d201d3805484a4bd7e2c 100755 GIT binary patch delta 1017 zcmZ9KPiPZC6vk(EvzyJIBB)dlVvHhKEX9MiK@lQS2&qlermb7SvWRHFn5eb3NRmaP zg5+Rw3WA^qiT^Hzs3}x15J(Y2jh7m{C^Ta0$>6~ps&U@zOatA^?l7B!~DpW-tqm*t&2S;cP`~)Vy_p^jh^6UoatrWg&CM@`5$4zkwK5Q%u~DdXvKiqyQ-LbfUVuVM@str+ReAIs zP;G7M(lXqdddRSS-mvcj`^qN!3TqXjjlUN(JFZ4u9(h0-l6{islN4FmCW++RBu_|! zcquJ)ik)gu#+A53X U?2}t~R9PoAyDZ*$lf=!*|GTT#z5oCK delta 1017 zcmZ9KPiPZC6vk&}vwzYi7b6NnQY&~U7U@9^3SvMCAth~UTU`~)BBFZ;+i0y6Nwd@x zq2yqCS_H8k3@TmmmQXXz3i)raZ6b}`PJu!SV*Imn&@pN}>V|KgIh~~zs z(cDlq`o8mF1i>?h*1vZk6wOUk*8>a1Bk|Yo+Uod*2O+GGnbcK3LZog{sgjwb)k@WG zr=j7X9mZf7Z^QH`{DT^H>|t&F6$D9E;NQ&rld~N$HB&N04KQ8vyic$t3(`X=bR-k4h}4{#OaSZ!do(^HSFwog5LIP*L1l&O(jkh4%g>*M{ z$a&C;Lw13kHh;MST#)X^WFsu_5gLm?c*aMe*XU-*bFLB QsBO`jPm!kHWbx+kf8?{+lK=n! diff --git a/o.txt b/o.txt index 71787e65..e69de29b 100644 --- a/o.txt +++ b/o.txt @@ -1,11 +0,0 @@ -build -doc -en.subject.pdf -inc -lib -Makefile -minishell -o.txt -readline.supp -README.md -src diff --git a/src/parser/loc_env_var_handler.c b/src/parser/loc_env_var_handler.c index 864673bc..54cd4066 100644 --- a/src/parser/loc_env_var_handler.c +++ b/src/parser/loc_env_var_handler.c @@ -45,10 +45,11 @@ void post_process_command_args(t_ast *command_node, int arg_count \ free(command_node->args[i]); ft_printf(RED"malloc'd command_node->args[i]: %s at ad: %p\n"RESET, command_node->args[i], command_node->args[i]); command_node->args[i] = ft_strdup(processed_arg); + ft_printf(GRN"freed new processed_arg: %s at ad: %p\n"RESET, processed_arg, processed_arg); + free(processed_arg); i++; } - ft_printf(GRN"freed new processed_arg: %s at ad: %p\n"RESET, processed_arg, processed_arg); - free(processed_arg); + final_quote_removal(arg_count, command_node); } From 69a84f9c7f0bcd52406975b1f70b02176d38cd92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A8Roman?= <¨roman.mikhaylenko14@hotmail.com¨> Date: Mon, 9 Sep 2024 17:27:01 +0100 Subject: [PATCH 62/83] env vars are working (without echo) --- minishell | Bin 123384 -> 0 bytes o.txt | 0 src/parser/loc_env_var_handler.c | 57 +++++++++++++++++-------------- 3 files changed, 31 insertions(+), 26 deletions(-) delete mode 100755 minishell delete mode 100644 o.txt diff --git a/minishell b/minishell deleted file mode 100755 index fdafb9ced7f76776e896d201d3805484a4bd7e2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123384 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 z 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 EZ#w1p%K!iX diff --git a/o.txt b/o.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/src/parser/loc_env_var_handler.c b/src/parser/loc_env_var_handler.c index 54cd4066..7a5ca49e 100644 --- a/src/parser/loc_env_var_handler.c +++ b/src/parser/loc_env_var_handler.c @@ -39,12 +39,13 @@ void post_process_command_args(t_ast *command_node, int arg_count \ { processed_arg = ft_substr(command_node->args[i], 1, \ ft_strlen(command_node->args[i]) - 2); - ft_printf(RED"malloc'd processed_arg: %s at ad: %p\n"RESET, processed_arg, processed_arg); + ft_printf(RED"malloc'd processed_arg1: %s at ad: %p\n"RESET, processed_arg, processed_arg); } ft_printf(GRN"freed command_node->args[i]: %s at ad: %p\n"RESET, command_node->args[i], command_node->args[i]); free(command_node->args[i]); - ft_printf(RED"malloc'd command_node->args[i]: %s at ad: %p\n"RESET, command_node->args[i], command_node->args[i]); + printf("processed_arg: %s\n", processed_arg); command_node->args[i] = ft_strdup(processed_arg); + ft_printf(RED"malloc'd command_node->args[i]: %s at ad: %p\n"RESET, command_node->args[i], command_node->args[i]); ft_printf(GRN"freed new processed_arg: %s at ad: %p\n"RESET, processed_arg, processed_arg); free(processed_arg); i++; @@ -80,10 +81,11 @@ char *process_argument(char *arg, t_ms_data *data) char *start; char *processed_arg; char *tmp; + char *tmp_ad; char *expanded_var; processed_arg = ft_strdup(""); - ft_printf(RED"malloc'd processed_arg: %s at ad: %p\n"RESET, processed_arg, processed_arg); + ft_printf(RED"malloc'd processed_arg2: %s at ad: %p\n"RESET, processed_arg, processed_arg); start = arg; while (*start != '\0') { @@ -92,14 +94,17 @@ char *process_argument(char *arg, t_ms_data *data) expanded_var = expand_variable(&start, data); if (expanded_var != NULL) { - tmp = tmp_adj(ft_strjoin(processed_arg, expanded_var)); - ft_printf(GRN"freed processed_arg: %s at ad: %p\n"RESET, processed_arg, processed_arg); - free(processed_arg); - ft_printf(GRN"freed expanded_var: %s at ad: %p\n"RESET, expanded_var, expanded_var); - free(expanded_var); - processed_arg = tmp; - ft_printf(GRN"freed tmp_adj_dup: %s at ad: %p\n"RESET, tmp, tmp); + ft_printf(GRN"freed processed_arg: %s at ad: %p (in ft_strjoin_free)\n"RESET, processed_arg, processed_arg); + tmp = ft_strjoin_free(processed_arg, expanded_var); + ft_printf(RED"malloc'd tmp: %s at ad: %p\n"RESET, tmp, tmp); + tmp_ad = tmp_adj(tmp); + ft_printf(GRN"freed tmp: %s at ad: %p\n"RESET, tmp, tmp); free(tmp); + ft_printf(GRN"freed expanded_str(=expanded_var): %s at ad: %p\n"RESET, expanded_var, expanded_var); + free(expanded_var); + processed_arg = ft_strdup(tmp_ad); + ft_printf(GRN"freed tmp_adj_dup: %s at ad: %p\n"RESET, tmp_ad, tmp_ad); + free(tmp_ad); } } else @@ -117,6 +122,7 @@ char *expand_variable(char **start, t_ms_data *data) char *var_start; char *str_start; int len_before_var; + char *tmp; str_start = *start; expanded_str = ft_strdup(""); @@ -134,18 +140,22 @@ char *expand_variable(char **start, t_ms_data *data) var_name = ft_substr(var_start, 0, *start - var_start); ft_printf(RED"malloc'd var_name: %s at ad: %p\n"RESET, var_name, var_name); expanded_var = expand_env_and_loc_var(var_name, data); - ft_printf(RED"malloc'd expanded_var: %s at ad: %p\n"RESET, expanded_var, expanded_var); ft_printf(GRN"freed var_name: %s at ad: %p\n"RESET, var_name, var_name); free(var_name); len_before_var = var_start - str_start; - result = ft_strjoin_free(expanded_str, ft_substr(str_start, 0, len_before_var)); + ft_printf(GRN"freed expanded_str: %s at ad: %p (in ft_strjoin_free)\n"RESET, expanded_str, expanded_str); + tmp = ft_substr(str_start, 0, len_before_var); + ft_printf(RED"malloc'd tmp in expand_variable: %s at ad: %p\n"RESET, tmp, tmp); + result = ft_strjoin_free(expanded_str, tmp); ft_printf(RED"malloc'd result: %s at ad: %p\n"RESET, result, result); + ft_printf(GRN"freed tmp in expand_variable: %s at ad: %p\n"RESET, tmp, tmp); + free(tmp); + ft_printf(GRN"freed result: %s at ad: %p (in ft_strjoin_free)\n"RESET, result, result); expanded_str = ft_strjoin_free(result, expanded_var); ft_printf(RED"malloc'd expanded_str: %s at ad: %p\n"RESET, expanded_str, expanded_str); str_start = *start; str_start = str_start_adj(str_start); - ft_printf(RED"malloc'd str_start: %s at ad: %p\n"RESET, str_start, str_start); - ft_printf(GRN"freed expanded_var: %s at ad: %p\n"RESET, expanded_var, expanded_var); + ft_printf(GRN"freed env_value_dup(=expanded_var): %s at ad: %p\n"RESET, expanded_var, expanded_var); free(expanded_var); } else @@ -154,10 +164,10 @@ char *expand_variable(char **start, t_ms_data *data) if (str_start != *start) { result = ft_substr(str_start, 0, *start - str_start); - ft_printf(RED"malloc'd result: %s at ad: %p\n"RESET, result, result); + ft_printf(RED"malloc'd result2: %s at ad: %p\n"RESET, result, result); expanded_str = ft_strjoin_free(expanded_str, result); ft_printf(RED"malloc'd expanded_str: %s at ad: %p\n"RESET, expanded_str, expanded_str); - ft_printf(GRN"freed result: %s at ad: %p\n"RESET, result, result); + ft_printf(GRN"freed result2: %s at ad: %p\n"RESET, result, result); free(result); } return (expanded_str); @@ -226,15 +236,8 @@ void final_quote_removal(int arg_count, t_ast *command_node) char *exit_status_adj(char *arg) { - char *exit_status; - if (strcmp(arg, "$") == 0) - { - free(arg); - exit_status = strdup("$?"); - ft_printf(RED"malloc'd exit_status: %s at ad: %p\n"RESET, exit_status, exit_status); - return exit_status; - } + return "$?"; return arg; } @@ -255,9 +258,9 @@ int is_in_single_quotes(char *arg) char *str_start_adj(char *arg) { if (!strcmp(arg, "?") || !strcmp(arg, "?\"")) - return strdup(""); + return (""); else if (!strcmp(arg, "?\'")) - return strdup("\'"); + return ("\'"); return arg; } @@ -280,6 +283,8 @@ char *tmp_adj(char *arg) return (tmp_adj_dup); } tmp_adj_dup = ft_strdup(arg); + ft_printf(GRN"freed ft_str_join_free (no var assigned): %s at ad: %p\n"RESET, arg, arg); + free(arg); ft_printf(RED"malloc'd tmp_adj_dup: %s at ad: %p\n"RESET, tmp_adj_dup, tmp_adj_dup); return (tmp_adj_dup); } From 126f36069ec356d2dcb885582b45ac1aca38e712 Mon Sep 17 00:00:00 2001 From: Dima Dem <50800563+dimadem@users.noreply.github.com> Date: Mon, 9 Sep 2024 17:40:42 +0100 Subject: [PATCH 63/83] Dimadem norminette (#33) * fix:norm backend * fix: norminette * fix: norm * delete: printf --------- Co-authored-by: Dmitry Demirkylych --- inc/execute.h | 3 +- inc/exit_status.h | 3 +- inc/redirection.h | 5 +- inc/signals.h | 7 +- inc/tokens.h | 8 +- src/builtins/cd.c | 5 +- src/builtins/env.c | 1 - src/builtins/exit.c | 6 +- src/builtins/export.c | 5 +- src/check_tokenise/tokeniser.c | 24 +---- src/check_tokenise/tokeniser_helpers.c | 28 +++++- src/env/env.c | 40 ++++----- src/execute/execute.c | 84 +++++++++-------- src/execute/utils_0.c | 26 ++++-- src/execute/utils_1.c | 2 +- src/main.c | 18 ++-- src/parser/AST.c | 88 +----------------- src/parser/AST_utils.c | 99 +++++++++++++++++++++ src/redirection/redirect_heredoc.c | 61 ++++++------- src/redirection/redirect_out.c | 77 ++++++++++++---- src/redirection/utils.c | 20 ++++- src/shell_variables/shell_variables.c | 5 +- src/shell_variables/shell_variables_utils.c | 43 ++++----- src/utils/clean_general.c | 34 ++----- src/utils/clean_utils.c | 36 ++++++++ 25 files changed, 420 insertions(+), 308 deletions(-) create mode 100644 src/parser/AST_utils.c create mode 100644 src/utils/clean_utils.c diff --git a/inc/execute.h b/inc/execute.h index 35e202ad..fde2d67e 100644 --- a/inc/execute.h +++ b/inc/execute.h @@ -6,7 +6,7 @@ /* By: dmdemirk envp, "HOME"); target_dir = (char *)data->args[1]; if (!target_dir) diff --git a/src/builtins/env.c b/src/builtins/env.c index 7812a352..0eef6978 100644 --- a/src/builtins/env.c +++ b/src/builtins/env.c @@ -34,7 +34,6 @@ void print_env_stack(t_env *envp) int builtin_env(t_ms_data *data) { - ft_printf("\nbuiltin_env\n"); if (ft_strcmp(data->args[0], "env") == 0 && data->args[1] == NULL) print_env_stack(data->envp); else diff --git a/src/builtins/exit.c b/src/builtins/exit.c index 8bffb73d..3f216ec8 100644 --- a/src/builtins/exit.c +++ b/src/builtins/exit.c @@ -6,7 +6,7 @@ /* By: dmdemirk exit_status = status; - char *exit_status_str = ft_itoa(data->exit_status); + exit_status_str = ft_itoa(data->exit_status); set_shell_var(&data->shell_variables, "?", exit_status_str); free(exit_status_str); clear_history_file(); diff --git a/src/builtins/export.c b/src/builtins/export.c index 031ec6b1..2374c597 100644 --- a/src/builtins/export.c +++ b/src/builtins/export.c @@ -6,7 +6,7 @@ /* By: dmdemirk args == NULL || data->args[1] == NULL) { diff --git a/src/check_tokenise/tokeniser.c b/src/check_tokenise/tokeniser.c index e7b7d707..2d416cd2 100644 --- a/src/check_tokenise/tokeniser.c +++ b/src/check_tokenise/tokeniser.c @@ -6,15 +6,17 @@ /* By: rocky +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/06/12 15:00:23 by rocky #+# #+# */ -/* Updated: 2024/06/12 15:00:25 by rocky ### ########.fr */ +/* Updated: 2024/09/09 15:48:26 by dmdemirk ### ########.fr */ /* */ /* ************************************************************************** */ #include "tokens.h" #include +t_token *tokenise(char *str); char *handle_special_chars(char *str, t_token **tokens); -void append_word_if_valid(char *start, char *str, t_token **tokens); +t_token *new_token(char *value, t_token_type type); +void append_token(t_token **tokens, t_token *new_token); char *handle_phrase(char *str, t_token **tokens); t_token *tokenise(char *str) @@ -70,7 +72,6 @@ t_token *new_token(char *value, t_token_type type) if (!token) return (NULL); token->data = ft_strdup(value); - // ft_printf(RED"token malloc'd: %s at add: %p\n"RESET, token->data, token->data); if (!token->data) { free(token); @@ -121,20 +122,3 @@ char *handle_phrase(char *str, t_token **tokens) append_word_if_valid(start, str, tokens); return (str); } - -void append_word_if_valid(char *start, char *str, t_token **tokens) -{ - char *word; - - if (str > start) - { - word = ft_strndup(start, str - start); - if (word) - { - append_token(tokens, new_token(word, PHRASE)); - free(word); - } - else - ft_printf("Error: unable to allocate memory for token\n"); - } -} diff --git a/src/check_tokenise/tokeniser_helpers.c b/src/check_tokenise/tokeniser_helpers.c index 5c56197e..1eaf228d 100644 --- a/src/check_tokenise/tokeniser_helpers.c +++ b/src/check_tokenise/tokeniser_helpers.c @@ -6,12 +6,16 @@ /* By: rocky +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/06/14 10:38:28 by rocky #+# #+# */ -/* Updated: 2024/06/14 10:38:30 by rocky ### ########.fr */ +/* Updated: 2024/09/09 15:47:48 by dmdemirk ### ########.fr */ /* */ /* ************************************************************************** */ #include "tokens.h" +void print_tokens(t_token *tokens); +void print_ast_args(t_ast *node); +void append_word_if_valid(char *start, char *str, t_token **tokens); + void print_tokens(t_token *tokens) { t_token *token; @@ -21,7 +25,8 @@ void print_tokens(t_token *tokens) token = tokens; while (token != NULL) { - ft_printf("input[%d] -> %s at add: %p\n", i, token->data, &token->data); + ft_printf("input[%d] -> %s at add: %p\n", \ + i, token->data, &token->data); token = token->next; i++; } @@ -37,4 +42,21 @@ void print_ast_args(t_ast *node) ft_printf("ast arg[%d] -> %s \n", i, node->args[i]); i++; } -} \ No newline at end of file +} + +void append_word_if_valid(char *start, char *str, t_token **tokens) +{ + char *word; + + if (str > start) + { + word = ft_strndup(start, str - start); + if (word) + { + append_token(tokens, new_token(word, PHRASE)); + free(word); + } + else + ft_printf("Error: unable to allocate memory for token\n"); + } +} diff --git a/src/env/env.c b/src/env/env.c index 7a72ff5e..e1f269c3 100644 --- a/src/env/env.c +++ b/src/env/env.c @@ -6,7 +6,7 @@ /* By: dmdemirk args[i], node->args[i]); free(node->args[i]); i++; } @@ -86,25 +92,3 @@ void free_ast(t_ast *node) free_ast(node->right); free(node); } - -void free_all_tokens(t_token *tokens) -{ - t_token *temp; - - while (tokens) - { - temp = tokens; - tokens = tokens->next; - if (temp) - { - if (temp->data) - { - // ft_printf(GRN"token free'd: %s at add: %p\n"RESET, temp->data, temp->data); - free(temp->data); - temp->data = NULL; - } - } - free(temp); - temp = NULL; - } -} \ No newline at end of file diff --git a/src/utils/clean_utils.c b/src/utils/clean_utils.c new file mode 100644 index 00000000..48ef8cc6 --- /dev/null +++ b/src/utils/clean_utils.c @@ -0,0 +1,36 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* clean_utils.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: dmdemirk next; + if (temp) + { + if (temp->data) + { + free(temp->data); + temp->data = NULL; + } + } + free(temp); + temp = NULL; + } +} From 11d0ecc6af6b5c6fd6a3b300ae912ed631e06d9c Mon Sep 17 00:00:00 2001 From: Dmitry Demirkylych Date: Mon, 9 Sep 2024 18:10:57 +0100 Subject: [PATCH 64/83] fix:issues --- src/parser/loc_env_var_handler.c | 102 +++---------------------------- src/test/cases.txt | 55 +++++++++++++++++ 2 files changed, 64 insertions(+), 93 deletions(-) create mode 100644 src/test/cases.txt diff --git a/src/parser/loc_env_var_handler.c b/src/parser/loc_env_var_handler.c index 91cff680..2665d020 100644 --- a/src/parser/loc_env_var_handler.c +++ b/src/parser/loc_env_var_handler.c @@ -1,49 +1,23 @@ /* ************************************************************************** */ /* */ /* ::: :::::::: */ -/* parser_joint_vars.c :+: :+: :+: */ +/* loc_env_var_handler.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: rmikhayl +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/09/04 16:46:53 by rmikhayl #+# #+# */ -/* Updated: 2024/09/04 16:46:57 by rmikhayl ### ########.fr */ +/* Updated: 2024/09/09 16:19:56 by dmdemirk ### ########.fr */ /* */ /* ************************************************************************** */ #include -void final_quote_removal(int arg_count, t_ast *command_node) -{ - int i; - size_t len; - char *arg; - char *trimmed_arg; - - i = 0; - while (i < arg_count) - { - arg = command_node->args[i]; - len = ft_strlen(arg); - if ((arg[0] == '"' && arg[len - 1] == '"') || (arg[0] == '\'' \ - && arg[len - 1] == '\'')) - { - trimmed_arg = ft_strndup(arg + 1, len - 2); - free(command_node->args[i]); - command_node->args[i] = trimmed_arg; - } - i++; - } -} +void post_process_command_args(t_ast *command_node, int arg_count, t_ms_data *data); +char *process_argument(char *arg, t_ms_data *data); +char *expand_variable(char **start, t_ms_data *data); +char *expand_env_and_loc_var(char *arg, t_ms_data *data); +void handle_local_vars(t_ms_data *data, char *arg); -char *exit_status_adj(char *arg) -{ - if (strcmp(arg, "$") == 0) - { - free(arg); - return strdup("$?"); - } - return arg; -} char *expand_env_and_loc_var(char *arg, t_ms_data *data) { @@ -91,22 +65,8 @@ void handle_local_vars(t_ms_data *data, char *arg) } } -int is_in_single_quotes(char *arg) -{ - int len; - - if (!arg || arg[0] != '\'') - return (0); - len = 0; - while (arg[len] != '\0') - len++; - if (arg[len - 1] == '\'') - return (1); - return (0); -} - void post_process_command_args(t_ast *command_node, int arg_count \ - , t_ms_data *data) + , t_ms_data *data) { int i; char *processed_arg; @@ -122,7 +82,7 @@ void post_process_command_args(t_ast *command_node, int arg_count \ else { processed_arg = ft_substr(command_node->args[i], 1, \ - ft_strlen(command_node->args[i]) - 2); + ft_strlen(command_node->args[i]) - 2); } free(command_node->args[i]); command_node->args[i] = processed_arg; @@ -131,34 +91,6 @@ void post_process_command_args(t_ast *command_node, int arg_count \ final_quote_removal(arg_count, command_node); } - -char *str_start_adj(char *arg) -{ - if (!strcmp(arg, "?") || !strcmp(arg, "?\"")) - return strdup(""); - else if (!strcmp(arg, "?\'")) - return strdup("\'"); - return arg; -} - -char *tmp_adj(char *arg) -{ - char *ptr; - - if (*arg == '\"') - { - ptr = arg + 1; - while (*ptr) - { - if (!ft_isdigit(*ptr)) - return (arg); - ptr++; - } - return (ft_strdup(arg + 1)); - } - return (arg); -} - char *expand_variable(char **start, t_ms_data *data) { char *expanded_str; @@ -202,22 +134,6 @@ char *expand_variable(char **start, t_ms_data *data) return (expanded_str); } -char *append_literal(char **start, char *processed_arg) -{ - char *literal_part; - char *literal_start; - char *tmp; - - literal_start = *start; - while (**start != '\0' && **start != '$') - (*start)++; - literal_part = ft_substr(literal_start, 0, *start - literal_start); - tmp = ft_strjoin(processed_arg, literal_part); - free(literal_part); - free(processed_arg); - return (tmp); -} - char *process_argument(char *arg, t_ms_data *data) { char *start; diff --git a/src/test/cases.txt b/src/test/cases.txt new file mode 100644 index 00000000..fd8ea531 --- /dev/null +++ b/src/test/cases.txt @@ -0,0 +1,55 @@ +illegal input: +hello" +a < < b +cat Makefile > +| file.c + +loc_vars: +a=cho b=456 +e$a $b +e$a$b +echo a$ab$bb + +operators: +ls -la > output.txt +sort < output.txt +echo "New entry" >> output.txt +ls -la > output.txt > new.txt +cat << a | cat << b | cat << c +ls -la | grep ".txt" +cat < output.txt | sort > sorted_output.txt + +heredoc: +cat << eof +This is line 1 +This is line 2 +This is line 3 +eof + +cat << eof +> $USER '$USER' "$USER" USER $? "$?" '$?' +> eof +rmikhayl +echo & quote mark management +echo '$USER' prints $USER + +exit status +echo $? +echo $? + '$' + +env_vars: +echo $USER '$USER' "$USER" USER $? "$?" '$?' +export MY_VAR="Hello, World!" +env (see it there) +export MY_VAR="new value" (creates another copy, should overwrite) +unset MY_VAR + +difficult input: +ls -la | +cat out.txt | grep Makefile | wc -l + +signals: +grep"rubbish" exit with ctrl+C +ctrl+D +heredoc exit with ctrl+D with warning +ctrl+\ \ No newline at end of file From 67934ce99f9ee65b2929f376c3c62c23fdf91ab9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A8Roman?= <¨roman.mikhaylenko14@hotmail.com¨> Date: Mon, 9 Sep 2024 18:57:34 +0100 Subject: [PATCH 65/83] rmikhayl 'rmikhayl' rmikhayl USER 0 0 '0' worksgit add . loc args, let's see --- src/parser/loc_env_var_handler.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/parser/loc_env_var_handler.c b/src/parser/loc_env_var_handler.c index 7a5ca49e..63cf7b0d 100644 --- a/src/parser/loc_env_var_handler.c +++ b/src/parser/loc_env_var_handler.c @@ -98,8 +98,8 @@ char *process_argument(char *arg, t_ms_data *data) tmp = ft_strjoin_free(processed_arg, expanded_var); ft_printf(RED"malloc'd tmp: %s at ad: %p\n"RESET, tmp, tmp); tmp_ad = tmp_adj(tmp); - ft_printf(GRN"freed tmp: %s at ad: %p\n"RESET, tmp, tmp); - free(tmp); + // ft_printf(GRN"freed tmp: %s at ad: %p\n"RESET, tmp, tmp); + // free(tmp); ft_printf(GRN"freed expanded_str(=expanded_var): %s at ad: %p\n"RESET, expanded_var, expanded_var); free(expanded_var); processed_arg = ft_strdup(tmp_ad); @@ -184,7 +184,7 @@ char *expand_env_and_loc_var(char *arg, t_ms_data *data) { exit_status = get_shell_variable(data->shell_variables, "?"); env_value_dup = ft_strdup(exit_status); - ft_printf(RED"malloc'd (exit status) env_value_dup: %s at ad: %p\n"RESET, env_value_dup, env_value_dup); + ft_printf(RED"malloc'd (exit status) env_value_dup1: %s at ad: %p\n"RESET, env_value_dup, env_value_dup); return (env_value_dup); } else if (arg[0] == '$') @@ -195,18 +195,18 @@ char *expand_env_and_loc_var(char *arg, t_ms_data *data) if (!env_value) { env_value = get_env(data->shell_variables, arg + 1); // is strdup necessary? - env_value_dup = ft_strdup(env_value); - ft_printf(RED"malloc'd env_value_dup: %s at ad: %p\n"RESET, env_value_dup, env_value_dup); + // env_value_dup = ft_strdup(env_value); + // ft_printf(RED"malloc'd env_value_dup2: %s at ad: %p\n"RESET, env_value_dup, env_value_dup); } if (env_value) { env_value_dup = ft_strdup(env_value); - ft_printf(RED"malloc'd env_value_dup: %s at ad: %p\n"RESET, env_value_dup, env_value_dup); + ft_printf(RED"malloc'd env_value_dup3: %s at ad: %p\n"RESET, env_value_dup, env_value_dup); return (env_value_dup); } } env_value_dup = ft_strdup(""); - ft_printf(RED"malloc'd empty env_value_dup: %s at ad: %p\n"RESET, env_value_dup, env_value_dup); + ft_printf(RED"malloc'd empty env_value_dup4: %s at ad: %p\n"RESET, env_value_dup, env_value_dup); return (env_value_dup); } @@ -269,6 +269,8 @@ char *tmp_adj(char *arg) char *ptr; char *tmp_adj_dup; + ft_printf("arg: %s\n", arg); + if (*arg == '\"') { ptr = arg + 1; @@ -280,6 +282,8 @@ char *tmp_adj(char *arg) } tmp_adj_dup = ft_strdup(arg + 1); ft_printf(RED"malloc'd tmp_adj_dup: %s at ad: %p\n"RESET, tmp_adj_dup, tmp_adj_dup); + ft_printf(GRN"freed arg in tmp_adj: %s at ad: %p\n"RESET, arg, arg); + free(arg); return (tmp_adj_dup); } tmp_adj_dup = ft_strdup(arg); From 83a2513efa5ebb2c7a8a2edbc84f3c5913360cbc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A8Roman?= <¨roman.mikhaylenko14@hotmail.com¨> Date: Mon, 9 Sep 2024 21:39:19 +0100 Subject: [PATCH 66/83] almost there, just some env/loc/exit vars to iron out in heredoc --- lib/libft/inc/libft.h | 2 + lib/libft/src/ft_free_2d_arr.c | 25 ++++++ lib/libft/src/ft_print_2d_arr.c | 22 +++++ src/execute/utils_0.c | 17 ---- ...ler.c.c => loc_env_vars_handler_heredoc.c} | 87 +++++++++++-------- src/redirection/redirect_heredoc.c | 4 +- 6 files changed, 102 insertions(+), 55 deletions(-) create mode 100644 lib/libft/src/ft_free_2d_arr.c create mode 100644 lib/libft/src/ft_print_2d_arr.c rename src/parser/{heredoc_loc_env_vars_handler.c.c => loc_env_vars_handler_heredoc.c} (60%) diff --git a/lib/libft/inc/libft.h b/lib/libft/inc/libft.h index 32afe560..b5bc37bc 100644 --- a/lib/libft/inc/libft.h +++ b/lib/libft/inc/libft.h @@ -63,6 +63,8 @@ char *ft_strmapi(char const *s, char (*f)(unsigned int, char)); char *ft_substr(char const *s, unsigned int start, size_t len); char *ft_strnstr(const char *haystack, const char *needle, size_t len); +void ft_free_2d_arr(char **arr); +void ft_print_2d_arr(char **arr); void ft_bzero(void *s, size_t n); void ft_putnbr_fd(int n, int fd); void ft_putchar_fd(char c, int fd); diff --git a/lib/libft/src/ft_free_2d_arr.c b/lib/libft/src/ft_free_2d_arr.c new file mode 100644 index 00000000..ad02b43d --- /dev/null +++ b/lib/libft/src/ft_free_2d_arr.c @@ -0,0 +1,25 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_free_2d_arr.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rmikhayl +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/09/09 19:37:13 by rmikhayl #+# #+# */ +/* Updated: 2024/09/09 19:37:16 by rmikhayl ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" + +void ft_free_2d_arr(char **arr) +{ + int i; + + if (!arr) + return; + i = -1; + while (arr[++i] != NULL) + free(arr[i]); + free(arr); +} diff --git a/lib/libft/src/ft_print_2d_arr.c b/lib/libft/src/ft_print_2d_arr.c new file mode 100644 index 00000000..3c60a042 --- /dev/null +++ b/lib/libft/src/ft_print_2d_arr.c @@ -0,0 +1,22 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_print_2d_arr.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rmikhayl +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/09/09 19:37:13 by rmikhayl #+# #+# */ +/* Updated: 2024/09/09 19:37:16 by rmikhayl ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" + +void ft_print_2d_arr(char **arr) +{ + int i; + + i = -1; + while (arr[++i] != NULL) + ft_printf("arr[%d]: %s at add: %p \n", i, arr[i], arr[i]); +} diff --git a/src/execute/utils_0.c b/src/execute/utils_0.c index 4402fa00..95ae3b19 100644 --- a/src/execute/utils_0.c +++ b/src/execute/utils_0.c @@ -15,27 +15,10 @@ #include "shell.h" #include "execute.h" -void ft_free_2d_arr(char **arr); int ft_perror(char *str); void close_fds(int in, int out); void handle_temp_fd(t_ms_data *data); -/** -- @brief clean up 2d array -- -- @param arr simple two dimensional array - */ - -void ft_free_2d_arr(char **arr) -{ - int i; - - i = -1; - while (arr[++i] != NULL) - free(arr[i]); - free(arr); -} - /** - @brief close two file descriptors - diff --git a/src/parser/heredoc_loc_env_vars_handler.c.c b/src/parser/loc_env_vars_handler_heredoc.c similarity index 60% rename from src/parser/heredoc_loc_env_vars_handler.c.c rename to src/parser/loc_env_vars_handler_heredoc.c index 05887efb..f55bf572 100644 --- a/src/parser/heredoc_loc_env_vars_handler.c.c +++ b/src/parser/loc_env_vars_handler_heredoc.c @@ -18,6 +18,50 @@ #include #include "signals.h" +static char *assemble_result(char **tokens, size_t result_len); +char *token_adj(char *arg); + +char *process_and_reassemble(char *line, t_ms_data *data) +{ + char **tokens; + size_t result_len; + int i; + char *processed_token; + char *result; + char *tmp_token; + char *new_token; + + tokens = ft_split(line, ' '); + if (!tokens) + return (NULL); + result_len = 0; + i = 0; + while (tokens[i]) + { + tmp_token = expand_variable(&tokens[i], data); // Get expanded token (may be the same or new) + if (tmp_token) + { + processed_token = token_adj(tmp_token); // Adjust the token + if (processed_token != tmp_token) + { + new_token = ft_strdup(processed_token); // Duplicate the adjusted token + free(tmp_token); // Free the temporary token returned by expand_variable + } + else + { + new_token = tmp_token; // No changes, use the token as-is + } + // Now, set the new token into the tokens array without freeing tokens[i] + tokens[i] = new_token; // Assign the newly adjusted or expanded token + result_len += ft_strlen(new_token) + 1; + } + i++; + } + result = assemble_result(tokens, result_len); + ft_free_2d_arr(tokens); // Free the tokens array after use + return (result); +} + static char *assemble_result(char **tokens, size_t result_len) { char *result; @@ -26,16 +70,15 @@ static char *assemble_result(char **tokens, size_t result_len) result = malloc(result_len + 1); if (!result) return (NULL); - *result = '\0'; + *result = '\0'; // Start with an empty string i = 0; while (tokens[i]) { ft_strcat(result, tokens[i]); if (tokens[i + 1]) - ft_strcat(result, " "); + ft_strcat(result, " "); // Add space between tokens i++; } - free(tokens); return (result); } @@ -50,46 +93,20 @@ char *token_adj(char *arg) while (*ptr && *ptr != '\"') { if (!ft_isdigit(*ptr)) - return (arg); + return (arg); // Return the original argument if not all digits inside quotes ptr++; } - if (*ptr == '\0') + if (*ptr == '\0') // If there's no closing quote, add one { new_arg = malloc(strlen(arg) + 2); if (!new_arg) return (NULL); - strcpy(new_arg, arg); - strcat(new_arg, "\""); + ft_strcpy(new_arg, arg); + ft_strcat(new_arg, "\""); return (new_arg); } - if (*ptr == '\"' && *(ptr + 1) == '\0') + if (*ptr == '\"' && *(ptr + 1) == '\0') // If it's a properly quoted string, return as-is return (arg); } - return (arg); -} - - -char *process_and_reassemble(char *line, t_ms_data *data) -{ - char **tokens; - size_t result_len; - int i; - char *processed_token; - char *result; - - tokens = ft_split(line, ' '); - if (!tokens) - return (NULL); - result_len = 0; - i = 0; - while (tokens[i]) - { - processed_token = expand_variable(&tokens[i], data); - processed_token = token_adj(processed_token); - tokens[i] = processed_token; - result_len += ft_strlen(tokens[i]) + 1; - i++; - } - result = assemble_result(tokens, result_len); - return (result); + return (arg); // Return the original } \ No newline at end of file diff --git a/src/redirection/redirect_heredoc.c b/src/redirection/redirect_heredoc.c index 6bf2a68d..7baebb20 100644 --- a/src/redirection/redirect_heredoc.c +++ b/src/redirection/redirect_heredoc.c @@ -91,8 +91,7 @@ int redirect_here_doc(t_ast *node, t_ms_data *data) setup_sigint_handler(&sa_old); file_fd = open_tmp_file("w"); eof = ft_strdup(node->right->args[0]); - // line = process_and_reassemble(readline("> "), data); - line = readline("> "); + line = process_and_reassemble(readline("> "), data); write_heredoc_lines(&line, file_fd, eof, data); if (g_heredoc_interrupted) return (handle_heredoc_interruption(line, eof, file_fd, &sa_old)); @@ -115,7 +114,6 @@ void write_heredoc_lines(char **line, int file_fd, char *eof, \ write(file_fd, "\n", 1); free(*line); (void)data; - // *line = process_and_reassemble(readline("> "), data); *line = readline("> "); } } From 7a6d35f892266d7e59a4773d83a376781c31b41f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A8Roman?= <¨roman.mikhaylenko14@hotmail.com¨> Date: Mon, 9 Sep 2024 22:25:12 +0100 Subject: [PATCH 67/83] holy shit I think all the memory leaks are fixed --- minishell | Bin 0 -> 123480 bytes src/parser/loc_env_vars_handler_heredoc.c | 13 ++++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100755 minishell diff --git a/minishell b/minishell new file mode 100755 index 0000000000000000000000000000000000000000..34b671521e19580a0a34e2736a62f837db1875fe GIT binary patch literal 123480 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 literal 0 HcmV?d00001 diff --git a/src/parser/loc_env_vars_handler_heredoc.c b/src/parser/loc_env_vars_handler_heredoc.c index f55bf572..6e25ca37 100644 --- a/src/parser/loc_env_vars_handler_heredoc.c +++ b/src/parser/loc_env_vars_handler_heredoc.c @@ -30,17 +30,23 @@ char *process_and_reassemble(char *line, t_ms_data *data) char *result; char *tmp_token; char *new_token; + char *orig_token; tokens = ft_split(line, ' '); + free(line); if (!tokens) return (NULL); + ft_print_2d_arr(tokens); result_len = 0; i = 0; while (tokens[i]) { + orig_token = tokens[i]; // Store the original token tmp_token = expand_variable(&tokens[i], data); // Get expanded token (may be the same or new) if (tmp_token) { + printf("post-expand_variable &tokens[i] below:\n"); + ft_print_2d_arr(tokens); processed_token = token_adj(tmp_token); // Adjust the token if (processed_token != tmp_token) { @@ -51,17 +57,22 @@ char *process_and_reassemble(char *line, t_ms_data *data) { new_token = tmp_token; // No changes, use the token as-is } - // Now, set the new token into the tokens array without freeing tokens[i] + free(orig_token); // Free the original token from ft_split tokens[i] = new_token; // Assign the newly adjusted or expanded token result_len += ft_strlen(new_token) + 1; } i++; } + printf("post-loop &tokens[i] below:\n"); + ft_print_2d_arr(tokens); result = assemble_result(tokens, result_len); + printf("post-assemble_result &tokens[i] below:\n"); + ft_print_2d_arr(tokens); ft_free_2d_arr(tokens); // Free the tokens array after use return (result); } + static char *assemble_result(char **tokens, size_t result_len) { char *result; From eeab2212e27d3730928025b083d7b3359845559c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A8Roman?= <¨roman.mikhaylenko14@hotmail.com¨> Date: Mon, 9 Sep 2024 22:28:28 +0100 Subject: [PATCH 68/83] everything works except for loc vars in heredocs --- src/parser/loc_env_vars_handler_heredoc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/parser/loc_env_vars_handler_heredoc.c b/src/parser/loc_env_vars_handler_heredoc.c index 6e25ca37..a1f0f5f0 100644 --- a/src/parser/loc_env_vars_handler_heredoc.c +++ b/src/parser/loc_env_vars_handler_heredoc.c @@ -81,7 +81,7 @@ static char *assemble_result(char **tokens, size_t result_len) result = malloc(result_len + 1); if (!result) return (NULL); - *result = '\0'; // Start with an empty string + *result = '\0'; // Start with an empty strin i = 0; while (tokens[i]) { From 0550181c0217e3745f43e4ce07ce88df2b358921 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A8Roman?= <¨roman.mikhaylenko14@hotmail.com¨> Date: Mon, 9 Sep 2024 22:46:27 +0100 Subject: [PATCH 69/83] EVERY MEMORY LEAK FIXED OH MAA GAAAWD --- minishell | Bin 123480 -> 0 bytes src/parser/loc_env_vars_handler_heredoc.c | 9 +++++---- 2 files changed, 5 insertions(+), 4 deletions(-) delete mode 100755 minishell diff --git a/minishell b/minishell deleted file mode 100755 index 34b671521e19580a0a34e2736a62f837db1875fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123480 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 diff --git a/src/parser/loc_env_vars_handler_heredoc.c b/src/parser/loc_env_vars_handler_heredoc.c index a1f0f5f0..95dddef3 100644 --- a/src/parser/loc_env_vars_handler_heredoc.c +++ b/src/parser/loc_env_vars_handler_heredoc.c @@ -57,6 +57,7 @@ char *process_and_reassemble(char *line, t_ms_data *data) { new_token = tmp_token; // No changes, use the token as-is } + free(processed_token); free(orig_token); // Free the original token from ft_split tokens[i] = new_token; // Assign the newly adjusted or expanded token result_len += ft_strlen(new_token) + 1; @@ -81,7 +82,7 @@ static char *assemble_result(char **tokens, size_t result_len) result = malloc(result_len + 1); if (!result) return (NULL); - *result = '\0'; // Start with an empty strin + *result = '\0'; // Start with an empty string i = 0; while (tokens[i]) { @@ -104,7 +105,7 @@ char *token_adj(char *arg) while (*ptr && *ptr != '\"') { if (!ft_isdigit(*ptr)) - return (arg); // Return the original argument if not all digits inside quotes + return (ft_strdup(arg)); // Return the original argument if not all digits inside quotes ptr++; } if (*ptr == '\0') // If there's no closing quote, add one @@ -117,7 +118,7 @@ char *token_adj(char *arg) return (new_arg); } if (*ptr == '\"' && *(ptr + 1) == '\0') // If it's a properly quoted string, return as-is - return (arg); + return (ft_strdup(arg)); } - return (arg); // Return the original + return (ft_strdup(arg)); // Return the original } \ No newline at end of file From a52f40b21352cb4ef9bd14b0afad39db7cf7c435 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A8Roman?= <¨roman.mikhaylenko14@hotmail.com¨> Date: Mon, 9 Sep 2024 23:11:33 +0100 Subject: [PATCH 70/83] YAAAAAAAAAAAAAAAAAAS THIS IS ALL HEALTHY --- sorted_output.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 sorted_output.txt diff --git a/sorted_output.txt b/sorted_output.txt new file mode 100644 index 00000000..e69de29b From 641bd8e18763b41a6e17a455ee812d8a67f56e34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A8Roman?= <¨roman.mikhaylenko14@hotmail.com¨> Date: Mon, 9 Sep 2024 23:28:06 +0100 Subject: [PATCH 71/83] only norminette for the 2 loc_env files left to dogit add .git add .git add .git add .git add . --- inc/tokens.h | 1 + sorted_output.txt | 0 src/parser/AST.c | 17 ----------------- src/redirection/redirect_heredoc.c | 19 +++---------------- 4 files changed, 4 insertions(+), 33 deletions(-) delete mode 100644 sorted_output.txt diff --git a/inc/tokens.h b/inc/tokens.h index 67ece11b..57520ab4 100644 --- a/inc/tokens.h +++ b/inc/tokens.h @@ -124,5 +124,6 @@ void append_word_if_valid(char *start, char *str, t_token **tokens); char *exit_status_adj(char *arg); char *str_start_adj(char *arg); char *tmp_adj(char *arg); +int cmd_arg_len(t_token *current); #endif \ No newline at end of file diff --git a/sorted_output.txt b/sorted_output.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/src/parser/AST.c b/src/parser/AST.c index 2acc1cfb..346b85d5 100644 --- a/src/parser/AST.c +++ b/src/parser/AST.c @@ -45,23 +45,6 @@ t_ast *manage_redirs(t_token **tokens, t_ms_data *data) return (command_node); } -t_ast *manage_commands(t_token **tokens, t_ms_data *data) -{ - t_ast *command_node; - int cmd_arg_count; - - command_node = new_ast_node(); - command_node->type = PHRASE; - cmd_arg_count = cmd_arg_len(*tokens); - command_node->args = malloc(sizeof(char *) * (cmd_arg_count + 1)); - if (!command_node->args) - return (NULL); - set_command_args(command_node, tokens, cmd_arg_count); - (void)data; - post_process_command_args(command_node, cmd_arg_count, data); - return (command_node); -} - void set_command_args(t_ast *command_node, t_token **tokens, int arg_count) { int i; diff --git a/src/redirection/redirect_heredoc.c b/src/redirection/redirect_heredoc.c index b60f69ca..83a92aad 100644 --- a/src/redirection/redirect_heredoc.c +++ b/src/redirection/redirect_heredoc.c @@ -73,8 +73,8 @@ static void execute_child(t_ast *node, t_ms_data *data, int *file_fd) waitpid(pid, &data->exit_status, 0); } -static void write_heredoc_lines(char **line, int file_fd, char *eof, \ - t_ms_data *data) +void write_heredoc_lines(char **line, int file_fd, char *eof, \ + t_ms_data *data) { while (*line && (ft_strcmp(*line, eof) != 0) && !g_heredoc_interrupted) { @@ -111,17 +111,4 @@ int redirect_here_doc(t_ast *node, t_ms_data *data) execute_child(node->left, data, &file_fd); unlink("/tmp/heredoc"); return (0); -} - -void write_heredoc_lines(char **line, int file_fd, char *eof, \ - t_ms_data *data) -{ - while (*line && (ft_strcmp(*line, eof) != 0) && !g_heredoc_interrupted) - { - write(file_fd, *line, ft_strlen(*line)); - write(file_fd, "\n", 1); - free(*line); - (void)data; - *line = readline("> "); - } -} +} \ No newline at end of file From 1f064fff145ef28784e49d50b8ba1e8c822221d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A8Roman?= <¨roman.mikhaylenko14@hotmail.com¨> Date: Tue, 10 Sep 2024 00:35:42 +0100 Subject: [PATCH 72/83] working on norminette, so far no leaks --- src/parser/loc_env_var_handler.c | 80 +++++------------------ src/parser/loc_env_vars_handler_heredoc.c | 44 +++++-------- 2 files changed, 34 insertions(+), 90 deletions(-) diff --git a/src/parser/loc_env_var_handler.c b/src/parser/loc_env_var_handler.c index 9f5e463f..a1e9ddfe 100644 --- a/src/parser/loc_env_var_handler.c +++ b/src/parser/loc_env_var_handler.c @@ -21,8 +21,8 @@ char *tmp_adj(char *arg); char *expand_env_and_loc_var(char *arg, t_ms_data *data); char *str_start_adj(char *arg); -void post_process_command_args(t_ast *command_node, int arg_count \ - , t_ms_data *data) +void post_process_command_args(t_ast *command_node, int arg_count, + t_ms_data *data) { int i; char *processed_arg; @@ -32,25 +32,19 @@ void post_process_command_args(t_ast *command_node, int arg_count \ { if (!is_in_single_quotes(command_node->args[i])) { - handle_local_vars(data, command_node->args[i]); // no mallocs --> noleaks poss + handle_local_vars(data, command_node->args[i]); processed_arg = process_argument(command_node->args[i], data); } else { - processed_arg = ft_substr(command_node->args[i], 1, \ - ft_strlen(command_node->args[i]) - 2); - ft_printf(RED"malloc'd processed_arg1: %s at ad: %p\n"RESET, processed_arg, processed_arg); + processed_arg = ft_substr(command_node->args[i], 1, + ft_strlen(command_node->args[i]) - 2); } - ft_printf(GRN"freed command_node->args[i]: %s at ad: %p\n"RESET, command_node->args[i], command_node->args[i]); free(command_node->args[i]); - printf("processed_arg: %s\n", processed_arg); command_node->args[i] = ft_strdup(processed_arg); - ft_printf(RED"malloc'd command_node->args[i]: %s at ad: %p\n"RESET, command_node->args[i], command_node->args[i]); - ft_printf(GRN"freed new processed_arg: %s at ad: %p\n"RESET, processed_arg, processed_arg); free(processed_arg); i++; } - final_quote_removal(arg_count, command_node); } @@ -85,7 +79,6 @@ char *process_argument(char *arg, t_ms_data *data) char *expanded_var; processed_arg = ft_strdup(""); - ft_printf(RED"malloc'd processed_arg2: %s at ad: %p\n"RESET, processed_arg, processed_arg); start = arg; while (*start != '\0') { @@ -94,16 +87,10 @@ char *process_argument(char *arg, t_ms_data *data) expanded_var = expand_variable(&start, data); if (expanded_var != NULL) { - ft_printf(GRN"freed processed_arg: %s at ad: %p (in ft_strjoin_free)\n"RESET, processed_arg, processed_arg); tmp = ft_strjoin_free(processed_arg, expanded_var); - ft_printf(RED"malloc'd tmp: %s at ad: %p\n"RESET, tmp, tmp); tmp_ad = tmp_adj(tmp); - // ft_printf(GRN"freed tmp: %s at ad: %p\n"RESET, tmp, tmp); - // free(tmp); - ft_printf(GRN"freed expanded_str(=expanded_var): %s at ad: %p\n"RESET, expanded_var, expanded_var); free(expanded_var); processed_arg = ft_strdup(tmp_ad); - ft_printf(GRN"freed tmp_adj_dup: %s at ad: %p\n"RESET, tmp_ad, tmp_ad); free(tmp_ad); } } @@ -126,36 +113,24 @@ char *expand_variable(char **start, t_ms_data *data) str_start = *start; expanded_str = ft_strdup(""); - ft_printf(RED"malloc'd expanded_str: %s at ad: %p\n"RESET, expanded_str, expanded_str); - while (**start && **start != '\0') { if (**start == '$') { var_start = *start; (*start)++; - while (**start && (ft_isalnum(**start) || **start == '_')) (*start)++; var_name = ft_substr(var_start, 0, *start - var_start); - ft_printf(RED"malloc'd var_name: %s at ad: %p\n"RESET, var_name, var_name); expanded_var = expand_env_and_loc_var(var_name, data); - ft_printf(GRN"freed var_name: %s at ad: %p\n"RESET, var_name, var_name); free(var_name); len_before_var = var_start - str_start; - ft_printf(GRN"freed expanded_str: %s at ad: %p (in ft_strjoin_free)\n"RESET, expanded_str, expanded_str); tmp = ft_substr(str_start, 0, len_before_var); - ft_printf(RED"malloc'd tmp in expand_variable: %s at ad: %p\n"RESET, tmp, tmp); result = ft_strjoin_free(expanded_str, tmp); - ft_printf(RED"malloc'd result: %s at ad: %p\n"RESET, result, result); - ft_printf(GRN"freed tmp in expand_variable: %s at ad: %p\n"RESET, tmp, tmp); free(tmp); - ft_printf(GRN"freed result: %s at ad: %p (in ft_strjoin_free)\n"RESET, result, result); expanded_str = ft_strjoin_free(result, expanded_var); - ft_printf(RED"malloc'd expanded_str: %s at ad: %p\n"RESET, expanded_str, expanded_str); str_start = *start; str_start = str_start_adj(str_start); - ft_printf(GRN"freed env_value_dup(=expanded_var): %s at ad: %p\n"RESET, expanded_var, expanded_var); free(expanded_var); } else @@ -164,10 +139,7 @@ char *expand_variable(char **start, t_ms_data *data) if (str_start != *start) { result = ft_substr(str_start, 0, *start - str_start); - ft_printf(RED"malloc'd result2: %s at ad: %p\n"RESET, result, result); expanded_str = ft_strjoin_free(expanded_str, result); - ft_printf(RED"malloc'd expanded_str: %s at ad: %p\n"RESET, expanded_str, expanded_str); - ft_printf(GRN"freed result2: %s at ad: %p\n"RESET, result, result); free(result); } return (expanded_str); @@ -184,7 +156,6 @@ char *expand_env_and_loc_var(char *arg, t_ms_data *data) { exit_status = get_shell_variable(data->shell_variables, "?"); env_value_dup = ft_strdup(exit_status); - ft_printf(RED"malloc'd (exit status) env_value_dup1: %s at ad: %p\n"RESET, env_value_dup, env_value_dup); return (env_value_dup); } else if (arg[0] == '$') @@ -194,23 +165,18 @@ char *expand_env_and_loc_var(char *arg, t_ms_data *data) env_value = get_env(data->envp, arg + 1); if (!env_value) { - env_value = get_env(data->shell_variables, arg + 1); // is strdup necessary? - // env_value_dup = ft_strdup(env_value); - // ft_printf(RED"malloc'd env_value_dup2: %s at ad: %p\n"RESET, env_value_dup, env_value_dup); + env_value = get_env(data->shell_variables, arg + 1); } if (env_value) { env_value_dup = ft_strdup(env_value); - ft_printf(RED"malloc'd env_value_dup3: %s at ad: %p\n"RESET, env_value_dup, env_value_dup); return (env_value_dup); } } env_value_dup = ft_strdup(""); - ft_printf(RED"malloc'd empty env_value_dup4: %s at ad: %p\n"RESET, env_value_dup, env_value_dup); return (env_value_dup); } - void final_quote_removal(int arg_count, t_ast *command_node) { int i; @@ -223,8 +189,8 @@ void final_quote_removal(int arg_count, t_ast *command_node) { arg = command_node->args[i]; len = ft_strlen(arg); - if ((arg[0] == '"' && arg[len - 1] == '"') || (arg[0] == '\'' \ - && arg[len - 1] == '\'')) + if ((arg[0] == '"' && arg[len - 1] == '"') || (arg[0] == '\'' + && arg[len - 1] == '\'')) { trimmed_arg = ft_strndup(arg + 1, len - 2); free(command_node->args[i]); @@ -234,11 +200,11 @@ void final_quote_removal(int arg_count, t_ast *command_node) } } -char *exit_status_adj(char *arg) +char *exit_status_adj(char *arg) { - if (strcmp(arg, "$") == 0) - return "$?"; - return arg; + if (strcmp(arg, "$") == 0) + return ("$?"); + return (arg); } int is_in_single_quotes(char *arg) @@ -255,13 +221,13 @@ int is_in_single_quotes(char *arg) return (0); } -char *str_start_adj(char *arg) +char *str_start_adj(char *arg) { - if (!strcmp(arg, "?") || !strcmp(arg, "?\"")) - return (""); + if (!strcmp(arg, "?") || !strcmp(arg, "?\"")) + return (""); else if (!strcmp(arg, "?\'")) - return ("\'"); - return arg; + return ("\'"); + return (arg); } char *tmp_adj(char *arg) @@ -269,8 +235,6 @@ char *tmp_adj(char *arg) char *ptr; char *tmp_adj_dup; - ft_printf("arg: %s\n", arg); - if (*arg == '\"') { ptr = arg + 1; @@ -281,15 +245,11 @@ char *tmp_adj(char *arg) ptr++; } tmp_adj_dup = ft_strdup(arg + 1); - ft_printf(RED"malloc'd tmp_adj_dup: %s at ad: %p\n"RESET, tmp_adj_dup, tmp_adj_dup); - ft_printf(GRN"freed arg in tmp_adj: %s at ad: %p\n"RESET, arg, arg); free(arg); return (tmp_adj_dup); } tmp_adj_dup = ft_strdup(arg); - ft_printf(GRN"freed ft_str_join_free (no var assigned): %s at ad: %p\n"RESET, arg, arg); free(arg); - ft_printf(RED"malloc'd tmp_adj_dup: %s at ad: %p\n"RESET, tmp_adj_dup, tmp_adj_dup); return (tmp_adj_dup); } @@ -303,14 +263,8 @@ char *append_literal(char **start, char *processed_arg) while (**start != '\0' && **start != '$') (*start)++; literal_part = ft_substr(literal_start, 0, *start - literal_start); - ft_printf(RED"malloc'd literal_part: %s at ad: %p\n"RESET, literal_part, literal_part); tmp = ft_strjoin(processed_arg, literal_part); - ft_printf(RED"malloc'd tmp_append_literal (new processed_arg): %s at ad: %p\n"RESET, tmp, tmp); - ft_printf(GRN"freed literal_part: %s at ad: %p\n"RESET, literal_part, literal_part); free(literal_part); - ft_printf(GRN"freed processed_arg: %s at ad: %p\n"RESET, processed_arg, processed_arg); free(processed_arg); - return (tmp); } - diff --git a/src/parser/loc_env_vars_handler_heredoc.c b/src/parser/loc_env_vars_handler_heredoc.c index 95dddef3..cfe58318 100644 --- a/src/parser/loc_env_vars_handler_heredoc.c +++ b/src/parser/loc_env_vars_handler_heredoc.c @@ -19,7 +19,7 @@ #include "signals.h" static char *assemble_result(char **tokens, size_t result_len); -char *token_adj(char *arg); +char *token_adj(char *arg); char *process_and_reassemble(char *line, t_ms_data *data) { @@ -36,44 +36,34 @@ char *process_and_reassemble(char *line, t_ms_data *data) free(line); if (!tokens) return (NULL); - ft_print_2d_arr(tokens); result_len = 0; i = 0; while (tokens[i]) { - orig_token = tokens[i]; // Store the original token - tmp_token = expand_variable(&tokens[i], data); // Get expanded token (may be the same or new) + orig_token = tokens[i]; + tmp_token = expand_variable(&tokens[i], data); if (tmp_token) { - printf("post-expand_variable &tokens[i] below:\n"); - ft_print_2d_arr(tokens); - processed_token = token_adj(tmp_token); // Adjust the token + processed_token = token_adj(tmp_token); if (processed_token != tmp_token) { - new_token = ft_strdup(processed_token); // Duplicate the adjusted token - free(tmp_token); // Free the temporary token returned by expand_variable + new_token = ft_strdup(processed_token); + free(tmp_token); } else - { - new_token = tmp_token; // No changes, use the token as-is - } + new_token = tmp_token; free(processed_token); - free(orig_token); // Free the original token from ft_split - tokens[i] = new_token; // Assign the newly adjusted or expanded token + free(orig_token); + tokens[i] = new_token; result_len += ft_strlen(new_token) + 1; } i++; } - printf("post-loop &tokens[i] below:\n"); - ft_print_2d_arr(tokens); result = assemble_result(tokens, result_len); - printf("post-assemble_result &tokens[i] below:\n"); - ft_print_2d_arr(tokens); - ft_free_2d_arr(tokens); // Free the tokens array after use + ft_free_2d_arr(tokens); return (result); } - static char *assemble_result(char **tokens, size_t result_len) { char *result; @@ -82,13 +72,13 @@ static char *assemble_result(char **tokens, size_t result_len) result = malloc(result_len + 1); if (!result) return (NULL); - *result = '\0'; // Start with an empty string + *result = '\0'; i = 0; while (tokens[i]) { ft_strcat(result, tokens[i]); if (tokens[i + 1]) - ft_strcat(result, " "); // Add space between tokens + ft_strcat(result, " "); i++; } return (result); @@ -105,10 +95,10 @@ char *token_adj(char *arg) while (*ptr && *ptr != '\"') { if (!ft_isdigit(*ptr)) - return (ft_strdup(arg)); // Return the original argument if not all digits inside quotes + return (ft_strdup(arg)); ptr++; } - if (*ptr == '\0') // If there's no closing quote, add one + if (*ptr == '\0') { new_arg = malloc(strlen(arg) + 2); if (!new_arg) @@ -117,8 +107,8 @@ char *token_adj(char *arg) ft_strcat(new_arg, "\""); return (new_arg); } - if (*ptr == '\"' && *(ptr + 1) == '\0') // If it's a properly quoted string, return as-is + if (*ptr == '\"' && *(ptr + 1) == '\0') return (ft_strdup(arg)); } - return (ft_strdup(arg)); // Return the original -} \ No newline at end of file + return (ft_strdup(arg)); +} From 6e8c03a96f1968a70fc6512b056614c1b6e05e25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A8Roman?= <¨roman.mikhaylenko14@hotmail.com¨> Date: Tue, 10 Sep 2024 00:44:50 +0100 Subject: [PATCH 73/83] split functions across files, preparing for refactoring. Reset to here if needed --- inc/tokens.h | 9 + src/parser/loc_env_var_handler.c | 171 +----------------- ...eredoc.c => loc_env_var_handler_heredoc.c} | 0 src/parser/loc_env_var_handler_utils.c | 106 +++++++++++ src/parser/loc_env_var_handler_utils_utils.c | 76 ++++++++ .../loc_env_vars_handler_heredoc_utils.c | 0 src/redirection/redirect_heredoc.c | 4 +- 7 files changed, 194 insertions(+), 172 deletions(-) rename src/parser/{loc_env_vars_handler_heredoc.c => loc_env_var_handler_heredoc.c} (100%) create mode 100644 src/parser/loc_env_var_handler_utils.c create mode 100644 src/parser/loc_env_var_handler_utils_utils.c create mode 100644 src/parser/loc_env_vars_handler_heredoc_utils.c diff --git a/inc/tokens.h b/inc/tokens.h index 57520ab4..9c35e23e 100644 --- a/inc/tokens.h +++ b/inc/tokens.h @@ -125,5 +125,14 @@ char *exit_status_adj(char *arg); char *str_start_adj(char *arg); char *tmp_adj(char *arg); int cmd_arg_len(t_token *current); +char *exit_status_adj(char *arg); +int is_in_single_quotes(char *arg); +char *str_start_adj(char *arg); +char *tmp_adj(char *arg); +char *append_literal(char **start, char *processed_arg); +char *expand_variable(char **start, t_ms_data *data); +char *expand_env_and_loc_var(char *arg, t_ms_data *data); +void final_quote_removal(int arg_count, t_ast *command_node); + #endif \ No newline at end of file diff --git a/src/parser/loc_env_var_handler.c b/src/parser/loc_env_var_handler.c index a1e9ddfe..4e4a1028 100644 --- a/src/parser/loc_env_var_handler.c +++ b/src/parser/loc_env_var_handler.c @@ -98,173 +98,4 @@ char *process_argument(char *arg, t_ms_data *data) processed_arg = append_literal(&start, processed_arg); } return (processed_arg); -} - -char *expand_variable(char **start, t_ms_data *data) -{ - char *expanded_str; - char *var_name; - char *expanded_var; - char *result; - char *var_start; - char *str_start; - int len_before_var; - char *tmp; - - str_start = *start; - expanded_str = ft_strdup(""); - while (**start && **start != '\0') - { - if (**start == '$') - { - var_start = *start; - (*start)++; - while (**start && (ft_isalnum(**start) || **start == '_')) - (*start)++; - var_name = ft_substr(var_start, 0, *start - var_start); - expanded_var = expand_env_and_loc_var(var_name, data); - free(var_name); - len_before_var = var_start - str_start; - tmp = ft_substr(str_start, 0, len_before_var); - result = ft_strjoin_free(expanded_str, tmp); - free(tmp); - expanded_str = ft_strjoin_free(result, expanded_var); - str_start = *start; - str_start = str_start_adj(str_start); - free(expanded_var); - } - else - (*start)++; - } - if (str_start != *start) - { - result = ft_substr(str_start, 0, *start - str_start); - expanded_str = ft_strjoin_free(expanded_str, result); - free(result); - } - return (expanded_str); -} - -char *expand_env_and_loc_var(char *arg, t_ms_data *data) -{ - char *env_value; - char *exit_status; - char *env_value_dup; - - arg = exit_status_adj(arg); - if (ft_strcmp(arg, "$?") == 0) - { - exit_status = get_shell_variable(data->shell_variables, "?"); - env_value_dup = ft_strdup(exit_status); - return (env_value_dup); - } - else if (arg[0] == '$') - { - if (arg[ft_strlen(arg) - 1] == '"') - arg[ft_strlen(arg) - 1] = '\0'; - env_value = get_env(data->envp, arg + 1); - if (!env_value) - { - env_value = get_env(data->shell_variables, arg + 1); - } - if (env_value) - { - env_value_dup = ft_strdup(env_value); - return (env_value_dup); - } - } - env_value_dup = ft_strdup(""); - return (env_value_dup); -} - -void final_quote_removal(int arg_count, t_ast *command_node) -{ - int i; - size_t len; - char *arg; - char *trimmed_arg; - - i = 0; - while (i < arg_count) - { - arg = command_node->args[i]; - len = ft_strlen(arg); - if ((arg[0] == '"' && arg[len - 1] == '"') || (arg[0] == '\'' - && arg[len - 1] == '\'')) - { - trimmed_arg = ft_strndup(arg + 1, len - 2); - free(command_node->args[i]); - command_node->args[i] = trimmed_arg; - } - i++; - } -} - -char *exit_status_adj(char *arg) -{ - if (strcmp(arg, "$") == 0) - return ("$?"); - return (arg); -} - -int is_in_single_quotes(char *arg) -{ - int len; - - if (!arg || arg[0] != '\'') - return (0); - len = 0; - while (arg[len] != '\0') - len++; - if (arg[len - 1] == '\'') - return (1); - return (0); -} - -char *str_start_adj(char *arg) -{ - if (!strcmp(arg, "?") || !strcmp(arg, "?\"")) - return (""); - else if (!strcmp(arg, "?\'")) - return ("\'"); - return (arg); -} - -char *tmp_adj(char *arg) -{ - char *ptr; - char *tmp_adj_dup; - - if (*arg == '\"') - { - ptr = arg + 1; - while (*ptr) - { - if (!ft_isdigit(*ptr)) - return (arg); - ptr++; - } - tmp_adj_dup = ft_strdup(arg + 1); - free(arg); - return (tmp_adj_dup); - } - tmp_adj_dup = ft_strdup(arg); - free(arg); - return (tmp_adj_dup); -} - -char *append_literal(char **start, char *processed_arg) -{ - char *literal_part; - char *literal_start; - char *tmp; - - literal_start = *start; - while (**start != '\0' && **start != '$') - (*start)++; - literal_part = ft_substr(literal_start, 0, *start - literal_start); - tmp = ft_strjoin(processed_arg, literal_part); - free(literal_part); - free(processed_arg); - return (tmp); -} +} \ No newline at end of file diff --git a/src/parser/loc_env_vars_handler_heredoc.c b/src/parser/loc_env_var_handler_heredoc.c similarity index 100% rename from src/parser/loc_env_vars_handler_heredoc.c rename to src/parser/loc_env_var_handler_heredoc.c diff --git a/src/parser/loc_env_var_handler_utils.c b/src/parser/loc_env_var_handler_utils.c new file mode 100644 index 00000000..f09c63b5 --- /dev/null +++ b/src/parser/loc_env_var_handler_utils.c @@ -0,0 +1,106 @@ +#include "tokens.h" + +char *expand_variable(char **start, t_ms_data *data); +char *expand_env_and_loc_var(char *arg, t_ms_data *data); +void final_quote_removal(int arg_count, t_ast *command_node); + +char *expand_variable(char **start, t_ms_data *data) +{ + char *expanded_str; + char *var_name; + char *expanded_var; + char *result; + char *var_start; + char *str_start; + int len_before_var; + char *tmp; + + str_start = *start; + expanded_str = ft_strdup(""); + while (**start && **start != '\0') + { + if (**start == '$') + { + var_start = *start; + (*start)++; + while (**start && (ft_isalnum(**start) || **start == '_')) + (*start)++; + var_name = ft_substr(var_start, 0, *start - var_start); + expanded_var = expand_env_and_loc_var(var_name, data); + free(var_name); + len_before_var = var_start - str_start; + tmp = ft_substr(str_start, 0, len_before_var); + result = ft_strjoin_free(expanded_str, tmp); + free(tmp); + expanded_str = ft_strjoin_free(result, expanded_var); + str_start = *start; + str_start = str_start_adj(str_start); + free(expanded_var); + } + else + (*start)++; + } + if (str_start != *start) + { + result = ft_substr(str_start, 0, *start - str_start); + expanded_str = ft_strjoin_free(expanded_str, result); + free(result); + } + return (expanded_str); +} + +char *expand_env_and_loc_var(char *arg, t_ms_data *data) +{ + char *env_value; + char *exit_status; + char *env_value_dup; + + arg = exit_status_adj(arg); + if (ft_strcmp(arg, "$?") == 0) + { + exit_status = get_shell_variable(data->shell_variables, "?"); + env_value_dup = ft_strdup(exit_status); + return (env_value_dup); + } + else if (arg[0] == '$') + { + if (arg[ft_strlen(arg) - 1] == '"') + arg[ft_strlen(arg) - 1] = '\0'; + env_value = get_env(data->envp, arg + 1); + if (!env_value) + { + env_value = get_env(data->shell_variables, arg + 1); + } + if (env_value) + { + env_value_dup = ft_strdup(env_value); + return (env_value_dup); + } + } + env_value_dup = ft_strdup(""); + return (env_value_dup); +} + +void final_quote_removal(int arg_count, t_ast *command_node) +{ + int i; + size_t len; + char *arg; + char *trimmed_arg; + + i = 0; + while (i < arg_count) + { + arg = command_node->args[i]; + len = ft_strlen(arg); + if ((arg[0] == '"' && arg[len - 1] == '"') || (arg[0] == '\'' + && arg[len - 1] == '\'')) + { + trimmed_arg = ft_strndup(arg + 1, len - 2); + free(command_node->args[i]); + command_node->args[i] = trimmed_arg; + } + i++; + } +} + diff --git a/src/parser/loc_env_var_handler_utils_utils.c b/src/parser/loc_env_var_handler_utils_utils.c new file mode 100644 index 00000000..01b0d846 --- /dev/null +++ b/src/parser/loc_env_var_handler_utils_utils.c @@ -0,0 +1,76 @@ +#include "tokens.h" + +char *exit_status_adj(char *arg); +int is_in_single_quotes(char *arg); +char *str_start_adj(char *arg); +char *tmp_adj(char *arg); +char *append_literal(char **start, char *processed_arg); + +char *exit_status_adj(char *arg) +{ + if (strcmp(arg, "$") == 0) + return ("$?"); + return (arg); +} + +int is_in_single_quotes(char *arg) +{ + int len; + + if (!arg || arg[0] != '\'') + return (0); + len = 0; + while (arg[len] != '\0') + len++; + if (arg[len - 1] == '\'') + return (1); + return (0); +} + +char *str_start_adj(char *arg) +{ + if (!strcmp(arg, "?") || !strcmp(arg, "?\"")) + return (""); + else if (!strcmp(arg, "?\'")) + return ("\'"); + return (arg); +} + +char *tmp_adj(char *arg) +{ + char *ptr; + char *tmp_adj_dup; + + if (*arg == '\"') + { + ptr = arg + 1; + while (*ptr) + { + if (!ft_isdigit(*ptr)) + return (arg); + ptr++; + } + tmp_adj_dup = ft_strdup(arg + 1); + free(arg); + return (tmp_adj_dup); + } + tmp_adj_dup = ft_strdup(arg); + free(arg); + return (tmp_adj_dup); +} + +char *append_literal(char **start, char *processed_arg) +{ + char *literal_part; + char *literal_start; + char *tmp; + + literal_start = *start; + while (**start != '\0' && **start != '$') + (*start)++; + literal_part = ft_substr(literal_start, 0, *start - literal_start); + tmp = ft_strjoin(processed_arg, literal_part); + free(literal_part); + free(processed_arg); + return (tmp); +} diff --git a/src/parser/loc_env_vars_handler_heredoc_utils.c b/src/parser/loc_env_vars_handler_heredoc_utils.c new file mode 100644 index 00000000..e69de29b diff --git a/src/redirection/redirect_heredoc.c b/src/redirection/redirect_heredoc.c index 83a92aad..8b8da708 100644 --- a/src/redirection/redirect_heredoc.c +++ b/src/redirection/redirect_heredoc.c @@ -82,7 +82,7 @@ void write_heredoc_lines(char **line, int file_fd, char *eof, \ write(file_fd, "\n", 1); free(*line); (void)data; - *line = readline("> "); + *line = readline("🌞 > "); } } @@ -99,7 +99,7 @@ int redirect_here_doc(t_ast *node, t_ms_data *data) setup_sigint_handler(&sa_old); file_fd = open_tmp_file("w"); eof = ft_strdup(node->right->args[0]); - line = process_and_reassemble(readline("> "), data); + line = process_and_reassemble(readline("🌞 > "), data); write_heredoc_lines(&line, file_fd, eof, data); if (g_heredoc_interrupted) return (handle_heredoc_interruption(line, eof, file_fd, &sa_old)); From 1dc979b801d964adad3e73d80686169a5f33f062 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A8Roman?= <¨roman.mikhaylenko14@hotmail.com¨> Date: Tue, 10 Sep 2024 01:06:05 +0100 Subject: [PATCH 74/83] loc_env_var_heredoc_utils norminette passing! safe to revert to here --- minishell | Bin 0 -> 127456 bytes src/parser/loc_env_var_handler_heredoc.c | 108 +++++++++--------- .../loc_env_var_handler_heredoc_utils.c | 48 ++++++++ .../loc_env_vars_handler_heredoc_utils.c | 0 4 files changed, 102 insertions(+), 54 deletions(-) create mode 100755 minishell create mode 100644 src/parser/loc_env_var_handler_heredoc_utils.c delete mode 100644 src/parser/loc_env_vars_handler_heredoc_utils.c diff --git a/minishell b/minishell new file mode 100755 index 0000000000000000000000000000000000000000..940157ba3a7abf699b108c1425e54491e83cd1f3 GIT binary patch literal 127456 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%0A~=o^_9(ia1><6b(cdoicZ#RK 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 +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/09/10 01:04:20 by rmikhayl #+# #+# */ +/* Updated: 2024/09/10 01:04:22 by rmikhayl ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "shell.h" +#include "tokens.h" +#include "redirection.h" +#include "execute.h" +#include +#include +#include "signals.h" + +char *token_adj(char *arg) +{ + char *ptr; + char *new_arg; + + if (*arg == '\"') + { + ptr = arg + 1; + while (*ptr && *ptr != '\"') + { + if (!ft_isdigit(*ptr)) + return (ft_strdup(arg)); + ptr++; + } + if (*ptr == '\0') + { + new_arg = malloc(strlen(arg) + 2); + if (!new_arg) + return (NULL); + ft_strcpy(new_arg, arg); + ft_strcat(new_arg, "\""); + return (new_arg); + } + if (*ptr == '\"' && *(ptr + 1) == '\0') + return (ft_strdup(arg)); + } + return (ft_strdup(arg)); +} diff --git a/src/parser/loc_env_vars_handler_heredoc_utils.c b/src/parser/loc_env_vars_handler_heredoc_utils.c deleted file mode 100644 index e69de29b..00000000 From 1f888951a2db5ebc05f41a973487ff9e15fd80f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A8Roman?= <¨roman.mikhaylenko14@hotmail.com¨> Date: Tue, 10 Sep 2024 01:43:24 +0100 Subject: [PATCH 75/83] new checkpoint, loc_env_car_handler is fine --- minishell | Bin 127456 -> 0 bytes readline.supp | 11 +++++++++++ src/parser/loc_env_var_handler.c | 26 +++++++++++++++++++------- 3 files changed, 30 insertions(+), 7 deletions(-) delete mode 100755 minishell diff --git a/minishell b/minishell deleted file mode 100755 index 940157ba3a7abf699b108c1425e54491e83cd1f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127456 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%0A~=o^_9(ia1><6b(cdoicZ#RK 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 Date: Tue, 10 Sep 2024 01:44:45 +0100 Subject: [PATCH 76/83] new checkpoint, loc_env_car_handler is fine --- minishell | Bin 0 -> 127648 bytes src/parser/loc_env_var_handler.c | 6 ------ 2 files changed, 6 deletions(-) create mode 100755 minishell diff --git a/minishell b/minishell new file mode 100755 index 0000000000000000000000000000000000000000..d763be711a4b36920aecce5f29df25e51e96d3d5 GIT binary patch literal 127648 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 IC Date: Tue, 10 Sep 2024 01:46:22 +0100 Subject: [PATCH 77/83] new checkpoint, loc_env_car_handler & utils_utils are fine --- src/parser/loc_env_var_handler_utils.c | 12 ++++++++++++ src/parser/loc_env_var_handler_utils_utils.c | 12 ++++++++++++ 2 files changed, 24 insertions(+) diff --git a/src/parser/loc_env_var_handler_utils.c b/src/parser/loc_env_var_handler_utils.c index f09c63b5..27eff9e3 100644 --- a/src/parser/loc_env_var_handler_utils.c +++ b/src/parser/loc_env_var_handler_utils.c @@ -1,3 +1,15 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* loc_env_var_handler_utils.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rmikhayl +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/09/10 01:45:18 by rmikhayl #+# #+# */ +/* Updated: 2024/09/10 01:45:21 by rmikhayl ### ########.fr */ +/* */ +/* ************************************************************************** */ + #include "tokens.h" char *expand_variable(char **start, t_ms_data *data); diff --git a/src/parser/loc_env_var_handler_utils_utils.c b/src/parser/loc_env_var_handler_utils_utils.c index 01b0d846..c5987045 100644 --- a/src/parser/loc_env_var_handler_utils_utils.c +++ b/src/parser/loc_env_var_handler_utils_utils.c @@ -1,3 +1,15 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* loc_env_var_handler_utils_utils.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rmikhayl +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/09/10 01:45:50 by rmikhayl #+# #+# */ +/* Updated: 2024/09/10 01:45:52 by rmikhayl ### ########.fr */ +/* */ +/* ************************************************************************** */ + #include "tokens.h" char *exit_status_adj(char *arg); From bd0025e1d603c9de2fc81a8fbab4e5a942806a5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A8Roman?= <¨roman.mikhaylenko14@hotmail.com¨> Date: Tue, 10 Sep 2024 01:57:12 +0100 Subject: [PATCH 78/83] one function left to go --- minishell | Bin 127648 -> 128480 bytes o.txt | 11 +++ src/parser/loc_env_var_handler_utils.c | 73 +++++++-------- src/parser/loc_env_var_handler_utils_utils.c | 86 ++++------------- .../loc_env_var_handler_utils_utils_utils.c | 88 ++++++++++++++++++ 5 files changed, 149 insertions(+), 109 deletions(-) create mode 100644 o.txt create mode 100644 src/parser/loc_env_var_handler_utils_utils_utils.c diff --git a/minishell b/minishell index d763be711a4b36920aecce5f29df25e51e96d3d5..85681c8e1a1c3386774b313848bcc500a1dd3015 100755 GIT binary patch delta 16424 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 delta 15727 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 D&&o0V diff --git a/o.txt b/o.txt new file mode 100644 index 00000000..71787e65 --- /dev/null +++ b/o.txt @@ -0,0 +1,11 @@ +build +doc +en.subject.pdf +inc +lib +Makefile +minishell +o.txt +readline.supp +README.md +src diff --git a/src/parser/loc_env_var_handler_utils.c b/src/parser/loc_env_var_handler_utils.c index 27eff9e3..adc87e24 100644 --- a/src/parser/loc_env_var_handler_utils.c +++ b/src/parser/loc_env_var_handler_utils.c @@ -15,6 +15,9 @@ char *expand_variable(char **start, t_ms_data *data); char *expand_env_and_loc_var(char *arg, t_ms_data *data); void final_quote_removal(int arg_count, t_ast *command_node); +char *get_env_variable(char *arg, t_ms_data *data); +void handle_trailing_quote(char *arg); +char *get_exit_status(t_ms_data *data); char *expand_variable(char **start, t_ms_data *data) { @@ -63,56 +66,46 @@ char *expand_variable(char **start, t_ms_data *data) char *expand_env_and_loc_var(char *arg, t_ms_data *data) { - char *env_value; - char *exit_status; char *env_value_dup; arg = exit_status_adj(arg); if (ft_strcmp(arg, "$?") == 0) - { - exit_status = get_shell_variable(data->shell_variables, "?"); - env_value_dup = ft_strdup(exit_status); - return (env_value_dup); - } + return (get_exit_status(data)); else if (arg[0] == '$') { - if (arg[ft_strlen(arg) - 1] == '"') - arg[ft_strlen(arg) - 1] = '\0'; - env_value = get_env(data->envp, arg + 1); - if (!env_value) - { - env_value = get_env(data->shell_variables, arg + 1); - } - if (env_value) - { - env_value_dup = ft_strdup(env_value); - return (env_value_dup); - } + handle_trailing_quote(arg); + env_value_dup = get_env_variable(arg, data); + return (env_value_dup); } - env_value_dup = ft_strdup(""); - return (env_value_dup); + return (ft_strdup("")); } -void final_quote_removal(int arg_count, t_ast *command_node) +char *get_exit_status(t_ms_data *data) { - int i; - size_t len; - char *arg; - char *trimmed_arg; + char *exit_status; + char *exit_status_dup; - i = 0; - while (i < arg_count) - { - arg = command_node->args[i]; - len = ft_strlen(arg); - if ((arg[0] == '"' && arg[len - 1] == '"') || (arg[0] == '\'' - && arg[len - 1] == '\'')) - { - trimmed_arg = ft_strndup(arg + 1, len - 2); - free(command_node->args[i]); - command_node->args[i] = trimmed_arg; - } - i++; - } + exit_status = get_shell_variable(data->shell_variables, "?"); + exit_status_dup = ft_strdup(exit_status); + return (exit_status_dup); +} + +void handle_trailing_quote(char *arg) +{ + // Removes the trailing double quote if present + if (arg[ft_strlen(arg) - 1] == '"') + arg[ft_strlen(arg) - 1] = '\0'; +} + +char *get_env_variable(char *arg, t_ms_data *data) +{ + char *env_value; + + env_value = get_env(data->envp, arg + 1); + if (!env_value) + env_value = get_env(data->shell_variables, arg + 1); + if (env_value) + return (ft_strdup(env_value)); + return (ft_strdup("")); } diff --git a/src/parser/loc_env_var_handler_utils_utils.c b/src/parser/loc_env_var_handler_utils_utils.c index c5987045..e79ccd11 100644 --- a/src/parser/loc_env_var_handler_utils_utils.c +++ b/src/parser/loc_env_var_handler_utils_utils.c @@ -5,84 +5,32 @@ /* +:+ +:+ +:+ */ /* By: rmikhayl +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ -/* Created: 2024/09/10 01:45:50 by rmikhayl #+# #+# */ -/* Updated: 2024/09/10 01:45:52 by rmikhayl ### ########.fr */ +/* Created: 2024/09/10 01:45:18 by rmikhayl #+# #+# */ +/* Updated: 2024/09/10 01:45:21 by rmikhayl ### ########.fr */ /* */ /* ************************************************************************** */ #include "tokens.h" -char *exit_status_adj(char *arg); -int is_in_single_quotes(char *arg); -char *str_start_adj(char *arg); -char *tmp_adj(char *arg); -char *append_literal(char **start, char *processed_arg); - -char *exit_status_adj(char *arg) -{ - if (strcmp(arg, "$") == 0) - return ("$?"); - return (arg); -} - -int is_in_single_quotes(char *arg) +void final_quote_removal(int arg_count, t_ast *command_node) { - int len; + int i; + size_t len; + char *arg; + char *trimmed_arg; - if (!arg || arg[0] != '\'') - return (0); - len = 0; - while (arg[len] != '\0') - len++; - if (arg[len - 1] == '\'') - return (1); - return (0); -} - -char *str_start_adj(char *arg) -{ - if (!strcmp(arg, "?") || !strcmp(arg, "?\"")) - return (""); - else if (!strcmp(arg, "?\'")) - return ("\'"); - return (arg); -} - -char *tmp_adj(char *arg) -{ - char *ptr; - char *tmp_adj_dup; - - if (*arg == '\"') + i = 0; + while (i < arg_count) { - ptr = arg + 1; - while (*ptr) + arg = command_node->args[i]; + len = ft_strlen(arg); + if ((arg[0] == '"' && arg[len - 1] == '"') || (arg[0] == '\'' + && arg[len - 1] == '\'')) { - if (!ft_isdigit(*ptr)) - return (arg); - ptr++; + trimmed_arg = ft_strndup(arg + 1, len - 2); + free(command_node->args[i]); + command_node->args[i] = trimmed_arg; } - tmp_adj_dup = ft_strdup(arg + 1); - free(arg); - return (tmp_adj_dup); + i++; } - tmp_adj_dup = ft_strdup(arg); - free(arg); - return (tmp_adj_dup); -} - -char *append_literal(char **start, char *processed_arg) -{ - char *literal_part; - char *literal_start; - char *tmp; - - literal_start = *start; - while (**start != '\0' && **start != '$') - (*start)++; - literal_part = ft_substr(literal_start, 0, *start - literal_start); - tmp = ft_strjoin(processed_arg, literal_part); - free(literal_part); - free(processed_arg); - return (tmp); } diff --git a/src/parser/loc_env_var_handler_utils_utils_utils.c b/src/parser/loc_env_var_handler_utils_utils_utils.c new file mode 100644 index 00000000..8ac2693b --- /dev/null +++ b/src/parser/loc_env_var_handler_utils_utils_utils.c @@ -0,0 +1,88 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* loc_env_var_handler_utils_utils_utils.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rmikhayl +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/09/10 01:45:50 by rmikhayl #+# #+# */ +/* Updated: 2024/09/10 01:45:52 by rmikhayl ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "tokens.h" + +char *exit_status_adj(char *arg); +int is_in_single_quotes(char *arg); +char *str_start_adj(char *arg); +char *tmp_adj(char *arg); +char *append_literal(char **start, char *processed_arg); + +char *exit_status_adj(char *arg) +{ + if (strcmp(arg, "$") == 0) + return ("$?"); + return (arg); +} + +int is_in_single_quotes(char *arg) +{ + int len; + + if (!arg || arg[0] != '\'') + return (0); + len = 0; + while (arg[len] != '\0') + len++; + if (arg[len - 1] == '\'') + return (1); + return (0); +} + +char *str_start_adj(char *arg) +{ + if (!strcmp(arg, "?") || !strcmp(arg, "?\"")) + return (""); + else if (!strcmp(arg, "?\'")) + return ("\'"); + return (arg); +} + +char *tmp_adj(char *arg) +{ + char *ptr; + char *tmp_adj_dup; + + if (*arg == '\"') + { + ptr = arg + 1; + while (*ptr) + { + if (!ft_isdigit(*ptr)) + return (arg); + ptr++; + } + tmp_adj_dup = ft_strdup(arg + 1); + free(arg); + return (tmp_adj_dup); + } + tmp_adj_dup = ft_strdup(arg); + free(arg); + return (tmp_adj_dup); +} + +char *append_literal(char **start, char *processed_arg) +{ + char *literal_part; + char *literal_start; + char *tmp; + + literal_start = *start; + while (**start != '\0' && **start != '$') + (*start)++; + literal_part = ft_substr(literal_start, 0, *start - literal_start); + tmp = ft_strjoin(processed_arg, literal_part); + free(literal_part); + free(processed_arg); + return (tmp); +} From 8b1bb7493cd9e79d566c9b13770d3c2fe73a6c02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A8Roman?= <¨roman.mikhaylenko14@hotmail.com¨> Date: Tue, 10 Sep 2024 01:58:22 +0100 Subject: [PATCH 79/83] one function left to go --- minishell | Bin 128480 -> 0 bytes o.txt | 11 ---- src/parser/loc_env_var_handler_utils.c | 53 ------------------- src/parser/loc_env_var_handler_utils_utils.c | 50 +++++++++++++++++ 4 files changed, 50 insertions(+), 64 deletions(-) delete mode 100755 minishell delete mode 100644 o.txt diff --git a/minishell b/minishell deleted file mode 100755 index 85681c8e1a1c3386774b313848bcc500a1dd3015..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128480 zcmeFa3wTu3)jxb@a+}tM5BU6lPDoz z(W<2_R%_9hwpeNFCHg`Fh!8E-*jnGTFRl4os%JEb?KsgtrQ5`u5~t9K zIb)n-oouwq#Gh#w(^sbK2?B|aDMJc$GEkDPh!;}EeC23?9LJQVcb23}e`5Mlm2QCo zP3c4wOu8&yYS@Xy2my{sQNK(I$CRd>?Qf03J8M*XQ)V8o>P_jTqi*`QD184Liq4cJ zdfYKx8ak?rbWR7q@cBhd3RCuLMVQj)lRDv_;aifS=u8;}j-RM}JI-Lbxmu37n$DCn zb$e5?4}LEHW8H%Plm2FDx`)4|_&ofrm|U2$PbSH6OlkVN6m+5&MfN{_n`ypG_cz=; zM6`XHQmfaQQnl!YQ>IU;S}>_^U^3o-fPm;bV7yF>N=U+VA2{t-g zS!d{ZJraLZEAfB5C-|dr8~?JpBfsUG9~9qv<%W|EYc@Pc!#4b|y%tH}gYZ2De}@a? zV8uDkA^1B=!-t_H4S5`mzpvnL6#nw?cMSfb_$$I6W%+kM>|alVkWlZr_zUBYc2kHy z^Whjq;O|iU9gIJt_aksk*^k6uKK}U0!5`N%mnh{mf4Ka&Kfgdr_A~hNQ&bF9fA=u; zL3BP;`^SfAzjm1V4~MBQAEy5HVd|;3q2$>$Onucb^^=CF|Kl+A(P8xP>tWjO8>ark zVd`HTrhfY{^}iXW{=s4DpB|>3wiU(S;7=_ohSKxp!_;$~4b{GA7`@Tm57qwoVcLH_ zO#9P@sXt^GKE1=VcjnEzY4MWkc}wf&*VfIO=iFAisIGF}!bMB#mek(v)K<*{uDbHJ zdGKKhq*cXj3!IwD z+S(p}dNA>X_T=s$JE8t;|Cvy~S|Ul?@G!rU7F`P_q# z!tG`_7wEeBQH$V$gU%Iz`RRW%CMA6{{lEDPcFr`{VQN<8(H$$Vm-diHHT2~WMrMTnc_sb|bFpShlT#y0aQ_tcv>L)=17y-o>* zq{dV4jbja-dd4&JY4p@H{+Z7TPraEl;?{WT8UM^@t*8EAQ;G5kPd($h`E2midt>(| zPd#I<`LuiLnG=}LR!_ajA&Bep)H7C_Pq(L@d4&1&cZ*q0wTu(i767%Wz z)SDcJxB*W+^BDViD<+q;ov2)?uaKwy7*Bn~Q_o!K%g>h@_)-JIYv7acQJ*E6`a+4e ztYoL-BwDuC1ykLLrX8VIgeZ0Ld#Fy0+l%k;(J@>RUPxTBH-*o*-x6j>Np=hTOTr8# z$*lsvPM9Goxk=#dgc(wjPYC=nVTO|A8i9XGm?0$DDDV#nbNMH01b&h*Lq@V(;BOOV zs7THd_#wg!5y_aqD+x0+B#Q;UmoP&@GAi&Lgc%Bw5rJz7GXx|Zfo~>E*PrbFCo0C> zK$tE+*(>nXgz4&&-2z`m_+Y|Y1-_6lU3+qqz~>OAOHV!_@M(nU%9CpZK8Y}0c(PI8 z6A06FCu;;gmM}wmvRvR%gz3VQvjjevFkN>tCU72My6j}Jz(K-v)yb&9pW&ooAzgGb zBJf`c(={g@fj=aCG~xa)QYqTY)IVL&`quS{*7p)kd;4cy5udts>T8KzyP}7{JP!R1 zGT?nTP7WX43=+p-`&ZK7n)dN<(1|nnU3W-3ThQckJ6VzHy>ZPeH>MlY-a4fHJ%5&> zwLh`#&u1mJ4P+z&I}>mHv+f|vAxCoL?qF+yx%_ckw5^|7KvYuqJiqG=cE z>IdArioNZkz=^7;K9|utSqQG~23WIVQR1%q9NjeSh(bx>qh~tK0s6r-XfePJU0j2u z-WuOa)@}8B-D}|~+Li-UljKfBFER+OFg9{mVl9i1ZS}7ESQLPC7e2ZXEo^^gI?!Fy z@_|6Og)7dI-59mzk)*4FsZi-{@%>tMyB-G1zboE{A&Vy4%KDnN1zOAc5*4o{nr3uC z(_F?BQbt$-OxyG>SJwK^Nu=~*d2_vJ{>8?AI_W9gr>R9wM$>W^Rv{DklH%RpaRyuL z`x<&`jrXEOuW9j3-2%$%6$vKnbgOP*JDQ>kQ-o}w*cEVRFZNU?P!II3m?Xxy9!NBm zfGNR5TN&pIODL55s=&BzW7j>X?nyK?L@;i;Qvusz5uzm2XwsfUD-5z}NAY#9gpW4k zjbgl58}-T->^PcFSBxNj2}XhW#V|SjExHFFVj=V}kW}*t1*k52lP^=lyW#`jKv^&b zTH#>*(hUe!#-P>LJj>T@zk8hN7XE_F&w~SSl;Vy zz=d|U$*3V#1_COrk{h8CG{SdEEi<1z6x059#rJ}mePh6Imrcw2^_psn?`_%|5H~?L zDlGex|1G?TNmL9ZwtbM{R&$21ZieP016O`H(UGU!tNUB%g*J=npsvBbCgi>Tk ziHfqliPn)_#JgMmPVt8lW-WxV&39#X>5*Uw)AHdAn^|M*pX2Rst?z@usyUO6%X-2c z1)-^1oBrXfi2s+J9*9ItX6W>IU-*%&K&_1b*9Q1B@e6kCQ4d^un?w=}1`8cpaoo9_ zD7(g5m^+z;lDt;|!wK=u@It(^GX9Pg;&`&rV^}#-+e=x`3b}+NTC{H~CBZ7ndUj@p zNP-nak0R?8it_nezaePfVCLUd{gt>A{wA77J=W-G0kGB%QMK@T@qXnSy#64n?5z)C z54N{UQPqZ-kBl{c)S50(wQj3!nd)*MPK>MkIlX+G@tSJ>_cXxK4Do zJrskOh)~Pm$XP!itxc42*ILb-r5+t!iXZ6 z1or5@_*XNdUVp6S6WIowRzBJ*|D_h`F2Z)AJ~iRp){I-g_OeQPRp9tOw8rHu9X`#O zl_=h00>?DUfN<`v^x`Cf^b8xy!A*k6pith8>TZ81N0r!dw+ZDW?e>Q91N@m9|GyPq zcUI_FOL{%)cG@ONWW?Z5DMYCIBDTezRrNpF%F6ZtijAf%{_ z0ApwN_3SCk&G#qYu`MzNwOBqwwRq09$Q;xnAL%N2JY-vB4QlZZ>ww#uXg@uT>q@l8(olDz{roi4lW4yv4fQ748&8N)O7z!K1CNzx?>*60 zG)Tp)Nv0y+m}oDbVxbj@_Gqz%)&QDjp|y$jnl$u;vKY8YN$n-a>%3IU;XVq#%t%Cs ziH1m8#1)|&$O$){?I^XwB|yU^(x9#G)lF_{p0@r`ss(&;^Q$rjIJQ(bCxO{X@(02e zM#}9iYN_>mc2LLOz4U?mMMl4-UD2t3cmJj$7{Rd}aKn!K2h_MDKBm9l*R*_JD%_&R zbhR1NcAQB80ZYLerSmnsesBPUFxMSwNN_z9(>*SiNN-6g~CtFRumUp2L#`RRyhu+;jef?sv7Y z3D8*m{VY0p(wA8Myijg!-R>TV{VgWv2~=ZpOng)RiTR4eH#w(Bbk5Vd?tnfV_pQ15 z?83c?UC~3yp+@sD>_QxtHos=Q#b5($A2qk-K5k8x+YyQz!V5PZ^m||<+7}-faoZUx zxwD1ON?-^j7(&wkEaF({80isjp(S2^#+U~4p-$GhTR2+LsQ>&R(z<+qYyCjm^8N1X zA0b!4xx;ppXd3aFtkqA%`0u8MXe!(cugDP(G&PI`G+9G1FLxQa(8e0Zx;6TGS4>Ve zS-mSZ7W1R~@th9`f8;B|v;;$=pJvLk|3j<*?kESaK_6i{Dru|V=WYXPu)tBCWeRP6H=*)|D6ql)fwewg`n}y{+tRIrDfseda+sg!cOr9UYp>%h0Uj zo>Z=!Lo*k>G+?q{QT8?uMG~uL_qa7cBxN@Oa(DZ+(pwLj_F%<-0_kPvuMd8D-E9f- z;U*Q^e;j_1X^(qi5(i`RsWT=+kFkya5P-Wcd*ouqpSEYoSG>}@uPH%#$xv2zyHt43 zP~7L?Ds>udd3*gA^*g}%B72?M-veg^&4gPHq3rEjwYI3?1U|!q&v`J0O7ukjPvQdjOb`ADFMhegXL;}^c=1?_q|fo-XL#|`6h7p^ zU+u+4m}A{BU_3*_w@0oP+W-kT>LHtt%TWrolO6855r#83CLKWcAXB^bEy&N~gSGp}Md@g8?J8 zAf6^-^_Fgsb?^}ow*|bBEJ5Ga+coWqBvwDdCLWH9LFh?6@7X~`4maPs;><#*EtP?& zXsWjbstQ|xM92L`tR-{w)E*8pP~%%uBQ9}v0ww3jZLx;tfL+nc|72<3~ z8B{%^OXXZ2&ocaCAw`&`8cC|o>W5+|@ieShXeZhyAA&JS9@fkwTYYoGoD!%|vFi`| zSi%=vz5Z0&KR2&TE978sD%hz>D^>+hWL9cjAYXb*#S7*OAjc`t4n~PV5!`d$goZk~ zK#tpCa(j2wY^~IBwm+sZa=YeWTh$P8F9rMLO4f8fsHISjp&c4c^KJ;K+9z4txz^Y6 z0cnY71V<-Hi@S$M1(ZvinZ!jewFoR)W6U9N3{ccAZV*^{-R&6|P>Kn@6R9iVH!z!bb&*0=_`oCiF#W)$( zX!xNE-c3(1v|Y?4oM@x7nw)Ml7L61_JFEMLa8~K_(PHM8#y*ESLWZuePQ>={$>(%5$vy3;u7WwWzK%(3oh=3h%WevmYocpqlGyPo2KhfeK>j3+jp zQn01cJqGrf6}QB_UdsfZ9CgJ=2c;`MeVX;Jj${zcU_pkNa{D!`!ykrLHo#DEdkA+H zKM6N8K~!qdOHbyS_ZB}{8UMuI*2B{={$`x@mwv;WH~Vmag#aZsYiH}bKxshbLmDV@ zXBsQHlTGyYXQsU$>a~v>Os9kGL#2I_6dLP^DVQXc=mnMpYdK2wkGpCy?la8Tq2)|s zbnct{hBYIj&!{*H<~!#8h2|gwuun$F7L=>lb^kzTLc`h>D`Hn%0+M@loTI(E8&Td) zSDV{NiI*=m4LaXv0B_xyX#LbZmjbGj9Hi;RWW6iKNG21o>%b!-X)r#>2Iff6qfeY) z(cGGr?+=6@I973iju4qH*S#Y$Jqy>b_L9%D_q5}Rc@Rr=e~Qc-PhlDiyK^s;kz+y- zRMNdnWG}MC-|5a$+kH?~7^*X*3f3@azaKkbe*HVWO3tR0tod77?aYllTidf#D;$gS zv7Ba`5VZQ@pX+{#>;*!0>(J*O50yxYpw9(4s4g^c-8ZCVeHWjP>%7a1;(U%>h1`Dk z!gn}giHQBiKXZJs^z$^GjhYg3`rmM`iO$vOir1xL{x@P6ljESpOHy(2!?t3BROCKl zE50ceze`u#Clx<=)V8RX3bTs?(*;t|@=e>~a;bPKU2)D}lBuZhhFb4_FKXt?8*}+U zmH4S<<(DMWmZJ`N&gvM4I~{Y^{dKj*qy8Su^B0zXXB1TKDbz77Rh?0YD_sl(+$I(c z>gC=NO6v)*@c)fxqo84myLzO!E<&)zl}L_ee}R0h>4OvN=l?cod7Nrax+8$5_e{03)kM~MLw>OIQCM= zzj%@NDkSbCDda!A$V!FGG|1rE7-~3B^oes5_KEwnin73qqWQqRWMQwMbaWWeohPMHA7ZwWoUx|md*PH7 z{bzL>O3o5`y6XQ#CaY-(piVSbOMpMb7s2D8njUpCz-|^wDvxwqjG%MmZZtk zgcro-OdC|&$gV`^#c7Ubf+H+M45l~v0t`mUpzlB#`{u?4!Mk;KpEk_&^K5i?t~%MB zq@1lF&}>*sq4_XaI-cFr7salOAwb_kp^2!I5FYKcmF;z(`vUW|dP^^-4aU+od#}4q zuDQ;5Q?dDIEg)k!j!>F*25=n9_AkkfPjW!^E>9CRk50EP^0l7&n#+5mxFt%Nyr!J? zZ@&FUi$o8VVB?tPwe-%l^%w3}$Vz9wjp)+EqnP-!R+x`Ua%CaWy-ASq`K{lJr1XBs zLcfB}#KDP&=Vdq3{N>$9^WO|NtMkd_-R|=sVg|wt|IL;0H*JQ$LUHSMKjDSkODXHc ztYFKIh{Q*J+N6Y|4FOaFnLC=0p~QVz2=zm)i6Uu)pphm^>b(^oOVX(_*~6Wtg-)JF z#YiCJ^5L{F!O`b|+SfOgWQ3cK7lHY-N~U?=RpQPW7OZQ12A_ z&KvvPqs8i&u;P%F!*yFjoe{8b5B&wilcYAC3#cRD!$cmWa!>9?6BAsNH-NghD{*lw zV2J4%M3d+Qm+4&w!>1WJqUWIfder1YX`f(%)wv=7yMofu+a1yy$> zNd81A-?UFhFBQl=5zE+XMCDEYZvc0^Gl|KE%}{FH!4*U8Gq;vEJi8<8Pb#itYNNoRagvJj?pIm`=r7!o#@fvwlZ; zm;;`~Mb@sy!0gxSriO#lMED8=WL#|s~MUZB5i_8ylHx+7xsw$<<9Y`gWUA54v3LbaaK`LQ_f z0T>+4XtX~YUSO}B!RhgR;njaoqLBel zVG(F?#&anAr|ejC*xK z`j?zb%&#@>LP;2hEN8j5aYnfLVWkTFu=P@$&8WlVWvDl)B)vF9Hcw<<%tjJ6dJ?C0 zg`1`-mT0vN_ha$6ewiEYC~>bmPHS65t-WaFBqfdDlXEJs)ou-eQQpn!cYpd;I(rmr zZzP%TyoTpl<^_XJdwzZucZ6yMV8{~fAcahKGxr5hfr7_|Tf{@rWvxbp;}7P5K)V!k zr@I%kjv>$Pc4H(K#@vs+3h|WCvhH2?d$@H)bh1sn8+T=cH$<@mPk6E)$KbIdH>L3t-6k?w5GNxr#z?_lA?K^!@IycYxmzn?@Da z)uU!^u^KPuTa@5_T~)xsA>YAc!B2dgcgcJAKg{tlKfRzruF}UstUZ0sFoo) zCARhAHOgHKAnyCD&wwJJ&OsY`=1_z8-@f>Uwal})bEz9n))1q-O-a(blXC3=K)JZj z*rPW)7fTgKt*hw~wm~_pXe--8+qTaW9AX-Gn5P5WN6}RISvcI}fw&CI4KlqO(u^6tv`yEf6sy3qI%_x@wG zztQ`HemAZ}8A$HX%}hV)tlaQLB5}Pmfb=I(nXS8EOhNbWay_&$)hYrg08_PiI;DW& zbSzjK0|M)AC7dDz?}d^El5x~{M$w`U`Z%hXJSc14is^U1K~5y$7_|H4`q$N>_Tl|Y zxt(7LFXXf}k#>=%C@wncIcY^d8*WzS%r%XAyQzA1W&ByI>uVSS6=P`vM|yI)3Vn4c zY)A!xkZo(`^T*+4JzuJu5_ftO$;q}&0eLm-8GZQT>0+Lw2+ypHKeHnK}2MRv6kwF|+GZcS9o z-VD;`6zL|KIc9p3`!l6N`oc}_eL|`Z#NBWCl`ELl zQ1WKA$w#BIfyC*7aI>s+$|1_&U?3a^bF7kx0#KrE_ZZtRHpKfnWH9iBJIcMA0*`;T z@xeUr-49l{*>JtFTnCmbNs?Yhu3N42HIT%;Z(4v_zLlL_s4YD zMGQSXzCXNLC$&(QsMwffWW}5A6KLRJx=_Ft(7xw}APDJ$2TxUM4 z*FA2Feq>1$*KRCYbg6?DW{cK@KYd)~(I4khom1(kqwM_naI;Ea_fyl!EAf?1YvewS zvLeLO5x}Ko{vBn8q4ACSBr^xq4%*TDn2H~8jN`Sh^!Rw2)jbbt;>y(bxiRbtR!`B@ z`smtZ#4>E{NBTQ%WXmjn%SRuKK>}@TjNc~TAEYJUdW03Fb|ThoZNB!aX@hx3D33tEh`}fIO~klCes7m!t521eo>8i1d*|zq`=eV)=S{^2#z)#c48ju(aVR48W9qRa#vb^7a=M9i;y+ab&>SNoj`-|qXalm- zu|Rvs_|H(Ha{;<;Ohm^pzpBQd^Lp=zj(7h6?bTx+hkMQ#F%MEA(2hKK6Q)Kx7h$6L zao7G*nV~$Z8V{Tf$2e1CfQdqtRzdG_ZUJ}})hGu$XKxkUtW1IEpX3vv< z{Oxg0%5k<0g!DUA!{<9uJD=E3;WXWS8w}vfko+I`=F|%8EY+^ya_JtoRa(>$P~2^6 z$khAucALtgwgdt9Qq*w3Z6)$ulj%Oo<3W?9*J4XPHRWC;lEcl3*?HrS%$Iw*2(}lS zUI^x0{tZ@^%Wx&LBC)R8Ok*IMDUwq8SQhg3jgJRHm7#>y!M=XCQ-pc}qVrcrR@e7p z4(1Yy_a2~JtP>^gJ$>C|WI|f{rVxxaRwThg&h5S8^VN&Q>MbQOMwhQqBsy;~f^VSU zal9A9IIZb%u>KRo5G)2f{jk)uoctmbikzFGpY#`AWB*qV%Gp>UxHm~F&ja(e%yARn zib-;!?}MlvYTN9$6RTH?46mRWU(l-(m4NQO=Vh{b+~44$ZTZ{oTev^fiLDi14_TyA>bKT(@TFesBW40xLtp}sIehy zrp@OlkMbX%leLk>y8!Dk7CB05@%xXgZ^eLtEpOwB(EbBL(SP7wKA-^omj@?JEYyxeFjc}t{M9TAyGN@|1SFa7k?z|TZs zX{mCQRK2KAd$oHB4eiy^5!7o>BA?O&-eS~8fiiaNFqW95-3Bp?)`s!Am!gT;*;7a_ zc`3< z{$&X!JJToOiEd#(R z$3>EE96%#0_5L_Qe}m^wNg?aE!$z|Yk5MXCXE&Y3+xWDRE&cA(Pk`eXufs-^9~pAV zI4rqL!ke2o(0!78%hMpMm9zPd8SXE-XybTtnXl>k_6OMS$)kpYoo?x~2p(60Z~F8H zsm!COaHq0XIHgU@tPj2)JS4yUKW2Qll&Zb&{cL3IA@_N7tDibhlDenRw1AWw)ZA(vO{t8Rqu%ffU*!T$?CXXRhijD-#NiI}0DgvaB+24ehLsR62 za^tzz?NAlns6bmBHXw0ylX9e1hDtbhxgm@5vA2H&S8$LP#qK=MhspT-ukU8GwNL&2 zk>32dy6YKGRNwVmKqLJkn|;M2CTsoZNX61m12ox0SK~l6`uAGCp|7z5_V5zSH+_&6j9*#G8 zqX-Liez4!y?v-@AGPc7(ECvOBZ~FQDA>D2q+v&+bYxTgMtP}Zy&2iZe@y?d-yjJ4* z7iOUxgh(PwQ$5s6_lLV}1HxV(a`AR8mOlRU8aL}(>!S>-1UHFrTY5W+gM^z}=-5C2 zmmBWL#eLlt?%`><>4Rzol_WZ>I1eGnngdn+n1jB9FeBWoR73{qrUH!jILlL2EwiUB zwiT9vS7$1U`!(g!4_;MJzxlxdi*+&?5&g0zeUszkaC203j!L{SV25xwjyvU^H}5Xd zn(SQ$?J3fB_(RyC;tB>~lVYD~7^ufIc{H%P9_KmijpyHrjjsJ3rd(=E6)&twIWw@E zJCDDKnf;II6N?+m{Wd!YdQwzaEz@ClW@@QAu>E%2Z@?wcNbwM;d$?TFD)g$-TNk)T z_}xyEO?G6E@M=ZaOTynn4-}&t zzgD0Py#uMBIinxo!qezU(v}G7I zC|TsWJUa(I`{Mm<$_w@GjDO(ljK41uh^;*Zj*ZJdfXSN8w)TnU&ZYHv+-!q9KvpZ^ z#@CF9q;O8Fa@ru;+}QU>qiT)pnc-v=M# z5*hw*01r8O#Xa?U9?=5_3`~aWUxF(B>HSvvu%9M?B zI5{p?<`ha0t@PV;Ac+I7q4xX8xzg{yQZ99q#Jsae6T?%yBC)}=jfB~sobL0dhynHq zD$~y(_1pZj*!mZocYtlb-21;zM?iG1Eq}sJ_cQu9o1ZmLlKJ4=N*>mWymY)IT>P1m zo$f|Hj>gADDxNe6SLcOkAqyd-ST%efb1iSa!Ii5$x>xgfdW63s%3H0GJU1j@ z<%!`IvkudhcuQObD%m`yXBx5`AZGE3cycH)PZcqfE8|HkAj9R?;{AC%*~2|)>foTJ zWO1MimYDA3J1{3qdidFRKR1YWexr7NVNAYAI7-A~x=ci|dneqJxRC!j24WW|F;K^? z^nPlH=f%%PH+DabHxdqfcUy8Wn!0{(+ntL2U-C`mu?E~RfY8w(12+DH`zQXG6@!9( zjNo(iBV(+W!!g`2M8Y@FE}h2^nVlb4#YC*vcX)>rB-i|NcP~@66!$h`^vR z+`^kAiOyT~s&Q}U3^AMd73x*;tXkOjF0V8#eu5VK6|EOgikYmt$0md;jm3ezg3wMy@)!+5-dN?eP`4BQy2=R$=pXb=Q9WCGe7pxcR zcfyu(WD?;C&(}!tOrsP}t&!rfC!}~}lN77BO3}ifj45qh-77_liz3mwx?hS%2Bdi2 z;b>a7githZ4L2{K{Nr27feepdT_eRKjZ!?eMvAANkm8w5Qary^iY?tNCTxj;4J4c; z#WPem+d@%G+gf^Aw6^ee zBxEd>;`#AXJQ9^+b&(W!dtUwi)vow%YB{kQx8qi?jtDY=U*;-93W;CCie>W1WtaRr znJ{CCuIlwVYqf~CDxJXuP8L>tkj=zsd0J(9$eo6_8ZzR$aRV@&RGO^{L$>_(+Fc_# z_5McpL8La^HpEn8QvD9n<|ih8e=)#;^PB(~KKF+b4{$wpt$6LhAzSjrPMWy7k+KE8 zK@OaK@zj$`tH)ir`0Ox5E!*5o#-8+hxt{oqcr5uig5^LYe6L#A*dlHFIMdxjg>#?Z z^g-BVvXYcTI<(9U->=pVb$9L z{aO$B{V&LuPHXX64s58;J_dp_O3(ZZ$`6|9l3>67=s)$BpZjNlaK-AQyJqxc^Fz5`;K_+vJl0^+Ky}ysqDPE142U%hB*%gcbK(HTYS-FW znd$+v+@61U$mOQ?XM^=kH-IDyOGqY2D?a(I)wDfLvCof1kPLwh5@IB5SW{z^OjuEf zFQ2>bkQ7Qkc`13Bq^pSR{1w<(Xq1BPpgTqtKZkjgxq}$ znlua=QDOE^vOi4I9|sKV7v?Ay$c+NUPVq=V{_!Ft>f7D^hlH8$hJlv9SS7ptI7U^+ zB>s0NuLOT^#EpykkKL;P9PnORGe>Gq8T{0GbiF*42zSi>*!`xkV@__DOtB}wKOph; z94Ck)x=_($j$l7!pW?_(o+^^}$>r<|1c*gY3HMJ-snrg@4|VilbntxFVnBWg9Ie>7 zZ@m_;=r%iWs6^i}^1SsfVyso%csmDTd`vNTTU$LOfym0P;4I@k`sFS2pNVg@KMW1B@Q9kveKtKfyaA|`Rz1UyV@%h*5s4?df<=_M@_@E% z(5x{?xbVye@&TT2ddwhwe1qMi|15|P?|N?Wp(UPW<>?PvPB4>#O8pZBIAYAec=aaN z6?<`$cwhx-0&^;j)l&L?JHm5bQ|!@4zk7ccr;X2B;U?1^1o$=~-j#x)31Qc$I>AGUMoLCffyAkmHa)#OL)@%2vCyFH~j=416{AB*W;H;O^+Wh z$iTi-kKgBxS#PAqHI{;mz?FY{GJR+I0Qm;lGoLiK zlXR@^4|Qo9l_~c9mJoU#+yW8|GEi^4P)YhnNYpTikd&w4e$!KaRV`?-(;u%Meo?C} zXnIleo}~K>+%BZ(^_Yn-+!+56v+G42%EKSv6jT0jIp1RVljs8biRnu0E?H8?3&3L? z{7_Yw);aDbEbkpWqGuF+uZ*U5)$ps1-Uj?=-`q^8g!gz=2}frW-jyNM${Z&3=))xA zh1D|@nh;Uf5W2$=lHE?}yW69**x-Ek-_)0~9eJ3-b-5h|&tB*Z@29NLT4JyblPp-$W67e4qeguNNQPu+OZ@1qRy^B!6;P_t1? zk0=HPV>HU+x$i3X%NIV4Vte2}#D{BV0pBT0tw-`!nH1j1na~Bz4bERVKF_^otnGfa zr#`^(m^VMTU>h-3wSJ60!EYJJ3-P@e?7QLnP6Qqu)7@zw^ZOxv%1Ew3;yc6l*%;hb2G^4ecsh9#QkhP6u8i*-+zDNkuuN_c1IH_mCn7O0SwU=t zUavzqvTHbC^X@#~;yyi|et%yEn`nJqJr**%TZN5Yr~nJ?7ksS^=@b9)JNelqnWCZp z!8^JgyLjw=JGKIQo6qGAvp2CqgjB0Y-_WBJl4>Ct{v3hRJPX21T;3!^$FKz*An{s- z=g}?ydTZ({r@!OBN64QKq5GPSM|u$Mu)Z-RTajv@Xcx>VVCYWT0HfFYbo|(gUY+ET z_yPvAH^@M@YQKUPHJQD>ic>FeWI~3hX#Tmh19CHF{HpJ6Ohy;G0Czg>4I;|}{3(&P zvJLQNu$WWdS`mLS+{E-0t-3^phhTp%u8hBEO=GIU4n2ifLNGErgSNUDk~N)5i)$$EUB$?YHnNL z)K@R9taBDGs$R5oVP%zbbEU%epDi(OQW zt`;po-?{T^Z>nEhSzWg@x}-K*S$*rG+9lP5eeIoDXJ3(UrZ^Wbi7u_LSQx!=QB@_| zFIZGtSy8v7_I9TlOllWZL=C%WZRIWXz%Fp=mMn=vl-n(8sdIpEjuFU^J2jQHix(|j zx@bvtbU|hHBJhy`pC$vEA64Qn0;+D&jf*O4ErTUBb)a!7YipO(IycN;y7089lenZT z?o=$m)g`4fXI(kdnN;nJTYAR0rFjkpd|LE)=lIj2!wxOanLK4_ZN-%Oxr%bjw zp0{w(QW-iY6ui~kcrNOf&cCVhw5Y0&UNfoYx@)TEFRr}i44LNZqLU|2zD|@blNy~= z<1DDGsG46}8J*Msd&u*HXB<0j>9KjvyfdcMFRh(&!=mabkliVEW~*M=69Qy=Zv)fD)(;}F_34iMLLN}>9h2_RbfSAU;3E&e_sAOlZzX!<+v#gvi8ha! z$^!@$xvzneP7U$jZ?C9qdkg9dJ0^&%(dip2d$;{8IzJEZD9|l$K(+~OJ_N$i$U|G*c;S=BHKah>G4dkZhRm^!!13d z-d+X`2%weFhw_dILxpC^5BB4w7({A8E5c*xDM_2Z;h=g>kHc%6N)|suZ+l!@hW~aw z#^f7^XTY}JUa0xCpuHHbUN?|c=vDpyKV63Q~<1RoB$lNyxSldsgDI zvoDW3vo4qwcj6b%nK$R`%bd&NGcUMo-US!yi%Vu-p|8%KH7kDcObsOBXm`oE&g_dX zy7-bSFGi4ZE?css4xF7*eqF||D{ikrRH45|&cM&vwKpkv>{-rO=d5F$vyOLa7S&Wb zXP)WYM%Vw{D9EPNEv}ieuo4k@Nrh8eIUj+!a&e6_WkKbwQ|jt&cb3#tRy!APG*Jnj zr$tRn28o1u#MQ}pLpK3&?R*5o!FV!_-crA$t`eANZeC%2fiq)yKH zNRaf@qWWu<)p^dOlcrAp>hzLnr%W$###b+@n&1>S;G(_?SB?`nGUId?cO5q4deyC| z)I{9RU)PXIWun}TvIym>+f%74Q0_-rhjR3tsno-)NBJDeJt*HsIb&HWwGZXQ<*C%j z9PmLo9c9&Bphr35ZqTEg*a&)*rTD4P=TL4$`8MnE0? zuf6GiP(s8BFbx@1U<^#D63G8{yykYR-xR8a>jbl zqnwCG`}nX7i(Ew*|k+>f#V4^V904SJNz-T*zy-6*S2uKNY(S&wI; zHlp0$4SJM)Z-E}=wZ8;C9vs<^aw5vAUx6Ow9+Xvt-v&L(&A$dc%87U+WH-unDEmK`-c0u0y#I7W@J9D63Fbp-l z7xXAMqwGUDLN*%`*GjsS)iD7#MTGSyt$cLxdGx0aKCY6fdwwf~{a^8rd z3&Z)hg&Li+MxB1bw6VOWB)qCn7B5YuDp_&%h{%1xa|^SB<>*o2SE0HQc)qb^@fn8( z*nqNZB)%?{T7=T#g9|MEZd7*zf1VG2w#E0czCM+@%!etYZhM$d^zxM`tYw?d==?$OQqiM;kzt;74Tbu|GAN@6!z7P0r;FtUG4HnOL^@{IErB?dzEfzl!_$PpG^5O5Y_)_2_i2GOj z@Utzx3iw&TU*f}GXz{CnZv=k8hyTRlHv(V2YhnIQmI>f_$rGp1wPW4N*(XRA8YYdz(?;%rLOn&f0Z5ID&Wh3Px|nC zEq){L#rLLCTyu8*=LuTY$8O+bz+dad2d}jBeZV&YANS#77GIEw@d5ugAHLt>Cj!5w zDV4g^hcC7GQsBFRf6O=jwdwH#KMVO8*SVEHc)z7z1^iav5iZjBO9kz~g*zKH{%9{A z*HQd+0k;FRL-__ar~l|fo5+2s)Eu9Dms;M8W_pGpP1_~3pk-$dYfk8KVaTK}a4 zB>z(28-f3`51+L3Rpj5AN+F!4>1UI9^k*~#n-AKQ2rgj4**~3#e3q)Uf>fCq*8Nz_{%N- zOzbaK0RK%N{vnGW3w#Lqe%yyoubY{`mjM5BAAYB$UjV!d{M|nM9TwjVd}2*1^|}xL zs>QDdegODcKKw-%zXSO3czkY)58rO_dx7r){&zlnkHzCnFK5L=snj+fezV1o1-|4P zsnq2@{KXbO6Zi(;zvsiRv-kzThaMh&ewu-w3;cyX`naWE5Bv(?&-UV#d5Hb)0KOgg z;pE>7{K7|4srS9~!T)9XXJUU>@@Oh`WB?7!y3RPv+V5E6znMyX;iDh0^fQ4kTKg}? z5Bvt;PxaE*3AxD6fA6#l_@jLNA7T4nPyDyAU-Z%kFR}ga06z5XRBEjc{|$@Z3;YV; zn|%0m+|I=QbO88jAAXUg9}9fqJHz|^nZU0A{&^q$CQFYyEzbCL!|S)1_{R`8eDrHA z{d(Xx0Dp}SKgZ&C0M93#hnv5>#D6!Hdd)|_!_sGBf4vs_-JkmK&sh9e;7gtuzWe*E`Rsh55D=PiCc@Lj-H`S3Sc{0`uYo=m0g^5Ji{ z_`Se40Dqa!zRIk9Wfoxld>?Ta`BB>b4+@e2{p(obpGu|H`}jX@`OgGC@pLN1XOS(v z>R#v<0KX9U;pVRy_zl3{@1+mkYx%DSzUV(vsgHd4_bq-0@GkHPAO2j6-%I)pc>cqO zzt7?`alWwv_y>IWR*N4C`~dJT`tU!s_?f`3{Xr`AGavrP7QX=a5}af3pM|&j34USm z&A^ZUQ7XkJchmT9S^Rq7Hvs>v5C21p-$DL34=MBV$G@$>2AsdWz%P6zm749NSBZzj z{}JF1{JTE`XB!1n-um2do4q{k0@(N9yUANlw{ZTV;7d}#yl!^QWp!1n+@#Y=y) zkc)n20`CG}>ct1oxBM3XU-Yw7YQ7JDt;IJ3zYzFZAAYgLuLr&h_=|k_^DKS`@chlh z;o{3)_W#`Q`B^45_C?R9Qh)UE@3s8L0`CGpto;MO;)PV|1t0xSEd2uD$G-^s^x+d0 z&tFWL3w*Z^|8t994}7RSmHMR*|Axiy0KNx#bC7yb5p1{{vqH ze4$VNkd>c5M;qEYe0*3Bd;<7Oz5Ijeedi9~R{(!J_P5r5W*nPA0mc6TzxI_>>OEio zzq9>k;(T@CtEtqRHvb1cv=it5UjD&0 ztKap&Hvr%2!#7*}4&YtjPxIpI)AH{n|6Qrn1}{GNeM_H-L%_Ab*ZJ^EEPgET1He!B z;uTtrANZoKf3g07ZwG$3eRDJU13%u&UxgRpzaIF|Ys34u9l(zV{yZ;z@N6spUf|~f zKWzLz6zdoG1|R)WOFtI)@vmdw?z5kWwV#>9|9trPxB&PD;2-kwUv2p}13v)#KYjRr zSp0h6dvNZ)!iR6N_#MC}-uM^!Kk!|^54-+x;8OI9RI0_tztQp^3;YV;Pwn&+dx+R`roz6bcXefT#mo`smNH^fQ6)c^mwF{jak9FChP4>vMFoznm{< zQhfROQUhOV;7bjBsevyw@c(-aL=K6`7<&&^B||Ddll6sx&(aq-x>275fUkBRBbI1X5M`;K*J+NFC(k=EkHn_3auq z<0w|m931t^$MpZtlp4+%I%?$qTwx_n=kf7fO9L8|}5ba|XEPtoOhx}2lS8+CcBF7MOjqq=-rmoMmY zr!L>o<@>t)yDqc!Iyg+1$LVsgQqDj3+|#1tXWvj?T~{BSdeY=+lZz)!tru|WT_>G1 zxp?{nUG3;bcyPY@rs%EaX-+hmJay94Qx(lL=T2C@GQN=5LV2s9vTw9;(z6 zda0`W(k04ci<7qqlTDiV2tDq=oNZ(> zF3n_|kI8XlLOBm2ljFz)EEimy1!z1+>oAZ?Jwqs;I{wj+IP zj}+PRTy&9@nZE^G^S9$GFN&}1K*8H6I#VK>V?ROz@11;NJ5KLPrP395muwKoN`~Ga4K-eFR_X73diDUa%L< zK1MegN94VW%bd)DzoQt3Mj40a9gZRt2$OLn7aXF_K~q?jBV;^b%P7i^0#R@xzFtMM z>_ZE0Ms-nkWW-iXD+ir@Fo&`ogBIuz3SWu(>p_w|65=}fq%Nq&*8u7Ru|ht3Gd^(Y zh<;2Ii2|pS#q+olXa-sE#}5QLgClnH0f9l_OwJ7d0ji^5Yk{*cGnjv}e*<5ypjBW> z;Tu3l0~1EHAA%>a*z82Ir_~F?iAKUBh?_+AUBC%68SI^c$xzsTqAGBFKH27vLBoQ{ z_4-}n-@66zX zRo4+3#ZfrHZcV-Auo$_*Met`K0>^l`9AmifVTQml90a&5oX2)!{;Htzg@ndx+}tIE z#u4XaZPlEM509|}^uT{KCvbXzjVY^=?sT>Ww2&4RIQ=ZNK`-TXYM%)ivU}P087my2i(k=r6k>_2cx=2et_dY_UN>)cJ*C;tK=K^BO12W~5ReCAc zy(n4BjjY1=2E&)u6sQos+3(^yCyKA^K#uZR*+gW2imy-*U2s(e56zWT6^!Ijda5VL zRh38S1>&m8#i9;hi7w#WYh;#=(9pu4v+XE0rQ;WC zJMx#R<=kHrH<~@dGBo$zQ8B{kYOY6E2u%MCXaQASA&}-&Uc)&(g-y}R zTB&C2K$4#9k%hm<5FSKzHj|!0hNeq7MkYOlTn7{=n@LY0lOBPX^b|G%;yALI^b|7b z5r|1oAuU=UCOw5rdMIZ$lb%8*J%W>@C+|^oQE(lwGqQ>bne>FwI}<6VkV%g~OnM3( zv=N9&Pa(}$ASOM9OnQzX9h08I697#k#H6Q?NzZwNnDi7f=@Cehp8QcjFzLxWBKKVg zl9QP~5jEq`DD&`KmGq1tS&jN52mq;tJ?cY1d1hgcW>@+|99N> z5$G~IkbMWZ{F7oQa_+`uD3E(U8E0u9WjdUDOpMi-k3!@P8506*708FS=qxiPFhBtk zXPGg9DUef8u4&#nHU^NiOsDbK4QWYAf0>bB<3f-!W@lXZd&p9l@!+PrFJaq@`W4uJ zS2@Ab{Q#YU-eY4ZV4h=D8JKenvDJoggD|evjO*m*(QDW@ySal+Z<$O9M?^G(YRhO6 zv5y5HfqU2ADc<8#P~(iK(JhSP19N7uWh+(CAS_$S(vGTCRFK1{pZz<0DIXEmJ|aRN zaTMB%kBHC{PawoiLWDkoxw-g=2z`V=;v=$YEy_pau)myX_{vf%Hi!M>Fzw5}1YgSc zhqdpI(D%PX9DTp-QG9=dzW-5ZR(yYizF#2v{zxMr&X@T92z|dm^!*X~eu3!wBlP{0 zNqm2VzF%o(F{T{aNoqketkHhHd5hvy|^Yh>Qq|8&NV{k`Wuksh;z*$b#@Y8%+o@X zvs9jT5Zgma@m9f=4UC@!71d#bxfd!%w4Fn|EZS8D$)Q zdB;JJLqmB-N7e%3Np0S-6z%(fzCrw0Ku+Y~Z0sR(0Ah0+ikt|DJoBbzj9C$gOb7UF zBBy7JSrc$_$Voef+#ljP_a?M;a-PLy_RGYfeg3k;8uQ0SHUT83e2Niy$w1>dwc8DJ z0{eX3K*gNew*X~Am-%;MY7ec+pBDLV)MP=3e1u9T(hF!T@iPD&7RoP)yw4i^<)23U zpKx^$Tc3`eoXCEFm$UgyHjm_=70Cc3f}PFgc?LR%f*lHIG>OlJU{2&rfNSuVU#f`D zPxp0!udfSz#1{$iIUsz4#B)d-&A%i~e5sH4G7?{emLk>VRLN{WrIh0e+V?F6n$6>Z z2!G}DI4XLPVtiGk88tUi*Vm9S-;KDQ#MhD4cL8yOl)sSrjO1S*c^Wl0vZj*sk^K3Q zO@_XL^e-A{fsBLyI9Vmx-2@~I=1ss)k-SEcS4DbIb0u3;le`zu{S;=2kn`Wac$>{{ zSIz4pe@4wsY;Y@^|HCxDjnW3ul4~@-0k(iP2a%I3gwc+y!hM*}+=sG{M|aaeS#Z?h zMJPfAMUkU5qXOoUkqLm^spWiv9~j zhcy;vMMmNB0aO*{ki$V-uOdjq$$1>rMFHm?EZCs)DkL%yItCj4i-3&K<>O-b#-98* zRR&E(vql8w%t7)(jsJ7~KT|949oiS;z^l(e3*zT{-EFSH~NSaDn6BWKY5V zL0tysEN07-RLeTKz8gZLhq^ljVt-Di3h`MyT+V(MUyK-;N9Rby$Q&7B#JCaNWHMre z7^98@lT7XwLW~$+CB)rAh!H~|MvM?620P$!W;DczArNL{Y={v--0Q~l%B7?IWV#E*#JTpU#7y>b3gg7SxF=B)mF(iyLVuTnm zLg+7p5hKKiaU>x|j1VJ+Kq_J|A!Eb{9+9adMgUD2F@lF@s)&(G#(5)A9d+_`#2^_X zMzAQ01IsGLS7sCy*@3JXxXwNwUko8xhvrBK$%=#+LZmT6NQfasAcl|-L&zO$E+Hg~ z)LGP#6K5yl;*1gAhnf9JSQ%kV8{dP+$JiM6AWY54x+XAZ9W7yWzy&&hW3U?jqlkgg z1bLh%$0DQm0m?!)eK(9faMTR+325$iwmh0G0bLki7hN%U2=baMWLuaMGU&OdOSn~9#N!Qi33(-XFq^D#L+5r`U; z)03}KStlC0h=-0d2#q4-1Y?@lZp*WP*y(Eh3f*+J1eY4269|X3 zy1fxDFsF!gGc_FyDKPT~icZNgld?EjpW-V!2t^FB;9F6hUhq8bOfUGW3E2fNkX`WP zoL=w(*#$3^2j)!jxOpH=mk$Qz2G^pEFQG$vzV-TxX!*AUqdW- zX>1p~Kz6}DMn-DElUg4aWl>em2K)t`Rj@f@t`}m?s}5G?+OI9*_7h@ghnA)ytSbU@ zs%atz2i5{BcLwC#^x(&(bwsx^G$!wYNVE4S|i9Du^+BD~=KgM?R#oL>@!ndxRJQ^B4l!vYP!$}$jZI*cbEFzmXY9fay4A_3J%ggb(eHS=a%=X@Ps z%3wm;U~*|Nhe1Yhp}91ecL*_O%B8`4K!^sDOM?-J29ryJk?xo?<K( zE)9ma#>HTAX)r%0M1#qt!3ZP|T6n7n0qF>zq&VrHm(}bEaJ8Ol&O1lgpe*AR13@CF)PG#v?b?90szWGcA<1m*2tw zD)8(PbM}61CudHM0Yb|RQ*+)VRTG%=CmPJ*0m)<}IXZkDS|S0`ce@BV*|T(e!wHWv zkZw%i5nv_F5$b1?o%}btp$ftpxPgT)C^EoUT6b&?=1}YE@G`|rL#~{x=Sa_l;nACmlUnJ`I$IXY$-bJ`I$KwmkQcPXiT53^bQNzd{4eI3hzayuZfn%nlXL_N7!o=)_WKPB=-TwEME>1e^4K3aAq;oQQ zb&D&f!~mkroN~6D>#PX`|qw$Iba z3AA;~Y4m3hX^s3;0J$^qr97rG$V_FB^daIg#UR_zrFcwbkc83(Nyr)`JCG171}Ts= zNP(*VN}33DtqIk-Rfx4}YuVIVl}&8_ zS{ALr4Yk^)8mhL|rta2X_5b~zbMEsz@0<4x3DJJ~U!pwkbIx<`x!bvCx%b>V0YeHD zFeHPCL}CgD)K z^EN!(?0+xbvk&0$8T{v)kL2qPGZTx%6dy^TK$vhssJhKCcjo(e)RVCHZam`N}AoW8`y-K)B z!YfvFpaR@D<~~vEd_tb@ttc?N=ZcMWe1h55gv_{x^pR~s)b~{^oV&Ty9I>_SO0w%I zW?DxmVALPuJ^O1sDlqEZC5*ZT*+NETy+TG6C}30;9x|#x0iy~OFeJmZ$qh3fTU{ryWQS0!blu?_3DP>d=uH}A2$f(R_ zjLL>(xG&)tm3*BgyH{XTCJq@@pny@|$#1IlnAMfxp0P$|GquEd6CXY!5np2=AGH!$WyQ1ES1#VB*ks5Qsb?z5}<`ltDlE> zx0(4?Mk1zGa+e$>Sc;zpDYr4D#a7YtkFP!h+c7i+rm%$7uLA^Az&gcsPOM{s`POR* z63exo+c-gsu9g;M?f}KitMIV(I$LLxJ&GI!6@^Y>TK+b?&P+7aa4Iv8L}b;_=M;!S zr=}11&-0rqCg#q(fJcsNEmRVz1$lA7Qd4W_f(?SS?8Miw$JyVq6JJ9YjQu7%@ilb8 z1fr6t*$s#_m!0?;x?loPNz}Z>K~xeoZwJJ>$xeI?T`)H+%KV@FkO$Y*Z4-nVA-R$X$TPF9631`5)j1apN_N z8)u^>ZoKAWcoV3Nm4DDd7qhwy)+Fml+<47b@Qv)DapRdcll(jI(75qDN3}V2Mhzo2 zxS1bg+;|PWcp=ZYaT)!?{KmNPny2wiAc-5#wV<_+0To-4A=%6i@yPuW4-E;)ACdx= zhXt%;0gf#sB&0?{LLea|B&6mW$Z;W|RbUG*Lt0)IxVZP}i2Qgp`s4ojDnAa|6uI`i z0@5Po`|)^L(Vpd$VjXYeWSbI;!SCD2o{dkrAH+FHMGQ0%^3s2XN9JKXv|F>*tvPlp z7el05bL`e%5n{KBCQkz+-I`;!3MAc{3A;5-M$I?lfpBUT;dOz5;@&1i;gV}%ad_`X zCEFKhXKb`i7(Kthk6zp%W*Z{bL1!m6RV6m-6r1`05_13L>-ddL6^k0qge(LJK{J`{L zOQu;aHy*{7OjAqJBiZb>UnQH`l1XV;Em~)rhgda0KXXq< zZOPPa$T`z*NK>pcvDlJnigke~*3%U0+{I8^GRfR--|)kD$L2u8%-uS8;s=BD;#~BT(S_&~*r1pH@PF>$93r;Q9!pt`8Rtm0jId$r->X zyC#%f^CVo;hDYf7Fq^WgZk2FaXL|6c;O@wvRoN=}V`NbljWf6HYGoe8`w#G6DmW8x zI(jMYy}J&@;EjTD1;%yNLS@=RHtH)cD)8e;Xo+%4v5sp{P8>FHpe5=bL5uU7aXd1AgGU9$kwCIganunC6vu2r)W@PY1UgD_G$D;s94sPD z68Z0;%lxD_jvs6p)Q5f5g*JS0q4rh5`smXa7m)E}`f3Qd{X6i`2Bu6irl}b}0kkwQ z&3XK{gxEllOJ5+w2Bx3JH-V&qJ~>4Vj^xvLb@GozWRs+kbCv&RYecN$P8%LZv(9A0 z>tBf{qglD*8?R@!8il zg3xJ3MTdOJZTRNpx-9pH0xEA|T6hZqm6eXlYgm_ajmiK;b$pf7rS=ia{htAqcah3v zF%}Y1y3F!Uyq{lJ^CR0RbgxiKo(-=X=2*vvn090AD{LbBM|x|cQ5w1wYC3+sqr{cR z_zebieTF%2WJZ+IDW%*brI<=d3UDX$c;Ah%-80Dd;Zv3E4qAPlxvT&>Ncr*&IivK~ zmnfxJ$063QUeC5+Vos0&sEY&|;>QeJhcElIygccubQ5-dAzVm1VF50Tl zK&?QOZ1~oDaqtb^SeNwAVy5&`hm7*K3a*3%(_X42WaZtcj0(+54H^=fmy!x-N)&ng zGJ|@*2K^kr+)6OYzi)jP>)@XoiEoLtVM`oTf;MbnK0w-rEhTM`ZwMzi^lGWvEp+I- z)IKBah9}l>I*Zt*MXZo_7NLt;*(2y%JENQrXKf~p6nO@gsE1H;u!O@A9xS066%RoU zmdHYPaIi!m^$=L|3=7MUsvVQABcgr>5MIokcJa=DTM?J&C#N9Rpwcg%X544Z`{5Nj zMkm32j?(2y2| zpCB~zJT@zN#He4f+LhAFuh&APMoYO?Q*X3X-wRTYG4&;3op`PF61 zsg@?K%)NMI--8Ej&9Y7GQxiZjGBs#ZxQR{gTMqBbCbmGdHDwctZBH3E#Jh}%y1E^WD}dGb!fkOvS%m|ZB5z47KpZ{Y+?&UTT?c%|BCtO8p)pF zX9)#cF)HiY>iTib$pu>VMdI>N};fr!IiB*Sj>0^keA$OdHgF~-v40U z^ULy{Uy}EH=EVf-I-QgALRx}=I?p0>5g{+xVDy$=<>>y3bmxb3CG~u!W}QTw&9_pz zM4T;PDfreYr7W;gHpW@XDQudTY&Ghi4@#-w*R^3OLU(OR?bo{6i`Z!=CDi`r^O$q} zHmUtVqvysZ)-jh~J7fGTHoBN6omMAZ2;MAt)Bgo}86W9X&}2=}$V$$Y%uYcg4&Zf! z&H?x2C}^lmMbP9ZXarL26bhO&cTLk<@NiZ+%Q1sI&B~;A;*r^lM+J94N~fTabtKXf zK_lx({}-Xa9S}$aO`5dQe~(Az>v*W3(fvGss>J_wfz?IO1Z@&QBl~&Hm;oYaB>qpJ zz^P?#iJ+1AKY;?LR-nMCWlcrU$bO!D6G4;a2~%}yar*STUKe*y(gtw4cO zD^TFn@)Vs28j1glqt+s5B>rz2p}?sXNS#`W2^BPX6*QS&0i%K@uY#sVj_2_@jbP7L zq>Bog^kRI-wBn(HMz`-$8v4gZi=dIvKY=J{WUzXWMFmZoxji0*ihJiZf*M$df@Tfa z^_;U*(6pL>xoCZXA5TKi_>R>2bxJDM(a(9&s9Om#pBj^_ILus8+>JEu0jYt~MArmH zs9bUopT=*1IzLVt)495ZL+wU+R=X=y#+Mn? z`x)kHWeITbjMf(en)mYSbulIux{Mu)Uq_I1MfzN4bshK!zujPTyQHo+8r1m((z(f? zjUOV^K?s*BSXr*qV;%3~*VSQ}LTNQqvrM7npaG$Dh0#?hd!<30UnQNZq?GJ`BexmI z*(}ZMJcC2j25M=%WHbPtf~% zfJ$O(FZC=lcXJ*y)E zK~B)iHxUTgT9DTh^hrHIe-98M5aa~CKokgaf?gmB1UW%35Cwvqpyy762n0Dn{~d<|b! zAn0WWDZT7~jTV6*mmLU1fgqP19D+Qm!3h$Z!@v@5;Zw!N=Dik00_rR>=lnVP zZR0tF7BHU|cht|^Pyh&g$6S708e?J!G8RfpNr{^PQp!>*MPupDeqKxIl2Tfj5od^u z-oFNPmy&Lm)SiTdY?qN8kgQ!+!7i!bR#p&|zgc|39u|V50Y>g->!n!7MI?J+SY5fs z1F=&mwKFeU zCZ!03+7Ik!+6}HuDdlQH)D@7C&19fhhAs?OJ>xCuZxEeH(bdXaj7J6SPD>!v?rdwQ z-Cs|LlUcO8K!J8=ABNgppg_9|6lizWFx2kyO(t`SW?G4MzZ^6}?JiKD-31D?yFh_< zzmfUqMu>LrCloAM?;;dvcY##9UyTnsnJpGJ!vmN)nJx4%Pr@~0cr*vmI?Se%ImL#h z{t$5Hop@AG@sc1|vKA;%@%&3{s^U}3ZK2TK?~^mVM}-V)6F=`_n(rEN?*lSu(} zO%R%8P$$)7Y_>rvYvvfV_SH-|*Py~55Sk}YV*lfJ?I$?@t!PJ*S1HiJh%Mk(FWzOf zOkQ7LWl`H%OuRa%tp*yeW@^+{W#MY8ZPx*&U89s5jKVbmrB;5uA)ut2Pd8ZJQEo8C zZjw5J?n8t+gp$9}DEwtWslczd=mx9|;VoL`BbLH-KGuzxvNtGGYv0S%LG628?Vn`Y zexa25K2n&-ND-3?{2EG$J=f-@&B>)V7RcKt;R+PWD8)K{igIiR>s4a=*S~-g zxS%I~LH$1hf~9LaSo{X4>r`5^jT=#GK%HWTH(jdG#w^4_d@3Q=yv%p-p8X*n6;|;W z3KOp4T}X&VuB_s%CqyGxR`CQnY88(KWv;-(X-bxp-2w#FWx}aT?~TC3z3yp9jW>E* z(@@dhtkN!SwXSV?MS&mTgcxF{{l+@hQru08?LclZu2cpS^y0fMRsN;|b3+7lGWFcp zo|4panHmCdi2WCv&yQZb!SdV}1tAs3iqFJ)c;+qx&AF-Qehch|tvr$;wac8Y#v9 zJ>)hGWMRg>e0UAGAK~|r;rIk-_!sDKG}|!zeW$katF;uHj=F7Kk}0l_`(`cebZE*|Ang`xQ!<~(hke(U@`p(O_0s8_#|C~R9R%T+(t z@fD`M3b*rVnLA~b{VFR{UDvBvCTk#Nu6-5C1l0Q<%(<3ySsz~d6K^LO7qTHCr@TNV zd3u(qc!5gdUAbPoW=HVQDOVDY^$5^1!96;*tGlJg8~X78sb;z`y}a#q@NnVFe|o89gq6fv2-`sc9rIP#|g=2@I5G zQ`1Obpg`0#5*R2DHH`!YvQBAeg;og+ly9PGa@$d~1_q`yFz{c1V6dSlfq?>1(@0>T zK-4r67$^`mjRXe%g88UvBruR#C`Efz0t4p}qCF~sfdYx9$^IuY{RdfMmPPzz6G%!; zGn+|litj%oHH2%!o+4zt>9}jApjKytcG;WiP#^x8A!T=wEsA(i}?{;L# zOht9Q9CO#QOQe*zm*czlub>zAc1%Yyf)I$m1gkxNq0YdA#=>`PD)8e;=$vv&h#cmm zS`hmb$jUmmOoj!Y1sJSzFE}4{BKr%&pYj6g3aCpa*+ORYOm$|S!+Z9tcvR3WT+R!1 z%R)kdZdpkv&@BR$GkRtT(qzuU!|4{5lerj(>{>k3@hUll_ywTF@sj-;mKg5eyakO2 z_iqFuqs#scn-uQf2t-Dg{TqSE=(2yqI)(c;@=X{$!_xpI`!`pkym0?UATqk_-v~rT zm;D=o$mp_vQ)E6ey6oR@K`q?Bc`YF_x}5nENEy8oAIRw8Aw(|llsH~BBwYJyJc4Ca zIXz59$NtS*@gaLZ9_n-HH5j&k!$ybuHv*B-W&h@j$YT39%$@x<9+Zcf)3fXy%ER=# zJf3BYdrM~k4_f5*rQpJ;ZOZMtjmvYl6!_7LUxSZV;3bxrlTDoUe1S+Wu?~;qjd=8v zgEPq@UVHHxd%-T2OTC{dlJnBH;@3;};So#UhG#rIhG!!Edw3?(cjM`&@5M8fK7eQ1 z%Vb>@KEJsD4Dxl1gK}b1jD^H-`JY}%x2YY?<3)sAXGv^&91!9)y13Gl*z%VObw10S zHyd>0-xIopWb%pqpLoqz3EsK|-Qv|8w89o|DF9@lck}CFmbX(9F8+C1@*R53xA>DWVwrueUPNYk=yS+PKXjm zZod;qBu=s)RH=oNOX}FXx<~M^6BKnUr|#3t`8hmPwd(D6>8W!2-3<`#qFRFzMYYQ9 zcTMDds#dxEP9RDgx&4lvm8NQy+wTOT#F5+Y1fs-|+wWK>QLS?OoqQ9CQ`d>2_4d2e z%m!}ca2ZHctK5Dk5G9V>ekTwmj@*7H5G9V>e)k>bqr{Qh?|w>%s#R{k$fByXj=4)Nt9vC7a#`I}cUj%1hzTyMdx21RS>30=U*TnS?Ayp? zbw~J7FRM%PUb$bRHQBXwU%>0M*mNfL>b@BQ(|?Hf>Guoz$9PTt8V|k1Zic(Wj+w$s z>;wufu@fk`#7>~#61%lnVv?Ct| ziQSYGGIubuyTnd12bb7M=IhC{yu?oGaRbMlm)O0V^|+C2%1i77x(U-sFR{Cggn5Y_ z2+*QrPl1{htE0ZEW64R5Gwp)x>E1Un zx#Qj~GecwGFm%oGOVt=?xTS#fxWm|fU%vBMPAS$ApMsK4i+vd6L(})PPXG)|-_v-Y zATWJT=X$#5jNK>jo_!jR3dU|0*+OG?DxtvGrBn=!U4f1=c4r|?W~ zMR}pID-czW7`p;d^@y=6P+;s{$9#dY+e3(|M=m(vc4=tr3Z%v^ErwEK_hw*9ja?G1 z9l@hHxN(Eo%-FpLui5>0R4{hg=+M{|C@^-pv17(Ab7#MdhZwuvS@w<@ySzI*?lsN| z`MYikPRkXPzn?O`ZY% zbq!p*En=LfyNsTzVXWgq(p@cdxi%>t*tWHCe_P8(Sa8D&baxGsjsH<>osc_6Qg zAxT{f`C}kt+Q?#vK%6$R7$Oj-jVy);#AzdoA%D(%oHnu;@+hHTG34`vg2fPlWZLB3 ziw`<&Y%wJFQDAi1xWy0>uKO$=!D5JH(`l3a7CuNYgH9Vg#G2B@5H?z-jVy);#Azdo zA#=!NQ&C;Lb}qLRuudB}D`V4UJ1E4xZ$_rg2C!Z0eDZd0AxqVXSMoEP28e|Jq%0@zgO6evPte*&UluBWhGn?^nDkVt-IlhKi z?;}vhaqrc$Lpk*-RR7JZwZmJjqrbhifV4nv3Z!Pc#zVx$9ibEb@(sMQG=+**Lc&=p#{bW*{3J8;4CP{O05q4ruo)=+r zO)SA1sB1Eb1$kay-2x&B`WE^30iw`Jh;NbSMcA(fDuHmoOr95Evpos92s_VG!k&x^2skpPB1ME($<8F4^ufNC?z^Ygq2n*lOO`Ve{g z5Yq`=gp#~GFT%c($>~GXHY6|2^CE01jy^=5K7>H@A@aNk`*da&A0mGVz`e{&9|D=L z3d^Do5tcOmhOPak3v>v1DGAx|Gd zAn_scya;<1`-46N2ye>sB5aOCatjI5hq#>(eTY1Lh^v^IK15AJ^42^r!rnv-eF(Iw zJI{--B|m+LJTJl)NPLL=lK?69lIla`c@g$In4LZZvJd5X5q2+A(1*y=hme+t50U3Z z*nh|5yEOSko)=*Y{T)nBA3~DThseiM`0FMlwG+Gm?y2La`Xn%OT|8BsC|1aSSDZ=d zO8EEMl`HX;fap=A=1&oiA~iG58?u>4)*JG?A)BSApuOM<#948=6#k#2ZskuVrB`GN zZMqcxneo>lO*3ki&eZNs`*~iG{cfPraz%FC2k|OZY`|Zh!hokU35t-Wn0GTujeD<{ z6H2WlVmSZn3YA(%wifW+^DgSq-*`D9*3pdQu_ir1O`5T$PUf(itAz{V-n%07S0TeI z)+qgg(M@eL`tN7fm-QDK9jRSLGS;yP1#veRdPbu*>;Dat7SQO27)cfJn%96#%D4wpe~_1%b?D`X3p6LZG4K*94+O5 zQNO#-m9mRpS89j^OOYdeD;vR-pgVMHJ-(iM*vkAI)2<@qrS}#=Q1vd=m&tg@4%(?U2pG zB{`DKapg4scX+5JQF92%aaJcRU?mISk^c<3Kr9IfWvwMdOG5r~kU(l>vmQAT%<;p6ZEV!yGDGn!CZee47HD% zcE8nW+XtC*+j;t}|09G32zi;^M*TZMDevOfn^cBLeQqL6){e22@tfE(mO$S;{t9j9 z5zFnmJJum-R|kDG$_>`|YOCvzSkG-#&v63iEGxNah3RFM$we!q zB_}z=L%D>@wcQ*N=ey0{tXg^{#KF<68KvJiImK+YI068!|sOkiY=~d@)LCpsX291a3?yN zn~Wvu^7#w%7h!rPPWKXZbL%1Q@So?mAbn%3kW19@^OBl%O+4(K^1ZmB)?swg=ahh% z@=Rz^If~hGr=qA!@_Ce+ulIs$LbXfIFw9eURopYsi&Yvc2tXMy#nh2@>7JHv< z%|lhYhG$8?r{Cyh=LG$V$hMtZGg>F7G<7<|R6=ymH!SFCnYL;!@gI72BzRr2cea$jPjr|n@;4dj1i4$A6;-D? zO2^INHQK?ou7m5s4z9=qEncZXBg|jUbpOj5Qh!YKb=-ocyp^!yN~ih%;4oC=pW~8` z;aqoeG0NlrU!05O<623c>#Xv_&Z{^%PQb!rAur(u*h~(~%tc2kAC*QmrP8QYC$&mQ z*!1-;F{vxpyHdaSrOLN_0%(lm8v#~%Xv$im zl|KFn8CLp4O{r>gpu)1zacGP35zxlsv>=7nNplmF$V+ik(bt?uu25AsCAB7 zQ&ARrnI=lb8St{|tksJwWc>C>m)A$e{eP}IDsyC|O1*@R3n#^i3W48VUmo8uRca*NN$+DC{oeIsXa(=j-|eB{aD<>o}l2o)7a zWj?GZ-7CrV@*1cx&6M^~Hmt)5Z@C;}Tq~Dd-u}|6xOL{RM(JaeZ~~p94S$LCit-w> zM^AWqhE@Mv3}|V0ov^ZtRPMXn`1Rfh7LLV!h27N{{t>|cTb2zD_ju!DJ>Ig(@i78J zlf8Y*cAmegxaypg%cyig+!HIFiNsrv#H$2`lz^vQ52ZvjFK-Zh-8{0lO zLNr2i3^;pyVr;T!LUH2*eM3W+ zcE2{Y-)~B_;Wf4Cnf;r5FR?k(=`YFs+@FC2i9P-_JX06@3pV*@0x`XfxT(ag_tTsF znZTtx{bXt&v)6Cf?9XAQcK?jjCjT6~&KDAM+x^*0o@(ENl-vB~P5x4RoFN}UzY!nj z0nyOzFT!gJURSkC!F&8BlnESbyF^IGQ;Ffu#MDlf-Uw{G&5xlp)ca9?MlN%yzYxgN z+x>jIpY25bF81eZs%c0y4=u$vR-_>{fJUHDpsm)i)Mn7R{b|28ms#egO)tBC*SNc&=~dmCPrf6)xSqSx`vJ&w`fq+B0q##nozq0_M* zL#yK6cCgM%vYyDAp~0=ohK6=*KYRI#Wqj`$>K@*3JrVE4>}ARzx&yN}}tsL%KO z>|UJleI=B3D^V!o5aAzKYoh{4a^Nr7uGF?UvPC@?#ZC9>XoCx_G}@U5Hl@DkqJ(i1y+C(=qc-!7rLUHT7Q1Da_#eF!k08S2W+pK9~ZCn&cEo=6X6# zvHuMW($A0+yc#Mb3@nskDzzRRO?^R?I8QoyI!1?-Wb9t#fB_*20D1%ofw#HqVtxw`%5t{(4w6fzP*^$zV}^!dhWY`+9;Z5fRXC)TH7hLWr=5l3DB6- zi%3J3+9V^mQUt+un2;3&ftedeji4zZ41U?z6rBX1eiEZ$-#qK=*)czz`vq##=}+rt zTc~)NHVGF(uuesvQb{bh&(El?rjnWqtY~LZJ!#Gkq?wOSVi%X{pEUZx2C-ECG(i8< zBYCarA8HG98`Dt4Qb$1rO;Z(w*)A&R>;D^62q!012qw9ykdxJmzYPf@Z1WGW9&wfe z98iUAq82Jm)@6M=`+6oP`i^JzAHT+lmQvXcUN*676f&p88Xh0qHr!1c7hG!9f=~(V zVSK^qj-!lY;3^r%fr7)vh!m#TQAl^s#Nfzq01giKj}&QTr*KZci0?bPhf3h_z6l58 zrcCI{)@GYLXK?cTII!1Jk140O!7$w>hAGTc@N^ziKJA>V5tcXgbP1p*HDWGpYNfD|1Lk^PDB;UX<5HG>Og#n$(z@bg#9@K)pJrO=Nx> zrS>NA5a5$6ZSx_HVGTmo(#J6EL5q!|YqnG!=6DXd8X%IVOLbD9p3H25Jnr`w-G{O- z@)HAo9Ez5ADmD5wxrfoJ33S3^_fJCnQ5>J>o|rr?1JHTB zJA+&&$vOv?SntB-co z1LW)}xd)N1jgl&sS{9E(bML`u#XZ~{c(fMRX&&@G6=eVfRvw0&oO|Sq0$;pDW6aNC z`Y986kHFD*f_xi?;Aui7GLY+OS-U}+H^EoeWsvKHbM66wqihM*V(aAK(8S>IiLgyi z?@4mY?lTK)ke7g17`%-*G-@rzpNtDb8Oga4LP4ZN~gXKZTM|yLN9G&s+KBUoeOnbXjfKTXN9_xIdoQmFS0CBhiT(h zzh*upw%6%x{z^204m(VQV8QDuKX!}n{S*@IG1nF7x6=;OC~4{U&uRDD(7m1D!fhf} z67BG5DKKcZvEL{*rUDkHh&IptV)Lxp!;CHPFCV497_3RiVYY4wE&W zTkpppAfJQ5`D1@I1P@j;;+amg%fpi3bdyeKvG*hr!)L~;`OI@+4lX2vwfRt;bn=gK zn=vQr;h-Z?8n4WUL*{-K;}x(nJ9|Jn8>$kkItyjeQ#~(0w#714G4*RuBTn3!_D+1z z<e3wNaVRRTgzvW_8jg!xX1k)`^L&@)2AJ)A(`6lnGEn-R@s9;mp*z zd!5;hMbShm^NItoZKpl%x(&X|nTNS95+$8VYFdMz&WL0eQO5+b0WVKj#4RxBDWYlK&$8ir> z>^oBX*W-C?aee%?pB#p(eUegV)YX3;*Rh{GN;_pS=41k_7sBS@-W2^x_+O9-i$o@1 zx66-ztjn1}uaIV*R;`)hLE)B~$(>qpDh=JG*9~V0Xk+0Y;0vz9?G^`W*VgW6MpU?nH1cEp;?A5=PEf330Y~?C2?reaP2m6 zC)N$HI{tMED-=ebnCmAcr3So0ToB8Bn&ZL7kv4`c$M1?K zPi25*ibf!vei0PSpiLqg@l~DNX<)b~{PZNoTbEH&o7B%oO|ZK9Rexqb84Y&SwD!aU zcRk=I5?{uKLpJrS<4Eju`JkG3v!A)eH7F17mg}b|h9%mo>NzP{Sm}dcqPSN$9#*Qr zCr2$0A6!LJ;NU6L-NC@sV6@n|SUHD@jYe@>Y#*8jcL!)+6b4=rsn_~gL?OF#XyS=+ zEIB3WRq8DjW2NFw`U&y7iM+w#!HL1{p~3OKlaw4A&$Bj9m2Gsa&7k^R#piDgemU+K zJnp57&^QISB}~ILu@^;?;B|Tm8yE4^VH(8TJ(Cr2=pRlF*ap&3?l%V5d&1A#D%V`} zV^kl?wumXz}T8hQd^TQ6VhiI1&3)&@(M71aAAQGBcoF@HRZQ&LaJ7WET5x9TpCqjy~m94pu_3Ttb=+;M@6F-NSm@9$GO?Kk_dZ!M^}Wmw`Hr!A1N0 zdRQxmF*&jSDW&L^NE}tnX~ACVt+Z>gYC1LYKY_3q*d(6(U1)gRy8_Rn2CrPgmrP5n z$n@M^>=_xJ7#kTXu22E4J2!_ev|faAvDgAS@-@(FWVOVjs4pt`X1E|C8Ga)CbNR_t zAzFdLMPUVIVppv^Y5|)^92Xc>vc->AZULD?N#BwE3H8gk6WGk+pHm917wa5LXw;N} zE49v_x>@L9>sa<%u>eNB-l)ri7$q+5M)yk36+O_%S;RePxKpw@`X)bytE-@hYLT0@ z!R9ob31+1Lqm`Cv2ZBzj} z51o(9bgUFVC8-%3BX(pb+J{IRe4p9opNhi8*e>DnXC$R9E9Q|Bi%n!;x+vU_#@Esy2R$sQZV(R^OY9u8SqGzCVTQ6<v zx|mz9uqEpUe605}Op0;IAQ017AefWbQx@(;(FjMxYp{YAlsm zCbHr$glG02n`cJ5$Hx1{j%UNLM5JAI!;Q*N$Grpt!4=r7D*FyzW?TproyJ;x9oo^< z&!`d(0yyTBXT(9o)T*b$ue;O@DqUt^;~HBpvtc=QCblx%1HHQ##+R%Ga(3$6=Mo}b zsWjlSVPt^w&dz_Z$X1_QAU7yHT0BFGvc^vHeOL6;I3 z@{||{JHimMZs(5C!bf4+?v*6Wox;Ww^k3!IRO$jhaho51OgHcb!2Vq1NTVCLDb3ZR zcncRP>Ql>51VY`!Py^9@G}SJqgZzO zGqOPhAqCZ^ojwoi$yr9gpw&~Gt#w^ARk!3(jO#iuFd~am zSBvZd|6$Zgh|8@}$r240j3-`+iGVdU44;gac;630ivCQvn|uYosutQ3OU9@4GeQwN ziP&$)xFTkFkN5%*omg{VE2hF%%VNVCp`(EONk4IepYB2h7TFZKP!xe%7D!Ba8k6%E z+^B3oPPfqKCMlE+*onfHLAQ0X3A_}LsDORoRIUqlLQA1Gs-C8y7n*>|!3I!0w%K2* zOy3ALE7ciZDzODS%QG2BOW%`@j%qrI6xMl5ojw)4m}7zvWn3+qey6bJmnyL)y~?PL zKQ3?aIM%1kU$4Np#eu%DzTS}@*ay)0f!lZ@f)_5P+6v}tx^* zFiN1CL5V91?k_wircuda0~7VYZUe*vLrkcBP;IuJGol{Gy4Z{}+7dm8!%56*LnEIR zEu(UP<})+-Z1#RX@z;LlR=lA{Wja$9vR6(~Nus^LN$n$F-7{ji!~Us52hi2!q6L2$ z)?q{-mu87vT8Nra3Sor4HBO{@%n>&R=;tX9_y~%EPDW?UZA;ujjk-uzLuvP* zTj1N{ImK}s-JbQ*PmKFwe_@E59`H}aS`OSh#7njLOAq_4{oIv@H?*oP@rr$ZGI7Q} zbi10C$<%wulbjK7q+q~e7ZRn^PC&P<7atO)Hx!FwYaS|L+!(g;;q6VuoLLA6)=FkV zrq)tGuyU{^=yEJV4q}B4Xv#d%Sy^Gqz_wvKAmeXG*g#@Nr!XP)qpGIG_y`{k7R*v% zzT5;VuwM4PU_imlag!|vN;-9a2Ho&e;6*RcKjB=MbC?tvNhrQLCBc4ZUIb7vLP`7r zgqm-1kwoYL6BUV%z|z4U-9hYca!ph0Q+Vi$Fv++RhpN_T5EAV=XndRJkRkU#hCGh; zU}XZ%0h}DM0ZX^l$`!3T?iriFgAgIDoz*X#A!}qIV;pTv>2}y7%~yn8n`_z zY*Y@7vP#OVSu1j;;zDz{_;$jYuEeRWB%@>^1rmz0C3@6CqOaZGjphbXGWV|$JB#v) zVpg}O=)p>;yN+}{Mhr)^AUY7Hj<^%JT<9sV`ig%4f(eKpI&uB?017N5j_X7Av@3HB-oVD!;K70rGP**$y@Q&V|5Z=ohXX zPJ^81Y*1ZN3%cZeQzUb4mBl<=pm4L7`#Q`y8#zr%kn!2}5>Etfc#}mS!YYW$QZNOA zNQE!va&a;7uy`oX!$a{Q`#9_4kbQGDV+}*L?pL)j3S|m}>;#O@^&;2QmUJb%9j2(& z$Q#S!-d|PXg2;>-96kPUayu*uofA10ISLB4R>UZAgl0qk1<~QK@InQJ4+ew^iixYA zmb5>Goj`D324+)U*D|prV_Y}$MR8Ifb}?I2)WbIghlxaW0VAi$0X$lX_i6a*7K|X> zagHQBP?&JYRP#7GR~!QFR)|#sc3^@OPTG;=>`t;EUh?)KhYt)a)?n${Oh0Ogpa>eP z72=|)9BET<_caOWki}+55+a}$4$xHmV%?7s%3@Ns<0ZEP#M@*>^Rni+_t|5QCCu`{ zu|A2HKb{4@s0C6wq>fOrdvvsKm_Z7mX`$nLyu;{X`O8?s76>~FXb|=-7jSfcc67JN zW;}HFfGmM=p$(28W+Uxk_7ap5&#=}%CJ@)R!fwL=1Y;uyMfvwdu<449JZg6*+7p#e zKpaPZ+93%#WUl{kaKVnAMoU0n+eATKFj0!#6C>LPd*svt`q^cU_*tAcZpM{NC=fVm zBuLaIRMgK3W+YBn;5|52p>+t3RiFYT$0{7`j#U8GV-@aC_9niLgUr|nILC)CMR|;2 z!bsqSLK;%M<}nP#Va%V4WdRA+88jEXV$6|d$g*>}r$_~={?BQcZZMzXppe>+)rKV? zayE#;kbwCko|YapbP`XttW!KqP=lC$mgEAyu+o9u-~Ei{#3IyR-GxnFiB-dXEv76d z|2+DHR9VQn_4an<(-6eI}u?_k$LlG2t)U6j9`E`&Tp&v+k}aW z2Aw)VyB15!32sBGT*>k<0F67WT`({}wolPiSde!j^c{f`iOq;9XOXPN(Jg{>n@T2b z#~BX~D?AV`mmWP!UIdB(7J81P5pnes6lwJ~Nn}oBcSuFBC`b(vo}j=!gUFX_zy@)T zf8qP6$r0)b$C+g7C_}%jDKoyS>_CyDUOcH&_HJr%%GfO9B7+!m?k`d%PNTf}>Cru@ z@`fJcLi8v`mGTB%NqIvfp{l$IIuw%J00FA1+`j)M+9ZQjIR3#38k`!(gR2PAk97dyP>cHrbV9$K&BEMGG zE{&vSa5RwtA~b_ivFnQEUfMO-mfbjkPD(64jQ-$e_~#%4pYR*h&{9{F6~*yov7H>T z=AeT3(vr9WI~u9P#jwlJAPRm2$vE3(P&)S;l{z;nMdW~^YN_KorV!0rSpvCZi-GDx zMXUgw4pBV_?gkj>L8{r%oGnp__$07XiGh4^e}gYEi!n(LW%h1@USV*W1k?c*;0~|^ zkEJ~TyAN@wP(j!rt*F%5 zv`nn|K|hrHct^GtkQF8wHWg+f05JYwX0J3tw8ZV;@VIw1zE{x_Ez4L)&p;pIVZ>rV zpcgvQ*)Hh+!Qs)#iK3)%dmt*D-QVNVFia>;uIa%Ha9Yv*%KpJ~VA7{Vc!2eF*+JG* zu{wpYJ!~Ohvl!fL76>;IK*=rX!PA_E@TGo+hhhH%!iaG$SqKa6B)g?SyBG!1A8RID z$DtJhm4I~|ZW3D@Iy`V*d_jL4UcRj>0fBJJcw+2Py(~fkr5kcjA|OQ#4p$Rhp=79T zX1@rD5RuytA%=~?2Yejqz}i<5)@)X%I@XPYcEW#5W7=m2QSV3LJ;Gmsx6H!FALY(9 zO&{0{Q*-xJDqP7xCeIY(f!i+VcNH)2HnB5|NOLSu%mm%(sjntJa2I7p;vcxal-P-Q zaNg)KH?HmrhrsYg)UW70ub)}DpM3CILQor1<3gc-uSRbXBOV0g&e?!u}- zD)9sFJ|~rZ5ge;4vs)!bD`76!&qJeqV|JAW7oOeU!y=2#p^(Fxxz5H;Z2ReW&@LZxze3GlPwt+n#-N>l`!4Co%tmKkw zbY%w+#&s9`^8_|jSO7w<3b1>57F*1E^bwcRs3tMPY#DhLRvnX2I$}-Z=mP^a6vNGm z8r73rSvkqfJa)!Yy@||yiOac%kht_d9}KJ&O)UNqWX;bpoDeXn_3$ussfSaT%3DWO zmT_!IF`j4vcPAV5nwxr9+=C8HY{AYxhLC-T|5IgCC}GV*oR1T{JSedh zmJ^(%3_P&t^qBpOOd4#@V`}S%Xh1>3v*X&INaP-1Biz^J>sm{?p0S_GEEl5p~?!r&Y$ zZp$GYiO1JtdauY$TPKGnCY$A+pynNrW$?V3^}e99mtQa`UssCVWOtJ-8yMN%w+xq) z-9FI0YiQXOBR!Mb`-UgRm-S4JjZcmjw+$@Yju32FAMiG=z5cQr)_5D&ZCvB6xu&Do zaoP3W^=qzJcYSf)HTH7tO*h)xWg9oHx#kK3)~-RiYgc>MTzkzLuTM37k>--zktUDg z(8$QBhp6P9zVY#5_xMB+VGqT@5wCk}TMr*Q)EU7Y5?)Vnuz#p~n>W$JpW*}%BZBBD z3I_0y!MLBT&%?=+!EM8Rz0ExX-D6%4R!)$jrw3NqW!GPS*{0$R>o%_`-nePwnqrZ( z$4C46dOdk6ZAF+b47XWXRTLMM6Q1aV1h7u>o#?Y%pthOQJ z_VHqG_e8fhF*dk;dml5v!trnk1+5<25LXP+_4RpUgWCpJDmn&9`5c!XGg8ra zF`jtpdkjex80hOpgJ5Z)()#L2K| zA@qzT5N5G=85)~o=GnOLBG+`LEP`oA#>PE6#fV7t?b|UMLqz}Nu&f%7qs-C4UMs9P z+C4F#wb0eVfcAKI^fmCJPzBz|GCaZ;l&LR0WJJ*I?rrt(xqq;42t^b2ink9A4KXna z<oDp*G;#;(48DQki6-9Ow@cbHJh5^GD+HpWBiiDv7yuU6k6b`=HLTdv4YrZOihv1$ z_E^sV(wSrGq35@EkKYce?10b>vGXE)r5k&^JOqs$??b`kjzqp0xa4NUm{L5Or=lCi#_?uo%2eF7P8cs<*Dy@~Ck#r{b& zOOg>9AL<@Qi-cxy83MRIcn9qW6fhdfgIpC(_Bf*=X;4{Si2=R_ry&J8Z5w|_#){ja zeY&^l6prMGmKRK2mZ0?UHaI>!xqYkkp*#M&OzuPorV*Nll28{a0%~4)>A6E?bCAi- z{JU%frTt+7k>DyVDJSJTNibWT=na$WX>T4HL^L7f$H>?&87nu0sCnNQHWaimHm(yR zBVe83UF;laJNAxC&yER;BM|8-iuJPUx|7X8iv$5>PjS!cf`{do8bk(z!yVLLkG;Cg zfJ(``bEPhUz>-8*c$psF+}?eApKE;NWBEx+(M4==pp{hO3f^gMnko8LEZ37-XopjpPW5^3p+7j+B<`D}+;z z@+qX(osgwq!_XLT29i*K){iv0sRHfaU;w0R0C!KL;|EFrtLVB$(z|cV}0!S2!^u8 z6sAla(YZnO+!v{9u!A9x>jY__^gvjPK;{U_agtSx8|q$*iD%*I4l$(h zC=?p_3aMNoK%nA5Q9+>-Pw@|}&z}|14yjPB$mVBIB$N$0WqiDEJ8r;qg}A{8@Me(4pP#M~pw4<@p%B0eRBQVGf%j)TOa$Wewd1h46vZF@z7>x)w zZc`>g=TI;jTT~+8WR7+(J5jFxgnVXqQ^ty0#jNaLG514F>g4;xSoa{N{kGyOCr4n; zN-E?mqlQLN)B~#%kuR9+Fm!;nH}pYqYhOQ%3n`D~V|XW__#io>N<(1x^|)FYbdn5` zRuzM}eT0UN^R38F$J1p>EFc-J8G9ddesCCqOISlX1$L8bq>PWU>TQm_hX!GJupYv} zw@Gsi2g?Rs;YxCZ(c0VGq@u|T17LD=0)DaBkUJ^u5VAmv2tDaJ~H-n^f)khGwB2&X* zkIL<)mZW6WG!I8uAPxZ<4S@k?Pk%9z`bHrGwE$^=GuIBMiVIDWH3}qrcL$FXd5-3 z_4Vk$SU2{xOzo)_kp2+&%hOj`3OiP5k*X`(2qCIhPBK~-qJOQFJ4VK^tkh3Y3s;yB zx9E=X4~wk0eDyznQ=TLPL=0bEl_|y?Sr7v0y3nXMy1ll;OGU z$n=NG@N0pOd9%IKpD*Bz@A~gXd7tL};`0T==+E!rhjbd6O7U{}jyKgiQkMP$NMEV` z4;r0)MrXDa{BgrSGF9mh0_MME_?s9kw|QDY;49_ndC%gv68&?q?pz6fuuA%GSHb^R z6?_u)WqrC%DIkUCz0&GmWBAci75{zt>Uj$ce`ulNmsone!~^|l>2J047vg)R`d?86 zuTetvUcv5x`cJ8XUsMIZ3V7Ck_sv>= z-WSJzR~Wv*@B@nWx(t7Cb3rgS8Gh36ty>iTPlkUz@RjQM_A2-f7@e+LmCi?uPBppo zi7IsdrV9RxRq)@gg8#27_!L59Dz$5N75u4H@NHG_S69Jru7clI1wT;*{~F*q?hRww z&s(gY-&iI6+pFN;R|Wr(D)`S-!GF05{ySChzp8>q)N93YSyTnTvI_q4D)_5`XTNQH zjrQA4>o?F+OVjrOPwVup?<~ddl=L$_?_eqZ4}ot)dq=k_e$3N< ze_{9oy^4R)@Q)k5t3&Z0HT-jq&UVHBq2Ui1-n094K5h6P8opthre}m4|NT<%`W}7O zq_v(K*A)c)jD4JM_^xG&|AgU}8vekm6yIU^%LH#g6J@b2ow^9=vqDs-N#f`8uVxY)l7jLtt-N&gc|f6(mnf4B58 z$PJEr!<7ZW%rSZLY=h#v7ASty(qEJJyk>8fH}iSL8`^6$I{W4;{tNb@+3*KV{x5-^ zpd8MMgO@cQd@-t%TyRIt;_Rs9wJ%&H<2a3Pn z@cRw#ZXLV9@b5Ex!%dpr@$-iTZ;2v5Pgr{Im72cR`tvh}FPx$HH(8$N4S&ck5x&Fl z->O3YKP>%$dz6kF_g@0vfN^ntqLD%Do{r=0+cmx8!&<|;yXu~>4D$pZDUY0=xeFpx^~n^7v#G{AZ1hi|T)y z<@!>U^oOh9e{OW#rP9-kPA;eYPko{#z+{ zeUCm@Tl$8QJO8~{CH>E<;4{Xb z8?9aMP%_?Z!yh#H*=6_^!?#+0UT*jc1aCm(X9Mt@*X8ndlhG;6D@f{VEzgLfe}Uq^ zW%zrl(0`|;cYn$8dQ1POhCg6(@8gF5km23si0?K0M-A`IEC}ZFhJQlv21I_oV(AYR z3W9ZXz7KqJB%OQx1@Keiv%Kc#3l1f}KGvNmA9h=RuCuQVhHu!V>Gv6ap5dEcq4;=A zKb&cJ_jfwpWB5yepMw8+`!qe=0r_{er9Zez@pl>i7Q-LsWv4L@mk zcS3xv;qP|ouT?tJ;h*#0+YG>*$;Q>N7gm8~(r>mHvLi-)#7eXDj}P zh94k4j`gla#ruZ89{eeK%J8Qdez(zSy-L%+$ME|M?{4~=Z}q>=@JDRC)>!%n48QL( zrQ`I}V}iFtk)Nk6y}Ks-_wCzPtE7L?(z`!S_y$X#sMB^eTwf5(C5CS@{KkI8J3c?n z@a~E&XHOOkf57I&IYwu_OK<$_+FLaIBUbJoSo%@JADXS@b{T$`;g8&*_;U?^kKy@{{h24HKO<)!+#8T@>RKg^=X%Wx~3ns^v@Xnkv7F&X85lg{>TQ! z4;lW4hIfDDxXM+bn%ey^h!JE=~WJhM#TteR~w|^wg<_FT6?d zj&D~OzRT+0Zgeho^fzhxtBr53HM~10`hcb1B6tHLKO>ILjY{W@_HD1>H?C3q#|-}# z!@F}AUo`wXs?h(7D)`5Zj{7sP-!(eV7~b8mbiK9fONKAZ(fYjF(*Kj;A2Gh&VE7*z z-u(ri4x{r+!CRupPfdf4*CQPK|&wncn@BXgkFBI*qG5k}nE(pf; z=QW1+b}0VaMyFHomO1h>VCfHCs_FmRzU?x6v(4WL!@tGwqgJl-%l^dh4QDEyK}-MV zj=uRXPa6KChCg_Qrk`&3zcu{Exr*Ow_-`5hk#iOAbf$f19QMiQzq~=jn!z zL$x>Bd-SJC@K{eft03qO`?v^r+9Bm~fa}{L|2sAPeU^Ti(K%%G-)#6bhJR|krg!uA zM#DE)yWVc;yIuNOn!ee_amer+uUEX&<9i(5xwIhkyiy8=Fb`s{9VZwNOf@lva|~k$LPUJe_U#Pajz9=6 zKsZM&8`h&vFVf4uo6H@hwG0YF7--j)X)>VL|wHP!)-Fw%BE+mSpxfja-1Q#w#%7SA%+8?5@V>mIvdO z#?gi`v7oG>GP@Qw6MxUc%S%;K5_0K2|v|{q1;D z1nC$th6=h!oC@(@VSHC9qXBvva3}SSj z$43#Ah?LqKMhzkCiZ}+KjT99DvdGiZZ57scPQUR8X22@UuiHnpaK4Z33f>X#8NA;% zBHW^+3CMs1pNFFP5KtO?7>*Jjj#6ZJmnM@AVC-h!1iNH>aw{sLpD;`TW$kGu#Voi=0s?p+ff2GaoK68Ubb+!Ck~zfUOeDKL%chG7B=UJV*LiMjD4Y zBL^;udb|s253Gamz#t22JUPrW1|_KScteTn?JG%QDy1Y0Ka75t_(`WlSu4aKZ||NM zmwy&E7oLm|Rqf7RxbBkU5$@uvlA^0bQ!4|L5hZ}P?C3;ExG*bkCvjLg3KAI^cVH<{ z;utXroh>O}3u1hEu}_YYmP8kpod(hTVQF^Q(vG#b>FkMRb5vX>CJTxwDclKf7f5VX zg#c$LqNxv!jg`1qR2Jv#Bxt^801?Y&#JaSJGcS*CA3^KN@6%UG~*)JT_nH72s;CSg&=Adqeq4-ISYX=st9CYB~H_1Jp<}- z=&Pi7tv4oz%2Fus?p}!t<_8g4dJL~56WP54VTVAZBXwfv5ga!WfFqG8h_am2}|%*crx%MJz`E%FkS=Nn={yg?V#0C&nlujN$YwrA=TZ zVW(oYqYfiIC0*j0B1Zz16t!d6UeLDs57!g}btZ zIXryASkrltnP6lnI!mOxo^UBY%Ay8iNw9hKb4%zI46n#28?};v{i6=R2#b)dkx|(c zvM&^#!!Byws%$afNGuuE(ggEv#Z3n~&#VNm{Ft0mz9pxUsB^6wk-O)1d$*8qv9g0x z2{zt1?-f*)R*sIe<_^RzWw)H*2rww;j_$z;oH;3B!%D|tqG!>ZQ7&4bBxiRIuXiXx zp&M~HN*!elsh8QL-Kxh!F(%Qo5spiGa2iGixP+edd8Om4+8NXca$Yg;vQ1QCYSP>d zda9osIMxTw?CDb$WXU+^7#=PRIyJDqVU-JkNvuE6wk8mq4b}?KZWVnIkswYSkP(7< zDQB0QHf7n;y;g`B_#)Rzx|CKkyc!8YjFKr zdPWQhj`pr1b6t)n$h6g?F(rpu*r?!yBq&kb@@#&|VaKv_8b}5YP0fnne7Z=y@VuTZ z!33upX)lFq2(H6R&pyLSEHgx$T^oAt@XT? z@m<>|y0_wYVoZMr+#AG6-`J?vGK}+gE!&1CTObI)>l3>oC}GC4alk`UU3U4pv$^sm z$p?65zNL59FpAJ$bfQ7O=Zd9-a)t3<-ny0d zq1YGE1@=yL_uKe42Sm7(Xxq)+%tS%R&cymQ|IO8(;OUkf9byq)()iEiKi~47Z~2>D zLi^2>!K(mA^LJYQPRsAsfn7GYPU_%wW%=EComW*UzdS$Jhkg9#>VLq>KVbR4W(Bd1 z{O9WL=)3~BpZ(@HBQF2WWP!=NotD7$UwM8>ghx02%i}+n{~eb99hQHs)q~~6@SiJx zCf@mv`z%c2@*heU0D0aaE3k{1BLB)j@0IxWn@If&*@C1lWHpmp4|nx<<+xw2$NxH# z|8oN<@Nt4zA}GM&3y$;zfXS{M;HB9 zp8qj?jOKUo$8UY7=K29ASL9!L{%7zlnt%8G1xda8e$DjS8T#vuWSB~nH+N86zd@FVOGxnm4DNeSCwTb1HJzn^Gnlz diff --git a/o.txt b/o.txt deleted file mode 100644 index 71787e65..00000000 --- a/o.txt +++ /dev/null @@ -1,11 +0,0 @@ -build -doc -en.subject.pdf -inc -lib -Makefile -minishell -o.txt -readline.supp -README.md -src diff --git a/src/parser/loc_env_var_handler_utils.c b/src/parser/loc_env_var_handler_utils.c index adc87e24..5351e473 100644 --- a/src/parser/loc_env_var_handler_utils.c +++ b/src/parser/loc_env_var_handler_utils.c @@ -12,13 +12,6 @@ #include "tokens.h" -char *expand_variable(char **start, t_ms_data *data); -char *expand_env_and_loc_var(char *arg, t_ms_data *data); -void final_quote_removal(int arg_count, t_ast *command_node); -char *get_env_variable(char *arg, t_ms_data *data); -void handle_trailing_quote(char *arg); -char *get_exit_status(t_ms_data *data); - char *expand_variable(char **start, t_ms_data *data) { char *expanded_str; @@ -63,49 +56,3 @@ char *expand_variable(char **start, t_ms_data *data) } return (expanded_str); } - -char *expand_env_and_loc_var(char *arg, t_ms_data *data) -{ - char *env_value_dup; - - arg = exit_status_adj(arg); - if (ft_strcmp(arg, "$?") == 0) - return (get_exit_status(data)); - else if (arg[0] == '$') - { - handle_trailing_quote(arg); - env_value_dup = get_env_variable(arg, data); - return (env_value_dup); - } - return (ft_strdup("")); -} - -char *get_exit_status(t_ms_data *data) -{ - char *exit_status; - char *exit_status_dup; - - exit_status = get_shell_variable(data->shell_variables, "?"); - exit_status_dup = ft_strdup(exit_status); - return (exit_status_dup); -} - -void handle_trailing_quote(char *arg) -{ - // Removes the trailing double quote if present - if (arg[ft_strlen(arg) - 1] == '"') - arg[ft_strlen(arg) - 1] = '\0'; -} - -char *get_env_variable(char *arg, t_ms_data *data) -{ - char *env_value; - - env_value = get_env(data->envp, arg + 1); - if (!env_value) - env_value = get_env(data->shell_variables, arg + 1); - if (env_value) - return (ft_strdup(env_value)); - return (ft_strdup("")); -} - diff --git a/src/parser/loc_env_var_handler_utils_utils.c b/src/parser/loc_env_var_handler_utils_utils.c index e79ccd11..4118ef33 100644 --- a/src/parser/loc_env_var_handler_utils_utils.c +++ b/src/parser/loc_env_var_handler_utils_utils.c @@ -12,6 +12,12 @@ #include "tokens.h" +char *expand_env_and_loc_var(char *arg, t_ms_data *data); +void final_quote_removal(int arg_count, t_ast *command_node); +char *get_env_variable(char *arg, t_ms_data *data); +void handle_trailing_quote(char *arg); +char *get_exit_status(t_ms_data *data); + void final_quote_removal(int arg_count, t_ast *command_node) { int i; @@ -34,3 +40,47 @@ void final_quote_removal(int arg_count, t_ast *command_node) i++; } } +char *expand_env_and_loc_var(char *arg, t_ms_data *data) +{ + char *env_value_dup; + + arg = exit_status_adj(arg); + if (ft_strcmp(arg, "$?") == 0) + return (get_exit_status(data)); + else if (arg[0] == '$') + { + handle_trailing_quote(arg); + env_value_dup = get_env_variable(arg, data); + return (env_value_dup); + } + return (ft_strdup("")); +} + +char *get_exit_status(t_ms_data *data) +{ + char *exit_status; + char *exit_status_dup; + + exit_status = get_shell_variable(data->shell_variables, "?"); + exit_status_dup = ft_strdup(exit_status); + return (exit_status_dup); +} + +void handle_trailing_quote(char *arg) +{ + if (arg[ft_strlen(arg) - 1] == '"') + arg[ft_strlen(arg) - 1] = '\0'; +} + +char *get_env_variable(char *arg, t_ms_data *data) +{ + char *env_value; + + env_value = get_env(data->envp, arg + 1); + if (!env_value) + env_value = get_env(data->shell_variables, arg + 1); + if (env_value) + return (ft_strdup(env_value)); + return (ft_strdup("")); +} + From 105cd190314fad41427442a046ad06c1fa19bdfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A8Roman?= <¨roman.mikhaylenko14@hotmail.com¨> Date: Tue, 10 Sep 2024 02:40:08 +0100 Subject: [PATCH 80/83] think all checks are still passed, manually split up expand_variable --- src/parser/loc_env_var_handler_utils.c | 44 +++++++++++++++----------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/src/parser/loc_env_var_handler_utils.c b/src/parser/loc_env_var_handler_utils.c index 5351e473..d316fe8b 100644 --- a/src/parser/loc_env_var_handler_utils.c +++ b/src/parser/loc_env_var_handler_utils.c @@ -12,38 +12,46 @@ #include "tokens.h" -char *expand_variable(char **start, t_ms_data *data) +char *expand_variable_loop(char **start, t_ms_data *data, char *str_start, char *result, char *expanded_str) { - char *expanded_str; char *var_name; + char *var_start; char *expanded_var; + char *tmp; + int len_before_var; + + var_start = *start; + (*start)++; + while (**start && (ft_isalnum(**start) || **start == '_')) + (*start)++; + var_name = ft_substr(var_start, 0, *start - var_start); + expanded_var = expand_env_and_loc_var(var_name, data); + free(var_name); + len_before_var = var_start - str_start; + tmp = ft_substr(str_start, 0, len_before_var); + result = ft_strjoin_free(expanded_str, tmp); + free(tmp); + expanded_str = ft_strjoin_free(result, expanded_var); + free(expanded_var); + return expanded_str; +} + +char *expand_variable(char **start, t_ms_data *data) +{ + char *expanded_str; char *result; - char *var_start; char *str_start; - int len_before_var; - char *tmp; + result = NULL; str_start = *start; expanded_str = ft_strdup(""); while (**start && **start != '\0') { if (**start == '$') { - var_start = *start; - (*start)++; - while (**start && (ft_isalnum(**start) || **start == '_')) - (*start)++; - var_name = ft_substr(var_start, 0, *start - var_start); - expanded_var = expand_env_and_loc_var(var_name, data); - free(var_name); - len_before_var = var_start - str_start; - tmp = ft_substr(str_start, 0, len_before_var); - result = ft_strjoin_free(expanded_str, tmp); - free(tmp); - expanded_str = ft_strjoin_free(result, expanded_var); + expanded_str = expand_variable_loop(start, data, str_start, result, expanded_str); str_start = *start; str_start = str_start_adj(str_start); - free(expanded_var); } else (*start)++; From 8712a46dbf5e9b093242f343e9c4444985241da0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A8Roman?= <¨roman.mikhaylenko14@hotmail.com¨> Date: Tue, 10 Sep 2024 02:48:34 +0100 Subject: [PATCH 81/83] is it done? --- src/parser/loc_env_var_handler_utils.c | 13 +++++++------ src/parser/loc_env_var_handler_utils_utils.c | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/parser/loc_env_var_handler_utils.c b/src/parser/loc_env_var_handler_utils.c index d316fe8b..5eef6b29 100644 --- a/src/parser/loc_env_var_handler_utils.c +++ b/src/parser/loc_env_var_handler_utils.c @@ -12,7 +12,8 @@ #include "tokens.h" -char *expand_variable_loop(char **start, t_ms_data *data, char *str_start, char *result, char *expanded_str) +char *ev_loop(char **start, t_ms_data *data, char *str_start, \ + char *expanded_str) { char *var_name; char *var_start; @@ -29,18 +30,18 @@ char *expand_variable_loop(char **start, t_ms_data *data, char *str_start, char free(var_name); len_before_var = var_start - str_start; tmp = ft_substr(str_start, 0, len_before_var); - result = ft_strjoin_free(expanded_str, tmp); + expanded_str = ft_strjoin_free(expanded_str, tmp); free(tmp); - expanded_str = ft_strjoin_free(result, expanded_var); + expanded_str = ft_strjoin_free(expanded_str, expanded_var); free(expanded_var); - return expanded_str; + return (expanded_str); } char *expand_variable(char **start, t_ms_data *data) { char *expanded_str; - char *result; char *str_start; + char *result; result = NULL; str_start = *start; @@ -49,7 +50,7 @@ char *expand_variable(char **start, t_ms_data *data) { if (**start == '$') { - expanded_str = expand_variable_loop(start, data, str_start, result, expanded_str); + expanded_str = ev_loop(start, data, str_start, expanded_str); str_start = *start; str_start = str_start_adj(str_start); } diff --git a/src/parser/loc_env_var_handler_utils_utils.c b/src/parser/loc_env_var_handler_utils_utils.c index 4118ef33..2fae69f9 100644 --- a/src/parser/loc_env_var_handler_utils_utils.c +++ b/src/parser/loc_env_var_handler_utils_utils.c @@ -40,6 +40,7 @@ void final_quote_removal(int arg_count, t_ast *command_node) i++; } } + char *expand_env_and_loc_var(char *arg, t_ms_data *data) { char *env_value_dup; @@ -83,4 +84,3 @@ char *get_env_variable(char *arg, t_ms_data *data) return (ft_strdup(env_value)); return (ft_strdup("")); } - From 94eb9004fbb8b309bbc9cbee5a096f899d62bbb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A8Roman?= <¨roman.mikhaylenko14@hotmail.com¨> Date: Tue, 10 Sep 2024 03:04:29 +0100 Subject: [PATCH 82/83] its done --- inc/tokens.h | 17 ++++++++--------- lib/libft/inc/libft.h | 4 ++-- lib/libft/src/ft_free_2d_arr.c | 2 +- src/redirection/redirect_heredoc.c | 2 +- 4 files changed, 12 insertions(+), 13 deletions(-) diff --git a/inc/tokens.h b/inc/tokens.h index 9c35e23e..d1b9fd4f 100644 --- a/inc/tokens.h +++ b/inc/tokens.h @@ -125,14 +125,13 @@ char *exit_status_adj(char *arg); char *str_start_adj(char *arg); char *tmp_adj(char *arg); int cmd_arg_len(t_token *current); -char *exit_status_adj(char *arg); -int is_in_single_quotes(char *arg); -char *str_start_adj(char *arg); -char *tmp_adj(char *arg); -char *append_literal(char **start, char *processed_arg); -char *expand_variable(char **start, t_ms_data *data); -char *expand_env_and_loc_var(char *arg, t_ms_data *data); -void final_quote_removal(int arg_count, t_ast *command_node); - +char *exit_status_adj(char *arg); +int is_in_single_quotes(char *arg); +char *str_start_adj(char *arg); +char *tmp_adj(char *arg); +char *append_literal(char **start, char *processed_arg); +char *expand_variable(char **start, t_ms_data *data); +char *expand_env_and_loc_var(char *arg, t_ms_data *data); +void final_quote_removal(int arg_count, t_ast *command_node); #endif \ No newline at end of file diff --git a/lib/libft/inc/libft.h b/lib/libft/inc/libft.h index b5bc37bc..4d00422c 100644 --- a/lib/libft/inc/libft.h +++ b/lib/libft/inc/libft.h @@ -63,8 +63,8 @@ char *ft_strmapi(char const *s, char (*f)(unsigned int, char)); char *ft_substr(char const *s, unsigned int start, size_t len); char *ft_strnstr(const char *haystack, const char *needle, size_t len); -void ft_free_2d_arr(char **arr); -void ft_print_2d_arr(char **arr); +void ft_free_2d_arr(char **arr); +void ft_print_2d_arr(char **arr); void ft_bzero(void *s, size_t n); void ft_putnbr_fd(int n, int fd); void ft_putchar_fd(char c, int fd); diff --git a/lib/libft/src/ft_free_2d_arr.c b/lib/libft/src/ft_free_2d_arr.c index ad02b43d..c12db523 100644 --- a/lib/libft/src/ft_free_2d_arr.c +++ b/lib/libft/src/ft_free_2d_arr.c @@ -17,7 +17,7 @@ void ft_free_2d_arr(char **arr) int i; if (!arr) - return; + return ; i = -1; while (arr[++i] != NULL) free(arr[i]); diff --git a/src/redirection/redirect_heredoc.c b/src/redirection/redirect_heredoc.c index 8b8da708..b6c51352 100644 --- a/src/redirection/redirect_heredoc.c +++ b/src/redirection/redirect_heredoc.c @@ -111,4 +111,4 @@ int redirect_here_doc(t_ast *node, t_ms_data *data) execute_child(node->left, data, &file_fd); unlink("/tmp/heredoc"); return (0); -} \ No newline at end of file +} From 5b758d1dfdfd9ccc1114def16e4757810573561f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A8Roman?= <¨roman.mikhaylenko14@hotmail.com¨> Date: Tue, 10 Sep 2024 03:15:45 +0100 Subject: [PATCH 83/83] tidied up non-ft functions --- function_list.txt | 0 src/builtins/export.c | 4 ++-- src/parser/loc_env_var_handler_heredoc_utils.c | 2 +- src/parser/loc_env_var_handler_utils_utils_utils.c | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) create mode 100644 function_list.txt diff --git a/function_list.txt b/function_list.txt new file mode 100644 index 00000000..e69de29b diff --git a/src/builtins/export.c b/src/builtins/export.c index 2374c597..ce2e0628 100644 --- a/src/builtins/export.c +++ b/src/builtins/export.c @@ -59,9 +59,9 @@ static void print_env(t_env *env) while (curr_node) { if (!ft_strcmp(curr_node->value, "")) - printf("declare -x %s\n", curr_node->key); + ft_printf("declare -x %s\n", curr_node->key); else - printf("declare -x %s=\"%s\"\n", curr_node->key, curr_node->value); + ft_printf("declare -x %s=\"%s\"\n", curr_node->key, curr_node->value); curr_node = curr_node->next; } } diff --git a/src/parser/loc_env_var_handler_heredoc_utils.c b/src/parser/loc_env_var_handler_heredoc_utils.c index ee71e835..1a2e5c3b 100644 --- a/src/parser/loc_env_var_handler_heredoc_utils.c +++ b/src/parser/loc_env_var_handler_heredoc_utils.c @@ -34,7 +34,7 @@ char *token_adj(char *arg) } if (*ptr == '\0') { - new_arg = malloc(strlen(arg) + 2); + new_arg = malloc(ft_strlen(arg) + 2); if (!new_arg) return (NULL); ft_strcpy(new_arg, arg); diff --git a/src/parser/loc_env_var_handler_utils_utils_utils.c b/src/parser/loc_env_var_handler_utils_utils_utils.c index 8ac2693b..2a74ab8b 100644 --- a/src/parser/loc_env_var_handler_utils_utils_utils.c +++ b/src/parser/loc_env_var_handler_utils_utils_utils.c @@ -20,7 +20,7 @@ char *append_literal(char **start, char *processed_arg); char *exit_status_adj(char *arg) { - if (strcmp(arg, "$") == 0) + if (ft_strcmp(arg, "$") == 0) return ("$?"); return (arg); } @@ -41,9 +41,9 @@ int is_in_single_quotes(char *arg) char *str_start_adj(char *arg) { - if (!strcmp(arg, "?") || !strcmp(arg, "?\"")) + if (!ft_strcmp(arg, "?") || !ft_strcmp(arg, "?\"")) return (""); - else if (!strcmp(arg, "?\'")) + else if (!ft_strcmp(arg, "?\'")) return ("\'"); return (arg); }

    8B(*SBjomiTW|@Br-86(e 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 literal 0 HcmV?d00001 diff --git a/src/parser/AST.c b/src/parser/AST.c index e49cbba4..492a726f 100644 --- a/src/parser/AST.c +++ b/src/parser/AST.c @@ -16,9 +16,9 @@ t_ast *create_redir_node(t_token *token); int is_redir_node(t_token *tokens); t_ast *manage_redirs(t_token **tokens, t_ms_data *data); t_ast *manage_pipe(t_token **tokens, t_ms_data *data); -t_ast *new_ast_node(t_token_type type); +t_ast *new_ast_node(void); t_ast *create_redir(t_token **tokens, t_token *tmp, t_ms_data *data); -int arg_len(t_token *current); +int phrase_arg_len(t_token *current); void set_command_args(t_ast *command_node, t_token **tokens, int arg_count); t_ast *manage_commands(t_token **tokens, t_ms_data *data); @@ -42,7 +42,8 @@ t_ast *manage_pipe(t_token **tokens, t_ms_data *data) next_token = (*tokens)->next; if ((*tokens)->next->type == PIPE) { - pipe_node = new_ast_node((*tokens)->next->type); + pipe_node = new_ast_node(); + pipe_node->type = (*tokens)->next->type; (*tokens)->next = NULL; pipe_node->left = manage_redirs(&tmp, data); if (next_token->next == NULL) @@ -96,8 +97,9 @@ t_ast *manage_commands(t_token **tokens, t_ms_data *data) t_ast *command_node; int arg_count; - command_node = new_ast_node(PHRASE); - arg_count = arg_len(*tokens); + command_node = new_ast_node(); + command_node->type = PHRASE; + arg_count = phrase_arg_len(*tokens); ft_printf("arg_count: %d\n", arg_count); command_node->args = malloc(sizeof(char *) * (arg_count + 1)); if (!command_node->args) @@ -131,9 +133,7 @@ t_ast *create_redir_node(t_token *token) { t_ast *node; - node = malloc(sizeof(t_ast)); - if (!node) - return (NULL); + node = new_ast_node(); node->type = token->type; ft_printf(RED"token: %s, token_type: %d\n"RESET, token->data, token->type); node->args = malloc(sizeof(char *) * 2); @@ -144,13 +144,10 @@ t_ast *create_redir_node(t_token *token) } node->args[0] = token->data; node->args[1] = NULL; - node->left = NULL; - node->right = NULL; return (node); } - int is_redir_node(t_token *tokens) { if (tokens->type == REDIR_IN @@ -161,21 +158,21 @@ int is_redir_node(t_token *tokens) return (0); } -t_ast *new_ast_node(t_token_type type) +t_ast *new_ast_node(void) { t_ast *node; node = malloc(sizeof(t_ast)); if (!node) return (NULL); - node->type = type; + node->type = NONE; node->args = NULL; node->left = NULL; node->right = NULL; return (node); } -int arg_len(t_token *current) +int phrase_arg_len(t_token *current) { int arg_count; From 55712a7ee73240aaa084db168ff61579ec56b017 Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Sun, 8 Sep 2024 15:31:54 +0100 Subject: [PATCH 43/83] restructured AST, safe to roll back to here --- minishell | Bin 443624 -> 443624 bytes src/parser/AST.c | 26 +++++++++++++------------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/minishell b/minishell index 8be7ddddacc4a3f06827075dadecdf4ec7c1d76b..c4df936166b1fc5992cdd71e7a7bff5a404406b2 100755 GIT binary patch delta 8869 zcmc&(d3;UR_CM>~drop9NJ0`387oB+k(eW7keEtFR0x^LJP1nlaSbJ=Rw9ut#u!Uf zg{VvMh@r2hn$>cmDzkYxIuFvPJyVv)-)?RDvwf8{{kw%@%^ z6{t5y+W>>Iv|pUj!t_feSvWmTz`=yaS8!m)nQi6Tl;4(M@U^d=U!zohc-cY5k;N+% zOUk;vDSXG<{dN)>HH2FUEJB7Tur`;;5Qipu_U5(<{3uFc&yI#cvU!FEQxT@gB8@yK zsx0ee2fe|XO|yd*II6URRp=|Q8TiRK%(MqyciGSIT#_U!z3#HV%`%|6v%~g)d6?ZD zz(k2uIl^(A)%>UvCd>>jfEk>|ta#X7T}V=a%D8DVN4OUhN7JY*Pm!DwpO;Eg+K}_JOW&lD#I;lXdh3 zFSyI%eZdW8vPr(+fio=i1sAx3Eg-w+9E9!1}d^ zaDN>P6=1w$6mi4eaa9`jw&o!vV+{4|oAwZA6F~abLLcvVh_&*ARM^c-e$ewjP1vfe z!(WQ|!w#?#ppZTHhecS(IROv}73^XF41p8Orz1FfTnDDpLR8~nB+qC$vHs%# z*wC(6yIi)QEA)k>>|9s4eMgTTe+CheD|u6(}?YTlZuJs}XhS!hpi z$M8~mHngUG-sG5Fdx1ts#p^#^@lIr=s22@4b|*^1gwDH*z7(Hj3U;hFZ6Bf69JOphsNKaE6eug zIeh`}{AKe7;V$T5zBve70UolqkAzT?xA%4IxNx8-t$buzoQR?yg&P4ks(QbYyGY zsEhq8OB%*V?c!N=40w3zYVXdZHk5uhwM`z)<@+DsKG)eJ)E~5aO)%-Hro(@-V zO+FiqYjTQxIU2g*V*fZAaAMYX40QGg9*e<6sv&xCnGQ{87$t_eco6Po%ZO%4%iZ}M z&7Wvp{)_e{`*jQ+?Kz}(viw;07VmJg5Qip4f zZON~KcsqTEHT9#{8o6{xv%AF?3c!4!KrRolv|Fyomaa-L8@pA$ZejC{Vp*iv6c4SD z%|mMpeb0CmW)+T3$}dPCEoF^MDjJ=hRm4aC^BT*JPdAQl)S${8oo^1FVfIHrLAosDxyk3acs%FRn_vu$s$m_)u^AFc`4wy? zbJJFMN=|E`m<)Ho9s+m4Uqsyv1`>N=IK{IM>PcLLqhxRuvT1Y^UXi#3qiOov(4EYG zhDDU$eb`GGJc1I!9z!OLp1=^IJcUyvwwvTYqSneyX}Cj{Y4o-1L)4w}Gm7aOIf(4{ z$iGt-`{ijQ4#-7Bsgt9Ka!`&T6?CVt zSA*#`4cCGh8M=kbWD3N6HgP@PCz9u2^6_3W`Dl%|yQFwo()0Z%#PL2wW%Ma0H@*c_ zF8{q`70{Oabeu@vJ7p55vok%r^rmO`6v{Jjd6-E|8`GQI$7YgITrn99ZbZ`#sisLj zyiHjSe@N~}8cCBq3`29pvfnk zCvQzY+C{2~`)Kg7%#t9KQx&{WO4N^T_at7k)4opZ#>=F27;{o&-#kUBpw8833>XL%M*q}-SL_<6 z6XL{{5Pz_9AAAn|sV_cIT&~$wwu#l-n#m23s?OO^Q(mSxqIA zI$6pAc59~M%<5xQSCcke6vyC3F{!!aQG1Amr_(`oUYv*HR&y|6)h*E$zq`*xjgGlx zOh<;-058$V~y14<5bkxh$#F%LW#idBR7)Ap@a>4Bme&QRxUhKqbn!dY0H+QQQE15};^AC?lQj?zX^O?%xQ1k5K^`6t~= zKBG}He9kC*j(ChSDhVD`*^z13c*>~dRG&nR>X9@L8(K-eLf=z9!1hv7f2U{K&%{iB zN)3_GJ{q5y<7szf4UWTS_I_I3oXfP*xxHwvJSSSM{59AaCZ)iIrYtm5R%4@R!%avc z>PPr4N(UA#@1!ZTu9Ndg|H(XB&wpg~!{-zuX-xa*`!vWV>U20u!OVa?H20@~?}m~x z3tmxFvmu!L7sDo6?Rl_x46vC)R3`{!D~70pVS@ST5cL9>o=_|c06cU?cSIWOy zb|LYl{FchMMXo01SMr~<9$RGxYK$6rayGDRYsEcYDT6ohsH%Y1Br2hpCS49G*s{th zNG7oc9#d1N35z8K~7K6s{-7(9gGH@aN5-7;U zO;!niQ)!k$7B;uK0^ZVSCA7y`^jZDS-NRUew%x^NBZ?3+(}Z9ozgY|um6649m9 za&gI&PePspK2s0(MP_~g6{lblHGSb0is_U7xnwX6GN`1pU?Ej#9<-!(SO|0Q1k@)z z1=>TjKM$`w5V#Ie*?|d5}(Q%m8Mvh`kWNw z{yG73Hd){Sr0g(8Qhr|>e@6@Qp_+|%cw>gR*Xi~b^%!<>DDv%lr+W1M|lSx(hHp=b@~`u8SIKgH>%IsH7R zUr@fJ=DDcIxGH*{mpJ<}XJ6s$`^q#bM?DYaf#NRiS@jpre#F_2Ir}%xe#S%j-K3OY z*Xhn*aQaJ5|AW)taQa_7l()(jaZjn!RJ|(GRlO=RRJ|%CYA;&HQdQ4$kvbjULUiBd zoV}Q{D>!>8vgvYNrs{bvSEpeub^1z9U&ZNFoc@*CxDeS}IlD%!>?_#YIlGp#cMzM^ zv{Tlw&}3EZ@{)SFrAF^Vts2obeBTdGBAP~7Yq^uI@&lF|DC&P%HlZE+-11I5uvl+p zlxcz1i*~?g+9Eo;KGzQ8jLJf79-Y=D+A-?fQmqUdR9U2j((WtMqH*&o<=Ro&bBnbR z)cFHqHK&<2 zXf0@uexVJGMzK*lmw{rF_6wy{t=Z6oo3+=pfA?#315g~$PLa1dtvAhkP_w7@KBUd2 z+wZXEOqn0iexL>TR;#3){4eb-ZPD+v%~Y(Tn&}vI>oM&b86MZ#67`f8LBX8XUQjL0 zXpAnmv)XXV@SJ8%qx0G!itvK=2hDU*TM~)l2ki*e@RD|i?v2aZWU9;+Z97GORqH^^ zo7xAo$!}>ZDbL$lkcldLM>|C&y{j2X{HT3L#lNTRqze6{H6@FmwFFwf`&t)DyIy-j zm+%AaDN!D3bwqihEyE3}{HlFM*i#K?*Z!uppwTmJ1fB4|Yd=!j&$Vup*$XYXzX|0_ zZ6MY853QW0|5KYu;lI+Vs3fm7KMLk=?G!ELG%G*qwCPqpbd1li3M6kcttzN5KDF|v zm7HbeOY1Y+s+tH%$$t z9|*@r>pu_}{y-RIZk?s>@F+VVTa*odVv^Rug zBY2{KnTW|tIG@d)5WDwg0;|*xPMZa*G=js21#1tRjx496 z0*;@Z=;O|8SEKVz0=^(>j$1+x-Z^-)s3n2K4fOC3sI9XW##8MC*@Jzrq_=A!@OSq8!68ZyTp+(b3jhgT} z9T)EU3%&!ZquJUD_{a#ZUoYU!>?y(h1)Lqp^*I6_$voB~oGIX^8C-u-z++h~!tkl? z1Qv5&8wEMfiL+h^^4Dw|`PwhwN@uPY`ANswZGx`|xX7Es$3@NWap!*sSnI&yj>35} z7PbzpU7PYM*t&B40|5uHu>=PRICK)%&lhk6TaB9 zOHx|_|ABgn(Mhx6sm8VE$S^^0Vo%qr9l(ouY)~DQAY{3hZIhe9P!@{{r&M8<){^tj z3bQ;mo#2@Qo*`DcK){RGHiYrNV(8q3ee5=oj|sBPIL1kC$<{RoPq^h z=g0L88)Gm#LvXr)YebzJc4-lVjR;Q{@PRCDjqe@$XD$mMc$I){gSon)nQP4{8`Uw5 z%ol6bOUnQJb$!cjwX1BtzelaIfaPrNA^gwv@vQEU8UlwI97gdS3qzqz+oj9oMhO*CqvNi>@8JiCK$`RDuZyZnB0cFyyhGiT16nb~_Oom0JZPW8QM zw#viq6r77%_@LM4SEt6K-@Id|+gI}rBgJTByP_(Jaq$uoXWZi(+;Q;89%^CAv*jFo;mhZ@FqLn94_3M7{E~&p z3;QeQE$`5q_t>Z`+3M%yGSHQ3G-lk+s;vmyV)Z zw3xY$-gT%ZY{u1Pse}npmyTP0e;^SNNaY!e2{aw#2AYB2Yeu!jxj@RV>eimiWRF^& z=yxs-_m5CbUi4LSVQ)Zz)&0h>Qq7I`KGB>MD$u(#s^(@YRVh^zH=yS9gLnneMT7=X z9l9^#gQx~g6Ym9400oN`LF7j##K9n{O*O>rAnM>A%w@C_Q)0}BqrB$uD8zZ~P ziU++GsiD-tBeV_c8P-3Ka&s#2#(KD#>#^6VY&|Mcm^dBA)J=j~P^V54nL~G7W|)I? z^>RnIM0R^r89OpZp?k8M?A5UYqxWSuUeR5W`9$!fW@26os?*4H^_AZm%T;C5)mMR* z=LoMj*q(puYLvLsf|oa2ykS$jX}ZB5rncN|_R7b@6ooc~WN7HGvwJ1Nc#|}a@cIK$ zZZ3<%3Tw+-*Jhfx%5IvMKgio;w};mqbhpcHSFd{LR@mW;YP97Zwexfyi@hzW6AckB zT5_K3qG2lvuxc%{uD4agl~0JoRut%I&M~KKC@v!sD_XJbSy9r8qC8(jvh(hyZ#8!) zyZ%(PYfT*jzJoqgnk9R^4CQWMzq^hzW~kPj^s??q4?jT5IMXr%jU$sXIj$v101jSMa#fs2a zT2d>PolzfGIOD~bT=#3l*|*XTE?-;jg~>|&g`zZ;!kJ#L2Ya3+y7Zt9HBGCg9bl#A z4yDuf^H9`em}9J2L;qJ)qzc+w&k9jTsISA1^vr+gInSe^W1$$v)=ceeLBqJ z>&6QIIL`A%5guorglbPRx7~|gW?J_4rUg_a!u$Lu*pHrZ&K|_mPAU;g`_psI$-Dv7 zho^mS08e|n@K4}rj}x&8)QHwPCMQsNtzKv^Qru?o8B5+2m%z{4@!XMjfyZu6fky(* zkc+IBC`{&K{;}wuLXByz_%MY6Ja_cvuxr%-1*fVXXLfH2wc~~VC53X#Wm3N>57;S4 zWDe%?YAH4jrjYU&)Y%-=jp9VfV793&Y7AjfDiVj#?;LsGp=Fm*uogD5~lilPhi9oB%ZkpoFx5bcD3UW8C zDmJyOl0EN;wW++WpNM0rw507+Hd2$z6HXvH&W$skoF{Oj=p=x)b|G}Bgc}P5MRDPY z=cZ9pnkfF6MqOxwsF2QnA3B25$wn@yCR+oKS7Lq^`H6lb$lrXMvIX0mId@hfZH?V` zTZvpag7VB`TQiSsA3k2oo7ZSLKDJwC@C_Iv`epFB86YNP@LswpZe~yp-<46Bj5QD= zGATU7JWSh_oi3H!P|xAc^Eg&DH?dL`bR%RpNvTW;;(8|EuoK0rObYT01>ErMS>(-C z(sCqUY@@}jk@T8tVMZ3UuZ$N$o&s^yx=S3l<#@qwX7N=SBidziVF!rpY`(+;#L{dE z2r9*SSFxIP6~ud*JFH?Oyw<3>y(`_vE$QJlh~22UX`*NyzfUaMM2%;K<&YyRM-2^k zsjx~@UHr9HV$>e>wsX0|n#*Xd+^jx(RY#w_w$2wr-oC{uIccL)#tch>B6C=ll9Qe@ zEGa8{=rARHOw#CKL(@l_J#lQR(^yBuG^fAjlZ&HmMQz}VIyMf&_CE{Bd65r4v|U8b zyZFJ$Nvr4Hk`*zzq0l=Xny&8ZEOBfd`oLJ_VLxO@D|kqH}aF#;Ip>e z231Ada2MFYwa|vnY{6}_I6Svl0kriqcxiV#g4;+B`06+woX)#>P_63}ps{l~G_B_( z&Z5?*UTd-|TD*Wk!Zx@_bbyqy1I9zcp&vOG`mD{+XHUgo3rK<2g|rxA5#0i`hE79l zpkbhIrOy%iHuA%0+i4hjJ7^=~*hzz+{DgME+`fmNz-b}PgyDWV4DcZR1?nMEA&yc! z;`xk9A+FL%7~G_E^zPE15G6De!{4JYnEyz*m|rO!!3-YJLST<66}?}m7bs8Z9K=4m z+5*%NCW2SZxLSBkHf1#pkLW;+Q%Llp-}6l;dhFlqb|v5XGuH zdoh==sxM5VT@i827qEyu$@Q+SqcDWMp6n&)ZlnXuFfIHhB9NLhzzwJaQmvlw@jprM zQM)Y$sN;?-g)W^>;k>$#=VR5pa=IZ(Hc?QU9VMpbZ_omqv)=TU8nPXxOap0^yA)5 z+MC9`TcirtD7}{7i0<6GPh*EN_J|sd;H*6+HIBt^^o{5irO#`b#4iBakLq+DNGnx4 zW-#-C8p4;V_E1e`JMEDgKr9}sD7 z7`-m}Js82@7Mh4iwh<+>*g>_kS?r?2A}LlMXMc&Y!z!h7+p=9Ix2<#eHqzQo8p3V( zUd$*m1)L61S=@Fy34NDq2&Eg}Op4Zh2){OI(evOT_I+^T7J}caS|@J%eBYVdevU+L z`!~hp6DA|qgKi_oNr5`dQc6Vs9$cxz#l#+Zl0#UeT##kTp>dq4M9kVia=m2@|N#SXfF%GpU@ zTWivuv!NfR?a7QCp&1Y4COt*Y?=tN&1&YBv^+Co!WVvlg6p5fX?H{w$y06tzJsk+DPk^dt>;>?YuUaSGUov1IVu`ka2&t(D%$u0)c%B{ zSn&5IVWr<63H=9iu)>qlx^VlU4I2AVJWru?P^Z#G1T&2eW9;d)22+_qe@|t z#)nBj}`RZec73x+fSE^eeR;&Kl zYHL(Kh_!0_p~G3OQzIePtHW^~ZBU0nY*Zg%q)qD25L?s_5#d&K62x}Z4|&+3`a?9x*%WZms3_IZ=rm8 zgY2xJG_G@fHN8e}4F&Ni=BOc;zvms+y5L)G+r*6Gw)04A#BPbmS=2-9j@U)0zMe^# zPr}G5+zu}8%*?D1OW@}V)~#8cA-GfVxuBa6A}{jU5QVqGoUaUg-` zY}fg8()K$=VSb-F{mK^bp*x)ZV7h+LshBnTA*ZQG=@BQBebgxv6Z_2R1J0_+K5MbR zve@S=_BE$?)c$pgeZ#3hPD6iSu^)nMSM;AO`T=c37SkPC2&QvTiz{<}STjR8qM4x_ z)yzf_tcIcn8TlDi5{enfmV$r|W zcA|K$YQ(Ez&hwhZzHYH^SnN{Gj&wY*LV2jwke9Ijv&DX7u^(IPXBPWcE0o{t+Cr{6 z)AgGHb>r?m@#q_5 z3hHYcTEds+^8&?O%>{2uzOLAZ?=`^~O=0!y62DEaOHa3qfo$zO@6~Y*fNXTMTb((5*)A zSQguiOQ|fj8$V$>JB*4LaHsJSoA-0$ST`2OjC1f-WJF@z<3?rF_6cJKZoy)s8fN{4 zaTVGBr?DK{_)Ft;Cl)7-9Z1wE<5aqxY|(`W?dU85Uzc!{wZ z^So!Y!q(L88|RSHZw(v7cgB}U{`bbG$j}c)1z7xO48Yoz8ci|n2gYMu#t)4rp!{SU z1LYTE1@BJni7_A8Q$xX)eP(#0_p8w#$NO)_x0v>Gqd8{w!boBRyY{>BF7o_`k%!^` zG^Qc^m&RJ8KceMe41+uc>Bn8De7XnYcN)FhHC??&rH`m z7|e3jhqIXNx(doUuFa9Bxvm=#%skiW$f4L1sMUAVK6lMF*T=QgF?Wa_f$tAzhMC_V z1b=@RCGrI%uVSS@rT%Dk{CY@CC=8)|OBb z#l_XSw@-!}|9a2xg$zsIO~T^^tzq~h39sm7>Fe^&!Do?Z40sd69{i^)vedlc%uk_6 z0enJQCy%$(2PAw>~4AAPLtM z0c#mO~mflN7-bKU#?kVA#V=Z{5v`!LJ0jEhg>0L|zmxL#Y0>CpREM!b|r1PcX z9^e%cUdLZ_@X4`+vPpQX)4lok#`^2@V4uU1mCLW`_!L`0IW0yp%jcSecSKtHmJf!^D0(iQFb4FWM&7|{OkqdaEg#CwGdS~gpKokK!#<08Mqqtv?W>TCLPXS+% z)|J{?`m&jSCjvGw{6NAPZ7euhT0a+Y40ls2So3!0ub%iUw}eto>W|5#mSv+N} z;wj+u684gT$_i6RVQFw#rEn2l&2(sksGru!Qo9mBI zo%hNEtCiHdN&Vk-EQQRP;w4hpUE>hIDxVeX_TN9vrP=NlmR6qcN~9=aGpD``;}qfl z%RlA5&p1h6(9WXQki|7!1Z-n?KEocop(|go;IeyQgNS384mi@c>BHSB{O1qzj&p_j zbIDuDAdI diff --git a/src/parser/AST.c b/src/parser/AST.c index 492a726f..08d68105 100644 --- a/src/parser/AST.c +++ b/src/parser/AST.c @@ -18,8 +18,8 @@ t_ast *manage_redirs(t_token **tokens, t_ms_data *data); t_ast *manage_pipe(t_token **tokens, t_ms_data *data); t_ast *new_ast_node(void); t_ast *create_redir(t_token **tokens, t_token *tmp, t_ms_data *data); -int phrase_arg_len(t_token *current); -void set_command_args(t_ast *command_node, t_token **tokens, int arg_count); +int cmd_arg_len(t_token *current); +void set_command_args(t_ast *command_node, t_token **tokens, int cmd_arg_count); t_ast *manage_commands(t_token **tokens, t_ms_data *data); @@ -95,20 +95,20 @@ t_ast *manage_redirs(t_token **tokens, t_ms_data *data) t_ast *manage_commands(t_token **tokens, t_ms_data *data) { t_ast *command_node; - int arg_count; + int cmd_arg_count; command_node = new_ast_node(); command_node->type = PHRASE; - arg_count = phrase_arg_len(*tokens); - ft_printf("arg_count: %d\n", arg_count); - command_node->args = malloc(sizeof(char *) * (arg_count + 1)); + cmd_arg_count = cmd_arg_len(*tokens); + ft_printf("cmd_arg_count: %d\n", cmd_arg_count); + command_node->args = malloc(sizeof(char *) * (cmd_arg_count + 1)); if (!command_node->args) return (NULL); ft_printf(BLU"manage_commands tokens:\n"RESET); print_tokens(*tokens); - set_command_args(command_node, tokens, arg_count); + set_command_args(command_node, tokens, cmd_arg_count); (void)data; - //post_process_command_args(command_node, arg_count, data); + //post_process_command_args(command_node, cmd_arg_count, data); return (command_node); } @@ -172,15 +172,15 @@ t_ast *new_ast_node(void) return (node); } -int phrase_arg_len(t_token *current) +int cmd_arg_len(t_token *current) { - int arg_count; + int cmd_arg_count; - arg_count = 0; + cmd_arg_count = 0; while (current && current->type == PHRASE) { - arg_count++; + cmd_arg_count++; current = current->next; } - return (arg_count); + return (cmd_arg_count); } \ No newline at end of file From f0f59f76ced1780301bf4964769cc4802724a229 Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Sun, 8 Sep 2024 15:32:57 +0100 Subject: [PATCH 44/83] restructured AST, safe to roll back to here --- src/parser/AST.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/parser/AST.c b/src/parser/AST.c index 08d68105..3342b016 100644 --- a/src/parser/AST.c +++ b/src/parser/AST.c @@ -174,13 +174,13 @@ t_ast *new_ast_node(void) int cmd_arg_len(t_token *current) { - int cmd_arg_count; + int i; - cmd_arg_count = 0; + i = 0; while (current && current->type == PHRASE) { - cmd_arg_count++; + i++; current = current->next; } - return (cmd_arg_count); + return (i); } \ No newline at end of file From 050d58faed8865410fbda6c88a4593db39244334 Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Sun, 8 Sep 2024 16:07:40 +0100 Subject: [PATCH 45/83] pipe giving double free but I think this is the right way forward --- c | 0 minishell | Bin 443624 -> 0 bytes n.txt | 23 ++++++++++++ o.txt | 36 +++++++++++------- src/check_tokenise/input_checker.c | 7 ++-- src/check_tokenise/tokeniser.c | 41 +++++++++++--------- src/utils/clean_general.c | 45 ++++++++++++++++++++++ src/utils/clean_tree.c | 58 ----------------------------- 8 files changed, 118 insertions(+), 92 deletions(-) create mode 100644 c delete mode 100755 minishell create mode 100644 n.txt delete mode 100644 src/utils/clean_tree.c diff --git a/c b/c new file mode 100644 index 00000000..e69de29b diff --git a/minishell b/minishell deleted file mode 100755 index c4df936166b1fc5992cdd71e7a7bff5a404406b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 443624 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 ztY&0cII)Htrimmed_input); - free(new_input); + free(data->trimmed_input); + free(new); free(tail); } @@ -40,6 +40,7 @@ int check_operators(t_loop_data *loop_data) final_input = ft_strcat_const(new_input, tail); free_op_strings(loop_data, tail, new_input); loop_data->trimmed_input = final_input; + free(final_input); break ; } input++; diff --git a/src/check_tokenise/tokeniser.c b/src/check_tokenise/tokeniser.c index 47c6cf63..72e3c5ac 100644 --- a/src/check_tokenise/tokeniser.c +++ b/src/check_tokenise/tokeniser.c @@ -13,6 +13,28 @@ #include "tokens.h" #include +void handle_special_chars(char **str, t_token **tokens); +void append_phrase_if_valid(char **start, char **str, t_token **tokens); +void handle_phrase(char **str, t_token **tokens); + +t_token *tokenise(char *str) +{ + t_token *tokens; + + tokens = NULL; + while (*str) + { + while (*str && ft_strchr(" \t\n\r\v\f", *str) != NULL) + str++; + if (ft_strchr("<|>", *str) != NULL) + handle_special_chars(&str, &tokens); + else + handle_phrase(&str, &tokens); + } + return (tokens); +} + + void handle_special_chars(char **str, t_token **tokens) { if (**str == '<') @@ -107,21 +129,4 @@ void print_ast_args(t_ast *node) ft_printf("ast arg[%d] -> %s \n", i, node->args[i]); i++; } -} - -t_token *tokenise(char *str) -{ - t_token *tokens; - - tokens = NULL; - while (*str) - { - while (*str && ft_strchr(" \t\n\r\v\f", *str) != NULL) - str++; - if (ft_strchr("<|>", *str) != NULL) - handle_special_chars(&str, &tokens); - else - handle_phrase(&str, &tokens); - } - return (tokens); -} +} \ No newline at end of file diff --git a/src/utils/clean_general.c b/src/utils/clean_general.c index b8c16777..fc5cc07a 100644 --- a/src/utils/clean_general.c +++ b/src/utils/clean_general.c @@ -66,3 +66,48 @@ void loop_cleanup(char *line, t_token *tokens, char *prompt, t_ast *tree) free_ast(tree); } +void free_ast(t_ast *node) +{ + int i; + + i = 0; + if (!node) + return ; + if (node->args) + { + while (node->args && node->args[i]) + { + ft_printf(GRN"t_ast node arg free'd: %s (end of main_loop->loop_clean->free_ast)\n"RESET, node->args[i]); + free(node->args[i]); + i++; + } + free(node->args); + } + free_ast(node->left); + free_ast(node->right); + free(node); +} + + +// unused since tree freed on the fly, delete at the end if unused +void free_all_tokens(t_token *tokens) +{ + t_token *temp; + + while (tokens) + { + temp = tokens; + tokens = tokens->next; + if (temp) + { + if (temp->data) + { + ft_printf(GRN"token free'd: %s\n"RESET, temp->data); + free(temp->data); + temp->data = NULL; + } + } + free(temp); + temp = NULL; + } +} \ No newline at end of file diff --git a/src/utils/clean_tree.c b/src/utils/clean_tree.c deleted file mode 100644 index edb087c3..00000000 --- a/src/utils/clean_tree.c +++ /dev/null @@ -1,58 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* clean_tree.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rocky +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2024/06/14 13:21:30 by rocky #+# #+# */ -/* Updated: 2024/06/14 13:21:49 by rocky ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "tokens.h" - -// unused since tree freed on the fly -void free_all_tokens(t_token *tokens) -{ - t_token *temp; - - while (tokens) - { - temp = tokens; - tokens = tokens->next; - if (temp) - { - if (temp->data) - { - ft_printf(GRN"token free'd: %s\n"RESET, temp->data); - free(temp->data); - temp->data = NULL; - } - } - free(temp); - temp = NULL; - } -} - -void free_ast(t_ast *node) -{ - int i; - - i = 0; - if (!node) - return ; - if (node->type == PHRASE && node->args) - { - while (node->args && node->args[i]) - { - ft_printf(GRN"t_ast node arg free'd: %s (end of main_loop->loop_clean->free_ast)\n"RESET, node->args[i]); - free(node->args[i]); - i++; - } - free(node->args); - } - free_ast(node->left); - free_ast(node->right); - free(node); -} From 574eeae50d67ab25049734ed6abab574c85f4dea Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Sun, 8 Sep 2024 16:08:14 +0100 Subject: [PATCH 46/83] pipe giving double free but I think this is the right way forward --- c | 0 n.txt | 23 ----------------------- o.txt | 23 ----------------------- o.txtex | 20 -------------------- 4 files changed, 66 deletions(-) delete mode 100644 c delete mode 100644 n.txt delete mode 100644 o.txt delete mode 100644 o.txtex diff --git a/c b/c deleted file mode 100644 index e69de29b..00000000 diff --git a/n.txt b/n.txt deleted file mode 100644 index 628f6dfd..00000000 --- a/n.txt +++ /dev/null @@ -1,23 +0,0 @@ -total 2048 -drwxrwxr-x 10 rocky rocky 4096 Sep 8 16:02 . -drwxrwxr-x 14 rocky rocky 4096 Aug 23 19:45 .. -drwxrwxr-x 4 rocky rocky 4096 Sep 8 15:19 build --rw-r--r-- 1 rocky rocky 0 Sep 8 16:01 c -drwxrwxr-x 5 rocky rocky 4096 Aug 22 16:57 doc --rw-rw-r-- 1 rocky rocky 8196 Aug 22 16:54 .DS_Store --rw-rw-r-- 1 rocky rocky 1568461 Aug 22 16:54 en.subject.pdf -drwxrwxr-x 8 rocky rocky 4096 Sep 8 15:32 .git -drwxrwxr-x 3 rocky rocky 4096 Aug 20 13:50 .github --rw-rw-r-- 1 rocky rocky 430 Sep 6 17:46 .gitignore -drwxrwxr-x 2 rocky rocky 4096 Sep 7 11:46 inc -drwxrwxr-x 3 rocky rocky 4096 Aug 20 13:50 lib --rw-rw-r-- 1 rocky rocky 8699 Sep 8 11:36 Makefile --rwxrwxr-x 1 rocky rocky 438320 Sep 8 15:59 minishell --rw-r--r-- 1 rocky rocky 0 Sep 8 16:02 n.txt --rw-r--r-- 1 rocky rocky 0 Sep 8 16:02 o.txt --rw-r--r-- 1 rocky rocky 1045 Sep 8 14:50 o.txtex --rw-rw-r-- 1 rocky rocky 136 Aug 22 16:54 readline.supp --rw-rw-r-- 1 rocky rocky 1507 Aug 22 16:54 README.md -drwxrwxr-x 14 rocky rocky 4096 Sep 8 13:03 src --rw-r--r-- 1 rocky rocky 785 Sep 8 14:50 txt -drwxrwxr-x 2 rocky rocky 4096 Aug 22 16:54 .vscode diff --git a/o.txt b/o.txt deleted file mode 100644 index 5bf4ccde..00000000 --- a/o.txt +++ /dev/null @@ -1,23 +0,0 @@ -total 2052 -drwxrwxr-x 10 rocky rocky 4096 Sep 8 16:04 . -drwxrwxr-x 14 rocky rocky 4096 Aug 23 19:45 .. -drwxrwxr-x 4 rocky rocky 4096 Sep 8 15:19 build --rw-r--r-- 1 rocky rocky 0 Sep 8 16:01 c -drwxrwxr-x 5 rocky rocky 4096 Aug 22 16:57 doc --rw-rw-r-- 1 rocky rocky 8196 Aug 22 16:54 .DS_Store --rw-rw-r-- 1 rocky rocky 1568461 Aug 22 16:54 en.subject.pdf -drwxrwxr-x 8 rocky rocky 4096 Sep 8 15:32 .git -drwxrwxr-x 3 rocky rocky 4096 Aug 20 13:50 .github --rw-rw-r-- 1 rocky rocky 430 Sep 6 17:46 .gitignore -drwxrwxr-x 2 rocky rocky 4096 Sep 7 11:46 inc -drwxrwxr-x 3 rocky rocky 4096 Aug 20 13:50 lib --rw-rw-r-- 1 rocky rocky 8699 Sep 8 11:36 Makefile --rwxrwxr-x 1 rocky rocky 438296 Sep 8 16:04 minishell --rw-r--r-- 1 rocky rocky 1198 Sep 8 16:02 n.txt --rw-r--r-- 1 rocky rocky 0 Sep 8 16:05 o.txt --rw-r--r-- 1 rocky rocky 1045 Sep 8 14:50 o.txtex --rw-rw-r-- 1 rocky rocky 136 Aug 22 16:54 readline.supp --rw-rw-r-- 1 rocky rocky 1507 Aug 22 16:54 README.md -drwxrwxr-x 14 rocky rocky 4096 Sep 8 13:03 src --rw-r--r-- 1 rocky rocky 785 Sep 8 14:50 txt -drwxrwxr-x 2 rocky rocky 4096 Aug 22 16:54 .vscode diff --git a/o.txtex b/o.txtex deleted file mode 100644 index 7ac6d3fe..00000000 --- a/o.txtex +++ /dev/null @@ -1,20 +0,0 @@ -total 2048 -drwxrwxr-x 10 rocky rocky 4096 Sep 8 14:50 . -drwxrwxr-x 14 rocky rocky 4096 Aug 23 19:45 .. -drwxrwxr-x 4 rocky rocky 4096 Sep 8 14:39 build -drwxrwxr-x 5 rocky rocky 4096 Aug 22 16:57 doc --rw-rw-r-- 1 rocky rocky 8196 Aug 22 16:54 .DS_Store --rw-rw-r-- 1 rocky rocky 1568461 Aug 22 16:54 en.subject.pdf -drwxrwxr-x 8 rocky rocky 4096 Sep 8 14:08 .git -drwxrwxr-x 3 rocky rocky 4096 Aug 20 13:50 .github --rw-rw-r-- 1 rocky rocky 430 Sep 6 17:46 .gitignore -drwxrwxr-x 2 rocky rocky 4096 Sep 7 11:46 inc -drwxrwxr-x 3 rocky rocky 4096 Aug 20 13:50 lib --rw-rw-r-- 1 rocky rocky 8699 Sep 8 11:36 Makefile --rwxrwxr-x 1 rocky rocky 443880 Sep 8 14:50 minishell --rw-r--r-- 1 rocky rocky 990 Sep 8 14:50 o.txt --rw-r--r-- 1 rocky rocky 0 Sep 8 14:50 o.txtex --rw-rw-r-- 1 rocky rocky 136 Aug 22 16:54 readline.supp --rw-rw-r-- 1 rocky rocky 1507 Aug 22 16:54 README.md -drwxrwxr-x 14 rocky rocky 4096 Sep 8 13:03 src -drwxrwxr-x 2 rocky rocky 4096 Aug 22 16:54 .vscode From 50c1995a6725c454f8c489e371d827845020bd8b Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Sun, 8 Sep 2024 16:39:13 +0100 Subject: [PATCH 47/83] got through tokenizer, pipe still doesn't work but made changes i wan tot keep --- src/check_tokenise/tokeniser.c | 77 ++++++++++++++------------ src/check_tokenise/tokeniser_helpers.c | 37 +++++-------- 2 files changed, 57 insertions(+), 57 deletions(-) diff --git a/src/check_tokenise/tokeniser.c b/src/check_tokenise/tokeniser.c index 72e3c5ac..8e2fe4e6 100644 --- a/src/check_tokenise/tokeniser.c +++ b/src/check_tokenise/tokeniser.c @@ -14,7 +14,7 @@ #include void handle_special_chars(char **str, t_token **tokens); -void append_phrase_if_valid(char **start, char **str, t_token **tokens); +void append_word_if_valid(char **start, char **str, t_token **tokens); void handle_phrase(char **str, t_token **tokens); t_token *tokenise(char *str) @@ -34,7 +34,6 @@ t_token *tokenise(char *str) return (tokens); } - void handle_special_chars(char **str, t_token **tokens) { if (**str == '<') @@ -62,20 +61,37 @@ void handle_special_chars(char **str, t_token **tokens) (*str)++; } -void append_phrase_if_valid(char **start, char **str, t_token **tokens) +t_token *new_token(char *value, t_token_type type) { - char *phrase; + t_token *token; - if (*str > *start) + token = malloc(sizeof(t_token)); + ft_printf(RED"token malloc'd: %s\n"RESET, ""); + if (!token) + return (NULL); + token->data = ft_strdup(value); + if (!token->data) { - phrase = ft_strndup(*start, *str - *start); - if (phrase) - { - append_token(tokens, new_token(phrase, PHRASE)); - free(phrase); - } - else - ft_printf("Error: unable to allocate memory for token\n"); + free(token); + return (NULL); + } + token->type = type; + token->next = NULL; + return (token); +} + +void append_token(t_token **tokens, t_token *new_token) +{ + t_token *curr; + + if (!*tokens) + *tokens = new_token; + else + { + curr = *tokens; + while (curr->next) + curr = curr->next; + curr->next = new_token; } } @@ -101,32 +117,23 @@ void handle_phrase(char **str, t_token **tokens) break ; (*str)++; } - append_phrase_if_valid(&start, str, tokens); + append_word_if_valid(&start, str, tokens); } -void print_tokens(t_token *tokens) +void append_word_if_valid(char **start, char **str, t_token **tokens) { - t_token *token; - int i; + char *word; - i = 0; - token = tokens; - while (token != NULL) + if (*str > *start) { - ft_printf("input[%d] -> %s \n", i, token->data); - token = token->next; - i++; + word = ft_strndup(*start, *str - *start); + ft_printf(CYA"word: %s\n"RESET, word); + if (word) + { + append_token(tokens, new_token(word, PHRASE)); + free(word); + } + else + ft_printf("Error: unable to allocate memory for token\n"); } } - -void print_ast_args(t_ast *node) -{ - int i; - - i = 0; - while (node->args[i] != NULL) - { - ft_printf("ast arg[%d] -> %s \n", i, node->args[i]); - i++; - } -} \ No newline at end of file diff --git a/src/check_tokenise/tokeniser_helpers.c b/src/check_tokenise/tokeniser_helpers.c index df0cd5bb..055957a8 100644 --- a/src/check_tokenise/tokeniser_helpers.c +++ b/src/check_tokenise/tokeniser_helpers.c @@ -12,36 +12,29 @@ #include "tokens.h" -t_token *new_token(char *value, t_token_type type) +void print_tokens(t_token *tokens) { t_token *token; + int i; - token = malloc(sizeof(t_token)); - ft_printf(RED"token malloc'd: %s\n"RESET, ""); - if (!token) - return (NULL); - token->data = ft_strdup(value); - if (!token->data) + i = 0; + token = tokens; + while (token != NULL) { - free(token); - return (NULL); + ft_printf("input[%d] -> %s \n", i, token->data); + token = token->next; + i++; } - token->type = type; - token->next = NULL; - return (token); } -void append_token(t_token **tokens, t_token *new_token) +void print_ast_args(t_ast *node) { - t_token *prev; + int i; - if (!*tokens) - *tokens = new_token; - else + i = 0; + while (node->args[i] != NULL) { - prev = *tokens; - while (prev->next) - prev = prev->next; - prev->next = new_token; + ft_printf("ast arg[%d] -> %s \n", i, node->args[i]); + i++; } -} +} \ No newline at end of file From b1570cbc105dc7e6134e91469b937185a4908eff Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Sun, 8 Sep 2024 18:44:30 +0100 Subject: [PATCH 48/83] I think I'm close but there are errors. Fixing ast vs tokens list free conflict --- inc/tokens.h | 7 +--- minishell | Bin 0 -> 438224 bytes o.txt | 12 ++++++ src/check_tokenise/tokeniser.c | 55 +++++++++++++------------ src/check_tokenise/tokeniser_helpers.c | 2 +- src/main.c | 21 ++++++---- src/parser/AST.c | 8 ---- src/utils/.maxishell_history | 1 + src/utils/clean_general.c | 12 +++--- 9 files changed, 62 insertions(+), 56 deletions(-) create mode 100755 minishell create mode 100644 o.txt create mode 100644 src/utils/.maxishell_history diff --git a/inc/tokens.h b/inc/tokens.h index 4b7d87e0..13c3f114 100644 --- a/inc/tokens.h +++ b/inc/tokens.h @@ -74,17 +74,14 @@ int calc_stack_size(t_token *stack); char **list_to_array(t_token *head); void build_linked_list(t_token **tokens, char **argv); void handle_quotes(char **tokens, int *pos, char **input); -void handle_special_chars(char **str, t_token **tokens); -void handle_regular_chars(char **tokens, int *pos, char **input, \ - char *delim); +char *handle_special_chars(char *str, t_token **tokens); void skip_delimiters(char **input, char *delim); void reallocate_tokens(char ***tokens, int *bufsize); void parse_loop(char **input, char **tokens, int *pos, int *bufsize); char **parse_input(char *input); char *generate_prompt(t_ms_data *data); void make_history(char *line); -void loop_cleanup(char *line, t_token *tokens, \ - char *prompt, t_ast *tree); +void loop_cleanup(t_loop_data *loop_data, t_token *tokens_head); void free_ms_data(t_ms_data *data); char *check_heredoc(char *line); char *heredoc(char *eof); diff --git a/minishell b/minishell new file mode 100755 index 0000000000000000000000000000000000000000..bc5839066ed43f6e68aa232c706d81c3161d4962 GIT binary patch literal 438224 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

nOrrP5_pIa%ZcLv#o9 z(wvwiBY~_1s%dVz14|tc=*?cE*4r!1ea|T`dUe|+aZmP zBz-I{$k^lf3d|xK8}B11b{(*kRuCLpq6pxXcrAyhYBk$$63#QF9-W3hJzNPO^|T!zj()^uwqJ^N|G#+SA>%q#}|!zhmUZ*#C7T3YnsAv+1F;8kF~i- zh~!e>wxNKHyLZ_iz8}3X@XQA+B9;K+@G{F7UHReZ=$BElwyM1SuWygJUykCCroi< zDL32hAn4wfDzWs!)$PhqUmQm@ZUuy7PPeB_^XT?_bLw(7V?zIXc4ok`@2JHl=A0Le z^J&@D=0gxW>wU%3udk6+s)R)2juTOfJcgS&1?Y-!OY<<+dQvZXsOkczrKM71GZl?F z<29`pt5t}*$(1+OnHtMj=B@3so_D^<)k>RbUTh?33Io-Qsdv=`+O&v?U8Xf4~f^LX9j7AzxgpavmIS3|#ttoSJi~L0 zsK5Nem@FTF8Wa!7Adq%6heXF;atAfayrFBRn`y6Ox2xL}NDkjN{8O=p6DVNV`h`sW zOO-TdxFWHll$p*nyS9~C(e7ct==lAU)5i~|cf1{0vTlL{_v_8vAQrOJ-y~c*gc&aVIL?$(y(;%{8WsCsQ&>nQWtGW^r|XMY(N2YeD%> zE~br8ONS3(X$gw*g5RDciLF~oAI>sBC5qU%HFj8AeHWt;fFMM1d|`en)7#t*;S%oF zyYUQ-SoGMkzLKG_vLrSi8B>$$Ov>3hN#~pMeu*G794a+@9n+5xWF^72b~L4%2x2-g zB<`LX2kGH66v176*esSmgDe!*fzhTlp0mjCMcY6 z$7)wbDN%99HHVjN65yAnni+|_S*(t$y+OXZMN>}0PiTZQ=peTLO zuKHBpHm$P7TFCQRY@HL?+o-xiFnd_QvGz_h9Lnj?TwhPMSkE@>mU<1wpyR9318&8_ z11n?mfvgHnzJZV=6$2^Y{V)a(dHh(7a!k8`8nT5Zdqu5z7)j~1W(j{h_ApC%)zoT( zV;GwU*eY!etBNsks_l3DgfVw^HFey6N6=tn48$x-rNP7Y^z4!yQwueo(2t;!svn=; z2){g)&W-X68m^qr3Uduhg{4w!TwhBa8Bxu!z6epR4$ir6p+zCv&JXVhYVJRxPq5z@H8r8 z0OW0?$uePw45@o8#{qs z0-|j!TzGmlaV3f>X%^TWZm^epljK|^EL|p9J)4iSBTyWCQZPIrp|l*2;wbG{)-D9U z96dU_04$B;->qWJ;^?I6vn7ba6dPeo$3%6`kPL>z_*+l4s&3{XF$Fewd@XS06%{Cn zqOGi;h0{;k(cMyWeW*-*R5d9>>V)(LwAl1R&?gH zy%|1SO1k}pX!A|QjI1cZVA`pTK}s8C84h~an+t1eGFF{^n*_s;Z4Slc4rSOwIK~U4 zQEmaCMhMD>u{P0_k_fOn=Dp#(?jy9C8l&`jV#o9)KpT<}@c0B3;n@O0y;bZG5 z#DH#b_2J5^Gr=Mtaji1Q&=tAC_b`c!m`Ui?f<@7pX-uD}ti{X%WjB~q_FZ;HpNxzW zPV>#Twk!SR5f?oY)dCsAOp?g4<}qI`3d|ZPlpAb7-&)rHh!343BL%y7bB!f*v-dWQ zY9zOF@(OV~?HoC-73=G=4#oTMfwOJe>b^P0Q`!U;E-#QWsw*|?xkfyjA%BF zZjf5o&YEv8v$Gf%wddIFacOB~o;$Fq@lspcP0X)Lohn&MmT%n$u6L2WJkKYU z(^i7r5o>`soIARa;UzmEbeK$}jN5L|n2v@Q!0>7<9V7 z>$z}n1MppX*@kX?yE}vS<<^;tw9eXIgh!A+Jq(SgO(5UV5{~P?me&l=3Kk|O*TGk z>kGI?>A=&nTc+apJ=xRO;jhp*o*3qwR`#kKeJvo-_Wsb47SOv*t@Lui^Hs58JUj@* zu=n3ISvhv7hQSL$ZGBUI9#0h8RQ+&Xl2_vHeU!eE7oB{RzQMk?`Ua}5+>#~UBuH5Q zrtF}YX86@BsV%Y2qgp7InkVgFi+y$*mn96BN`kRV9NQi8Rm@qEl_(6DI+{)r)RmR* z?L2k8`?u3cuwI-z=I-uWjk17<6LZ&gTXo9+5PEH%?+c4nm-o1hcswzlH&3j;494+( zIvzJ9*Y9}V& zWPWF^oAV^o*PSFPv0Ju5a;O1E4caTXQLor!SGqLI5W|(>x78yC@Bl&~-evbiG9B5x z9IsS+ivw;bgpCcONk<|*2Mv#9^B*?m8vn@dB@@E5{9RM(YsGpGl&DZeU;mN38p`IM zX-?@8^yd35y^oN5Ge}tg1hD(;A!#pi%xa-ZMr@2sWM(#^0ymed>_<9gHYCILvH*9r zM0k!rj3SoV?@M3eTin&1wjM_Vl7?e-wbgkH-xM?xLY|JtVEkms!C4mgAYrBr%v03spWDpy&`IgDfn6YQ9E~v+0LwcWvrC&A6 z2!jQen1m`*R1Xp$V7C^UXc3Ua4==WW+#Vc4i4}f1C%0S>AHIP-d2~K5$ z79(%r|FHN!l0eA>9E@k{ZVjgdQl}W;-o?G{Ox$Q=z!vft^j%%v^IBdzfk41KZ;79~xjS*l0KU|aik%D5qYzh? zI-AW|IFlK-!Z^`YHhlcy(`wyCx^u_I?wkY}y9U8*9HZlD#)WX-nf=+b*)lgusO0JU zvyC&{sSQX-v$yp_ImkE5%{KEj#d%Q2YydFyLA|2KQL=A{zsykPO-KtV6{TJk^Y2bp zA%+!Ch4aU#bZj!WL9_E#d^{57^TdZnb>vY*C3C%Q!;qc`di9tCM*dA9hobq($BY0) z4{4zIEpY%FX_V1HN-ae@ zkdC||o{$~Pj$r3ji#s>_N&Q#?yoa8sL?4n&Hv<(iQiF!o@Ptid-c^ZytekJr4W@nw z6KoX&T-I&ga#kigkQ^1c0fR*q3U=E37z4lNQf0_FqIJCnzm(EEC0wgpMoThdG=@dy z?$?_xO=vJBf6sDqux30y)ox2rrjrXte#i(386B|6Bl}o8*Da?an)YrVa;kY_0d{I- zvE5okon2lbQQr#22sMV1$?=CEKac@EWs$`z#tyEcjA;rHH(q)caE8)_YyzohK;LPm zMtZLc(EHgtho=`l+YBtB3=BeA7RDH$ z{&&FH+rC-!o68m&;Jt*IJGmz@J!3DaTc6jf0HKn0lh?PEC2Io9fGXp@qBiW?D>Z=w z9Cb)YQ(Y(#Zb4JF^)*YxTP-8yV0wlqw;7Yr>P(GFNfN6x_Xv+?Gm82LXu($d&f$9* zpsSo_#IVggjU9*vrPI(5(e4F8D;wWv#2;M99ZTTJ?B6Wzjxfna8@*JUn>(|On|*7#w9QLg+hDMiJ^Ud{c1R%3fD3Bi`1bMH`Z;!poAbGkpNJBJ5jzQt zSQ>#E-xkA`jXt>V?mw85#RY_i#$WSHJ{&#tY`M!$=-;Rze!&Ou8qXhAY6mt{($UPNNd;K&G- z+aiP8#9pbU#^P8;Z}YrWASiY+^W3D__SEoOF8O} zp+Ui(!3dE<@3JS*T1a-J_fjvak;cY`PoscQV%tP$QAH{x$I+fs`_O8nh2VBs(jV+n zmQ}XVCAT#M@tP@X)$ALxIF{3A`k@-(SutU!eX6H!K43FI97xY)W0`rl{|{y#9-m&* zYEN7FGOaLrn_#J^g&FTUTaxKmQ_YBri5s0@rc>s;3T9Jlm_uHn*m8Gkw>7=TrFyYjIyR!2jd z@4Zc|KCxTd+9MBd*2{Zr6Jr0Z!H(7^UpIxzV6zSLJhOM}MvD~2gwA7` zSeR=!=~q&HFSQoiN}#yhTx9cX>=n($btH)G{N&RcN=AMTa?pU}+BG{vEM#5?A%tnL zx60DXfLuBXtKgvDC^0nOr#H-k7YBDt?;bVG2`CL$g?zcbw!1aTefQpcaQ5)<&2y}Q z@4ZQSr3a7Sev^T5Y&-51WNNxQgwu*`SorY~0^&S29R?q%`nHi8wTJS1)m|L1~z6Qq?m7X&j z`RaD^c=F%LhtPAzG-l+)ZjswTyD%qlbuuvn=(L!ymI$G2YbU6=7AH5C+H8G}^jgFy zHMa~UR|2Fv9hgH$G`Q?#Kv%=IQZsIeCK>yk5G54EoCdg@io3T=E7l#R9w8nJJ z_&sj8r9{q9WcWi`&M@tVY$Dy~1EiD(iE3NZ6d-EbpbYoeunpYI-B`v$6lkEhlB3m? zhggAky13$`v{hP3JXj(MX05}%d0%n)FmpLgz6E#PBRl$L#4uiSV{zyqnNWHnH2w4| z!hSik0$0Kfw4w6E9m+Hwc-HwF2m*=7z zgfA-Ik&R!oz1z}&&VBXK+muJdmZLD(2IDJ8WMxz~8lz`Me??UAQY7d)VC4yTKSC>xSyK zsA&Fa;kIdxD-%}VvrLz?t^?z^S;uy`Ie2`2&W6XTZUWUIV?u3)NC&{G>Bo>YjJ+Y4dVJ8SaUbV8X1i1e%5omkT4^z4w+lP)JVYP zg(Z?Ww-y&$(BeyTt;09uK(sDgZkd`wOx7Zry~4AD+1|YlN=v^y$l}hn^nFE^Od8Xp zIEhEbd#!1^5{lc1+%>D~6h=F*WurldU;gFVRwaw3XSHRjC-*szRM_g<(knt_L0fwI zAjM!cHb}Xe=ES*kb3{HMGW&~G1e^QB`GJ9N$1WOnmx&NuOtB8GKgd1Z;Y%_yrXr)Hl)&nQL)2?aNz686E>FMU+$ zW0L$11Rfde@;U)6YTJzNj#yXQLBoGCodg)zYQ&;c2qVA+g$XyaOx_V0F3ye`$$d9+ z7#<#IO|PjR?MqFvbTWNM0qU!JY-E7>d%TFYJ_ZAr3#mO)D&%WW4cFVP&7NGV$_V|d z^JSSwafoFu`wM{Pif{@alaY>3Gd*r0!YG`@cJ>BcdHV#`C#QKb556Qg4Vv_k!hlGA2sR(r-bkgo8dw{NEDYP zF3Qk@$5d9(0~*PAy2{+JeZ{ew?Qrd2k)1S2X30ua`o}4tCfUevaFdNpuhreWRg3~U z3csx$e?f(hTi@ustQ-ajyTFoejb4VWoH|VGK90bGyMZ-CrG~~}c7*n8-@vbOxz(Ou zWPY%d!}7ukj?hbU^XyqX4^7!zgr+!rqrHr0vM)5H8xXx~soG+MV~FH3@;YkL>Uh3H z4CX2zI=qY*3|zC#mrS9{>?l#L@_qJ2pR&wXt3m2mzdD;5E0!W;GOhDcNb9T!N=t%Q zwrr(__K0XI$mHNQ3xo!i8st8}>UsM3k!iIdDR2zeNkv&DDs-<)?W5 zCLya7rmPY=W=W-`s0>RF)N&{Lb~AXON`Ue|wt0?Q5b={cnv0b%`r+l{b2;~0Z)BsW zTCUwS;y^LN)>s~Lh?^Jtkh_=H#k5F6gpdU4l)Od=9BD?vpo=!-0^7SNP{}KHn5x1m zX^F_fb7Uv8%hS=cfUtPj*TB9Fdb?PFf~hhqyE?ks_avhdNqp_tES;>9XohMt_r?T^ z-rYYxjll`$hZm1eE)ilCn8Yw-JLM^-30+7LrVB@&mzohL0#vkrzHvyB!RGl-le%Vy z_AHMqUf#Sf0dC>4hUZl|ctr!17nOfr?1VWrj{G0Y-ngdr&Rm~u7;(Bm*)&;+T$Nd}MS&;cs))TxmlHo)ydp)x2JZmhtJFV4>|EiJIS z%i>h9ad>^%@P)sBfA{uc+5b#k*fMTx#wjL@vI8|VbMzzs>MHR(^`oyiMSc%53kOBX>fF$HHKo!(o?qi*jTkT6>CeHeUWmQhlHIaeZy5vAeXA4sw6C@o$0#-5#JWt)9ztp?1`dWwLmSG` zEjawf>yb2LZcD$SM<-%8v9Rd|7?G6rQo^!QQ?q`ZnbC^W_|;2QmnYT)1cv>i# z%N^mRiYLE)TeXUtMe|g!fy#fMgjG3 zG2~`LA!Ti~Q8uN{1g}k`7%>_MFp4?#Ezal{1u~XS6tTbnl7xoIwB0;s!rxh} zjnnr=dg!};@@etZv^A1=ZVQA!S7_vgTz-ywMNK;3Pd|e_A+5hw2%w%H2Q9)D` z2SEr($)rbYsSpWCOd(ifNP%cbkc0#au7ZN7C@6Nt#ol|z-g`mawXJJIU3V?(+R^p@ z{hnLin`Cg~Z}*=M+2s6Bm&GlGw<<1M@w@|uFxg<@2{7l z^Z{bO^&<%&HdnDs;<}Ji_l$NWG8MQ$L>4)CU8}7w zE`vuTyrOiF<}|{CRVEdO!(!CN(`#c;rtZkJlD$p+AYVXeQB~idbbzc-qHiMVnoOplh2j*5C*H#7 zmvW`kQ8W|w+B;@M0FWi&oK&qZw45lbtXEnM)_8!@2j!ct9_DC?&goP-xjtx27EOb< zKA0O|i-rjTI)tzaPN(7DyQQNC74IV~Q_H4^jcP?^qVIy#Bc&$@v>UyfAUS?&3hJZp zT3izgm18RGji=ucyinTS+1Q<#v1g2lupEoE#`w$lgmV{)9L2(#9=K$&laq#|2Sf5p z;>nOCVV(I8M?-ZLyc^990XqNqKD!q={L-dkn{Y)ydolBqQv2uj7yGY-{cp}hIG}*@ z(KxQs&CG)dd^`>l_$FXgn*;UHY~HV%lOrdy6&Rct?o7pXy$~-}6sVhjaqNd7 z2J%4-A4iaI!7frXZzrLof$&1s+t$QwLw~B(=MCAfClT+_+a~3E^WY4Q{@B0{H~UYY zg@nQjypr+eaEQD)st$|$?GcqT0BkUznxee^c^7`zErh2Xm5ej;n+cfTp*_*q)h$!B zv<#O@aS{_im1J4;jCY`~1&<)uB3q6S%LGK-YWr9ZR-+8eM{!9SItivZvnhZEs7^nj zaVFj_;Uci8Nah2^nLZj6Kl3{@!_YCPTX(1U+GrZzI=+!i1(;E=rJPkAUA&eYi_Edq z9ga0XyQFJ!tPN*kM&b+_L1h_OqcYXgvw;gbP;V%2%p)C<-z9^l7>-Aq#!|NldEo)J zxv{;#mVz+D6E~msfpT;?1!zQ?bI)s?~7AU7K5*J zofnCORE`O-0z*Fui!z4?#|Gv(phrpcn|(M$IZX@R^Y_V2=ud&X0|3U zI|dko<+12ZDYtJRjH1n0YK?nEnbL>p$?b+pY`En^Q|{)=qVpdD7$J}vNXu1JBFn(;R3~3ez(2K5d);s z!f&F!B1C1y37|IKC{V7=A@JChJ_j`P;In`>F@ATUpo-?cWcdvlNUhC{aya#7FUda9 z2&e6n2*js|VZP5qDl=oecW*KJnf#vbP#3QI%M&!hxb#pR5LyLgGvMt_IQSASR%o1( z(t&v9Ps~sJD}kB-+!Fb_0MaIS@jxf2)yMjOQj$bj|GfUf@qiY4qJeTW;++Vy&521U zrw==&rakVFVNHQFN?%<$0i#3;J%Ur>;!SdQ#Hs|(!)h_mJRS0^rw+OHjI0jf*;tr0 z=nZ$8QXwBZ@RbVc)a+~==9zUK{zDq7s;VFb6dh~ocgYc!(SL;YJXPE{@&*O$g_EWJ zmC9T=iRDXJ5D?6&0{HF2*K*uOn>C081RnF3A!DW%i~K zYMCWuOmjlxUIr(W{Zy9{Ugl8;PqySL17$I&PU}Dq6Hn`i_o`~1Ub>8#uYQTYBvuRU z#gT!zk~A5D2!61~r-<7-P7~`l1Z$$E7yZv%d^Y=(5GiMizbPS_H>WYFgb3&F&|6SO zk}y(41HAhQ&FzF-$3#4_X_jPsH*VC{>nTmTW1bF{+++zhj=5Mr8_IzreGtNebU`Z= z*Kl_q`NZ*XacD*2U@p8%YSQf1Eg%2}C`J$v6n|QGWmf4(L0DZi8z)&?#64IsP6bFAVJ5_GknMve&I7)f z0=sE!lzmrEa|!ndh@78De~O_w1P2py;WrJcKQKee&&`5XSbBa=hOxAPcPm=jXy;ut zu@NPC8r|^DBE+aKuj&IdQyJmRgnl|#XuoW(B9tM=D)z+ zXT#15P?S}ZX21Ms>^GPJ>yz{h+rMcvZ;ozqPmQGdGn0NX@EyxARPyp`EO`G6p{PC6_jE_eK z68kT?Oc~QdUksvt$7G%|6{{OI80M%Ig=iQUtjcJZx1hVJuj|OBIpdZ4NF(EeR({)& zE$v5hS%+Uq_>;r|nV6{1>Q)qY`=&#yWUOpO=_Ilh%9mIeTIb=MEm3@r)TTMgt83pM z#w9Cjk3F~zmT!o`-mIa#0&HMe%>b@m|E-(X$<;wRi@X(2oS>PXo1dGL53|6myqt{8 zINU$v#o=QyH!CAEH$V#djZ)kVIOcfZD1OEdzO}1|dkQvcOJ5#0%4C3ShE^3gmNZ+&k-d8h&@AOGS zEj)>th)h5S{Ao(QuYVEt)Q2lzj=)IC%7JY-yvyd0fvoqql1%IIp$igu=*+Zrb@DaE zOv9ti)cV5e$^y6>6mu$=9_4br)z;KjVQDaAi%X7LXZ1B4oz1u#2tj*87f+f{Wg`l) zEQ2~10aI&Sb3q@2m!xAMOmaDiU@3S(btq0n3?hr{wKJy8tidI=H92bZl!3Izr4m;_ zIMK6xd=1Em^hq%06W4 zmH#-but|^lI43HsZ)$9{Wm+VA{{I6gKE{M>??H%i^qnn~y*aBb8I0b^Mu zEEC~k1YQQ=+Y*hzMO9QP2WzdS3}p+yac-Wa=GAmMHW2f;2CRv)Cxz_8=a35$8}9l# z7eFw?OMp>C4b;DZJm^nj8xdm?1Oygac1=b1&=;WInhDoG7ER@&DfJ6Im+GYYF8pDoU->r(ls&73@qL7!%V zxH4DUUb46TQ?vxv8+PN@FBL6SDfqP28yZWZ;-~kSO91OC4Z=R?^)n%Esxs?;+6D zh!f9_=JuBPKpS9Kqqvy?=bKwun|6AI0lbF639&?bxB>QNGKa$0_7HPVt&5uDwX z>U(#*k3~6+^vg@aA|yfzDrz-$HMO-FMJ+?qbh4spw6p`tk?*rCk#d61wb#&e&LclF ztv>L|#P%wlPBDrS7%GvUIzxuiD2_LbeV%oYJioOmvD&m*<-vxKRBEsKF6>pR845r8 zr<+m}Y#ijSz1#pS*m!~~TS|2zl{m|M`vKpkpL5(;JE#^VUNL9r!|*Y+W5%N{nK@P#v_NX=9c}P+TnhmAP?Q>&UaW@q7mOcu zBds@?M1)nxm1?AXc&B6*98~S~WGWni8;_jItU^$dw+$JTWI|uvK~YIEx`WK0qH9r& zikIL9%FI5pYM?vCa?}hIl};>!$_XBaon~J()0F8d)Y6(|gg~d_b>(8i$zOJldG@Tr z)2jO%LHjXP?fwb$4V*iuW)W_qLe_qbl|)3AO_MsI^G#^7t;!(~K2CD3Oh1_EI9Zt8 zfur?AZ5f>?M;DO5GzE+fM9gkH*;aM9-d}*Jr=*fbCh-lBWNNBim1x6CkkAWQ#MP3Z zY|_;sxJL@q8MmIuu%W1~C@F8KgtZ=*a2O@oRYpI{G6U7wayTI%o{3^H9T8$6xd5Zr z`q!Zw3k-btHE^xLH(u%L#%>IVTKSaW@05}XUg)b99KSNFEzl^1^LRkK&Y(BVy*COZ zHN+B(5a;50Jys9+rDBTsyvORv9I=W)OAp#rW=*qCX6TLIb}1i~ms71mXlTRl0~TSm zL?9dC7mVvvo+%`95`BL`O~fFaVW-mx6k= z;SdNl!YMyo$HC*;WbpS9NX&yKZu6uA8yGIPY^4={d|3D;W@4t_zR(AIx3vWaAUIUus@KM21;aRyiXk)671q_F&!i zkP4#X{0!(4L6Hb9i8f)z+cF_nB*#K_&>d>&p!QWAsl29i2IaJwq~?LM0>&i>oYY#h zRC`!qXnkI)jCL3D6az)DB_Lo5OZ#boO56IS;!~v@Xat98U_h{bc}y#~FlZ)XOC~>H z^#_gsg~7Yn+YklBO&f6FiU20Am?h#1jH=GYZ?``Ir5YOzD^5!ktmU?%7-W-S&Dj#3 zqzc+()F)(3NRjW&<>~xd!zkQJe65uN5K5t_Hg~{cgxj(zeU=WQ6w8G$@dD)pIZmD+ zb~Pm47X&o1G3^l6MoC)6pqVmy53@|tx^IGX1ri#SG8NZt1~X8DQJ+3wPS z$9m}_+aYXSmGPhqP7OZSfS57ykEBVya!D>`2-x=d2!ou$nAO;#v#6V***tgZvrF)8 z8;D7efRp4%PH8Wga&Xy(r8Aj*WdEpkhdGnkmRrmc#xnW z2C-$X+VhL1g@?z2B1&@0Rj5L(LgLQ=mFJCY&2SGw#dQ*X|4CK@FJ_M=ra_cqchUS= zpK=*}i$2>gAA91{vXNT~!4BKy45p$mp2oF!+^Z-_Juk?Fv#F9=-iDdrBVST~^O8(@ z7ECZ)hu3}Wr!+gW4tFot!a5Z;)J6;mNxdMCcQYT+#y+7}JY}IITozq^;GHB~KPD!P z3gj2V6!KMXaAbq8Mju5cxECVk2>$j<6_SAqMZo*`)B-Z07U1XPTzhMXKlX{-d%jD4qdM41N~NDxe#SkR zN~6*p!oV1DkV;m1rke2r?NfU?qfk|npHo~aZflrM-XAmJKbb_%>g;TfH54L5??Y1t z8mh(5@t^;|c%1Ar+@mHt7xMio`)F?PpxY`-nQWAy>~shU z6onL2^kJRI8Zt#Ls z4jqai@J$NQA~1_-pKeue>*d%AVL?S{*sEo&iHe3K>xuaz1#YpRV8jVVJ8qaJi6(17 zQ4ww!xBR^|S7ZBT(Lhcgo2`JOq;Ysb}-7%r$ZQDIU`9=duP z=QW@r$~s4_^uLW-a&dug145N%SS3{P+D6iB{v~oI*s5~|^I(|rH0aV%Z9gZVeT$*8 z8iGR-nAu1`c1RuY_>^NYwQ<=h*QU}MELZSFw+WU`1Un+iOkV)sf|MY%!L=PaySBCx zI~Q)3y-~$rkO->buEnOVW-3|&8$&3sdK<$;ErLEm!+t*s!4lszLaqc7{RJ(J2Xc#7 z(b9sla$Ji zPce>&ChVEpGh znIJWa@M>RZqERc(=rQ6TA)t230Vm0cdC-Wz=|gR9P}HfmcA}sx=ivrV`wteuL@W)K zVbH@qE=GRvxELHemQ)l1fL==xqzcNIumBUcqL>#&cFk*PX-3&tfAqSBSxPO6#6LB> zRZ}roRk#OA4XO8t49q54>H7-H0|EixsA#dW0flCj2XbH1S5&MM{QDAY4k$Fi98Qkb zCKb#uyiXcQAi7l?(@<0aFUsJ60u?Z>Z2Cl+6dP{ z6MesX!dWH4Qvx!$+m>@f`i? zcC5%rm^Ld(z{?_i!7R@~n0fX)zr$ri-c6yfb7U;IP}$0AF-DW6S{-y*NBX!dFr5y&(W-(O-jo!g>rX(t%pBErUw9#jO>EMY8R$B|4LHR|^EVpNaAG%aOT$T%|;Ny?^Ay~PlLdl7?WCSem}051+0A9EHdo0wz=>g1I<2mVis zu#zS5`Unvw0l*N7yh~96byDw1bq?g6!eGmVzVSU(xH!7?FRSq9$8&590J=u{#Ro%Z zRwFL;afzG+PNlJ{9@(8cUoUX=~A1!%q~+}ZEWih58;7!sM_ObM^3nvE;D-GTsjZr_a3lh&CJNgK0~&m zHMlmGOg$wTG9Jd`tl(pV&sm+=F;d1iqt`OWh?7{&!;=+Is5OU1lKJp{e8Tw$z8az z)>^cY4IcNVnl!W07}be!xYo^#XThCiHvE^zb8*{GMjV%W@K$o@)WffKTshXp?Qu{j zsjJW)l8}#{NwPQ~udD#aQ}rovz;~2`gMZmUXtIfyWuEJMve30!>D8YgZN zo0it;IXqfY&X+*HeCss)kAs5I_Fn9OxkXW)K4X2%?>*;Xo@WIA6tEkN8t|{?m`(I$ zK^@JegVa&Os1N-(ay3lCgBmxFO7LU&Pc&KFL{nria$%rWiH%ABXk;a4fHnG>P3X|7 zxsQ#Ar_G{-hicoWG<^IUL7jq{QQg5)22fHPI~YnL;LSq8TpZuV0^;}syfv=!fj@1? z4RjThB1EF`l}CX5+imM55NsoQ(IRrX1Y0sHoPdJiZn&A2q9x=7g5IPly1JB6ym?p~UM%N4yP?^F0r0u# zeb!D%gCh!vPsZ~k+Bl+^qCKXh=^t?f1Y3i~?tY#rVm2E(vxq5g7UHyGYz#*RbdYaFlGp%d1^^x$x&j9}5YYDLDjag7=w-+n6m`5wBk*N6*JM zZt6!Y8wFf9vIAC|BbH{eg?H`@9?P5EGj6FUDXyer{bYQu)xOZKz_I5oF43ybJ{Vsc zpA_0@C;G_aSJlq2&l@7jD~I5-W&T|FF5{x6sH>>C8#`&wXd1tJeWx^c5~;otf+eQ$ z5I`h%T#=O+Xy9gAvIvNSPUx>@m`Mry2oXM$;pCwjr#yrh+6}B_N<0=2T_F!veV_Tx zfOlj#Qpg|y_Z%bPj1r5OcFuxd)R4%Q2?RNleWYkH7Bs&t8}8V}`HJv!o&z&2Det4o zuT-d}Lp8d-4C>To^Ev}G143)=jpyO2%B1^Zn88C+uxp~cVYI*2tDdvig<+`dnIQ-@ z7?^&lLm+V8+2JOC)nlP1YJ$cdt?NYbv833@Q)8l)VN!jE2SkaAYHnY}rrBt` zp2(W9LKB!LDe@EeV0a*87PECcaZ=a(rb$TQ|A|c|!)EyMSEUewsFok8?BVR5$3n3& zhoq0u?;HVpUtFezT6DlNU%kfnyE~~k*?2TH$ja3R^Kc#vbzG?f3XsRvfL9B6Luv0~ zJ)jFBFEJmL2`k#?YOcP|_>kUi1IiSHBIX7*IPoiKj!javMOE5h)5Z3{8W(~(XnzM1 zJ~er=Ep*Rq?q}RmY7cEc%v(xGl-V2FiRmhtI zy^U?%ymJ`$8;OcDt_P|sqp?9oc5a}gth}b=fEaIq!InbV z2^e(=!AhKD(xXir2HHGAp???1PLD*bYGBZS+NTF_U3?o3KrmDt0m0gZElqIiJgG&+ z7<@SmonA(N1t5J=WmYB+nWEAq)2nc;H(0n5ScFzrVv6A=#yCzRO29Q0;mnYolr1gpQKSqD&xT8A&J)XEw-$rT z1fej^g<3%8{BEg{w2V!z!DUnM1_RA=xD~}BgyB>5M}<+P5-tI;Tpag8EL0)RI9b_r ze8B|s2~YqOh#XTMl!7a!;iw9367}klk&TAK#TELJWlLuxrMempbJ%Y{Arv{C8eG)M zEy-a0QGF_SRmZ^7mQ+BK7LqVon5G}7R15>+n*g(=%Nw3KxC^(T8H7uQLy-%vXeCq@ zsT2&(M;&N0Q&a)HL{y>@7@G+(KqVD+D-M)1dNf?D^&tsIQ`KO^a1Ba*5p;*RK!HwL z*ekseSFd+8b0ko0P73Ii#Mra~KenP_`~ebK^fhxw)6mc8|6+6+%0p6lMK!!z!N~-0 zkll<_3^l3^6o}=edjkr3O8f$LLo(pigf@*OfYO5kmm=Y4%S= zrJCeGLyWBSmT!U)J@5kO0wMVsvpP$4ZqLK=KSWHp!RQUPNM)%q&8_Snk z6c^MM#B$ES`@ZC^OpH}Ou zW0uWxUK?yJP#aplL%@gXWU@NAQH$#nge*<4n9~$$2HxV_L#2gm&>=2{W_m0W%WMCx zl1qTlU*3dj>$VR~opa~H5D-}xqebP@V$f70f#_*bXVsuTpqJ9!oXObqme61dm`4$P z46fK12oxbp<voYFJ>#HiE9|hDz zSC!ONkl%=9p$N=bQ3=Y+k=BDuBI{Dw2*j~vM$4!c42(uGwYXCc#ElzaIY%%ENzB2S zAw&Z8v0Sh#RIQN7&x4l|Op_Aqx-k`SM>8|T$#@J0jeC7co*|5#uW?Lflah5L2=Sbpb}^eno?6e9bRd3@&lm69i3t-DiBRX8|lqQ92%9N zlxlE}xr!(h*G;eTbDSg;O!N3nU==2KZ7df>fP5EC1&NdSEpykK5lzjI%E1&7$GU1} zDzXUTL#`YYN?Ad2d_XSaTo-UVcuiR>Te^Zm)L0JM0~D*_Bm^kvC`+S4OuK@E-^X%{ z)@BHitt`ii1z!dwpq}V2ESzA$Fk)Z|WMi0*g|WK<8n(?1^BTM7NIS3$fquo|;||rp z3R1*zD=1{u;P)8_E^``AQ#m>_VmWAX&D1(W>hJ_|GHpsM2cstfV0w$@SYTJnNr^mh ziTMGsTr`t@U=)cY87eG=ue2Ce7QDhcq`;8izBsr~D=mW+C*=D4SlWgX1tGzOFh8C- zapeUf)bVCn+Csq{dot&tq&r+mNQtm1gHO?zB0iEIkr{Fvv0&iU|$cU#OQi$T^wj^ z5?a+$8(ax;wTK*j8bOnU!en}ypMpHv9Nlp6NaK7m5sAogfqcR zhMBWrPknD=p4%^t-7{1q=+dO2iTeV@GTC?hC0Rz4d~g>mE@!n!`?a-KpquAqaB~U6 z72azuK+_yPGE+^5yCyX?qsnlB$ti0mDz_ROQwP;LHL_~36g&s53GhpA z&**hrLV+mG*ilIV#7ob*vw<#K0#JYgVe~TSY3o`b_Y%*?*Q!_yRD)cY*oGSF1}Mga zcbh^v3!T~8?R#0ZhHl&%I_I^_2mZ~+*q|HRTN;j904MKV0devMDZJXHV2uJ&sGfzU z2>J`yz#_yiTtF*L%BRc`BgZW-uCG?3)0OZ>Vo~aSwr^hJeCR(-VBrsj10I#GmbKR5O&BfmVeWL`b^{s>b)jl zK91>pd72(qull-0)e*H}w{yg05OqQFRabzN2Hmxwh3@w-N(-Pfth%qKaX!Xh_*Ar; zWJYyI2SpTmUIt}@ri$kZp_uJV zKqfL`3OVMt%^3d2`$mJMTL}{0|2Ko_O4h8 zF$Lg4NuHQ4^R9o9lnixClTfPKnSnsa$GS7nwfNrVh#><7#jIH{s}H8B!L%!tn#P(& zs*Vz8g9;Q&Z;rac8QsD2=FD$|2Dg5Ks;b<@#sm5;Q#tj%uBmz-w=$!Om{9&+m-nC! z&e`T`woUd8ge3>+MPU9UqCY;=f(xjjfPP}iG(#<&VMaivW@{USOU&FLI7o_x8&n-x zd}Bi=K9^5~2a(S(mg006Xi8vWHx|?utj^qygY`$;0PcN8EC2)Y(&D1}Vw_50(_0B8 ztx_BSgXM2%@E!v6sWPv#y&W%jLL9zfp8~kRaVE_U(+JenRMRIcb(b6Ptd4?|sw|!< z11PJRen8r+1+7$CU^HPLRF$5&a1N1}fIP6C%x{>5ZN20s+c1jWS!T5|6I5Lt^aZwm*!1TyyLz~lk|xwMU)6+7jsYbd5OiP=*gy2>j0%=Q zZy0AdQ@D#o4?!~;V*HX~=t9vaekZY%Z8p&8SY-ostZT={M(iC+rz3gaZ|vgQ=~di* zh@&F^vvh{)%9^Ru2iliXJ-A}ZL^mjX7u7v7ex~sCy~m4DFilC_DNA zxOE3IqHd+My58sJhf?6+|7JN8ED0oq1)9EoIuk}yUa zct4_L<XY!NfNcD{3IJ2{e?# z7)4!xicXZ9wQ$#Xaa|Qo0-@z7SPz+BI;SjUk1%kA#7XSrkg<#_(U^jQ1tKW0V}lM5 z<3yuN4H|%Lt)QpPnX^G=hx&?FK&ay_YJ^amq!e369L1HxqcUU~nW!2%0HRPHGuz*( z;t7uzoMYIC5#xC-n@OyoyBqb9bQYDbwVsOPj4!#JhZN4x=eF5gJoFsH%fKG;{d3!J z=_gOg)vg9a!(b8tgGn5EZZcJC0NJ)vsZKgycLCSdgqjp%Pb+PtB;4e~d&%&ps-bEK z&;MvoeKj}iFiU{Cx0Yb84(u|P;MXu&iMvsf|5PzI^2S9Sf&N}*{0rf8a0iHh^?6O=-HQrl); z1T5wZO3i>j7?m)+D2Qu+|A6DjppF}U40;BNu9hllilWUsPXINbzyVH4qFAEmut2GykxC;_ngXQf+~J5%p++dj7fq|HASPr8CNSN;0c4$x z)3NTOLHtw~fd1l2Kva%1SRol8l_x10_5KvL`BqqCVJwSH*U?@6;jyc>C~~0?^tkC~ z1tLvI3Ff9?VjUMeG`O{`r5)l@R0h~lM_mhoSUZmsNLFqIk^s@xiM`a(iSGBh5{J#q z6b%5TLO=x;L_`#AN*JIU2DvB3O3emz#RBYg^c)uk80&?PCSuBpyi0YM%ob|u$UH&I zu!K{9Ad)o7?4Z<5U*_a;0@Eu zQkNW5w7QrWfcc7ci9(xIk7O3gdaF8| zN7xvysqB+HL)A4o_vSj7TB4F^f$D9QfplED+-`*VrHH8}s{T$iD@Q^f>O_2|h@qj1 zGLR&Lq!fbjil3Fz5top&U}+sVSRf`$Sr=h|pl$xOB^E1*8Dgfr|u z-)7)j!vv5if`+4E5wPu1TaEw3TiOke`d(x_oBXD&LvKft?ig?$mE>oU^N@p`4$*3Z zXa_;@rWPW4nEKV!mR46z$5o$|Snx5Ppzl>N9fOIR&%H40-^X`=qwRO=l88Ly`ob7I zJz|eSztLT|K1n&f0QzCui8SUz2sz*-C{}fh#Y^0l@jJ{{ey1M&{%eety~>9Al)Qro zuj9%kWOpdOqK?93@7uX8b0OqnIe3fyTBSI78{hJlrRfcE_!5Nn4t`{qmOe2vPG|3V zc{zx4apiVyJUcTtHzzkcBPTZt+Ut3_8MsG7{KRMAlZEQbh430T5#FhD;inug=4ZiS zc@8`b!E-fKhhX0YH}ctWI5g+9gEbxwUU(o44@q-R~Xwmhd60SC6 zo?fCg6vg)%v|F^R;#ezB(ZpkVJiVk9e(SR`VXXj%_3`}lOk9_ihda`;Th&m)g_;ay zS(WjzPL&um93g7o-`jd-c0Mj!%gMto3VQq*@l4o>vEfn)`3}v_oEXoFXXj_+K*b-* z{`r|1aP^-9{e(<-f9b1SVhY@Bd{NyQmFLhK=o)--Yr2%(kd=TaNiP?GRaZ`WURE{+E-x3h64dl>C`tG( zV`47GGmrnXvh&m720b%7Glv+Nl^f3le&%Fk<>!qRCllCm$YsRTm!$%re~N>IDb?(L z$b}i;$1O6aINGX%_FZ`;nk=WzJRh45cTPY93<1%H5hhMfCNVx2W*(RN)nwhGtl`-^%bPF!&^My$cS5EPDQ zDpbZPkLo4XgY$QweFRpnvM3(+u15n=Qnc;Aq--8x8yf?S`n_}wbjgywfsijCDkgsW zCMJFyLz9oG8wYM>r{`sq3vMVCK0k(F0yRvf3kceBfRV8Kov|?xEQRm9KQ)ftt~sE( zHr|loBOSo!bX*Xa121avyqs*@*oYe%;V}i*H0ET)acc*LKQkZs^q(@i|B-EZg=kTF zWA8C*8wIWTa}&W3tb zF0Sg#iDP9*&%}9kb{1~)BuZ%!f>n9eB`EQkq1m9D-U2mHs_ECy+=RC!;ch+K3utP9 zx2xsN-)&vTw9M}mZD39Xij_NIwFn(x6~J{k+~%QUD%dM#eMw#=uj~v%E6G-oDh-62D%a?)sERODbXI{SWngqgvm~5+L<1pWqmbxt0Y%-cFTq3-Xy6qFT4 zj^3JN9t;C3TKnoiSZ~AZ{mu*Rt!^}$o5{V4QG2s@{}C5>{h#K3RXN~}@`T;QVw6F? zkr+yjXrPS!CK0b6-oaXi`%P%bK-F8Xqgbet?S813Z)X)Il)17_Sp+6+n>0<4$%K8z zz$hkd?5N*|{X5)Cl@}C2g(%M5J;=77i8X>$`12IJgD|x z2gGTi;7LLa2Zl0O{QR4QO-*=EvcB_ObKTz14wUB>0_oqX4wOWaT>$cGGJ)-YkU*f9 zp8^gP!8E$=k84<=D+YX}QU<;J6poKFPMJt?1 z@h}xMAmM=oMrqurhKp&dH!Gy!vJ^_g)n}VPm}Wn^w3}(^)iwG2>@S_r?15~`lW?AW zc>)qZn1&g{M|068bpz{4s730{_&$xZL&crhT#rZr$@t~Ls$KyT^ii`9okWc|Z5FSkzE`p)`&{N}P zA{U*^_^WSmsy-|L+eMUs5MI;ZG+78M1qY~z5b}XCz}h>wTG}~h3ucOyF9aZ25Ef)) zX7R?fyi$Ehoq8`XKywM4`H5#a95>chAD9M(5a1}URZq4lHnwM|pORHhjx~4M2g>lw z8~ECn)#O+&^dDN-h3Y$A$TJ~c9)q(2Q6=QFsPl_}&*Uwaq9?KnMkdymIRgDa_nG;M z{!BJaxioou0B@(j19s*89;)4a@fyv;K@0?)*cAK*;)BK~$QRVM8xn2$L{7qU*}asX zNDp`~#iH`F4PPfE+eeugBCPT6qy{Fc(aQ$fEciFjMMKyF@CHpSa)KcwzB-yO6bEV!q;VD2(R0Km87B2$K%Y=ld2X{ewnG9 zy7mQ3T-tCdM#R$wz(tyrZ|A9c$!3`QIh>-wxLhRQiczmEC=<>TvEGeYX<(Xfe}MI< zj{|-wM43u7aA)rxht4b?;KVhNVt=6bAnb=rolE z{~|0ftSJR*TroE_sr)NStC~|W)no(vt!|ofvSxM{B(grJPv|c6a~nx} zGnt&xKe=V&gQ*}^)oT868)irZx&34$qOSJdep_ zuO@qH4krQWa#-c7PKN-5LxAm)dZvImIrjBoe~En*QtG>d><}tqmv3pG*t3uwgpXS? z3;qKG6eiW>{;K;(2z@Q}6TRg_Qb+_Ts?HEZK`bOd@mTOgfrXw*a|;`B!h@mk z?SMGpNm|p=esdQDI#dfLn}o=dhHXNEkw8z-iJKaG|9eo?k>$+{v8-oY+5H0O0gJCJ z#U*>&zq|TND#_k%qBVWxG19Sqc@hyodj^md6i74BJ*;MO4FxwMJ3k#9Xq)>idze?| zTm@&@de(9lllICH09OSVJ1X=|qzOp~QxXK0{h6NcYKI2nHCb!ah7C4W@(2w+V^B(zAR7qY_0L>uV#Qu2ZqY#j?JLc?gfE;|bWQG(^QF#epIj0U{y`XI#69ni6x?UNB~X)zZlC57JoDP{iyOtqGY?BC-v2D#DdzfYz5#D{@YLN;1%+KQhFAgdk^O zxeBmyn^0H4uC;${HJ@WDNOMi8qT1q+zriU72TFmPTGPzBE5lozFJDx{)KhJS6t%`7 zvD_`o+%$~WMdDgNwXC*8JpYKml_FIotFh-peUJWSbtpBfgF>t7V!ih(#$G0oeOo9j zS$W@HYq#BINxLUB8Q3z9s){z0@??jBQsm<;w2WY*Il0wt5lXu>{lE75=pF1tvN^`W{~ znE}r%MKLu+1mi*50M@~9z4q(~)xlnhqC@F9|1=&brzYG+JYCHda5P$K#|H z`b=nkLGuO2M>!Y-pTs~e&GkKlg@$?&ukO>^-b6y0M2OIjmPx;16X|csK=&Q8dPCM> z`9I8oEZG_NZ%Dt>KX`8iJuAh$>$|~cl1Q%;TMDmweVo$!U8)(4R8i&?_w42s*1)m$h8@m z^71xDUB~8FKv}wB_E7&9RZ+VgKQauI_xHXv4H@W{^*(k4H5Ga>wZ72O4h0*ksanL% zydv0^=M$dFKXwDX{o!10gdnmI*yAzvK2#m2fTQA-A z5D;cxQ=!3P&Hy1~fmHCQ1+a;yM*IAhJ_5bI?OEsv3_PV7Z~e7Whoq$0=dT_l5xS?X zSR?$$#L}qg0@CHN;NAb-E=*bVfiTG&;;AuZ}^c#Tc#i5mD)o7S7EzVO0N zHTb!XnZJR*^3tLP{?XQ>Cu(3*M}F(&te^^=P~+v5YTy}OTGYUw*tDLgflVEg<*#24 zgza~|sRlNcVgDF-x_z%FYG6~xWciUq6U83ruFat zBK_M`-#Z4L=A}gqe6~&Ni5l3{FuK)G=B8N9zvS!{SA6s(~kZX;A|&wrM?4123^@|9$;U zeTY9g+kTPZU)df58~zn(mY03P*B1tU(x(0QbscQ;>WLb7h)wICf4y$WA-?`HaD$f? zHE^xXt0!vUI-Ax%f74N>PySQ?m^}si+Q6oc$#CWO=AUNk+J7w9=-)24@ARe`_$n_g zYTyU#9O;P~_(7Z2zb`h^c?|OMN;U8{URu<^m)NwPsDVu#{}+9c>dW82rjGxM{1;gK z>4_S+$ENk~pWi!{7uvjfq6WUmrv3N%=h?h^q6W^lY5ntW()~Hd_G@pdfsgdkq6WUw zru9S(Y;Y@C|39zGe#KV@1Ha~_MGZX5m%o8c9h2ohPv>FAitiYBp)Y>}KWEc=q6Ri~ zOqRcXeZcFs$1C($UcuBcS^lQ3$Jl!HrW$yWmliefKED1j@V+*!|M>pi`ghwhd!hz5 zbxcU;1rwo-`D>(TPFB=4VyY9tN$sw>=nK`7nsM0pJr^hRvFmT z@qdxO;Z+C9x6aq??X~UhO*QZ_URu<^IkvBRq6W^jY5n^@U*}=w3fpMl0$=_HKFX%` zL=9}}n5=*PsRzI>doZxs*Wf$5$I0{MZ(vi$Wcjbs`Je0IN~(b`@Y13N{>rBHSXrv6 zW3v49>jTE0mA?E9Z0eXS{|oeX@wlMjo`*j$3c4fv@n=q6R+SmWli|Z0eXSe?!+7+kWj$HSoz^ zTGYT7*)n^g1~zp}mjCY^-{WkVJy8RjIws4%R=4p$9rGOnAL6A&4g94|>xmlpE1TAT ze2u*Fb=&UVR0F@^r9}-~WAo~X8rak^S^YD09%e4`9RpAHoW(d1+AtXZZ3ru&HCR{B;%sp1*~*%$}%$O&ycvzmI<3|Biu6ZC<@m1ONY~ zKYQCUd!hz5bxc-&BNGT)yue;p!>L|c)WBsyRRGs71MhFs`s1hJUAC~})|+Zzvrj_3 zq6Rjy3g&NMQ^#cWe^|Ho3ES@8R0BWlr9};Fcq-;^U{l9r`RgnOj6VFS2R<`#)XhpKaUSn`&S~N14BYKeF!)Os@8=?x3H1IA-8qytJr+C;9R> zu&HCR{y9wN(d6ZoYG99-?X@!4Z|r+LQ3IPgCd*&HKH%{^)R(`3O&ycvzeKm!zeh0e zX|^wVqXuraW7!imaEndrKfdqi`n+%J)thSIkG!;~ffw5{A=lKfsbjMG>nsM`KX2PI zd!hz5b^KrCU+Bx=+H{nTSqB4mdudSv=Y>>eoWBOnw`u+J-&*G}*vl)` zz(c*XsDY2PX+2Q`n>r@zAG7Xl<--93N4>PDfd~2WH?XN=vixUj9B8+AfpZlNcY0}2 z14nF`Jy8RjIws3s56yt_r`48;^+m&`j>+;rUKg;$hXV#)>ZL^uY;cm}YvBJSelD_Q z_E?#asbjMGkI`)$Z`<9QYG6Yj@mxisbjMG|K9wc^7W5_ z4R4ezf1~qYbTRmjfsHN(`^Ugv`taYtU)i+&^Y>icUb9zY{svxS`=U2$V55sc{4ubp zW3u{>)On+=BLigvjwqJWw4Sa)_7B%p0zWfbr>X+EB9x?-+QhmliefQ#Ng2dQY$E2E6I(LjxN;!nj2Z?8*9j zq6Ri~Og6p`=zJgbjS0_Q+@dx*wpcVk-yR9Bz_v$v^QD)A+@=WY@Zqk1OrYmuyy2+Z32N%aI4M2 zgRVIliP30y&}-O21h;l0C&^FI&BHrh6hg{Q+obGz$cX?(Y#SN89pY1i+XV*?j;tBX z9EJ=DZl~e!PUB}HDHOQ_zXZPvZXXE`0q}6hy!%LKXn4rc+d6?zi6FHZqMy`_ZE=fy^tmjj3 z)Y$M2Y2*0o7xH|&GcLUSb6Yxr;P5>nd+y9vMvM=;&95V)(1gegri6mKPYk=m+8YRA~h2cmsdufK^zKK9*jDKg0ZTw zyA`;VP%!_1usea>WM^hdb$IZ{_v5!n(psJurfMfKZ*gT$v4byJj}r>mC$2 z7C!}t>XcCMe)r(WX?#2QlzT|zCV`%I4-EyMaSw|;E|0Ie4dKCOKE!u^a1Rd;&R@<_ z-(o(?f{o~z?Po>)A#V9s9Mv6J zE-AY&h+Hbb=$`Pmz<+5VXD;1}LRMxn?- z`!T;^$41f%@QRtOk^T5I!VKw)!Q&!TOtC{6iX4vTP^7((pO0A--r=n6xDcEn&)Xj# z9-6ue@9*-5$YVu}O->_Da3XIa1>c7BUPDUE)M$0`gXm zV>2)14?CoW2h|KkJEGz6p!G|bwCzbwc<4#f@$#6I;IK$!j^wcO$xh^Wfp%HyL_QU0 z_%bI_TEbF7pgqCtQ=CY*5TV@VPUJg*@=kRkg;V&-RS1LopXNl~;$yJQzDktci<%EM*<|8G1HlW@4R(Lhi&v7F6^IMG4>Btq)YMkhVg1emS1b0~Fgd*>h z^KsM)R4Nn-gaTk_9{&r&;qNfqHRd4vU^L;s+`{nAlNcTfA`lK#@6KOauOZxd9K(A+ zUc!Mdu3-2t^lCWJ^%cWQDj41dvKbD%44e!H4u6~Bu_G9M@fO2Vq^wnqgagAFZu>IB zDy$mez#%^|ykZBI_{UEO9|SZE2M)%X84m1^K@A5s%2zw0N5g^MR~WvufMMW3hVKR# zz5-em4*V&|Z-+cec$K_)FLs0BKu0Q5CjZEATa0ixaKxbupWBJQo^}}F7o?Q#e-f^3 zW_a*>4Bwp3@V!wCH>NQxJda^b1H&a)c*B7#pjdtQoUmQ=%dUt+kA)Zt#~jTlzCaNry1rFlCNejIc?99R#+7Y>{)eY>@!zkdo- zzHVZ8N)N-!?_u~pC{sAF#i4A+S3D1+>yJ%~|f0A;SO5e6V!Iaot4F7dC z!#jah;lQP!SmD3{I8#D;I^lZ-E3U(iI~;iOXr_#p@w(rX115 zkPLA+aJOK>9GTH8v56T&4@nPkhDJ zJN|mka}1khq~aS0|2dQ4{(^6}O(HzY<@-O$=)Ac*Q_i}T;k{QeeDw&1HAM{H1_KU^ z{gm+6|7Lij^!Ds$2(OyJuzYjA^U~pjdqWJDywC93e=)o`!Z0j2cC*xcH_0c|%JlR8 z!LUhY;w6G_0m=Dz8Redb`Rjel82;l_hJV?a;as6wH;*R#qx3_A)UYX?Dfh^?gJo|1 zd_Pl87{>6Kix{qci{afervLnr@K@LkgaczPCVZVx%b#Q{27S+z?*;2FFC$z!oZ%ZX zf|)`mJN9MDaqloZ`VNNm`3!%6?rbd@E+msg@$y6xo+cG@sYKBk$z;LS%7%skm;aFK6Hb^OVZ^o3%su(Vq&#-rY zhWE=nsuDcB6G>B z@pVjj^;(7(NI$rb6aK7#;k6GlJVVyI^RATi5e&EMWEhJvY`u@+=7KpJq_>*|SBJ>_ zdb@f~zxXTee;*4hWsPi{Y*~gsQ zo=5b!vw=@fIL8x%o^*a;S3Ko3wBYG!=MrZ9jC15a@$|AYj${pnLgXSv@oI@|q;=)Bqu1`(a(UUCzn zbKUwfMCZBZ^XYtd4KusIeP{`y3*B!YM6p-9$95q4i+dB+!;~|FHD}|u)xmu+mMIqo z%kh+QY4FCQk@&~pO#XId@LJ%h8nKeIii!D%-ZbYX#Ujc1XPIIPziRg5v=qyAl z9A^fiGn^+@BRbQ$@^C~eox3r)Q&u_Yn9(U`IcXpkDQ7zyfmtc5ofZE;bdGZ|Yj&-NQ+!FLR$rL6t6d*Kp{raMwSB z=qYzTmxt%v7t#0Om)wcxA$rwa@oz+bcAYi&{0)~q7=BaoOnJ*?w}#(V1^v|>0&0@- zo|{6Z<9+v|zvvkhnv{;Ww)~kj9kdPRzl_g{;Oa0ERs~;Ogy`1bN}}Su!L?5zdO3Iv z^LRVB)1@f%)8IV5^0(l1TwgyA-gO$Dz6kEbnf_Jq(>Ha7gO9#95O7E0VzofZs9Q-S zChSRc%ed#y2=nicAuK4o7GdFSn^($loFi%xUFy8C2cp-U zIKO+{aSHJCzH=Xt{d_2lsS0PRg^w9rZAxm2Nh>X0`kG zE=1S41>+Fi=B|4Y(K`2s!w@~;E^b2fyqo(4qV?{D9J#mMe_+VM@3_UEA^OOD^m0UB zxEF1Wx@>f-xb~eK9K*T3D)<@4|GeO^S%}sIpV$S7R|oT+#?vjqozN*M_XO`7g{OOi zlN%8|8a((pM6U&>VP1w`5AOe0MDGSSC-wd)_`@lPHUzU+-U*?hzaTm@^!l%eR)+2< zM090nS}HK*`q1WNL~agkGhPqjPoX6>NZAN!fkx z-I2+-doesIMMtn@Q_g+^aM`6?NTwf;kxi+5hzMOX5-d*2L0c6AK5R4KP0Hb&VZ774 z3|*blc0?}H=cb?rGBtLg5G_3X@E;NGdiYDaG_??DQao^)C^_!9Eqi3AgE`E@&pwg) z-m@5C?3?8XN4&~`8+F@P2uGK_hj7eWSLnLz{CWePcb!IdYPZk0A>2LZWTd36%|JN* zOVF}#d<{?}oc(Y1UEZ{J5axf%aolr@4-ro8z<^0D#&1jJWx~0{+=*K*KsagARS457 zNulC56adb=2P}iUJ$T!H<2iQzMucex#rWQP%Mj-LGZSIKkfRY!pVX=I-t8CS=g1Ix zD?G|=LAd)G<~{lwj$BrFCc^Aijz!MkLlEX(!rsj*!T5*s&*oU{d(`oOOE0(>;h~dm zMA&xMWeATtqX^-mf?){HbC$0|bh$I}K}6R(f7uh!-OjBK=~_%310Y;|-QN(_4|)vY zA?vn4-iNl_4Y={9JpJC>Rh(NLw=^Q`oXGafTe>~Mqn4hEaDJc-;R()8B#3@=QE@{xo&g;7(TIw7y0);GdRve0_<<8~X>SA^n^e-gr_5$~gBVV5a zcyuji&zK#rL6~;XO$f)XU{l9kP1N4wFIeuv6J~KgH!=SJz?pYlh%jpgyE6OLE`&KP zXCTZS4O$=0JMw=DVbQd;R?ggaxndg|IZp zA)fa04hX9%;|LFY`4oh+&P_o$=LjOn+=bk|bm#sR@G%>1&^Zpinr{qW%aPjk>Vpx+ z7N9qzGe$fx2**ud&iDR7behnx0pY}Uyd9o&>wXC1WA;Fp zaVvW_^N#5Vv#uYeC)thWbYkF)fg zZ({f@cN(WbUYJv<_@k2%mMteHR^88c>PE2i8IN(a>pvpBo%#5cIeL~*?;tfTheUeMo!9Hs?Ji+iLrHr1ZOSfK zZ7^%{!I(>4Lr?kz&vI-kzstGl|FU;Ptd&l=K#-nS1z zcbqT@~oCv4;iO#gU5G{6EnaL7oWek0{)M==|(=z9=hY_9P z9CHGq<<6`Z5v_2p;gmYlIiwWPO6PByFddNA3 z8>uIq&pDV+Is208yy}#Eho{$^2j(Ms!>J~+f8_jut>55OypHH^&h{kJpE(Qm#M9@_ z-wF|Z;cOQ}^rh3Cg6N;l>s+P2cRuBBKRDa+w;!FauSK-c$sqbIcE4qHm$*0VW{_r8 z8xkzigkuLEj^~q{c8<$3=OglBr#i)p0t&}sAFf3D$cNal(GT#QaewBBq#r=qleNod zfOD_g4dI>}$>8ptc|PER*S}i6Jg^J;zRQhTOgcM zG!@~I_4gv|Slfc|s4v(--5Wnf*t;qR;W6VcM7YQ$<9eb~$a1w-oi3Ab-16@+RrffN;iN(! zLQ4ALUW8ed_aV%#MlLD&X9p4PxpFDK+~=MM!u)%r*R1TWY(vAr|DgUDYMTx8t|NdPXpX`=0?Cr%;h_C&mer%A>>mRY(X(q z&ym|9y?00r;Du|C0(|W8d*PkqZe&>}IQO55hZCKhmf&fzbMc3GTH>62CZ3i$SG|v? zWzK~Scsk8l$2U)Rwit(}6;3T_*cmb>uyd~A(^<~LAiAoLN3)FGJ{pNI`z8{oq9_ry z^ut<&`(I3PT*bZY(dsV`MmXa!j@LnFu)muxeg@&}<`jf;?i+!yEuXoy@461*yj!kE z*tHYdDJ2cwz5>rfhh2$qr@PKU7(1OfGICpv=IDQPA{_fRF=PC?YJ`(UaC|dX6YsN~ zc?k0l-VxzmlmCry-&g*MuyEhC2un&ifu?c*!_%^UKv;f!8N$j>UqVjbaZZ&7b z%t<>TJS2@w(BY%lO-)<;gm88>dNq7R=@SU&wh+fU?%}Rz-lB^D&wrO(`hxLC0$#ZF z7=%aXbs#)u4aauTAF<^JL0?N@&k`rA3TaE7#pJ4%JLiyLJKY({il6D+eK?}CoX1d8 z5ba9#;rY%!xri=uzP=FA8t1MsqP5O#X^5_HrhI_tYG?lQh^}*XCJnyP`O|ZFy2Uwb zD5Be)OC}?_%ejMSeYaE1THojF6~ogyXCcYY{mx$=MD&2O0yqWn)h&1G0m)mn9tru? z?23O<{ZgRTJAi$1)|fOtBL+AoQ-V#nNB{3W|iZT`kw1t&c>bZya=iT2IGSe zqKlm?NypbX4d)^Hqcdw~M3*`5y^81xht|8{tDLV6Ky;1s5ns6;a~Y-I=qzFhH#>vb z0k=AHG7#PF^z4r4PRF?t(cR7#Pa(R`S-ud_{Z7}Gh#qwIAzgUb+43Mnk2*I42OxND z7>wvi=jUS(J?*?kba>Wj?nd;y^B||ei_TUYpO>8vDd=7AJa;6XUURNXMf4}<>5~z? z<$O2>(L2s3w<3Did5+lmp40XQq7R(So<{VMGkYwekDVQNL-eWhP79*XoDJ;!e>fA0 z5kY8p7oxA66E-0F+PQTGqHmm0?TEf}Hn1r_IDh9n-RN9HGV+Vl#tHhX(@lQ*M0YS5 z=q2t<&cc)3YrjEsihE5CqEp>9@yWer* zeD01Xx_#+x{RN_bx;v8R`j>n6)p+{WoylJM-W|0Mq95H6b%-{)pK^Nr;%@m4o_=+| ze-6=!!OiYKv?Mr|n0#_@OVaLT!8~@>@?aVpeOhqgE{IkH%Q>sg3?4WY(W+o@KSXB- z%V!}vCph>lMCSz;y^H9A;PyihT@(!dg6NXqqAw9$8vODmL~DcTM25?Q`GXK$8NB~9 zL{|r|WEWf;9LnLpKG;E$b7SxVGTb)@*Kw$B4Nm3^zdiW(#}VBbY+Hxu?qDzH^u56k zauKZy=0y=b7%b-p4+jS|A$l};6H)l_;PxEir-D!P;OUuQj2}D~+>WF2Lh$3Yh+Ycb zegdNP!Bw1iuLV=%i2fAZcs`;xf@iHk^j2_>iHP0_j^We0!PiLq-V2Vs7f&Aq7d(LI zqu_i}*^h&*a}a$Re2f_KS#Z(65d9t9`E_tOk?5P?m&AhagU_9g=*QqS zK|~vaE!-sk5`3Ga{Djb(BpypbxtzWyhZcN*Xj$mbM7QOk-LFSRc-5<7_kYjsoc*$!MDf33BM%Q}b~gKMnVs49J!Q@i$RBr{nTguNjze8goN!!C z{pC?dXE%z+99I&cJmL6021h>W`21GXo^~|!LGi4k&tw#598vVbUvTuyLGhBq-w(wr zju5gxzvdW9AEY-N+XGO%<>>V_igz9R!cn~Mxc(UwA3D}i$NbolMa=0_N7!7{K6AL5 zp!nP|F%QL;j)2EdeC5czzZf*6IB?iuKN=Pomi9^#1_GW@pb}6kD8$^g6aV3w}be z!}-W7D0Vp$Hlo<$j9iK0QfFisip!j@(sgi@w`{+F%&O&RYw=l|6X?uwQl4M{lKB4=lbH032&Z+Y}ji8Wa9;oLN=*J zT`TiYb;#_SNKV*W1Ucz_I&$i>wIOGWr6DvsK31JKP*C3vdz$)tc=4Bz5!w{Uv@hyH zrf(Y$*)W3mX`@s+OXF44DVqd851HAIS~)9m8D#d>2O*oibsc2$2PhaIXS@U3xtT9P z<_+!y*=lorzN**#sE2<{?=0d`y0560G9aU0qplR!n6~2=(i0~<`WdzpKUxi0uSF(g z(p_{<$tm>S>JO%mVM^j5>}fFdXUNq5l46|J`wDEQzj8Tb!_D;Cn|}BdWR`w6+4|iy zqq}kD6xM)jF#~9!x3kwH^uh5t`HrglUve$#wTfmz*1m(jCZWECkP)5fYEg~o%8SHc z>Pw5oe-@xvA`Xm3u~h8cg<_d_8*dmE+(B=lSRoqF-&Ts$^(a<}&h*7xEspm=u|}+* z(Xm!cA(elfc!O?iy{JoXV}sa00KHM*Q%7c&vGfD@8(k>2h;9o}Y!%ZZ)jbEcr;lI6 zZo1oyn{=btjWpDZLHe?WF;Rx!5J#VG`y|19|+IJ4&K>q{(fgIXqE99_(0>}|L)W=30 zqLv+V?MBFP&uxL6;7flk8M+s8^5kZaQ%~FuIR~pOfiHT|CtyJ%`tmOlMXgaR5sy*N zS|)NgqXwmB9*R}seR`BNLfe62oe%^+Tf{>8R%{c$P{-RL0*Hg}5?5D4ZIAf43yM2L z3Ekpd;%(}=hsEPNQ5+FJkXC+F93et}zbH<|&PPNcQS6gK^Fr;E*hgICaq$wplGCCg zUHvKH3!-84ponSM;ZtoOWJ>4lkPY&nis^p~Y(?)jq6f7{!`A?37 zELcV3qy1}ijShWjY<7%KgzWk%jfQU9iF$V5gAt?OUBIIgus1Y{05NPf_3ZG`kMLbQ zPE8lYW>aTC4!%VAVyuNs%)A6LX-yn#2g|f2XlmnO_tC?KhIYUoBksjb8GC1Lqk2uc zjmVz2tG%Eu)v;rl%s-;`gwLe@AA2pqPu!cQupNI>f5`MZhN~lL-$IR1hbFk_XO4b_ zUQg^4A`Wq_aFjDXe-UKDON48Qm)68~z3w>JnG`$~GPxiGvVK$j6XLfI+o^X`1ElSu zPL{qe2-^)m{~EHmyoS?3~L|he%VyQT8e1sRIp|)IjhoM+0u0Dxkl^9L$WVJZf7R4HI z!%h@y#Wos4>%@#g)YgmZa!_m#mr@&S6t{nXVv`8yjp7o~AqB-2@$i!#ELj+bwu~VF)d)XzXQE%BToFAdsBRWz$T`Izkp|($?P`g|vhJSZyw?WB_2Pa&1zg;wbZzcB9-fYF`UNv10sYv*D-NDJ?(?y zYwD)QMa#1&9ulkjpmrrv9B|V6XMOjC>|9fsVkonBdJ$DCT8N>f=_N+`d~dF z(j!rv7KQb2$dlqoeH2fLCugB}THHv(6FFP<(!@q>6Q9>tI1PP*Nn#KEN~eiql#gDuit`x?b!ts{-SC7N$f)Rt4`;=bJ z5p6{@ihH%|-av6wyM;bh_i48-M{&Q_k6PjZ?JfEQJ*cg9qjp@YF(1W4+JfCE9@g47 zMDd6Q)FAU?ZZL|I+LN!LcvSm*H%e(H;PPB%ab3}{8pmN=-bw-zW9n~JBTYp%)A`!(S+C1tKC$zW}6em5uea!gn zh9~r+rD~q<`N1w@O z=+*tl`0eM$HP0Ep`_}l~cgF9&H-7iCoVNl$_(h%}55gjc-b{-f`ZKO_=xwvwp|{N% zhu$`89n?0i%N$4ZQC#k*jd$YO?^wM9#TAZE`=GeeamBSb=hco6hoHE|k=zEwK}Rt) z{k4v#B#P@DXXtisa?GN){)FpQeED6cUDjwJZG*8SegsNLXhi{CkKc0Y3?id)^6u0(N%+eKfv6Yg;OxIF2; z`#ThGyO*s)@v*yBO%(ri2U9;^;kE906zjasjzh8DE1bS!yS&y>um8cT9o2sH+DAj> zC$GbCD1P>OfEdOvUf0v#7I{}WhGMbzt=FMg;vM=CilyEY2@aNdUws6{a_@UapjhGk zaxjXO-u^pL?DlcLi(-$@OS@3)^=W<;ic5V)(G%_SiKVaKWj>Q|PJL*GjHSUebU)f2 zLz=z|!#BSUIpRv>~nPfIX&@qjl2208uo^oq&$)| z24|G%aS52>gZjwVt3r;Q{|RKt(2bCjTG6vkX>u#%ROh{r(+}hR^>Yq7M<0m6P3YP~ zo+bJ-{B`_pu$Q=ak{!i4phn z-Y@9cB17mzjUMO#+3nCN{@Wo^8k6&Jtg~;6T9Cu8BK|SFX;a9N$`j9BDiQ-|g3Bv+Js@shyPKZz% zzK@DmA3*Ib5s{7JZE@sh6z_`RU!izUbnc~Y?+fudah$KjkWu)xGaunBUGuoiI zL37aCx=~B}0>vTiA+k%{qRl8m?N%*04#jO+@{cHP*DhIt;tuU@+#KK`jjnK)Hk~Y& zn7}&(wZqz!n^4@NeX$P3y;=%&{`m3f6G=hdn^42FH>%T=qAZ6B2$Oc~!R;ESw#CG~oa)&j#VJx;ApUH%5 z+VW+{jBDt%w7Km?$by>aB(5&MtjBht<2lG4@dScByL<}S>$?e%y`!kr`*eXSFKlJc>=?Te|OUVknKd-C{X9yxw+=Kc!*W3WnjV--A93Deq!%x=zVKjZt|_9xp+$(iKdX{jcjPx`%IE zw>*vFoGWG)iXU88jzRIGYr+pGesVpYj$)C!^)eJo+#BeYmb!C0p;+dgO)9{0_u6Wx zt#F4?gROL@c%xY5{vaB~YWL-9P^@v!qmi=K{Vm=+~(fW8nx~2_vz<5+&#~t*y*0!4aF|^ z47$(V?s{*c*z4Yvi{euEefT;!_qp%755?tfH#OFN_nG0SUE!XIW;D9wYt01IHkTLZ9FwfvtSxMZ3ph-n_5N9ua6GnCWlh%Mn6fT zDn_Db>3eIhAcI#(dVB1xb1l9c&d}A=SHq4Bh7A8U95Ny=8M5wwiOWYecoExC+0+8j zerNz^%o7_RW3Ql*6&I#K#;4JDBjJ^IArtpz@s%RJLOo>7rI2;J=w3r3sn3Q@BLE9e zrgKHy7z|l=JN2!|8t*|yJtrVz2GF%**EYg-+$9Sk!>7tDi31K1Y}l8cr_n38KWF2y z)Uz_i&}+*aK-4*FG~G$_l^9X_TZlSI=Z&7Y8Zu@VJ!S0IL6C9pQftTWuMU~8jufTD zJrdjXs?i-J)p`;#`Ri7Y^`p-~rrdrdWP^SWL8f-0@tU^t5y*zSs4W^@k6x@_ulCjS z^dWoc=|lG(gbZ5}02$tb^uwqn)QZv99)gVdl3F6RK`qEQ%?~oZgy1|OorXfJJA8#1+;FJzh%_hH;YYrWt7@DBFY8T22>&{{M^ z!2oB9e#`m zOvI^<*p9rBtZ`B9RBT5#BD{&2N@{G}7gMk&=`8hzl>0*=X~GZMYMc|YX@oaq)(5B5 zHJUG{x0+it4Ki; zk?k`fV~00^O!!YaWMVdbo$H0yfK2*?_SfGN4Vlt@24sV1y8qO#=+l=SkIOh)6w7hvPaPx$ezbY@$U7-i`eeH?+eI2kG&1q_vzM<{R-#|1EOf`42=IA za!}g4kb`%uf*kfTeQAbwkHhweB0A5=4b%rljp26_c=j38Yi*wj8MK6YN$|mIuwDBG z8U-P_MG-^`{j1*iQGVU7IhhVk288LJwwbB#QS1< z(D88-_dv#9JpnQypa*1P_3n`MzN7b)RGY?g@(uLuslV6@GUXV(`v#Z137J}lzAI_R z6Cl&~)PZbxnx3}NEV{$SfpsC9d~zLR(`q+DW`z4fW}fK>nKk$-$m|W{Ae-ehf@~g3 zU!$B21TZbWoekM?5Zy`c4{agyLWl|F@78-;6|yQ79H*~I+e2?bw!4PLd;9ec$PUT9 zAv-3}F`d3ShwaWYsNK7C@q_G|NB7_D!}lP&-@G5Pa2FBN9&#d=r253*0U zBFMf27C`oMb%pF-JO{EUgN_+6Wj*A;unmxd;)g;G&ixQ_NNf&daTuLp*jo)C$99|! zIq_sK$daW4ASZ30BPZX|0dmR&>T^>Y)AwfDO+R6K`cu?mGii+L{k%>Qebqxd(9vOo zFdCe7hd&J&*@}8b)Wd5aqw7)+iuqW7uixK|J#n+?3mxC%32Z04b`50WK>7mJ`;P7} z=_C67Cy%-ovi{@<$dnm_ARBx%12Q#lFl5^LT9E1Iet>K^AO*6~mvpa<*L?ulB$?hv zQ|D4_XJkANnK^|A_B)Px*YF}7P2QCqb1)*y3lrWViJOKq3` z1igdSL(;KbFqQ71Z6fvKPCFjPcIP+f9dvn))U)oz^p!50^9p2-N9YdwJl+(t@0twA z0skEjIqAV=<{J>$Pd|IphpX2z?ir+z}eN&A-iBd!M7aO`2oMseRlHolgSq)8}^ z%BIJubuy+7cAlvm=2ibo18ORRP>6_W{K{|h@=VKr{j{&p5y=qBSt5osiVRLgHHjVSr z_##7%k%&!lA~qK%V)NoeY~GxR%|`}SCO+vJtA#P=|pVOZArxD$BEedEs59yR3f%OPQ+$jz?z7y7AIm0;zVqGPhn;5pA)eK zn~B(Jmz#(!#FL1vjwcaYs3#FySeZm@>YFtTw(vXA5FI{>!REgNUI1yVTPQ=FVDz34ah^eYlD^xEZ{_JZ8;HJJC%s7y)6-22Qv{{M^41X zE$ixJO~lsOmWZtjCt~YrCSpTcw=dh{Rvr8_DiK?EYa+HnGZ9-4dm=U-4TrU!DiNF7 zLy6dWnTgnXn~B)^P$IUzW+JwJo-I1$@Gm57adR^lKTGT4@gZHOlk z+fZvFwqi38+b~MRHr!0ahUzJ*szhw4Zj`91L~O&XiP&m7R3bL+ghnDZ^~9WrZ3HJ` z8|g{JHp)!IHrhAuVw4;LEPhGg85@uTYU`O3&0s=lMv%OC|z~bS2wiu zS69064cGH(B70$YnL!g_9W-@qgC>#(O_Vukkfzf*Xg1(3ki9U*I%s0eK@(SY&>Yf# za#)Ku2Tg8&!cPpE1ar_NnuDeu4Vol#&?NJqIj7+pzWpjRLU0Oy?Hg3^wNEv__G$dJ zPq%#SDH&oz+Zb$wTk>zr+3uRi(59U2E`yWZWpb{&EK91pY|eDoj1%28x8%9Y;WT$G zJX!8qx(oGIa7bSbIqe)CI`cE_rxbiDuWYV?FDl`yIRK4>uX)TfT3L8TzTz491RDuo zE8rPz+%-YR<$?kaH)zY;V2Nn=D}-AF^T{Xz z6;FOuN`>0(*Acio-jrXV^zNY$ShbK0>sbbYdzlE_yL<%h!wB4$5x5T!xSv8`ZhMsq zwSNT&T%-_qfCYgE%J4xIBJkh}5O@e9@K6(hi_Z^%hnWaGoDq109f3!pLp`2i1)dRRuUD7Qiv`EY{O! ziKliYy@WJbuTp`2{*)=VOt|0QA(@X#phI`;GSd5$+T;Aa7N+JyVR*4vnDSF-&!1so zy0Dp-RO9@kav$jlv7P6W?ZC)$@M{?k^vu=HigOicox)2q9v{Vc1aw^^Evtv|RAt6f zjdk4WGSHWG+!``KZQFI+nylmUvBw;Kb{*GW`UJ3!E5ies@$fIg%AB1w&{`(r39>Vu zV8wW9+ZYd&(&|?d-o-#CHS%zWS{Y9mGoEn8cp|Kfr>=+bL^9*yTXjWQ8Bes0@x(CW zi8UDyv`~ZbsB^d#o*ZU8 zEi8B zTP-VX72^T7;k5MaJ&Xq`r!5z~x;jiC9m_DDPKxn#X2#RS&Um^qG?4~(ZsF&=Jv#droV zPr^L#5Kw?y`^U1_`rkIQe)l*bej0e?? z5>>@`CR-Sfbhvm`iK!Te-b&x*7hveyX6H8&pHE|bd%8#8o?+_SGfjPamZ@*gW_^2( zP2ZkdTHltn=5gZl`JDKC0Vh6R$cfJvAs4uj`Fye9)aOVsu5zC*#g;Ys`7)uhpYt>2 z=0QP-;vscfB8_-A+7+yJ!KUgzoYVo8{(Ob7A*ktWJONc9#*b1U<#9y zsUC6y!lG7X0b?nEiyy19fUu}lS!OahnPnp0$4{5l!3KaM-Gw!YTK?O2eXdM#~yRkw(H0t(x;9`M>dzs;$MW7 zIXmmfp{9-;X4jF!m5v-?(~+U!DjgXLuAw7GS#@OSwX{r?bj2tgIo7HpL#bu2Ks@Wn ze5&WUHtRvUA>c}akj@-bmBRfqUIaTS%PLGb9X6nf4 zrjFc@bmT^+jts{t>&Wn|8eRctw<|Ui`ed+IfNxLf$eE^BAd9^M*=4)}SUbzIL{f9o zk#kr_F1-d$3)YcavW}c<(UJ35M{dPBa=t}JZp}I}+@iepO#$o3a0^st1=-08a$8oA z+gTK3r&U32&kAw}i-O!yDaf5zK{oreRYC5o6yz=*1sPU)W8JnT0$x;`f~>9%1-W|} z1-Vcu$URs=?rB$$d$EGtn-%0fk%HV`dKW1LS+$T18^8)O_xHGg zrh*LXe0i&*4Q2&-2rI~gp&$=c3Np97Qjm*TLFUe;6y#w_K^|^VkVnYykrgV)qbg94 z&DGIHn+oz6WR5XDWNwRs%&nsofE}~H8#?i9 zhMhSc*qLj>&O8%#=9{pyfMI8$4R#iZ(zqjQ`nc~ygqiF>OKR0j1bDgML>)a1OHlb& zGZ&>|HGYY}3Sv-$)e>S*e^5|X{fSl9kJD>G7S~hrc7h8 ztTfV<>u_Tj$}|tZ(-JzZp-ih?c4d0KU76lsD$^TTndY-aZ8DYV%^qbM3u=|8OmAUj znqQ2eOsmzq95TQgJ8UXupd zCJ2|*JxYC&K^L5T8{i1NuJxs39ePq}r=DQi^(fBk^cqRh`-=ofpVf3s)id=VtIeR_ zSMQPn>H7oisgX}tsChe%)XymQ;#yAUNAx$>0Q#GIF>QN2M`!Vtcp9fqyne<&lGPrg zJ=MRVU-|B#JvG+QcFlvd-|ulcgMSe{OF#*22gcCZYHg$Y2wF~e8T-`5^U*9a-0>(wcuBSVMNZ^K5=lY|G+ zo`@6r-L$5&MV_HOQF-*M=mYxQ+)RIs&8OqzYSaGsespBwaFR(`bd}^VIe3mS*QX(do;r_&YlPSIam#nJwJ7qvj^wY1&l8IlEu=~r!Ep#AN3 z(4O{J(LHn+MZfKME1jp)HjR3z=kFIu$MmmF+eQDSYYjL-Pc-mrI@_Qe+CMm%&M@S8l0)w&S^PO& zaaa}|KfFI}kC;y99Qg+A8MT-8j6O=+V;0ld#;v5QjK7MuCsd&$C-$Q|ESXJrJ82GW zPkxd9I;}D7nf@64cINwZ_1T9Z(W|s%MB;i#y%&>uthQ^o27EZS)6LAMD#vzSV853o zw$sN-umYK2)v^$*AVsjSwyqI#QGo}dHpg~`oWEzSj;S?3e+Wg}xvY!qBJ78~83_B~ zMRp@Rv7OK%Y`jf96nI-?8QvDfv7OOMpNJ`~Pq>Xmc4L{;#o0++Jd?Tvj_pij#igDZ z+X;2zWE7r6CM1^|+xaWeKI|J%y#6<%eVm>}b{i@hsh-|WBPj;Rud(!QqG)7Qj_qv9 zG}835WSBG(dPR9OGK*9Q*}_62Tgvd<3Tb3s z1vJvdewJ1yjm)pW&%&*vXk=@XMz&!Z2{)T{k=?dLBinIoXM2wA?4Weojy9dP6YI2D zomnB}mUVTpDx_U)3TZc1Na0FTi|iJ%LdvbDVmo_S71ExjLfXr&kn(6ato2q3soFzf zYJE(Fw6Cd<_9KO~zp0QGu|oQ-Ho&Gq4n)fY4PstBSn+D^S&2hr$WR-vF81*1VOCy^ za82cS8bQ2zq{*vMJw;W;t5Mx3QB}Npgq2tOj#9juJE6g=)f01UC!#lvMRpOq$&2ic zHF@&ug`UhB_7v8zr&=`ZX{=#SXAOIX zMZ=!S8ul!YhCQ1Xmz6c=C<0&8i9tV?N&Gx;`1wrX7chfg$ON8zV8$}QPzn@*Ut$t? z@_`-0v?dvZb#rY59!h{g;JMWe0?$3~w8T=n27%|UXY+HHFg{xp zmfBU`Fmi#Z^?=uvPvEiQuCX34_W&z_*X?g3Fa@a`sD=yEHVwnUQ0>i7?Zf7`sxq(| zo8PL-0JUv5zxlHHjgLL%s9`t1)s#MdY<{yqwJki-pP@Ry0@Z;Es%tS+n-{R!LV_5o zgBhy%p2Eu9KO6Wk`JxWN+6EC)E>t7Vg`paAFBqyhZdWeBR0}&)tA_$qBZBt_%z|FKfymtvm^*|OpBu0VF4ba!D+SeQza9jdPEg%YdN)!~?aff#n4y~A zRUAx&shC@dMZ#etEDx$P7^*WFsxtu9SqiGvnHj3H8LIi&6jV1;P~F@D)j1NgcqFX=$BTMg%FXBG{%?)Ml+B263eZ ziq)}t%0k&w7N+1byfj=&H>=E;KLeFHrecy{S4FF%^>rteBkB zpeGwJjj&P!rqdaw`Sz4Xjj1sTrW-L#H@3huMUw(mEuONb0A&9R{v4I&@tOQN%Hq#a zw&iowj6X-s`E!(G`5d+2&rwUy=O~vwWilX-&Bv|SdYmssYbn~W>A2umEyq$bLs1id z!_$^%H3Xfnr_CG_R(AP&J#Fghf0n0BUCwSI`E5@dkCzMOY2(iN$9vjFGw&K>nn=dV zAikc3cX8_|-ZjoNk-)+B?m2uOLMPZwBoi?}0!!G_Hi<0)lkJ|iDKccL%_1<(V-c8c zwFtmvrYr(8$s#bzvK4rC95HWT@1$Md0^|qOP{sMd3 zbS-mvQEBLM@&pK%f-W<}5YZmbETtRw^JeI}z*?pZ_h;y0_FJ(IhzXxc2Ly;&p{tgH zt{@w9VZx^h@&Je#&=q2Zt~v}|p$fXftk4C$k%K&dVg_{at-9)3p)1k`T~Q2OnDD7= zY5*|liqO!~r3ga~NG(3Q{7MYttJ z0Yg{Y-+(TjrOi%ZgMBBsbGBl1C`(>kd-p)9%0x_WFlaa?)H4l-C05aJSYj0oN9>29 z;a!=AcVikp0jH9SMfXxPT;3rIl|`jT1r`-d_>gQE;(Mi}l1Pr~rsdvouf~Mdo@}w{ zr7SkXw&AEHj^6G&Xk!7wL)d)Mm(3?jM87gN6V=rKmY8dAvzZjBuoT3G(BPD@1MOy! zL2MQo%wZ`*$`4B!s*Dusa(1vRM#pkMg)?kqm^6fEz(;GC^d4>xR2fmmY=KA-Wwsbq zzS&|ln=Qt$*tB z0-p&6lX7p`j+gq4W10z{(-}Tz*x_>~!DoB-v-kxJ>a!R=XWQX(jtrS=gU@*$_?&Nr z&jluYE+qI|BuxB7{ghr;0E+rXNq<)ey3m54`cwg){JBx~*n+95TV>0qF(Y)h?1UOQ z(Mzu?qdV1`>g&a{))z?bsxONChvZ@X`_8k}pZdJlE_a^q8sO(YNz<5~X*^a=+9&-fP?FfO=rxx20l*yk>P2rcJtr+Zr6xb!0HhVs4SeYAO zQ$vL|dzlDxy#bjp)-z&#?uMKhE^-Apj=&R||>2XmUx8W^O&yjD*R7wDz5quw^{2&~W0jTn;~}9hDXC;ZKzUh)E){K zC^l7_VWw&`oK%|;rfLIfXQ(#cYT$MjU4$mA2905MGgh%1?pcZBWXO0MyP4o&HxsSw z1}Qd_abOa$8_YlbARFWVQ6%L6xj|KN8&o$+R28+s^w!eGff{h~+VT(hPhn-rAw!+4 zEKOxQ-!!)KO}E(jX0V-aCfoUDS?qkX+0Hk|W9OS|x*cj_*0|q1c7nK2na_TR1@PHp zmg?Mh@NlsR;$3Zo-C~xi3cJNDRpqs(@LVJ87U8)n>~^{7wMTfa&1=7sz4kl;?XCbs z?;2iv?g2KhJz{#TUVDW0syVC(={3Ce+?}Ej!>hdZh}LDVJ>qoB3%f`8+{o=EGP&^=#u0(N6#8dI0_=pm19v8Phj^ZKl9@QQe3mT(% zMEq18Cp#eqgJNJExJ&8OkBV_$p!SsLjYN^Z#jXus{duM8=tc=O4(nu*7MF7+{VXU%Gl4r163wnRJBRzxGD0;1tw9fEPQ1Y=I;(K6he z&cxr?ikZ^|2uxHD^-l~;WIXvF0u$BK+YJf!z(mG_Ff%Zb-&NfI7?{Z4ImI;0z(jsF z#WeoFz(j9m8kWFBzMh3?aO?c3fr;F*|4U#ZKh5tBOytqv2~1RbE>vJ5_pHApFwvaF z2`9B-;P)TJOr!MNyV1-v#xTrZK_7G$u0BDDg0jNhZ^%fmjEcnc|OW zJ^^4l26|3q@SG;abSY-AiFW310;iTbyEL4baqi`K;w#-5?yGg1th>^k0W)WVKfs+) z+7tgLWU@4!=?QGJ$YqX%8L>!k=1`d|l?j*)|E-w34T}hqQ-(#v z$tlC)Ow+J9iw%pj*|2yH&U^Uc=9Drl!jZ||a`^NE<}!NCWAvIY#R4f7GI~K<{;g@1 z+FMIX! z`@0bXcEO;_4<=rJFOF0Gqu^^RR-Ew|^Gx_MBkMim-kfh-l__gAHtSVqkEX8-tic}5 znpknm*tUB#{n(?)#~yR|+dY~A(kIa7(KJ3UJPk{E^J+0O4ze)gV8x7)$HidA<^`-_ zrXg(BtHS|od{1Fz?w=i^6=o@NCqg@u3!t1a%LdT#BqmP93kM=H71;0<-Z%b|Av5X~fVanGQs_G}R=g`sF$h5p8BT5D{x;gqWqW z15vdXI}i~*tsIEy>_BW-kpr=j;{WRD?fkzn@&6{$yQ$*;)p!z92J?S@S8;G~D*g`- zXL%SBB?R$p2ea!2k1^|F<^z ze;XOZ*Ry;?xpmY>w7}&5ZJGbKv-AJ<#Q!_+eB+MnK}FVn_w6J!IDF zXF3r3n-0Vxav%;c9f(L`#12GcF|s%i2cu*fS_w;Qotxq zvj>o}(I*ZO*n<>&_V}yr%3fK>45^2mA@yX2)Qjzvz00>(_WAXIr@q8j`bqEpim#{^ zl3_*6SJbj9RwzCb0g)*FBc{isk;x{*yABMslb zNqH(yQ&xF0SmnvIs61J$@?^8h)6AmsG-s73$D{JJFlR;Us|vPcZWI3-zSwwcAldmE zv@2Lu@b?&Sm9-qv48)%=<4b1-_Oc*(RDinw~qRL zUIgo+^Jws_i>~&NE&JcLF1r5+WlHu^#vua()DyEQc_at-U@>$K?m<3H72Jb_nku*l z`83t6!EqeiGu{^5GrH7}Hz$m7bO})$A62r4ILyJc3BILfb6cXSN_Wze-0r zuiSYpn4yhDC}ku!DKE{ofSm{nSwr)uWSq-7Y)J37o&?=J-r>4 z|IIFD(>;)Hx|my6;9}<1QLx;`bTK27wGmmya+p~+g1G|_zDi?Dnn~NEi zeC1+>A>Za=?rL>0ceA;eyR(ZKiL6!n9XOkf^gA{eb5E;_xtHl;?rnE5^JqAX{MCkw zS?wWM?rYje`k6M8{$wL5GHoO<;IoSv7JQ3~c@Vjn2eXTLh~33JRE8AWT+G8fF6QA@ z7c+8GD;M)faxueotmdeqdWx#b#f<7kiK=oj!!uoaj;jCYay`82i5Zpwyhh9|aF<~j ziL4bYBayX&x)ku<`H{xUCMjs6Pc z=&xEF{l)hbR_6XW`U|VK!$(0Wtb?uT%T)ANZI90qc{Vxv3z;%FeFSo4*xZ*)1NVrq zG8%I@M}I}A^bvK-Ngol(zRf7RZ!?;Gn=u^yg{+%K^jDl2{e`U7D*7v-+~}`Fj{d60 z(O*d%{iWKAqrZ^jT19`==jgALilV<7C~vBIdOI|yk~cL?dZ#OIs+*&~8nQQ)-&GvU z%F3IH+-2oOe>GumYE$;6Hi0)aLwQrxnK}9^lf9|@Y|7%8rM#)x7H?`Z8Q#1?Z)#5Y z-qe5=9R1bOgyvis#MiS}9JzHAH0PPn+=`(&-ww^K37Xq5G#4;5w^h*G&IZkx{-dB7 z8PE)9=9YC~S@+WEBRbijxidpEKwUvIobv`W^V6v4uWnXo?ruVJp&goeG#u7?C}>uD z2%3AE(A>*}=H3L&eN1TX>w#uuzpy}ae}d*BhUNhZnz?5s4wNB-Y|uQ|1I-QB}}fY=h?E3YxhSma8$3U}%Qw%+L(wSwS;&X9dlGaHTPi zWoRB}gXZy8Xr92(JdvTfgrOO$P8e%B0KN^4c?v@_W_ubMGgN2ms^-%bH1p%wHRc(= zt})NFLGvtz=8H^Yu6?pJESo77u&SN`%cXK3E%PHZ!V<3`dyqv<*7=juOc_Dhw(y_- zG1o#JhUHL(Wu9eTajpd{7^`48yj)mDBsPZp@PG z4b-ox^v+PQ%roM{G8vZnUBw|3TfuU6`LNuKVYxZOax=hkj)G-du7ws1%lvE#mRl-V z&b7dDo(xCA>k6_ul%xC)lXw2%jDnpa3T{cd;l*U{-y!KDmm}L#5pt_+QP}UzAr~;M%q-C8ALI!U{ zwkYI}k_Qk2CY@LmR>sj$P9uwy`(9LF5_hj_Po;ZnM?&oItwPq`h?J?XcA{$RTA0xd zo&4TsN`t>?E{B!e0RK`!xpwgXOICp77pQddf5!@t+@tr1i*W@=_4Ia~+@5HO*Xi>l zTHmD<4nH_heTIsVq(`Cno#=SAoLRpxT_Q1E15jOKFn^mb^jG?#;Lzb&|RE*^6^ zj|PvqT&ac!4&A(|b=QI8O05fh<_GAC81I#{qzcehn z*o!S$V>V&gOik?kOJP}MDdp^b{|+xUCu6-hVOc$WB`mYw*P=0V>s&mr%%i~r%WBU> z1k37)|1Gf0uhav}{7Qc>Ec2OuKP+>T{v%*{GA3>RT5uWgxl&uM-xucp3m9C+6!7AN zW%cxxuv{)IbL(6@u*{>u1Iud9MFh+0iT^FI%&*h~%lt}zFD&z!em^X8ll~)MIrGQT zuxx6}rV-nOWj7nKO>OxvnI-MEPRIIp%#v0Qb&<}JR!?t-<;q#ox)GaON5S$%FiV<8 zgJ+hs+C#8>k<5}-Pt34<;buu=DKjIu><^Clw$75~SL%Ufex<(`mibJ-AC|dE{}Hg< z8;QU?+Op|eHj|eCpDVTHN^Mys;=UkLu@sH9!*Zo>xze|+red*bb@5EaV%09zNMKdz zTjr@)s$t~shh=Wke*`Sw;8z-!&1h@{VcU|INY<9ksaTcK*yT>eLc&a*iiM>zcq$gJ z35E4BFhR>ULz+VjE2FVXEizOYjjhA7>Ki;2t1=pUZ9|$+asn%5+@x=v)c)7xC6&?G zRb=cRoV=tm8e9G^ImPY|D-Fx$3~3XVu~@R9Et|0H!y#XPNlr2KmEw@Ee@9L+4=i7d zImH-wY-|7hn{$f&j%BO3b(9hN&zT|pmo8hyqv21RA^le_TV>9W<|JI@PLlfP%#ijj zH>ViCQcq4XwFlF9hm=nBSvg6{A$`{gr*AywI7>gbn#%loLTQxt;lOMYrGF)lNu}~! zsXW)>39BlPNvfG%EREBPrB{?*tl_WcF{xCZE0t$u)8nNM{Mc``Y(cpn)wTA+;FT^?-e?x6qJ@LNY}))vf3HoO&-DLE z{KbvRF<^hsbux5VPHI~kmd*K6mDxr9%r!E2%KXJSjafat9hNHtvvpYJ*1345G4p8f zOk-AiE~077>WLYa|LK9*{7OCZrTCTFVEH$be({-pe_%E@DTDIgI_cN$!b(`i8lr#g z(pB8oDq*=)V0I-eSHiOLE%P`0;+ZeS81gTfFU23YN?0Zj_IWJ!eCvSHuw1=V$XAbG zQAO6oG-ksa?uU8kEmQEN2=V0wBx}e(UgM^gpA1mj_5~#Uc>zg2_Lu_;JK zh;DO(BT)L(;sqpSxIF)Lq$*tAQAX5O3+RQ|7SO}mj>ZCdF<9EsSi~tzE#l-}&<_vT zB-~iPNxI5i#8J9=87ha&!ZK9G8hre4E-XG(dJVo9+Zueayar#KxdtEBb2QfAQ|EAR zz+E_Geu8xkzC?2kzIygG_>$a*^q(BolGTSS$(`FDCn5c!zPScpiaEoi0jp zrWY@T*4w@mS|45tt*=@NEv}zh_sl&qj9TqhlJY@ke-+TDE@!ue6w$(D1ElvrwJ@1# zAsIHP%)(@Y&4tN^@WNyn58@)u>Px25wfu+j!eqs~FxgNnOg2m{OvY`m)+QNV!NO!C z)WT#VEen&4lHsE(j2swKe&j&lShbjE&^TVZa=co*lAkhhf()5xTf4Hvvv%bq>)Mr* z&9y71(At$#&9y60Jw;Wub|tDCC8}!e$|=^hD{Ep!B0b!g}i*$BEjot zEyn80#sXTj4zsbaC03F;(h}YDtXL*^4Xx$avaW5pLZ}#Vekx-j4etJ@z$7PVIJ;?oGL)}FkJ&X9&>r^;J>dIPUM z%`I#w@XpYCy5VPdAJyFVp=Zku8}a*^i3F5y>ODPRlW_0VSEs7tsG?k$yccK-#>zUAy7WK^R@}RpJLw9qA?i>qr zw_xaQ$fqc6<`Y(VB1;%ww(gl_6)FQ z-?jp52X{>Z#RVNb0Ncp}u${{Qthzb?wo4g+?WzE_8v|^2JHQq)!1iE(?O8s+_EG?= zE@ubW-UP6Hq<3Ehu&RY*SU(0>?)P#1O@J+8fc-EWUm_D=2Qa`6WPlw2fE}a&mfKzd z>|h31?sRJLuOSLxhgtx(ScVU)5MYOw53m8%naqta7vvr(gZO%uROZ||%Gof=T#$P- zFUUQ{z99Elv|Qjg#_;is;S&^wb3-Ohlp!TH44>q|@X1yT2N=)EMlZS>cnu7nW@0$1 zr>Lqh9Mz2yRfXX|bN}Xe74BLs2vJO=<~BEw+U)QDaHQs^GLV|bQ7NQWyZ%2&&1d`n zAvL!!o7&wDh1RkLR(bxQK2&8tFZ7$5RSlAbvFBYri0eM;X_HGscWs95>P}y~){V70 z4Xrzbp}UR@3}xsJlL2bm4&C7l-F)mZM}!@^>q?)sIGr z=uWXhw~qogbf=rp-Oz;YMg-lBP3Q&+Gjum)=!U**KzAlXH{YIu zZmiO*wC-$%?q+46ySWXza|pUyFmzXyq19OHZpqM{%g~)?f$mle-T4gNtu4^qhM~K_ z1Kn*s(Cy1p6#N*vQyIDgc#1+h3v{Pip}RdpcLxh}cT~{biJ{x<+g9lAtf0G#2fDj@ zpc@*qO*d9o2XuEY1KouRx_dBm_q0QIFNW^k4BdUohwi=#y4B_E(A|%qyT9}di?ph4pqfO`@BZK&Q7U<^IQP4fsgzj++-Q(@hJ%ONmB13lxL-!;F-Q19glV!*h z8+1?gK=(8&bWb;-dj>)GOcT0MJw;Uo-KcJqs4D25VT0~jO3CInH=x_>?*?>3jW*V( zh8E3hRL?b)?0Ke=J>OKa7qF7O(57TVht7eP>~MD`DQneaEqk$GHG7GvW-m3>Y^c;q z&0cP**(*#ndu16ldljqM{9Fcj^GG@^SF@U}cG{765)SsbTx-X_MstQbju`%Jj0_8+l^PW^@WoQ}LzdzE(H zriD@McI^Pw?$92fbKa?aO1E^6rqR!jXtU@U?$>guctG=`Badn6bjX8RB<(z|mC)}V z(r(A!^!Hc$ecIo73SF_wy|mr+*(}J*#cI0w{o)gmfvx5ISy?lb8(g)h=?dOSy0>e-&I(feh3#(s_Im;ps}_Mupbs{>H@8{;@Zb9Jim2oZz5iO75ZSO*&3zm|Q^HQ_s>lr-#!qGrZ}JXS!&6_G@&W z)q?Eq&Nbr1jVRWNE7zmgCVrx3+9~d)3+@t!=xO(e5IX7Aq6!K;g;qGfG*Pd~L>(px zJ5l#zqVCT`JwOHqGEuK31Jt&is0T4o=VOmKg6%}Tw)6=php6)}!pfYTiFzHAsE68# zdYB^W;S~~fr1&#zY;~= zM7;?Ub-q1C)IsSLQO{tao>_*dgUx5HMn`kMjMQ&(rOYOx-i(R5ONP3cs5fV#p2I}F zg@vfMWTKwSL_N zQTJ9vy@Q9S!`x;hn_MDbZnF_}&StttbS^{GyC|aGm5F*cJ5le>M7@xSdXMsndQU~v z)#dC&y%!Pn-qO2|-Nx3Ji8}Xtc*z1&3-G38Jy_e^U(q|a+SrPis1IPGUId~(uzVZa zASUYE=@d~Ptcdy$3sD~`!;32<>cc7^>eZO24>yVW2pPoJvk-M|9YxefnnZmR6LlEd z4(!G=JKV2O2*JbNV~D6%>?bpAY=42D%zv69>fGNAqHgwggQ!nuq7Jth6LmPo`tPK7 zoCLpEfrD6JG6;P;eXIT)ChBu-M17u>r&nd3KA&m&0(OQiWM9}Klca;pD_c zB%RL|1;+mpXggeJ;P&hb1FJ8Oq=VucB%RxrNxGMZq{EG-Ol;MOrGxqFj!cX_Fn`6< zLG}%v4#IBb>6e&1eM`AK9qirkwv{33H7*!YZ>@;B7QDJNzc77xrpp8RiIEqvW|=vp zey+L$7Smh2z=Xp+6XeOELKkXU%`EU5S+v5ilZ1o77IB0biW_c6@#AGz(hS1tUj@2z$DHYaDxly ztzE8F(tRggGbWLdrk)*Xk{D@{71Bh(?r5;86ve7!TmuC@G9lHVR1bjh9nO|fUFkcF0F9;!+tkzBu`PqJEmL}DDQxpI%ycp= zy9~B9GqDYZ$MUc(hq0{%V_Ocet);>?b!N9RLgiL~ZFvgYT3N6yUxv4?5Zl^RfNiG# zsKCUwwiRF-w~oTLb|$vLYxwRty!_A(c5LfN*w#rIp=xzjdO<`NMYy}#2sf;dhEqEW zVLL`J8IJ;2p_MK7u(9Qy%$9qZY`M3cEgwjyFL8b!D_ibsvgLkuw#=j9u-0F(WwnQb z$%;(2Jiuhj1BopUGTAc1bqu!rt%i6V3%wnRmI*3mtK2YUmE)e3I9!H|uvz6sdaQDz ztX8?vrd4hXS>?u>RykBpQB_&xP~9j|RaUt%Hmlq?1@_zt4X{^F%#&5dGuTh?fc-=h z>`P3rpJamlWCr^wHn5*+1^a0X_R|^cXE4~$WU!yb2D#Y`^>Y~M=h}gOo{D+l$1!l8 zU+HN%U%@=TQrl#e1vZoi;V=STU`#YXo=+78;-Nqu#DhT|%%ePz2mLTWp4*i{9+?FV zJsQjAsH98F0oThqV_+qejt)dH&jQ`57mlc%5B04G5RZa31WgVQYuN;>W17yeGZ3Bg zjlPwMsGL@9>5!`-We1Rrm#Hc{trs3O2;n%N(_ZW`B5-qnhU$5(yN;t2C z^GZ0UAy*0Km2h4O=aq2&_l9$r5R8yoX#)EukeE_Yw|cYjAD}w>0r=Qs4qv+;poa9R>G1>jvC_=H2rF}T_5=8v zN^^i!X_gUzN-e2nQ%izaEr|(cjkUJb4-mqBfI7+#5Nh=UAV!yCZLx5Wq1o`Qx+1Ka zO5M$MBVol8^&aTe49Y?4T` zNj5c``mEWU(^6O^Z@?;fDy!std&&<08z4Bw5a4XO$K_qMNy(f3H+Pz$Z0A= zGuRK1$vilVX>hiM1vg_7+?+XZj)elZUOOO#K%)r{1Z%}DJmW~BDYj06q4^-S>h+U9_; zIuAO!lUCv87QjuwrXNJ*vhx73KQ?=hx;pGVUCY>ex+&*DcQ)x1+D$q=*rd~wod?jq zPeu{t@mOuhz|vb8Sk&e029`c#VCgHp`zZs9Y9SfcpA9TLSmF?ttDFY|$~UkKWCP0} zHn0qYfn~5VuyETeMmB^EEZkF-^I)hluoPPiEW>2@@CpqqBPuYkjAZA*DAT|)S_bj; zEY1UN9c5q{V;We-vVjHRK8EuEeuMF3TbaNCJ`>rLP@+r;+=hvhWXNQjDPfAolrYt5 zNMv8Mu+z$lzkVo{+qX5x(PWB;lcOHh*eW6%1T#{e7Yp7Kx28I6D`MhLcb% z5qE!yVyRdMTmSzzlEJxM3%d(H-=U=+M6pv#J%(bJR{gMgdfg1~ObqxIyBodU6tejz zV6W$0EuZCZ(w`QdpGF6*WwSBW=GYS9aT5{Cw{&P$U1a}(H_)|QK&2ZW1Rs@PSTi)lfm&)!0>e-3sq;LQ^sMomvq*XBB_E1 zuw-~99PU>;p%=^87 z)MV&PE6ejTSzeZ%<$0SdFI%xZZx73B=I*|osLBbgxykZ!WNjbDs}?3+wX{ztDaM$Q zZwqfVJNRdu2eX57O}xruylTaGt?c1(J=_CnhO|t?)FdNZ6%>fQ;P5~wFF2x~l^49PX&CRvhVlMv7|+;=Mp`V2 zlwo`$Rqv1k6!#m*+|M>S3%z|10|SolZuL)d5YmALk5sX$Vdo1mA)| z9wT;B2a$2`F&Hd10WJmu@*2R!V9?oAxEORcE7K;Ihk|}nn1XvV1)s_koFCAL-{Fjo zDt>1gQ}F4Ef)Cqj}3?WJF0dE3)*=ZJz<|H>_n{UCGXH(o)GXzETmoXF#&JHK^!A< z!F%r34?aoK;c$6vOr%qJUyiB_?BRZPJN+UEZ0J*ciO^seEqoi%?QlaRZW1yC3@8G7 z@sWwzkMr&n2z>}$gZJo=j|&7p^aZPRxVO>Y&WWuE8@`t|@7A^nqP^R(L-AhPaZ2Bz zm@nYJ-*^I3iKA=-RP(qZrFJE~lX9bfC4&1rLmgMK`VHt%%oz~=X~ z`Ix?$cojB3)Hi$6=3yrtu#7g3>zlXI<`eqno3#0YzUg}ao1f^L&1v&%eRC{r{-SU0 zq|GfZI@u$%d8xkn6>Z+4Z$=}|Q(oq^Q@CHnmc#w6F7=sq22~6=ctw>eu7y8rf?On? z1s1y&i$|zfA`aeyVyS2gg5+8zBF~~&E*gD9J^MEN5`O8CF;~cv0C^|L$OAD z-Vw!G(fL0p)`|Q}P^=fCH;N77VSH6x8^wVkC^m_^-bS%mq=9_7E)j`X*xI#4{7?Kdso)p9AZ%+x?5w)kqH{DTtMqJ+)wP(c; zC=<@-#KSJs&WL>vqV~La=24vU1+lOfj(kz{Z;!vdBwp=}+RNfz`rRwy=or*q6*W+} zUK4>tG+!4VcEj)95H1J)_NI9EHPqe`GdrR7wpcs@N1io~{7gU6`IUHg5dQX~`0{o9 ze5rO5=0`f$Xscpz;Z04y&$l$XPv?8u_@20z546o4P<*I$ zACE&m(sD4#&-t-70XOeFtN+gVnHDk{wa@hnIls_?(4MX@jqCl_xZYRB^}aT)_lx#5 zD3Wuj{B)SW;Kjw(%dJino8`0fQEZbf(ZbGMGL>5D7P+Z0b{>}dPoQ{89;C*6NnV0$ zx;~VX=m#Ik>wK{Dth{qAYM;qEby53Ve)v)qqw8ZO9}#zko^x}NIHkM!LV@-D=2^*kwa}U>d-LAG1qQ{9QWK7$O*pm*OH-oAtz66208V_ z?T~ZQ@pX32^9qMt(CALcMVKsrVu^T+o_(3f-Hh4_v1A^KRpNbmlr=)5F1SvJH&AR5 z3qx__Ht`EJ%?=TOfIbALUtJBgJ>ugoD6SIUjKj{W#R}?Q2ZirY6xWILNhod*CuoG; zAxh{e?h!VA9jQnQ`bq%#HY)dv?dNmHgOMx%!nKdnbmOuWV3yRkU6V|L$*9h z!y<1Yb>#ehC6H~-(EhgXQI~3e1>JbZNqrzY@1!$yT}j7u-%H2$NGO2p^(AsTJNrB| z7_wg;ji92n^hFu?F+L&A!5Q?cp=Z$!u4UR1w3t3nJ`%d}dQOmz@BBebrRG|st=fRv zI_;N26kD`ji%{&+bd7trrfb}LG+pD~tF2p%zul|pa|e!U`rLv0G=1*C1KJw8p<`M# zjC6cbe4=sWNo~aYC?3^v(Kq!wc+N}Ly3cs&TKDr_snpqC@FK0-`I%R({^~|$GPRFu z7CoK!Iebaz$F9)*6HyP_ig)d*Tj+=F$Zgo8|4k44bH(LQ+b7DdI3j;+E1a~={WQ|s zU*?bf9lPRrU0v^|FG2TibWH#1)E5WbPG=la;>0nlgPYKmhddhtIsA12IVK4h=bWgwN{QYmlk_&3qBqG@y+vm4pkX-gX&RFAm!zoX zSSEg=(Y!)@hTZ}s>~atOyjJu+gkqC;p)>xrOSGebv|F6(gJO?(H44Rb;x+obUN7D@ zx_DQ-Zr43x;}HDqh?xD6I{l*}5Fq7zR%D>d=noRHZ!sD&`tf+|uGgDJWzvXqkjY!0 zfUN%(0YS>Fp^y!}2*NRG(LJ%9el!Hzjcy=VYJ4UWvT4hgAv3O_hsqv9oipbw-EEuO zUc{b)n)m{^y8N;p+l7wjAbZ49N9ft*Q^;Q5O@QnjH43s%=Xl8fYv)S9qbRm@_iRZA zl?bwkEI~mOHF6aN5w9SdARr1Vir7qMI?0gPm?eb8Yghz9kVO_jRzYM_QBe^=qoTNr zDDDd?D(DkIzy$=}f2vMRW`^{4?|bj_-S2zfE5G!q`sRXys_rQqxIK*LEyG&i zIcOa=aQCf;%kaEy*I+!&duHKT6e+~hw|6$4B~wYOvd@3PGqU4lJck`A$1{G{b$E`L zM7z`N9x}!l{g?G1ck1g_fZVO0N#S_9{yU9fw(i{oGGD(FCKc8h*sd63xOo^!Auvu_)Va$%E{r2MYkV zyXHAO+q?h3v-23ztmmZWc=p>wJU2A&1pLOAsDYbyxquAZf}@+574y9oC=Y3K9Cd*h z9n*&HZ;NNyNZR#-Bj3X_Je(vWYiM~zJ5IrK*ya84Oe`n<EBV^e7zxUxr_D3=&1OBUPZ@; z<@)x^KpxaRZ9rD*?P#q(s_&|cZrADWk<&h=e?rS?qdt+E-lPv*3i7-@G6yWL=sz7q zX{&xE?N#sT-F`*seSLEbAR`!cfAhP{h|M|3gn1>5lzNe$01U8oMY{o;Jn*$ggkeO<1mq_ zju3g+J&queX^x#eL8d#tBr?NsJApGDqlwINw4jwR+i@0=IgUlNcIG-361mUuCk3#1 zjw3|oJJu6;zvBra3mxYnoVyn}S`%69xE4O_UgGFWWT_)ghx7*=F(S(xhpD6Gjz5U3 za7-ozA9740vdYn#7RzeKxkT1F@<@q?9ZwPGBMvvM%SRn&Qj}fim{7*6q+rkxjC;Hu zBzK#r@2ZXJ$$D2hOx~;KViR-E(Q}B*)9)p97U&`DHkk7ukq7j{6ks0I{~)qbUrXQ` zeGQRE^e=A)c})L;$VUA+(rUAQ8&Ma)q-uQ}?YuBp+^bofC|0o6xDP z-Rd*(>~JI>$Q2jghkWPv_u|>LF`YSktZE9pSL6cZ`)($$yP=ZKaf8QV<8yoK(K_-E zt%YZ47mA~0H__f4UTWbvY%e)h;>dS+4xe!;o+HnnkLT@4X2c{iCerSkzLibR9*sV>lJtu3?!L_`sF7V;?NZE>|!;l~K z54?J&#I@^vhsKVc0fX zzlG@K4^qb++d@Bg_mOne=vhXN-1|4$@UC4*+Fu`}DI4Uik7v=F6xza9kkdxS)0P%} zhRi-{0P$Dqaq{##_4~;OChKR@@|~v7!ueM8`Hp@RlYxM>w>c_4*KeU_cIvq_t>5ZR z5i$hZF})qNJjU@6k@1dtH2D)9Cv^vz?D!dMh$V*&v^2-@I=SF{$4jF?7CD|h1!Rfi z(B~k_97iib9&~*BG{{QF^FM>EcDzS#0FO9c+lSI)j)~;q>m6UM2YJ%5cq7PDj)4O~ zo_2gvBz@L1!?_iwN6$=WK`W4ZoqgcUo>|Tp$!Hs$6DdMI>(r?EP0p6I+%`K8D%mYk z_GKyiij>_dW#4dKaT1hy(`hY(&|6aW?P}Q_QuYHW`=ONmNXmZZeCQqseeV2(wD>~G zepxO1os|7v%I=o3d!+17&Ox&vwAZDBbPz@9yl`v=MWqvU?dJv;*Lr`=c3KC{7nn`(QbTWIpETWGS$Ei|c;+%LHI(9ZLs z+tG_P*&?}LmfWvM?$;&v8}5~~%HDL>Q?E#GOYV0h_cqD>zU1EF-aujT1NSLdjbfA^ zN$!s&_a~Bjw|fd1V~^D22lx4i#De=jB==8}d#~jFMRFgInjCa5K&%nmze?`kB=_%< z`%lSzRBCd}{R}oq!CmPQHW}j)HW}*?Hkt0}Ns~CkBStyXGZi1u1ote-JzH|mk=*ko z_x&C*$_1V&Fr?sKB)Jz$?j@4@5zpxq`5u+r>pTzg#^8Beaz7!t*9&gXTb|GI;5Bc1 zI-CRNc*ip}1hUOD7~bf4*Ym@@Alp69e+mCP=$Zd9$YD?Gz93_A3h<%8y(;J1Pf%K$ z(*ttuM{~A64Dxu+!igYH=6F0HTXUK;2YDxF1NIa5*E!?q4EsY)y?l@ZISnYBO~{=> z2f-=1Kb3(@&24f&$h_Ps2yQe^_vudhV9=-@tmJOofcCz#JK)Vh)Gf<>k-i;NrE;B~a_?8>{sO~|dfI3=Xw4lxCA;U{Yhn2>cr68+}-^oy`jmFg9 z8Y71^d){~ptIu6!d`gYIVDzPKUo@K2a(>B}i8F|Mi_wbg`Lgj1+58pbK{Di4Bag=S zs_`^U!E43`v^ZZkc9Yy2MqA>1$LL48Y%?6B*}KLvdJ)=gSTw%(jD}Qt-*|@<++nz= z+YgN8v<-e}yh|4R$kdXQPaHa;bL zeq-bl*=4*>^3^np!XO@aMpDHU>qfuAC0$&EC++*{)QDfus9w46>pVyI$b!T3CIz>##TS5X8^Xis> z+?BVAz)5*s$V!v*){!oE=glAs&dP2ws5o;wX3`{q{z#y1n7y+Z%?uy^*JGZ`5+0c9Oc#da|=F=TjG2`S!*s z>O!mHeZf^b`$B8JGw;;Yh1TlZ8%m<_39bLr3$5z*#%azo>Z#is_0{c-2I}@k!;IS- zr>ol=jnwUpGcs;(G*-7anpEH3Xqvjc(M;XmC~!7t?$pmzw>R*AewVj5S~&HVHn%s< zb~bFDy1mg9zjD@XrEYJW!?!oi&APqeOx@mSt!{6emvwvNe04GR0=~Ubn0b5S!s^=_ zZPe`zWpWSxjcNM-zy6}E+Zz|F+Z%1GZ*N?Zy1jvW9P*AXH>d9Cw#&S|(cb>{hUc{!OZ>VX`y1k)X>A!k=gPZ$byuIQ2C$~3T@-~M1U%kD-{D1B34esQ>b9+OD zpO$~^?G3dI|Nr(z&j0P(8+c2wPdN7A+_N9wEHV?m1ZcPiqK(FzHl+gb)HHm=s*%4b zaEDe~8-f>>^i+TX;nTD5iy7aRh4%!mYo}}ZRmdQbew1#&pRU!@s_@HAdK!%awVzLl zr6v5%3I5Zx4O#pT0k3JikJ#XKF#ekO@qwsD{1qGg3mbelaMFKC0WwH9Hj9MMQ3B7! zZcd5b#VP%Xznb*%puQ$NA2_u?5$|@C21%l|wBf(l2FKyP#`f_7QX_6>PrO*w$S=PK zoal!%ZqomiLaF#{)*tT`0v~jt1PV~5l(cDolnp-42A^bu&$Gc-*x-1dsByfTZ1A^j z@GoreA8qg>Hh5h}&H6O9!Q0y4-E8oiZSYbXJYj?1WrI(%!I#?L>w%O19H0P#gjYe4 zUSxdkjk0_P;~z3!A0Htp#U;@WFg}U#IgINz@u3lL>i3(QCF6(8-`a-1y$x;`e|p&P zUuT1RZSXQ1e4GtF-3DK1gRi#1*8?Z}?DI>*sJQfk4gXs<_-8iw&o=lm8~kKf&FiA2 z4St0U-p2+XY=hGku$tobaNuMgEh_C(!TvLj@k++)VVzSNpCkE~;KMqlQc1K~HtjF5 z!5_E5pR>VVx4}QK!N0b_f40H@w83-THQTM84SuE#ej#wObDL4pU;(z<-);DN+2A+Y z;CAPwV({xYP314=4%0|Y{*Vy-^|e>C&NH_I*R(p?fXQhMAUj>~H_%>vE)!n?ybi`& zK1AYlPNMVz<1bz*%lPe9r1u#gi7&pC==?53t#uVR3#XAAnE&fm5@f#RFHbeqyTxE=ZH(28MUN2ITac!t9 zD?3*TTw>|ZnKt-h8+;?T-<11(l^fe?!~c;D{-X_kOyGFW9U&W@!Q(RUB2Dw#h8Hxu zwbnr3=_8W)R?Od>4Tj%3MC!;mUBIT)S`w`X;~Q_0z#+zOW4s_Jft8GxFn(Px2|USo z1>^M@znpRW04Vg|8IV9D#%Bne3u$CI^RHt+JjQkFZTL4c{}SGRyYhIq+VFpDga5$o zM6Z$^R&l?7GM>+N<7zD@kH&RkY6P6tb#|O=CHQM={hCOb9xQqVB}%VIqKy|g7t+WA=D+a@2HBqLfET3ksqFK> zPjxiZa;p>~>6_fn5Vl)SuKtkms-Y5?%=j+G2lbagEADqc<6pOw__vI^YoTBKr&UTE z$2^fv15WFu>|$9?GTwsm>G&a?(o>RX7cxGug#<3-_B%4Z=o*QC#{9h*KVV9L!x@6c_{MG$_>=Ls7+)8cz+H@g$oS?9Bw(<8z5||*?`#dLn32hk%>OcP25B1@ zzm)w=t)n*?|C9r&pWE5N_>zDGE@Av@#?4L=7|-}Y#{2e@fI81OPUdyQeyifoslaL8 zv(GI}nBU+9aVxjqlJV!+@XG#|FkZKwWPFhMJ22jW8HX_5o$(v4lYm-B{Tc7X=W68- zgBhQGyX05?Q^xpkZl9+?D`&jfK*_&_{roP*NAQ4@p0fnb%B7K&%pdJ4L0pXxX+7hQ zv;J?f%x1<*>PlcfIon@Hv#SY{yO`e_oV!~8{zMo8M+qL~x;cz*2=Wu-Hu%+eHmh*MT^^)-)%zrB5>%tOXwX|jeXQnjLhWR^j zT)m0wIsvEsI(z-n_et6}#}1H;tC+txw{x8JXZO{LfEO@NIvLIUGcJgX7qC=3mPAk|GHVW&CN?4#z`Y_S!p)H|O?mWB$(=@5Bw$PV3Fdd^OZ)6BlRyW?PhosJ$H{XUZwUNM&Zm=$iQj>s3!0uT<8}sf!0ykLT?L-b zDf2fl|4#M?4riK=@eY?uzGl2$VvP6mN}PUop)?Zssfg#NRf!_LCCW6N`8V@GRoqz4 z_=;wd?=bUg{e7{--wGp|X?lwSX2M&d0f;A(#l?j_&2Po5l0ZCR#mq#=^aUefD-KS7 z#4HI$io8M7pNPcbrZ-uk`68ic&`MbT!ZtN?n8kr`!1Tsq-Vvr1PQ*rN#W8QlGX2R= zXaq#kN+viH8LT01APjx1a5?gjJo>!q#vz z8jJX>cw7@)W*gMX+~1IkSwU|iP;Qw~Z=%#J^@jaH3(Y{Cc*2`V%0^SAR7XBP_2Dax zh^_(&L86fuWumb_IDsLTYhJ%!(CBbtPln?b)x&yt`hu1>Y?fGIE9MQR%88go+LJv3 z-e4e31*jj2k{~qlm6^T>j2Q`<7iA+Tmj~iWAr?a+5RN7jrmxiUm02g0P1rPQ#b|s{ zZ!9htWQJ=_U^o#N8liz=UaDJ387L7cv%=7yI!@)&n+QZ{Y%$9ph*>^Nel%)@$x11t z6u#(>_y9#v1%HgfqcAxzVlryR10~eCoUoWCDcTn@@F%!%EE!D%B4OneutXr}KcW4U z#@=|`3c{C6@su zXeLqu@ysGz6T`6lP?QXwVoTwr7WpjU$%L=e8#9Y(u4EbW7ECXr?Nl)y4T{0YAq)sWudqol`zKB9-?it8wzpR7EhID`-_$gwvY} zr^_c|0iGT)+(6ib-_d~M$s%+sn+{o_RLgSJ6Eo^ev-|a(`*btA_3dh!n%VW{zMcE@ z>;kw)-y6(sS99&vU9Z>79=)%C{{vFrk+A(2iiX|GtM#6+~Md;ONATT!OO)EjT4wrZ8(YxnWT@XGlD!fFk zn_$F;;7%)9D@q1}2@IEFV9kzzIBr=Pt&ksJy+vXat0>f>?~-H)E{Guq14TXxrm=)c zQ9UJiaa&E-qa|pv|7yEy8Xp|i*FM=K5sVWG|uq{G1`3HgmY3wV7<7SK|W_kT7^-S^<+T=>h z%wlgKnBr_(-6B%sw20cVU%VzEW>05mmDuG2`vzpi%5D2+RI?%{Ujc>eAtJf z4lNCuk+=xM)qakd#Q=EgAdaM%G+MwoA%$q>u@>Nyu@W(UGKDxFaEzu!=^O6P=v---~}R5$UzGI#l|D{#PUpj9P{AVa;0V+ zxy)n~byl`(@q&{JgU&m`Rn`2HW8?Hli%~2@ar_a-A^3@f6U_)1DMMpv7%!q%Nz5B9 z4Im~V7LmCuBJH|mXHAjgUEpPUrKm@xX0$dOg zAY-_xNQ+~nnA${)Hmd5ez^7R^ga)XAzJ?_uVopO5tWOq#-=~HQ6>$hfTnMXSk@H~` za;vK5!)(Dhy(N}%)3_=Nhlz9aqsfRxA~+2Ng(qR}_KrxkBBqq8Fhg|E76#y9)4Ypq zOvP7mc;`c@*evAH6g@@IiP|_a77g^qB#3pxw#L~ED~ltWie=RnL-?ru<14+D_(s7asfjG|0MOJDLC6kjoq`j`Gxu%&+ zX(&C9l*216-ny_hsc*SmqTT8sD zUh;hvUW#?t_D5!I4D>cCg1mes)o@D6I)Diq@_Rs9FV4{w`7LWkvqIgX#6xJz3 zwy*?ovM^y);7Q*;z!VY3vqGzszjl=R(TFNZQ9h;%36)0=-cY~?o#?1phybM(QedP5 zb)nxXN|u1r8!o~2%EdsqIHL02qN12pu1X>%GZze(f)Rrl4S9XBi26MAKc)0Nl|EVF zGo?rkotczBPjao~O%;%#&vQBWQ}T3Ql9HkYqE!9Jtx4`g{oTV(O8?`R69 z&ywl#>R!B}1&Wbrwmf~m{q^|qh|+%v_phkx-^23R`qO8>TKH4)ud=+N6Xp3Eq^n;Rzi2KdXCUkZ#&q}oq? z|Hb!IO6vClS(1IJJkbUCOP4QTIYmzSHz*OnW;wk+VzAj5%{VuEM z1pY3rKw{8W~_x;LaKe!j{`+5W$Y<<34~A`HE?hPtgVZdzNY?yZ_HnfuDTD8X_L`?@BhTrBb!O$WnD#wX+))_-P^~ zul^lN)xRiz5VGWZyv$SgKwo8fWf)%8srgs)xCXK`{**lb@b&5=0Fl~LWm-~tD@wn^ zrORto%uJ4jr23Ji>hY_x6T;M%>R->~0)A`oECTD8kdFkkhy!f9c)F|&dB;}81 zZ9uAD)hdright->args[0]); - line = readline("> "); - write_heredoc_lines(&line, file_fd, eof); + line = process_and_reassemble(readline("> "), data); + write_heredoc_lines(&line, file_fd, eof, data); if (g_heredoc_interrupted) return (handle_heredoc_interruption(line, eof, file_fd, &sa_old)); free(line); diff --git a/src/redirection/redirect_heredoc_utils.c b/src/redirection/redirect_heredoc_utils.c index 9305d15e..9cecffe3 100644 --- a/src/redirection/redirect_heredoc_utils.c +++ b/src/redirection/redirect_heredoc_utils.c @@ -57,6 +57,7 @@ char *process_and_reassemble(char *line, t_ms_data *data) size_t result_len; int i; char *processed_token; + char *result; tokens = ft_split(line, ' '); if (!tokens) @@ -65,22 +66,23 @@ char *process_and_reassemble(char *line, t_ms_data *data) i = 0; while (tokens[i]) { - processed_token = expand_env_and_loc_var(tokens[i], data); - free(tokens[i]); + processed_token = expand_variable(&tokens[i], data); tokens[i] = processed_token; result_len += ft_strlen(tokens[i]) + 1; i++; } - return (assemble_result(tokens, result_len)); + result = assemble_result(tokens, result_len); + return (result); } -void write_heredoc_lines(char **line, int file_fd, char *eof) +void write_heredoc_lines(char **line, int file_fd, char *eof, \ + t_ms_data *data) { while (*line && (ft_strcmp(*line, eof) != 0) && !g_heredoc_interrupted) { write(file_fd, *line, ft_strlen(*line)); write(file_fd, "\n", 1); free(*line); - *line = readline("> "); + *line = process_and_reassemble(readline("> "), data); } } diff --git a/src/utils/.maxishell_history b/src/utils/.maxishell_history index 8a9e340d..44fdc00f 100644 --- a/src/utils/.maxishell_history +++ b/src/utils/.maxishell_history @@ -189,3 +189,42 @@ norminette src/redirection/redirect_heredoc_utils.c.c norminette src/redirection/redirect_heredoc_utils.c norminette src/redirection/redirect_heredoc_utils.c exit +cat << eof +cat << eof +cat << eof +cat << eof +cat << eof +cat << eof +cat << eof +cat << eof +cat << eof +echo $USER +a=123 +echo $USER$a +echo $USER$a +cat << eof +cat << eof +cat << eof +cat << eof +cat << eof +cat << eof +cat << eof +cat << eof +cat << eof +cat << eof +cat << eof +cat << eof +cat << eof +a=123 +cat << eof +cat << eof +cat << eof +cat << eof +cat << eof +cat << eof +cat << eof +cat << eof +cat << eof +cat << eof +cat << eof +cat << eof From ba2925be8db9a1afb818ca8e0aa5c65f3bfc5e4b Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Fri, 6 Sep 2024 15:49:11 +0100 Subject: [PATCH 19/83] Dnew backup branch --- minishell | Bin 450440 -> 450440 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/minishell b/minishell index fe4400998fc01c4e486a6c8a663263ac1bf3eaaf..5385e8c53db87a7665f8b696aa3038a78f102211 100755 GIT binary patch delta 173 zcmeC!FWs?UdP4@Y$j&K8%p7Abr@e5j7ua<0cip1zrzJPnFl$|4WShMFvaBr|<9-GP z21a*Q1_pi|W+0Kz0_5{C`e`#V2#7*uQ_*FYYXD_M*fuj>`Jcteww=+Qk)MN6YP+C2 w<25!$j_oge86#MM;*Pldr~+f5HkTWGZ3=?G3)lEa5l9L0HwbzYybcN From fdb70a01abad25defa0748c8291b276ef0007ea9 Mon Sep 17 00:00:00 2001 From: Dima Dem <50800563+dimadem@users.noreply.github.com> Date: Fri, 6 Sep 2024 15:56:46 +0100 Subject: [PATCH 20/83] Dev (#29) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * merge: merge_dev into main * merge: merge_dev into main * Merge dev (#28) * add: get local_vars using $ * add: heredoc now returns expanded env_arvs and loc_args * fix: norminette for heredoc env_var functionality * fix: working on interpreting $a$b together * fix: done echo a$a$b * fix: norminette after a$a$b fix * refactoring * new: errors * add: exit_status * fix:compilation issues * fix: builtin_exit * fix * fix:exit * add: norm, fix: issues --------- Co-authored-by: ¨Roman <¨roman.mikhaylenko14@hotmail.com¨> Co-authored-by: Dmitry Demirkylych Co-authored-by: Dmitry Demirkylych --------- Co-authored-by: ¨Roman <¨roman.mikhaylenko14@hotmail.com¨> Co-authored-by: Dmitry Demirkylych Co-authored-by: Dmitry Demirkylych --- Makefile | 6 +- inc/env.h | 6 +- inc/execute.h | 9 +- inc/exit_status.h | 26 ++++-- inc/tokens.h | 4 +- src/builtins/cd.c | 8 +- src/builtins/exit.c | 58 +++++++----- src/builtins/export.c | 65 ++++++++------ src/builtins/pwd.c | 10 +-- src/builtins/unset.c | 10 +-- src/env/env.c | 4 +- src/env/utils.c | 19 +--- src/exit_status/exit_status.c | 97 ++++++++++++--------- src/exit_status/exit_status_utils.c | 45 +++++----- src/parser/parser_joint_vars.c | 5 +- src/shell_variables/shell_variables.c | 96 +++++++++++--------- src/shell_variables/shell_variables_utils.c | 23 +++-- src/utils/initialise.c | 6 +- 18 files changed, 273 insertions(+), 224 deletions(-) diff --git a/Makefile b/Makefile index 95aae565..a9ed8ab6 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ # By: dmdemirk +# include "shell.h" +# include /* exit status */ -void exit_status_handler(t_ms_data *data, int status_code, char *err_arg); -void set_exit_status(int *exit_status, int status_code); +void exit_status_handler(t_ms_data *data, int status_code, char *err_arg); +void set_exit_status(int *exit_status, int status_code); /* exit_status_utils */ -int ft_perror(char *str); -int ft_isnumber(char *str); +int ft_perror(char *str); +int ft_isnumber(char *str); -#endif \ No newline at end of file +#endif diff --git a/inc/tokens.h b/inc/tokens.h index 01f1d7a6..a333d520 100644 --- a/inc/tokens.h +++ b/inc/tokens.h @@ -6,7 +6,7 @@ /* By: rmikhayl +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/05/31 20:53:51 by rmikhayl #+# #+# */ -/* Updated: 2024/06/26 14:39:34 by dmdemirk ### ########.fr */ +/* Updated: 2024/09/06 12:29:14 by dmdemirk ### ########.fr */ /* */ /* ************************************************************************** */ @@ -106,7 +106,7 @@ t_ast *new_ast_node(t_token_type type); t_ast *create_redir(t_token **tokens, t_token *tmp, t_ms_data *data); int arg_len(t_token *current); void set_command_args(t_ast *command_node, t_token **tokens, \ - int arg_count); + int arg_count); t_ast *manage_commands(t_token **tokens, t_ms_data *data); t_ast *create_redir_node(t_token *token); int is_redir_node(t_token *tokens); diff --git a/src/builtins/cd.c b/src/builtins/cd.c index ba72db1b..382e4a4b 100644 --- a/src/builtins/cd.c +++ b/src/builtins/cd.c @@ -6,7 +6,7 @@ /* By: dmdemirk envp, "OLDPWD", get_env(data->envp, "PWD")); diff --git a/src/builtins/exit.c b/src/builtins/exit.c index 56b99031..6b9e7a2c 100644 --- a/src/builtins/exit.c +++ b/src/builtins/exit.c @@ -6,7 +6,7 @@ /* By: dmdemirk exit_status = status; + set_shell_var(&data->shell_variables, "?", ft_itoa(data->exit_status)); + exit(status); +} + +int builtin_exit(t_ms_data *data) +{ + int number; number = 0; - if (ft_isnumber(data->args[1]) == 0) - { - exit_status_handler(data, NUMERIC_REQUIRED, ft_strjoin("exit: ", data->args[1])); - exit(NUMERIC_REQUIRED); - } - else if (data->args[1] && data->args[2]) - { - exit_status_handler(data, TOO_MANY_ARGS, "exit"); - exit(TOO_MANY_ARGS); - } - else - { - number = ft_atoi(data->args[1]); - ft_putendl_fd("exit", STDOUT_FILENO); - data->exit_status = number; - set_shell_var(&data->shell_variables, "?", ft_itoa(data->exit_status)); - exit(number); - } + if (data->args[1]) + { + if (ft_isnumber(data->args[1]) == 0) + handle_numeric_error(data, data->args[1]); + else if (data->args[2]) + handle_too_many_args_error(data); + else + { + number = ft_atoi(data->args[1]); + handle_exit(data, number); + } + } + else + handle_exit(data, 0); + return (0); } diff --git a/src/builtins/export.c b/src/builtins/export.c index 168cc58b..43529d69 100644 --- a/src/builtins/export.c +++ b/src/builtins/export.c @@ -6,7 +6,7 @@ /* By: dmdemirk args[1], "-p") != 0 && data->args[1][0] == '-') - { - exit_status_handler(data, INVALID_OPTION, ft_strjoin("export: ", data->args[1])); - ft_putendl_fd("export: usage: export [-p] [name[=value] ...] or export -p", STDERR_FILENO); - return (INVALID_OPTION); - } - else if (data->args[1] == NULL) - print_env(data->envp); - else if (ft_strcmp(data->args[1], "-p") == 0) - print_env(data->envp); - add_env(data); + if (data->args == NULL || data->args[1] == NULL) + { + print_env(data->envp); + return (EXIT_SUCCESS); + } + if (ft_strcmp(data->args[1], "-p") != 0 && data->args[1][0] == '-') + { + exit_status_handler(data, INVALID_OPTION, \ + ft_strjoin("export: ", data->args[1])); + ft_putendl_fd("export: usage: export [-p]" \ + "[name[=value] ...] or export -p", STDERR_FILENO); + return (INVALID_OPTION); + } + else if (ft_strcmp(data->args[1], "-p") == 0) + { + print_env(data->envp); + return (EXIT_SUCCESS); + } + add_env(data); return (EXIT_SUCCESS); } -static void print_env(t_env *env) +static void print_env(t_env *env) { - t_env *curr_node; + t_env *curr_node; - curr_node = env; - while (curr_node) - { - if (!ft_strcmp(curr_node->value, "")) - printf("declare -x %s\n", curr_node->key); - else - printf("declare -x %s=\"%s\"\n", curr_node->key, curr_node->value); - curr_node = curr_node->next; - } + curr_node = env; + while (curr_node) + { + if (!ft_strcmp(curr_node->value, "")) + printf("declare -x %s\n", curr_node->key); + else + printf("declare -x %s=\"%s\"\n", curr_node->key, curr_node->value); + curr_node = curr_node->next; + } } - static void add_env(t_ms_data *data) { int i; - char* key; - char* curr_arg; + char *key; + char *curr_arg; i = 0; key = NULL; diff --git a/src/builtins/pwd.c b/src/builtins/pwd.c index b58ec021..9eb18beb 100644 --- a/src/builtins/pwd.c +++ b/src/builtins/pwd.c @@ -6,7 +6,7 @@ /* By: dmdemirk args[++i]) { - key = data->args[i]; - printf("key: %s\n", key); + key = data->args[i]; if (unset_env(&data->envp, key) == -1) { - // ft_putstr_fd("bash: unset: `", STDERR_FILENO); - // ft_putstr_fd(key, STDERR_FILENO); - // ft_putendl_fd("': not a valid identifier", STDERR_FILENO); - // set_exit_status(&data->exit_status, NOT_VALID_IDENTIFIER); - // set_shell_var(&data->shell_variables, "?", ft_itoa(data->exit_status)); return (EXIT_SUCCESS); } } diff --git a/src/env/env.c b/src/env/env.c index 815142e2..cf2bf419 100644 --- a/src/env/env.c +++ b/src/env/env.c @@ -6,7 +6,7 @@ /* By: dmdemirk next; } return (-1); -} \ No newline at end of file +} diff --git a/src/env/utils.c b/src/env/utils.c index 36638100..8f0406bc 100644 --- a/src/env/utils.c +++ b/src/env/utils.c @@ -6,7 +6,7 @@ /* By: dmdemirk next; i++; } -} \ No newline at end of file +} diff --git a/src/exit_status/exit_status.c b/src/exit_status/exit_status.c index 2eeee6ac..ef1ffb19 100644 --- a/src/exit_status/exit_status.c +++ b/src/exit_status/exit_status.c @@ -1,3 +1,15 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* exit_status.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: dmdemirk @@ -5,52 +17,55 @@ #include -void exit_status_handler(t_ms_data *data, int status_code, char *err_arg); -void set_exit_status(int *exit_status, int status_code); +void exit_status_handler(t_ms_data *data, int status_code, char *err_arg); +void ft_puterror(char *err_arg, char *error_message); +void set_exit_status(int *exit_status, int status_code); -void exit_status_handler(t_ms_data *data, int status_code, char *err_arg) +void exit_status_handler(t_ms_data *data, int status_code, char *err_arg) { - char *error_message; + char *error_message; - error_message = NULL; - if (status_code == IS_DIRECTORY) - error_message = "No such file or directory"; - else if (status_code == NUMERIC_REQUIRED) - error_message = "numeric argument required"; - else if (status_code == TOO_MANY_ARGS) - error_message = "too many arguments"; - else if (status_code == UNKNOWN_COMMAND) - error_message = "command not found"; - else if (status_code == INVALID_ARGUMENT) - error_message = "invalid argument"; - else if (status_code == PERMISSION_DENIED) - error_message = "permission denied"; - else if (status_code == NOT_VALID_IDENTIFIER) - error_message = "unset: not a valid identifier"; - else if (status_code == INVALID_OPTION) - error_message = "invalid option"; - else - error_message = "error"; - if (err_arg) - { - ft_putstr_fd("bash: ", STDERR_FILENO); - ft_putstr_fd(err_arg, STDERR_FILENO); - ft_putstr_fd(": ", STDERR_FILENO); - ft_putendl_fd(error_message, STDERR_FILENO); - } - else - { - ft_putstr_fd("bash: ", STDERR_FILENO); - ft_putendl_fd(error_message, STDERR_FILENO); - } - set_exit_status(&data->exit_status, status_code); - set_shell_var(&data->shell_variables, "?", ft_itoa(data->exit_status)); - printf("status_code: %d\n", status_code); - printf("get shell var: %s\n", get_shell_variable(data->shell_variables, "?")); + error_message = NULL; + if (status_code == IS_DIRECTORY) + error_message = "No such file or directory"; + else if (status_code == NUMERIC_REQUIRED) + error_message = "numeric argument required"; + else if (status_code == TOO_MANY_ARGS) + error_message = "too many arguments"; + else if (status_code == UNKNOWN_COMMAND) + error_message = "command not found"; + else if (status_code == INVALID_ARGUMENT) + error_message = "invalid argument"; + else if (status_code == PERMISSION_DENIED) + error_message = "permission denied"; + else if (status_code == NOT_VALID_IDENTIFIER) + error_message = "unset: not a valid identifier"; + else if (status_code == INVALID_OPTION) + error_message = "invalid option"; + else + error_message = "error"; + ft_puterror(err_arg, error_message); + set_exit_status(&data->exit_status, status_code); + set_shell_var(&data->shell_variables, "?", ft_itoa(data->exit_status)); } +void ft_puterror(char *err_arg, char *error_message) +{ + if (err_arg) + { + ft_putstr_fd("bash: ", STDERR_FILENO); + ft_putstr_fd(err_arg, STDERR_FILENO); + ft_putstr_fd(": ", STDERR_FILENO); + ft_putendl_fd(error_message, STDERR_FILENO); + } + else + { + ft_putstr_fd("bash: ", STDERR_FILENO); + ft_putendl_fd(error_message, STDERR_FILENO); + } +} -void set_exit_status(int *exit_status, int status_code) +void set_exit_status(int *exit_status, int status_code) { - *exit_status = status_code; + *exit_status = status_code; } diff --git a/src/exit_status/exit_status_utils.c b/src/exit_status/exit_status_utils.c index d3c60ada..a57a65a8 100644 --- a/src/exit_status/exit_status_utils.c +++ b/src/exit_status/exit_status_utils.c @@ -1,33 +1,36 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* exit_status_utils.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: dmdemirk #include #include "libft.h" -int ft_perror(char *str); -int ft_isnumber(char *str); - -/** -- @brief return error message and exit -- -- @param str paste the error message -- @return int return status: -- - 1: ERROR - */ - int ft_perror(char *str) { perror (str); exit(EXIT_FAILURE); } -int ft_isnumber(char *str) +int ft_isnumber(char *str) { - int i = 0; - while (str[i]) - { - if (!ft_isdigit(str[i])) - return (0); - i++; - } - return (1); -} \ No newline at end of file + int i; + + i = 0; + while (str[i]) + { + if (!ft_isdigit(str[i])) + return (0); + i++; + } + return (1); +} diff --git a/src/parser/parser_joint_vars.c b/src/parser/parser_joint_vars.c index 38046b77..94bbd0b4 100644 --- a/src/parser/parser_joint_vars.c +++ b/src/parser/parser_joint_vars.c @@ -25,10 +25,7 @@ char *expand_variable(char **start, t_ms_data *data) var_name = ft_substr(var_start, 0, *start - var_start); expanded_var = expand_env_and_loc_var(var_name, data); free(var_name); - if (ft_strlen(expanded_var) != 0) - return (expanded_var); - else - return (var_start); + return (expanded_var); } char *append_literal(char **start, char *processed_arg) diff --git a/src/shell_variables/shell_variables.c b/src/shell_variables/shell_variables.c index a16ff28b..03f9101c 100644 --- a/src/shell_variables/shell_variables.c +++ b/src/shell_variables/shell_variables.c @@ -1,59 +1,71 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* shell_variables.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: dmdemirk -int handle_add_set_shell_variable(t_env **shell_var, char *line); -int handle_get_shell_variable(t_ms_data *data, const char *key); -int handle_shell_variable(t_ast *node, t_ms_data *data); -void shell_variable_update(t_ms_data *data, int status); +int handle_add_set_shell_variable(t_env **shell_var, char *line); +int handle_get_shell_variable(t_ms_data *data, const char *key); +int handle_shell_variable(t_ast *node, t_ms_data *data); +void shell_variable_update(t_ms_data *data, int status); -int handle_add_set_shell_variable(t_env **shell_var, char *line) +int handle_add_set_shell_variable(t_env **shell_var, char *line) { - char *key; - char *value; - - key = NULL; - value = NULL; - if (*shell_var == NULL) - add_shell_var_node(shell_var, line); - else - { - key = ft_strcdup(line, '='); - value = ft_strchr(line, '=') + 1; - set_shell_var(shell_var, key, value); - printf("value: %s\n", get_env(*shell_var, key)); - free(key); - } - return (0); + char *key; + char *value; + + key = NULL; + value = NULL; + if (*shell_var == NULL) + add_shell_var_node(shell_var, line); + else + { + key = ft_strcdup(line, '='); + value = ft_strchr(line, '=') + 1; + set_shell_var(shell_var, key, value); + printf("value: %s\n", get_env(*shell_var, key)); + free(key); + } + return (0); } -int handle_get_shell_variable(t_ms_data *data, const char *key) +int handle_get_shell_variable(t_ms_data *data, const char *key) { - char *value; - t_env *shell_var; - - shell_var = data->shell_variables; - value = get_env(shell_var, key); - if (value) - { - ft_putstr_fd(value, data->std_out); - ft_putstr_fd("\n", data->std_out); - return (0); - } - return (-1); + char *value; + t_env *shell_var; + + shell_var = data->shell_variables; + value = get_env(shell_var, key); + if (value) + { + ft_putstr_fd(value, data->std_out); + ft_putstr_fd("\n", data->std_out); + return (0); + } + return (-1); } -int handle_shell_variable(t_ast *node, t_ms_data *data) +int handle_shell_variable(t_ast *node, t_ms_data *data) { - if (node->left && node->right == NULL) - return (handle_get_shell_variable(data, node->args[0])); - return (-1); + if (node->left && node->right == NULL) + return (handle_get_shell_variable(data, node->args[0])); + return (-1); } -void shell_variable_update(t_ms_data *data, int status) +void shell_variable_update(t_ms_data *data, int status) { - data->exit_status = status; - set_shell_var(&data->shell_variables, "?", ft_itoa(status)); -} \ No newline at end of file + data->exit_status = status; + set_shell_var(&data->shell_variables, "?", ft_itoa(status)); +} diff --git a/src/shell_variables/shell_variables_utils.c b/src/shell_variables/shell_variables_utils.c index 96221884..b4c53fe9 100644 --- a/src/shell_variables/shell_variables_utils.c +++ b/src/shell_variables/shell_variables_utils.c @@ -1,3 +1,15 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* shell_variables_utils.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: dmdemirk void set_shell_var(t_env **shell_var, const char *key, const char *value); -void add_shell_var_node(t_env **shell_var, const char *line); +void add_shell_var_node(t_env **shell_var, const char *line); char *get_shell_variable(t_env *shell_var, const char *key); -void add_shell_var_node(t_env **shell_var, const char *line) +void add_shell_var_node(t_env **shell_var, const char *line) { - t_env *new_node; + t_env *new_node; t_env *curr_node; char *key; char *value; @@ -37,13 +49,12 @@ void add_shell_var_node(t_env **shell_var, const char *line) curr_node->next = new_node; } - void set_shell_var(t_env **shell_var, const char *key, const char *value) { t_env *current; t_env *new_env; - current = *shell_var; + current = *shell_var; while (current) { if (ft_strcmp(current->key, key) == 0) @@ -73,4 +84,4 @@ char *get_shell_variable(t_env *shell_var, const char *key) curr_node = curr_node->next; } return (NULL); -} \ No newline at end of file +} diff --git a/src/utils/initialise.c b/src/utils/initialise.c index b210e1e8..dfb6e0b3 100644 --- a/src/utils/initialise.c +++ b/src/utils/initialise.c @@ -6,7 +6,7 @@ /* By: rmikhayl +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/06/06 18:16:59 by rmikhayl #+# #+# */ -/* Updated: 2024/07/18 15:58:43 by dmdemirk ### ########.fr */ +/* Updated: 2024/09/06 12:00:14 by dmdemirk ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,10 +14,10 @@ #include "env.h" #include "signals.h" -void init_ms_data(t_ms_data *data,char **argv, char **envp); +void init_ms_data(t_ms_data *data, char **argv, char **envp); void initialise(int argc, char **argv); -void init_ms_data(t_ms_data *data,char **argv, char **envp) +void init_ms_data(t_ms_data *data, char **argv, char **envp) { (void)argv; data->args = NULL; From 2f188ed671f8792d283c84ac0adbce8f2c3d9b04 Mon Sep 17 00:00:00 2001 From: Dima Dem <50800563+dimadem@users.noreply.github.com> Date: Fri, 6 Sep 2024 15:57:59 +0100 Subject: [PATCH 21/83] Dev (#29) (#30) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * merge: merge_dev into main * merge: merge_dev into main * Merge dev (#28) * add: get local_vars using $ * add: heredoc now returns expanded env_arvs and loc_args * fix: norminette for heredoc env_var functionality * fix: working on interpreting $a$b together * fix: done echo a$a$b * fix: norminette after a$a$b fix * refactoring * new: errors * add: exit_status * fix:compilation issues * fix: builtin_exit * fix * fix:exit * add: norm, fix: issues --------- --------- Co-authored-by: ¨Roman <¨roman.mikhaylenko14@hotmail.com¨> Co-authored-by: Dmitry Demirkylych Co-authored-by: Dmitry Demirkylych From 9e973787898186d3db8901e2c051e515b8dae3b3 Mon Sep 17 00:00:00 2001 From: Roman Mikhaylenko Date: Fri, 6 Sep 2024 16:36:52 +0100 Subject: [PATCH 22/83] fix: cat << eof (issue 4) --- minishell | Bin 450440 -> 0 bytes src/parser/parser_joint_vars.c | 5 ++++- src/utils/.maxishell_history | 5 +++++ 3 files changed, 9 insertions(+), 1 deletion(-) delete mode 100755 minishell diff --git a/minishell b/minishell deleted file mode 100755 index 5385e8c53db87a7665f8b696aa3038a78f102211..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 450440 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