From 02f5ea6f157517e05486a67b71dd73bd57016bfa Mon Sep 17 00:00:00 2001 From: Christian Van Wambeke Date: Mon, 30 Apr 2018 19:14:10 +0200 Subject: [PATCH] fix doxstring :param: :result: --- AllTestLauncherSat.py | 7 +- __init__.py | 1 + commands/application.py | 20 +- commands/check.py | 70 +- commands/clean.py | 76 +- commands/compile.py | 157 +- commands/config.py | 18 +- commands/configure.py | 76 +- commands/environ.py | 32 +- commands/find_duplicates.py | 55 +- commands/generate.py | 17 +- commands/init.py | 29 +- commands/job.py | 2 +- commands/jobs.py | 366 +- commands/launcher.py | 48 +- commands/log.py | 39 +- commands/make.py | 65 +- commands/makeinstall.py | 63 +- commands/package.py | 417 +- commands/patch.py | 20 +- commands/prepare.py | 43 +- commands/profile.py | 13 +- commands/script.py | 65 +- commands/source.py | 192 +- commands/template.py | 10 +- commands/test.py | 27 +- doc/Makefile | 10 +- .../doctrees/apidoc_commands/commands.doctree | Bin 0 -> 1099898 bytes .../doctrees/apidoc_commands/modules.doctree | Bin 0 -> 2805 bytes .../apidoc => apidoc_src}/modules.doctree | Bin 2780 -> 2765 bytes .../src.colorama.doctree | Bin 155553 -> 155543 bytes doc/build/doctrees/apidoc_src/src.doctree | Bin 0 -> 1570474 bytes .../doctrees/apidoc_src/src.example.doctree | Bin 0 -> 25092 bytes .../doctrees/commands/apidoc/src.doctree | Bin 1715663 -> 0 bytes .../commands/apidoc/src.example.doctree | Bin 25131 -> 0 bytes .../doctrees/commands/application.doctree | Bin 23963 -> 23968 bytes doc/build/doctrees/commands/clean.doctree | Bin 23185 -> 23180 bytes doc/build/doctrees/commands/config.doctree | Bin 27196 -> 27201 bytes doc/build/doctrees/commands/prepare.doctree | Bin 30696 -> 30701 bytes doc/build/doctrees/environment.pickle | Bin 596683 -> 1072420 bytes doc/build/doctrees/index.doctree | Bin 18984 -> 19054 bytes .../doctrees/installation_of_sat.doctree | Bin 3846 -> 3848 bytes .../release_notes/release_notes_5.0.0.doctree | Bin 2592 -> 2594 bytes .../html/_modules/commands/application.html | 597 ++ doc/build/html/_modules/commands/check.html | 344 + doc/build/html/_modules/commands/clean.html | 326 + doc/build/html/_modules/commands/compile.html | 817 ++ doc/build/html/_modules/commands/config.html | 324 + .../html/_modules/commands/configure.html | 337 + doc/build/html/_modules/commands/environ.html | 268 + .../_modules/commands/find_duplicates.html | 391 + .../html/_modules/commands/generate.html | 493 + doc/build/html/_modules/commands/init.html | 274 + doc/build/html/_modules/commands/job.html | 276 + doc/build/html/_modules/commands/jobs.html | 1921 ++++ .../html/_modules/commands/launcher.html | 365 + doc/build/html/_modules/commands/log.html | 483 + doc/build/html/_modules/commands/make.html | 351 + .../html/_modules/commands/makeinstall.html | 312 + doc/build/html/_modules/commands/package.html | 1456 +++ doc/build/html/_modules/commands/patch.html | 300 + doc/build/html/_modules/commands/prepare.html | 299 + doc/build/html/_modules/commands/profile.html | 363 + doc/build/html/_modules/commands/run.html | 199 + doc/build/html/_modules/commands/script.html | 328 + doc/build/html/_modules/commands/shell.html | 183 + doc/build/html/_modules/commands/source.html | 630 ++ .../html/_modules/commands/template.html | 615 ++ doc/build/html/_modules/commands/test.html | 831 ++ doc/build/html/_modules/index.html | 28 +- doc/build/html/_modules/src/ElementTree.html | 58 +- doc/build/html/_modules/src/architecture.html | 87 +- doc/build/html/_modules/src/catchAll.html | 10 +- .../html/_modules/src/colorama/ansi.html | 28 +- .../_modules/src/colorama/ansitowin32.html | 30 +- .../_modules/src/colorama/initialise.html | 12 +- .../html/_modules/src/colorama/win32.html | 4 +- .../html/_modules/src/colorama/winterm.html | 32 +- doc/build/html/_modules/src/coloringSat.html | 18 +- doc/build/html/_modules/src/compilation.html | 54 +- .../html/_modules/src/configManager.html | 420 +- doc/build/html/_modules/src/debug.html | 47 +- doc/build/html/_modules/src/environment.html | 350 +- doc/build/html/_modules/src/environs.html | 6 +- .../_modules/src/example/essai_logging_1.html | 6 +- .../_modules/src/example/essai_logging_2.html | 10 +- doc/build/html/_modules/src/exceptionSat.html | 7 +- doc/build/html/_modules/src/fileEnviron.html | 498 +- doc/build/html/_modules/src/fork.html | 24 +- doc/build/html/_modules/src/loggingSat.html | 38 +- doc/build/html/_modules/src/options.html | 131 +- doc/build/html/_modules/src/product.html | 452 +- doc/build/html/_modules/src/pyconf.html | 146 +- doc/build/html/_modules/src/returnCode.html | 18 +- doc/build/html/_modules/src/salomeTools.html | 40 +- doc/build/html/_modules/src/system.html | 101 +- doc/build/html/_modules/src/template.html | 4 +- doc/build/html/_modules/src/test_module.html | 38 +- doc/build/html/_modules/src/utilsSat.html | 322 +- doc/build/html/_modules/src/xmlManager.html | 173 +- .../_sources/apidoc_commands/commands.txt | 222 + .../html/_sources/apidoc_commands/modules.txt | 7 + .../apidoc => apidoc_src}/modules.txt | 0 .../apidoc => apidoc_src}/src.colorama.txt | 0 .../apidoc => apidoc_src}/src.example.txt | 0 .../{commands/apidoc => apidoc_src}/src.txt | 0 doc/build/html/_sources/index.txt | 3 +- doc/build/html/apidoc_commands/commands.html | 3805 +++++++ doc/build/html/apidoc_commands/modules.html | 140 + .../apidoc => apidoc_src}/modules.html | 36 +- .../apidoc => apidoc_src}/src.colorama.html | 140 +- .../apidoc => apidoc_src}/src.example.html | 54 +- .../{commands/apidoc => apidoc_src}/src.html | 2247 ++--- doc/build/html/genindex.html | 2808 ++++-- doc/build/html/index.html | 3 +- doc/build/html/objects.inv | Bin 4872 -> 7011 bytes doc/build/html/py-modindex.html | 222 +- .../release_notes/release_notes_5.0.0.html | 4 +- doc/build/html/searchindex.js | 2 +- doc/build/html/write_command.html | 4 +- doc/build/latex/Makefile | 78 - doc/build/latex/python.ist | 11 - doc/build/latex/salomeTools.tex | 8698 ----------------- doc/build/latex/sat_about.png | Bin 282130 -> 0 bytes doc/build/latex/sphinx.sty | 917 -- doc/build/latex/sphinxhowto.cls | 111 - doc/build/latex/sphinxmanual.cls | 130 - doc/build/latex/tabulary.sty | 452 - doc/src/apidoc_commands/commands.rst | 222 + doc/src/apidoc_commands/modules.rst | 7 + .../apidoc => apidoc_src}/modules.rst | 0 doc/src/apidoc_src/src.colorama.rst | 54 + doc/src/apidoc_src/src.example.rst | 30 + doc/src/apidoc_src/src.rst | 206 + doc/src/conf.py | 6 +- doc/src/index.rst | 3 +- src/architecture.py | 75 +- src/compilation.py | 18 +- src/configManager.py | 143 +- src/environment.py | 276 +- src/exceptionSat.py | 5 +- src/fileEnviron.py | 378 +- src/fork.py | 14 +- src/options.py | 115 +- src/product.py | 406 +- src/pyconf.py | 4 +- src/system.py | 91 +- src/utilsSat.py | 202 +- src/xmlManager.py | 147 +- 149 files changed, 24763 insertions(+), 15946 deletions(-) create mode 100644 doc/build/doctrees/apidoc_commands/commands.doctree create mode 100644 doc/build/doctrees/apidoc_commands/modules.doctree rename doc/build/doctrees/{commands/apidoc => apidoc_src}/modules.doctree (74%) rename doc/build/doctrees/{commands/apidoc => apidoc_src}/src.colorama.doctree (99%) create mode 100644 doc/build/doctrees/apidoc_src/src.doctree create mode 100644 doc/build/doctrees/apidoc_src/src.example.doctree delete mode 100644 doc/build/doctrees/commands/apidoc/src.doctree delete mode 100644 doc/build/doctrees/commands/apidoc/src.example.doctree create mode 100644 doc/build/html/_modules/commands/application.html create mode 100644 doc/build/html/_modules/commands/check.html create mode 100644 doc/build/html/_modules/commands/clean.html create mode 100644 doc/build/html/_modules/commands/compile.html create mode 100644 doc/build/html/_modules/commands/config.html create mode 100644 doc/build/html/_modules/commands/configure.html create mode 100644 doc/build/html/_modules/commands/environ.html create mode 100644 doc/build/html/_modules/commands/find_duplicates.html create mode 100644 doc/build/html/_modules/commands/generate.html create mode 100644 doc/build/html/_modules/commands/init.html create mode 100644 doc/build/html/_modules/commands/job.html create mode 100644 doc/build/html/_modules/commands/jobs.html create mode 100644 doc/build/html/_modules/commands/launcher.html create mode 100644 doc/build/html/_modules/commands/log.html create mode 100644 doc/build/html/_modules/commands/make.html create mode 100644 doc/build/html/_modules/commands/makeinstall.html create mode 100644 doc/build/html/_modules/commands/package.html create mode 100644 doc/build/html/_modules/commands/patch.html create mode 100644 doc/build/html/_modules/commands/prepare.html create mode 100644 doc/build/html/_modules/commands/profile.html create mode 100644 doc/build/html/_modules/commands/run.html create mode 100644 doc/build/html/_modules/commands/script.html create mode 100644 doc/build/html/_modules/commands/shell.html create mode 100644 doc/build/html/_modules/commands/source.html create mode 100644 doc/build/html/_modules/commands/template.html create mode 100644 doc/build/html/_modules/commands/test.html create mode 100644 doc/build/html/_sources/apidoc_commands/commands.txt create mode 100644 doc/build/html/_sources/apidoc_commands/modules.txt rename doc/build/html/_sources/{commands/apidoc => apidoc_src}/modules.txt (100%) rename doc/build/html/_sources/{commands/apidoc => apidoc_src}/src.colorama.txt (100%) rename doc/build/html/_sources/{commands/apidoc => apidoc_src}/src.example.txt (100%) rename doc/build/html/_sources/{commands/apidoc => apidoc_src}/src.txt (100%) create mode 100644 doc/build/html/apidoc_commands/commands.html create mode 100644 doc/build/html/apidoc_commands/modules.html rename doc/build/html/{commands/apidoc => apidoc_src}/modules.html (86%) rename doc/build/html/{commands/apidoc => apidoc_src}/src.colorama.html (73%) rename doc/build/html/{commands/apidoc => apidoc_src}/src.example.html (71%) rename doc/build/html/{commands/apidoc => apidoc_src}/src.html (63%) delete mode 100644 doc/build/latex/Makefile delete mode 100644 doc/build/latex/python.ist delete mode 100644 doc/build/latex/salomeTools.tex delete mode 100644 doc/build/latex/sat_about.png delete mode 100644 doc/build/latex/sphinx.sty delete mode 100644 doc/build/latex/sphinxhowto.cls delete mode 100644 doc/build/latex/sphinxmanual.cls delete mode 100644 doc/build/latex/tabulary.sty create mode 100644 doc/src/apidoc_commands/commands.rst create mode 100644 doc/src/apidoc_commands/modules.rst rename doc/src/{commands/apidoc => apidoc_src}/modules.rst (100%) create mode 100644 doc/src/apidoc_src/src.colorama.rst create mode 100644 doc/src/apidoc_src/src.example.rst create mode 100644 doc/src/apidoc_src/src.rst diff --git a/AllTestLauncherSat.py b/AllTestLauncherSat.py index a0288db..3ec8b8e 100755 --- a/AllTestLauncherSat.py +++ b/AllTestLauncherSat.py @@ -272,10 +272,10 @@ def getParser(): ) parser.add_argument( '-r', '--rootPath', - help='''\ + help="""\ dir name with absolute or relative path stand for root directory of recursive searching unittest python files -''', +""", default=satdir, metavar='dirPath' ) @@ -294,7 +294,8 @@ of recursive searching unittest python files ) parser.add_argument( '-n', '--name', - help="""(only for type xml) + help="""\ +(only for type xml) name of directory output: ['test_reports'|...]. If name = 'stdout' then all-in-one xml output at 'sys.stdout'. For pipe redirection: '>> AllTestLauncher.py -t xml -n stdout > tmp.xml' diff --git a/__init__.py b/__init__.py index e69de29..a76d25d 100644 --- a/__init__.py +++ b/__init__.py @@ -0,0 +1 @@ +__all__ = ['src', 'commands', ] \ No newline at end of file diff --git a/commands/application.py b/commands/application.py index a145061..720b342 100644 --- a/commands/application.py +++ b/commands/application.py @@ -36,15 +36,15 @@ from src.salomeTools import _BaseCommand # Command class ######################################################################## class Command(_BaseCommand): - """\ + """ The application command creates a SALOME application. - WARNING: - It works only for SALOME 6. - Use the 'launcher' command for newer versions of SALOME - - examples: - >> sat application SALOME-6.6.0 + | Warning: + | It works only for SALOME 6. + | Use the 'launcher' command for newer versions of SALOME + | + | Examples: + | >> sat application SALOME-6.6.0 """ name = "application" @@ -349,7 +349,7 @@ def get_step(logger, message, pad=50): returns 'message ........ ' with pad 50 by default avoid colors '' for now in message """ - return "%s %s " % (message, '.' * (pad - len(message.decode("UTF-8"))) + return "%s %s " % (message, '.' * (pad - len(message.decode("UTF-8")))) ## # Creates a SALOME application. @@ -371,7 +371,7 @@ def create_application(config, appli_dir, catalog, logger, display=True): cmd = UTS.label("%s/salome" % appli_dir) if display: - msg = _("To launch the application, type:")) + msg = _("To launch the application, type:") logger.info("\n%s\n %s\n" % (msg, cmd)) return retcode @@ -422,7 +422,7 @@ def generate_launch_file(config, appli_dir, catalog, logger, l_SALOME_modules): # build the application (the name depends upon salome version env_file = os.path.join(config.APPLICATION.workdir, "env_launch." + env_ext) - logger.info(get_step(_("Building application")) + logger.info(get_step(_("Building application"))) cf = create_config_file(config, l_SALOME_modules, env_file, logger) # create the application directory diff --git a/commands/check.py b/commands/check.py index e664bdf..0ec831b 100644 --- a/commands/check.py +++ b/commands/check.py @@ -27,14 +27,14 @@ CHECK_PROPERTY = "has_unit_tests" # Command class ######################################################################## class Command(_BaseCommand): - """\ + """ The check command executes the 'check' command in the build directory of all the products of the application. It is possible to reduce the list of products to check by using the --products option examples: - >> sat check SALOME --products KERNEL,GUI,GEOM + >> sat check SALOME --products KERNEL,GUI,GEOM """ name = "check" @@ -104,17 +104,17 @@ Optional: products to configure. def get_products_list(options, cfg, logger): - '''method that gives the product list with their informations from - configuration regarding the passed options. - - :param options Options: The Options instance that stores the commands - arguments - :param cfg Config: The global configuration - :param logger Logger: The logger instance to use for the display and - logging - :return: The list of (product name, product_informations). - :rtype: List - ''' + """ + method that gives the product list with their informations from + configuration regarding the passed options. + + :param options: (Options) The Options instance that stores + the commands arguments + :param cfg: (Config) The global configuration + :param logger: (Logger) The logger instance to use + for the display and logging + :return: (list) The list of (product name, product_informations). + """ # Get the products to be prepared, regarding the options if options.products is None: # No options, get all products sources @@ -150,16 +150,17 @@ def log_res_step(logger, res): logger.debug("\n") def check_all_products(config, products_infos, logger): - '''Execute the proper configuration commands - in each product build directory. - - :param config Config: The global configuration - :param products_info list: List of - (str, Config) => (product_name, product_info) - :param logger Logger: The logger instance to use for the display and logging - :return: the number of failing commands. - :rtype: int - ''' + """ + Execute the proper configuration commands + in each product build directory. + + :param config: (Config) The global configuration + :param products_info: (list) + List of (str, Config) => (product_name, product_info) + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (int) the number of failing commands. + """ res = 0 for p_name_info in products_infos: res_prod = check_product(p_name_info, config, logger) @@ -168,16 +169,17 @@ def check_all_products(config, products_infos, logger): return res def check_product(p_name_info, config, logger): - '''Execute the proper configuration command(s) - in the product build directory. - - :param p_name_info tuple: (str, Config) => (product_name, product_info) - :param config Config: The global configuration - :param logger Logger: The logger instance to use for the display - and logging - :return: 1 if it fails, else 0. - :rtype: int - ''' + """ + Execute the proper configuration command(s) + in the product build directory. + + :param p_name_info: (tuple) + (str, Config) => (product_name, product_info) + :param config: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (int) 1 if it fails, else 0. + """ p_name, p_info = p_name_info @@ -214,7 +216,7 @@ is not defined in the definition of %(name)\n""") % p_name if ignored or not cmd_found: log_step(logger, header, "ignored") - logger.debug("==== %s %s\n" % (p_name, "IGNORED") + logger.debug("==== %s %s\n" % (p_name, "IGNORED")) if not cmd_found: return 1 return 0 diff --git a/commands/clean.py b/commands/clean.py index 4a06a17..13a209b 100644 --- a/commands/clean.py +++ b/commands/clean.py @@ -36,14 +36,14 @@ PROPERTY_EXPRESSION = "^.+:.+$" # Command class ######################################################################## class Command(_BaseCommand): - """\ + """ The clean command suppresses the source, build, or install directories of the application products. Use the options to define what directories you want to suppress and to reduce the list of products examples: - >> sat clean SALOME --build --install --properties is_salome_module:yes + >> sat clean SALOME --build --install --properties is_salome_module:yes """ name = "clean" @@ -149,16 +149,16 @@ The '--properties' options must have the following syntax: def get_source_directories(products_infos, without_dev): - '''Returns the list of directory source paths corresponding to the list of - product information given as input. If without_dev (bool), then - the dev products are ignored. + """ + Returns the list of directory source paths corresponding to the list of + product information given as input. If without_dev (bool), then + the dev products are ignored. - :param products_infos list: The list of (name, config) corresponding to one - product. - :param without_dev boolean: If True, then ignore the dev products. - :return: the list of source paths. - :rtype: list - ''' + :param products_infos: (list) + The list of (name, config) corresponding to one product. + :param without_dev: (boolean) If True, then ignore the dev products. + :return: (list) the list of source paths. + """ l_dir_source = [] for __, product_info in products_infos: if product_has_dir(product_info, without_dev): @@ -166,14 +166,14 @@ def get_source_directories(products_infos, without_dev): return l_dir_source def get_build_directories(products_infos): - '''Returns the list of directory build paths corresponding to the list of - product information given as input. + """ + Returns the list of directory build paths corresponding to the list of + product information given as input. - :param products_infos list: The list of (name, config) corresponding to one - product. - :return: the list of build paths. - :rtype: list - ''' + :param products_infos: (list) + The list of (name, config) corresponding to one product. + :return: (list) the list of build paths. + """ l_dir_build = [] for __, product_info in products_infos: if product_has_dir(product_info): @@ -182,14 +182,14 @@ def get_build_directories(products_infos): return l_dir_build def get_install_directories(products_infos): - '''Returns the list of directory install paths corresponding to the list of - product information given as input. + """ + Returns the list of directory install paths corresponding to the list of + product information given as input. - :param products_infos list: The list of (name, config) corresponding to one - product. - :return: the list of install paths. - :rtype: list - ''' + :param products_infos: (list) + The list of (name, config) corresponding to one product. + :return: (list) the list of install paths. + """ l_dir_install = [] for __, product_info in products_infos: if product_has_dir(product_info): @@ -197,14 +197,16 @@ def get_install_directories(products_infos): return l_dir_install def product_has_dir(product_info, without_dev=False): - '''Returns a boolean at True if there is a source, build and install - directory corresponding to the product described by product_info. + """ + Returns a boolean at True if there is a source, build and install + directory corresponding to the product described by product_info. - :param products_info Config: The config corresponding to the product. - :return: True if there is a source, build and install - directory corresponding to the product described by product_info. - :rtype: boolean - ''' + :param products_info: (Config) + The config corresponding to the product. + :return: (bool) + True if there is a source, build and install + directory corresponding to the product described by product_info. + """ if (src.product.product_is_native(product_info) or src.product.product_is_fixed(product_info)): return False @@ -214,12 +216,12 @@ def product_has_dir(product_info, without_dev=False): return True def suppress_directories(l_paths, logger): - '''Suppress the paths given in the list in l_paths. + """Suppress the paths given in the list in l_paths. - :param l_paths list: The list of Path to be suppressed - :param logger Logger: The logger instance to use for the display and - logging - ''' + :param l_paths: (list) The list of Path to be suppressed + :param logger: (Logger) + The logger instance to use for the display and logging + """ for path in l_paths: strpath = str(path) if not path.isdir(): diff --git a/commands/compile.py b/commands/compile.py index e0f6e0b..74919c8 100644 --- a/commands/compile.py +++ b/commands/compile.py @@ -125,7 +125,7 @@ class Command(_BaseCommand): srcDir = os.path.join(config.APPLICATION.workdir, 'SOURCES') buildDir = os.path.join(config.APPLICATION.workdir, 'BUILD') - msg = _("Application %s, executing compile commands in build directories of products.\n" + msg = _("Application %s, executing compile commands in build directories of products.\n") logger.info(msg % UTS.label(nameApp)) info = [ (_("SOURCE directory"), srcDir), @@ -170,17 +170,17 @@ class Command(_BaseCommand): def get_products_list(options, cfg, logger): - '''method that gives the product list with their informations from - configuration regarding the passed options. + """ + method that gives the product list with their informations from + configuration regarding the passed options. - :param options Options: The Options instance that stores the commands - arguments - :param cfg Config: The global configuration - :param logger Logger: The logger instance to use for the display and - logging - :return: The list of (product name, product_informations). - :rtype: List - ''' + :param options: (Options) + The Options instance that stores the commands arguments + :param cfg: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (list) The list of (product name, product_informations). + """ # Get the products to be prepared, regarding the options if options.products is None: # No options, get all products sources @@ -217,15 +217,15 @@ def get_children(config, p_name_p_info): return l_res def get_recursive_children(config, p_name_p_info, without_native_fixed=False): - """ Get the recursive list of the product that depend on - the product defined by prod_info + """ + Get the recursive list of the product that depend on + the product defined by prod_info - :param config Config: The global configuration - :param prod_info Config: The specific config of the product - :param without_native_fixed boolean: If true, do not include the fixed - or native products in the result - :return: The list of product_informations. - :rtype: List + :param config: (Config) The global configuration + :param prod_info: (Config) The specific config of the product + :param without_native_fixed: (bool) + If true, do not include the fixed or native products in the result + :return: (list) The list of product_informations. """ p_name, __ = p_name_p_info # Initialization of the resulting list @@ -268,15 +268,15 @@ is not present in application %(appli_name)s.""" % return l_children def get_recursive_fathers(config, p_name_p_info, without_native_fixed=False): - """ Get the recursive list of the dependencies of the product defined by - prod_info + """ + Get the recursive list of the dependencies of the product defined + by prod_info - :param config Config: The global configuration - :param prod_info Config: The specific config of the product - :param without_native_fixed boolean: If true, do not include the fixed - or native products in the result - :return: The list of product_informations. - :rtype: List + :param config: (Config) The global configuration + :param prod_info: (Config) The specific config of the product + :param without_native_fixed: (bool) + If true, do not include the fixed or native products in the result + :return: (list) The list of product_informations. """ p_name, p_info = p_name_p_info # Initialization of the resulting list @@ -317,10 +317,11 @@ def get_recursive_fathers(config, p_name_p_info, without_native_fixed=False): return l_fathers def sort_products(config, p_infos): - """ Sort the p_infos regarding the dependencies between the products + """Sort the p_infos regarding the dependencies between the products - :param config Config: The global configuration - :param p_infos list: List of (str, Config) => (product_name, product_info) + :param config: (Config) The global configuration + :param p_infos: (list) + List of (str, Config) => (product_name, product_info) """ l_prod_sorted = src.deepcopy_list(p_infos) for prod in p_infos: @@ -383,16 +384,16 @@ def log_res_step(logger, res): def compile_all_products(sat, config, options, products_infos, logger): - """\ + """ Execute the proper configuration commands in each product build directory. - :param config Config: The global configuration - :param products_info list: List of - (str, Config) => (product_name, product_info) - :param logger Logger: The logger instance to use for the display and logging - :return: the number of failing commands. - :rtype: int + :param config: (Config) The global configuration + :param products_info: (list) + List of (str, Config) => (product_name, product_info) + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (int) the number of failing commands. """ res = 0 for p_name_info in products_infos: @@ -501,12 +502,12 @@ def compile_all_products(sat, config, options, products_infos, logger): # Log the result if res_prod > 0: logger.info("\r%s%s" % (header, " " * len_end_line)) - logger.info("\r" + header + " ") + error_step) - logger.debug("\n==== in compile of %s\n" % p_name + logger.info("\r" + header + " " + error_step) + logger.debug("\n==== in compile of %s\n" % p_name) if error_step == "CHECK": logger.info(_("\nINSTALL directory = %s") % p_info.install_dir) else: - logger.info("\r%s%s" % (header, " " * len_end_line) + logger.info("\r%s%s" % (header, " " * len_end_line)) logger.info("\r" + header + "") logger.info(_("\nINSTALL directory = %s") % p_info.install_dir) logger.debug("\n==== in compile of %s\n" % p_name) @@ -519,18 +520,18 @@ def compile_all_products(sat, config, options, products_infos, logger): return res def compile_product(sat, p_name_info, config, options, logger, header, len_end): - '''Execute the proper configuration command(s) - in the product build directory. + """ + Execute the proper configuration command(s) + in the product build directory. - :param p_name_info tuple: (str, Config) => (product_name, product_info) - :param config Config: The global configuration - :param logger Logger: The logger instance to use for the display - and logging - :param header Str: the header to display when logging - :param len_end Int: the lenght of the the end of line (used in display) - :return: 1 if it fails, else 0. - :rtype: int - ''' + :param p_name_info: (tuple) (str, Config) => (product_name, product_info) + :param config: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :param header: (str) the header to display when logging + :param len_end: (int) the lenght of the the end of line (used in display) + :return: (int) 1 if it fails, else 0. + """ p_name, p_info = p_name_info @@ -593,18 +594,19 @@ def compile_product_cmake_autotools(sat, logger, header, len_end): - '''Execute the proper build procedure for autotools or cmake - in the product build directory. + """ + Execute the proper build procedure for autotools or cmake + in the product build directory. - :param p_name_info tuple: (str, Config) => (product_name, product_info) - :param config Config: The global configuration - :param logger Logger: The logger instance to use for the display - and logging - :param header Str: the header to display when logging - :param len_end Int: the lenght of the the end of line (used in display) - :return: 1 if it fails, else 0. - :rtype: int - ''' + :param p_name_info: (tuple) + (str, Config) => (product_name, product_info) + :param config: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :param header: (str) the header to display when logging + :param len_end: (int) the length of the the end of line (used in display) + :return: (int) 1 if it fails, else 0. + """ p_name, p_info = p_name_info # Execute "sat configure", "sat make" and "sat install" @@ -671,17 +673,17 @@ def compile_product_script(sat, logger, header, len_end): - '''Execute the script build procedure in the product build directory. + """Execute the script build procedure in the product build directory. - :param p_name_info tuple: (str, Config) => (product_name, product_info) - :param config Config: The global configuration - :param logger Logger: The logger instance to use for the display - and logging - :param header Str: the header to display when logging - :param len_end Int: the lenght of the the end of line (used in display) - :return: 1 if it fails, else 0. - :rtype: int - ''' + :param p_name_info: (tuple) + (str, Config) => (product_name, product_info) + :param config: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :param header: (str) the header to display when logging + :param len_end: (int) the lenght of the the end of line (used in display) + :return: (int) 1 if it fails, else 0. + """ p_name, p_info = p_name_info # Execute "sat configure", "sat make" and "sat install" @@ -699,12 +701,13 @@ def compile_product_script(sat, return res, len_end_line, error_step def add_compile_config_file(p_info, config): - '''Execute the proper configuration command(s) - in the product build directory. + """ + Execute the proper configuration command(s) + in the product build directory. - :param p_info Config: The specific config of the product - :param config Config: The global configuration - ''' + :param p_info: (Config) The specific config of the product + :param config: (Config) The global configuration + """ # Create the compile config compile_cfg = PYCONF.Config() for prod_name in p_info.depend: diff --git a/commands/config.py b/commands/config.py index fa0b58a..b66203d 100644 --- a/commands/config.py +++ b/commands/config.py @@ -30,17 +30,17 @@ import src.system as SYSS # Command class ######################################################################## class Command(_BaseCommand): - """\ + """ The config command allows manipulation and operation on config '.pyconf' files. - examples: - >> sat config --list - >> sat config SALOME --edit - >> sat config SALOME --copy SALOME-new - >> sat config SALOME --value VARS - >> sat config SALOME --debug VARS - >> sat config SALOME --info ParaView - >> sat config SALOME --show_patchs + | examples: + | >> sat config --list + | >> sat config SALOME --edit + | >> sat config SALOME --copy SALOME-new + | >> sat config SALOME --value VARS + | >> sat config SALOME --debug VARS + | >> sat config SALOME --info ParaView + | >> sat config SALOME --show_patchs """ name = "config" diff --git a/commands/configure.py b/commands/configure.py index 5987571..0e87ddf 100644 --- a/commands/configure.py +++ b/commands/configure.py @@ -26,18 +26,18 @@ from src.salomeTools import _BaseCommand # Command class ######################################################################## class Command(_BaseCommand): - """\ + """ The configure command executes in the build directory commands corresponding to the compilation mode of the application products. The possible compilation modes are 'cmake', 'autotools', or 'script'. Here are the commands to be run: - autotools: >> build_configure and configure - cmake: >> cmake - script: (do nothing) + autotools: >> build_configure and configure + cmake: >> cmake + script: (do nothing) examples: - >> sat configure SALOME --products KERNEL,GUI,PARAVIS + >> sat configure SALOME --products KERNEL,GUI,PARAVIS """ name = "configure" @@ -110,16 +110,17 @@ class Command(_BaseCommand): def get_products_list(options, cfg, logger): - '''method that gives the product list with their informations from - configuration regarding the passed options. - - :param options Options: The Options instance that stores the commands - arguments - :param cfg Config: The global configuration - :param logger Logger: The logger instance to use for the display and logging - :return: The list of (product name, product_informations). - :rtype: List - ''' + """ + method that gives the product list with their informations from + configuration regarding the passed options. + + :param options: (Options) + The Options instance that stores the commands arguments + :param cfg: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (list) The list of (product name, product_informations). + """ # Get the products to be prepared, regarding the options if options.products is None: # No options, get all products sources @@ -155,17 +156,17 @@ def log_res_step(logger, res): logger.debug("") def configure_all_products(config, products_infos, conf_option, logger): - '''Execute the proper configuration commands - in each product build directory. - - :param config Config: The global configuration - :param products_info list: List of - (str, Config) => (product_name, product_info) - :param conf_option str: The options to add to the command - :param logger Logger: The logger instance to use for the display and logging - :return: the number of failing commands. - :rtype: int - ''' + """ + Execute the proper configuration commands + in each product build directory. + + :param config: (Config) The global configuration + :param products_info: (list) + List of (str, Config) => (product_name, product_info) + :param conf_option: (str) The options to add to the command + :param logger: (Logger) The logger instance to use for the display and logging + :return: (int) the number of failing commands. + """ res = 0 for p_name_info in products_infos: res_prod = configure_product(p_name_info, conf_option, config, logger) @@ -174,17 +175,18 @@ def configure_all_products(config, products_infos, conf_option, logger): return res def configure_product(p_name_info, conf_option, config, logger): - '''Execute the proper configuration command(s) - in the product build directory. - - :param p_name_info tuple: (str, Config) => (product_name, product_info) - :param conf_option str: The options to add to the command - :param config Config: The global configuration - :param logger Logger: The logger instance to use for the display - and logging - :return: 1 if it fails, else 0. - :rtype: int - ''' + """ + Execute the proper configuration command(s) + in the product build directory. + + :param p_name_info: (tuple) + (str, Config) => (product_name, product_info) + :param conf_option: (str) The options to add to the command + :param config: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (int) 1 if it fails, else 0. + """ p_name, p_info = p_name_info diff --git a/commands/environ.py b/commands/environ.py index 0a1de0a..8e8467c 100644 --- a/commands/environ.py +++ b/commands/environ.py @@ -32,11 +32,11 @@ C_ALL_SHELL = [ "bash", "bat", "cfg" ] # Command class ######################################################################## class Command(_BaseCommand): - """\ + """ The environ command generates the environment files of your application. examples: - >> sat environ SALOME + >> sat environ SALOME """ name = "environ" @@ -113,20 +113,22 @@ def write_all_source_files(config, shells=["bash"], prefix="env", env_info=None): - '''Generates the environment files. + """Generates the environment files. - :param config Config: The global configuration - :param logger Logger: The logger instance to use for the display - and logging - :param out_dir str: The path to the directory where the files will be put - :param src_root str: The path to the directory where the sources are - :param silent boolean: If True, do not print anything in the terminal - :param shells list: The list of shells to generate - :param prefix str: The prefix to add to the file names. - :param env_info str: The list of products to add in the files. - :return: The list of the generated files. - :rtype: List - ''' + :param config: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :param out_dir: (str) + The path to the directory where the files will be put + :param src_root: (str) + The path to the directory where the sources are + :param silent: (bool) + If True, do not print anything in the terminal + :param shells: (list) The list of shells to generate + :param prefix: (str) The prefix to add to the file names. + :param env_info: (str) The list of products to add in the files. + :return: (list) The list of the generated files. + """ if not out_dir: out_dir = config.APPLICATION.workdir diff --git a/commands/find_duplicates.py b/commands/find_duplicates.py index 494212e..58eed40 100644 --- a/commands/find_duplicates.py +++ b/commands/find_duplicates.py @@ -195,7 +195,7 @@ class Command(_BaseCommand): l_path.append(fic_path[1]) dic_fic_paths[the_file] = l_path - logger.info("\n') + logger.info("\n") # End the execution if no duplicates were found if len(dic_fic_paths) == 0: @@ -224,14 +224,15 @@ class Command(_BaseCommand): def list_directory(lpath, extension_ignored, files_ignored, directories_ignored): """Make the list of all files and paths that are not filtered - :param lpath List: The list of path to of the directories where to - search for duplicates - :param extension_ignored List: The list of extensions to ignore - :param files_ignored List: The list of files to ignore - :param directories_ignored List: The list of directory paths to ignore - :return: files_arb_out is the list of [file, path] - and files_out is is the list of files - :rtype: List, List + :param lpath: (list) + The list of path to of the directories where to search for duplicates + :param extension_ignored: (list) The list of extensions to ignore + :param files_ignored: (list) The list of files to ignore + :param directories_ignored: (list) + The list of directory paths to ignore + :return: (list, list) + files_arb_out is the list of [file, path] + and files_out is is the list of files """ files_out = [] files_arb_out=[] @@ -251,28 +252,28 @@ def list_directory(lpath, extension_ignored, files_ignored, directories_ignored) return files_arb_out, files_out def format_list_of_str(l_str): - '''Make a list from a string + """Make a list from a string - :param l_str List or Str: The variable to format - :return: the formatted variable - :rtype: List - ''' + :param l_str: (list or str) The variable to format + :return: (list) the formatted variable + """ if not isinstance(l_str, list): return l_str return ",".join(l_str) class Progress_bar: - "Create a progress bar in the terminal" - + """ + Create a progress bar in the terminal + """ def __init__(self, name, valMin, valMax, logger, length = 50): - '''Initialization of the progress bar. + """Initialization of the progress bar. - :param name str: The name of the progress bar - :param valMin float: the minimum value of the variable - :param valMax float: the maximum value of the variable - :param logger Logger: the logger instance - :param length int: the lenght of the progress bar - ''' + :param name: (str) The name of the progress bar + :param valMin: (float) the minimum value of the variable + :param valMax: (float) the maximum value of the variable + :param logger: (Logger) the logger instance + :param length: (int) the lenght of the progress bar + """ self.name = name self.valMin = valMin self.valMax = valMax @@ -283,12 +284,12 @@ class Progress_bar: raise Exception(out_err) def display_value_progression(self,val): - '''Display the progress bar. + """Display the progress bar. - :param val float: val must be between valMin and valMax. - ''' + :param val: (float) val must be between valMin and valMax. + """ if val < self.valMin or val > self.valMax: - self.logger.error(_("Wrong value for the progress bar.\n'))) + self.logger.error(_("Wrong value for the progress bar.\n")) else: perc = (float(val-self.valMin) / (self.valMax - self.valMin)) * 100. nb_equals = int(perc * self.length / 100) diff --git a/commands/generate.py b/commands/generate.py index ced2b8d..86404db 100644 --- a/commands/generate.py +++ b/commands/generate.py @@ -329,9 +329,9 @@ def build_context(config, logger): def check_module_generator(directory=None): """Check if module_generator is available. - :param directory str: The directory of YACSGEN. - :return: The YACSGEN path if the module_generator is available, else None - :rtype: str + :param directory: (str) The directory of YACSGEN. + :return: (str) + The YACSGEN path if the module_generator is available, else None """ undo = False if directory is not None and directory not in sys.path: @@ -353,10 +353,11 @@ def check_module_generator(directory=None): def check_yacsgen(config, directory, logger): """Check if YACSGEN is available. - :param config Config: The global configuration. - :param directory str: The directory given by option --yacsgen - :param logger Logger: The logger instance - :return: RCO.ReturnCode with value The path to yacsgen directory if ok + :param config: (Config) The global configuration. + :param directory: (str) The directory given by option --yacsgen + :param logger: (Logger) The logger instance + :return: (RCO.ReturnCode) + with value The path to yacsgen directory if ok """ # first check for YACSGEN (command option, then product, then environment) yacsgen_dir = None @@ -375,7 +376,7 @@ def check_yacsgen(config, directory, logger): if yacsgen_dir is None: RCO.ReturnCode("KO", _("The generate command requires YACSGEN.")) - logger.info(" %s in %s" % (yacs_src, yacsgen_dir) + logger.info(" %s in %s" % (yacs_src, yacsgen_dir)) if not os.path.exists(yacsgen_dir): msg = _("YACSGEN directory not found: '%s'") % yacsgen_dir diff --git a/commands/init.py b/commands/init.py index 3a04ccc..15154ad 100644 --- a/commands/init.py +++ b/commands/init.py @@ -105,14 +105,13 @@ class Command(_BaseCommand): def set_local_value(config, key, value, logger): - """ Edit the site.pyconf file and change a value. + """Edit the site.pyconf file and change a value. - :param config Config: The global configuration. - :param key Str: The key from which to change the value. - :param value Str: The path to change. - :param logger Logger: The logger instance. - :return: 0 if all is OK, else 1 - :rtype: int + :param config: (Config) The global configuration. + :param key: (str) The key from which to change the value. + :param value: (str) The path to change. + :param logger: (Logger) The logger instance. + :return: (int) 0 if all is OK, else 1 """ local_file_path = os.path.join(config.VARS.datadir, "local.pyconf") # Update the local.pyconf file @@ -133,11 +132,11 @@ def set_local_value(config, key, value, logger): return RCO.ReturnCode("OK") def display_local_values(config, logger): - """ Display the base path + """Display the base path - :param config Config: The global configuration. - :param key Str: The key from which to change the value. - :param logger Logger: The logger instance. + :param config: (Config) The global configuration. + :param key: (str) The key from which to change the value. + :param logger: (Logger) The logger instance. """ info = [("base", config.LOCAL.base), ("workdir", config.LOCAL.workdir), @@ -150,10 +149,10 @@ def display_local_values(config, logger): return 0 def check_path(path_to_check, logger): - """ Verify that the given path is not a file and can be created. + """Verify that the given path is not a file and can be created. - :param path_to_check Str: The path to check. - :param logger Logger: The logger instance. + :param path_to_check: (str) The path to check. + :param logger: (Logger) The logger instance. """ if path_to_check == "default": return 0 @@ -176,7 +175,7 @@ Please provide a path to a directory\n""") % UTS.blue(path_to_check) msg = _("""\ Unable to create the directory %s: -%s\n""") % (UTS.blue(str(path)), UTS.yellow(e) +%s\n""") % (UTS.blue(str(path)), UTS.yellow(e)) logger.error(msg) return 1 diff --git a/commands/job.py b/commands/job.py index a767eba..f5817a3 100644 --- a/commands/job.py +++ b/commands/job.py @@ -31,7 +31,7 @@ class Command(_BaseCommand): in the jobs configuration file\ examples: - >> sat job --jobs_config my_jobs --name my_job" + >> sat job --jobs_config my_jobs --name my_job" """ name = "job" diff --git a/commands/jobs.py b/commands/jobs.py index 4f88f42..ce0fc93 100644 --- a/commands/jobs.py +++ b/commands/jobs.py @@ -64,7 +64,7 @@ def getParamiko(logger=None): # Command class ######################################################################## class Command(_BaseCommand): - """\ + """ The jobs command command launches maintenances that are described in the dedicated jobs configuration file. @@ -292,7 +292,7 @@ Use the --list option to get the possible files.\n""") % config_file class Machine(object): - """\ + """ Manage a ssh connection on a machine """ def __init__(self, @@ -314,11 +314,11 @@ class Machine(object): self._connection_successful = None def connect(self, logger): - '''Initiate the ssh connection to the remote machine + """Initiate the ssh connection to the remote machine :param logger: The logger instance - :return: Nothing - ''' + :return: None + """ self._connection_successful = False self.ssh.load_system_host_keys() @@ -344,12 +344,11 @@ class Machine(object): return message def successfully_connected(self, logger): - """\ + """ Verify if the connection to the remote machine has succeed :param logger: The logger instance - :return: True if the connection has succeed, False if not - :rtype: bool + :return: (bool) True if the connection has succeed, False if not """ if self._connection_successful == None: message = _("""\ @@ -381,10 +380,11 @@ whereas there were no connection request""" % \ return res def put_dir(self, source, target, filters = []): - '''Uploads the contents of the source directory to the target path. + """ + Uploads the contents of the source directory to the target path. The target directory needs to exists. All sub-directories in source are created under target. - ''' + """ for item in os.listdir(source): if item in filters: continue @@ -408,8 +408,9 @@ whereas there were no connection request""" % \ self.put_dir(source_path, destination_path) def mkdir(self, path, mode=511, ignore_existing=False): - '''As mkdir by adding an option to not fail if the folder exists - ''' + """ + As mkdir by adding an option to not fail if the folder exists + """ try: self.sftp.mkdir(path, mode) except IOError: @@ -419,15 +420,14 @@ whereas there were no connection request""" % \ raise def exec_command(self, command, logger): - '''Execute the command on the remote machine + """Execute the command on the remote machine - :param command str: The command to be run + :param command: (str) The command to be run :param logger: The logger instance - :return: the stdin, stdout, and stderr of the executing command, - as a 3-tuple - :rtype: (paramiko.channel.ChannelFile, paramiko.channel.ChannelFile, - paramiko.channel.ChannelFile) - ''' + :return: (paramiko.channel.ChannelFile, etc) + the stdin, stdout, and stderr of the executing command, + as a 3-tuple + """ import traceback try: # Does not wait the end of the command @@ -447,20 +447,16 @@ whereas there were no connection request""" % \ return (stdin, stdout, stderr) def close(self): - '''Close the ssh connection - - :rtype: N\A - ''' + """Close the ssh connection""" self.ssh.close() def write_info(self, logger): - """\ + """ Prints the informations relative to the machine in the logger (terminal traces and log file) :param logger: The logger instance - :return: Nothing - :rtype: N\A + :return: None """ if self.successfully_connected(logger): msg = "" @@ -469,11 +465,11 @@ whereas there were no connection request""" % \ msg += "host: %s, " % self.host msg += "port: %s, " % str(self.port) msg += "user: %s" % str(self.user) - logger.info("Connection %s" % msg ) + logger.info("Connection %s" % msg ) class Job(object): - """\ + """ Class to manage one job """ def __init__(self, @@ -532,11 +528,11 @@ class Job(object): self.command = prefix + ' "' + self.command +'"' def get_pids(self): - """ Get the pid(s) corresponding to the command that have been launched - On the remote machine + """ + Get the pid(s) corresponding to the command that have been launched + On the remote machine - :return: The list of integers corresponding to the found pids - :rtype: List + :return: (list) The list of integers corresponding to the found pids """ pids = [] cmd_pid = 'ps aux | grep "' + self.command + '" | awk \'{print $2}\'' @@ -547,11 +543,10 @@ class Job(object): return pids def kill_remote_process(self, wait=1): - '''Kills the process on the remote machine. + """Kills the process on the remote machine. - :return: (the output of the kill, the error of the kill) - :rtype: (str, str) - ''' + :return: (str, str) the output of the kill, the error of the kill + """ try: pids = self.get_pids() except: @@ -564,21 +559,20 @@ class Job(object): return (out_kill.read().decode(), err_kill.read().decode()) def has_begun(self): - '''Returns True if the job has already begun + """Returns True if the job has already begun - :return: True if the job has already begun - :rtype: bool - ''' + :return: (bool) True if the job has already begun + """ return self._has_begun def has_finished(self): - '''Returns True if the job has already finished - (i.e. all the commands have been executed) - If it is finished, the outputs are stored in the fields out and err. + """ + Returns True if the job has already finished + (i.e. all the commands have been executed) + If it is finished, the outputs are stored in the fields out and err. - :return: True if the job has already finished - :rtype: bool - ''' + :return: (bool) True if the job has already finished + """ # If the method has already been called and returned True if self._has_finished: @@ -604,7 +598,7 @@ class Job(object): return self._has_finished def get_log_files(self): - """\ + """ Get the log files produced by the command launched on the remote machine, and put it in the log directory of the user, so they can be accessible from @@ -677,14 +671,14 @@ class Job(object): {"1": str(job_path_remote), "2": str(e)} def has_failed(self): - '''Returns True if the job has failed. - A job is considered as failed if the machine could not be reached, - if the remote command failed, - or if the job finished with a time out. - - :return: True if the job has failed - :rtype: bool - ''' + """ + Returns True if the job has failed. + A job is considered as failed if the machine could not be reached, + if the remote command failed, + or if the job finished with a time out. + + :return: (bool) True if the job has failed + """ if not self.has_finished(): return False if not self.machine.successfully_connected(self.logger): @@ -696,8 +690,9 @@ class Job(object): return False def cancel(self): - """In case of a failing job, one has to cancel every job that depend - on it. This method put the job as failed and will not be executed. + """ + In case of a failing job, one has to cancel every job that depend on it. + This method put the job as failed and will not be executed. """ if self.cancelled: return @@ -709,19 +704,17 @@ class Job(object): self.err += msg def is_running(self): - '''Returns True if the job commands are running + """Returns True if the job commands are running - :return: True if the job is running - :rtype: bool - ''' + :return: (bool) True if the job is running + """ return self.has_begun() and not self.has_finished() def is_timeout(self): - '''Returns True if the job commands has finished with timeout + """Returns True if the job commands has finished with timeout - :return: True if the job has finished with timeout - :rtype: bool - ''' + :return: (bool) True if the job has finished with timeout + """ return self._has_timouted def time_elapsed(self): @@ -736,8 +729,9 @@ class Job(object): return T_now - self._T0 def check_time(self): - """Verify that the job has not exceeded its timeout. - If it has, kill the remote command and consider the job as finished. + """ + Verify that the job has not exceeded its timeout. + If it has, kill the remote command and consider the job as finished. """ if not self.has_begun(): return @@ -754,16 +748,15 @@ class Job(object): self.err += _("Unable to get remote log files!\n%s\n" % str(e)) def total_duration(self): - """\ - Give the total duration of the job + """ + Gives the total duration of the job - :return: the total duration of the job in seconds - :rtype: int + :return: (int) the total duration of the job in seconds """ return self._Tf - self._T0 def run(self): - """\ + """ Launch the job by executing the remote command. """ @@ -802,7 +795,7 @@ class Job(object): self._has_begun = True def write_results(self): - """\ + """ Display on the terminal all the job's information """ msg = "name : %s\n" % self.name @@ -810,10 +803,10 @@ class Job(object): msg += "after : %s\n" % self.after msg += "Time elapsed : %4imin %2is \n" % (self.total_duration()//60 , self.total_duration()%60) if self._T0 != -1: - msg += "Begin time : %s\n" % + msg += "Begin time : %s\n" % \ time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(self._T0)) if self._Tf != -1: - msg += "End time : %s\n\n" % + msg += "End time : %s\n\n" % \ time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(self._Tf)) self.logger.info(msg) @@ -828,15 +821,13 @@ class Job(object): msg += "Unable to get output\n" else: msg += self.out + "\n" - msg += "err :\n%s\n" % .err + msg += "err :\n%s\n" % self.err self.logger.info(msg) def get_status(self): - """\ - Get the status of the job (used by the Gui for xml display) + """Get the status of the job (used by the Gui for xml display) - :return: The current status of the job - :rtype: String + :return: (str) The current status of the job """ if not self.machine.successfully_connected(self.logger): return "SSH connection KO" @@ -852,7 +843,7 @@ class Job(object): return "Finished since " + time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(self._Tf)) class Jobs(object): - """\ + """ Class to manage the jobs to be run """ def __init__(self, @@ -888,14 +879,13 @@ class Jobs(object): self.determine_jobs_and_machines() def define_job(self, job_def, machine): - """\ + """ Takes a pyconf job definition and a machine (from class machine) and returns the job instance corresponding to the definition. - :param job_def src.config.Mapping: a job definition - :param machine machine: the machine on which the job will run - :return: The corresponding job in a job class instance - :rtype: job + :param job_def: (Mapping a job definition + :param machine: (Machine) the machine on which the job will run + :return: (Job) The corresponding job in a job class instance """ name = job_def.name cmmnds = job_def.commands @@ -929,7 +919,7 @@ class Jobs(object): prefix = prefix) def determine_jobs_and_machines(self): - """\ + """ Reads the pyconf jobs definition and instantiates all the machines and jobs to be done today. @@ -1015,11 +1005,9 @@ The job will not be launched. self.lhosts = host_list def ssh_connection_all_machines(self, pad=50): - """\ - Do the ssh connection to every machine to be used today. + """Do the ssh connection to every machine to be used today. - :return: Nothing - :rtype: N\A + :return: None """ self.logger.info( "Establishing connection with all the machines :\n") for machine in self.lmachines: @@ -1089,14 +1077,15 @@ The job will not be launched. def is_occupied(self, hostname): - '''Function that returns True if a job is running on - the machine defined by its host and its port. - - :param hostname (str, int): the pair (host, port) - :return: the job that is running on the host, - or false if there is no job running on the host. - :rtype: job / bool - ''' + """ + Returns True if a job is running on + the machine defined by its host and its port. + + :param hostname: (str, int) the pair (host, port) + :return: (Job or bool) + the job that is running on the host, + or false if there is no job running on the host. + """ host = hostname[0] port = hostname[1] for jb in self.ljobs: @@ -1106,12 +1095,12 @@ The job will not be launched. return False def update_jobs_states_list(self): - '''Function that updates the lists that store the currently - running jobs and the jobs that have already finished. + """ + Updates the lists that store the currently + running jobs and the jobs that have already finished. - :return: Nothing. - :rtype: N\A - ''' + :return: None + """ jobs_finished_list = [] jobs_running_list = [] for jb in self.ljobs: @@ -1130,11 +1119,10 @@ The job will not be launched. return nb_job_finished_now > nb_job_finished_before def cancel_dependencies_of_failing_jobs(self): - '''Function that cancels all the jobs that depend on a failing one. + """Cancels all the jobs that depend on a failing one. - :return: Nothing. - :rtype: N\A - ''' + :return: None + """ for job in self.ljobs: if job.after is None: @@ -1144,12 +1132,11 @@ The job will not be launched. job.cancel() def find_job_that_has_name(self, name): - '''Returns the job by its name. + """Returns the job by its name. - :param name str: a job name - :return: the job that has the name. - :rtype: job - ''' + :param name: (str) a job name + :return: (Job) the job that has the name. + """ for jb in self.ljobs: if jb.name == name: return jb @@ -1157,14 +1144,14 @@ The job will not be launched. return None def str_of_length(self, text, length): - '''Takes a string text of any length and returns - the most close string of length "length". - - :param text str: any string - :param length int: a length for the returned string - :return: the most close string of length "length" - :rtype: str - ''' + """ + Takes a string text of any length and returns + the most close string of length "length". + + :param text: (str) any string + :param length: (int) a length for the returned string + :return: (str) the most close string of length "length" + """ if len(text) > length: text_out = text[:length-3] + '...' else: @@ -1176,14 +1163,13 @@ The job will not be launched. return text_out def display_status(self, len_col): - """\ + """ Takes a lenght and construct the display of the current status of the jobs in an array that has a column for each host. It displays the job that is currently running on the host of the column. - :param len_col int: the size of the column - :return: Nothing - :rtype: N\A + :param len_col: (int) the size of the column + :return: None """ display_line = "" for host_port in self.lhosts: @@ -1199,15 +1185,14 @@ The job will not be launched. def run_jobs(self): - """\ + """ The main method. Runs all the jobs on every host. For each host, at a given time, only one job can be running. The jobs that have the field after (that contain the job that has to be run before it) are run after the previous job. This method stops when all the jobs are finished. - :return: Nothing - :rtype: N\A + :return: None """ # Print header self.logger.info(_('Executing the jobs :\n')) @@ -1274,11 +1259,9 @@ The job will not be launched. self.gui.last_update() def write_all_results(self): - """\ - Display all the jobs outputs. + """Display all the jobs outputs. - :return: Nothing - :rtype: N\A + :return: None """ for jb in self.ljobs: self.logger.info("#------- Results for job %s -------#\n" % jb.name) @@ -1286,7 +1269,7 @@ The job will not be launched. self.logger.info("\n\n") class Gui(object): - """\ + """ Class to manage the the xml data that can be displayed in a browser to see the jobs states """ @@ -1297,13 +1280,15 @@ class Gui(object): prefix, logger, file_boards=""): - """\ - Initialization - - :param xml_dir_path str: The path to the directory where to put the xml resulting files - :param l_jobs List: the list of jobs that run today - :param l_jobs_not_today List: the list of jobs that do not run today - :param file_boards str: the file path from which to read the expected boards + """Initialization + + :param xml_dir_path: (str) + The path to the directory where to put the xml resulting files + :param l_jobs: (list) the list of jobs that run today + :param l_jobs_not_today: (list) + the list of jobs that do not run today + :param file_boards: (str) + the file path from which to read the expected boards """ # The logging instance self.logger = logger @@ -1343,9 +1328,11 @@ class Gui(object): self.update_xml_files(l_jobs) def add_xml_board(self, name): - '''Add a board to the board list - :param name str: the board name - ''' + """ + Add a board to the board list + + :param name: (str) the board name + """ xml_board_path = os.path.join(self.xml_dir_path, name + ".xml") self.d_xml_board_files[name] = XMLMGR.XmlLogFile(xml_board_path,"JobsReport") self.d_xml_board_files[name].add_simple_node("distributions") @@ -1353,12 +1340,12 @@ class Gui(object): self.d_xml_board_files[name].add_simple_node("board", text=name) def initialize_boards(self, l_jobs, l_jobs_not_today): - """\ + """ Get all the first information needed for each file and write the first version of the files - :param l_jobs List: the list of jobs that run today - :param l_jobs_not_today List: the list of jobs that do not run today + :param l_jobs: (list) the list of jobs that run today + :param l_jobs_not_today: (list) the list of jobs that do not run today """ # Get the boards to fill and put it in a dictionary # {board_name : xml instance corresponding to the board} @@ -1489,12 +1476,15 @@ class Gui(object): attrib={"distribution" : row, "application" : column } ) def find_history(self, l_jobs, l_jobs_not_today): - """find, for each job, in the existent xml boards the results for the - job. Store the results in the dictionnary self.history = {name_job : - list of (date, status, list links)} - - :param l_jobs List: the list of jobs to run today - :param l_jobs_not_today List: the list of jobs that do not run today + """ + find, for each job, in the existent xml boards the results for the job. + Store the results in the dictionary + self.history = {name_job : list of (date, status, list links)} + + :param l_jobs: (list) + the list of jobs to run today + :param l_jobs_not_today: (list) + the list of jobs that do not run today """ # load the all the history expression = "^[0-9]{8}_+[0-9]{6}_" + self.global_name + ".xml$" @@ -1509,7 +1499,7 @@ class Gui(object): l_globalxml.append(global_xml) except Exception as e: msg = _("The file '%s' can not be read, it will be ignored\n%s") % \ - (file_path, e}) + (file_path, e) self.logger.warning("%s\n" % msg) # Construct the dictionnary self.history @@ -1530,12 +1520,14 @@ class Gui(object): self.history[job.name] = l_links def put_jobs_not_today(self, l_jobs_not_today, xml_node_jobs): - """\ + """ Get all the first information needed for each file and write the first version of the files - :param xml_node_jobs etree.Element: the node corresponding to a job - :param l_jobs_not_today List: the list of jobs that do not run today + :param xml_node_jobs: (etree.Element) + the node corresponding to a job + :param l_jobs_not_today: (list) + the list of jobs that do not run today """ ASNODE = XMLMGR.add_simple_node # shortcut @@ -1563,10 +1555,11 @@ class Gui(object): attrib={"date" : date, "res" : res_job, "last" : "no"} ) def parse_csv_boards(self, today): - """ Parse the csv file that describes the boards to produce and fill - the dict d_input_boards that contain the csv file contain + """ + Parse the csv file that describes the boards to produce and fill + the dict d_input_boards that contain the csv file contain - :param today int: the current day of the week + :param today: (int) the current day of the week """ # open the csv file and read its content l_read = [] @@ -1614,10 +1607,10 @@ class Gui(object): self.d_input_boards = d_boards def update_xml_files(self, l_jobs): - '''Write all the xml files with updated information about the jobs + """Write all the xml files with updated information about the jobs - :param l_jobs List: the list of jobs that run today - ''' + :param l_jobs: (list) the list of jobs that run today + """ for xml_file in [self.xml_global_file] + list( self.d_xml_board_files.values()): self.update_xml_file(l_jobs, xml_file) @@ -1626,11 +1619,12 @@ class Gui(object): self.write_xml_files() def update_xml_file(self, l_jobs, xml_file): - '''update information about the jobs for the file xml_file + """update information about the jobs for the file xml_file - :param l_jobs List: the list of jobs that run today - :param xml_file xmlManager.XmlLogFile: the xml instance to update - ''' + :param l_jobs: (list) the list of jobs that run today + :param xml_file: (xmlManager.XmlLogFile) + the xml instance to update + """ xml_node_jobs = xml_file.xmlroot.find('jobs') # Update the job names and status node @@ -1721,14 +1715,15 @@ class Gui(object): def find_test_log(self, l_remote_log_files): - '''Find if there is a test log (board) in the remote log files and - the path to it. There can be several test command, so the result is - a list. + """ + Find if there is a test log (board) in the remote log files and + the path to it. There can be several test command, + so the result is a list. - :param l_remote_log_files List: the list of all remote log files - :return: the list of (test log files path, res of the command) - :rtype: List - ''' + :param l_remote_log_files: (list) the list of all remote log files + :return: (list) + the list of tuples (test log files path, res of the command) + """ res = [] for file_path in l_remote_log_files: dirname = os.path.basename(os.path.dirname(file_path)) @@ -1749,11 +1744,11 @@ class Gui(object): return res def last_update(self, finish_status = "finished"): - '''update information about the jobs for the file xml_file + """update information about the jobs for the file xml_file - :param l_jobs List: the list of jobs that run today - :param xml_file xmlManager.XmlLogFile: the xml instance to update - ''' + :param l_jobs: (list) the list of jobs that run today + :param xml_file: (xmlManager.XmlLogFile) the xml instance to update + """ for xml_file in [self.xml_global_file] + list(self.d_xml_board_files.values()): xml_node_infos = xml_file.xmlroot.find('infos') XMLMGR.append_node_attrib(xml_node_infos, @@ -1762,8 +1757,9 @@ class Gui(object): self.write_xml_files() def write_xml_file(self, xml_file, stylesheet): - ''' Write one xml file and the same file with prefix - ''' + """ + Write one xml file and the same file with prefix + """ xml_file.write_tree(stylesheet) file_path = xml_file.logFile file_dir = os.path.dirname(file_path) @@ -1773,8 +1769,9 @@ class Gui(object): file_name_with_prefix)) def write_xml_files(self): - ''' Write the xml files - ''' + """ + Write the xml files + """ self.write_xml_file(self.xml_global_file, STYLESHEET_GLOBAL) for xml_file in self.d_xml_board_files.values(): self.write_xml_file(xml_file, STYLESHEET_BOARD) @@ -1799,10 +1796,11 @@ def get_config_file_path(job_config_name, l_cfg_dir): return found, file_jobs_cfg def develop_factorized_jobs(config_jobs): - '''update information about the jobs for the file xml_file + """update information about the jobs for the file xml_file - :param config_jobs Config: the config corresponding to the jos description - ''' + :param config_jobs: (Config) + the config corresponding to the jos description + """ developed_jobs_list = [] for jb in config_jobs.jobs: # case where the jobs are not developed diff --git a/commands/launcher.py b/commands/launcher.py index 898207e..d9d0eda 100644 --- a/commands/launcher.py +++ b/commands/launcher.py @@ -31,11 +31,11 @@ from src.salomeTools import _BaseCommand # Command class ######################################################################## class Command(_BaseCommand): - """\ + """ The launcher command generates a SALOME launcher. examples: - >> sat launcher SALOME + >> sat launcher SALOME """ name = "launcher" @@ -104,19 +104,18 @@ def generate_launch_file(config, pathlauncher, display=True, additional_env={}): - '''Generates the launcher file. + """Generates the launcher file. - :param config Config: The global configuration - :param logger Logger: The logger instance to use for the display - and logging - :param launcher_name str: The name of the launcher to generate - :param pathlauncher str: The path to the launcher to generate - :param display boolean: If False, do not print anything in the terminal - :param additional_env dict: The dict giving additional - environment variables - :return: The launcher file path. - :rtype: str - ''' + :param config: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :param launcher_name: (str) The name of the launcher to generate + :param pathlauncher: (str) The path to the launcher to generate + :param display: (bool) If False, do not print anything in the terminal + :param additional_env: (dict) + The dict giving additional environment variables + :return: (str) The launcher file path. + """ # Compute the default launcher path if it is not provided in pathlauncher # parameter @@ -188,12 +187,11 @@ def generate_launch_file(config, def generate_catalog(machines, config, logger): """Generates an xml catalog file from a list of machines. - :param machines List: The list of machines to add in the catalog - :param config Config: The global configuration - :param logger Logger: The logger instance to use for the display - and logging - :return: The catalog file path. - :rtype: str + :param machines: (list) The list of machines to add in the catalog + :param config: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (str) The catalog file path. """ # remove empty machines machines = map(lambda l: l.strip(), machines) @@ -201,7 +199,7 @@ def generate_catalog(machines, config, logger): # log something logger.debug(" %s = %s\n" % \ - (_("Generate Resources Catalog"),", ".join(machines)) + (_("Generate Resources Catalog"), ", ".join(machines)) ) # The command to execute on each machine in order to get some information cmd = '"cat /proc/cpuinfo | grep MHz ; cat /proc/meminfo | grep MemTotal"' @@ -258,10 +256,10 @@ def generate_catalog(machines, config, logger): def copy_catalog(config, catalog_path): """Copy the xml catalog file into the right location - :param config Config: The global configuration - :param catalog_path str: the catalog file path - :return: The environment dictionary corresponding to the file path. - :rtype: Dict + :param config: (Config) The global configuration + :param catalog_path: (str) the catalog file path + :return: (dict) + The environment dictionary corresponding to the file path. """ # Verify the existence of the file if not os.path.exists(catalog_path): diff --git a/commands/log.py b/commands/log.py index 4b9baf6..c32aca2 100644 --- a/commands/log.py +++ b/commands/log.py @@ -43,11 +43,11 @@ except NameError: # Command class ######################################################################## class Command(_BaseCommand): - """\ + """ The log command gives access to the logs produced by the salomeTools commands. examples: - >> sat log + >> sat log """ name = "log" @@ -237,14 +237,13 @@ class Command(_BaseCommand): return RCO.ReturnCode("OK", "option no browser") def get_last_log_file(logDir, notShownCommands): - """\ + """ Used in case of last option. Get the last log command file path. - :param logDir str: The directory where to search the log files - :param notShownCommands list: the list of commands to ignore - :return: the path to the last log file - :rtype: str + :param logDir: (str) The directory where to search the log files + :param notShownCommands: (list) the list of commands to ignore + :return: (str) the path to the last log file """ last = (_, 0) for fileName in os.listdir(logDir): @@ -267,22 +266,22 @@ def get_last_log_file(logDir, notShownCommands): return res def remove_log_file(filePath, logger): - '''if it exists, print a warning and remove the input file + """if it exists, print a warning and remove the input file :param filePath: the path of the file to delete - :param logger Logger: the logger instance to use for the print - ''' + :param logger: (Logger) the logger instance to use for the print + """ if os.path.exists(filePath): logger.debug(UTS.red("Removing %s\n" % filePath)) os.remove(filePath) def print_log_command_in_terminal(filePath, logger): - '''Print the contain of filePath. It contains a command log in xml format. + """Print the contain of filePath. It contains a command log in xml format. - :param filePath: The command xml file from which extract the commands - context and traces - :param logger Logger: the logging instance to use in order to print. - ''' + :param filePath: + The command xml file from which extract the commands context and traces + :param logger: (Logger) the logging instance to use in order to print. + """ logger.debug(_("Reading %s\n") % filePath) # Instantiate the ReadXmlFile class that reads xml files xmlRead = XMLMGR.ReadXmlFile(filePath) @@ -370,12 +369,12 @@ def show_product_last_logs(logger, config, product_log_dir): SYSS.show_in_editor(config.USER.editor, log_file_path, logger) def ask_value(nb): - '''Ask for an int n. 0> sat make SALOME --products Python,KERNEL,GUI + >> sat make SALOME --products Python,KERNEL,GUI """ name = "make" @@ -103,17 +103,17 @@ class Command(_BaseCommand): def get_products_list(options, cfg, logger): - '''method that gives the product list with their informations from - configuration regarding the passed options. + """ + method that gives the product list with their informations from + configuration regarding the passed options. - :param options Options: The Options instance that stores the commands - arguments - :param cfg Config: The global configuration - :param logger Logger: The logger instance to use for the display and - logging - :return: The list of (product name, product_informations). - :rtype: List - ''' + :param options: (Options) + The Options instance that stores the commands arguments + :param cfg: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (list) The list of tuples (product name, product_informations). + """ # Get the products to be prepared, regarding the options if options.products is None: # No options, get all products sources @@ -152,17 +152,18 @@ def log_res_step(logger, res): def make_all_products(config, products_infos, make_option, logger): - '''Execute the proper configuration commands - in each product build directory. + """ + Execute the proper configuration commands + in each product build directory. - :param config Config: The global configuration - :param products_info list: List of - (str, Config) => (product_name, product_info) - :param make_option str: The options to add to the command - :param logger Logger: The logger instance to use for the display and logging - :return: the number of failing commands. - :rtype: int - ''' + :param config: (Config) The global configuration + :param products_info: (list) + List of (str, Config) => (product_name, product_info) + :param make_option: (str) The options to add to the command + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (int) the number of failing commands. + """ res = 0 for p_name_info in products_infos: res_prod = make_product(p_name_info, make_option, config, logger) @@ -171,17 +172,17 @@ def make_all_products(config, products_infos, make_option, logger): return res def make_product(p_name_info, make_option, config, logger): - '''Execute the proper configuration command(s) - in the product build directory. + """ + Execute the proper configuration command(s) + in the product build directory. - :param p_name_info tuple: (str, Config) => (product_name, product_info) - :param make_option str: The options to add to the command - :param config Config: The global configuration - :param logger Logger: The logger instance to use for the display - and logging - :return: 1 if it fails, else 0. - :rtype: int - ''' + :param p_name_info: (tuple) (str, Config) => (product_name, product_info) + :param make_option: (str) The options to add to the command + :param config: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (int) 1 if it fails, else 0. + """ p_name, p_info = p_name_info diff --git a/commands/makeinstall.py b/commands/makeinstall.py index 2d0f79b..f445579 100644 --- a/commands/makeinstall.py +++ b/commands/makeinstall.py @@ -26,13 +26,13 @@ from src.salomeTools import _BaseCommand # Command class ######################################################################## class Command(_BaseCommand): - """\ + """ The makeinstall command executes the 'make install' command in the build directory. In case of product constructed using a script (build_source : 'script'), then the makeinstall command do nothing. examples: - >> sat makeinstall SALOME --products KERNEL,GUI + >> sat makeinstall SALOME --products KERNEL,GUI """ name = "makeinstall" @@ -98,16 +98,17 @@ class Command(_BaseCommand): def get_products_list(options, cfg, logger): - '''method that gives the product list with their informations from - configuration regarding the passed options. + """ + method that gives the product list with their informations from + configuration regarding the passed options. - :param options Options: The Options instance that stores the commands - arguments - :param cfg Config: The global configuration - :param logger Logger: The logger instance to use for the display and logging - :return: The list of (product name, product_informations). - :rtype: List - ''' + :param options: (Options) + The Options instance that stores the commands arguments + :param cfg: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (list) The list of (product name, product_informations). + """ # Get the products to be prepared, regarding the options if options.products is None: # No options, get all products sources @@ -142,16 +143,17 @@ def log_res_step(logger, res): logger.debug("\n") def makeinstall_all_products(config, products_infos, logger): - '''Execute the proper configuration commands - in each product build directory. - - :param config Config: The global configuration - :param products_info list: List of - (str, Config) => (product_name, product_info) - :param logger Logger: The logger instance to use for the display and logging - :return: the number of failing commands. - :rtype: int - ''' + """ + Execute the proper configuration commands + in each product build directory. + + :param config: (Config) The global configuration + :param products_info: (list) + List of (str, Config) => (product_name, product_info) + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (int) the number of failing commands. + """ res = 0 for p_name_info in products_infos: res_prod = makeinstall_product(p_name_info, config, logger) @@ -160,16 +162,17 @@ def makeinstall_all_products(config, products_infos, logger): return res def makeinstall_product(p_name_info, config, logger): - '''Execute the proper configuration command(s) - in the product build directory. + """ + Execute the proper configuration command(s) + in the product build directory. - :param p_name_info tuple: (str, Config) => (product_name, product_info) - :param config Config: The global configuration - :param logger Logger: The logger instance to use for the display - and logging - :return: 1 if it fails, else 0. - :rtype: int - ''' + :param p_name_info: (tuple) + (str, Config) => (product_name, product_info) + :param config: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (int) 1 if it fails, else 0. + """ p_name, p_info = p_name_info diff --git a/commands/package.py b/commands/package.py index b424b89..1c3beb5 100644 --- a/commands/package.py +++ b/commands/package.py @@ -93,17 +93,16 @@ project_file_paths : [$VARS.salometoolsway + $VARS.sep + \"..\" + $VARS.sep""" # Command class ######################################################################## class Command(_BaseCommand): - """\ + """ The package command creates an archive. There are 4 kinds of archive, which can be mixed: - 1- The binary archive. It contains all the product installation directories and a launcher. - 2- The sources archive. It contains the products archives, - a project corresponding to the application and salomeTools. - 3- The project archive. It contains a project (give the project file path as argument). - 4- The salomeTools archive. It contains salomeTools. + 1- The binary archive. It contains all the product installation directories and a launcher. + 2- The sources archive. It contains the products archives, a project corresponding to the application and salomeTools. + 3- The project archive. It contains a project (give the project file path as argument). + 4- The salomeTools archive. It contains salomeTools. examples: - >> sat package SALOME --binaries --sources + >> sat package SALOME --binaries --sources """ name = "package" @@ -253,7 +252,7 @@ check if at least one of the following options was selected: path_targz = os.path.join(dir_name, archive_name + ".tgz") - logger.info(" Package path = %s\n" UTS.blue(path_targz)) + logger.info(" Package path = %s\n" % UTS.blue(path_targz)) # Create a working directory for all files that are produced during the # package creation and that will be removed at the end of the command @@ -345,7 +344,7 @@ check if at least one of the following options was selected: tar.close() except KeyboardInterrupt: - logger.critical(UTS.red(_("KeyboardInterrupt forced interruption\n")) + logger.critical(UTS.red(_("KeyboardInterrupt forced interruption\n"))) logger.info(_("Removing the temporary working directory ... ")) # remove the working directory shutil.rmtree(tmp_working_dir) @@ -356,26 +355,24 @@ check if at least one of the following options was selected: shutil.rmtree(tmp_working_dir) # Print again the path of the package - logger.info(" Package path = %s\n" UTS.blue(path_targz)) + logger.info(" Package path = %s\n" % UTS.blue(path_targz)) return res def add_files(tar, name_archive, d_content, logger, f_exclude=None): - """\ + """ Create an archive containing all directories and files that are given in the d_content argument. - :param tar tarfile: The tarfile instance used to make the archive. - :param name_archive str: The name of the archive to make. - :param d_content dict: The dictionary that contain all directories and files - to add in the archive. - d_content[label] = - (path_on_local_machine, path_in_archive) - :param logger Logger: the logging instance - :param f_exclude Function: the function that filters - :return: 0 if success, 1 if not. - :rtype: int + :param tar: (tarfile) The tarfile instance used to make the archive. + :param name_archive: (str) The name of the archive to make. + :param d_content: (dict) + The dictionary that contain all directories and files to add in the archive. + d_content[label] = (path_on_local_machine, path_in_archive) + :param logger: (Logger) the logging instance + :param f_exclude: (function) the function that filters + :return: (int) 0 if success, 1 if not. """ # get the max length of the messages in order to make the display max_len = len(max(d_content.keys(), key=len)) @@ -395,18 +392,17 @@ def add_files(tar, name_archive, d_content, logger, f_exclude=None): tar.add(local_path, arcname=in_archive, exclude=f_exclude) logger.info("\n") except Exception as e: - logger.info(" %s\n" str(e)) + logger.info(" %s\n" % str(e)) success = 1 return success def exclude_VCS_and_extensions(filename): - """\ + """ The function that is used to exclude from package the link to the VCS repositories (like .git) - :param filename Str: The filname to exclude (or not). - :return: True if the file has to be exclude - :rtype: Boolean + :param filename: (str) The filname to exclude (or not). + :return: (bool) True if the file has to be exclude """ for dir_name in IGNORED_DIRS: if dir_name in filename: @@ -422,18 +418,18 @@ def produce_relative_launcher(config, file_name, binaries_dir_name, with_commercial=True): - '''Create a specific SALOME launcher for the binary package. This launcher - uses relative paths. + """ + Create a specific SALOME launcher for the binary package. + This launcher uses relative paths. - :param config Config: The global configuration. - :param logger Logger: the logging instance - :param file_dir str: the directory where to put the launcher - :param file_name str: The launcher name - :param binaries_dir_name str: the name of the repository where the binaries - are, in the archive. - :return: the path of the produced launcher - :rtype: str - ''' + :param config: (Config) The global configuration. + :param logger: (Logger) the logging instance + :param file_dir: (str) the directory where to put the launcher + :param file_name: (str) The launcher name + :param binaries_dir_name: (str) + the name of the repository where the binaries are, in the archive. + :return: (str) the path of the produced launcher + """ # get KERNEL installation path kernel_root_dir = os.path.join(binaries_dir_name, "KERNEL") @@ -495,10 +491,10 @@ def produce_relative_launcher(config, return filepath def hack_for_distene_licence(filepath): - '''Replace the distene licence env variable by a call to a file. + """Replace the distene licence env variable by a call to a file. - :param filepath Str: The path to the launcher to modify. - ''' + :param filepath: (str) The path to the launcher to modify. + """ shutil.move(filepath, filepath + "_old") fileout= filepath filein = filepath + "_old" @@ -521,12 +517,12 @@ def hack_for_distene_licence(filepath): del text[num_line +1] del text[num_line +1] text_to_insert ="""\ - import imp - try: - distene = imp.load_source('distene_licence', '/data/tmpsalome/salome/prerequis/install/LICENSE/dlim8.var.py') - distene.set_distene_variables(context) - except: - pass +import imp +try: + distene = imp.load_source('distene_licence', '/data/tmpsalome/salome/prerequis/install/LICENSE/dlim8.var.py') + distene.set_distene_variables(context) +except: + pass """ text.insert(num_line + 1, text_to_insert) for line in text: @@ -539,17 +535,17 @@ def produce_relative_env_files(config, logger, file_dir, binaries_dir_name): - '''Create some specific environment files for the binary package. These - files use relative paths. + """ + Create some specific environment files for the binary package. + These files use relative paths. - :param config Config: The global configuration. - :param logger Logger: the logging instance - :param file_dir str: the directory where to put the files - :param binaries_dir_name str: the name of the repository where the binaries - are, in the archive. - :return: the list of path of the produced environment files - :rtype: List - ''' + :param config: (Config) The global configuration. + :param logger: (Logger) the logging instance + :param file_dir: (str) the directory where to put the files + :param binaries_dir_name: (str) + The name of the repository where the binaries are, in the archive. + :return: (list) The list of path of the produced environment files + """ # create an environment file writer writer = src.environment.FileEnvWriter(config, logger, @@ -582,17 +578,18 @@ def produce_install_bin_file(config, file_dir, d_sub, file_name): - '''Create a bash shell script which do substitutions in BIRARIES dir - in order to use it for extra compilations. + """ + Create a bash shell script which do substitutions in BIRARIES dir + in order to use it for extra compilations. - :param config Config: The global configuration. - :param logger Logger: the logging instance - :param file_dir str: the directory where to put the files - :param d_sub, dict: the dictionnary that contains the substitutions to be done - :param file_name str: the name of the install script file - :return: the produced file - :rtype: str - ''' + :param config: (Config) The global configuration. + :param logger: (Logger) the logging instance + :param file_dir: (str) the directory where to put the files + :param d_sub: (dict) + the dictionnary that contains the substitutions to be done + :param file_name: (str) the name of the install script file + :return: (str) the produced file + """ # Write filepath = os.path.join(file_dir, file_name) # open the file and write into it @@ -635,17 +632,17 @@ def product_appli_creation_script(config, logger, file_dir, binaries_dir_name): - '''Create a script that can produce an application (EDF style) in the binary - package. + """ + Create a script that can produce an application (EDF style) + in the binary package. - :param config Config: The global configuration. - :param logger Logger: the logging instance - :param file_dir str: the directory where to put the file - :param binaries_dir_name str: the name of the repository where the binaries - are, in the archive. - :return: the path of the produced script file - :rtype: Str - ''' + :param config: (Config) The global configuration. + :param logger: (Logger) the logging instance + :param file_dir: (str) the directory where to put the file + :param binaries_dir_name: (str) + The name of the repository where the binaries are, in the archive. + :return: (str) The path of the produced script file + """ template_name = "create_appli.py.for_bin_packages.template" template_path = os.path.join(config.VARS.internal_dir, template_name) text_to_fill = open(template_path, "r").read() @@ -697,20 +694,21 @@ def product_appli_creation_script(config, return tmp_file_path def binary_package(config, logger, options, tmp_working_dir): - '''Prepare a dictionary that stores all the needed directories and files to - add in a binary package. + """ + Prepare a dictionary that stores all the needed directories and files + to add in a binary package. - :param config Config: The global configuration. - :param logger Logger: the logging instance - :param options OptResult: the options of the launched command - :param tmp_working_dir str: The temporary local directory containing some - specific directories or files needed in the - binary package - :return: the dictionary that stores all the needed directories and files to - add in a binary package. - {label : (path_on_local_machine, path_in_archive)} - :rtype: dict - ''' + :param config: (Config) The global configuration. + :param logger: (Logger) the logging instance + :param options: (OptResult) the options of the launched command + :param tmp_working_dir: (str) + The temporary local directory containing some specific directories + or files needed in the binary package + :return: (dict) + The dictionary that stores all the needed directories and files + to add in a binary package. + {label : (path_on_local_machine, path_in_archive)} + """ # Get the list of product installation to add to the archive l_products_name = config.APPLICATION.products.keys() @@ -759,7 +757,7 @@ def binary_package(config, logger, options, tmp_working_dir): text_missing_prods += "-" + p_name + "\n" msg = _("There are missing products installations:\n") - logger.warning(msg + text_missing_prods)) + logger.warning(msg + text_missing_prods) if not options.force_creation: return None @@ -828,20 +826,21 @@ def binary_package(config, logger, options, tmp_working_dir): return d_products def source_package(sat, config, logger, options, tmp_working_dir): - '''Prepare a dictionary that stores all the needed directories and files to - add in a source package. + """ + Prepare a dictionary that stores all the needed directories and files + to add in a source package. - :param config Config: The global configuration. - :param logger Logger: the logging instance - :param options OptResult: the options of the launched command - :param tmp_working_dir str: The temporary local directory containing some - specific directories or files needed in the - binary package - :return: the dictionary that stores all the needed directories and files to - add in a source package. - {label : (path_on_local_machine, path_in_archive)} - :rtype: dict - ''' + :param config: (Config) The global configuration. + :param logger: (Logger) the logging instance + :param options: (OptResult) the options of the launched command + :param tmp_working_dir: (str) + The temporary local directory containing some specific directories + or files needed in the binary package + :return: (dict) + the dictionary that stores all the needed directories and files + to add in a source package. + {label : (path_on_local_machine, path_in_archive)} + """ # Get all the products that are prepared using an archive logger.info("Find archive products ... ") @@ -888,17 +887,17 @@ def source_package(sat, config, logger, options, tmp_working_dir): return d_source def get_archives(config, logger): - '''Find all the products that are get using an archive and all the products - that are get using a vcs (git, cvs, svn) repository. + """ + Find all the products from an archive and all the products + from a VCS (git, cvs, svn) repository. - :param config Config: The global configuration. - :param logger Logger: the logging instance - :return: the dictionary {name_product : - (local path of its archive, path in the package of its archive )} - and the list of specific configuration corresponding to the vcs - products - :rtype: (Dict, List) - ''' + :param config: (Config) The global configuration. + :param logger: (Logger) The logging instance + :return: (Dict, List) + The dictionary + {name_product : (local path of its archive, path in the package of its archive )} + and the list of specific configuration corresponding to the vcs products + """ # Get the list of product informations l_products_name = config.APPLICATION.products.keys() l_product_info = src.product.get_products_infos(l_products_name, @@ -921,16 +920,17 @@ def get_archives(config, logger): return d_archives, l_pinfo_vcs def add_salomeTools(config, tmp_working_dir): - '''Prepare a version of salomeTools that has a specific local.pyconf file - configured for a source package. - - :param config Config: The global configuration. - :param tmp_working_dir str: The temporary local directory containing some - specific directories or files needed in the - source package - :return: The path to the local salomeTools directory to add in the package - :rtype: str - ''' + """ + Prepare a version of salomeTools that has a specific local.pyconf file + configured for a source package. + + :param config: (Config) The global configuration. + :param tmp_working_dir: (str) + The temporary local directory containing some specific directories + or files needed in the source package + :return: (str) + The path to the local salomeTools directory to add in the package + """ # Copy sat in the temporary working directory sat_tmp_path = src.Path(os.path.join(tmp_working_dir, "salomeTools")) sat_running_path = src.Path(config.VARS.salometoolsway) @@ -958,24 +958,25 @@ def add_salomeTools(config, tmp_working_dir): return sat_tmp_path.path def get_archives_vcs(l_pinfo_vcs, sat, config, logger, tmp_working_dir): - '''For sources package that require that all products are get using an - archive, one has to create some archive for the vcs products. - So this method calls the clean and source command of sat and then create - the archives. - - :param l_pinfo_vcs List: The list of specific configuration corresponding to - each vcs product - :param sat Sat: The Sat instance that can be called to clean and source the - products - :param config Config: The global configuration. - :param logger Logger: the logging instance - :param tmp_working_dir str: The temporary local directory containing some - specific directories or files needed in the - source package - :return: the dictionary that stores all the archives to add in the source - package. {label : (path_on_local_machine, path_in_archive)} - :rtype: dict - ''' + """ + For sources package that require that all products from an archive, + one has to create some archive for the vcs products. + So this method calls the clean and source command of sat + and then create the archives. + + :param l_pinfo_vcs: (list) + The list of specific configuration corresponding to each vcs product + :param sat: (Sat) + The Sat instance that can be called to clean and source the products + :param config: (Config) The global configuration. + :param logger: (Logger) The logging instance + :param tmp_working_dir: (str) + The temporary local directory containing some specific directories + or files needed in the source package + :return: (dict) + The dictionary that stores all the archives to add in the sourcepackage. + {label : (path_on_local_machine, path_in_archive)} + """ # clean the source directory of all the vcs products, then use the source # command and thus construct an archive that will not contain the patches l_prod_names = [pn for pn, __ in l_pinfo_vcs] @@ -1001,16 +1002,15 @@ def get_archives_vcs(l_pinfo_vcs, sat, config, logger, tmp_working_dir): return d_archives_vcs def make_archive(prod_name, prod_info, where): - '''Create an archive of a product by searching its source directory. - - :param prod_name str: The name of the product. - :param prod_info Config: The specific configuration corresponding to the - product - :param where str: The path of the repository where to put the resulting - archive - :return: The path of the resulting archive - :rtype: str - ''' + """Create an archive of a product by searching its source directory. + + :param prod_name: (str) The name of the product. + :param prod_info: (Config) + The specific configuration corresponding to the product + :param where: (str) + The path of the repository where to put the resulting archive + :return: (str) The path of the resulting archive + """ path_targz_prod = os.path.join(where, prod_name + ".tgz") tar_prod = tarfile.open(path_targz_prod, mode='w:gz') local_path = prod_info.source_dir @@ -1021,18 +1021,19 @@ def make_archive(prod_name, prod_info, where): return path_targz_prod def create_project_for_src_package(config, tmp_working_dir, with_vcs): - '''Create a specific project for a source package. - - :param config Config: The global configuration. - :param tmp_working_dir str: The temporary local directory containing some - specific directories or files needed in the - source package - :param with_vcs boolean: True if the package is with vcs products (not - transformed into archive products) - :return: The dictionary - {"project" : (produced project, project path in the archive)} - :rtype: Dict - ''' + """Create a specific project for a source package. + + :param config: (Config) The global configuration. + :param tmp_working_dir: (str) + The temporary local directory containing some specific directories + or files needed in the source package + :param with_vcs: (bool) + True if the package is with vcs products + (not transformed into archive products) + :return: (dict) + The dictionary + {"project" : (produced project, project path in the archive)} + """ # Create in the working temporary directory the full project tree project_tmp_dir = os.path.join(tmp_working_dir, PROJECT_DIR) @@ -1091,26 +1092,28 @@ def find_product_scripts_and_pyconf(p_name, env_scripts_tmp_dir, patches_tmp_dir, products_pyconf_tmp_dir): - '''Create a specific pyconf file for a given product. Get its environment - script, its compilation script and patches and put it in the temporary - working directory. This method is used in the source package in order to - construct the specific project. - - :param p_name str: The name of the product. - :param p_info Config: The specific configuration corresponding to the - product - :param config Config: The global configuration. - :param with_vcs boolean: True if the package is with vcs products (not - transformed into archive products) - :param compil_scripts_tmp_dir str: The path to the temporary compilation - scripts directory of the project. - :param env_scripts_tmp_dir str: The path to the temporary environment script - directory of the project. - :param patches_tmp_dir str: The path to the temporary patch scripts - directory of the project. - :param products_pyconf_tmp_dir str: The path to the temporary product - scripts directory of the project. - ''' + """ + Create a specific pyconf file for a given product. + Get its environment script, its compilation script + and patches and put it in the temporary working directory. + This method is used in the source package in order to + construct the specific project. + + :param p_name: (str) The name of the product. + :param p_info: (Config) The specific configuration corresponding to the product + :param config: (Config) The global configuration. + :param with_vcs: (bool) + True if the package is with vcs products + (not transformed into archive products) + :param compil_scripts_tmp_dir: (str) + The path to the temporary compilation scripts directory of the project. + :param env_scripts_tmp_dir: (str) + The path to the temporary environment script directory of the project. + :param patches_tmp_dir: (str) + The path to the temporary patch scripts directory of the project. + :param products_pyconf_tmp_dir: (str) + The path to the temporary product scripts directory of the project. + """ # read the pyconf of the product product_pyconf_path = UTS.find_file_in_lpath(p_name + ".pyconf", @@ -1166,13 +1169,14 @@ def find_product_scripts_and_pyconf(p_name, ff.close() def find_application_pyconf(config, application_tmp_dir): - '''Find the application pyconf file and put it in the specific temporary - directory containing the specific project of a source package. + """ + Find the application pyconf file and put it in the specific temporary + directory containing the specific project of a source package. - :param config Config: The global configuration. - :param application_tmp_dir str: The path to the temporary application - scripts directory of the project. - ''' + :param config: 'Config) The global configuration. + :param application_tmp_dir: (str) + The path to the temporary application scripts directory of the project. + """ # read the pyconf of the application application_name = config.VARS.application application_pyconf_path = UTS.find_file_in_lpath( @@ -1198,18 +1202,19 @@ def find_application_pyconf(config, application_tmp_dir): ff.close() def project_package(project_file_path, tmp_working_dir): - '''Prepare a dictionary that stores all the needed directories and files to - add in a project package. + """ + Prepare a dictionary that stores all the needed directories and files + to add in a project package. - :param project_file_path str: The path to the local project. - :param tmp_working_dir str: The temporary local directory containing some - specific directories or files needed in the - project package - :return: the dictionary that stores all the needed directories and files to - add in a project package. - {label : (path_on_local_machine, path_in_archive)} - :rtype: dict - ''' + :param project_file_path: (str) The path to the local project. + :param tmp_working_dir: (str) + The temporary local directory containing some specific directories + or files needed in the project package + :return: (dict) + The dictionary that stores all the needed directories and files + to add in a project package. + {label : (path_on_local_machine, path_in_archive)} + """ d_project = {} # Read the project file and get the directories to add to the package project_pyconf_cfg = PYCONF.Config(project_file_path) @@ -1341,12 +1346,14 @@ The procedure to do it is: return readme_path def update_config(config, prop, value): - '''Remove from config.APPLICATION.products the products that have the property given as input. + """ + Remove from config.APPLICATION.products the products + that have the property given as input. - :param config Config: The global config. - :param prop str: The property to filter - :param value str: The value of the property to filter - ''' + :param config: (Config) The global config. + :param prop: (str) The property to filter + :param value: (str) The value of the property to filter + """ src.check_config_has_application(config) l_product_to_remove = [] for product_name in config.APPLICATION.products.keys(): diff --git a/commands/patch.py b/commands/patch.py index b802885..8c5dc1c 100644 --- a/commands/patch.py +++ b/commands/patch.py @@ -30,12 +30,12 @@ import commands.prepare # Command class ######################################################################## class Command(_BaseCommand): - """\ + """ The patch command apply the patches on the sources of the application products if there is any. examples: - >> sat patch SALOME --products qt,boost + >> sat patch SALOME --products qt,boost """ name = "patch" @@ -115,14 +115,14 @@ class Command(_BaseCommand): def apply_patch(config, product_info, max_product_name_len, logger): - """\ - The method called to apply patches on a product - - :param config Config: The global configuration - :param product_info Config: The configuration specific to - the product to be patched - :param logger Logger: The logger instance to use for the display and logging - :return: RCO.ReturnCode + """The method called to apply patches on a product + + :param config: (Config) The global configuration + :param product_info: (Config) + The configuration specific to the product to be patched + :param logger: (Logger: + The logger instance to use for the display and logging + :return: (RCO.ReturnCode) """ # if the product is native, do not apply patch diff --git a/commands/prepare.py b/commands/prepare.py index 859516e..240a250 100644 --- a/commands/prepare.py +++ b/commands/prepare.py @@ -28,12 +28,12 @@ from src.salomeTools import _BaseCommand # Command class ######################################################################## class Command(_BaseCommand): - """\ + """ The prepare command gets the sources of the application products and apply the patches if there is any. examples: - >> sat prepare SALOME --products KERNEL,GUI + >> sat prepare SALOME --products KERNEL,GUI """ name = "prepare" @@ -157,15 +157,14 @@ Use the --force_patch option to overwrite it. def remove_products(arguments, l_products_info, logger): - """ - function that removes the products in l_products_info from arguments list. + """Removes the products in l_products_info from arguments list. - :param arguments str: The arguments from which to remove products - :param l_products_info list: List of - (str, Config) => (product_name, product_info) - :param logger Logger: The logger instance to use for the display and logging - :return: The updated arguments. - :rtype: str + :param arguments: (str) The arguments from which to remove products + :param l_products_info: (list) + List of (str, Config) => (product_name, product_info) + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (str) The updated arguments. """ args = arguments for i, (product_name, __) in enumerate(l_products_info): @@ -177,14 +176,13 @@ def remove_products(arguments, l_products_info, logger): return args def find_products_already_getted(l_products): - '''function that returns the list of products that have an existing source - directory. + """Returns the list of products that have an existing source directory. - :param l_products List: The list of products to check - :return: The list of product configurations that have an existing source - directory. - :rtype: List - ''' + :param l_products: (list) The list of products to check + :return: (list) + The list of product configurations + that have an existing source directory. + """ l_res = [] for p_name_p_cfg in l_products: __, prod_cfg = p_name_p_cfg @@ -193,12 +191,13 @@ def find_products_already_getted(l_products): return l_res def find_products_with_patchs(l_products): - '''function that returns the list of products that have one or more patches. + """Returns the list of products that have one or more patches. - :param l_products List: The list of products to check - :return: The list of product configurations that have one or more patches. - :rtype: List - ''' + :param l_products: (list) The list of products to check + :return: (list) + The list of product configurations + that have one or more patches. + """ l_res = [] for p_name_p_cfg in l_products: __, prod_cfg = p_name_p_cfg diff --git a/commands/profile.py b/commands/profile.py index 7776f64..599efb9 100644 --- a/commands/profile.py +++ b/commands/profile.py @@ -34,11 +34,11 @@ class Command(_BaseCommand): examples: >> sat profile [PRODUCT] - [-p | --prefix (string)] - [-n | --name (string)] - [-f | --force] - [-v | --version (string)] - [-s | --slogan (string)] + >> sat profile --prefix (string) + >> sat profile --name (string) + >> sat profile --force + >> sat profile --version (string) + >> sat profile --slogan (string) """ name = "profile" @@ -210,11 +210,10 @@ def update_pyconf( config, options, logger ): """ Updates the pyconf """ - #Save previous version pyconf = config.VARS.product + '.pyconf' pyconfBackup = config.VARS.product + '-backup.pyconf' - logger.info( _("Updating %s (previous version saved as %s." ) % (pyconf, pyconfBackup) + logger.info( _("Updating %s (previous version saved as %s." ) % (pyconf, pyconfBackup)) path = config.getPath( pyconf ) shutil.copyfile( os.path.join( path, pyconf ), os.path.join( path, pyconfBackup ) ) diff --git a/commands/script.py b/commands/script.py index f3eec3b..dd3da47 100644 --- a/commands/script.py +++ b/commands/script.py @@ -108,17 +108,17 @@ class Command(_BaseCommand): def get_products_list(options, cfg, logger): - '''method that gives the product list with their informations from - configuration regarding the passed options. - - :param options Options: The Options instance that stores the commands - arguments - :param cfg Config: The global configuration - :param logger Logger: The logger instance to use for the display and - logging - :return: The list of (product name, product_informations). - :rtype: List - ''' + """ + Gives the product list with their informations from + configuration regarding the passed options. + + :param options: (Options) + The Options instance that stores the commands arguments + :param cfg: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (list) The list of (product name, product_informations). + """ # Get the products to be prepared, regarding the options if options.products is None: # No options, get all products sources @@ -155,16 +155,16 @@ def log_res_step(logger, res): logger.debug("\n") def run_script_all_products(config, products_infos, nb_proc, logger): - '''Execute the script in each product build directory. - - :param config Config: The global configuration - :param products_info list: List of - (str, Config) => (product_name, product_info) - :param nb_proc int: The number of processors to use - :param logger Logger: The logger instance to use for the display and logging - :return: the number of failing commands. - :rtype: int - ''' + """Execute the script in each product build directory. + + :param config: (Config) The global configuration + :param products_info: (list) + List of (str, Config) => (product_name, product_info) + :param nb_proc: (int) The number of processors to use + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (int) The number of failing commands. + """ res = 0 for p_name_info in products_infos: res_prod = run_script_of_product(p_name_info, @@ -176,17 +176,18 @@ def run_script_all_products(config, products_infos, nb_proc, logger): return res def run_script_of_product(p_name_info, nb_proc, config, logger): - '''Execute the proper configuration command(s) - in the product build directory. - - :param p_name_info tuple: (str, Config) => (product_name, product_info) - :param nb_proc int: The number of processors to use - :param config Config: The global configuration - :param logger Logger: The logger instance to use for the display - and logging - :return: 1 if it fails, else 0. - :rtype: int - ''' + """ + Execute the proper configuration command(s) + in the product build directory. + + :param p_name_info: (tuple) + (str, Config) => (product_name, product_info) + :param nb_proc: (int) The number of processors to use + :param config: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (int) 1 if it fails, else 0. + """ p_name, p_info = p_name_info diff --git a/commands/source.py b/commands/source.py index 6a802f0..d83b447 100644 --- a/commands/source.py +++ b/commands/source.py @@ -25,19 +25,20 @@ import src.returnCode as RCO from src.salomeTools import _BaseCommand import src.system as SYSS + ######################################################################## # Command class ######################################################################## class Command(_BaseCommand): - """\ + """ The source command gets the sources of the application products from cvs, git or an archive. examples: - >> sat source SALOME --products KERNEL,GUI + >> sat source SALOME --products KERNEL,GUI """ - name = "sourcre" + name = "source" def getParser(self): """Define all options for command 'sat source '""" @@ -106,15 +107,15 @@ def get_source_for_dev(config, product_info, source_dir, logger, pad): """\ Called if the product is in development mode - :param config Config: The global configuration - :param product_info Config: The configuration specific to - the product to be prepared - :param source_dir Path: The Path instance corresponding to the - directory where to put the sources - :param logger Logger: The logger instance to use for the display and logging - :param pad int: The gap to apply for the terminal display - :return: True if it succeed, else False - :rtype: boolean + :param config: (Config) The global configuration + :param product_info: (Config) + The configuration specific to the product to be prepared + :param source_dir: (Path) + The Path instance corresponding to the directory where to put the sources + :param logger: (Logger) + The logger instance to use for the display and logging + :param pad: (int) The gap to apply for the terminal display + :return: (bool) True if it succeed, else False """ # Call the function corresponding to get the sources with True checkout @@ -137,20 +138,21 @@ def get_source_from_git(product_info, pad, is_dev=False, environ = None): - """\ + """ Called if the product is to be get in git mode - :param product_info Config: The configuration specific to - the product to be prepared - :param source_dir Path: The Path instance corresponding to the - directory where to put the sources - :param logger Logger: The logger instance to use for the display and logging - :param pad int: The gap to apply for the terminal display - :param is_dev boolean: True if the product is in development mode - :param environ src.environment.Environ: The environment to source when - extracting. - :return: True if it succeed, else False - :rtype: boolean + :param product_info: (Config) + The configuration specific to the product to be prepared + :param source_dir: (Path) + The Path instance corresponding to the + directory where to put the sources + :param logger Logger: (Logger) + The logger instance to use for the display and logging + :param pad: (int) The gap to apply for the terminal display + :param is_dev: (bool) True if the product is in development mode + :param environ: (src.environment.Environ) + The environment to source when extracting. + :return: (bool) True if it succeed, else False """ # The str to display coflag = 'git' @@ -177,16 +179,18 @@ def get_source_from_git(product_info, return retcode def get_source_from_archive(product_info, source_dir, logger): - '''The method called if the product is to be get in archive mode + """The method called if the product is to be get in archive mode - :param product_info Config: The configuration specific to - the product to be prepared - :param source_dir Path: The Path instance corresponding to the - directory where to put the sources - :param logger Logger: The logger instance to use for the display and logging - :return: True if it succeed, else False - :rtype: boolean - ''' + :param product_info: (Config) + The configuration specific to + the product to be prepared + :param source_dir: (Path) + The Path instance corresponding to the directory + where to put the sources + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (bool) True if it succeed, else False + """ # check archive exists if not os.path.exists(product_info.archive_info.archive_name): raise Exception(_("Archive not found: '%s'") % \ @@ -240,21 +244,23 @@ def get_source_from_cvs(user, logger, pad, environ = None): - '''The method called if the product is to be get in cvs mode + """ + The method called if the product is to be get in cvs mode - :param user str: The user to use in for the cvs command - :param product_info Config: The configuration specific to - the product to be prepared - :param source_dir Path: The Path instance corresponding to the - directory where to put the sources - :param checkout boolean: If True, get the source in checkout mode - :param logger Logger: The logger instance to use for the display and logging - :param pad int: The gap to apply for the terminal display - :param environ src.environment.Environ: The environment to source when - extracting. - :return: True if it succeed, else False - :rtype: boolean - ''' + :param user: (str) The user to use in for the cvs command + :param product_info: (Config) + The configuration specific to the product to be prepared + :param source_dir: (Path) + The Path instance corresponding to the directory + where to put the sources + :param checkout: (bool) If True, get the source in checkout mode + :param logger: (Logger) + The logger instance to use for the display and logging + :param pad: (int) The gap to apply for the terminal display + :param environ: (src.environment.Environ) + The environment to source when extracting. + :return: (bool) True if it succeed, else False + """ # Get the protocol to use in the command if "protocol" in product_info.cvs_info: protocol = product_info.cvs_info.protocol @@ -299,20 +305,22 @@ def get_source_from_svn(user, checkout, logger, environ = None): - '''The method called if the product is to be get in svn mode + """The method called if the product is to be get in svn mode - :param user str: The user to use in for the svn command - :param product_info Config: The configuration specific to - the product to be prepared - :param source_dir Path: The Path instance corresponding to the - directory where to put the sources - :param checkout boolean: If True, get the source in checkout mode - :param logger Logger: The logger instance to use for the display and logging - :param environ src.environment.Environ: The environment to source when - extracting. - :return: True if it succeed, else False - :rtype: boolean - ''' + :param user: (str) The user to use in for the svn command + :param product_info: (Config) + The configuration specific to the product to be prepared + :param source_dir: (Path) + The Path instance corresponding to the directory + where to put the sources + :param checkout: (boolean) + If True, get the source in checkout mode + :param logger: (Logger) + The logger instance to use for the display and logging + :param environ: (src.environment.Environ) + The environment to source when extracting. + :return: (bool) True if it succeed, else False + """ coflag = 'svn' if checkout: coflag = coflag.upper() @@ -335,20 +343,21 @@ def get_product_sources(config, logger, pad, checkout=False): - '''Get the product sources. + """Get the product sources. - :param config Config: The global configuration - :param product_info Config: The configuration specific to - the product to be prepared - :param is_dev boolean: True if the product is in development mode - :param source_dir Path: The Path instance corresponding to the - directory where to put the sources - :param logger Logger: The logger instance to use for the display and logging - :param pad int: The gap to apply for the terminal display - :param checkout boolean: If True, get the source in checkout mode - :return: True if it succeed, else False - :rtype: boolean - ''' + :param config: (Config) The global configuration + :param product_info: (Config) + The configuration specific to the product to be prepared + :param is_dev: (bool) True if the product is in development mode + :param source_dir: (Path) + The Path instance corresponding to the directory + where to put the sources + :param logger: (Logger) + The logger instance to use for the display and logging + :param pad: (int) The gap to apply for the terminal display + :param checkout: (bool) If True, get the source in checkout mode + :return: (bool) True if it succeed, else False + """ # Get the application environment logger.info(_("Set the application environment\n")) @@ -410,14 +419,16 @@ def get_product_sources(config, return False def get_all_product_sources(config, products, logger): - '''Get all the product sources. + """Get all the product sources. - :param config Config: The global configuration - :param products List: The list of tuples (product name, product informations) - :param logger Logger: The logger instance to be used for the logging - :return: the tuple (number of success, dictionary product_name/success_fail) - :rtype: (int,dict) - ''' + :param config: (Config) The global configuration + :param products: (list) + The list of tuples (product name, product informations) + :param logger: (Logger) + The logger instance to be used for the logging + :return: (int,dict) + The tuple (number of success, dictionary product_name/success_fail) + """ # Initialize the variables that will count the fails and success results = dict() @@ -462,11 +473,11 @@ def get_all_product_sources(config, products, logger): max_product_name_len, checkout=False) - ''' + """ if 'no_rpath' in product_info.keys(): if product_info.no_rpath: hack_no_rpath(config, product_info, logger) - ''' + """ # Check that the sources are correctly get using the files to be tested # in product information @@ -496,14 +507,17 @@ def get_all_product_sources(config, products, logger): return good_result, results def check_sources(product_info, logger): - '''Check that the sources are correctly get, using the files to be tested - in product information + """ + Check that the sources are correctly get, + using the files to be tested in product information - :param product_info Config: The configuration specific to - the product to be prepared - :return: True if the files exists (or no files to test is provided). - :rtype: boolean - ''' + :param product_info: (Config) + The configuration specific to the product to be prepared + :param logger: (Logger) + The logger instance to be used for the logging + :return: (bool) + True if the files exists (or no files to test is provided). + """ # Get the files to test if there is any if ("present_files" in product_info and "source" in product_info.present_files): diff --git a/commands/template.py b/commands/template.py index 6844c2a..16d0e8c 100644 --- a/commands/template.py +++ b/commands/template.py @@ -41,11 +41,11 @@ except NameError: # Command class ######################################################################## class Command(_BaseCommand): - """\ + """ The template command creates the sources for a SALOME module from a template. examples: - >> sat template --name my_product_name --template PythonComponent --target /tmp + >> sat template --name my_product_name --template PythonComponent --target /tmp """ name = "template" @@ -359,7 +359,7 @@ def prepare_from_template(config, tsettings = TemplateSettings(compo_name, settings_file, target_dir) # first rename the files - logger.debug(UTS.label(_("Rename files\n")) + logger.debug(UTS.label(_("Rename files\n"))) for root, dirs, files in os.walk(target_dir): for fic in files: ff = fic.replace(tsettings.file_subst, compo_name) @@ -462,7 +462,7 @@ def get_template_info(config, template_name, logger): msg += "\n= Configuration\n" msg += " file substitution key = %s\n" % tsettings.file_subst - msg += " substitution key = '%s'\n" % tsettings.delimiter_char) + msg += " substitution key = '%s'\n" % tsettings.delimiter_char if len(tsettings.ignore_filters) > 0: msg += " Ignore Filter = %s\n" % ', '.join(tsettings.ignore_filters) @@ -483,7 +483,7 @@ def get_template_info(config, template_name, logger): retcode = 0 msg = skip - msg += "= Verification\n",) + msg += "= Verification\n" if tsettings.file_subst not in pnames: msg += "file substitution key not defined as a parameter: %s\n" % \ tsettings.file_subst diff --git a/commands/test.py b/commands/test.py index 3d9f262..c981016 100644 --- a/commands/test.py +++ b/commands/test.py @@ -74,7 +74,7 @@ Optional: set the display where to launch SALOME. def check_option(self, options): """Check the options - :param options: The options + :param options: (Options) The options :return: None """ if not options.launcher: @@ -288,7 +288,8 @@ Please specify an application or a launcher def ask_a_path(): - """ + """ + interactive as using 'raw_input' """ path = raw_input("enter a path where to save the result: ") if path == "": @@ -425,13 +426,15 @@ def check_remote_machine(machine_name, logger): else: logger.debug("\n") -## -# Creates the XML report for a product. + def create_test_report(config, xml_history_path, dest_path, retcode, xmlname=""): + """ + Creates the XML report for a product. + """ # get the date and hour of the launching of the command, in order to keep # history date_hour = config.VARS.datehour @@ -452,10 +455,6 @@ def create_test_report(config, prod_node.attrib["history_file"] = os.path.basename(xml_history_path) prod_node.attrib["global_res"] = retcode - - # OP 14/11/2017 Ajout de traces pour essayer de decouvrir le pb - # de remontee de log des tests - print "TRACES OP - test.py/create_test_report() : xml_history_path = '#%s#'" %xml_history_path ASNODE = XMLMGR.add_simple_node # shortcut @@ -717,13 +716,13 @@ def create_test_report(config, return src.OK_STATUS def generate_history_xml_path(config, test_base): - """Generate the name of the xml file that contain the history of the tests - on the machine with the current APPLICATION and the current test base. + """ + Generate the name of the xml file that contain the history of the tests + on the machine with the current APPLICATION and the current test base. - :param config Config: The global configuration - :param test_base Str: The test base name (or path) - :return: the full path of the history xml file - :rtype: Str + :param config: (Config) The global configuration + :param test_base: (str) The test base name (or path) + :return: (str) the full path of the history xml file """ history_xml_name = "" if "APPLICATION" in config: diff --git a/doc/Makefile b/doc/Makefile index a514380..331eebc 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -138,5 +138,13 @@ doctest: @echo "Testing of doctests in the sources finished, look at the " \ "results in $(BUILDDIR)/doctest/output.txt." +# splitin many files rst +#apidoc: +# @sphinx-apidoc --separate -o src/apidoc_src ../src +# @sphinx-apidoc --separate -o src/apidoc_commands ../commands + apidoc: - @sphinx-apidoc -o src/commands/apidoc ../src + @sphinx-apidoc -o src/apidoc_src ../src + @sphinx-apidoc -o src/apidoc_commands ../commands + + diff --git a/doc/build/doctrees/apidoc_commands/commands.doctree b/doc/build/doctrees/apidoc_commands/commands.doctree new file mode 100644 index 0000000000000000000000000000000000000000..1b1f5f427c3ffaf1c959342e24445cbda5c188ed GIT binary patch literal 1099898 zcmdpf2YejG^}lHbMDHDrY8h;qUJRIGdNIv{qZo0P&ep9Zoo?=gZOGC|L`i@^2qhuZ zK!8wUdJO>rp_foXsDThlLJ1|51peRmowBogce*_r|B}z&>(9<=_Vs!5=FRNv-f{DG zb`?7ZDuteMTVJs&Uv7~Uk1x#|mgZ}1U$`&Vo3G65&zDQ{houEtvug|+ zHmtMQ+nej_Dz|kO`=%784yb(FcwN;d;HBY%aj>8`x!ktvK%s3)p|7i>k}p>}dWus^ z3l3)2^r;bS4}t9}l>2*fGds$aTxFnKT4*r4yblQEwp@8y$C0_7fqZGp zu%#siv#a|gI(zcDzP5f<>>B8-bO@cUf+{VUke!V7&UJPd`toi08Tn4Jh_qd4sln_z zK0Qzp>j*_D$J1c@=W|_oRa$y5yPOYO=qps5xt1BsuIt}q8+Q$8o8`+EPJ70(^*low zYesKR$K+y8b(NMI%&zCtw8og4uXLz<=YT2~j?8yV$yK`Zs$5!rFuR%$P4UVA?J0KV zdW@H>kl>sUGt&!0!Z}u)kR9REDtD?vf2B=J;{+%s^~3OZo9wCaTHXdl&jQrkr1QU~NKl|tXtGCin&rucVh zwM64vt67Gy-o80iMuV=NfTWv92kn>p9i8PPbwiX(Yb4yx31W$|!)Fp5RGZ4$Va*9~ zSJR!*j~bC=YYoQjZ*?%GwY+JJ(%Ok$)35SS!G)vJI)mAaZ^!;zrL)_)WW;vegm*}c zssXlMf*ip*RUUm_hc&P-s!C}@!fLL+R|>uPj(kt9znt$XwGL+2j|pdlr)ydl>zH1s zbaznha%p5jT?vG?A>g8=^%K@B7Y9^lzD>G~zU-KyioG2YoX~+v8w|!B)Q@zAY-v=& zRoJ;~eD*q6ximUqoH|WcY8%Y198){iCZfieL~M#2Ml^Aj=_!;er40wOOM28Y{khI* zxvBZmMib&=279J8R%zoz$gr{seb}a_OXd4YnNA2MVBrniV@?$tweX?!A}O5?N%Ez;R3 zkxrOF%353ea_7Npn{OcNCgrwrxm(hqzI>--G#t(h*K%o>L{sY|!>7AzBC`1rC~D>1 z5^>0PeG@Lds?zQWeRO}f4Z?o5M*_t2R_hacPKd`9XESI2z3Rpl7h!C4Deax;{MLXR zaHr&uB6XD}3}%7rt4?agd6$sD>%9SMJnyQ2>CMiFZs**vZ+TQ0|b_tvFCAbtfVqIC0`M z(BCC#py^nJ1SJ!q#f~l<1qoAnF^#d_0Ztptj`3a8x}gcBkRU)b@0e0l9c9(&M);mY z=l1DWdsA;hV#~xr%Ba#em>ua0V&hO0E~E{LeVD^&!xs}yAj3tuyEq;FS}y{WOZ^Ee zSbLgs|NN9ZlCjQwsg&qkLdytOQi*|!kx5S05lZC*L@dK+7E?(KT6SGPXC*T2vpF<7 z!azbCA!t4G$O-WU5Hjm6BA&^Wc)&mpW_i;S9Fs9kd{?IRXxyTjS(=fs6unbsZN~Ln zjyN-sJ!rYDa7Rsur&dN!d;91K*)9Dxw!N-;>dAh_sV7`c$vTnD#=n>7AGQyb+t7)M zot*>y1q_{GVki;6fmx#*=a|IInk{OZ``ARR@)sn$ocg!~4T@qyQ0e%D1iT5AkdNnj z3)70F6B2o%*M*sdotVgaouQ1Bo**YBKwUS0lXLwh>JBF-RHNS25$*el-YQ^;?7j4Z zgv-aQM3)~-_&dqON7Gl-kO|Vso5Kb!zxhe z?8HE-^GO+O=&9!RaigFJ z!pZA-2^h`D*^140{$O@<-w09s=*(dlz-XQC&-ZmPSf<#Uf z3-emwVn4_F3lp+fKGJRN!t>7(X{zYduL?4{K_&QxETwi7`ViJtFQ(T$rJpB4y7eO= z8m(NqC5DTtW+XZc=4W6XuuHG~*k#UNB)rJAqR{RtbQX0KE?t~3fpbaQaBkLcNuv9k z2#1m0E_TAa#yd-wCPcONDz`-gq#f8UO9U~SOPHu){w!Udh$z|}WMR-<#g|*JNccHh zx15u;U<@9mUnYhgr}=pQ>BNqJI{mTcylq1Kfr}r-O1IZaTr3OmvO5x1bDhZrT7kMV0p&VNXR&{# z3lVoEx~Odd+gVJ`(SgN9-3RYZc&`l;Z900F?n$^}ysi=-!`BT!4BJ3X$ozXa=@o#^qEj^M*C*v(A#2!sTFk$f? z^pqY;G_46Ewpp}&9#0sX_Tkg1feJ_Yj=o|AX=7JzX6cDUJ9=)wf&73S_S$FfolUA) zE;13}4QN^+;z&xu+Any+GzYBs8gXx%5n8UD;3Bz3cdh_iVyo z9$++A`eQ;X-{Ye2_gtcN;wiMW-}8wCT=cfi^g?2Y^9Av}|HXvBHrKT z{*oB5{ATj5t*@8fOc(aihiK$G?$xH7hp4Or1t$)8aq22?NE?L(=cAwX= zM>76i{g|d)dOyJ~_I$bY_k`!x5L+I{b{<(S{Ub4)#h<*e(|juVZ{#9bJI@uCYXZSi196Qa@m_H|U6Ucujk^nzb zWR~!sAr^rp>c!*HH;Fi-bBY=f;oF3e$%JTM?{SP8HqWqO2_Lgc`HraOA>26M$!&bE zUVYTfB=bJK@I5fOTq#trpRL%Z<|U!nvntyjRu?rNVXC)f*&fw94W6RrCsb^kh7Iy% zyY4C#Trt3Uge=*r1&EaK^+?*s=&gnmH1_n|b28I7Hib|N5<0f2C>d1Ii_}5{i*4DW z(3a`KydPW1w`A;yDSkoQYH7-N;&w!th~Tbw+A4HkYsRErWkrkAy{ z$wcMpi&~6e@n+S7_ujb~yKwfV7AH(>KbR$jeT8|n1LL?_f^f0DUViRq9<6BqXGWlw zBu0E+8mD*CjqE(gi!N%ZYH^)A+oo8WFfmt&#Dy!#M6@U0H?`8OmZ>IZTgy51vV@6k z6eKyf`LY}SiDwCFxoTpuWwG$EGGSsnL1V+DT7>|y&Xnx-l7s2x0JSQiV_T6#r8v*k2o$pcfsFFe zRzS5nA!A!1X?kQO`JQ4wmMP^aPT{D0m$t?lgpYL**PQl3mKgQpG?gKEtj|V{!svoO zJ1X5+z>pDH26nY3an|(XkO?l2m z^yVkZBEK3*(3q$Apb{s`YJCF54CrR$vB$Y;1471nOQKn%_l+V{Y~-mkh>ayWo$00##GB4*H9ids0|4fb5uWSIM?H9a6C<{J6AohI%?`Mmm}|r)cU-Dc zJCa81pPEo{KYmJIulSnY|*3GFRi z`Oc!=N2B&)&C>FibV{*U!E#+*5@c0Td*jZY^RzE0ZHCRNY6AWa)jl}4b`Qs~AdZD_ zER3TC$09fu#jzNU#c?cwV@VuK;aD2SGB}pSu^f)&ajbx2#r8E2zxamAXbG94qqh-8 z>lJ&oFBo>Ogk$CQ!dhjtq`9+n0Bg zbO*Jh4iNCQaIB4E9USZ8SP#bt9IZG;;#eQY1~^9H7>%P1#~2(N;@GHtNk`iBDK$}u zZj56S9Gl|UtbG{=gjTl9+XZfO99!Vn6313J#^Tr-$2K^&#WAjZ1&3=GSo{M8e>)u8 zQ9DyT; zV=|6T99_QddI!G6Jw$Nx?JGLMwtrfHLj_<8j;T20UjaveV;YVg9KAUDa1?R$<0#=! zILbIGI0kSW=}9gj%Mw3Kh)>5c1IJ7pNBJJco&6Scl7JrVDPjhFd;f5`|2-Tbj$?2f zi{m&P$KyBw$B8&j!f`T=@8kFZjzJu!;5Ze>X*f>z;y4S(k8zxh;~X46!EvsqnH~TvT29b@isL*S=i|5l$Avh4hU4crF2eB(92eub z1jnT~F2iv-jw^8d633M|uEOyvuPN=gU>QvoMpxsw2FJBHevRWg9M|Kx!85HH_$^+i z;N6JhH#lbDxCzJ2IBvmlD~{VdTsV@XR~ENRaBs(P2aY>&+=b(A9QWY37sqdL+~@Tr zFOje`@P^jyG`p z1;?8>-oo)$9B9mhX#e1PLa93SEM7{@W@l@qi~u zv;&?beGYh%G&$f&^5B4{?d6K69dPA!CG=Noq8@?S(VfQ26;C_K6;C_M6;Hd!m7E6J z7qSb`suzDxQhhilUnef>H%wYo5jRI3uliAhs)RFMD^|Jbdd{m9D%yv&4@bU*NTiQ$-TOvlGy`hqD$A=ftskH|M`+h`2lSssHu&tr1^1zg%KS>-V{ z?6oN@q74X(1uMC!oGBd1zl?Nhy8P9Wt5j5B@&JZkH3Jo)nu&93`$EVZ1*fcz!rznH z7wp86MHzn{%|92KjERks#QA&tdp^l%L%CGP;2ccEDc8P$rf@9lkHfipqufCI{MfUW zSI6VeJ?8}<^Xj!aLGI5RXse!xKU$M!#Ugi4zD1pcdob$BC_?pp0Sv^FHD88PKfs+p zEE`B81Y*=cj1tfm3y`E5lnSl=DY$G6sB=J711cC$w}6@q1X}hWCh@62ObR>^Q^^)} z8t&8(;u1D*7!{FZ#!gsO}UR^!B-7n!7+9J>+f_p}L1MvWG+_lNQqBgy{gIE3oD(A|ty;(H-vxvT?@= zNpDPcaeSYpvqe1s40z&$C_?pn@)i@+QLBA^!BP(a!nEwef`Y}jqVA!8z@MkI5AQ1W z<_dl45&V^%7h3esGy{Fzu3DTN$Twlsqk^&kP^hnZ41Xe*0aM<69DfERGv?JJKI1FMUZphwJW9x%S~^1@d|Pos2nHeS$97$=?Od zUjRV-ZBj4psTXk!k3bh}9l z>k&9I?GiL?L`}UVK-#u{B`IIqIzcMoc5e#_#;8aF^*2<)n(v?p)w`tZ_bU;;_QvWg#`7EJreV!Q6B*Y zX80IIsQyVtz8OTXA>e`MChj#yTlO2?!6$}UZ1V+7T= zAYrr~h8Ub`@|E!Hd4N|to;p@7YF+?A?)gxJYJPGOBlvP_+b_U-4QyW)sl^6n!a5vC zQRmWjPz$0Gc3%iZs1_z!-|iv`?Cu9sC$DPJH<6wt2gG7u&&(FJ2<}6jMNx!mF`RXD zu>+zDDter6pI@-l;(#-@UP4gX=g-gRSMBq6S9*KYl5#VIN|WjZ)SA(7DWFx!DDSBu ziS3wyHG&qkG(aHhGAKf|EY40=ZSm!#s(nGg%IMj?(2<4wbQucN^0?7H9Q8;Y`9^%b z#SXQCKrT#38PeP5D_6SIim3E8YF`8Z&=?P43zbu1vwRL1B!Gu?c&^yKn%z0?7F7Hp zvwZYOM0SPpyuc_QkAC zMuW^WwFc^PwU#F6mttrmN=7aj5EerJJXEhOO;T&38lJfpicqbMvy*}ZL^|i0!?oyY z9lvr>zlGJh`qseYd<}nPpEpksThw|0h5jQ@gsK(iIA@o{1kXt4VxFN#1VcfM1dj3H z^@;A;s+L7$u_h5OHXxpv+>F8>p&HF91_aq^ykib)U1Kw2nHY>c0_$vT-c+ZpL++a- z>P5l3qYLWbz-$8D)^zV zp&HN&8)g!qwi2#hC~O!wOpH=v1(C66AuJu}v~p{ydj($DzA)-c61#T%{{+Xk-=sTk(U#n9wN=Ty{>2{GzI+N_d7|PmeSAfF9c0&=W-Eocw0MWsP zo&}ADY7bq@027#wyC*5^wTS8C=3u1Lw zk-_&6+=6t6q6pPtWWeYqPJa+02vU}@Y7*+(G3en%`-(aof9z>|LzL3-$qCO#0Y=~s z(o55P34xCgx^9eia^z5r7MYA9RGlQw77_Whvx**Uk-(U}i?DeIYt3Fua?jLLh>%9| z#3JuhA{wi9lX<~0=fdRfmCW>_npVz8{>jBY)BiSaQvpB&8hBoHzOtxuEl6Y)V5k@r0oQOLBDlpfPC_*)z zvd~;qgXR+J#LP8=urnPjT(k)nIEr{_^c@y+0X=Y-7CV|Ee9wuHT^KF4^NbumS&XDl zg}9+*O4sj?NiEZYF`3k{!ia4U7vMP5!>Y%l2-OLsPODNdT2(ZNS@lH1p5$Qp5vFnD zus&b$M>^wXqc?Bcylq2uGQgWr^!p^A#`uXa@dIH*MP)B%Be4bn4fRh!5vo(klj>7k zsxR77eM~n3v*3Li!B2PKHuSj>Cp#Iu=hmvIw-fn?5J3;^H^}&@v#%dfE-$03G5L%h z1D!$WSwQDkaojf7){&W3yMXI2tJ}5N43=rSi(MnTH|Hw*nIKbVl|3-)>1P2XR6iy^ zF>;mFf=C^2HT`TNa1lL7y?7oxDhkOmkrq>(11bTR%H^u&;=)hJ$Sj4Qi$6m3Q&x$v z{Qj(&g+&d}YL>%AH9aAl{D0H%=LtjRbk9OK)9~k0S~k480N34{=Yr?u_Rx#m7XlQ0 z;Abd8^>du-FLGaGsB&prUNNe&i24OU0$JVGYmxO=wl4-?Yw!smktJP%KSFgWt7vYC zQqC9kh%HT`N9;)Z&m-+GBXWv}k(i)gE@WL~bUf7+sE1j8i6T^2lDO}+BC!sOW|8tL z0{*HBu$I`~I^@+vXj*IpqeXxT(_KTp*VgB2p1v&(2;(Tf7GS*|7c42&Lk5eQo#i?~ zTN)=wa6O7p-GH;3Ug=15qg1(Bbg(@Bv@2|S;u2Ftg)(aUH7Pk`jCGSoGeV_!cOhzV~GGx4_Cw$<3IO8IepEwlPrSMyUIQHccQ( z={_Hg4c;vFcVwAD_~b11exb_-nL|+@03kHtgDCKt{&+dWL&SL4 zVN{KV)ep`8K;R+!s<*%65kk*`F#OQAJoRZXqPy*RBfBSaP=6F88Vu@>0VGt9lb0VJ zT`FYM@CNiJ2s~Q@x{L}=O7$cN=`mfdYKEz&$jglBPvehJJ;N%x>7w2UCic-jCo1W| zd=l=@wJeU0;hq&<$#MLTlu(c3&*8coF(Ab_{yae8iZ7rD)r&aSAIJY>sB#>yvO=2C z`z26tqxYZ5@?}=hu=B%kkwL}ox)Vq0dIR?>#7ohM6A|cDAWNPGP7-Fgtx3WLVHCmCAI4)p>1yO`* zA)MnGrAVp6sG0gKOu!Zgm|YBF$DE?R0^U?;5fW%#fklBA%nRcn3to((EIyPddTz2r z8fMHvMLUznFDaKCa;h{`OW_`jwls=RErWC1Xd)Plrv0=9!fFdHqQzd8Sj$ymxhAik z#4Rttb2f=v0VM1sZbeG4k}rWa)XL;zH%$DuCvnoR%p^{1X4+*HxipiwRdF4v)o^wV zpcPr2Ri1mPH3V%9v_SnyoS4Nh$;f5(ByLSqqutj+f$a@AJGS&55y!QA!%5saq_S=m z6&Fo|sOx)!_j*L|R7*LD8v#5!iEAb6k&ZPVaq88x41VAZzr>Py{fdsEy&c*f1L4xNGC7<*^&semH)`X%M|?V4!>Ns73k;;NUmyT zKx4_uWI$Wvk5FyHDvry$)v*zNx@43w(Ws1kA!zDA!B+5NccU_R#dd05jmk{v$xW4~ z(I#IKi~JwE&9=fanKzB2k~(kN4%gkMrOKPO2Pitz4k$vkBhK~nrtyX<^CtN)NDXIG zI{}FK6S`IXHRPQE)f$)$!Mos(Q0>YpHd5U!xH>jTqw3fc8N%BFyc-Fnh)s!U>Fz?7 zp{Xu^wFh8etvykMYA-VKdx2=8(}PbCN08O*O~45bFraxDVQXpOC58JCr+F>*1)kQT zUJLC92U+OoWmr5Q;HqEPj5b;bdnWe-B zM-t;oBsMFjhww%N9&95~-6Ro*$|b$S5L1WY0(P8)B2m9Yi_8 zq3Gvb{DoB`VvhHk6mc?;w1}KDlAh{BC8X>^5vn}N`mHUZ)RA%uQKmW+z7k=!fyRe)N^ISoaqdPvuoQ-rA_XD?Cu97d0Fm%78;*>+8YAh8Tm0gp@N;gz6}g z^`#V1>PUGsQNHI;xaZFfeMZiZcbk;+7$9jmIkKC7 zGYdNv*P%KMXBW=2BB!&;Yi#vHK^uA&CT1~Aek7OGv#>Kzjdnj1MX1ig*|B8=7I9p= zH=Kq2m{iWLqT+J2Aj%lLS=c#5@Kj4V3;PN1>@4hDvi_-K&1W}AkhsH(A6CVuAB%mm zjVot!@k%j+Q7MD>$nv?~Hg%qmqt>E_&TuxCE2eth?CX3~rrY(H*w1}|P-7d&&u2F$ z-G#tKL;VZ|b{kLv>7YR*wU_{H#sA)X>mp+O!eLa+x2hkQT}Q}51QL{VMHjn=H5ni~Km)hm)kfX40z+X;{Wo!J@CSA+u!_x7ciy3+f;6X&3XvVWdC$!x)O-}XMaVXo_uL8?80$6^ zp}L)neBT#M*zN7MpgRb7rvnUV9>%s>T6puGyNJ`g7Iys<2>3e(Xnp{%Z%Scm`kqq1;k-G|{p8WS$`26F%y}N9xWA9Yl{tX!*d|+h zC=DAnk*ID)?T6)(&Jod5e?TQn`3Q#mlz;iaQcpoI}yyEYa;2*vOIvxLjeEwJF6%yXfyh3bdg2#t) zY33Cl;W|_w87`j{67Rvn>~L+=vj&E zS&tn2Wrq~mGe4im1o~T0Ymh(>!>*rD&4Y8iNs=0Qj}PW0@SG>m^MQ^|pyjG&0zE%j znFM+P{1K|*tdgkV&o6un*#ugzI+aId@PS#{&gReNS%IiN_cLZsGPR&^OlHgrQ6Zf% zFDw8{Lbp^&a|@u+s}?~Kszq_GpENHP5l-gKzJQAhnC!P0@_E4$fO2{BlK3N3OR}e{=3&IDrG=L_uSA^YwOAQ=S_?04_8Vvw06>LRQQ+x3x%euG#99TDH?K~>H5_1e zO_zw;2WmAsh)$Gi>F6cO84_(?$2Ey(66Lih-`bIUQDSRSkag0qVVj7qW*AymE|ZD! zdZ>i$MxelV3~-J|JQ2kWLh(d-BvICPC`>+0crjvbz?%)MkrZVpkG-@Gd z8wxy8CtbgdMVLBrZb+1k9153-ZS*sOZp^z)3c3l9w4ky~Y$>WuQ4L8qLlLUYN!XWE z#Hl0c7DU<7p;V{ITk&3#a*hR3)b1ut-WrvVavKz(+LmN}DMgfolwQ&~j#%4OVY$vx zopf$5z;l*#?f?=t>D-YLjQ1tbx!O+T^S_dGN^CSqr`XJN#GU2RB%Qn98c&vSb{$VE zvKyXlzd!jgbG0PJ<@;^npzDO1|q zww=(kFt+N|8=roPw6=Ru=ClWbN`svCAb^A_OLl%wcLob0ZM?kpU?R+UUV8}W=)6|0 zYUZ_vl9kD855pg!n#3v*H`^*>bj&(7rFDxliBwiJ)~W3Ofh!y?%#vAb2gTP}>=C%` zUNlt-n*%8N=wuZ5VgkFspwZt!lN`Jg2X#mY1zgC$Z+$ znn661tBqXPcD<$YKThM>=+cGIu_^n=p~}K(JP*<9!Hep z9ZJn*-4l4bfjyFfo(Lo@Xna}sB-BIJlTqON?xgIuuLx8})*ldM(4kc4fv50ZlY*WK zq{yNs4?GQ(kn(gCq52`o`cjH02`Rli@JGZtqYBIQrs_QKOaY#=Jn$@#uzBE*DZ$yk z1Uh{>hkX85@<0hRCJz*w85jSFT$()aTwLR$0606B){30RDzB;4`GPid9w=rpOfHbi z>OAm5RHNO0h62yZadvF!-y)7{_l9}kMWphJDk^RS4x+Ka%L6Yaf~Q)#JWyQ%JiDpk zQnJ3xvCeLaJYl>Y1k2pp;5`J*OrDv^cVV9czJq=Me;{&){{A-n`g)tXT&PlcQAZDH zQA*_PZMcHWQiz@0S^i6*%chuZA+H1pG}~1u@YtM!NOuh);l&_mIsW&yI9yGPYaB+3 zEe_WbIBg>PYeLVGR82m`V}G4V@??CclHU?ekY(dn#Q)l6q+k(EhjZ^9p;x|vlXYId7?HmZ@;dTU*Y6jv;uQ`|i0 zedn{CT8*e~5uV9R_f~4AGu_(+U?V7*D%rgq(D3LxP=xAEoa-mMcSVGm@5*-vYl?Wc z05)8)y$4V(?Y$R&;GsLK*gy@^UTIJrBO-fvY43d`lp;nXc6k3z$TmoO?*|Ml_5g}d zJxE5r_lqX%{dUFn_XK>%0R}V=BV8>mytMaW;xwnl2_*HYC>g`Xtl=2d-)cqSEonnFGk30aj2KbwXPn?@8i zL--%%GMNfLhe{amc@&{~0q6JtE~3DIx}(NZ;TMVWCx=oq6@H1g8`vW$=%0b41&yb| zFQXo^zJelDuadIg*dkCJSzjZ{>kfrGr@eS+)^Fb+K$Ft`1xQ+2**WbIRd3=BmvyFiLOz@+Z)p%PNQk0MlmCs|)g5hWp|m%9Ih zSRYhjxo%ROx_>CZbC$Y)1QIrN|Ckc|)0aSJyq}QI|4QmE!P2DeVl&evKb1?9x_^f2 zP<@WG>w;R5f3eDIYW0Pn4V}7+Sqzge<+3_;{|eP;_pece>fbm!w(O50j%)XZsr!FO z<(n!hF0%-t@y$!!za@gFTDsIdwr^kR35;L^8jZmuRZc3;!Hkf3T6cRq@h zHu;^O(6c15lUI*iQes%7NPN5ZXV$v_2sOxhhXW*33zDPX-<{clNFi?_cOfFodFHz? z=;+K>u4-n!Eo5af-$n2T9>lXs#Lcc>%Rs$3{2pOn9*pb`W#w8XL ze#snnaq6IR+$C_`y??3%cS(SvyDo(yR7>MrKfztbP-S*2A8koGl3ErJjWgTj0Oc~< zL&yCMlS-SgE-LbgF>yE0&4s#Q?nM+L~p_i)h!ku6%# zU5$XNJHUYEVHB*Tg_qf`L7e8b$N*1kQL}m0#BC_B77DzuPaeJkBCl4!WVP!Ma9sz; zABU*d7jzz5OEE8xU5~VyS8N3FOdi`xu|`H>$pdaHmPxtRPs4~!AxfGNZ3DSTj zi8ZbY%Q;L3(& zB2N*diw2R{Vg$4n|9gwL2NUBEhf%eNo6W;mb8i_?e+8b~M%AH^qAF`XjH0E@nkNx@ zmL!F-C1a0Gn#}oBX3mF$ScA;D10bO~f?WNW7-i0pQeNhqBf^|#&XYk$XU=j}Gjr}F zE0Z~Q;SanJ&ngi&yN90<`bM%jv$qq%^bxyWjIu+2o8SH(l*z2cCOWgu|DUwS+=t}{LP))=Fs32ug{yVy$t+V@@Zc28Fg zsE({>5ampVQsZ5@vv{*fNq-C^Evf&m+}Wswoadkj)lW#*ms5nPBj>q9`Kd#xo-3Tk zdrgXYK9Hi8H*ffah$Mb0tXFS-y_lC2an@Hv6Dk?4~3Zn7Zo8{a>1W&b;vz%LjXJSD3u56m2aNy9;IWLn)c*1$+q~ zKSOUmkAPLf3_jeUzfO?E%;4h*`OZpF&1_S5h(t7;m_nx{Q3~wMlkTLTDO66*lkO6_ zY{vhJf_H;G+~pn=p}Ln!NSFvB#ib$OG5qh%w0=vB`y58qOv{7_Z{PRt2%L8Ab3dVH zNm{=d)A~vxKTk9Bd6F}q2SBR9%;!OX;5P)wGZrVs81g|$qmDQ0d5FMsKI?fHbo8u8 zu4>MD{yd1AMQHqVO42+!e>1Zf(NE7}IsrWwCcsJd>M`M%oWnd$ zsr4M@30!wSnQ9L6BtYS%PoW6a(>T|k!#rcCateq@gBgr8k`5P<9lROL3nY{xTqI^NFACWPGnhXC2F7{`MX3HvM!rXjChW|12JV#wGW8(VHK8Z?CRw1BLSYXTNG8{A-aP%XwP5tlEH%Lq){=t(u+AkUY} zxvBY4nf_eYwwrBeQWQ~Drzmr`@fR09$;4y{imVfpB?UklDOGN=6rj;3mqvk~9>BSN zZnA7dnCXc;G`7Z3%gN1#TXL5NluJrhz#pMnkyW&IgQP@SM<*qb4ZNgeB@*(2R?2DH z%0jk5QnCtQV5L=2;0pv~)z>7kzYnHW8 z4Z+t&5vp}a+ZSBqjHM#$5^y~Sm|X#lT*vYC%(9j~UT!jiq?*^Km3U^gbR?x(KavVp zMk=!gwE^!nU_<+hhGv)=C6_KaF>7X{Q3;E+p}>a-aE=dBB8nTN;;W?_5@jQYqCc3R zgM|@uW8Q31%uRr##pDMQG(oi~Y9Z%lDDW8q()C+bgsCIv7DU<7p)lRlvCN3M74J1E z=2##_*3|UW)~JM(+n~T_2uRkKQbb8e>8<09Bi43RSkC3DQ@!m4c+OJ29YDgSdOK2r z@xBB)L)wXa{#Q~xi7qD96Pp?L-dQe9s<#WS@fiY~ojYqqc4L*-)M|G@8#>h!vlu3O z$Yph^wBb(vmx}Sm?su z$DX1B-Zs1#H-f*4(pQ|Gksrq}{d%Hsr;$W$J>Er0lDB5pPN7n$mt3=4VN!6jf(_+g)-!W&2%TQCcU%hl0d+zFrr# zmYO1*lIieNs-V;1ZUK-6OO*~601bx?P++?O&h^vbo`^8h;g*=ORIl7_m=N~?$|b}_ z{DFN2tfKuJB*b09LRNQ!$O>LUTq2VLtj>i5JjMZL z*G5C9=n7^t0q~M-I7ENZ$#rrLX*^;n1&TwL^L+T`$=+1 zUx?FGC*uaJ_PUMAQOb#0x?E|)UNaPTb*q(S+MY`WC!n@_UegHIlh;Y8g1k52k5JvnDhAQm;7ju6M>EuK0HmY4D4A4d5cG^P zvq&w4DU*`jBy_8X;FuIQ0|vfw3yM(PN=_no5J@L0!ClZM*J>SaBkb)C)@IdCjqF}9 zZKHIJQndBY9NSgw#1Dta?giP&Q0(o^^>vw+Xfwa@tL^|Z-N@cr^_`R;ZK{43p=Ut_ zu13WfWm>f-jI8e!%+&7&5$gu=pCpOQa}Qv!jezX@aO=!t0;i|RZwZ`MllurwP1b~= zjg2y`ojtj7StfyT-9~nAOxb@2v<9<``vDTF2S|S?(Y;0X2MIh|vkW|R8Ah4a??FUQ zG32V|6yqWCF;k3(@kglsz$*5#B_cbt;@67t8h}|(7me7pzI&g1L`Wy+43APKJ!g0f z*WDZY6Nbe_gbJO3>H z2-P21MGN9eH%3OsBr&m$Ns*r3ugyP4%oH&xF)Mgp$TB2F4Al#`h7Ddsfu9V(IX+&A ztU3Uh-&uT#fPZ#?S!w>bUEAtw;mvJcCW+>?cm;S`iyEBOtGEkwUPFQ379b11Gl}$C zolkT;eS?61aex8alS6f_R`6yuZxW|@`QHMbmfv@yzoHg$zl{RFFhJ72+#;ry+e~TR zA>g|XFpDest#I_d`quYmE$D*M)Qy-xc_W2k^sQ!s_+)YIk*vFr&cpDBrA=al=SgwVu)9KFyc+S%4&q2bb)BmCb zU-%Me3w=pGb3dJ4!M;>7#`e`QOaj^$Q28l^F1o!*q{UjMDZY|RlSqG!YkbT=O^`Nx(8Z(9u#;|kF#S-hY@jHi#JT9=OdN*tEjjk zDu^Pjmq;%_1W&beiL@F{yqk51S&+OJa=f#n&{cQLmGkAXnXw#$#~x8uoo!`)>}+DO z*i&xnko#tcIYM`6QDN?krn=X7>(UET))Z=NBjZ5)u5mpqa{IYDpkPB$N65x}b0J`=x|>yX}8jmlg$E0Opin zOPsT-g6&WZ)V?tKP*<@xSLn+EepvrZwY2c}a?18a0Fs{}-&reEP6>R|a+VW}6_Hku z)7En0D6|c(vNh6{Wk6i#X?reY`p~k%Z#%%lY|G&qzY~D7?lA$4q5J9zto7Kd6B zFcqQs>Gl4Zqjhe$5^D0be4brU+Q;x;SuWY`jf|yM0VtedRTOv-k8`|Vi}bEv?*Xwm z?8&Uubf?vcxQ0W_J^+(X#NKN?wKCx?lb@0A9I&sWj^Mo!HaV9(U3P0v9w_v5MZ2wK z4%C9*y63%qg`d9dtdym)YG?QEl?=9a_ZQ3M!sMR3?BrH?K;sHj?aQu?f^77bxor!c zCJmJBR`JoJ9YC?4ze}EhPIJ4jt2KoQGiR^EuSIKmZc(evk4HF5cKEf08r%Km?Xc!4rLDV|pf%Ho2k|PM)>R_{5!X@)Fa=ra{S72<*xN(_su44RCzv7wk zT7S=-_n)xyUZZwx-+k1sJMXi%8VNcHHwbFB+WKUerqzbWS4}n$4s5kK5_A;Ez*3`8 z;F}N>hL(yH5W{FondOTygx%1=+U1LAa61sD`!1I++OUyk-<&GvmD&hwwd;G+|BWe& z7pkj+bNhmL-9r`f5H*q0gQxIsd5U?3Q zupfk+Orphb>ueN6ig=3wTM%Kk76Xt<4eQNUx{F#q&$Xy|cmV5wUAtMLHgDuEu^UxNdkQq#CQ0kG9Ra@!ey-~$z`qH*O-OXtrzMo0tb z{3g=do2Bkb@nYmeD|%-w|dIAp8(I|_S$rIW#ml9zeGsZkzD+)7TtN!lAt`NSv9luxW>GPwig(oFdd!ZkjBfwRlevS_ckIqpFz!#rG-71; zy&S%aKyEO6_X8wUC35jY<9w)Lvl#`vp<5AnwuWxLdvB#wW#RF-*jcV>4lot+GNbnZ z{s`5Ptl|J8zkF&(Z?TN_I8jLt+xy}Ecbc6E6E$7vCr9iVluD1-GjZL0Z-Wv0C;-9b zjz)o9Avo6`u|q?TBX*U}vgN1IIDHH#xN-VevOJDeG$TH}NypOW6D#Wu8!74y(Z>@n zMTbp9oD+mB`>SQAPDB+tTGvlE)7T`=csY=eR*+c`w$V zL4>A7kHxDq$@;7+)~>r}_x-N>43@;zkHN5NE^{`eNE-;xAv6P_EUbZQidoE~41+%b zYJ)I%EPlA8uJ~bJaWoxR#OgXOM!I@& z@hYM<-8Et;ij%e4UBLNicnokvc5}-lsYV$Nz1PZc%1{x@~5GE7pSj*H;K8P z1e#ai2H@FeY&TMr-wY*+PRVDbVaEJXv@?15O>#+7RcWYh#yuGA78KZ=f^$3>7r|gO z?VoL)C{6d?+wY15W!O|<@D=O;MwWdV`TlfW34yAbA2n*iTPK) zi!-lIy%{7^d%pFA5TxFsi4IfIh~>?>( z28n4wB)6D>VNFl4kS=-CtUnU(IfrMbSwn1;dY-^(vx^r9&Fn(d;}jRKXY_Q~ryh0Q z(jef-U}NaQRO3a^X^?9C2_T_*i46U?p47!lGyY8A*-A5{%S;*Q>*OPwmqAA-8gf-L z(RhWdOrr5B{s`4;tP)YP8`rjt{q&tRR!5<4N)ex4*KatQ1Vr@K3CKa9@|{e}s+&o@ zE?km%$Q#r^=OKR)0BNrVsmPmvgU7yw0zcV-bNy80?T93^5&o*UJVJ|kkouc|HGDzi z9YDDkG~UG@p?Z&1Y=9b@h;+A?rqbO$vVgaJ>3xz&(d`qnw!aHm_WBx})jx0-Hu?ZX zs6HeM-=jr(ovC~Rdt>7B5dlATfB{XyuvJTbFT46DahjL^6X0q2>om%z0Duagp}PYE4sb@=MR>1C zX%_`jWLxt}_+qGpl#8PX)e-jdT1C)?PG-d* zhRLdOS)I(ThHA9<>L^0B2F{Kx-CM+QE#5Gh&5+8PRaD#v97JP;m&~q31W&b;$?V$1 zGy7fEA@6k^@9duFggfiqEq13$e_mm4i-gPpe1pAEjJBa?TCmq8kDqSIn0}kw^wOr* z18E&mMa{XMQ0QF3OQ1(kwG>uLCeW=SE?fS)Hpxg(hV!hCB2*htJ_#2=WGZPD_|L%P zPP{@fP$^)~USF{*Uv8OF$oF)0$R3~;H3~o&q(_rXn`0=V>4}>QQcZ>(vdrJ2wg3RQ zZiymPTM0Bn0au-|j{-22yeb>D$MSv}5kw0k!q#$0myku}h^E>GH_)Qnq6pPEoa5m@ zM6%()wgVqcY{wh5m6}}an%SbZ2LzPb0Y#{G#Mx2SrX0_zCiU0}NJ*xX2QYQ57}wev z0N}a{3ValTEMg6~8>`ZA6~T@5b{C{1TXE%%LM7kZqV~XjFx?Xce!xP2k6pZe(U69-2<=DNfGy#KWF(o&884jU1wi zkz;>B>MZx;N3LeH<+{3bckY4aD%XS0N2y}p)E0FBpkRWDC_>dPDB6XiJkH2)An$pz zWj?wu_vbqcQwp8xAlx3Teokqh$K$RMD=U}DRPkU`!kZ645voIRb`8NkDbhJ_UOcXX zI*d0pNqKN2hElWY&{xjruk^R za4IeAd{T94$&6=qkzL-gL!{N6a0;u^c!cMfQ-NeXvzwF)j&gPa%n(b3>7XLm$V|&# z=J!ro;Wnc()@!#NmuWR942byrnBHW{+5Jc(YLHq~(bjm$G$I-2?7<(Q>SYysku2`U zWHqe%2;%u@Ftl5W5e&nkT+$z^h^v0wgEN&-gi7HYcP0_fHf2!L8_SwNg#-qw2#6Tg z8@Cm2oD-|7BQ>+>WH!Sw%g!-n?ZsNy8eSa4U3Vt=ALaNv*FBn5O}g&)fMi`aB;{iq zW&TKso)^()_bN`Eig)%h_+B+OFY^y70nH&ljPEcQB75yj7m7_ z_fg;r2sps)b(-dPI{E$3@ymV}#I?I>k?Xsw zzSF*lmyD<%QBD0Q$RusR!=Nm{%vhbty1*o$XW_3<{TOFwdL6LOW>p%m_Y%-^ zh-9+NpOEyqj&v4N)M5MU?>-rS`e|w=BB$}B^W>7AU<*YpBZ!Pp;gpyrneFMFdF>fqR z$xO)=dgQeP^F*ZFX6$omY6(OMW1q|9lJ-f>PF)ThSnmoHq537x+Ime0Oe>4R&dM^w zbbt7s7-$#N&qKUNB3F|8RgSxzrX?REc$>$6MPNT5`OS4KB$(uF9>1EuU@g(AK2gFBM{Rp zYL+laKK;0fLbKV`&A9H~ufd~_TL1+Az7<8NZo|3$qmSDSJwEr~Q+Yo3u=3o2+l?Q2 z+zBZ6$m1^j5vsdcMMKwk@SuagG>LxX5vlDx^018<^MhKwEWfW z@euAo`iD{AqX=Z+OE1D|>CMxQM+o?+1I(@hza7HQ>o<(|sN*q`YhJO(iDw>lJVD8x zj3kpSK%Qh~On52{FSdrLYQ}`8<&qwdAgZ3h9oX+#6!;_p&hc?mgmOVV{?Ow&qCD?V z`1nAt6&O)p;JpTBNs9U+khG}LlwSP_m5}l!6!=90lJ#3zM5!a?%S3s_p;SNQc$N2> zl=3woMN*n{_H|T3$~REpM+->Smr_JYNa;P~c#~LfRbjb4RsE3TuL3-04>{fj3Hy-a zZ<9M|FvA98#`DxX$Sabs){jSAjFj?akT zsh08~$LGW|3xEG2?=Kv0elaHPLyp!mCa>m|UNcTsKjrumv~@5QJ?Cc55G`1lIP?|O zN@1bo1CFmnQntE$)ag4l$G<@up7S3Rq56gbN~{PXGf9)cc`)#f!W9PIZwWgLZydzE z%-PdKh%taOn$JVv6q+XrkyiGD11Kb39?;;#OqsJ^yS2lJ(Cqq`aY{Jev=*HcBmrsAAk=V5j~yHj=TSSds!5L;4UVRX&(s;F(g~`uQw+1E)JD8*oainXk)E}CfiO6X@kd&6%od{N<9BMf+#s3MW-^8S(U~Fo^+i+vK_mNl=F@Nm<1req2guF+!y zcphKq&unNH=%=J+EV3K3OqENTMZVQE6c^PEP}r(~0&j8StZmg;JSLl>l{012%kk65 zw8t?`u^it^U_Yw(ZIWD$?<4dq$sF5Y2>HP!GkYv^lg-de@~`Xn!9kN=Gtt9tnBOH_yezlvx;$hL`}Pxj}l->e#+FuD+!{k zo?CxsA9$&17d2g&B-i9;P-?clnu+V~*Bh+K9|a)z_R%Qtx;W1D*W^P(k8ASsftPBT zjsZyHb@^if<<{ko!ylnKo>jDVjn#3T%MJ)}esDWd-CLJGfh2raPq!|AqL5`EsKHsC zguAfM$tXhgeX{V~SENVh#-R8KoEpmmKOo?s0}N;q27+4hd+YM25T|+hPX(Tqzjm9P zhWpUqbQGcbA({9Zh`?F{vo`-D0-oUjv&*8XYdL%UR`C|)&m^7ZwK|JNmf6zS|p zBpJz!NG5kbCk-DqgXm|*fS<^v8yXEkbuMaQu%Ds`)p`#q;=L{P{$=z@cR2 z)mwxIBjbg<(ZCi-8Gi;OEu$f(evTT*cM%GF(w{W_1{ERd$agVOE^#Q;%kY=-UXvnT z1|%(Fv{yx4j!H;*1qwXOCRtxf5hWp|w+w$Jv97AZa$Tr;8U9xSJZH=BSA&FIhQEdq zT!Y1mUzP}n(!y<)w5 z2>~BCQpMg(i+(6)-%L>XsX5hUzk=D1&*tNOToZxX)ZO5%!>ia~Zl@AeOZE3q^%Pc2 zF4f;F($X{j&rSAQu!i^DhXN1Kser_rATp&iD;yAGwOPu)pRf-&SeuhNn^!O8KS+c5 z)$n;jF4?w;rTiyx1D1aZMW~*}Io|I@B-iibQ^{wD@~n@d4e>`-H7Ve8K(b5u&y(^C z)s$aMO<9C9s{e^dW~uZg{DH^ctTH2-7W!pYr4d@BGo)XUOA~iq#Wh}wCK)!~-cg#v zW&C~kgX4MnKl!8z_{B9im7noIfbY69<( z!24AML;$+W#f7cxUL5?3dj@j>qydEL6*!5Sq>=OTn6yhT%gj>4$m{n=K z!SmaH0?GRAC#3wTqnvGp^^o?`XB(|a8<+enwGg6*@srPqWL)xJ_#;$bu!=4jPrkq8 zjr8s)N*Oj^$tB&Iqoka(9jOIj3%%w2`pDdK=@mS+g=>buI$gIsnznD-wNcnqT?4|*`H0~ zI__za>$|JDlXhi)B}%%olhk?jDy&N5)m~DzDv?Z5wi-#V?nu{I*oopin4L|Hw5$H>rxr@|GA7$VE@?9P=KJhQphkfVY&;qTzWI)` zw(*>)#e`cd<(jAIrv+mu(1uPRJEKW%eD^l*Z$w}}Qu*zid|I$Ep=Zg=Vk8WRAl!j; z6YquQ`-gr|@Hrn8Yy$KK4+=H~NT@a=ABnB?RPY`YY);@ge^9Um=;#Lpa#iy|!IorY z9u#baKSDK@RU8IZN}5CuQls#@81{3CqMn}5e`g<&^&3HLE%cL51-7AxY-6=8uDd^P z@Kj(NfZ*TTp$OIXIM;tFu!Et;rvma3*_b#x;%?&y0^fT!iJYL0zy3&QV>CX=m0 zPzfs?iXv2p;T#`9MHCmJ;|~BP5#?})!Uq88{6@qM-e_Qnq=-iVNsB164-iv1)Ih$; zC_>dqntm&a5DEFbrS&di<*TrqGgdFHPZ8ibTUwtA5_W05n-Ua!33Qqfkk5aAX6c6TV{B=?gle?7LJ_Jm z&Wf?9vE}>s={(T zr#g$eS%Bv(i@F6QY!-DZCAiI(K&K$Llh1!Yi;{3+vM8~Zap^nc(qvJ0;yP4!;p|*k zt8h1~ye3xn2-?tDlo-S?xmPZ$v#8&q8ZCYw3Opjl*|DWdi#V>u8)i}Wlga~CRNVL( zM6ut?q8=oIr&<$Pl=xp!2k+mL`$JXS`*B;3JOgsYv39y#X~RA|6nFIpxtm=M-A#Xh zVYGdK*w)#T&-JNCa6c%3T0Y>qka`pq-JhAHY0nkoKd<;0d7T7s%z_`sAEA1JRnp7I zB~IRa^+7!eARW0y$)qxakupz_S_)GpC3{-v(mh1i+EP3N82HMwDDXx$If>jsB%P=P zcR`z&Uv+$ru+KYKyK?2!;Om?XGb%B4TmQ_l_@W}dnG4I=aW88D%Gne6;P>&#<9rl-j( z1Wv2TtAwT|YeJLp=EL@_{1IO~C`uS{WUva9rueS`vq9?rIzU4823ZUxy_fp`g}}3w z`Y#|Y(SuDv>P-;QdB0rM%=_OWACve06@P^4ZC0_PNs?+z(Td+3>BBd!bng<4bfUi( zK)zGA{F{(Y=K1eXCY|TMD*$5t`l&u6&U=7EFMJ;bUMR=8eyabEh$ORp*^prLRv*Z{ zhF?hk5Kygw`Aw*g@JFaVW)huP-NAS=slPe(e_^i{K5fd<1-aTnEG0HGnFq%qIoU80-n~Q250p( z?n0e^qrlU1vhdXr>9snaXm!3J;I|GiV0&`RuGI?OOl26}G;O#hD8J~OXoY!zr{(wE zXkOGp?)gyQO>C0(i3x&RLi;wA7SA z=LCzS;X-4JJ|@FjR4$#HYMs<#sDynMM}g0a;~dYgL=@OZ2L?Sekj=3^^xI8nKQF!bT zW!2eM&h->~^An3jeCfJF?wcXz2;HGYg}F1P>RuxcgiR{H9%W6Tc5;vI2qLmACAb+S zRV%8|lp|4uYJI|R-1A_xj$$fw+okny4sJmBQ4zc>yQZ?38V#g~WHQlT7xay)Z9=`> z_P?x4j)E-!b4su!&U_bds0Q+WPB;trVf{1J7~$_FmyLc^I2bD;tstkZ<-}2F8(i^+ zCOUPxSvGT}4MALIYkMwa`p`zgZ#%$agx(m}q1psz-D3h8Lx-D9S?jf|+Ke?j2~!a| zD=V4(Ge_$TadXtL}xQ#>1J`9es(Ss97n}}!11O5GYpoLz>&GhBsfa=7ykI4gto~}_Dd~B5; zV8u@bcNJ8=6FXb+>+_iwOou8UmFw^CDRk=Z{M$Dc+gjT3VyN6TTj}M?tzG&jho{T- zSf9|$;y`A4uCF36RuX>FwFMO_kA3}`lzdlL=3thI+7^1v?f$OD2@~efUZ>xV7WG`C zR=Z0+lkD`{3pKX=|5q)s1Jr__?ua5(<7pfTT0zu8;)(Q5>zX?ec4r5hm3_ynU z9jsjeiH5~g@56F_l5Pd04ey}h_YKN~ezTeddE`UDMt0xIg@pY;pus}I{s0Np0p#S*9-NJWND*%_VImP`YcWA) zu3Ajh4k~&zL9S}9CLBmcW;Nj;{1GbI^`QrV>@uKbQl7~4t!70*RMXkdTx{lpg-LR4 z;Sfrw*A@=Nb@#0e78VWz5S)7wiclSnbNz*d4nvQt3i66=mHz4ofN*_5=LE08fljGu z+#CSi&%#c|AK1UaDyCZ4^eyjHYk$_kLmEJ5Mv>m${I-k8DS}60ew!Dvj2$taY6|LM zmZ>O0)lK5QkBY>)!CS?nR--uis2CyRXoJZF=|B1qW0 zx1SP}d8muT8ofn)MWuU~Z;BB6KrF{i6+LXuG z$TWt@m7Oe#PnyZ1Sj*&qWw|ty#R{&&|3}?dfY(uU@8eS39a5|d zg`@NCtO$Ft$r~OsPQYqkEQ&&u$lg+=b%~?8vvuosHRI6?cm-1Qxdjl`9j*yI9o9H`iYIRJ2>2XP=tALK~$uHW^olZj7zI@dFN z5<$mDzpzTjVl8z~2lp`t3uY=nM6z?evIBU&-ytNJgY~%Ycc|dyaL7H+lg#L0K!f2s z90fiTKxXI#x6M>&XuSC9<+AI;9*%&56-AH&|_HpPEnBz&sUk>Zg!U0nOyzTk~cAli|T2^Gor8!Y( zJS{%0)KWK_2O7J_i`w-h3`ep2sGtQEnTk zs86(Pr)ot|Z(BZ}a5<)GY?Zk{&~m1RkPMC(Y&|5UqgVxtVh!8$9*TGv!NY}yJ@FOs{vxyUUK`10#2SqUrV;e`f=c4rjMkKVW;$#`&I|O}vQM{8Z z+C}j$)SEZTSQPI@CrqY$Pz2^)9IG#i_bEOuim3YvF!!S&*G0<%=;#*42k|2?53z}Q zzkx-X_rO4Pg5m-^4Y)8P_Y7HiwiYYa4Sy~VF?x<7o%-I-OO>ihNN8Tb zIVkN#6u74a$EX7?j6rGELKFG9mkISs0?G|}@{;RS>D;|buGfGfyySYF9K7LkU={Ty z>HObca>ub5)l06oQ4h>JI6Bo^5#D8!XISPv0jqtWj4^af>BOD!B+KsT|Mm+P9>tka1B!R`Pn&rx*_qOCu3E+vA^OEZ`z=fAwpOf?# zj&x}`EN1#fo(5cV;oUiMwN?8{>q|jMxkVDYOjUL)?@H?{(#gSb{7UOuJA2t;Id{fu;4Cvms#Hv?tcz0yv(X`f7L{G&g)(Lz~1yOR)qQy zgc!lN_y{klQtcs7xq#?bo*ClM+xQWvGQ5qS&?PWGlcvA4$HnnHjbGS#k~|HWHKV#( z8|16e=2zgczJ}CNeU0BpN_~yr@gp#Qu!(!3IA7`N33EvNnp5~psEBIaj-3G5BaUS% zb@QhXiaQ{Gk#FmO{4E`1lrnsfDR6}aQ=Jk;V5Y*cx(_ln&MHc}A#%%QI(O4Z&&<2D zrbRFJNXB&d5t!-OM9rt%Ze*vtjFFx46(x8#I?X^7Ii`HsY2rxMZdA?|D|U5vDl*vjfiZUwvHWKp#jkCyKz# zMMAz5!nBn_eXY6KaUR!^>G7!HS05A4*_xLaipw+~;6i6>e)6(FOzjPhfGoMY*z)dG6K<1n@-5>29q^ zIK6*kCDLBm(Jt))^VS!P@b-%Eo``VkAFrPpYOn8X?tmX=a9c-vTdRG+VOs>GmrfJh z+~MAl$Tups*3~1K-rC;PInb;E(sq#$HT)Bsqum!hFK|^#pF@#xFK{*Cn8xu>Yi)H< zhW)L90=Mmue_5%^6>ZAE+QnMmfw(67uI2iMUZYdHt~1`}jMir79EyqUm4gYV??7CK zbcgtK?bKX14|Yx`VO{6rdIZwf?F_|_z^u<}Dp& z-suwEqxgn4emC5H_BwnGk3_n|Z;kd#PUp7Prtog4@NGO><>podR&{PoAbqLUHu!-X zBiO`YOKz!pKj3!k<6pMaezTw`LMaZHYPAh}dz{1|?tlU}J>VD}L}AbkV(JS9ceDt0 zB7&V02!szrxJiB;*ra{^&?IZ#>|)97N^-k7a-|-?ZP#AQaM~-jYJ4JN1lif$v4a)G z8gxCI@))!?vqut0XLbWoH#*cQFVbqtO+@%qs~9C!4vXCF8oo$tG+JQ}%_suXf@9Pi zgc)ZJ(K%fv$R0k3RlyiG$w9~%^oGVdPz0tEN2{@1Ome9e@tjU&FLpmt49ya-4a>F(v|hI?5&WZ>N& zHjbVBrNkec1Hgg*>FT}NdjeWZD?{&c8LM{$=8u8Q0cgfR#sgVK3}hd4!L1Uc>R)oj z1@dAb`>}KPV;}+W*cgb^Qez|ockRvK683&PvEvx9q94UP> zBOynjmy3iPjURzIhE3FeN<6|Y>M~L`5>iov7YR9*DEwKlpUi^H&s!fSXt`3PP&UWo zEEIJDiol#m623tT_n7L~94CSpA|WTS z1{7f|7lU@(UuO$RZ`Vh$knI^<{BKG>a7UZvdJ?obDeo?6?unjD<`fmYWh-+@4XctYuy-jFSu~@ll$3nu#1bQkOayy9I#ak5d&uo&3c*q^pKn`Wb;~{qn z&oq#KUUPSWHmvY&6oI*i63BX8u4q(-*Dl!_5xJLr?{j@aFVd+#84DmeUa31WORKmK>%0~#K*G-S&M_?Xf6P<%-^g^%C9_RTCDM&|HRXR^d zm4h3_X`aLhX#Ob_fq5Fo==>L!-29JTJv~E^XMGT>i09Z;kiq8x6ka{OK+G>X%%yEG zm7~sRB_dKc$rt9T&zEwuD-x?dUnY=-L|(yQch zwc5V@22NrW-$a3Tcic+Uz_$|u?gCZZ2pN||rE-3OboATJSH@QC{kWTJTiTX2#IwdIbd2S-Y zr`p9AQl(w^L6I-f3WN9xMPR~-TWw3>LwQ{^Aq|*Yd@pFCn|8XTFc2O%}#`L znk^g}`IVG^bCknPEgnhmLLp z4dp~PqW*RAIkC2`&Jm4GdufP71h?Mb&d_m>g-DVEWu^tki3rJb6vIYHrboT`sEqK) z4Cn;2pAki1df`|-JTjBwV{ByJsupBsM!)RP$SmmPLL;-{2i`}*CXPW$fWms$GFmn? zQjy;ajm%CI{w&BB8ks}Ta$kniIdRcQYZqmG>*~jRakSI zfQ^%c(Vad7>FYpBxZ!CEZwXOHu^&5RXeiF|G61qH$B>$3aR&VMM-i9-#O;r|Fcsrh z;`RE74^WZhNCkTE5hn*@(3 z4XC*sgAk7gZ73|$u>L>N_(otFX1_5C+~7gcWuYrqMnde#?r<7N+LV1abA3af+YMPV zkTi^)bLcb{NZOom8c5oLbhq^B+7)4|JlHvlg>_v9wkD8XYi@%dxJQFcB0irkOx#+t z9nWV-K{~>!(itvQT1707v^`Eh^E;rxT^Tq=7aU>9EjZCD&K(J|lMiAQu``|sp+k<`lOV!%ZFVTcj93$0g-q={2gz2@S z2uvG}QPUF!o#~}UzuGN=J&C|15C|VV8vW|9^g2ne%hBt>=$B2gG~<1Ud0&T_w>x=`E+e?ImC7S0vd3;`x|-~+sv9Wpl<_y$ zFc!35Zr(&ZwV;4NYP0*}M_>+M6Kyu;Fsm1SAUotYSdm%D9VAs6Yz(zI7-wLuhoA_| zp*TjZRamQSt%q3zhZDgO2?WAKXsye`SE9dCK*{Dvi~lI%Kic6hO$svW{aBW&Tce)I z`whrr$l0-uGiS8Nu_=$ydOPRw1k#=J1fo9Cp-zd?o|K!2@Tul-vQ%jfew6kUw89il zMG=_OaEzLQFyl-ix@VqFkTZM`yZxNWraUU}xH}6#;k-SYn9p&TOLbyHHYD#yX?-U< zoS5h4CNBJ|YR;1?Rg;I3IUn7jvkOoJ=0Y5;&hoKIZ$>0^YAqb1y@-VW;|PcDVmzwp zg=jBkXMY*-$0r`5y@b6dh}+g5s@GV{i01kZiP6@4a<6%I#%3=ChK$(kW#|%^%SlSz z7wRT1g%_K>f}Oh`o4pcvY;0C)sj=CsNJ?X~SK|lnh+q@fYFUTkS_yy4!wQj*?AjaF zkLhUAz^q7ZufnzijvfijhJ+n1pMPQ3@~<)2huHC9*O52shDfVeeD&e+;;@epWpVKy zC7i}#A0u~XXM!5Hse zJoXhry_$e>ww#Q|z9yZ!7ms}%D8hK`8|2_kp9AZCyhS?y_wiVn;2Mt=ZK*N6Eme)j zzJq#T-o??GjTPZNHhJT1-WRai@mNua68S)?wAe^I_Cqvd#6Ln2n2&LEWNACXjvMjJ zcRR{~XbFlUHd<$$MtyZOU*fFE{$7^PuEW3U-Dq*#1qza=Ke|`y%78jKLYbR zn?(Hd5b7U1pCJY52&+oxPpNXqVS z`rQ19h^oLD2&AE$8Sw*mEwG6L1ucc{hhE^sqHoAQ{cH(wVZkj~cyiFzT2Iwf$kaBd>Prw;uhQsvP5 zfty9qia}otMPTZ1j1Iam;|4uCQ+pF+aUaCa)Fs%IM+F{tO9CjIsY?;_(hhT}ORR;- z%3lBMR;&}QPi~1sDXQYuEHC_2NB$cNe`fG%d7#M%Uaf#GfmxCC z{L7}eC|>YtC3fz9@M>k?vB4{;r3SB7At?=Bt%@JG?SoC+o#dTUsj3+>g7+)*ud|;> z)`*peYF*hK0oWrEt2F9nb)gdvTdhI1ZP;oM>dilAgss*@Crq5RP~fH$9IJ<|1}i>> zt>&(x6tfO`Wyh|DpqGnXt&1OlS&vQBcuEAxZecPuHg;8!-iuugB?{l-^Tn>#7qnc# zQYf1Za26`s5Jg}%A_?Dwg?r5LO6+Q5cHG2uEK?<157PMeVpp3Ira1qb0nYMYby$X> z3xwDlMPRld9bX9H*$SZntS#AbE7y@9I*b{7^)c}RR$CKAahbLuoCd76B{$nuxRIS* zxzVj_cpf?&1QAWQuI;7jTm?mFc0en1B~O$FW=9;Ou7WV*7WHVDYA1s1>_GTkLc2OB zo4fE_hC1SG?g}8wro6Y;;xoIU5nPTy5t!YH)*n$}CB~%}kg6xt$OM!#&}2ZWK{|IY zAk_#IVL+;h9E|cguwK<@()qs+NXe|#fRt!UEv8wj8jxy19k)^7=nTY)um_vGK{jIq ztad<36rx1NN|k0A2}re~86)0?A~5YZIlpu#P;vuB*!Y~I|GGm1$-v{6@gndy2Wo%h-lcZ=Nj(`*mr-|H}oZ) z>XPxE1K2r-bg_8Pfq)Ay9}gnggMG4giX4&$In7!)*LiU$f%Nk6F#N!)A=o6+r-yrv z;Q0(8NJm&zI!8*C!xIbl9EB55{Lv`zN(daIGf-G^GcbA)c`QMW^Fgd4j%QOr22TJ` zc*op{#C%c`^U1j}3v(*^DFo76jZVc6+~vR~-CHcvr?V*!)54viK0~Uy0-T9DK0HA* z96Wh?M`yP8py+nqGiF=i1$gp7!I4ewn}SV^x~rZ|M0xlTk(8fv2&6HobMYfE=dp`3no{FX7h43E5W%Gh1j0ZV zhw2Oc>MbFeN;Q{Ryq6R26%KEy2ok$8TNct{PSKm%t|Y0e94QxOx|&USM%J^mYXB5l z+O@=dox@z()VWYJv|(+dN8`)w`s^xy*pFkj%10{O>bmgR%kXHe!5s+%LO(RWA!2^rRJFO&(z}cF?soL-J(%4@Zq3!QT-{uA z-t~ryLHOGCuiS>c33oKyL$2?2T!$NQyKLN@a_Eu+FX+cf&91cf5ul3woBQQ#NnWdC zKae><-_wq7<+hD&ZyD2M9zc(BBk(nq8T~O2qM`XV4cBZ|7ya_(L!@>nx`X3~@gp#g zu!$Babm9c+EMfB~x>+5HpmBkYtO)cN@l_GX@@Qi;ao!#mytLt3d^~|(FzP2!1m-Ey z65h)d{zNS68tGTGo@U=?T;FhHoFMtWN@Ep1u=>|EwZl;RIb-uI2-@NH;&;!H3xAIL znu^Eoo@eg~kgv2r+Sv59gVV2;g)oBm0uY5JF=fOgFo9J~FQN}VZb6cw(uA7SgY=|% znVs`W^9p-Ynk68O>IvT)8&lsQudhXRYV6qh)<$RC{hDVZ_pbslBmVdrx&-ERQmDne z7k_+%ohK>&=)R+E-UJdGe3V*h@bN9u(ct6T_<_$@u!(a{0#d4pzWBIKE4C^-%|s%5 z&9fD{WQG}wTIaihJ|10sk9=`F&HJb~&*n!LXHPLf^8vbHK7NP--^swSdVKL?#mM-g zxL@H+`2;7jLyDiGSKqRJtm`xU2+Zefq8?@6vxa2VCyKVKR7FznLtS4G(w}?zB8guL zTDQ?!g61nULI+=?2+TLc?AxI5Y8Rw0Fs-oge#?&ExsJTqDQ^4&tIOdm;8(y| z34Bxf4Xxn&cNF-p1X25Z3!9d24TJv4j(@q14CvW;SY7{K^z&~*7UzBn%=_^9<0(r*O*NtX(JEcX0$+xrGxg)t?_3#%Zzd1yY2N4$|Ajead zI2F{?p&7&38%1CiXCJX5-d&-6tem1QxOa2f&q6N2{!3Q+OWHG+*341>s-TSf{!7WH zn5_XXE!c;Lv#{jcr1EO$b5wbC97_v>Y^_1^zVci`|0&wXn?6F{^D?tO_FNt$EX^l} zHRZs)Xf4!AsV+=kpw~;18FVJ~6N>8q0=xAxsNBgbb^%I63uoF4Q$*pJe*A#409c&{9`fK zb~W1rC|u}vAm)<8%-d#rz);MNLWGos`IzR*-omsKX=jMQg=reKik$@^buRb#_5`!L z03$|gR}_KSjSO+LDnf{!I9m2HV7Rv&nGrmP-9v7N(YVp>L{;xl{nM+G841#M6YxS) z4dlmj8p^)j*=NYx(r5tuP-;&L+=aH;5(EupVQ zt3)(ferfV(z$z~h(mxPyq-Fg9319zU^lA6NhiDrD$fg_d-!ywX%w71UXyqiIOX}}I>B3{ zvaW0h+lh~_H+2rr4n>GnYA8bVrF+T|Qq@qzk*EjeC>-5YgB9XvHhBYNjuEihp$Jil z5;<0?w691g;y5(JypBf^m=kbxWVwF|J1{RhzcWJ-Clbp^2`p|cDp#hA7m7HU0G?>o zE)QZp>M4K=eTh>^`ZPznGzc?yeR12H>fk%pwY7`)-r*9GM=1jrM0qG{IX8{q0@N5);Ifv}X3Q?|zAj+{0MC2>W z=Mv&P2a(wQlKG|c+1Z;PH8=4K*qfVpKMaR_i4Do6SWao6F5Y+=vJ+1&c6H)K1XFS^ z-lEf72n-o}_(kY~n>k3zUm4vsm`dU8-xssbChjltz;?KKiF&NbiAZ+u9**-pooN~DH^x4w<55&TmP4E zIc9Hc>6svCIe9~J<|Z^j3pb+(%q_(0o1^e)H|qBxBCe}$WyjlG$CBuxZtc20m>?47 z=~G<*FKu=^;fo7!2jHv#akA!4oPr>Cp$N>~#P16td{Yn!SuKt260+RGzV{~jIzuj3 zwC^qa_Yt5l^N~gDev*D5LE26KQm)sS6b->3dt)91(ZprWL*yjy3i&X5bA{}K;Rn`S z7dR{P0_PC`XDp77q6@y3K`Q-AM>L|6;)$vIZ($(=P z{J{4$*u<&4AXE~rj-r}|v5h0(YITimYV8a^I4=^~wQ{nJ^D{yszEnO-HtkaR9O}(0 zXRedaqZ=mH3n&8fB97J9$(Ix(7fE?Jnx_WyGEU~Yws{2|-9q^)egx(?bs1%zs9K z?`+`c$kK9z9XIBgS7yHw%WnxRZuKlzroFd8|4sl;w47IFe*iALGW(OH|8k`H;HwRR z)ivPK46iAXyM5vH)Vv`3TToJRk;N`mmA%WmAe#ay#lDftlKtRtrF`@;enB=R0PQ%) zqq)U7oC@$5u&GhtGa2MUR5TqjKG!Qdh|kS}FZwsRKXv5tq-QXP+3NlG1$+3+JUv$Kg?qxfRg^wZ84dblr&TbmSN ztrxO8KzrP(O%v4X2-={$1>Hz^(##R&(&IjFvTTU5^z?6TBEZRdO?n* zQ3R$BN%?XJ+g1*BzxuLcKi9E@o2jOVPJ!y<;`v|85JPdPmL;4%l-!@p45%<87aNut z%}EZ-Lx!Uug6RgloK!jX6?|rSG(u4;puk-mI7YW$Va08~(MOV3BFM@Pgm(|x6;`=i zh37Jq5$AGM09ClO_{?f(1edF$2+SHp>kp@}65~>?+BIZ9h)`=Lpqzmw9mBPxbN3v> zwSgjZ3q=D}!}U-P%upPiiC7`lXOlO~W&;7M z?HGzml*oosO*)1fp&4VoF$#RX0Y^ucCL`>)G0$`iHzk(M5?I`ZR<10wo?|$S0G?<$ z9mCBDr#CunLE2k7+NEKb&KvCAgj;X$Aeem*R(q4UhT@%c8Q#hiI*NTe@B~?leNb6% zBB>kM)iS2B&b=jXpxFwz?eZjY{&O3&-J3n9bZZKkLtk;HbQ|HDHqhhB*%qi_N86zY z%y2R&Ye%`FG#Mbf8|X95+q3Tuu5ak0I_>I;u^iknUF%BhoI~E>jaZevp(riD92-7ZyKK=wo(_X-dV2X7VU5AaFTq58r-xp}gqy{VyPR7-=d zCUts~q%Iw5tQ|y^ha(Y6IqD>kK2+L;AA#A6O=PL!QYejaJm+7u)qbd1gj7mt`no^%>-p?Wkh+zK&0-+C|fn=A3e%-tEvbAasu&56t>Vq8W zQb9a+3AcflbcJEF((eSf0yoWg?nVI!>z2$}CoMJQ`tT zC!h$-i8w~BOc<(dWhYq#ClkRb2?Rnvw6flDD@)U*In^ROjR;S72ur!3twmX))h(*% z!^hzbcxRBOGaXOiHW?3ncz4I0#m@eC`F45$cBWm2Pmi>RX=&=%)tt@V6J)=VSXD!F zQ^OwkwrYD*YhzPu1G;2Iah_ll=NzEPh~k`!E_h1=>FMIleJ(DF7sWZBox2~!xd3=< z6h~^QQJf1&N~1Uz;RkL6U=t^W+;fnk8f(%0>)J<1B7B6se$>0>L|p48=K3ma-mGDg z3v;nhiidD6A@eqbb1CZ0Ph^I0E<-m=%*#;(<_a9Ehj6Y`j11w-nW`Lf75ZdHZ>~l! z7rnU#Kalrl6ZM`NL9sJV#>hr*D)M{Lo9l?gxBM!x+nBR>y`bfil}g*(fb&q&jVSQO z2NLm(StPK2?nF!}q=V~ysBzSMwTl&VH^UP2w8o50Z-j1}S)HhH6MUKOy~(Hv2U z5_wIkw9-hL?{zd|%-=u}m^X2BWNA6VjvMpLXwF;2@^%7?+t$jJW!H=5yh8v_w0zN= z$bC5PlJt8C(s4(@^LgH9=e$182kbpTd>(mqRhYU$2606A5K)HLQ(g|hbbLMpt_;WL zBXq$>C`i>4Jn z`iHl~VmHtS2btLFh`n4_^k6-rU4ga7GFxfGXTB6#ai8cb%4L0`ucd>GVy0X44SHf) zeTyP6-{Dx@E&9HKl%A2i(KVI5|4B!=K@tA^yC~8hD42*|&Nuo2Kk&K+HgRZD{S&(b z%P?BssG>w0c)rn}gefk;Ux2d`R2`bX(FHh`+eN(-Kadrs>G)^c7a+PAagfPRI;-XmE5yX5EWslqzjPk(pj-fdXej5tx~A zj4Du=aNAJSU7Cd;vpSGux@$I`%TPm{#n}O5S*$pTW)3uh%Q;a5W-g-jZB;Ia>j!1N_rpG#pS#--;Z_aoFY2`IO6C7tADrE~Y3`gb z!9bq_tD)sc=ilHY%Yv>>vgk|KjOC@OPVx$gm!2=eeD zq9`8?1k&_VBYp&?iA`jr;-cwxKZ@u4OZ(bMP7zHhjg~6ysDjlrqY*aLf&%aV$1!R{ z!jQ9})FkH~7Qq-I7@I&K^oymRS}nphB5ZdEi=>|{(dy}^Frm38X&6VtB{VzOlxHM8 zi|PbWXi;6nyqCjV+8h=Y2?x-y_+j&2!|>)CNt^e@ONaW`4b|NG+Jo!*DgKak)7aVbv1$CXm|Pc>D;=K5U}RF?{Mfuu5uQcFAvgq5~zkpHyjj3FIcgIauKS zC<1c;j!_E~_G(+;ffm6*L~w8dfv^!;;93|3`|9vXQ@T0C(mIs14s*0h-9>CY3(IP@ z-5yTzM>z7%ZjWSBLAyN)K%w0pP0YtQ%#-I8WERiDSEJXY;_XXg`0y|W95 z`a*{~<@<~m0`ykfE zxq?l3RN!%UC4j<-eHAfZ?J$?*orrx~T08skhS1iou_JLqC^n%{^(|xYF@QP*YV8}U zb@jg{HwPkw>gQUiQa`!Lnd<-p?Ol%|FgM_6wO4>)I?y7p)3V$!>VBkrA{2oP`xoA5 zawDn#*HI6zP~u4nFX=LYo&5#JAFlX~CO5J71i4Zeh>-}x;=18yHovbE@mu$I>ox7iGxgB_HvPEjC$(B1vN|P;j;zwZaViT8ixloPkg^^@U z8Mm~KYD-DF*!8-9U2{`?V-x(TF-@%_aQlwlhaw8G7w;vY@A0gQj-R<($ix#a_fR%k zh`AT_=7E{nmiy2Rli_|8fq4MO>e-eD6(dtEcpfgUJM$1aWM^3(MlY9Tc?3TK^C+7* zCa4MC$h+(H_1!XlHp@~G-pjH)MkM}}*bnxY^7LTr0{(G9%Oxb0ws`{0(9n}8@RbA{ zql>LbfSHe-bt1?i%knfkKI1x;sTM97X%cu@mS+i5T!QBSXC+7*mFIC5{J($#&#se% zKT(BU%fBXAUSh|WT}Qr;XVRyI-O1A=_tGt|kXmucUnQKTTV5mMuU8n4rd!^~LxaO4 z8qodaO{vm2!gR}9Xn{K4MuCqH;21RrVZv<$(R9nZ1bNSalxBjhdrOV(gYUCLhA!fK zegGiLXAG(N5NE*eM<|dKCvJcEg{dn1enOB>9Y``g^cl|;Wc70ZSysI$!53%*mtUd? z%vVI~b1AG;;qq&OeB(e;(nH_!WI;B+1CV9YPY->MR`B^h6oHvYygr}8Ocg$VAjppn zB$;UWiRTKk`7?kj+SE&lU(g6He?@`BFwy#43M*B({GA|wI1qAaH##-XKY6Yomwy4M z!llJ${zfCXoC3GaA@hr4bS4QaRk)mrAX7UKj=65b%H}jYS&+?X0aO`tMQEl&EBKrq zMPOziUSFHSOpH%2Z8amIdL^LTf|yKO%_N<>m$sT2D8jVWEaYHTp9Aai&qg}`hP0LJ zkeap2qk#q99zKN7o9fixGr+CV$xA4oc@9`(}76)qB&k`sCvm_amHKSZnmJAF`2!5mH ztd?TmrCs0fO3G<9nX~G{&N(EHxx9S|r#Y*Bq`Qny*RBuC=E2VCAgt?r>Q5kziVVPy zzzk%Qh@YObT8`&4q#zw(Rp~4*RgPUOXSD)OK=Ui22+T@2MrW?D_-Nw;%0oQHWlxOTcYl; z=ItHkNqnAfhunOKC~6cX0;vt|h#!I3iA}V@%0-Qu-_AUj-~2>0rL>DwX?_)~W>+-A z@^(Xk$DeVGTAnae+wyj|20G}rwB6q@S+#C)K`Tv`#DvlrIfn33tX zi5G3d*O|jFGLLI+YORy8t$dRCAmYixj!2}&axj6^EDyntz#PgZXO@w`!C^d?-z-H! zrF6Jdomp!5;0QFrERRHi*RJCjHA`Wrwpku+5gbDV$0iU6{m?A?idp7VsX5N#J)U?^ zaCq$(!E++9`>bUl+ssZRsgoQjXJ#j}DbKii`|K$I3eD_PVm{4bE{PMUff3r7OYos_ zbTjWVk@vsIKXM|H??bW=?+(YO!5ihfv}%Om-6f~zW>92Qb2x)QYItYjM_|rk6Ae$o zb~PW;9IBUrH7)b1XU=zMM^YYaa@NYFxTT4H4b6M z=_7gpdILdj^g-;k+<)0rkh=*03a9Z+#C)^E%r6I8t6HJ1WmH{DC)4tHf~;vwM^oMM z163`z!+=i~u)$J$(a|e!ASJ~__93WCTRTj>`-$|l(IifH) zVy%&Zznh)?g~T6|cn1C+_MRYd5BUaOEYm!qVQl>#O(W{NI@>zs>zY{^`4gFuzZW<& zGV=GKOJMFNak2Jla(Nl~2iUp$8Tki+$7bZEmYR`&h@>1xuPDRI;J-j5{*=m>!GBTE za=}TZZC=88XzXPafq8{Q{D~nFU>U)NI}y_b8T?n-@io`6Oto-vNRz1G+nXEL9pyn9=_PEl}sDDDaAQ9HSeyFyVHYXh#2Yf_&jXs$}%P zWQPo0#QFRRK$g#V=<#cu0l(j%2+X&{?GL{&RfXU02=cuHNoMr_$8!Z)od_Vysu!mE z0gd4DM-+kiiD-Q;g_SB?{!EZx97sw=|5u(Y$mVYVvTXVp{om0FKL0=wm_Lcv=Tn%e z!slNE`P+dcGx}5DJAaukG>;GblmMz|Q)4hwp%Gk8jRJ2dCt9CNVWkR}(-LGl2a?R_ zPtS7&l{o`|DqQL%`HW};m%UKn{ozFGb1AG;;c{kz%;G>&GWxUfWI;A(15jnm!;Jpy zXa%2hpg>ZYczr&FnHZm5Mt?3s&7FX93t}>(KaX_oUPgajpa?Vi^O1x3eGcq(!UCl8 zZ^-D&j;R@a(U-2h3rbZp`U{~Rn1zMoXhwe#HhJT078S7C8GTWS5?M^DT;L-a{W>&b z%zLB2r`~aNWH|wa9XIBg8T}=QWyu5<=USF44vv@6Uy1;pXgM?bOA}7>a(zgzS|%dAek@X?FT~k!bpVv=l$kHx_=o;o?uSB{l`*iI}vPvH8oH)X|&b(C#q(PU}@B>eLvq{8H&;75#^BGc*jKd~t>VeseXgGKqV2$x^RrPcK zy(ZSnCuX^M+O#kmp!n-)aE~L9FoAQjlXP>(PD74QJ#Js!1Jc;T5`rLeoC~6iX38Yro zfFF1hIGbpNl`9}Mz$Tu{Z-642QW_;y8ej#h8I4BRUNefowBQ)EJz=P}?UgNpJ&0gT z0)fyEZLhc3US|4#tVP&Lgl!ICk@UYMnr%_-q_L-?;VjCqsh~x504TJmPGatIm?uyA zf3MtZilk}=;|Qb%w>N$SW;~mm!P$#MHMo6vF2BKvyGQ~d)5@P51k>HlMLvm+9zu^dYvHOu4hBQVFa$(dy& z{eJ?_jI}bpinVnC}7dXtd)Bl~#;kOy`rvER@ z&7jDr=5P^#)bRd;AAz};O*A|&Pp=E&B|Mqm@*V_rnPd5O#%|4ZnGiSaTDWUO(lp5uR2F*3(LZ&gj2*U&FJwf{PLxzzp} z_<=W@vxx(hnqIflMh4ZU_A5H@Qu}Wai9cQPrS{(zv|LP5X`6R&9*TMwMPS||5#Rbn z0xS{OOebPaAhrKKJAU9gmZ=s_{4@!?)c%KrDK5cBfU^?R7@UvM31WPLA~2tlk}rmE zZN<=x{%7p?x$D>?8T~W`cp3dKNUgX6z9gJx^uHqGUso89X7skFEoP7zflBc3cS!es#Rg73YSx& zb6}=&ASoIBsd=&>o6`Wuvgv2^r$sCHoDM}`rYBxso5D;LK4&1vj1DB3(eK4`1=*Yl zKoxCjSY>83g3DP@1ZGyE^|=&Qs&F|QL1uR#$&CISJXes*IRRARQm?Y-LL<1G8%1E| zAzGhHVWkR}^Acn}2a=M}pPwfSvbg|&Dq|jI^cO@c_*@7DlFG#E^C`^4`1CURix6tj z1e9A4lNtTRq;vN&`gK4NX7qcLgT;LgtOvdX>HHfq`m#}KMql)$Ywwa$)r|g9s0U_g z;W(Pn@53f=YGW{ml=C<4#<41 zPfyJc<@pRLNJm&zI_pc7BNj`|Z-5if{Dvryvc@qwS%oDxS)*Z*jR~@e4`LOuDVqv1 zxEX-L)ci1F-aLtUi`Y~EBpw|)@;&^$TGbRoANL%+$rj9rK*d?cBtc{ z&qTw)>*>_|_C%eBLlIIr+<`zElP%!~UeV1avKaGsH7>goJNV(0+NpVwT*>V$Rhn50 zwb=z{U}w9c2+VFcM(s>kb9R=Rnjc{i>`nyr2?WAK7@M8+Jh~ZasWgyEqodO8)VyV{ zdQ>({%{P(oC`Z_ZTSv1g&**#h*$kl2K3j;n>@ZJaYJQL0e26G&7GnscRyY#*}1*_Q;jj%m~A}}2|Mr}_Rs%?9n7C{#g?3F+u^h4Y0 z4HqFhH9yWG+?xo;JA_42^Ok6~MeRcx`#KuVqV{7`L5m6i6k62&#C(9mJb6;{2j*r| zBvmswh(Ky^2jfRz4q=lsxJYXLP@csUUZc0w|ouj}i0Z4s&+y+Y){vH(}vj)$*iNsg}&t{8Q)(T|JE=FwfvGWiF!}X zb=x^0V`TH}6%BZK_D_h!xBYy1_D=;ZSB6yD<};j!nm$K??^TnCZ_FYA<~w%Ai7;{G z*}r7RuUyA6)xuevCV`h{|C%txCHMw#RsvMghvr+Hfe_!J2+a35M%RDg*$Saq_W!Zt zMAxxoU$5Ufs%5k@{pzFQrOtmKisCZ;NH|TM|3q$nu5eR{Jg7JIOCB;D1CdPkgkPn~ zk+0x0zo8MD`W;1J{=hM+DPhGe@6iPMp9J~KfiUf-%Y?G|H&140BhKa&^Mq`QyQc`v zlxPK?Q=tgV)Hp`@6lP+4dTGCD2sLd2${A=f?Khot?q1q&dY}l?elw7R8GR1y?%s=Z z{tanAnYWtu6Md=C%p_G!`^}7cU}h1HqiMfc+2oD0nN7fIr~O1FN@RAa(lR4yzd6v1 zF`p9!z9fyKBTJhRcHEd}rv2t7mU$9b+*VeuEVEwPZ(ag;qUB5b@gqRt7l7s?>G>0+ zYj`;euybB7XF>L!AYP6<9pG=Hqv~;ow#j_w&;@jI76P6OCud=F3CtoS=IGecHE?Gr4={}A~YJHqt0M}#p6Q&G~Swcv~ zU7RJ!xOH)sLcRHdOc!Tqbi;({g94x3#<9AK(@!zd#X-V9&1lRr=#=f@EQ?;w!|9J7 zff>N2EDuKp$a**x1$Z9LKq4tT^~`dDwuXnZJkCQ)E1^hdI7A`?)5_lfYDugL6!K#3>5>y+R)zAYntd1fuYmkgDgRpF6PzPraJFe+ER(EjH zMDiS*wTPm)NNW>L9h|}BW}ON*6^BGUhaq{$a0o;)-A2}xYTUtD4~@{&P!#y4G>*|t zL|Ac~NYugEfFK(>kQ4`JBc9CAMx4!!0c6?q9h^L^H;GClrC%8AnH!HY4n~G0${xb|IEs6Ik3n zR<5kFo`bU+0X)$r!ND0p(z_=}$DIQ235$Am&gGK8o0R;S7Z<|wY(}wj_dT1@z+*idsik^0%_OCsO$&bD6WeSOR!d97l~QqO zTIH`i%ryWYQV&X1!P35D^ro&b7l4-lERbBj1#mq zT$#Ob9_ks70^i*x5#Mx00_z4$w64s)?6{xnSf*OI*rZ9|xiSG^ic7FR;H(6RAvpl2 z!2E$I0&@`Y`^*ckmU;DI4ra$gTt`_{@vv1Gr11>B`j~j0%%Mb7T%yAWr=HB=_z{>R z*hCvicrr)kA;S?6`EB=4doRU&o*b%&|B|cMD;~?G{l_<~V{J??6iYbUHr; zuStg`o$&jT$}6Ix%;lo^}u6Y8>ywbHaC!zx;8iB2lDxB;)2>IRWohvoh@yx zc#C<%C`9P(O;YOKh_KeZ*$JRM7Pk@iCNer^f)I-PI5&}V>*L&vdh@7EALkZy!+g0F zMPP2jvAU0QyJDn|Bko9&t2@vo+tIlby_}sY`@ED4~JWe9M1j4YDK)szO*zrl%v4rsa6lrE}ot-qPJZI-A;wdiG(}YuJ z=NYo}Y=tF>UnooJKs=X+4u?VH(|zQ5sdDf=gysdbLSZkW2+T`3Mz;}R#%&`}cjsk- zyy8Gg^0X)x3gz)tp2*NeoX6JyWO-C%=5@4yzc*0e(P`rJ2UM7-!rxm2dE0>`A3l7C z=L)j;E`ThH;)Lprqwk>+T)vMYFdq=D&!w;u>D)aB>=U2} z9k5Ty!Dl`P)_3`wbp8zvn5-=7fQi1;roWJ?I$&R-j&EJ#=uFrO@im*gVK(0gSZxPP zRH8(_m1@!f`wq<*^Y2mMp=cZ(Sz5KQrHKP0fYZMIz52s{VuM*?`F<#WKy zPlVGaV16d;UmWey7#Q~0rq1TJMtpauzO!z0%U(?#`~;D1&G-gUM`xYf-y^Lp1|K3C z)n>-l(_5$;W!lEp^|F_YU51TyrfGD&X~YMzESmZb`FxQsY6H!$pluge(ZfICR#=Zh z?xfP?>Nkp?LzD4m>V6lFX&wK#+Wr7(Sm2*10`nIIkX5H#QKt+oj1c#c=+k$9v+opm zbwboyo!)h=Sq>>;)y$OaoI^9Qr|+gBoIZUwHGbel>popOIj7BoofAq}*BLn-f%Klo z>4|yFR5~DV^81BgcH#G%qWnm$1$o+Vad(?=$((V5@a?X#42KT zHf5-pitrem13=-^cXJZ+TuIDx=f*6|sp#_%NT0r&7e4|sADeVvvrNy=raVjwcZzxe zsp{IZAnJixh-d_JY4eJ+!suS-yJ%RSIy&2oE>L(Y z(AfIc#*VsrGrDVRQ)_33TJgdpk%vka(0&b^xaYx!O}#~CxJj12yefZM}qryTivFw zrPz-YmvIzJJ%irv5|-`iH)MxTo|l(9>%jo zvkhqoX{_sLI73>GO$7~UD1bskTA!FVaF{30!+0C!W>X|p8`y|IYHAzfM_@K#6HTph z^`qvzDbMA%Hj!K@Z6;M(TLr5bhDI3N<|qQQ1&&dJ6NYLV+?E!>Rz$FM0)fyE4Q_}S zTz4PF+s4w{mh`rB^m_1NJj-%*b1nEF%5ZYJz2nqb^$u*xW7VEhRw9r(Wjhk}P7XEi z>WDswvU6@C!lzowE>d;dWcVP;u4sj+?1loL@WwG}D#DC2m8d(mJ3;Dw5bN2DWK$j$ zc-%DrD4f`h#N6aCmsS@WlM5%iG4K)!pL6XSUQdU zU#a|YJ^*g$uEVE??`T?@I(9X!>^(u8(^W8p5_2?74PB-KSH-#Sk2s%6gf^hcNFubO zOJMdSO<8BFiQ^>^3_Eu}iO>N&Hi;m$)FeVDNof+H3qJz07n`^xY*Jl4sR`u%3?a02 zbs|UFDcT&>vUgMC+8fs6o2i;+5OvsiK##s|GJO!uIH4BLHSA3RX)R_v>doh8<{I`v zH_VlNQ3Pf`9INLV0>#K&1L{@m%j}PH*$IaO(90zp4#W?n{Mp3usgZDyv9t+?iVnPl z!@)%2&yxLQmXz%r;*3ePmqP?C*Pc|`=1`o6q7Fk5n8QiLH+qo(D+6}vi6Do^V2)tN zBVETb)xuRIO#(0Ba1>#ROK>#ctOTf38=PZs4q_aOA~46{7~Ow_Yb%Ck9gb(m6I{pA z3cy`>ir8zRG`YQ$#EB$QT<((yrzwe($?qu@eiQd!oSKIW$4O+@o#`~GI=9ctZ%#)e zba@5}JY|n#RF}ev+bp69iL(fDwgahp|HV1%lA)70v*!ZHGMl{r;yj!K&*!5E%mu{m zo3Sufh35+ia*+cmEeK1Hz-s!csIK;Z*uS6v7X!!&P@9Ii1RWvGr6>Y(8AR${p=fyHg+<;o`GB{Oa(fG1kcWX2tY(}3cgquDpQMcpmJWDZ;u=wI>Lq7sOBE2R<*(COTu$jDjxgPxE|+ z6r>}pDxGJf%2ABsG|%D$H2)k5d{G?7=%f~w+@y|P7QaA{7kv<`h?m$@kinM$6lN)2 zA?8<;m|x3{S(sDNUnh`eDc-;j+#|py-LNdvZ?P#4)54viep{-#sJw%EVBRGf4xZc| zZ~c`b0pItCAP*lRit_P3fiw#D0e%GLLpG6-gd_G5&-vH3wNnrxno{~$s&RMh6Ewnx zK1G3#dE*$hAz{ebP-+I^bBo{$BKR_aK>g%&lDn167X8Ag%V4|kS?QFXL8HMERsX{b}9i|$;y zc>I`~DUnMD{U-vcdHswZf%%0^G_M&kB91F1^D9s1w=fY^iTx&3T37_J`5o;rvOiGZ zo8dS{jZE08ZDfC01b-936!XOq2n(T+$<&P)S#8~#DS-{VO@#uF#5>e{LZ$#7y}f~q zWEZfP-VDS%qr+Sp34NqpaL@)vwzZ8x>U9%1N~R0Z$;P(2 z*0xThUmM1BHA?mspFx(GjeP#t#&AM!sso+W=j!Mh)2X)8D>wV10kxW$2&5)DGkzfD z&L*0u+_0C%zfzo)J@Z?u=tt?!CRJK%H5z7ibb)cqfdU^s$1!TS!fb8Boy#Jan+WDf zAP{as!`)O2x5oy=%xfvnN6Pa%%FI9Y92sl&R*dRqUoda60C`@}@$6>DLTt)2J3KdS zVFIa}wg^!#>QJZTEf&j7MEF!&s*@^hN$wg5^A^3)3iDYUMPQb|F={@-j5D98gSI3= zmhwTYud_6p@~FV$t`C611)?u8_j8!-%lwjgi?l>Vn5S4KHxnXox&kj%|eJa?B)G#z}=${JGhX<2pvMRrVxuKA=aXJG!?Tp z>do_JCLso+8z#m&C;~GC$LdLlbrmC%5V*}Q-MGwp=$4&>7>Zsl2eCeW1ZD#^ad1-e z0CtyZj-*OgS-W@DU(o;E=dm`zElgefk;7J#!7R3Doy(Fam&g#z!%Cm~-7VcJTeDTr;@aa-51 zJ1K}XvAq<;b|g|X+sNgd@p%J>=8AV`r z!7;im3oCA)h^8QRCCF|Lq-qLc1iNJDB+l&a0J6*`QxNqy2cAcw2uuU9`{OT+RpGgj zAWaS=UkYLr`xg{oG=QuC87YWnbc8f5C~&g@N%_(U%Q0!Z6vQ5c8k2x>W|~YvjFrya zOF^^(MVNwUBM0q12i7~=lXU(KDF|7#GzB60(&=ENsws#L)C1FrqceXiL>HU9p*MR8 zSnU*qs6>g3lPc$2Bn7cInla|%QQ#?i935HC17XLFd1eY?Ut-xWfyM3Q<;ou8r62+V zc%tP@LF`XBjTRn2+6Ow?r7f|e)=oj#tV2_41MWBpzxk{Vc3qfy=oQI590c@s+Z0j% zDd!}SdN`O;=1^EX^>B!AO(U2b+Bp>1VM~Xhz&>@FOrMvPr~G ze=_1Ep3jhibc9ui||Gw{I5e; zBR*!*&Ifn_Pag(Frf?GGUDbGlH7Ih1NLW{bUm~V5Kdm`s>dv2ygE*IxE;iA;BB=qju)BFWzlDjYO6(q~(!wH$&An)ck==(PF!$paH8NqVwvjzx5j;o) z4#$*sfj*^A4s6Hi6&YtAE4Iy0(<7SR?&~reNn2k)@n4&OXvc_eHjJ5 zWsYOiaE000hWn~T@EQ@ko!4W{@P(K7QDAie3P3AkwaDVtyHO^LOF-; z00td?j{=YW<7jnQjBUEqBDqs{;he)nGVp_AAiQR&k#qQwo&B}RAGdhU;V1T+d)5a%)?=#SXCTN(HT;4u_)0q|$?9572rt#}8#{MD)$lv;*i?hm zQd13okd&qx{=^SFY0oBZ1PjEKV&4bSAMZN|KjIG6jUVlG6lVe#JB5wnSz-BXIFz%+Gb{)hk9l~flthnh;OhW0p>FH z&WSK%JgqPrJI?MpmZ=ub`!or>Ou-z4DK5dBfU^=LhGZ_B0`qgDz?bKV-)CNUwajaR zU|x2d&vh)#WCwY4lc9N69|~X%dr6AH1xk9Ia#Q}iClo%iKY(M!g_a#)n1e7zzWMF(5>D;}*__9C|2FCl7g8@DV zcK04gI{${ixXe)vjElb1SeBEj2F901JuoZa=#0Y(u_BwiF*Yj+Sna^Ls6>gZELB=$ zBrv`Tnla|9q6o}tI6AVl7h%VZd1hdIbz)f~fyHf8<;s%k1;z&vz!NQBU_A1Hjx|Yo ztpw>B-pbnSoYz|!%-$2kTj`@aQXWrbe|jqG064=_8GS(jA&Sr-?;^HkPj=k9wd zLxIP7DpE`JRMsac^;9;%kHBomCSkR-sIQRFOR?V8i-g5?6)HY=JY`ZpxPE z<=m95@B;~UHc_#uu7cehWe}{JQjywoQ??e)q|!Fq;XG6`97SNZClTLT zMFP9iPqc2z4(wQR9m`Y;*OoL1JU3-W!W5TaC%{z}IyW3UqZy3vf+8@x61UH|@M#%W z7iBkg9N{|h<&9~!U41w_UuAdVDK1Ps;nY_dNtPNaELD69bp#sokfHKLJlz?Zq#E~C zMxhbv8jT__%{WH)1!2YQ3sGOCg&<`I!dD|kK4H8E&t)hh&gB>YRk+lT7mr0FxNJoc zm^PyI2US?9!eu)__H-bnX)t$X-l`@I&lKdb13;F?5S!^l6FBTbfydd2)aOvxh;iuo zRO1M>cLK`IoTN`RUOIQrr`iW7LZ511aQfzn zdSDL3(HXH7;vhD8gKQ2Ku-ZPAs6>ezBGsf%btsxK=7*s`f*40fmPRe?xG~T4sg59) zBNJHMURtiK|DI2E6ahTZCc&pVnxv0OkdC_~-d(51vU6Ua>NxhEATC6InSO1i@`C29 z5YTgUtd0kU49DsObU~t;r2MHDm%?+bPGaZoJ60zHk9Dl1mg-oYLQ?8jor)hwY_myN zrDGMk7gYm*7gkSqYM3 zauv>j`>RnPzfJ-^_rk2@Uj3|V+3`BpvHEAt(uDC`tm}!QxG*;mPF<`U$<2Q&+$8Qt zn2?7Il`oR%Msbr=or`7Xu(=tH(9|s`0&^>l(QQIlaoa@H#k!3kw>yxO&zjxAlNs8G zvw0_gESr+l3BTKV7h1vR-6-(+cjEO&RG5kJ>A5iX66(GLlpD;X3v<78?w$+t08oT3 z%!B0MA)f=g`#(%N{{|OECak(JqAxX?N2IDQ%%i9W<}nRj#bBo(uCl0X)(2xiIDh z!s(q(FOv34jy7MIw=EnE`*sHVN%Ytoq$4*>j%?~2*VJSmH`Kc(JIu?#XZHw^ZF29t zi5nwdp*T4-6TdO?RpFMSJp>cH+iG|X=wKzUqrj)=$&{=N<%)Vl{dT$6J0ag>-?v=f zFd^skn7kA6ZFbHfZR}3ScK}z`8zJ8%+4p?1cK*Dd2RUtCIM+$@0f98b{vmz@<|8(V z^yxQ3e$4Y3LXeKIs&qb)Du*j}Bjl$z0mXlYA~2uh7@eNNlAE5hkat z>Vf&0XgGM2b|d63M39FM5k>jU}k3%&CPT8 zl*k-Bncv<-a3wXTRB3M>S~C|~VJ~x|K#~~8sKE(KwGD1wi(oz?m_LC)7zhn+Z85m+ zXxc1bi7iNC3prw?ZezB7gJrh5q2|1U43~j$w(VcJ4Z9ES3|N>fFXC7Zx7c>snmgst zB?n%~kCU2ROBW?T70Wk^$=MR#FfqkgyhCqT=P_FA&ZmPp=bibOW+6IK+h%`qmYT=ud`&$Qs`whC}PINIkF^%WO zl(3>F#-*;!IjbsK0e$d2cM=qJCRC)(p(o2q?3`DYmD!uJ zEDl*zOLcu4#^9qd@=}qQ9{ZIClZ`Dp%_;!Rh%~N>E=Z!2MlJTeNaO14JV}wpX=N~k zZ?guF*f68iQp1dcNJqnrYvM;>)?yRq+iVqG^fg_rtxZM~wjz@y=_#s8%H8x6S2s&amu8Sft>)}{EqByjIlR-tDmxK0<#gDs7ktRv?jYsiLUJ`RT1|i!0MvAF(Liww;xVszx#F*L0j?Y zNYHGGMyO#k6i8bWvu}pNt6h=4u*`4Hj$62nrP-6Z9avoqFBG~ZaTFJ0E5KPX(ny=F zaT)?`gCa27l7=sk@NWg0Xa(Ai9f!M)WsWGXs?x^6i-c}ZnBoHL0Jw^$6B<$pt>Ak{ z6oJ`^sC~YLP0P2&KzC-xU0g?|OzlLhu6{4{xho-ybH5wl${P6`K^}Hb<-s}#^?9gJ z*&>f_^dqI}4AshH8qf&+G@`)g+Hs6}g2D>)W7h^7`IKe8_o zD^(3BwxW)dxiDN-+q5#Yv&pk1v!{U74k(I7l!%ck2Rw40SqGXiPsbf&xAnwP5 zcJD9^13T)+w2f`r4(~YY7&t=C>*BDxozWt~Nu7b2H9FeG<-(PqQ^q-=Ayg5whdtT=7nb4(a z@Afe*4K1BVm3`IHe=ZLamgbYgnsVSqv=(Zb-m)JO3$L9H2X?&}nL($~5khbs0KmyO z67|3wg`=G`WopAt*Q43$(KpAiWqqM4T$f}TwvQiRUBzS3(v)WQoP{z#O8+>ia^SPH zWsXNzSi=b@kY~p+I<~0~Bg4@uZ)Yv>Z1z3J z^$jo3+-g>?C}0P%Kx?Gu5+IKPrjA@0n)3*_lO=vWiC^G|m*kn-roHROwqt|`nG12E zyc@c1rUNa^+LfZhlxSI*x`>D-fvNupUXDtXfs4@&eO`hBd3$1~KFJv8mq=jssUls* zzL&ecyvcCz;JS|b&d`zv43IFExdMHPNOvW1=84ghYIK31*Py^B z=}Cx!l1BPAt3;W*c`j(ciE_Op(`}jJmgaNHh2RX?Vy zsc!pqx7pU*2Y@1axSs^_=wbS(9v%=v)I;y;qvSF6Ao@cE51|Om!=y?TkYTDoB#x-y z5%zu5^{u6X#-@>7qpb=a13(cKJWc|6R4_wS1y2Z}EERZ+J&FEM!BZ##^E9ba1!R~i z5Q!ryc!qtSb$v@qR#&#%;#Rj+y{X^61ry>qz!cHK^Q4hS3o}Nw@PZJc7IO3UB0!*s zmrw-eWfG<$$TJloaz_;L3j4n5`j!^2u85B2ws9lc>pL5oJIrftF(uWL5+f0Tl@h1|WyWo%S zOKbW|VUt{M{)#f%_2#dUum7jgV)HkEf|q}bBrxCMS$eVgdnL$~W;tk@GJ*L4AY5~{ zQ^eBC&NBemJ^bU}AMqnFKe34Rl}Ob2ot@`M9oXmfw&B=64eJ-BcvD-Jh;`{z1S$Q-H<9_Le&TB0|+-N6UwQlkY#J`KFf-JK#de zb}k=w1c`7Nq!aQuFd; zWpu^mLvc!7J`{85lE7S|gDxL-rVewbb(n`mUj3MP1+Dz@p;$zjbdfCGE4F+%ABy2! z^CQ6p{dhXlaa<8`;9a(LS6n_^kW>~*QE~lHA!;$+^5Mcn@Kh@`jZd_gMSvHsbu3EO zi#gW(>gQm7|4G(2u$Ix%(A3zR8;@@u=+Ket=FJBCE5Ih*%;G|p+KWE6rAI@6xBRdK zxn+<$x%{xC&}Ci7w@KS3BS`M8SGhxFf3S>7|S_~)OeTP z3tpbUSx4;^2+dKuJJgde}e3a3bu zl5-fUfj3%rC2*TYYw3-hlxAfRvIDl{iVoPTke3eFtKvssR$~zd6uIId9IeDO*3(2K zJ5q0t_cJ*r6EKGKUUf!Ru15&Wgdkc~6z5aa@B2+DV>>7ei$$GOCYuD!U zqh@}?!LF(q2$rd7%;uCMYlk?9(CiRpAqZ5nOklQVcQ_ch6}rPA0Ku&RWa8JLGfg4V z!Rr#YBto0IL~jDK6{y($P;y24!=YrP{o&U55tv~tVk<_@^@n1a+DYTaAew5Ogim>g zw=s!^ws)LGl{{P+Bs<3u6w-E%BayG)x>D!34WQ7Zwnc*52JkH1IgV0->>Q_Gz6D=-Fl;Zcn}DN0Q_QS83U z*euK#LW*`8f!9iwLy7!xUra+Y4)0*JIwXM^k7qm#7r|gO>!PWH8xx3CpTcrgo}PI% z2ypujZWKTwoO$g<2`2gySVK)BpV?sMB~40aUSck-l19nu%&Q6cz)Z%|+1~1~H;X*a zGDgtK&%DGU%A{Gc>6upxic#gQNN|Axo{lXYN5pYeUUBBN52;K|QE@$IA!_yB$UKb* zo@yCqUi$(soO$g>*84lw`M&UOyS$aF#ncPmnaeQg3WOpR7gcOW6%AY7r0W1O${=!b z(siKFWi_-(z=ME}>N*%nU=E=W(ybLD!Nm~l+5EHP5hfBiX;@(>_DXJ<);w#R0kW@k5eVT1C-A;H-k+o9VHhK9rVp7GQ9^fo%N&-kB@Cj&KfvvuboMp{bFaXHr|0 zK2r{Z_Nae~@}CFP3Q_a<013%5s27;S#m`K=8MTk1LjNc z178$i5nEu%Gv%U@jgn`XpI#~~l5z57l+DJ;mm^>QlpiNATGScM6#zv0yb?)ZuEMi) zsC>23WT@;PE58OWDjzGq7Etb3`E~danCn?YYsyr{{*i+1x5V7G-->kgrr|dbGef_X zSVp)}$g^C#WV^<;T5O}vxkw~|ct zn%o9FtBGtq72$4f2L#l*14&@+BpY8X(ZZ@V!;Xu05%6vYSYW*}7AU5JH)*+tIMwTL zFYv4mzB}EAQpkNj5`0^LqaG|k99}QU_m#lMFOiA&VE9MCl!ah$T3CvS?#sgLn1@vye7Srl@NwPXk zc^P?pK>$x@eyhf-Eb`pRye4Snrzv6-W%9aYS?940qBl^CT7MHsVBW&hv8B_9IIh+! zPE+0{m3LB9+|X5sdR=dt@-7iP)iO>~-Xor#hJByBKXAO;c)nazn6;yE=OZGrPW@BnAEOvm`Uw(zOn@*P3q2S+7>da-f6-IspAr7^2tNBM^DlrDkxb4D zyi?|13iX+P%KR(g@5Pea6Kfh9a>E`rAon$JK<>4WA{N7|l$lq~DM;z9GD01Air842!ez%$;)MS9o9 ziybuom59GN#QdWO4Wd)k=-=F)Yu(hkTI}|@56zElZJ0PNH?9F+)NN@p(?YoBF11Yt zS7%RdY8)qjiQCe|Yh@5_Om5H<>iA2Yy6~%eHIwBJ2JFf8@GhC&T||P(P0h^>V<%F8 z7;1B_24Z!qom8_|UALaOZZ)kfO)c_ACHR3o;%?2greShRx8CM=sAYY3);E3ghcIJ+ z?X~|uX;{xgN_Bt9_WzeqqYM21sY3pSR`Aw;kl=m|Om?+RMHMCfXhSva`#S#?Y-*{8FZVEWK#qh*6^d5;oD?`q#V5{Q&m|mK@&Biac7_*LwjyJ zaMZvZhi-4?1G!8FpPziQ7(8*La{=K%gU<|k7X&rfZ6PGMON27fZjl~hCTllcyjp~? zi#phF@ha-GvV8-(FUj{o&AX#_ zMRrU@%y3aCJoULUmw%Q7kqXN{O93P>OOu;F%X9WBM9O$eK+6!JO-n%Drs=YvV%LBq zS9A?%IWp2Upylx+Fe|W#ky_bPpQ4(LQ2&K0Us0GPSAcm|6C0qb_(2l zx_fI9J&2s43rVaHts!LDgT#26HBk<;^h6SvUL@}Ot4M4+0$r8pO~5`Wz+z&1ixGW^ zP_@|6@z1r$ckR-A(-Zu41h{<@{B=PhoS&>m3D)-|uo3nKI8oyBR=dNMd4Ds)*L?GkirkU{kgLxQ_WD2((Eg-8K047-T< zInWWr80j!l5kq?aW*Y)$9m=;QG>3Az{IBRaP=5?}hb(*4cjhp@9SBqy#zz4JH<*x< z-z~afT$S*K@Er);rXf6j6m&EQ*->0_MMv=+$xBD^o$wh2>LcBI$3Uk{!Nx zhSg@pc4KcI2;EuuBuDODD4iX-cSXLwbB2+7Hvqx~cSjPKJ@70&a*t7(9Jy2a^Gs-k z@p?~CaN~6iS&n59$LsKrrfs@naocnwWxb)gmUtPOZlc#2CuG@jLw2SPMKHm5B!QVg zy1qM#oOYDfGokeaY;b`21yR@0=}a^WJr-I_1#ds9Knm5Xuov*G3Teh>B3?q7Nk{_I zNDjU-B0H7wPKGuSc5({VIddVZ0k7ZRn+R2lA3GUp$htYj+I0a{{F$3{M-^^>^Lnh_ za#pVej8k)-R!Wn#qntu$c9cEf2B4a8wsRM|$$fxcp_`lvkibkMAHOP{jS7((URSv< z5!%#Mdb6GVK*jcxk}KLz?oUSAPX_oAm;+eEMvc{+aQ9zKUi65lXlQ%Q{H*FVrM3?g zHpx!&Ac|@`&4ZDzzbiwhc?bZ}$PPskn8WZa-Dw`KG}&n;&x#&_mzgFyM*`4woJZjY zZa!fVZ5%r*Dm7sH%}8Ib-#mtBRkvDmtdM2D8J-nA4ka+c@kj!50?GRBDN@>QQzthk z67VDkSn8~3F$KKI&dDTDy#l8IFWh-Om7<(hP81uqpPq#oM}E;xWA!s6OH-xKik^vg zFxpv2aQ+6*c)%`#!D!Y?Q)flbA=bGmEN8LwH0?YAZr?QRe2@sIX%|p}3w;T!p)Mky z*<+d}txBh9Vll0iizTbmv`di3xg0#5`K=n4vdD8TbD5x(pQedXl*#3iW!1-~X;+{a zwSFZM9GJn=v8C^bIIh+!PSdU?m1|N|TrXOP8ooDNUrPi}wT#oW>wp(d)2=7$8yxHW zI_R%69T&yO>(9_`6r$8!w6Wb)G>UmMw42B)gVf0x+RZ|jHPKcXr-K42?Y~HHvkB#p z{;d$nF6Lkt=N}pk|5Wc*;@#%(!YNvrBX+kFIBVo_2ca2xY=CNT+ZkhUZg)($qAtM* zZg90X!-wVG}}c;ZQ3p(vV(UR?rDg3kz9 z_7Ekwn`Z$5V?Bo?Fwc{X@A#sHjc{h5U%(;p7YO*G11!)q?B^J|E#5%h?~nxMd(!sh6`@MV`vXyCI24}fwEeb< z`Xk>}De6x^ihRM+Ge4scQvQM@Fu#(lFQtf*kW!Xg^s3(9i1m94%XJayDEPM;Gz%>c3u=e9}zs& zGDh+96HianEI{51I^OwVXoW-U;V%0HFeBH8G6a$n1@>%Kcw9W!1p#GUO>KQn`x<+? zCOQY!+bjgqb`%gb|J7K@hDqKGVqvP8!D7i7#3CX(ywTc1Z^t&L*6FwbST>xLLcqr3jos@kCs-H1YHkVat&3vOZti#+J)M zo$W$I*M_w`k@OQ`E8s_9R%DT=U;GncEAf2=EyzbiRX#b%vg#6_28tMa83cw zcoPKBD6@Sr29x#yO6%f2WBmjVdX_JBERP}h(TD7oE+nvFtKTD&BSH<}+d2e%dlE{pF?b z6JZ0%V{^v?{gCyjK`hErlb%Nn22$uzLr8fGN0}e~iAA$B>qB8%W)@YnRae-GNa}P$ z@gp!>vxrV73%xN})hfdXlHK>j2+DA{Wa$Jc;${Ti!39Sm3CuQl#$8avEAN8aS_0dV zz^D`f5hHZLc7NK-Y;T$EKxU&IvzhhLFe_|j*WHo)cXIrl>&n&l-D3wE_s4LQ_}mPK z7|(Tg22$v{yO8p(j&gqe_^gJGi|eXwcNpGghQrD=tC1`nG(p;o#T&S1Et0^D!!z!lB3gO(tg{5h zlfZ-&0TCi}&u-E~X0xrSw`3bgw&2L-tDs?fODjNSm)nb+COS^eC-F!4&ESJ5=)q1<=hBC;D2q#b6M{pDq!WU}NcwO`nqN*CRoBvL z8k^Nyj>ybJV$QILgsT0&@(WaYqqhoIT=Gfn$ksoR4B-pyOGT z#RQ&oCjcpI)hCkjNse+}{z?z~H!VFlEpKd{G#1lxeA#e(O~XX_)2eVz-dpW+a%Krc z3AN8DlBInzvoogx2i7|cNnlRL(^{_zfjOXx!p_PvX?H)0xFFWh?Ei3!?F@21({YC{ zl4^2C%KL+cvk2^WH-2>;DC53&hxOTno{rM|+NcS;29B-FaC@!t?%D|MuAKuq6?WIo z1xR4dBSYyaOX=e6uANWd_V2D;06KPeO>#wd*DfS0-Cer~KLT?xi`c1eT+}v``K?~A zZzp!stQ`}(YGMGpQZ&>5@*!1k<`Q9++)(=uHKK2rOOdZ1kzqsaG613>T#h6#SKwKC zL+whX$qhC6%ZIdFR{^B*UfR`wa(ijl;74GtWf5zm#BP>t8d7(5FD){Gx0iMu$@op8 zNGNAg zgSVIVU*c4+!!5wGIux&)Tk#$m+=e7Dx08vlfe36h&~3Ck2zaLh%y&nXXKfUvYs=e1 zyNk4|*Ys}U=^olW6!YFlOo`?_F?D3QFAFbLkLax<%l(q2TO^2@|KSac`2do@Jcws} z^cA7pP!Qiudx$6xJCqXpQjZXzf^CxWJ_@8rUTL1X*<~KX8_4@OlE6Gc+J5DWP$lGj zk|<9(6z)semanFLn(wL<^%)>pQKJPf^DGJ><#R}|VNJ5Wlp;zADPJJUiw-5dd-f9F zRVn4mK#HW)5d9StLdsW>U_Y8#o;`AE>p@1BWK zl*z}EWuwQ$p~J4tO|7Q3Zg=wuic#yIA_>fAcsjOhg(8lt^@_V^pOeZLDJm|AC`7}X zw|n*_5j@p0?w)-`JYD+!n!LYpyz|4MX4c)a?#(^8ew1M9+UKC`#>| zeMc2DSSz`6_Pt0=518qu`2nQiMKh2D=0^%BeMccOnN$xP36X?uo&7}EpB-!%Sv%XN zx6Xbca0bm2VbHI{)2*}L$oF@juWev|WTDPRA);%m`jbdHQ~nD-0`oVEME&AhXaDeh z1ue)&L{&Z=RtW1Zv31rFFJSpjNbsEwJmc+GL~`vnK3|@bD0BHJ))1XpRHcA(11a1( zn}?L=O;hfYnX(9{s?SFx-8!2eKk!iv7U}3@gqp8PJIdaPQ}%{o|5xEOLI2Ehh$>p~1Bj%4 zwh4X&W>Xf?&!Wkdy4YrXm)*rgHRUu=vUIVCs@WWc@UB5f0y7xTxOa&_<-Kc&C9nkv zY?&e;{6p{RD&1WrTbivb!J#C$wIf)~X#&f%vPTUgkKvAo^QaLls?wuI0x9&UZAf`r zM>)SWbhq=**!~#r8PoFWH^{cjET(9xZZL{S>TuiRM__hfk#jgJk2>6FzRT`#qPcR~ zQL@hAboRXy3gK{hB!Sr(&$z>hK;<277fWDQ64)(8K=_9ax0yKHaNQtlqp8jAmfs%a zH^%YH&kW*r%(Wtyc2|9qb&G6IN?PM2bzVJ|MOnPs3;b(|q=El9lCE>4i)@jN&&)*R zR8N^8S$c}UMOKeexJm<(z!dO|yNU?oTqPdz??se}K8lT=C$T7t2|Vc}nPxS(>F17t;(-*s29dU|R9C zwyG>1Ct#wLGiBBLU{lC+AIB69N2+D^!KM<}?^XOdN$!J9BlL8cY05qrF7^s{z?#R% zhuACcgZ1S;*uJ1sVIOQifCOfLGL#OnlrG*rSU}+R?}HrxI(8pSaz*#S4kRnx2RjHq z0&_5n*mq0xmbQ(a_rV_6_z8(UFHv?DE$^h{Foy`UNO{p4U-I)9rbsokGA<9bkc`VN))q zgSY2(8gZ)E;dJ0x9c0fdT{maoJv2BINnp+*6JG-n*lM7AUS|{V90!wJoIK_rrla4M39SQlpD!)g%ybZodtvTn#!g63kB!eEym!5^68 z86Pr57}w9o_q8r1%4H5EFZV2<%TO6F=ZgxqNXmExkgSYK%v^~Q$afWzz+6q5euat< zCFHw?DAzia^bXN=d{?E2*8|ClD3cD@iEwSbCZVOirX@F_VG3^1_V<7!ipuTN z&{8j@4JOyni0^Jq;vZh&yT_(!QVy4D+dsdye~o48Ce#>vy|!#6)igKbTV2`<^)`=z zx9wuZ4*yn&k=j9eoF>R%&EyW!6CyP|dP) z(=&v9*1?7`tFwK2hv_*2XRu6Shv|9Z=?>EiqAH))CCj=^>@dB77qI-BNbt1^Jmc+OL~`vvKHYqqDDU_v z))4Qqs7e9f15&ud^gbznkf!`$X38R*s{Rp?bcg9<{0Ph^EYi`<3jHaIvIs5GDe2E7 ztNqXC$m6fQNrsg-A_{r9`n8SypgQ)KWJOhfq0b2qh)W;Uj4S=MlL}9n;=*O0A%Vzlp33P1Y+NnmE+ z8TT_0$@y8)9i|^GfuBg==M(`EAY1|49G36iZgZPoEXQBT@i)gYKXb_2k-~~ydKE0( zdHS6~{NaRf%Ugf4D2q3Ee)|`YLcjf+l>c#*d14MBa5Z}X9afb3%p!#7p?=blNa~WE z@B=&CETT)s1MxZeBD*_^Qp#p7pjvkf!|~22fh*391b1DT#Eg{$;J z5}4k2#$82(ajp^%$NCVZua9CQo3&V!#RQ&oYXd24*z1t;x{fmM3GXhGC;d}5nMUF7 zW5QE1Ik_!4eo7{sRrLsW2G+|gl<1` zh^1WhRK26nj{P zEaGS&-};SN#x9Tb%)wN87oDhQr}s1c!f~Io*+TdvHxIU?sH}3cl>kV^WY|9#3Rrmk z)<^;~4A0X02g4(>+(MW?VG=V!0Oam*xahk`jxK8Fk$`f$2ixFBV76ru?ObC0-iF0e zD|YuFvVpgIupPy|7-8k5tfO|MV{#A$P z?xpL(+bB4lX$vcP(w+^Mv_F)lg4DVS=i9-qLmI9<0Q-aj_8>>6v9g5k>KWe zJmW*Gh~oP2_-;WxQ5qZycMH%hsE7r=s9=ethDQtN zk&w?@hi@X*e&@`0I(r*jXh#xxdrwQTkkwDRllViaYvpJeHiv32+rFU3mih$ho)F3hkozRgAXHc)*$9^LQhBc zo0q%)Wx&i9!1U#KHL}GV0SXlYm?Hran4`$bZ+uBDya48C0=GYaIRBrvDqSvrC_Eh5VZMw*%v>U4QoF?u-zP%e5o6F;yQ&mtPR zMEqb!OsNtZy+rzZ(aYH+Q*|>l=Lp%d(aX7jfQ8OO5}5PJ#`j*)!Ug~{U~xn*7ZC75 z2UwtK*x?k@!HZrlB2M)>TnxOZ_j6Tp35p^3e~<*`QquMX7dfrq8o69Xz{?#Vk31Cf z_0kpMg)mo;PW8%MNjwcp5>P9RwsLu%$O6hXqfkp$)*67?k%F%lAbq1L^`x-W(0 zT24CDx?h0X7i#?vB*IYZ0ZQEMMEvIn7Z}DlGRY_5#(_%I-bsr zts0N9$g5`axS*8}wZtgO}_nOMI}&cHqyG`wJ=VlkwV)K&_JF2)vKvtYKd)$KAXnZ}Ur`$=NR$ z^a{5kd)GBiX)yRSz{`Lr>;Zap1+FofS5Q#Dp9WRKHY^;1clDjL8eS#0!%&1F=QaEY z%y&s?eLHm%*G#+1?VmbP>_FlpJpZ3Lf(glEA!6 zULt!Tl26ov)1YSb^TO{D_I(E%F6KE!^4o%8rKn2{UiuSTA;6#}evR9F0EV`@y#V_| zN|80d{)o`irEX*`EM=4K)+>6H^AIi+ehfmPOLUC6L}aE<027!`$rp=+rT+qm6=n%v0wgeBkwZD*y;;K71a8wT zVJ@i*k=lF%B6f-(xuR2qZ^=ie2;bocE_P=T+uTBtCA#AyU5&W3&NegA$j%97iFf`W z6ySq2IIx*X5AtBNSFkL?)jbVUYI{c^){#9BUu_#hV$^vLB={S0JRMuQjELjv zykd~OCaLsHQE|gnA?k0vAiEb4Jk_!V*`_z~^ju#b^6u++=X;{l-@K-|uDM^XAN%5d zdp4We-pw@=nW$vuuodQAm{iyRFh>_Q#FKvzSgw*r&x>|6u4z(DLt`HB9VSmR{e-_4WsaT?AazqG zPi&}dXgNA|*o||bLO&5{DS2!x4~|9sk;@kiVKxSN8@UaeM_W>V;kYRVK=CCbxQEz-Nzy*0$*@F(+DZB$zjaZ87o-wGV%SgiJIVN{-*P>0~OrbW-h z>f1?mjrfDphKVS}v6E@I>nc|>St^F7^n07FK=ZaCA!u>eS{km+j zNv;`(mBYH)e&FzJMhr3A0VrYhLQw;aBHb(onjx|hMtgSrdw80vnQz7DX`>&zPKfI$rJWFu7XYc1igV%#fP}l(BMD3co~7r+g@`Dp#WEX9*~084P_j*Chq8B( zD}K&rA^_cYvM1pOjxDf=hMpJ1ofF#rK`O%z=#l>3z3&B~?_p=zmLZQ9KNXgiFvRPvDg{o&ZNXo;)U}MRJkt@c z)R~UhOGB3fB&#!>1CbBRL3p}O+$wP}i@XXlhX`8vnU0u5nH(xv`j^C4?vBmFPz?7v z97$k~z|*m1fF4h9;Dv+!v1EOm zW6dkb24i~JSeL`sjl;ilh2Ajx&}EsxJ!JwjPZJUa)im*<}zs z87!SBbXgg4pIjToJPAZlbtfYU%qbK_dWJ$Iz8Hm_16Cv?e$_zXRAQXwFv8XSHBmxs z)63SU6WD7PWk>Nd2+dJkPPxd5>N3N3O-qYu7~9%X*Q5S^4&P@2y~6N)7C-`XHu?D7 zVNwNe=st(QZ5q0zM|M)0b3w?C-jXXidY?yLI(navAAz}mMI2P*=wmoyiEXT}iAr|Z z&T^tf!`IAvE4_u0xlni{N9>CznH{k&M!x?3io^9K0E6rO2MJC*;8}XOzDy}{tWIg3 zWrV&Q6x;}X1zBFnA{tY+!y_Y#t!;yiRP_eutB9AO!6tf|tA#AvYsk)AgCdyVS|owF zj&yxT6glmAM3krC+j;>tX;#;?*O~b z^hplZg3X;^nws9+MM<)DjCT{79b-3$394BpHuaCQTf7Iz6}rWH0TP(|$i=TjXPrW% zgx59RPlPsgjoz&0f1qOfMadQI7at%a?H3=!kH9>{A~xk^VUn<46w}mB8aKxM{jg4M zL_^z4&a!%bSXd-G$ww%r?Ia&XzW(uwo#bNxL&JI;2|fUTXX#GzNu|h6Qf|)m%wV3v z%S=<5rvd0X%4hH+Fwe4x*5wK9)<)aSi0y4Z8ENbFlg|;Y>XvGr7qaXpm7941B{0H^ zNCNW`$@-2dQrd1(r!OxP@D&G`mrohS9HF!V-gM?w5~yB**MJvpGQCbw-Y6%E4b9)o z!i@2xXs7Y`Tau-zQW~1K@eW3N2MJDW;296fMKBo6`eL`>|Zb@HiXbt3i|@`3prPiK6q#1|~`T+4hZ zXyqqjViINYm1J4*v5DB%C`O%sgCsED;_2AZb3`0h=M^Vn-;v7qDJrh_EJV%T8=!w6 zf~Q)>iP#L_g%hzK$@(Y9I=>bgu-;@-ip-d_$coP?D* zJM=e!v&I_#5Sp>ZdZ>bZOhZfE7*xO*`+1Eq+=3|amy;Tk_NZ@VX4Q*zO}Kor2*&p<^&xZcSx>i+%XqfY248nKLRs1i#ReK*rB9( z>C)pGcAZMUiD@k;g*bZ=0#z5 zy8vdoAYb2FG0vF}U}y;QBf;kn@GKqYET|M2=PcQwl-bQffUA7GX<%K^`7P^NO02N2X)0ZCw1Bqv`Dk=m-E zA>B#@%sIgPgbq?Oay8j3Z&-E+DP}D%SnNvCs<+n4zzc)LRglLC6;h)6{p(7KnUhW} z!J!^BSdF4pujJ}NmQMXIYGk^BD}1awlECz!=)RAMwZoA$JZiNDVb@H-y2?+-y*&lE zeQ|FukO<@6-jtw^FM$mi`;yP>5cf(CqH(X-OGDDNB&%`n+Q^ZDAAFgy!&dasDC?mvP^dM(dL{0Pi8ETXT(?=@5{w&nW@T9A*3 zs(iMSEbAjq(~QCkSblpX_l>+906yBA%Gb!(q zro3xr$|9Vqz8jJBuEgE(0|z`LMyTCk0uo~b2) zEOLk{D#th?>0MxT_z{@#ETR|5Vyq3U)PpAQoj+qNe-UC0;FVLoWa&o{Rnve%_)q~! zVD`c@?n5Gw^P!^mAWpOdCXqm6ia-rYu+2cWT|0n$#mncKfB}gnBMHpjcxs(w!nPf6 z4X`jZkGe#sLM?g}h@&25$fMcuKtE(Xs)a>aYSQzlRv?8QHHDP-ag_5zJMb^QC*afV zy?W)s8`0YMITV$0D#>S&QWRA$m_{V^w|(&=F#EB{`J4T_W#zFy-(~kVQCv9%l6C%O zshR^&h}u062@XZz8TU64$W>NRe>)fuAaDqhz#NKaoPh8T{cY0@cstyFd8Un)Hiv;8 z*d2}prz!AMZ=4CVt*=^vEBoq^l;9{Qf%Da)S(L>KJYPKqNTIJDOUlPN%K0rj;BtJs zEJA0+=Lhwc*vU0=Idv0nt;V8BT`lg1otE3DzRuLK%pQW>rvb+^#^OTi))w`m<4HV= zjH0Ic&k00QPdyPo0&^0J=&5sea6&4Rlld~ctBT&r>J-V+RXwuiRFtCbPeT%z)A5YE znut{1SI@8n&Ln}eQUpYR&{z9+0Qq(p+MEqy5cV7-fjJjXb=39}wq9yQt?Z@ek^T9O zz4OuwSd_&BJTJWvNTHWrM9LSF3>{$e4m=dj<+>`})UKB{<0|7i^_@#dH;Z_pp?b}K zh@=jBDSiazG8R!jj5Km+o$@J{%lS6Dhlk7%zLw&mDN))5kuR?-PIp7(0Q4y-V zi(X?1TuTDir3i=wp^L8Hp(+>kjBKt48HjlUlEB=Er#ffbNm{qG;#GFbo5=WP$Jn{$ zbQWc)ch4>V3#8C3Zz1Jd9p(IH9Z>CDHl|aK#UJ3H^Bg)pw}WZL8uGZNTw_xUR*oC+ zHv=_|(^~2q8Yjr#{mO>`TI$TChQ^wS>MpmDY8K%{KXsJbiKI?>2Yv+RP8PZG-AboC z?&7=bE-Csdr@JNV#&=8A+=D{Y^u0)MYyr=>LyAD<9rAul;D1O0^8lW40>VG$kZm%s zc@ShE=0oK2u;XIC+}b9R)*-EUl^yaCGJe!Cb`JR%i?YKjjyNETT{9rcQ*iKPDb41VCq0*fO5qcF1p0mvWQs`_ylJZZEa(?3u__HtF zWsSQVKb?a=zS9q*=oIC`RS}g(NV4;~Dom5vsi3{bLDq=qdy{;u$9(5`=yygGS_c znXGF%fgYJ>eWSxtGb#{U|N1dBRSsY>um`E#W9wO=L z@4O`4#gQ&@Df@hxnTVXqWPZug6Xr&RgqN}}fKnKGK_s}}0nd0niZIR*;_JQ(6J-$} z#V&X)%AzbL@T6M|NMT!DoRpVvlP`la=oStGI3!;gKLWD~i`WSYKX*JM!6>{zYgK?-%ZcJi z1-%=zRwLaK3ffz~?75(%jH?S>Iz$$Ex&a!F&>abOrO8utDMWILny6HCjQY1WYY=u# z2a9fmJ2pH(R3Y|OZpB=9Y8Wj%cuLqF8tWRd*Iw^NhJ-lOb8xXin$K>Xcdg7&98-j>E zBPY3{XXG{_A3Y=24?hC4F^kw-7mAD$zjRA9vfI{s0%Vpua(`jR{_Vw%&XEUDPFA(q zL;$2p{Bvtdiy`bKbIrXI6=*gE23qxINCGnu&(i1DHpg2f&LeCx&W25Fki3(>XF{F6 zi=_CU8xIDQyOL`NegtL<7SYO`MNZ!BW_t;#2HWjLdVkarWwrrtNld@d?vIzd>))@k z0T-?6t%NLly@;V1ib9xSYb5x@0-o`fCbHU|O|Rq{PQVckFn-@&!pM3xS22COgLflI zta^R60iM-onKBjK+iVLssJI=Hz>Fd@zY&T?R>c_|IcRN9z#SZ5fpy%BmxW@Q{46hQ z&5R~a^_uJmJgbTCT05Z>a!bD(n4L-5ms`ZNa{t+pa_>UGT^(TRimqbP{{vi=em7!P zFa7So3lGHYfqY=bkdg@N%V2G^C*M`zLSu_Q8o|{_*14`;(KQx@uumLE)?z$oh z>|?u))Za_g5o>%3%h@P>Zft@8x9{9oJxGM-#u_L=!I!{VXfN`a_2JXdVXvY^0-0)Pge<6nI;x_)omsVTKV&1Vj5+#w`5uK2#=#bU^gg6 z-8Ul%ObeclEnP>%adltu{8%fgOi593gIpo%hrRP-`w+oXE#vvIsl>abBOC2B{0Pjx zEMkM{2{o&~s!LS(_r_z}rtW|S+I8$l`7@Xz`R5q>6Or{RU0-;0SAb$v?*T{xb0A@8 z91q40m0~`G-FkJ`L4-dzf|s?^Y*%+30;Gs!a?;^l-F2u?pZQmJ9VYyPjxvsOG_Q06 zMe^z{j#0e2t8CPBIN0c%D7?b!2;sbGCwk+N$m1Ilc-r<82e$%@#0_lMrzHzxO-0ZWT`X1lZiV}NF0!x&F9&Y;eHm5*% z>!<&2lQ*XdV}{^fyFZPl^n9XJ7np4KrwcV!`v3Q;;0(wPFFX?ozOO+GNas|Dsz&_G zhGzXSgTgw<*@QjE!G;sSs16J8#92L!iY|?^6}c&d(+>Pxik6`w6My`29`FjATP4q@ zk{387^Sz-{>ISxCQ|r}>2Zs8zOq$%Ki}h@=mhFKfryCN>WLK5PCY$^Xs8r-6dzS z3n>!S+&f$r3vb-(1$3_A-3e+HmcH%+NMP>9Gd@Q#e1r@vgCAp%DBKP4%_rkM4L^pjuegx)!ETZo(23o3p)Om(C z?ulyj^ZdWtd7B4>F^A$8J35O!NU7-u<{<%)TFSf{_AoHeVje+)&zj&_dNu4Zyj9|F zb%ebaDP|+{xIn#w_jdK|iNCNXbiHl@mXCM;Wp7~Fd!iQc!L113QGw$%k z#Qp~;D)vi6s9J2yee}-pm&x~)(tOhk8m|g)`xZ1_1Br0<^*SYZ!6au-UHO~+f%_>>5qYNew2MAP|9$m)8==g0@< z3sPbW-UKZ;%T;%YK_}st3Whrc%j8tWSc>Oj^^0@Z{|RI&4EsL=1fMw}KT*DvD&CO)D}mcI zoxF6^{{uhpi4+#mW#MyF@uECz5A-(*!^;}} zLB4+R%)@*K1kiBJj!1BA2cD&e`8n`bD8B{9ytOW7kt`$ooS@)F_PNNiGmB{CIn@De z!LMHYwMim^8f0|bgKf&@2WkdLpJ=t0H2 z8~qj|?BXd{=jw&1HoS3S2_jUjM69n{lB}0Xv37l3e%!y&%H)Q>r6ELWTD1%%%i6In zOK5hieIR!7hQEZXxSmxfRP_(BTU`!BDs-#M10*mjkegq*&T5578Lw+ykqB+-TD{rS zN}yuyWme zl{&HgY^1f<&-Nx-)h*lf5weV*l$+^`5*T4EB!O9*WPOJfDQ!3Vr|o9fA>g_Wu+$BJ z#T4+SQR|UF^$M&Hyl@YD1B$X?IZ^CDyipcr&C>acb{hZplPpcO04gSS$D!F6?_jk4 zNCGne&-f%j1cTA6ucmgiHzC%hDJ*BP^aOA-0dC&}a3Dy86Tr`f*I_K|?bO%r&=skq*?5H){qVBeMqo@yB+K!u{6=u|3O4~J#z%kdw}X(T1w<#?bwy*GH}@M&ju~W6&i!^2x~z}(NxBp0paSzq za9oGdNRL;DG!WCUri$GRxC`-ib$H>7X}PYdc6#!+8-cUND7zDyF-l)l$+o6xf~jk6 z9y7MaWIFKJ0m?8=*#m?s#3^F{5|};7(eL(?%6KtK4T0MfqeKTD$AX9rQ6yJ1M5!eo z4N=D7M_}q$#KBS)#eK_kmuXnf+?1M$BN`fQS~E4ezYI73O=zhfuwGxi%1`vR(aS8I zBl;4W@xn71zD%G>HhifU0I9vq5ljOx;K~IgxbOqd(hmt6raJz_a?4KOng;;Gp7u zNCLAznfWS;MpnfcR>gpT2ROh2>zJK%F-^Sq@<8HLugO8cvzny*>tMWs@P{D5T_2?H z3oo)-;Wf}ajDUwbK>iU*##Ub1`@9hJ2$HT|$0Lc?sS~~EDEtV_(JW#U2-h#vC63{n z3QSldqOV3C$4Zv|9a1yLp$OJH9!X$Mz%w2%h#0V*A903J@`*$_$)RxH&GwTjwi zrHrQlDQbh3o;ekTkn%JnxMYK5{W=y=N=SJIQOt5V8~fD}oom+M@NLP&WDlED0jWPK?` zloC>2N|ehSN?w*--3X}WyqvGA6!Z!pSwUkY&6OyJtXCny%@w5V%PImTWR=CO`8u%) zT|=yEQ&{6r!oedwAG%I}+czJ&UZ^kHi4xp^Jg%}3qVez7-Xult4B@Q%G*$K!zS4v1 zd`Rr39mdU))%nnLb~N9=q^&ZJ4MCCYlSF~=+O!C*s0zK09D9fjpPjLK@pxcoL%*Y zfP?CP7)f9rA!jjOAu@^B6&?`%(cPnjeayjzGbm@f^bG280%x5;JwfQ{Qiofk4#zb# zPo7vaZ43sf*19oaMdEJqvWIE>;5Zj90OvWedJ^<2Ost*)NMN3(AbwYv)X|$*JwxC& zO{~1d-)BL^&a5O?bY}G&8R^XGdHe{>3oN47%iq`ey7w+^J{VNzQ=+bQ`vZYK%l6!| z$z@&?X_7Oom#CthX}yemeLnLv>lJ{*$6rMfnAh+uJlleo*`m#NgRJfg!MP~9M|940%L+6p0lf5fs*>{wc!Mq1J z*z$cOf%$;U{PrOl+0H_z0Ur|ZBL|q5g=;uoX=S_+|6`(6ugoXF3*+ZcDZpoG0qoH8 zc@`EN2}KhfO23dSjiuU{FHr)se1#-1U*j1cMMVfVigxJ~+DId)Z;1763d>b>I)eI6 zfZG>AeGd|01oZLrH}QN=&0newS=Ig8Bo+sQW*W1m-V19b5X1h~w(MVg&U!sr-|o;(F*p)a<3S6)>AEG1l5sv8bNi!kHE~qBG(-awxciqJR%%>C5Y;6<^-T^#v=4=Gkm1tskx|7 z2HPa#sm`LH>k~^GVs5~}0p>vxn0d)f%vXpEB$l<^qTagQg|PEE*f552meeNi-MT$L zfitL)=-C$lUO_M2UXW}T^4Z#^v2YgRbZ3!V+ruJ6(rZ^1#gD)&#v(dT7a2Wk4Ayn= zS2fKV=`YUr6_g+!5mostAz9W#oTgb4FJSnkkOXFFJmW1-L~<=Je)-BWL|N8Hv4&WV zMO6y8JdnbDnH5NRMMs(EzcJwPj->Gun`&Bm$TD|sQfqUIT+BMQu4SLPx<+04<{v5H z^@y6O;Z-avWtK>kQj_I~q*o+$#Sa`1U=gck4jqH7%B%2&ADoxJ##%H~HmgcDHW03c z5>(0RNCMLh&v=!HD6UG1-YMMO66iq!YorJWb4*3ZQ~vIydsQYiYg+0(Nxhe&&Of24 zj+E{BtT@H4MJjUVjK3Y_eXFWBh3Vsj3HyTOy27|E=t$D@slEjEtIYS<1A*h;EwUD& zr=ygcg!n+%q?(p7ay`$OrtxENqgjdXR3)|xd(_{;>C@UES7G|J4nP94F8PYbl~T!@ zKCMUKHcg*of7gAlYJJeL6DY|Qoj`3sRyu*&5I^u~3>L9*Nc>yGMEJ57u3omaF6!Cw zZZ81OvguM<3e!(GC#OamQ+PWy>W_T=Et#iA0|1WZx(O0|T?5b3Q=`q4GN(q17B!L? z2$;&7P@4nFeOYP{egtMPi=6#yOWY=+7hOo5**Q>T4{sl52#NVEVt;876)*1CLdd%D zzN8FhOTfWsTOkR|P%`tKTr{$S{S2_hR@K%79OeKEG!sX;Vw!lfx#7gAUXu~PvznBs zsF47G3fmwF%(mp>s~{3v6?7W69RWuN3gtPS?5k8vop$IoL!IvW>-ApW0(ly#<0|6ZZ~4>p2Bh#N>AqY z5a9Mr=Ei_TIGNj%64dw-SObkEpV?_LCk;U-b7D8GlUm8@WNsYtI5~i)s|2gecoums zWhMyPN}Xi?y-0g!#fxc_NxfuQ@v-AU4Jbz47m#2}9#6-X1VkKH_Z25|6G>%Kii#UQ z3Q_;%P39Vj;Hg$jpM%l2BqIGL;^|~=GI{UqcyoVzM9p5Z7|uH+$D5`}$YWH)t=Gl? z&^Bce`u}8bOHJIGAxWl5ZF1t)A}Y9!ytLA-fJ0?ZK@ymK$W3~|LSziFqU{KE;x?7A z(;RFV**L4ECvN)^xcchck9azB+n;;`pRa8P2V|j6-xbl-`41$L&fE^dkH8$vB96fE zS(eV+4&nO>T9A*3s(cQWEGr^T(;S8uu>9dj@F@>GVC=wXF)P@@~)y#x!SJn&*(_xsGN&D*@Y`S=Je6XyH1^dE|M%;Jk?UzM$;?FL)N1{YWLd3pc~5vf?WHJ1#a@OaFqh*Q zuUHYrRcySST|ty9eH3egt5}r91fFzP11W50*O2nHj&gp5&?9oRi|;ngnJOO|%2$j00NSXk>uB!RgJPiw6V0~?Oy`86LjnnfaHoU0o+Aax&&}Hegx(o7O}S-E*-xtk3{B~D7UBJ zyV6rz>KdD|_dKRyLSvJu8`slbAQb%!Q5x!+!$Ms(5R2HrY69rbvQ>k);O1W8np`os zkGk3wgZq)MpPG5a;C}!|8+iapU>?M?^oqelN|`GL3#M#p9>)91s|Ak$%B>bWiXVY_ zj76-fvL`O>2q4vKR|_Irc&i1ElbGLdip(C0MB7gYS#~UCWiU?y4hDM)2~HG{ncp5n zBlHs(9cQ3rVzuBI0zT^i3p5ium|~iEs|C*yr+Q7E2cFfWNF}|1mk|F&B>0F2Ir!p> zv{rmwDR`NHuQZsg`j?Y98Y0iqyR1 z-No_F_d`?S;*4Cq$TcZ^HAe1yw0APfeT~vv%59A`_&^)JYbl>=!%J)^*Nrptfs!2@ zM5}*2vPvyi%}>oT7%912wSb7vif^Yy76c)<%0fs2voOVxZlVxbO6maKf@nk6vlb!j zq7F8kbvToz*RvKQa0WdS%ae-}PuH`SAm1f@zP1%Dm4!MzUqsiYvow)(hP@1a;7cMb z67}=(wI}VVm*e{iT9A*3s(hB0ENd!G)2x6Ou>6Wh0<#jH@kS~lxkehFXXl90)km?0 zSeZpt3b+c8!q0!NO3JIHDX*THvIwWDcO#O1thqaW;2Rw*(t*edy#|Z22rben=`|&* zokUOM@n`iU!^+zUodm;2w+N@-zYRMK=^|ta4tx&=weg=yubTV*Uo3H$ddimu#v4S#MN3x0Vab1+b+tx#Z&t2dd z_cjs7d0Wxtx(zIW4M||56air$F4v8O{q<8m_PfoP7mKaiZg$hpa^INT`#bLWna|1& z4_2LGOMvlDkPo0hn>c~os^6w8%HkoOS8oQS(5nZM^5%{*Cq=2y+Vk)oyb;mC@k?rU z-9cSh?O(Lf5Fa7R+!$x+U)13Sd#NhKW6hGXbrW4k5-6c!EOA$AF;2nH!3=;eiJ)Uu&6Y_&Z`OPJP-vlQz{alE6L&xUThJIl7Rr%fP}ddI|hS_6x!^t1wy zLQmU^lqWjM`N7cM8<@lCzUObTu_XkZ7RLVx*PBGjSp*av)e{iJ-B7kP zi;d!BVA;p?vTt(L{4>xLnTXx@HgrXLn)l#a3t6e$20B(B8+o__ypoeq8#O;*jW5% z7G*JkC*3hX3Y+ncK%_*X8^BD=!?j`jJo@gp$ju!x;@>=P^@hw$^3=K{{E zB&sG=Ix14>JQ6ISQtb1V3E|Ecx^%d*f?NPFxXOh{0&@|WiS&g?Kv4{piORXwYI-qY zFLAJ8)gBg{!+@}kAA+flH1Ie5qdfl$;(BA z?ig*zE9X98S2no`_>pf{bi2*8ru$M)|b>3CwlmQceMHqx^aTw`rqXRwnF6D{lZ1yGt&)qPyfb zl8^3^--I85xtT?5efX3^XpQ(sD@7x_96O7=bh4;q#})7_y`OzYM3r0GGJb~*=T3Q7@%p8^0OhV{r_O4&LmzaK2%(iiTpO9s@6)`mTqY!5JACka4K+3)|imbMW((9KVB;Z31FfRwq zQ`Xh<`o$FScHkc-mFg9F1b9}F;>^vX0Dw}DAqmXm zdAsK?60>^gUjkmZG5s=Sc%`TeHgtG33l|z&^wFU1HOV?>wK|#CQ3(6Ifg~_*;u#N? zMHJY__7JH9`fm~I?G%=);q-RsI|AIk?a+5YBHRvrj}pA^OJFVZ0r|}O?a*b@U!)Aj zuJBWo;`zD{DhAWq_)xOC5Bd@Ef%zCuXML;1CoJ;3$$Tnk0L+QwYT zUS>{!!XM^B5}3|-#v8au?;7~l5Q{^g%xJY;%}vC49Ads1R+q)ruy1ppn+yw@bK4Ib zzRidsI%RCm@o!?fO>Q-Hx!TE-yUDFl<63K5ntONIY2c`lLq~4e4||MQx6nW*H*(03 z!Q1C{9ynHn4K7Jvls zfd!ESW+Cb!eL^8JsnjxSzM$WHT$r$nIM{Fk7}T4W$HChh07{cdDYK~g!*JZvuQp}Pw~+OJBPdH@jyUIR&B z)+ApVIFePgrhzpUFZT7vo<#5E(Et7BYkGsZZNuIoQ6Ea=4c4*Sb&`u-eF;4scI8zP z?o)cPE9%0EPJNf8KUcff0*wl5MQZ~jFzb++*g9pbLZpkgUbHR|+O%HeT}`(hsMrM~ z$rW8NTAz$`!Ds{g2+W2oVwWHrV7gusb)Ml@9z`|!b$(WN*JdMOm0UjRM>*~C(Z^ z3}O+jEWM!fKig+WP1rsoQr%m;7)<00eMVxq8X{y}&+B-aEl>`#Y>6Z=Tamc$tRk`P zc6Iq;C;_)l0TvV6TeTQQgsR0xz^M1G4JY3brTL~;0!9jO`&I(B0f}%fvn?gq&X>Rr zIHSmCwpa-ex73vYF_?}T+e=ng0(L+?Fr)Ew5xdo5M;3WCWOfp?@+$#i6J;V-xLOB` ztpx0hV))lCNN{`vPsf%cq=*CmvMs#gO2BTUvU`e(>yHXioAFix_8@|%TE>-tF~AFh zf<4K)#<9+CfTo+}8;;>X;(x$ntPrODqLFRw(O}?32({#wLGt7@ew@%{b8nBFb)bUE z8;>L~6DW&x4uwd5F^i2FVqY?=Cq{$ANR55zjh+I5vyS0=5t?JTL_%^`J$8A*n`lCt zyTRLi2(d?DQx3)0?wJS@6^8Ih00~SZdHKDfo35xD-tgT-;5H54G8i~P&14X=Be>*> zj^KNfmyX~DKLXRtB91NcRe*5d68l((6P4`HEr)ey!Awh7nHJ%a9JO01n;o^M2!K>Y z<$-%2fWireiJWCJU`$kkbcBf3hPc&8-vG)TJH)8Kkt^tc^)j8GMtTn~xw)sXH zdxP}>#LLip6NB}ELYA#JWM>XS5v*`9lE557y1qw>oOYbnPc$A%z{4CM|9(rpkr=iO z{WfDU4ZMA;!%3ie4UPbw)j*E&#rT>d@eZmSg#@2-AOl|&k({c?a?$E`HS8F|9-D%7 z-du?6?{)mg5us}7V_n(tWPL)4wd(`&JIt zwt3E5oadYZ>HEBO50uPwB~98UgH2ueQL3o0^T&|S`w&Uf$M-5Zq8m$QEn(F zijCNB%)*ROrf8>O`c0Chsib3$e`@h&yo1rEBf(cK@QlamA{dNjoiw#odke8{O<_5U zr6*{&32^%+Xt#qzI6=FE65Q!aU=4K_`OFp*G-*^iK@)>%rQ9u9ouJ)=d|>Xy(^=nY zaUY93-!k_LTKNf@*hHE9PqM7}*aYnX6r<7~L=u>X@N{hHIwFp%^okR-he_p;6cyKl z7NU0Vjnj`3!BZ{c1nn{4g%h;L$@&S$I=?pjyTUgX!&u0ln>{Hssk$g*JF92_^X6tx zkyQqvlXJ7Dg)S?ijUqk+0;sZQk>JP)#gNXe5Q#3vVE^V{V;de=e4cnOIJ|Ij<_;{T zCuc7bIBUr95}_G#$Qkyrtql{$jj3&FY{6gLl(@Sltcf0ljl=ob%b-#r^mqjzfq9ke z{O&!ei5GUfM&LGu9nx&v)wQpKjtx8{S2XZ=gRC_0coRPY^A?LZF3Jr@am&C$;~OS~ zA5zqdXhcODd*p#I6X$C&-sWv#lZ-yzp|m#ocvk?VZYl>L?*SC<`92bSb^_1R0mz3D zRmLDPCdCE&NFXYn)%zGw?%tVC@FOsvvWTWGe&WnFa;X>F$RiVY$K5_7l?;tMF@yVD z$g+(WXKua#0F3k{lE8dLF1`ng4mLoU0h{AIz}E!)#sL;+81_@eRPchTZ;4aA3f}=Q ziWK6t@;%-``X7)4W(FDf(u=TGdJV6BB;ZdDFfW(a#QnW=b$IdB&!kYjF24{@ua5bZ z!u%Eq!=sgKeBqIjENp0dQB23zKP1a4kLZ~{Q3yl*g#`Cd;29rXMHDx>#xIZghbSFZ z4^h(Jzw5|%6^xOTvJ;RZDfRnzbD$7X&WR*2bCIlHogzv?O7F^&&cvEKh2`8b9r(>7 z!0ikC<^_o`@asYe=JO@6A=CWiGg}0H(p)w06N9PGEFf78{1!wW=O{$v_?Ph(W|3FV zW)VRvANYw)l*yu!O$UC9p%|6EIFi6Dfv00jpAm6frB@96mL!#>QdHdVRfxJ*FYsHM z2%c)$0>9V-%`#-YY>IU<2=Mlcmm_f2aAtWzPe(t@a~-wyb+voxq0BKFw=|WymfyuS z^|x|8Wd+cx5Y(&)5FCOaQ@<4^_3?t59D&;()N}QDU#*e`CVG-?LJlL>9t5lYabRsKwkxpMy zsk$kewS;WBNM~&Tz*OrX!DlAO#dmAb!Nv+RY^1Xu0oQkc1saBZQZW_0NM{4$RIkE@ zz_Tipsh*7h1U3303Czai7~NVYeYjaCZfs@nJ?pbHhw(QE5wJZI!}u zj*yNmh6-@|VvDUoB8)ADQG(&V1lCd`$Y-{QEu?{HY#|2IS{W%>jV-o89^a0@(^=nY zu^o#%?=qtVt$b`DHc=+qOEw)_?0{la`e-D9*%432mcAq6xJs`WTkJ$CGPcC2xWS_k zb!c8}u`>}o)w0DFW*6e=Iptl+dpF0McZm#=2q4!mUXLP2L4f>GbF>&JJD^`%$hY3-YgnE`TM^_J!KY1memp?Yz{y+vA$#(`q^^vy7sqTJUVi(tv3e5W`N68K*W zyok`#QOY}h?5uZMO>HyQ9V+d#)St-}iHkv^!ivNt013>0$jhJeB-QX%BrYXz`&T3` z10A~}A-SR}5|@*eu1H*gAGl$HMeO0_%uC!X;j**q_Y*rVqOFb9X7Y|pObm0Cut_dO zTus64Qp7dL*PmH=DdJkdp)Fj8Brw&_5wh%JiZeI20st1e4GFG|AQ#__MF%u% z44^Z>4|^?l5b#b1SfF9p9~4u;TYZQD0{+hd@?&Bpo!*Y;#nkfFARZvG>eYIXc)IQK5aoI}lB=^cO@G_v5x%Ry zhSeZC>HzboWLf(WJ@Xg}VYA1P1m+1m<0G_);yUv9w#$=5dCH;WW09PWgirHzm4ZG4 zBr9l)qfi54R+n+!M;=@1cshT!T71YNub$0Ef>wSRM{J@@K9(#SQS5BcCn!dx ze~Kh9pW*4)vK5LruF@+m<9tpkU!+FPbVy&hlUcmC5kOXE9JmalP zL~^YwK8>7{D0BHJ))1XpRHcA(11Y?RejZYuH%+-qX38R*sy-i)^d9>8@gpz`utthVljkq^uwB*V&+OImDX!PTWf3^ID;c)!HNrm-~>aVdnHwQ4mr zE%-iIxWKe1DP$2ubWuSTBa$vKEsh`9OlJ`#>FgxY5qU|z^XGTvSC>RL<+PM!labES zD1;L&g9P7Ez%%YdB9L>UqDxE5Spv(GzzQh>!arPES{cf8uV_rOqNTVJDdrqSdoOZD zblc@xw#62h;@7};C6kpM6StTvOVdz7MzcR+%_L&q~-#UhNW;&{}vBT;tpQEUJqo3gR{u!>C)7?yd`?F^)_vF$?2 zyE@AG&BQlG4cex+m3mOqxH?>*y-x$aUNfa;Vrv~kiSVl`+QYlA*-VqI;ikQ`E8Z=$ zaH5}@Zgwf%wC+liNOBI<9C5%oV=OP6U4D!5mg)R%EO-$MvuV@ zj`rGrOK1Qtj;J!UE^+7#={g0h=6@N+ z0?NhL_r^_N_F)n0Cp*NgQ;t-o#@8b|c=7ddq~dpzeDU@1LY9M3HgmHt0AQ*8kOXFb za`BtJ=zy^S^X^0#9`W^nfCo6h5)H#~BufP^zJ4Ha>Q~_);6*BARL#KvfC`5o3CyA7 z;;SGMs|q&Aei#7{cYuYJQRS1;Nh;Tz7k@v3eCk*GNaES}`%x76=t$($+Vq$_Y*2vR}DGl+7gLn+92Cj24Mih33y>J;^CAgQQHs^%O# zg2d+{!CP+<_azpwDoA`jQ7&*Obn)!4ZH2v%59<{6A|R=-J+%GHJYX(HDdfBa30@oH z8n1m3rh=T85#@4+Qjj*Pvx*h-3O=h-%qxKuwNa&Ku0kQCyc$Vh{zJ09HAR#PQeH!p zYaI%ujIE2V6Uq8giYN&wz4tCR6Kg^W%Z;+>_b#^x zaM#|u+zJxmdzafN!R@{T>a*WLKL01)yU6Tg-@Ayx?6`KPWbJ#GyO0me-MG4ztXkZ| zBCnp!y@FQ#y^GkyGPzH(96V$1UG7IQD*XW@fq4*D$Cd+|h~p}~=6jciNaf)a73Y_g zB5%Qa@A3!{Jk_!mRq}Dlc*H*T*PKVm`mq%2Dt`Ur1kUT%KSAgTkb>XiN>A*=<$R-> zJ7GHL**^(lH9Y&L01}v|$<^^sM{J<}{0LB-to}S}&%7uMlTQ6hR7{=vmyvJjsO{0e z0yuQ5SCItfHC!uu^sifzbm!-*Y&r7=0Big7Zvx8s^l#w?M4= zNI3(N!1N$l-0xJs|-f6h-T3#6zxKcW=PY@YwQAQ3#(>hM3M33h0#X(4i7IK_Po9_ze1 zR&sPNyrUBrsm9$bDo+b@qcbOuPHb&&?KF$wacMZnhQ}s0prGYA>sxNIZT#58#mUMZ zo45pS0<$EGq@R(A`>v@_x4ZVuQh?DZM^sFz;vJc|G>PRfWKytYgf1J0XqqWRZ-Aho z^g$AszGNg)mm=XrA+!}#h&?WGS;8*oV8h_J)1ojK+-kX%Vu{K}CGzPY{Ti(42Uc3Y z-s^+@Kjk6n$l2)mRs;0+7J0O7hht_tr(L5qOf;MU3IK zHI~a}br8`-k>oNLMQf0cT@dfDZWhse zbUdXd8gwWU`|3~>sp)-9c2i>J7>eRC1+$rujXYB_G@GLkHW-W~Fk6ta-}FRQ9eC_1 zh+7hHD+g%5K{R?a4m&On;E+*S32(`@H7V4u#5TZFCG_J*K4Y^j9zvPzkOXFXa`2TA z*;Sc|7=-W&Wd{NdaeyV(CTHiYI`EcTLy1$r_&Wkm#rGT0PAG-k1tfvlnWTNWMNF03 zF0XbW;I0mkuB)CDSlRgA`e`>})-U}q;Duj9*qt&A&y+!(!#(nFp|M3D>q|9C)-_Vq z$&5fD?9+rKFwMBeJt+|d_R;Ym_4R`yu|}q_Tn(q)=TQROHTSs%BtrMOl@gSE3DiP+ zlF#IKpXW`VekeUPJo!*sy>*?%ShgnGBx_yg(a7Ty?zlS3s|Fn`@>-G^BWTrKXR(K6 zvX^AjuCqZgD!hy&FrBzMwrnpVj;rvRuJc$@**itWO-`j~nDt!eeTd+xmd|xIlz{b{X#z2m4Xd97-p5%kNJ_)})MV;faRTPP)lR`sA8Fa&2H;x!Y=i4v9q(aeN?%jVL z4S_7(x3-K<#xm!CX=;^uE+z50RMm6I&Li{$S!FH@G2IzWefoMwo6t`U7jF7_k9JwgX%%FWs)O z%TBUh3(O;ehUg$?Na5|Y5YOgUsg zC`Gc1IXEUDx-8C?4KTk#j8`2-$_YqEQC}l)-g)|ULUW#81{IJvdn`6VyW_n2wj9Md z`VHXLn4{kWNMPO~6MqPFbF`J;o1fn%@FdO8G738>%{w5ZQ?%qVr|5Ud%TCen;U+Ne zvxpOkyp6Tq$$;q4F;Pk9=56r28~raHHuix~Pfp7pQYM|2KSI9csOr=5$ACd|`vgf~ z{)=nnY57x2j?;2VVIDCy2q2}(lksPG>?Y&SaTAy?SVS9!XMSl96%%U@jr8>9;V+4o zqlYHOm9K;>J7~zxe2pTQ;2R`?`IdD3_9t@c6l{+e`;LI$J3xLaLyr2AE?|!r%aYy; z2>(Fj`lbI7c##+3c$$eQhYCL-3CzzV?yDdYQw13=?9pPs5cby;tZTES$nM^F{u>eM zmOM66{Z7_@q*%M2Uf8;OyNett_9xh-7Ak*HhP(sd--PA>xD*6T9w`#*qHl7dc6KR6N_eB-)I^x1QP5kZOam%91WGP*2%MIT><~B|Zt&53 z7P0&0IZ;eB)B$la)bI?DB{d%Qpny6a&L{v8O95}GGCv8_ufPJp3tx3CNKqE5CW?CA3+G`* zk5RO;qMq3O?U>b0Z``jWJjHb;r_2Of3Vl9!v zau!Q3vX&I!t}U{b0*P>uwKOGI#+N`1)th{#_##U>lwD+rv22C(k*r;0^+g`v3Bc7^ zUNu;bMP9oy{RFN0B1`OHne>+|Ykfux{%(;q0L7^Afk*c;O;z6|!E{u`UdNmNm{1ORle06M9rz6wyH{nzFq0 z)#_xEL*V54Y7L>wN|*%k)&w%DYAqyzS(_rrfL4mc79(&>)1?*MC2xVX4)NA?c;NzT zp>R@5FR<1la9;mneL~Z}kOh{0q)`5C-3O7-)^@uC3V%EGUZMAG`Hk+y2EeW1UTg@E zzziZ2e;`lF@3|Hm5qOeZ3+W{8)Ub^~N1Y4FWjYs|kd<{VHpNX~He(TIz{TVC5Tgw5 z>=;fHCH{9SYO0U16_C1N(G}H$*<5JvEp6syx#++$m}07nu?6xizg71ywge2C;Z{fj zvo)@j{fliZIXV~e86{7aZSk!3K9=nO<#yn2kDI{kz#^J;HX-RZrvci1#s1oTBaOYS zAVWwYNB2!EzJ>}}_TDsOvm+kDEIT0yOo1HyRw}ZqyD<@_$5xP?3Al>`EYTnweX_*& zT%=uzQ@{AT0Z+wGRK+knfatp;3CwU(_eB>;Rdnkq?Lojs2UwT~^^n=7D_4i-F^wRh z`t@ldp50vEOqq(2Oyb+bWU|eDWFBs;22s;ao}(n|T&5UV(}HKPUMrHolyHsDpdy%? zLE~HP_asW2LrHH4AI)bqOp_G09Y`vytdH!5@D3D0$}vdrg?WsUldNGVf?jh-7~ zl~Y)*p{5cEgLdR}zO0bVFfsS6|$Y+W>cG7vRV<*P4&1Sr0tz)+@^7x27 zuC9Hk2K%$ft78)gT6M=x>|vQ4AlbBIcOZ&U;RhiJ%)z)iwrnpVj;rvRj@==oa%hT* zo2*LFKsNXNUdHd^(LMbkQRJl?rCcJjr$ei%wRrX1$c z-qG36*f6rSt=NEFf(=cL__kNEp~(~*JB!T&%u%4FBa`SgnI>DEXFaF!Xljtd7)ht` z7!i^c+-1#=1t~O&Pn|&66CG^mHagSUzCRG)c8EQR zz&SKc%&#W{FFbYN6tX?lXRF=iv^>Pw#6@!3M@}cwYO2v0xWU#07K!%RAB{YV&ub__ zJ|e2+bGBqzRWikH+h`iG1Sy)bIR_75_;Zoq8vwY*d!vZtdgFQ!6JziCD((41xxhzJ zLtMzBIt9E4Na05#FDB(n(v&aFO<9Dqs$WK=!7B9SxCzV^EV9##3VkJu@(3-`S<+WY z){X{OBaavGB*V%>EAM|i z3_#kJ?qN}$TJ+k|y+8`v(tV_SzoT5}4NcWws`atHuq8c^TLw|XR_udBvMuQ$+yv%f z7O^EoPMg*95kAY`ghVaN=~2nD;v=f&F%+WhJdPwVPv9DFJ0ei^w)3PCc!~s`P7x6P zVcU`8va5Y`Z-9A5i9JhV&pBd+nwZ*(lv(9gl=FLiE?^SAj((o*sYlm3jGybLNe;wG;E zBrva%ogIrgZ6!7F;wG;Vxa)C~*Fi_)CX&mHo4i3*Hg57JZtxDBMeGamo+{Ha;g=6$ zpEwXr)tlQ1c-;^>$zpBZ7B0yk$~%-;ULrac9 z6#27Src@sRs&+W#V?eoZ$|tzNOLG>{+Ucl<_A#jz4W~r9d*PH%Nx^UH`%7D|c>u^~ zLY9M5nz8vD4`HA$kObySa_}3k$gXbcMDT)}`V|4cc7P=sgbh7Qd@r2x4RPuh|6Aax z_!TSVJAgom?~w%N2lDZi5Sdj88(8^~fD;{H#q-v)RPrJ!KaoQHD*a468&Ua%!u%Qu zBU6a>J3BG`mWK_iKoql6((jUWQM<0thh;K{WZ5X;D@QNK=0q_nd@dw`>4mFf%l0DTxC*ZsLz$aY=1Ea;vsNh@UA-8} zyhQL+%NawNk9c;~G(UMS;CM4)yOFvajGv5X#G!HG+M5Ldq{F@lJlUtyRG4HT3YkOS zWSC@O5tnr+;plAT76A+@bWtQYtDT%=KrTf}i=}i-w(*Y!!Y=M$Lr2hACmsJ-g1|Xc zNW?#u1YQ{bSc+_y_StG@T_z84Hcye6G zMzj%#Nn&FivAj_?WmdTrO={F_Z_2ZelP7exlCdf;>NbwRem(hZGZ}Ro zPv{8}bz2Ty5&zWnBW_g#Zu2qVwl4_O2)OMB5PVRboTP14Qo;+k1qAMT!0iCg(SV!e zG6QZ0l9dg(9fTXa9cB@`L6%X%SR2NeetM2ZV#|^!tP6$hVbgAiyCtf{93l*oA-6** zH7nj6hJ4F>)kAKF0|p)N2qb|y64%Nhx1%gMhTP;^LrH;-20-m-+cAK0(Y9l86PV*z zL{q1OUOGZcooKWzQrnBR9Zw2=8_ySQJ3+{DP)aj4C*mP&a}p99jZO}J%N5x%IAM61 zsL{4l2zaUkEYTob4P=S$McYmzPW|Ga4m=e zi88^Vqyv|?@L8Qg-U_6srmgRB8ww%i?MQHvHp%)@iYN&wy};$2#JVemJuH()CCiQ-3tT>iVpRC!NbrgmSI3s!PQ-B)UNdm{B&j@=qT;6gQZ!L{ zfy<|f;Hj1~aQO`JY`EiD@_x?o=CWtwW_(Yx6W?Jew{{lsIY}AMyxm^>9!o=`x+(+A z^FY=CTojp{eo88q`2yw6VS;2V^F@)A)hY|d`t*GXxTyP=kp$)yN+6xR6xl(Hit5L7 zZeyIU681F*8+xqHVCfj=>jciBS|Y~z2Ju!zYsE{uH_7)cpRaa{xARbEQx?%}UwDT| zHpuxdZUXZji$wiGPZ%;4jtLK2vdagFyn5y|zs zc#!iGqWsrKQA2#nqB;fq3`k*+^K(-EB2D?r+>}K)tNK?&vO&(TaTAztSY)RY75ZBi zv!uV1tnKyRBaauRB*V&^#31L7q>x7t(Zvcfkw`X9@DpzEmt+=El9WI83!nMx z&+0)=(am!DRkBI1>^Bsm5&e!NFn{10Z$u)HYebnr&OepFUnKB%ih%GB;{-W_oc}1r ze@SsFED=?tx`Ld_wsOQE4028l^7u%)V}hYb8`ZQd%2StKqnZv#VWXO!lxJ|1yBg%| zky{|q$yWJ{M6!)*Cfo$3CyUs);%@ZJe2~9oiGr5RERto*3Z3a$QG#YQ8Vh)-&eQ-!JB*ybg_`5Zsj*yd+ZosDe) zAcc)>K~i4GQD$G^k|7>bk9Jc^Bt49uFPxjbXkhDn5hB^9wJ2`zhLc5XT5ic=yHf)n zAt+zK#-Gm&Dd{#PY_*m09IhWS^YCUD@`p^e6JhJ~@du;YNV< zDaHm)4ALy+JtD6VR& z+TwAoB3e09%0H0YO-4IIq{scj(>Hb`-<=#^v^f$UBkRacxr~(yBl6zq8}dq};(^{~ zXL(wXk3l9+-zasAFuUMssSQ-a!#8%7f(=k$-?nT~h@Zc)8=2YjH-_ORFuSveLzb{{ z{|pBG@c514LY2CRj!9j-<2Uvotr|^B&e2QC)hKjX%avpp0SHuX6B2w}oP0#)QY4$G zgF3^IWj~HqBcSnpQK2#LMOz63!m6)y^2VNk!7Rn#l|f>Ek+YKuNLiurWT9A zz}7xlCvU)feOq>+WbikqfiSuTT!z8{oa=KH}; z^0Ds+$Kob1d$WlBs^Y;LqLIedy0sD)r)}a}Xe9JEWn?L!qo8R2bz5qdg z+Ybp|%i>!3#b02l@x`A^USW?o01s-v@H-Gt?$nKgaD#WNETZigI`B^25aa3y6lv*w zWbF`Q`h6_li@rmJtn;u~?+xZK6v76FBMHnAr0lmlkyQsAd+NrK1U$+C>c^16Pc6t; zp`&P)4&KYkqe-BC9gYE>>LCBC^J{Z}ITp{L%5g~WA67E(RT0Tmm5CS;tu5${s=<{}skn`$~zX&|dloOTBtEkFsPVpq51Bg7iLj-o|4n zseIms)Q;`Fk4u)dUh}+-Cjg43@FbGJJcVn#M~n2XM-PTrobF_&f$d076Y&{`SU43D z%Mlb9#~Q2?&`=y#Y#Q5X&)Wz+1376!UI+_db8%#Ad$GAEzBp!!%0O-(**a>hY3yw6 zXxCT84LytF8b^<5E0)*nx$e3RWqe3Pu>1GNwLDxA8b*&FF1IM<=c4s?3G*yO)E4+Z z>a@?%CSK)M8mE$-_IZ(%wfBG3mM=g;G@2KY1m-2`DdR^evavJ^HkEKS{4!x*aj@aC zFRF|@`w&sFxmLs8X(6wIWoljg8s+fDgY>r@hW5b6HBD==Jj}dK=n1ke#^2qd(;H;# zY1o133;%)haYs)u)USnrT!PM4b> zA>Z;z)#c{L06~NP1PT6KjceuQ=BJh#mz&uqg?t7OE38GZ%_`ie2XM7-;ucAIz?jb zqGmf8)m0IRL7_-z@Sf$NVE`)mIW?4$I_U$+B(5 zRuWTTdkC7=)JU*(09VJBD+v+D`5iS^64R2(bSWxs>?uXv#al^CPXtf3N;7n#yUYN* z(EsT{)-yWRJZ~(|K_Qqg8oYBtW)hlIU6j#29*z0lTA(Lcp@IUGi6?oWq&=Ol3633@I)Z}ctof$W^0djY$~{5&^6@Ii92@kc;6KU)pFxp`g!Ptx2hgRm3S%m+d`JxeZg zdY+%W?DV_932!QD(Squ6`pt3YY3i1VipqG$tihZN~BZrA_5>4 zP<2*b6i{eziy^^>&2gLhH>3R#wb%Q--< zA?4f-^aFcTNS5$k6uTdB>leO1@S>qUWN8MV7zzwTg3pzcwy%K5O9fGt2Eet6Fi8WTw>Vh`RCM%{T;}Mv zE*aU;Z#~@LAMPw-x6N}#h-j!|;g;Q9w;KrQI50th5i)c~Vo(OU}4vM{X9E>#e#=$L# zR(FpyTM1c?gO;1w8YM8oHb?@qEy?&Ugl+?SdpQyW$%6vPCc$P1|Sc z{mgE}8kWLx7E7I|<6jAW75tjs7utG=odb66%Vl1;CwT2YMpE+Glbp13-;Y&9Z|tM8htsy0#? zoucAK%Tm70pxLf~rg|Ipj?)s5*r%>p(V7*C*Xr;G&}TMiQ8PD1nS-rATTq0S7c) zOQrUEjU(!KhZ-)bYV7ygmk1TKHT%iaf_xhnY_Ugt zx7Pt=Wp{fWh?~G1#3Ifj!o&}rmc#8{2LnbcPE^#2i?*(L+r17Uu?nh`4uqJ)?0cDn zV227_R$N6P4g(14=Wrz0dqGC5pGY`SNGBY--|I-i9_3)e3UOK#21Df>3$1e15O+C@ zGMl5pD&;mFL;iW)#$yRhw{hN7eYh=OmD&Rx$m2jFYyg$^d>s#%z??v4{-o_plMVo! zNZ`DBoJ45q(EvTdID8-7NrSgav6j}iG!q&Jr9T;nHQe7*01}u}$)TF?p6h!WfhWoJ zjrM(=4kGILN-op$J%fC#=X)k@@JD(Uv4>UM_az#syW7nz@@yfTbav07MC$CGD*$4A z-``Dc7b=_c0EXUoK9ay(fNN!k_ri!GeO`a}&PDP}7XIjpl~?^21Ildxy977*V?B## z#N-Arv9gXyk+R;>`7&bW7?Tp~{>z0dhop$1xdMeS!<9$^a}_E34Nzp&5y)-;yPAOi zae($yr1t10tO3h*2UwO8-VU&9NTGfut_7Yd5&K*P8Jp|y5XxMS1Y1YQ!B<9PS7j!m z!tmbwMgrdC086Y*PUude#H?TXyMPxiIPRtl_hibT{^z}UxX{?5k99illdNl`SOT^ejkzC% zu+IZXaL_oeahFp>fqg10F&-k;!znChqx2Hv5drSn65~;j2$vX-QG&;P3DiPQkk8~_ zV$7Sl1*{zI0h3m5*BD|fTN6)8)~+$0LOw80S6jh3bS#OQ;3K2Zja;`C6C7#{7 z@)~)+?sylF3%5w++SR09s;DqIW>f7l-a_RKN}5CIFMiQ8J z2*WAQgHa8|P|+^1cM1Pq1fPEw*!w_=NG4r-Zx`4HLcRNUfqf|aJ)g4PU0|GoxC<=p zvwQ^FcDXU5?LZ$3JG%|+6XdbA09WlUCE7we>ZdIAD%O0)5^e(%nd95QK1WIAZD3M8 zmj4%$WwqDb2KFUD(H6c!5}2=XjdyC1-gWA%ZD8LJ@mq&jXhUDJ+rVTi7kvwE@Sy};ZJUg2DD|ms z&DvN-z#aRAu)jLkaCIAvenX%|_pNTDjYMkk^&p1*Bj0ZnB8SBjKKAdxD{ZLi{6Tg8 zbn5UtkF3pwiG74}J7(;Nw$^e>&z{=c#4!dpY#~T_-hjgQ@mZ?~i-)P!ey#t-8%}UP4bm9T)J`lFHjGT?8!L zXIa`9I1J~^2NE^HIr9S~Fbj~Em^fvlQlyF((piuQlN8eN-exWYDjL&~TxLvXVKTBY zokegHm_=E{-d}aArKrY+T$o&Au~|%5BqKZxlusi(iwl6%NA(EL5&%PcUlIv6S>ReZ z!n1TlkrAHkJ(tS}6gPR$Nvj<0=?y^lZnF<=u&IJYv~O(xqYe*J2Rb}N%6rj_) zcu34f%L!RGypAe%;zL(utf%{-9G2;i1Yg}Jale_0#5%Uxc*8&fE}sI-659(itU!di z#g6t|u1LNsRpy&sy00w2U0b@Z0utfUeN{@ZnlFLQDyx&v6kobale9~BF_xVi){v}S zy03{mc2?l(+-=ohZ5Da8W7ZM0>PvUAhh?&^WZAf4OZW9qjJCBtlE7?$t7FTFP{cvo z(*9j@>AoSU3`$XPqfja8FW%C9BO-XJRq~e;{bgg|g|q%9WWA|lU04b8Ma~_KWq;S@ zW_lC_O<;Cr5hs#aU=aHnihClpm5E9^ zLvMrU-MCs3+nZg4dUA5!l``q%yc_Z@YgM0_hXDr7ZFeL%SRU8PGxHvn9H-@!!g(g+ zMo@5*@d&bPVi9c^Zh=(WiHWs`MtXYla5M38^w7k(QWUc6pdmXm5=AhA~b#_%^DAc5JJEd082Mkz%acthZRM3|%@&|9eN z4=OtTNiK8z3&_Zhe+S?uFbA@TeK*gxOVLnA!^u#+2MO`yV0bVE)WPr&;Mb1qHi?$`x13P&r-l! zp`1bj^($~H@WL0Nry(Dh(@BXIoHZqiI^1Uvqy{rOilUwMvd@$(O_d^R&cZVo?QA50 zIS1Fct1W`TXxcziJ1@^A)_Ex`XR-9!>U;t2+S=*@kO#)_|-^o z@&T@nEt`#q<0`!7+Ugooxi&?`jhLmV&wF$6bwuz~%el6?9(du}>ISmD(XlQJK$oe# zxiPk^x=H9!ZBaxAsc5qDmQ^>CO%8#R%c==Nmz6LH;@tvdRMo9Wu%&|{$ly?l#1 z>-6qz|Clb;Q14?Ckne`I80yJ9EJTxD$0O84y^co(Kq{@eq@|2X<-2L`6pxo}aXK)jkXIVtUi$|z?D78CF&1iRy6!lgy&k-|6cTTLq zo)@z0%@ITM0t#V*7m?s26Qt}nT9H-V4!is9Wdgq904wf(%TmJI{q`y;)UU*Az*8k= z6RUaOT`LbTuj3(_sc-XsTK8IfI;nTV!=*R5|6@NEZJVr_Cr%@W`9``#f={o=n1 zJQY7|K<}XhGQW=m=iQU6FSCfKGF!jzLjr!}01MKux~I!lZhfA^_%S)xulXm$vxhnT zmr8sZDIswUUkUr>^0Pe5SYKim>pFZcS+?^eRr3WN!Ps9S3Cvfx#@z=I3&!^S#n8w7 znke5m6g`xPW22SzTRy8{n53-V0V(Q}I@X%+Q3xr2KoXcAN!D)?B1#1*Clci+hf?{12l1=}>52onfrJfALwJ z^8O8^$i7O?{DVSB`7e^dOa<2_-U>vN3Q|rDV0=iyp=c}U7&WSBtd!I8S)Ec&2c$?! z`|0oLQ3xq#KoXc9BT{I+1gf&W@jsHPr}qG?aV+@X=g+0iqkc- z;31@*6$w6HfNR{gB3eRf369w>jLc4~IZ{||Fix+?<`m$rt;psAiEu^MixSN3OQ7qS zdB|squgGMAvMVw%mL2itm8@Nn&4+wo<`;2Gw!NqZ3$VzmYqOxBRbP>bJuH)jB%5B5 zEsSDR_##N~4jos=mSdfW<0`!7ifl1bX-H9VUSuiqh`bfq;zaON%ef+3f_QeL>XPKW zl;d5H|LWLp`Gp%*J4Td>O`Ut_L@B~{w`;3YkGFPPn)2jOExC4EhKQ^$Z>y>4jbc<+ zA0&7sPZ((>{J_0cR<#pzMB7o9CH!&`Jod%7j}ls|n0|O1A=?Ehh^tcG#?$^nr^d!p z@lloV(3!B%Xzq|*j0Jof4`1pt1B8>e(5rWgDg8XzVp{SxlrC)>`amIWHMoHxjrD9;qe-+6(KV5BLRz)G|Z8ao;SsmAS zHxoHsH_O^Ox&{%~bclsrVaY-K<}!{eAKlpAXpbwGjiB(v8k!qB8}XSyY!+>5Y;PEW z-Jz}JF>Q_Gb-!q1!wA!{4|Y;u=V(Vmxu{2-bK7XS6I)2jW-YM#ANG^AshL+9m4<+1 zKUqiQq_rovMb-r;RN;C^@a+W3D_yS?SxPDiwTNzK|LwQ|VK;QJVGzU(J?S9GAOd@R zqv~$3jR-wKMgZ9j*4W%UT-dWaK+ANgcd+ z$Yundq5|~lA#%CQ7!_7LW_bV;LYE5Ce8cuujB?0c5 zH@_!Hgx-7`B^d2Xp!R7epDFImOHZ=iyco;YLx*IoH$Mh>9EX9cv%G3xSmd=LQx>%9 z-n`huGU=2oD?9dnWh{zO;d>*&7ZY%GY}r~w99Q8rz4>vZGCoDc4V$H?i+kSuzC`d; zt2C7-I>>&+v)=sv=?E)t?{fZHOjj^5y(2A$>r0Ba8x!6)yyp7Qe# zq@+2NPWmqgiL9(hIlrsAh6e){wR;GXz#K}BGSHPG&Bbgw*4YDa4q(=;dH0StdKlE9pTYrI>DNUmGOPxv~OD5v=-YKYTW zRHuMv04aP0c_t~JSB!RgY*SPIP7-##;V`DE-0+*7&Whnx} z9UeQG$~Qc+OlK}v8ds3Um5v5K0+WTHe`_+4^Xâ&@EFZ1| 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%0DOvizDJ$Mtg?nrOwFYsoe&l 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

Qih)vJC;Zb$|sLggr?q@x6#-JL1$X{wUx@ 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%0ATd+ubenOIs9jCtAVD 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

Cpul5qGVwJKfsF=sAM+pr9_#?C`=O)T zb$Bz?#O(%UADE;@LgT!zkO~k!+H&8`{*d3y$jTlEtl^zh$(?_8Z zcAJYL&`0B%8&*XWH<{<|X&ytAV;u_LF(*@nmGL;4X$SCj15Ni4aG(o}> zQ3U!V67_pl#3&%)$wWEDp_o@Mn`z7nc`9#~DdcHDGD7lgl!l-_9j%b_3>0{+JL&pz ziZBJ_Jc}r2JCx*E-E(-aOfk;|QqI{F6Jb zZloCvu4I$f$NDNk>)%UynW#tiQuW0PoF~&T5>nqa?a}BMAq{XtmEmGmnGgz;8L^1 zTL?W*vP5~ppQ%NbC_BsTW`~zCJG>RBMY6-&0D{l6lZQXx;^KSR;q3(Ocy@RP=$PzK zYI(E6JITsshj-xz{%f60B5JifL5$2HHZlKpEAt+ z&ZK|$qMp92{q*lXz+e>Ij{+ZI$F*?!_n;-m^iTF3B2gZ~t>S6l!+>&W-y`^e&#$wI z#!O~kCb1B!o3t-d*h~8!BZabukbYdq7E1e`z)e`?Nfh|(Iyv~hDY9d3h|<2N3HXcy zR5S?Zk$mENY2UNNDPR2OfM>+d?TP2n4#{6Yfe)^exG%W~Y9zPm-iri$$pP}?m${x? zxEs9u?qyOaUyoOaXY;#PDa>n;Ffw6>!q~**^->to@}imz0dGjvg@BNveiO|w)>|m> z$#qxAK9G!*lH&U_g!@C}>19@gIqTKidv*uyfJFIDG~?u!xMp&1?iJqmng9aqPe z-Xh|-4lkOO{75Q4C8)Tdq@pR+%SwJGf~Q&;S&6t`i&+c*LhipNxVPfAnb6y$#t1e` zYR0g?wZ~omE_bVYV|>Iuv#$TZ9kmnaxG$`uA>G%eACq3q`M|cWI9yD7IKZ)L?}Q)t zpKdnE@FM-~aDoz#&++UjD=$vdi{Q4I3PrKF0&^n;7A2h$%omrbi*TSzh<UpIGBF) zlFXiDTWXToi_r7L__B`?zRV>0l6sylXNtK55W_x>e?;AEr`Fn!)l~J!>e}WE-b{-Z zcIw{1n_SgvT1!i|S^l*ipR38}CD9n@rEslU91W7qWpp1lE-j5qX67_aZE36tu`+rY zG*8jX%FU%}+p;a;9Yb$9-d$eqE)zpF04oq+MFHrBPiXQ1XGX8Y)|GL!PFvN}p2MhV z#J~URzPK~Fs*h8r24ZGvr$g3$#9ReeQ9up^L)HESU%a8d1|NvTf7n&x_oPl$y?l8y zdH_*Z71Um#C`QQD&=%;`<<61~&Di-&)n#kUCwVe@4Wg|nHy6*OvRS+>{ci*+Pu`QM9t_R_Miyn+?pw|-Esy@zeQ)}yHK+72!y*BPZ&ZWVx zMc3EVr&?3Z^{M7Me1%O9!M({(Jltw%tr1t`1h6h! zdu3aMWhmo%La+<&>p6OTsrPEEZJyqS&H!S4N^c--om0(vL#cGD$5~=@LQ|{W2){)E zc2Z4aYG$fYk3id`&Q(33Y6ga+H|UKC*gaj_n6+S=2w0b@URFN&?)(6PPi z+nQQyoEK;G=4i*5gx@qYPiwKj;|=f`Y zJrOsn7RSAzYpk%Sq#R{wq>j#w-nM{s=Au<1$rxzWVge?XEtOS@V}3G zYql<1*Vs}!qb7x~;WpOP*4Jx{I2e5!+?-q052`k~Ng?v2noO%0b`pS&u39A3JX3E= zVn*@SOscIOS~fN6?by5|zNFg%U*^k8nrj;~dNSMli1jjUQ?m_OC~8c&J!$qZADWU` zVTRs;z)Q%G@O*hkw)T$onBED^RbAS$(}r%Wcb0m0OG*aPE`}1{-Qqe~R|!}*q72P6 zOxL^0@7{Ryk*S>uxvUX)BW^cLHm#7NVYaRou!^dFb!mJfs1BWDj1MhkF2gHL^o+Jv zy*r?e#>lLlS~IJm970}YcFuUaD4ll7iLtxMG|TR`r;q`p{<5nNBfFC`g8Rd0N@ zBAc3>m7$9c$m+duYi?CHdrlmET7!nkRZGzSB5Uu%)}9%Nl&#sf4N)PZYteReRZnp< zH_uE(TUBK^&&--N3y~3@PHg5pQ=ghS9MGBJx=z3lF>vy3HvWHLdYWHR)%DW6Xk$zB zbe)oF-&`}t#_BYHD2|~eWV)`2>^fbLJ2%wpv{aVBpz-~q0gXpjt!$=Ee3bh`V#~(PzBaCv0j$lLQmm z(glEKq1`sMYT0{Lb-e)(_5;4^?-@DQul9xVrzB9A}F?3hvC0w(>tmg zv3O5^q86QrqDp-@34E$WuoH1fU$1UyL@`5+*%3vPdTD#y87#M7z<-UW=cqf^Mg3az zV5sr_)cAme##agqHNHb?agBq7#s`YVLU{o+URlj-f_R6hhc-oVq}l+Rdg)_SeHV~C z3h!MGg*}ME9-I*NFoB`4r%5d?>>&wZ4;5jB@&X8Zf*Ol|&{4bXjEi-f!zkC`3AuI_ z7|K;IwYXeIB;-0$o^T%e;90v#g)3FYzyN}r=BVkJD45}uZj@CJdQg!f4;F5&433C|D-g>v~4rYqHU2LN0C z{Y&vbIQkDl%}RJCB|Ix3;mQI-35Q56F5%e;3C|G;h4KPO_^|3W76$x}I#Q;|C)Bxk zu9|*Yts|3Tm59CD3^cr;UX&sWcn2~Vh0qjs-H2rr~9a18UQ{+aOk|F z5I;jz&!wv8B~%?DFjRFbsl`=2KcVUcqN-3{098L%zik3R|Eo@snDUd_QeyefDzhJo z{_3%HK)FJsugAebwW!p-hiTN}QdN5(@^g%4SRx=T1sjM^~7aqsqHr!m*u3k zC`hZ7rS@TWT>4Ax^l`WhklNEDaam1j<0NM7CbfwOPw85<#|Eemm4#382^2p9iA8zBFvP87>=3tz{2f#z<`xo*Ah%q&5*MrPo&t%c59PU5)pcrd$4!64~v)HaAN>Fv~oeNjwSr{TX| z)90zrMAKD;?7f&N(sgQwF(?|a?P!Fhm07du-1K^M9(;X<h%Qu8iU`CEN4qo77fwP~4(6UJb>qYPB^{ z+^$wU7{wjxz@aGaQ~?mw&Z6}hjcB-6oeyVB@1fe(M)8<>Kz_|vQ{>*S>H~@FTL^G} z87G~kc0qt!uc=QqLh+^=y%mZ<>d+A=K2)pk1AtuxO0t9W`RW6?{jK^`Jmd$p35HJk zYtBZHK82jlOH336O9f43A`pM}#dm%j$50k{dYw% zQY|H6bTc(RjbffUbt;OisyPJ3w(6&CQS6{5%N+TD+8$Gn;$sNg1@jwg5L$V3Ybt{0F8H1t4##<1ko&mc~I3$?QU_Nz17_aChACWcPsL3;DqBC zl)x8RqKoOIQ>7Lc`Syg!cZkSBc>zS8rf!s|I9+`!Q;|}aG@}@<2G^r#QO^uSq16sD zFANb~24v9Crn*+5_)49HsGB}iEdti*x#}&Mflg8n^#R--YvW?|yc6OD`Ywv?>&cZi zN5^!5j_dhvBKTc%H(E%!d_C1Un3+R??x8^UCIph1-5CCIsl^4lFCozVB9KrnU!e5y z>RHJhFISVtqqthti)C+Ay(CQBtVYU&y01D{p=eeUG4rQSR#}0(N43elb5z$&P~5L( zVsNG(Q5R1_@wmE35~GjQEf_(nhjiFav(XT!NuyA_q0W*i_#M^O4aK#pKW6vz2kI?Y zKmD<|>+sWB3u9#SKqRr*J@k@)U!>eXdHs!r&wE@Sgg^{K?_F4C~_rnq#I+L=Re z=_9oZWrpr0wN*C2Wl5=ZSrnJY5y`?{cmT!=^n*02?-sH#WqRRdsl|KYAtLy0@i1CQ zx%^&G8;WOJKYfG(J(>`RQIUSSxj@GSdMqK(<06nyUI2lX7hBbL#bs;BpsZ+5P_!o# zqDiuBY_+S@;-Wp35bbFZO(-vbXe)|n_aPlp{iJpPJWj15wG)x#s!FNNzq7M+D!go<|EQ zFMy%`klqgq4tx&yOBDhGl~)FI_bNO)#(_!=_S-yNkTVO%Z@{FpqjV>ik(!CE+}?Y z%kPPzT0OTaiYe-Jnb7u8ze#yDx>0L!{KeT1624T^)+B@$u&ttL)EakN^b7m8!ms6|kmt1gBa z)2FFJFlVISQpb)#ai+R_O%!LV)x`^U5_*yjr2nA?Am*v@($Gg(ttGX&m}J#7sma!1 zdX$oX)Jb2X^v)=5Q@iy*akqL89+!Sl4S>dKtN?47QlC;^%e?rEdR*-CtU3)=QoGA- z?y_tuwWasMt@qX0JE8bg^%h(8QwIwB9pv`P1JLk|Iz*sOSGP*`u!ppBn|TqbU9>qa zU8Ob>uxhH*=-1t)wg(pGs;AU`g{10!Ox&RlzDyr{CE zlo!AUR}j%2MHo^mN$qz`kLjJ&hP$KQR~nWckA_QBE5b?oIknZsXc{C@%#Neislyuy z9V8wZ9X6C&T!%LkI=m%12;~LPVIvXrCNXra)VOrrQEIX?-d5EI4-WA#Ig2Opc#vaG zG`vl@-w~#i?N9+Xr*Gbk%Vy60;BjtCo32ao0b9-kjH+(ollzQ*56DyW`?ywhm4|=z Q8T|o%1o}f<+olftKT`;dSpWb4 literal 0 HcmV?d00001 diff --git a/doc/build/doctrees/apidoc_commands/modules.doctree b/doc/build/doctrees/apidoc_commands/modules.doctree new file mode 100644 index 0000000000000000000000000000000000000000..2c421789214b9dd65c9982bddac0e279de99ac28 GIT binary patch literal 2805 zcmZ`*`Fk8k5mjUztF%}h^q_ed*X zNDL&=a^LrT-#7eyyq=wvC4J-v>D!g6yI#F|^}3#&j$$2^E=lc1u48H2{%a<4*XDa} z+~MhpPpr{GE;8x%3Tb(!;@Pd%)YMd@vrOc%<+-kl64d=^z1vD-j6M^iKhtU$%* z)iljDf4{JG3#E3H&SWQ2CP9rN?^xj;-FTz}raIO{9Z@9s7*4QsG98zxv>V1czDV;< z3_NVUMDq;@zK`0%Ig|8C2U0Fqd}WPVaas5{%l8K~AEm-te10IHR!>CR##4GVpcB6O zYXQGRtqPhQ$6pWlrD{%;G?ON|JbzYrO7t}>{iDv6yenUvNrWK>O_jpJ!<%ORxHIePcQ z&)wliDt;A`Dxc>@*%M{&_)!pA=rWJn{Az%_S@ENYr>R4@eE;hZevOCr+6EdwMk`K7 z&PchwYeZ2<#E0e2^OZ$-9HNj}^VaXi+4bFj^?N76S`{KiSrn++NBO$5Km=X@NU z%gd}Mjg0xtn^Uxu&TpNEh+ae`{8ltu6t(i7=+ev})jfXO$Wx1U zw`=09&eJ`9`=}xQI`jddngsfIGT?V~w=Vpj`zLbbr=I6`3Yu&1ylX^@4Z?l`mGWl5 z?^aIuZkci=yZC<9)Zj~#s%2Cqcwnt|oOFc0II(=jw|iIwA8N z{!+K8tFW?+QAd{Ympy&MLPKQ=$#a6Yy|$sI;;)YA5LP)Dv?knkN^3FE|y9;j@1`EHjM zFu?^9CPV%njOj|G1XK^;V;WI}cZ4t#X1gr-`y)(+=!LsU414>*Ciaq}O5-2WEZu$* z;C@8&leOf>>LRUR&K+JbKP@29@lWSTm>cXv06J*RYDk8mt^ItaBL{-rn0+=*eRl7UL`y2-*rCVU(@BI zgdLlc->7G3*?U@em!#j)bQ1ILfELf9fB2hT{(eOFjVDp2(r znl1k^pmVjZliW&EuX{50-HG{6`*ad36=rSx{m*kcY zR`K7|sybt#yu%yi_(l19#s5&3;QV-Z|5?BF<5#lT*08EzEx|%U3lopE{I7ujO>FrQ;-bwSj9g5-LJSNHaG}X5%znIl$ReAMFiWrl E0BuPU=l}o! delta 80 zcmX>rdPj7FI3uIgWC=zkzU2Je+{C<;V*SK|%#{4i&Wv14LgEYz45;FhqnQ1KgfWCS JZ)KKX2LRQq7v diff --git a/doc/build/doctrees/commands/apidoc/src.colorama.doctree b/doc/build/doctrees/apidoc_src/src.colorama.doctree similarity index 99% rename from doc/build/doctrees/commands/apidoc/src.colorama.doctree rename to doc/build/doctrees/apidoc_src/src.colorama.doctree index 6d1698ce2dca63252acc407422b1c6ec85d6de3c..ff45f4e806474102787857c79c3440472cc29855 100644 GIT binary patch delta 61 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%0AU03 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 tKjQ>{WzHs!h{fSb>1aglWE%Gz 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

D>*wH2^L;bp? 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

aRYSe5oP^! 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%0Deb`t?v0@j-psid8f@BjTU&|7!-KD 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�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 QGe6=-Y<@yIc3A)a2QQlqfdBvi literal 0 HcmV?d00001 diff --git a/doc/build/doctrees/apidoc_src/src.example.doctree b/doc/build/doctrees/apidoc_src/src.example.doctree new file mode 100644 index 0000000000000000000000000000000000000000..62fe49b037797c091823854bac9774868d739c9e GIT binary patch literal 25092 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

)K~@XjlzHLC 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 z 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

_9HoJUpc*(A$cxkO`?XOpfFsVhAxpT)UK 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 z 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 UD7RMNHKOV diff --git a/doc/build/doctrees/commands/apidoc/src.example.doctree b/doc/build/doctrees/commands/apidoc/src.example.doctree deleted file mode 100644 index 7e279da989b61f9cd2fd0cbd9503eac5d048aea2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25131 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 z zA|;NFIv>2a$qQlgvbFl6hCBNy^9T z@}zW7Ia#u+GeIC~lQj|LAd7c({5?Ji*`Q)F5*#}U4owBOtEu2!owcNVZCxH-2S~hO zQaWfVL?+uk>qx!Yw5`kK-Z8;?($xBHQxf9hJGt1PDyrrr6UY{RLr%+1E~X$4JWfU8 z&_;NA^I>iZJX+J;BLa_vjRi8OA>}N{Zx~oZH<7Y(j*4V#igJ*_$4LIFv>Eb2%H~LL zXeUUtxVcF`DQv{~v|^e-Hv1s;7%J?6g}7)KdtfbqlRdEMf^o|NMsTy0;P^K7z&hOs z0a0vT6*9lvkF7|(J+L;sT(+F-#cSDml9MFyNo(Vypc&8QHNX>11HMOg7Op@>q+6Xg0_=#p0v&p zjN5CB;Z2}8yGHS|xH-W&;^XEV=|+>c6@IOHB<%ob$c%|u{a$KEZq?mn*h$E)U~@rX zlVPp^%njEU`J$bXhfdf92@VtmV45EQoUu?a5crU7o`CJh7Kf+#dv1B=aUm$=QKcO|O9*(;s(} zeyc{OA4)@j4`d^sVc1uys zY3&hG+$X=|(Lb8uQ@z^3fhE6O4kFIX%EVi&Mw#74fUC;v_DEzq6qSawc`uSEv)dji z8gzEc^CsOG#Q=@zEhqlzZCsG>^wz|iL%s4nEzD!X=i=QTwTFm*935|=K7e6tFpV%8 z3cxEJ_Oi-TTbCBHxN&!en-H=w!%cE#R_91;LNeZ zv&}aG78-aH5{GWav(z@<;-adErl(uEq;mJ+He~CdjN9?%&>iwUR8WR2-&w}6(=JQ0 ze7{p_*Hl}&i>nM{`F=Oxz~wzi9J*JKYQ141we{xZ`+ZV=zb;P-ht0`Svc!EnAP}|5 zdJyFxt1L{O9zr&#co+$ezyyb;g4-?nkVmBaQD1o}3F0~)lj52rxK{gdLG?rhs)E&i zl8c66wVwi3?N^Y8e*7L1hhD|gv)bI$aIE%gQuB3RO>I3~-7i?}Hw0pkPWJ5e zn}YByAHt$R6np))6xFoX??~~g2baTOj}wFaE)Z2Q*zY0Rq4%Ygss{T5DH^`P{t)mm z*qrzc_D6z-4fe-)bLbQKUWxc}CKOhDmEy}+ZlYZhU;ZgK>zeV;gl3rW?{nt3;hFKz z0SlG<0TPFPh-ax8|B;KTN__c`xv0{P{{-3Ej{g*I4*g8Nhh@iE^swVDPh!V^F12ea zGJU~ShGEBl0XVSvOC%2cN|0)GVj_!n{MSvt#zSrzf+ zzehgE_yZD${wPQ^8QgHukpD@_|E$Xgi!U!FP3-$$q*iUxzT|RmZSYrV=x=UA<-4$d zuZjx$(#U5M_YY3Xc47aCJaG6gBo2Lrr)T20DQ)8B$xfR`!oLObKN_+u?3=f8{wpQr z{1k~8F-nLiix*!5xgcXC5{E|N>5;+B`N?2I$jg+`0y)M9sbyPmcy(Mf42M?_IB|Fl zg0ZoH5xfKh$G7V6Sf|l%rI!&^rn%C)4h16y36tSboD^C2vA zcS)ho*wt z)l~3K*Y;ArgRi`l1o2`!N^wmRT%)~{pqg8Os$jHt=AvO3?OgyTMtfJmIIn;aMte8G z@vRzd?kYCg%rBeT-I01mdk?%jv?rbgqrI1Wi127WgH{@C=94k)&1sp@UVuFG<3336 zGbubhqs>hX$7pv+&Ha2ewe@gyzhJcY7l=VR+1*&;(D4HV=fWb+($Mh(%TdumoFf~< z`hca?xA#v53azOUDt<7(Hn1sPu)Y^6eu!Y>Q1LL{aCjl#)8y{iedXfX!rilUDA#XJ zGJXEI@WZ4^1#iVR4(AGUtD@{i5jx-qBo0Lc(X^!74iluu5(j}FDIie|BEdhJj_{tt z+wk|@Syl6PLFxf|7-3ls#-yp5-Z3u4eKKYB$-5Zc%^UTV{UILFL|y3y?>N!hTa5B# z#2A~SXxipYb=*eM3)n8Bsc`Kp4zFzLL#9I(o<;*Q_*w#+5|WwZ%!&3ue@`YA@oL$$ z2-)~45*JP?xkgs-^-F1*OV=u^8WDhu0Av}U5x=09_!yg%9$UZ=ODVO0UJsMXq!ZCag<^Y|>?@g&_x-XBrhfy(Z(&?Nx(oEAC{L;t) z9=Kh&KTBugn;DQ!ipY;t=`7^on%Z$-71!$Gx)t2wM`sIQz>21FF4#E?HpXaj>C<=O z(zy(0?a*aRk&AXB5L8C4h0vew-G6i*z>JB^fQ^b4+D}0kbUtT~kz1hX0>)%aH2Zr@ zR+)j6X!;jhxcalub8E{$!S(o$rwghFz)LBsjl8R3w(t-3&Ium>RQi?@A1uY2kxQHe`|hC@soo=^j8Kj3O89i7ZLP za~9o;j0FwG_)<-#`xx68F64@>Si8}#J#ZId>A7kMiT+~$!jT9`+WX9PV9vt-E<{{^ve zb8$PM?RI*U!Qd#;x#-e}mFTll_@AT4ID2#|lkTI(`E^REj3cE3^$CC^WdPw4>s%&M z6zY>)d1N9^Pw~rmj2ORiJdMm1#)jHBm?=|?7v!3=A`*xJ#eD`K7;0{>$q=&XS!8w_ z>&SRYq-~Sf`e2lE|HkP#lrBe@N_0sf>v?3c8xdI+O#cgvJKtlhUGD5K_$Ws&awSB) zIP?fG3yR{_C$J+BEQCQVr7 zy^eQjgX6t$o3V{)!*afxTi?oEoFrJ|^bTEQGLXUqPp1cJ>h!*oGe#=Mk+e|Sd8Ioed zYvvtk=G|g5a%(lNZ!R?Op09!T@opJIVy~B<1Luv&usy|#_Vsk=18ML>Ml>DM6Uh9d sVgoE__p*5Wz)_3ZX!P8>O&U BGQj`< delta 154 zcmZ3mn{oDT#tnfn&Y@yynK`NPnR&&jMJ1W}dGV=viAg!BDMg9Q3=AEi+(n7yaG@li zkT+u}Z%S!yL40v)Nl9j2dT~+mrNM`tCL}d8Y7VVkr9;KzQ7bp^2v=2yzvK6JKWu_Dt?FTD803=J3^Z*?iHDLe% delta 139 zcmeC#$~bW=;|A+U)}pP<3=EU4BPF%A0T~^k+(n7y@u_)=dP? eun#B_TeKfYhO!llan#tmOHoI}OZGILVnGxLg5i%K%{^WszU5|eULQ;ME5Gca_7au+3*!-ZY| zg}fOEVUAig-Yq$D#hy|~C=@|iL@ZbOh9Lq=F_kf&AJc6Cjxp qkP(v+R9j>^d0x4ef*DXGw#XbvhO!lOnS^~+^Bs~BlQ8D8H delta 133 zcmaF+p7F(d#tofill#gfwRBk+7&=0^ixSJ@Q}Ys&a#B-@^ngO%jG??KrMU(1#i=DF znR)5OMf#I3mdSA&faDl5!fJ~QC;uv&CTs-c*A^KA$&7%En2ey>B9qCB%e53tfg-U* ZWCrHjchA0 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

LPK@u zGrGYRt=aD3x6WW@zX{fBciULZ1XYUD8G4Xrc2;8yYU}-7o-y$pB9sU8o((G-njaRe zP0WSe(~oh+wK90M$Xx=L<>MhR7~{XTAR-3}%I<8IuJrK~tNT!vL4%E}y}`yJaxpUK6a z#nB+LxPxavIVc^(7)uA`p(!LR#1BsYe;MWE)%NwL+qdR#Jhjb2`&N5)JNbz@ff6p& zGo+7q=s(Bk3%Tr`jn5YIH?lGiTSIspcv}hJyq(5I0su&jj{cY}t`#?~Ux!svd!zrB zBncmWXiOKRg_o}>%U9^l>2P;=c>B{9Cfui0FZqUg$2;r$55VwaRJ<{LHE41J)R3^C zK0+<_r?0xciHfVs4<0?4zRu#qM{u?HWh^YHiy6c2frrQoIU7yrB{syn4+kT5HUna; zFclmO;_~s@ovgkM?0EyqLE^&p01H!ApAV;MoJ(3(vowVo`u-du{1R2;Iz`O+se%9D zHDgmPEi@<<`|w)L(&uH;9f#@BcqJl6(qx@~R1&mjImmJ$W$?|K$Tgd9)YVAhPjQST z$jU!oMBTNPbQ)#mCG!rX-6t{zvcBMS=OM5F50GqAol6-bPL*mY|1kTLfCjsd9o8n@9c6b z*-CSW1GQj>gSk)YVhu2}p`OxYKG%MTNw&mgWqw5GM|a*eG2j^>Xmo~pofe1)Y2^{3 zBkilJjwabmdp1{TP$zG`^Oln+oQ}31Z7yx}78kY_R@d+MHkLNmA8jlyZT9XhuP(Kb zAf=4FrXaDYPz8DA_2^gNg4cQS_7#UGFAP{!jX z5768Rv*NvKj*qNuyQ6UklN$XSKo6de|0e#t9{pwf3(v=&3dO{;dGAb9y$!~lC%@kL z(gE^I2gn*H(tjo$AXD$e>Ae;cS4TQZjyGXLfMXDLKNoOlq~<`E9b6%V1#pa|zIX8K z7zYhBTd3u@{rnX6wG(V;aWQrAt+ATh#GLsI%j40{aa(@!3ilMg+QpggE-xc1cE{tk z?KH4)^hUU>A`@}BfgVif$X47#YQ|y>7hbYh7x(IZb7^C9dHsQAL$LTCraI7kBgMia zIPq?577vylZx)N|4?kIcaKF&piL1kBHO>2CihK$Q5{O{>aRg$*BmZi66 z!rHfcHX6fg7&#SaR-v*(3x{(xy2G>2Dg&Z>A4Q1%TMPoP+maH$ERljiwCzq#4DgLo-Ff zVv6P|OVZ~RY(4m>R4~JO9mg{xDBDU}b8;jk?iWxI+)P(sO1H~n8YJ*k=+>3K1kM4> z7eKr;-mOLwmkM42T|!7OHQirXmu4a?G+)?(`}`SizSdYF#U1%eKW^MTXf#n-f|1bt z`2URiaoZ6gHq4o0buQfEMbEZC3-xdd2iDpk#u3Ry>4L@kS$`DrqS>nD;dG9f=r*qQg=m6<0_d&Uk`#S}$pl&B+nKGQ*;E1ZgDq68 z*{6afLFJh8iQQB}1;(6`G#Ru=iBOLvQN&}wX*jQG8a82x^iMBPWKDiT-O2uBewSj} zn4e%riYdTkNVZQ7QWq~7_g)V!_6O9#vbL2N(z9qTQpVs>o9NZx8F2yQa<2@9vnZ(| z1rx=$Rx6j1$*88wV;tHtDCdE+blEv8EH%^t&%-qouEDqRt_kN*Fd`lvC2-5ghce|J z6(gQ>vBg}N8rgnaB1bqr0OtcR%B*5<8YMaf(8Mw zHyE6VC5a1pC(dBy;rJWHlk5*bNrj9uZ6<=$irVq%e=tU2-c~CWW)ll4aS0wyI0W1q zLgvwWYW}SdiGD5^by!gmZ>7vMw*a;N^@54-ut8B|gfeAIyX{7EOj=)l^n*8*smdQXBW#VQguJPhM*E@xc5cWYG z4BQ3@PYA7Lbh{5f3yOORH|dg?#iP8pQDi-mVH5ahG$9M?R-)*3yYL5?LsCKkio*qx zM~*ka?_4aUAFmS5uO6;DH|XCAozAO}4aa$f9iv2s%$jDA_P533%84z`6b!UkSk%tb5{UDzgMb0P`N*QQT$U9q9W6ATer|_%CH9Odej` zvxu~#DrTLG7d!0-_n^s0IU^Ye=rMV+G1=N8c^4PP93?^?&+!Y5x-bQjM zJ+}|wctCd)rD%Lja@A1N1px7owTQ~0Md@izk?kHHS6I?eB7y@4qY5O7w8SFtod{zC zl}#5@TOFlwp_?{Ba3FmI#{${`sR>xc?b{qZX(TVlvf6;JHjexD4KM&-^8@&?Q`-)T zxf`{z6qJ9`QI8@-UdHUmo`P^6p}K~h8kM?w>OodZRO`5+{B z!VU_w2}#I!|Xmycvs;^42+5B+$Pll;fo}&}WceOJtp- zc7XH)elK7+2fK`=w@^3;6%*M8z&*%gH%x42By4|rjDuRt^D!KTK0T&;8&NsxzZ4FV zh{GO+h1o;s$@#KV^5zuBOfK5VsM$`)VEJ^IK%_BU+Td$fyjuW%P1Ezj8sOLG$*`)r zCyIdhq|0mgca3S})eqaIuVi_Awpq4x{UE`;cUy{!<6i)hGMyB%?3hv@@|L(#Q1ML_ z0S-`&HdIop>Xjbl4p^&svLWo~hC{B%q6kDK2Jd-_V=E$Fs%24dlz%*~kQfE0W$WV> zSlwZZ1j0Vc0s#{hBAOd)dnhtJOh9EXYo?;tgeKFrLaAg&lp-sAbS1DBf>I%D3)9L8 z<`ob%{r2LoOxY{J)NwW(5MhUL4l$XEW`DHPgBJw18Ju%YPq5k{f^SIHr|x=)$Qd0! zuTZKZ00l=6Ez~9mK5m_8)P7$X zvkq&`-ZJeloj;f=EGHErG%pc`5Qw3q`v}r0kSl5l9&14&c495+Z-5>i_)rOF+c0@s z)BYvK23P53ySmbL(ZL}=%?g++j6|Wr2^~^UPw-MOp0GBd|YDqcc=b;&jJk9X4amz_V=R`?sx^{4^fBP>zl>+`I8<*Gv z^mrNP>$m{n;M-~-wN)WSL}Nn85`qH1*jTVh3`H0M{`Pexg;1`Coe+>j&Hck+A7Yl> z#9s8^=3P=)XP{a2~h{`x>iB; zrW%@sy3SKXUXFx>MzO<5uw)i6a=s4{aK7Z~?U_5FFi< z8>oc_Gzh936m6hmAt_CkZ{A9?D|2WxSpq=%R7XxxXl7}Eh-`%)#Svmd3hWAY2B$9u z2w=oB@UE<0{MvsRVWndY^0M}aDOE{NK7|U5dwi-f|3=*F)_G6 zl?htf4OLG=5bRAej!w4@0L=#k4sf5wwMm>X3!NRV_OX{7F*tkUo_6GN091PAO9Ss} zw~S-NK|c;5YpHhA{!}ATi>vP=z5mr>`|9}W_^AZK2v#b`2oXM_-p;%2+wDnq8GKoxTP_2{pNZ{<(GvGHMIw8Di=>XzhQo@;;VowdJU zc|~QF3(BUKSosGl|5!aqQ$R7r>e`=tXYD;esP(`MK;B<@^ybOWma%D^6<%-crxkeO z#u-~)X|Mcm%|52z=Z<}@%D)U@Lhd`+kC9)Ki0 z!mo;BY6IpWRVUMlHo2mX{%v#zj;ntae_oG%75~C<^+!T!J=5$w`NqHcrN8Qz{;FU4 zt7Zv1hcWl2rs}+$AM4cFHxq|fzYAt9o2zsr-=i@n~NrHPC+&iJhj9|w8Tyk2WMCxm4o|e|6W&MPorNOgQJ#+UT zEu*4pKKNqVt+^_`B}Yrc;qCcXwolrK_4TgsI~S~*`9t(ZKhSU2gO{RLQfj_<4l|>l znoupXk?3N$VDiyZcZB8O3i5%5X%l1{#v%xeJ?Kj~AA>^3JCACha6G+;w+p+ADpj`E zGzT|=1;W&kzi5`yMrwcQ+Xkgw=>27mQgW7b<|~z3JwOEXjF#k*$~&d z=1Mgx(P6XeAMY%^Jb`zKMAu-`>i4^t=b+ZY;nX7C0#L2h zxw?1l>fUS%=YpM#mJyOxf+Zq(&*S4*!i^718+1k4hhMsqkkkwa}JHxTUQA2S)NsDp`ZvFXOEnq){Rnn_h- zRBFZw)~e!wc(8lGLn55-{>63jk5qWRTD}c z>^<=e72Yw@xJj_IHI*l5X;rPyNn83Vwg!}u*&vwx%+w?1M;7%H5~D6g3sA*AO{zTW zpO6Gxlr*4=#PIV3H>N6L%3-LisaoYo3L}h-!uSk{ZbW_|b*mTL%7JdiFfa9Da!gs|VQ=3mbR(izsi%$P z0TG`FI%oik_io~*Qz36!tc}^tGzH?&MT0F}Gep*>bcTBu(}`1zm|XWE<;4OvvQ^16 z8XonqFZFd#MN;Dk$2OV=!06rxgVb((c`(LZYoFiNe8r8WEZYQD0a+b%IrWLrC?{16 zaVkJ!axY#hDN~waUb?(AT>cOUJ;UTOqOVvL!51Z<&rNnq$L)JB0P!wBUjPcd=98Qx-6hQ}n=UWOYf5WnZLTBYH8EmdAY4Z-)Q*WyE-a=sjTMe+ z*@i760&{n`f7oZ{&^B1H?cQbgO;BU49F7m*Ed7d!4xtx~yEsR}WTn5ukaGmthUK>S z5`_fz3^|--$l=-rE-Es&WDRROlr~GIEZ+q-A_QDVMdlpGRKIl3PH;+;vFJEU&-5`Fg5otKnR9lF(q7L4pJ)PEIq?s&8< zWdxRkYnpk;K`_C~?d#WZCd-{bC|W9e+J9zH>wAm$0SN-XilHM8t*-dt-EjDgwM~4d zOMtBuz*mux29lNEtgk@Lv?{2_S6P(z&V%(&Y8atf~1LR-;x&jhgZ8 zN+6Pko0#*$jOj z*=#T)c@p|hBhNW@DWp0RiA`B2d<%7CP+IPxngWP4Q_TRAn)fz}j}c`b18=lCtg&iE z#ZpP3Ob1JBy^sfoGQ4)mrwz$~OqPiB_R)%0VD-b%OR z8qvHvTlsZ5)QVRKw-$Qr_mEPC48xDnp)0d)!(v#U4M!#neQT&5*&| z^U!A2jQ*@91WYETVp5uvf+5c|Qxhf)1-qY*J52c5ER9q0G?$79G?#H}OLGaOU-SEk zh6YnILADwb0{Q7e>LCadS4$aO+mVu5+>W}pG=Ed$qHz%u)ZGeM-&~y1+9@>w<$Gd_ zaKTO*T*v||h~t=T3Z>G=HmHEh`-R#7b3-Lbb6cWJK&n32TxKK`YVo8Pe-(?5=$n|E?ZJAiY>7cII=m1j{TQ{ zoj^}oDF67OAQiOdB=>Pi_=nCZ(q)YZb!iP&O)-@9r_}Rw<;ba#;|3RDvtM{U(enee z`j!>>?BDw8{#20>dIwui8;z*N8szmkc&pJCB$ahNR;!CR7Q5BOd!;>Qu|}&)C|W9u znN(+WiKGzgcR-^I|ArZLyvrpzN@ZJ619}aHp3tNldNN8I*TV4v3F4TJj2GQ@VP+c_ zpC80)3qm7q9qLRp52bCUY4bzV(yU57JsLm*;ov+R5KV6;LW5D@MioQ0c|^vyc%WxG zLj;Y0RNa?`0g!p$yp#t>_0|0;8TrycFr1gJs|w8&)f3Gp*t>joUBdD;{`~llkV4j^ zb6r^7LboG#3eR0k-D3T8y|dcRMidTF-7=mglFfEJu1!{*%hPxLxZ9ArgtCRSl_9|P zZKz!ddA^v|b-vb=H1)kvn&N5*j=AV+m`Y<^6N4=;97m)a*F_tuE%4+4i;;BqQU<(i zew3s)TXE?vdpXxdgN!YIX-2ZF^OS4K#U4=$3LTtA)TWZs2EGd3o+zo$$0kVH^8gxq zsSZ-w9S7$gr;B1bKG#3O%Tv5GSsH1*;m=skZ8RaK@vf&bQINX89btXX5N-1rUs@B7|A$#A-0dpiikQ9F}+}2R8AR9g0`<0#>6vW-Z)MlZMq4SJ(O+!!ALC5*_mb52U$D^Y#N2Wns5Z< zCTGV`bOK@0>EA4xQUGx#PFMasnV7;0^obm(otX`vNu@-?KW^{z^e zsr-OS96qP(h`Djh1-_ULRXdwIA6+Y$8IfxbU{pUjhe9w|pWh@3P0<`jNOCpXjxL zx12B6xCk>8L9(dA&n%3hji4Pe`+44^C?6AD=(Vy%uKl~4xs`HF;_dDL5Vv9%KO2iu zv6g5n^06eN4d=7sX&nfJbBY*%r5e%YPKsc>foMV|G0XWuS_FrGB`T1FxBncn^Tljs zL{tzgI>%>6J2>ZK94Wo{#~>(+LTT&6q0<)#o*rMb0zF16Dbn;~mcGvv%bp|%kOAG( z@-X@s2IdzBNLMHMO64sf;Cfu7Kr@&E!~>;n3kK%3nFS^lA%Ek2Q;m@-P*VC3LC-{k zL!jXZcem2IrDT>yYoi*NYB2326CFZu>HVabe`%bRTs|FjsD`R|+>jvASr#ce;XD6c z@pIB^qo453aCpL-qD$Nh_k4QOHboK(05U+@kHBhTrb*7llDm&*M9H>V6Btwmih~N} zN3$DeC#TXrC4*jFYf5`~3LE6i&i#7 zd24{gq2#V~nuw=HL?Ww&DwZEJEiFu|p1|qj^z(z{@|JSxl>U0pWQdoPdoM{itmYz)6b+Sv&*1(H z%$bKS>wY~H?=mz(`F4&G_e0R5CI03hqn?zMGT$oCff^HGJcd1rrZ`J zY%!hgYvVR8_&Q-eZCzK&%?ud`9KLwC5Bm-dZyyhPqZ4>PRU;Y@D1q?!xW-tGl)PQ9 zotI+C=l$K!dj8r?J*BZxc8=mD#VsHV_Oja^EGj=RE1a+;VsH19x3__n&zLb;7j-5h zwG*Y&0j|W=@JS*jK_1qLRQCxDf-1(2d9Q@Dz4aAdqmIOJo*P>q8&a7l3F=?~&GrGF zQ_rF0Z77186@Y^7=wK{;5`R1nQwEBqgM8USaomi3hILW1xr$q#`{Jtj5{UvqA3IQi zXCkJ?`I4>i6X$B;hshV%b}@?FRHp#B6rC(NoSDDd;DmBbbk|UzU7S(dQXlP{p|0X3 zA>p#k%U-0S5Fwf|k{^0cy!^eoz}7Xa(eW90^bfsheYmpzk%xXKF*h^ddFFWFXeuQ_ zW#xn~sEb@g6UlikT}+??Aaw*d11OsQfZ<^TWJ0cx_&~!Ur(k?-(5Lm{l=IkR-K5!^ zD3O&pEcE?e9Zf3{v9DR3>WpE!J(8XY7@xRxpA1AXFg7RPf>&4`V^`s#j&hC~5oFuv zxZ-bbR(F_A{b=L1dWOdD%KePzAC@;jBkxk0*Gx(!puHoXAP)K^ZGUW7Z zK|IlAHNFG+_+I5WdRK>1K4Z|(9=3^c5|HSp++kyI4EN9gWfDa;`zT|BdyOo@K*9~O zzA8{nW)QH7Dm ziHLj2bDx@hvT>*i_qx96wKJe$=$m1Uj#-xIl_An>{u;6?cAor8$i^7WVLk4PIesC} zCGEh`%m6k`~Mo~2Q#D>Tls(1<|XInn@J;wl$>?rfZ=L*gAu}; z%CID*OCy0dwHZ_KoJmWo6vqpvf=LKrGb1zJo|jS7YuC^awd=YIvW0}BKSGWh9v#7Y zFg5`^`gM>Hc}D*o{CPe44g8Bdqd!G0WOsNtL`ZtS+sF0Wr^6Qq$M4_lJoz85BH<{! zkxyRfx#};$mqbyx%SEY~C&2pI>xmgh1OEo!O#g~Bj(TCZU{F|=#RXt<54UH{75sJw+Y$YGA;tYY&kU<#Z3hgmGw`Nu3q0GWKPQ? za1M)|KJ4nF2)W-oJ$+RRu>$RY&|d+XSW5+mu09h~HE;Z;Jbyfb4*)5fyT*jZgQO$rwiol0<-y`URq}kH^e_10@>M>1DX(}~959P$-9*QM^=){zb2ymC6+pOH40}~rxlrnro;#ss zXgJ6Qh0Wk$fBYPar^HIq=Emcvuz*4B@LuA%hNoG>PC_NKqRUlKlB4x{Ug|b>d>oIs z3$_A=Hn>C1d9@2_Kh)krB(d>cFG<^5y$+T33HqB4}zXUVBh;^ zyzCGjHJK}&wzq{LaHdvyMuR@C>o|l72und%MTm$y{RKlt)PjZUy?&e&$xMR<`|gdSiF!}ruGzYFmVk!8CEh%~{8WP~g- zwz8=ma1-3E&j=jPq^xy`3+CZ|V*iJ?6L^lS4osl;%gGcxaN5U6okEK8GgCY!Uvu-Q z8yU=wg@?m&@K@N?-xSddQ0|q2Dt!oXPLT z$c2Ji^@IT0S^}gq=sxQfi?5ym^5aTDHsjcHouy+sg;`N72q09X8Yeo?@b#R_94qo8)-K}}VPBOXC7BV&^BbWih^Q6N znYjEbRETboMlOy^$U#uc0aisLFb>eAnW_Lv=*sSIN<8Y#$lr!u>0EGGCKQa_qf{ep zAkjpSW&QIywLSEg4Sgidtp`9Z(R#cmDt^oT3*?oFQf>oR`#6DlD2A{&?AoDN9DoVH z6I27VFD{)i&w+;oCi2R2_3R@El_BhRPx=jpkw;YC1%y7%S%otOlS6vIi2*SM!4yd* z5Xgq|+(BB0sVbUmLnZA9ms6EhvdGKIo2<*OvJl~DK;q z!5*d;F7m_`84$*pP^x6;`W6VMqoHdi2ME)=zrQb8K(W+=HDxtTSb`;Bz&@i7$XJ&^ zB9u}AO%NM`3mCZ-+tN}C)MtZZ=AH(=JJEzA#so^DJ4LLfnbA``v6XG-B6yBzR@nv85Nr`O=QO1MR zy?KL*PC5S-T8sl)W+B!}29|eSYOPfnuy@l0P zm@YA5gn?`u;wsBMOwGNuRKB$CosH%DA8#cU$GVlm2&4rj!nnJFbT%uCkqouz_*iXKmK@mYeEM=!A~Yt zmkCfoe^QNAa=q|OZ|O;;X3jQqB6ZJ&1}2#Z3-70dBn&eVmXw$hnsU!Xa9U(ac;u#u z&{$wfSjJcr!C9FpA(GQ3f@6UxVF_1G1V+Z32#hAGifq~uyH(C)4eTZLbJkhTO;Woon@ZKm z0+R?>mQ7lHQjI3rRBBkH*ZIsR&?>U21nWH6bcbv#kc46KIZ=WoC8oryPBxXmO(B~i zc2(I_f_AQKim+;BQwiKOvMEBW%BB*yb7fP6RU?~9z{r@j!|*z&lBQd73*}p!b4+`# zw&v=uDY3cYD(bCR{(4Yudse2SRzO!`t7myuO)Q+5;n1t_Z&qmk@NE1%QQ;lOpp@6( z71U$)Tj;@#$ER$dSzE6G$nB$U89VJGSf@MJ=PY=Q_zn(%6!%4fxDu~%Yn*m2!J*P` zwW^l30BLus#3$&Axi;PMJf?YFOgYaGhJl?UT?etBrs>0Xu)1|LJKu?zhK^r}!6YzN zv@D2+v08Q9*s8aB$o|imf-q1zBKZGH@Go%KGUZS79Lc|bswGw2{_Q(6}_>Qy+*h{1ZgD^TLv$W<)Oo8Opye=;0#SM+TA(*5yevkSG zexDbC@`E!KIHL#@={m0BEpFy*vlwh{Wr_lnMqxk$aLxDOSw&TxXtl_~XT zmpU8a6Fnz{bpaOg()GdT^`S)nUs^dT4FCb~6L6=n4>M5TnaocIa^cS6-E$$4S^<=; z&)QD1P9?lo%Tf6}a2$A6Q0|Hlnv{w>QXNzfL{JFQ@?L`xusm*HOn9n0OgRbSBTd=~i=jIy_73WuN7!DAzY-g%cz%@yyy ztB_(zS<;=foTtB38e4Q(EO9V(jt9Llj){1+l5i!u#iL8J5H})IX<}t!6U^uK1skBO zVb?LoZFP|p{Jc_YzUc3ahle3J2yxzd2hXaKV?)RPPmMpp&u zW^ZPS1z>-6GFRNeUmTzzm~j!`!27TQ!<>B=Kd3xswQzy`D}ek?djTZD1TW@~;mpv! zW549bB7Xqdb-uyeE;{q_>-DxVM$VK@E2C3??_0RwyTgVi(Wtr#QlZg#FROT*f(?3& zo(;bRy~eaF{@K1IOZii{UCU2u0C{h9F!BW&1kE*?jN~Q3%VTQLR6jEXf1>`KrPZtw zUu#o=0i;b^*?iOG9xs|OqPyXdnDcx2?O))s;{bwuxxjHs(rU%-| zb>Ba=GW+JqPXb(4pxW$Dugs{&V2WIFLKa$lwDPZ43%at1X%Y(lgOz{u=E+~E?MSjY z4aNWV%76Oi$)76~&vm&__V2I!Pj8<5D9V=4aYKn8UHLKXcG{h|hKF+hGcP=+Phnb4 zs2z&@=F0EBdBUs1(<0vCKDG>@)-_xihgb7XVrT%0h)~3d!*f; z)DFrqbg1~_D?j<>$)7J_Q#$wxg?lT%@#YDyvrk%y$5f%%UtjqHb$-q9&dJaQBjMKf ze^TluC z>(OuHU-+Q@u&tkCq%6Ym?33R^FJ^w`+Szz?ZRggps0M=%B&R&@P(~aUlC_(6B4U;xG_DOt1c2*>4)#$M5o`1e6x#{)K216S7pMCV z9u=!Ny2iWvdhlI5geT#_E^DuFS*0=ZHhqifVI6fUhnOs{a zit9IT+_*7+<9+Bqk2V*u4@~ZymuL>M&)qxs)91R}FTx*&FL8Tk`tt1b;BdSNA1=JY zMSAKn%?Ub|oL*bQA+jh~BfUG=zATz2VA8PO20;i9KUrLVa1V3tEqy>NYfn8~-X36e zm@(j;v}dwoMsyX^l5Bw?D0YGsW>FMHc#Gi0;Skaq<|<7QM*i7c*g_?Z%)%FS%PU%h zzz{Go%5NW1ZcjJ=)yP#An`2fRHfxB_7iX7XVs?#)Cbzn9AU22)GMlKI`NS zseQsjqs_Okcs@8hkxjKC9g->1x@@p#nLjYtW~CVkukNvKI8m`qm+qhDW#PDe`T;!k zy~pt6A48l$US1s+^YaAKZXy0p0Bi7qGM@~PJTcUoM*S_KSp+QTk?*LZ7mTDD?=4ZWy6sVxlxP-rBj?MZFvWF1LrBu{6b zI+qo^1a%I1u?~?q7XI!hG3FNBDUV}OP5_XsCy}Qptr4hP$vaZAKFbA(jELP(QK+VK zNse2>i)=!B0c{Z)lknbYPZp=1G#65d#4glhV0b$g0OnHX{L$u>pBQ4;9ijLeog!|U zjVNaUEPM&o@eAhNP77;B@)WH>w{@I1tAPU1L4%A1|Euk`Ke=v*`zb~p6TYJx3bQ-_8+ zD@r+jmNJ&Pc^3McFq8&hS#9P0q`qscS}QB7G(%&nmimDju090&z|@V%F{_}|L{XgY z%)*e2Sq5JQ+76gbh9{hsh(xypj7`UuK~f}mni-GUm(&5NklX8@_8}#(vPq?I<(>@V zO!4Rh1=KwweJ{fxMNUVr;$+u$clRmub&u9HnP0*vnx{jR?&|vD!s<3C&g?EiNojy1 zw7-u>!xJpzB{ZE|N_$i?vJxQ_@=?rF{@5Smxi zF+(<1Dn@V+EI-ODT|63&Iw9u(-!y12E9(#^p`gHNC<$H1W-}-6G;=@9+PjuAjyoK# zWU_0!oQYjnCkr!3R0U!*&M+e)B~2}`SV zrBgJ5`=_&;!2V+k&f?68%Ia%$3b|iT^ zkld1tlPvb0d_x|EB{y)*HwPoyG$qWBoTI*AB0fF7ClUQHk0Lfm!yxxmNT#fkwUvtV zD2|Z^5Hr{cne;T60nCoq-K->wu#7L zLT*yY(+`sLg&fFm8Z!~oz0aBxnINDc-3SeV_RNHmCS(gjh&CuLJ~_>`0g9e04|%DU zm|U0{2u%yV5L$^|3;EO%2}NGnfo53O3HIS!spUDf1brmYf|VRiB{8oNPbreEKx`e! zAI?UamgiO!MP8D*k~PEd$DX(YeAaz(_mcE1z)AKRRx$+P=vaCkU; zfn^}BMpM#4x)~Vh_2_qSWYKwY1?MPnf`!wpzp?W7^hnQ)j?A8~cEC{N>dG&?dBT&} zI>8=F{o2a!H6>s9>6L@#H^O^$nT z%yqN-{L1Fm-StOXScK+p+~AL;jScy6^U9UL^kyI5WwLSI_zDpH?H2V_J#AVY_F-=j zZbBE3Z3NJ=R~@a^eSC0ycXd_yv<4hc|D`#bN1X*vFtJ2k1cwbrjL()IW)%wUF=AOT z*c5vJ{CfslIOYxzfYM?AXlJiqyxY4KQ*NQYM^V?5h)#Yr*zUX<4WI;Wp7J_N2nMX3 z*p2pq=EL>n2U|-Us+=sYuW#H1Z0}sRCr|XHneo>jY_6{^^)?q7e%HJ6=-$1hjo$Ku zd+VJ5J#mDCK!gn79h%tZ11uKT?(?p%AC!eq(Fccn;~tvb7NYPWKb_Xzi_L>?53tY+ z7L`?f@5Q2c^**G@6Iy3u!54wDW0VPkzxQR&0RpfbC+^Q7cd$Fb| ztF=}GzR^X88Ugh3kPajv75i)guHCu1H#hOWS-IshqZjLol}X9gMHoW*^GT&}c%PFo zsaSf^2qGbHQ!7r_?$!`4VS-qAv^v%w4rc7yW#yg zolulw+Fp|&9UMnCNCulVvCB;j*AU>&`ueJMzgb$A``%DeJKpf}g1ru7S{c$N_|tYS zpL8`W7#qlomb;g~y{GAyz2dK&$Znf}{$4jm%C`gvZ|n zibYf>6D)G&7ClNI*N~}HWT8AywBk7=S$(*;xwRoxO^%hoKAt=e;LLypg~ui_r-bUZ zw~A~P=;+f#(@?FqrWkZ#EB0DNB()0+iff7KPFLGU^M=T_HWM|I-SN%=UN=ke#9V0C ze4zM*HK`M37I{URMJ^<2q8&Dt>;X;fVbWe^vg5rawj8rZ&C8zU-0L0e-8QO4t7WCb zP`a22=V0#-Ri82K5^Vrt)1k@BU(v45yf$!RK<>h4*snwzkJ_xrQ?%=t?%(~S z_z)+O%vu&6J&{L|BUnW#5jYb;3WBtF|2!7O9~UP@GUeTlpx{_m6gRrCz|sHZ`aCzQ z2x-tzF3IwQ4&2bk5nriwvx{uQCpZXYO@tx5!ZBA;56L^nMd#JrOUpgYhLo^_y%6IO zXc_wY3H;h`Ab8Hn@r1u4fk7z+61zaaS@%Cb7`)(?6b-MCm1)JagIma7MxS^iIwDTAr$5PC-jkkDfrPgVaJui*JHUE*dgQ)44xk1hY1Ep%X{-|SZ}NnzVCd_9GrWDSx95) zLUWxY+TN(iJjwB*aMh{4VoQr3Qt!XhvZem!UZb6i0wZX^ihK}u+0 z2I$$)YRHk}D~r9&kCE?h6FSa!3VItpZ`~?d_!mw;JAE8h>mU4r=T57@Px<>A6>0mI z%BZ_-b*+{ce+mz;w-koK@Tl)w90pd$E%3NWx)2Vb-o?=7WCqw<`a8?{yZB4LVyc?N znO}U-1~2=JvynS0Kl-Skldyx{Tv%OSTS9w!6ofAx!C@udQV@r?_ZH(g!~>pOCSK`~ zU^kN|qF+!w!S%fB;>+4Uyk!w+%><+)B!!Ef>Z{u%STFzsnaHw52bwE=E3jn*(-s}p zgYv=b)ObXnvyR3R(KUuK$1*^2bpf2^x-Asiw&3KNFp(4X!(&Ra&c%lTrL2DltU5en z4q)->XHUl1;U3^*5BY!fZqPAWSM9T=Wo;NSIWL8jAvOld{pDGGtDDw_vZa=ljXV*k zaH;gZg~#UARfC4bIEB(UVq^C?T&F0%{xV-z^H=YlQOaDNh!(_!w0sL zzy^C*Y^$0St>qX44xKn!p2C0$KN7gq`Sl3tVFNKp!JM`fN(On;U4Jr}+vmccw^KGzyv!4hPPZLi%%)Fgw$|^iyJHBAZR%D!8UMhu9EsA$ zx;CkZ_nOmdVkf~5z0q)Zs`rje0y&1~<+0sIG8v>2*tu_FS);M6>JtkFs>|}K90Sc$ zGXpg0Woo>XUR^Y(BCVtZkABxiCTiOH3R7NV9mEM9UZ$=Ons1`Sda$UQwGA5^Cim`5 z;JR}vHKC}Fm@0y25K7S2e0vSeB*oVU^%8LHx;$QQl0lTg2fXZB&gFec@$F|j&=lcQ zhrZh7PG%5bRtH{xlED)m0X**iG)l#Hf;vA*NZ+-j6_sJUV;li}!t%VB5`RcCl1DZq zX1_LiI~S$(z1^@}7$n192(5f{OBK3Wtl6mJt5*+O%c-ZFbOb_}8BKlYn!YzjuQiU>;rSYj~n0c)Xv-2SSyBOQ!cam5kWA%P%u zYSu~OSym+qQ5IrdU!6=xBkcqzRf=-cT+G>^a1-9Ufg~cAPzx5cV~h`}^XT}qW8`wv z%1Ka;0E=YKdq7Z%fKaXry$PAiy=Q?1d_!qoO$|k(CBromt=w{UYQMnS)2h zonV9B&e;L3+zl4Ia~0kUCcCV?yAXwi)8vM)J04uM^HBRCSVd1hT&3W&)^krT4qT3>A_LFg!wts zgN1@(diGza?O(@dJJ@N^#VN~2R!Ixy4MJ9x(~jYQ$rbnmYyzpmW6Lmx&koYE!Zy8ERc$b; z2aQC6FM2p!`s{RgQg$v?>oi#vgR3md5#dK(DIsKn)6yI$B`=j2c&T6VmnDLrROv}x z+`EW!{xvV)ePnZ@cUur*KsD_qp(MT5y);Y07hYPxH4jjfaau8uOVT+mxLZO8C~m@} zmwen~fu3yCQJoID0XfVg0eZW*kxRyz;vUY_L%D!w6`tH78489k()!qw4dLAVb^c2B zkv)mhW~XSGiyg)J0*wMVNTjDMd`dVcfheyJ&cT?uV{2)1ivr40ZuqUua#+Ue9x?j1 zEe<_7-s#~u4Rzv0CW14bi?br6Vck1QZEX5#-$9r*!bGa`V}x$)A^A1IN-rqka7WL{ zD^5B)*i#!C?u!v)OR}O-rsSuoyh&&h)Et|wJv zE4kR^69e(Z5l*~v%k!ki@YsahK5cq56!DfGokc8>&|V0yaw3?mXbNL-P4OX7x2TlZ zL}-|TSIXcp%uRtBCn!c#jCtd3UxFU8a8-CMXpl&wl3gxL2fh@?1Mfp|wIkLq zIFw)Qus`Ejxj$MO6}w;2?RG7zO4+#f9b9n@iXaudgEI=X0V#copT%pO)df6+R*|bi zbrfu5q%1d&04RxDETVT7HlbuBLu97CFq7(s8v2UPtbm{rs_x%_t1!bwDp0~U_AY5E zw7|?FQQ}tkiw-0?gSC;UP0v*28|rJUJo?u#gh{gqr>@~fA)sbvDDf$=o3#U2f(fzq z4wI4#!o4@feD5DZE5o_!$*BMAsDBIW1&tEUfED_|nmvXe-SgAalUvuW!B-46XxS`u zhofiLe6^cW?88YpxVX!4aAL0dLA0jt+3@Lrg|UhV^`Qoa0axp`_Q8pl&rmE!UR}8(i`x zRlp_+1i1?Ly0+q)$_TL2gvp^4cJO&7IaqJfi@Hz%zlh+5_1orlMbvAC8J3C?Q3{(c_D&~?^;Iam}M?2#;f-p5M?B%-jm|%j> z2}H7{cVFz?o?ci^VKx<`=M<|v+sEDNU<185#}-5U*?M_;kDKyJHx1?RN3UkT9rv(Z z&d+=->N)z4D#0R`fM_l(ry|sMo6g{Q5)~QWLN3@aP8AgcYmp=}!G1U-Ys(j>Tr5RM zHQ!ooS4-Mq0W0u~xr=AVZFs|Bj+V8N8aVo>NliJI869Gq?WVGd!l!thtP+;t1%BYn z>=M^(LP*7oY-M;xM)3{jB+3QLbv@W))E}~x96vLSE9d(0t1-?xpr|0?N-*d0TCdK) z>|z@Q8Y4>DQ1Vlju83@ksCbyv>ldQMq6yO|nskPU{U3Y90L0K7Zd?H8=Sg%~Z?1Ou zRg{DCw1i}7WF0V@3|%vezNH1xS)6~f#?%}~t6Sp1mY%+6rBl|?r4+n_@E>uNXaL~$ zEJuNdgHjZ_7S~$*W-tv;`n#KQ{lSuj*GOxP1}uk{{VfA@P;$dA7E5bvHaXQ}eLPm2 zx|GdHM|hN}h67#XBDb^JIkfpw%^;B~pD)!6Zhw6f`TMN#t=xP@ zcdJqpi3Wz8`vbZiixpT8i_Gj6T8fn|X|33kT@2BBjB~SZ!I&&oEb)j+Y^e`7)_)1< z-8SiF%|a5g8UJ z7wiv)Lp|MLAMiGbpgJc|Cn@!U6@h}+6Gs<1e+QI=G*t{(FP1SHIFv8|;R~8z$MPCE zR21<&thpb?(k1p{osBs)=um0GLO?rU;<7G!=UV*jYiNrw!nLLsO!Uq!`hX? zb`}>;2SSM{x)}1O5+$_|i`kB(k%Ji1uyc$<3q;r^k8UfdiQ{}$a$M*7h@p8SnzcB{ zVY&)SV6$d^?l@{ee?hYHSpjE5GkqgGj?eir-U*Jsv8tdV|InNk`YIRhmP(Zo#+GV& zgi%;5=}}%yjc^GKL6%c#Y5=KhNaHsG;4V$87wS7?f4T3UANRP0FlCy=LhzqnrJnRW z(0gj^5on0k1a{piZ!)Uc*R<0-*rsoQ0Er!C`3Z9v6*^vNYHR~d^<*LtHN&m?BUTFp z(p=^NK-CC!{-KK<)E8JJ6s}Ty z#ci8v64|W@2yQq%6G+E{0kXwJWkZ+sUV0R4`i9mqiO!RK`)a4_`YSm=kZLub2Ckh0#O=tgWGRAr08F(g zw3h5)Ys<#V)@13$B}FPgXTmGJ-Bz45di(IFfYv?Ea~vtA4!iU>;koV>GNEpYa_7B1)CBKU zd5HuS^`B~Q1y<>*?D9D2n0D#1R&6V7NDi=tNrP!TRF|_ZF5{AHm;H z=e(De;$dmpfQzO~?RTLO(<2Cn$nG>qthkG%8)r}7;^qVBw(t@~tk@Q&>>N@@jd5f9 z5wf_!rklueD-XIPzDlyy;=+yP&Ozj|2Gzu)wY2akQ|Mmf?gZBdCnW!-b!5#7gi1@5 zzNeLZd7P#mh1B+~`S+g|?-i{`N;pMkwLR1u1N|YZd=!fc)p@Xi`z5kECZ0>1JR?*> zaqo#yew*-l_0e|g8`#awBcma_4H3wa@1v{g8R0yGxfi31e`NsY(n0igf+w+|0!QLd ztJG~)@uf&sB6Ddq*37!gvexB{w{kvVDSk4jVP@n+XE{J*Z@L7DsP7IgjinyduAyHB zmX)@>a3U{Rh##Neq;pPKzD28!psv6HLuN|KUo|Yw1jCOOM$EIwB5|h^Uai&oq;Heg z0fpN9Z#ogCo;{7=QfL>MR*eA3+%-(bv;Q492Vyu{RU<@&3A}g{8~A&GQ%3LyaL+EI zCOhwZNW*B?^R5FUvWpuFn;*BTd@Fttl&>f>?>E`RrYk*S(Wc&1ju#^w^}-iHj)wLR zhyBxz_E-Q~o}08hzo)SU<#+sjf;(5MU8=~Z$lCA$VS7lwW8)b4JtufZ{i;y4HLOmW zl5zgXt}s#QAbB$)fD>pAE3FdV+Zr*K4TDFKw#%^@xC^k#ypj!xsU&cLp0|M2Wz?F* za>kI43^Sry+Ze%==5Tc=p;fp_Qa7A<{YQ2*qrRY>vhHSom; z*K||k0~HEE3C&YSm~{lP{|IZLQ#o?U=&`n&LnQT~d272Z#j|F~wfDTaOs-{=Wplt? z5pFoc!#)hbmK+(Z1|h>pdHhMtGLnL=4?oA_XNatVaTP}x!_li~XYt$uJ#D(85$j{Q zC=*xNi9h!$Q!B)IG$T_7#$04{qhCHbIE=PGmDo)PW0_?>ttAvj7gITSvWtaByVEMg z%35}GqCuAzF;2pyDYh%!glm0F&n@c-PoCPNM22{0&=1W3*7c$g9NK&7r^$^dI088^ zOcuOwwlhXzS@^}nD-c>4|02RE6r|@VA1BghZyU#lmPX@o|5cmXa1ABnwjztbipT&C zJg7n91_)L6Y9t9>NytC|y!Lql64l|%2PwnGRH$Z*%s@FcSETyc^x9rp%TUVD)Y*Oy z+&v}X!eAPkHvMS}eWzA%CF;<2u=%L?CRFhA9{~#tn|12}jJi^$rpsw@o$gXH&itqX zMP^nDu*6mRLZicgU(*!sbe+###(6+u}R2! zC;|{x$}QpZ5KxN8$c@NUijbcYR>8C`@17iRrsFF_%Q5Iv=kTFcr4sVN(%0@<9jw&s2qMg1#;0YLKjQqWLS|Cg}J+LS` z(99NifML_uyM~N_CQXh9FW|r*6&sfD#wkye#hB-AJU1(07+4{#dRLgqmvIp7yo&6+ zMTu&&x1pmL@-?v|GsSw|)eH+_!q|-4xKfcq<$!ai1*4xgLG)k(yoSls-MjW~cl`VV z-nU{WnP2uACGa! zIz0P)gn@xVf3lNxqkMFL;-kS46aKOu-A3?7!}xQn>9+nNw%KALJWT#C3!2NSZ`j0*hO#V0>+3?zi6(DD7{1Hn9a)49cQ>E3IHc{$jM!0SNM<{l~1wy8R112E#+ae3c6|=u4 zo7^$k%WnrzPs^(R02!EV!%$ON&Qb+tas+71f)4T;0YzOE747r!V1#wna_0eEY#xq| zpd9NNdV;|BcZUWMq1IIhxfb+d{gJPCDDzMgQK5_)Uh@K<;bPhdCH{hKFcu6Wg^T9C z-+Os(QUX5CITzi_Cu2wum!)KmNF*KyB>o~P(MX1LIao`CZnAC9Hmb-$gVP*D@N){O zKlH5kJO^u>9r}YCGMoY6MG}TOpc1}hoQ!q%%U!GQV7~vm)-ak>=!FH!sgs-;!eFCh zzRL{*?M1V{XJ%-aEHx*v7dCbXnX8dEJ#gq!d$~CGu zj)Qt`uLFc{>Wyh(8KQ8cL3yl-y1`9FV&p6sOkhbu7u5h9`vV1}C2dFTLv4U!=4vH| z7Euq%r8IkXt|^7KWDv~%SlZwz{2_Pe*mDTD(6{gcC_$zyOciB;WGc*o-w zf0sEW!y?XJww(1MWrm1SgP6-iTwc0Xyj^q{i5))y!;1pYO-1mQ*f={jgCsA8gr|aL zge;IlfrmH2bs=1Yfl@mE?HX)uPcVz*48Q8o8_z8h^%mPNacF>qtPue506p|kyIlQO zC5Bd*?w~oXVO@~C_ zvRgg3lcC$C46cc@lQ(Fq6WT46jVAAzaGOQ(Vgy+UqqbV60v`Iac7S}~;Fn>QH|6M= znoCMXYzfMKEq)x19fSIOXw*u=9}!2GO;y8{(Gu#}F>cc5Ft-}^6Os7MTjz)~7A|Sb zx9h>Rmn#G=QaXL!BZKiKjVu8UwTZ0acDcgS04f>vWHNAgLtlV&C;phA_O^=oBTJff zPV?JIv#_>>VaA>f4kT!>It6LAPE*bnEqX{WCoU@Wc3-~4Y8l|Tld5hA!{fnW|70wV z#fhV-Q`sC!46`mkj84ZSa;NoR{r;onUaLf)8HyOw#pZFnB2OUV;E{yE?K8B?l^3S< z&k#X~d~MaxoImFQI)6&S&CfG~Ca!}#o=0>jw8z^w@Hm+Y#nWob zh~DTQ-1f=MY}(Im+pr}ApsvE)gH0go!%u2xnmN5;4u`?JG(pv_^W7w9Lb3}{EF)Oi z4HZ{`VIs8Vzg=991||~088*%Ndy6OLQXFGCe1V*VngF>}^*n|&S^fRuOZ4HgYzcv^ zmfhPbsH=<%OYiNd2vy&g7(3%Tl07ndLtQLfVO|&^lK~cq2pG=>qpoEb3{vVUveHM{ zBo`Rr46RcdEqFNvq=K6j6=W{sJaL1K)^Dc5ksaUIMsB#nEES=$Ec=WN2E$kavDE+a?y#)mB;BmEuuALsFrTM6)qzT>>d5o_cE!&a(g2|R#$6I@1Wk^C8@w#TEVIF@a!L;BQLDjm2}Y$;?3OP98E z_mziA<)(ykC#*Ril?<&?3sUsM;>KY9{aabn2E&qSvju)UAfvuBH**S5+6;fYr&_X+0v*@s;Ysi|37>09vf+v-G@y-q&RKM(n^-~ zh^2fgZi~g8W_6RjvoqV%>|HjS-9wSp2p7abVMY6hC+a!ysBKx6LJ24WW5g>>i zlXtAPDk+gCK!pC%@l$+{gEQMY3l` z)^0L2gJ#wD-Fxo2=bn4+x#ym9uH#!GX2xb|haq5bKZIf5KKI-po8ZaHMwzY6diYC%1U5|AAZ4|9*9RPCpn?;A9o!P*%T%g( z*^$olVX=wUXkLD|bsf`ximo9E1}zrI5U95ir?5&9WTQh2cB9oOzEU)=zXP`y@d8Zb z4EM8%f3UDXJRZ_qQzD%8W+|cDK62^z51Q9ct7oACbO7`Jk*5cJ%(i1}GR>!*53sVY~u*gT?%u*)lvqX0z(b_6ll`IALj4x8|lL!+ccTIizEleoxUmn-$S( zr!|e%36UIOII{54%W%(lu?H{w9kX}vAl@?UCAmJls%gFQ6Nlx!mvabw!g2d^x#3!}$NU=G?{FzBuLvT#%GzkCH$-_daHQcmI~b>TxkDvi7eoJ*z%U~6yN zWwbJC<+q}pC;}imT#N)VCL?rOlP-GtqlzF3;7)8mF#1Vf_NI8@or+e7hd>a2#K~YA zV=GjV5)NLr(pspab5*bYs?5!rz;ExYIF-ikIcA-yn)zE{ad~j^vf{X=b^V6pu);w7 zBZ`u$QIuTkRJ0lpOqI>}Q~>8@QjsS@icTOei}EAIs|zUxLW-tGUo_R!%Lm+0p4==2L$F(0Z z%*&U41+uZ@M+5X3E=Os{38LMDw4XrnIpnjgFBB6%2Cl zClqW?S*Rm|*$!s{7GY$T^2516PJa-h+i`0VT<-ObN2432 z262NftZu%da0Lih=8Q{u%LBAd=tNphV3y=sOi2X#efL!*krB6%bX(4W|$M;N$xJELP`PKE9cs4v42c1#eE1#n10dZ3V`$r7_q5D+*O7C8PJd- zPEKLSA)@{Rhv4XuSY3jC0};949^-laxK)`k28f^)kO~(zQ_P z98e2&<*%l%)Yqne>JRuiAkJLUeJ~$y7^x~2OkutU^H0d!p#YlwR<8w~(~KRsk9Ue% z6W0xYmYjqHc0z?;R|WVw;Q-0;D`SSiLsjz|4k(r3yZ_ zZ#L1B+yNz7t(72Nw1;YnN{T;9pvK)Hy9y+u0T@AT_4idtC`^>5RcZRPkcWL6`AUKv4J1^ln#< zg3+vdRfb7ocJ)ql=>a%{s;b_q+3H|S%#02@<%2Lz6DBg}~P+ZLui+SCI_ zzY$%|nP_Tl9SokQYozdw?2`of=A>&}$A^huSinD>p-Qojd94*T3DAG$z(`1_vA(%< z|6UXL?t-arJ(FiLnC2mD&9=ty3!QXX1$8bPO&qhnDWag?KjSnyL;Qm zl6L86aMazCg9J?~l%2Q8%af^z^Asm}=tHaqBXk%ALYBm?&HeuNaDaQ52QVkjg~F}$ zafxslx0I;9c>j(PT-k<~y}{bp3~1Cdg>$^ogxRfT1IXM7RNZg4-$&WM>WJBJirr%B%4($ezSX z0V8QU9qLdt6iJXKKanz(v&9M+Q0}sBPDX_t%^1zRw+1WXAnvxK1mJQ2hDxRfZz&}zknOdWmD3Ha#j2X2c1at;f)MFwlgab00aoRck6pn2V3V~!sk zk8BZBdB6vW0%_jo-pR9fSt&VDd^qew0O%<&PkiW7r`uofEQLZe!&hyGY!;Ef-K|7z zfMpGV^>h@FG&YmJ%zGS)w(j@ee12aC~d~v;DQTL9$r8ZEXT`(<$vwHK}+*$^WN)`P}P= zKkP;0%IhWCKYF2ETzLI(%8S(BAA@^694r3BVZTDNJ5f$A>p|SjhcQv#5 zbg&=|3ULCI>4C?gXB9TZ%d;>Jiq+0_JP$o7lNaw!5@C2fMl#^d3Bmwxeg5NXJxAh2 zohZQLK#9s2djl}g%*^!6wdvVwNZ^fCPV=TBIh@=>{H#0d4{&jir9+(x6=tTd z&1eN%BAJ3l)9S#(1K!O0y`$a1j+URDzBW5O^EE9`6I9VXIvV!3ptZ>v@E*)G*kB>M z{SGX6f)lEIb^4lBA^mP2_xJD?TJ_^DQ|m(T;VzsV++|c~Pwx!2sa`xiJ`4~*KSL6Z z>V0gqcW}g03o2B3cY5Zlil@THGKJd=XlfZ9B28GJFf^EC9QEui0W$ke3glb&X{rf* zb|79pp}u-d_Ha_N!>BwMB4tj8k~7n@hTisW_uvUS1cic$L~xa^)d6PR(RRQ8J`$_o zQkJAyFOoug*YHG^P6RvfOrucGcDNf2^|y3hSV~6rYK{>HN@45|o}oFgVM=33s}Gcp zz;cCV&eGVyNAi?CIK)Wq z<)rMawPXA;93bHv!ycD#-Z4bBMmX$UU0bSDd?z5N6^{m*j`%9)hJGzzy+LfOY3j~$?N*-ZIzu*9U3PABmEbsH3&w8ilu4IcsB8E{92?g0cYm?U;^>-dR6 zgP^!Ros$LZuyn`9CKUP_#865*pE@oz!KU8-w2slcG&SLVbuc(ku7oXFI4LkC0M;7COnwnTkXT@PT$?ZG&`j~BZ~M~64AUVZ-jIo3EV z4hQia-UgHGXZQjzo3K+Q42{j;VDBm1yZdj}LFviumym@=T`V13Ya~t@OU}X0RgiBR zl%j+dxi%U+K4NG5WgmC(z_ENZ8f^E$(-6{w?PDgym4Uiayc`@CT^fW?9YfBayWM9r zk9Bd$9taG90>p8Bm*z!%j(izt5ySmbH@mdPJs#}AKTvS!4fi#x6%B-aN;4eUa4gpF zrmy~*U~Zg`;f@R-eua{_{}_LHz5w@hTa2r{0St6zY*%De=pMW*4v&Z6VA^8LdMF2DTRl=*PR}sWd&481t3P4E!{aR^>cAQYFu=-Kiw27@26P>#V=Rag zxQg}-5_ELf+wMQ+6-!)#5hFn`(9ZxkbW!Kv#^S>I;%2cje|v*CB5QTA`N3i_{{W6Y z>&2a=jfIu@r8eHJtP~&4udmPF-&{hD%MX_}KPc80@6E5@0qD(DR9f07HdgO$qR`@% zV(I?E%7Z(!*R$eMdu?TD@lFb0^)B*cuP=N6c+-F|e|u?VY4am#|L)S}eRwWGaxC3P z-jQPQ+l%)%i;WKmse~?2jMxIq?ZskcY5w-gVsRI*=I?)0Y^*IVEX}VFBc#2?wb2D$ zEUez&Sp3!lfW@og&U}0R9`kle4M6b+AAT^uxv`4o*U{CD2P<;^aCd#RU97Bbp#0t9 z!3O$zXMS^@m2tZ?P~YHG{P2TC;I+;U%;W!s&85}*ERTknBy{siaewjN%F?~X`wNS# zx+F#`e1|fkSbS-`Sqm@QgQVG5WmZ!00}7f(G$XyaUcnRiQurfj-I#Y0T)nE zBO4bC`R5}&FLh+s-+{67k(dj?Uc#}(=;i(vE+UYJjRn0h(6U!Hc8>QC{kutCI5Ra8 zA?$CX*5pt6Fzm_7$r@pu^0%_e`H!_FmRYM)-MomX+5ThWcq?F|c)RxIB@#8&AAu=0 zFaT@`8iYU1Ra$!rM`U;w>wz1{3^Xe8d8RO1a`Y?2%Y+z@De7X>A5dO&fIyCKC z5{1IQhC*-vDBOebJBGEeZ1=!S?gWom{?!QHCg~~;*`0h7xS8F@%Z>ahyjDV^T%ct5GT(o+?E5Dz}YCdP!~O{Wy~0oAO$Fai*@D3WZ<$0 z%|ZUZpq2>m^qFA;#P-O?R_AWhWT`+H`(-05JS;QPRjHEnuc#@ntP<7@jGN2X7&t$Ow;d9{o*l1&D0?=UC%+5kVNbULe?HnBI(MxEco1 z1xFWjt-&_IPYz$6Ji389FF~G0>+01~FqHu};xZSTZ0j*;n;_<+>o<~A!VnO&ePp*N zeoiAqz#gPUT;e&RA*gL%x)jnG8{00TFr*gQ@sj5LEtVt=^&+o9b`HI}^sv2n1JZGH zjQx9e$UO#mN<<)UQ22(BH35cRRvDg73e?o@;HVY$2G?dqFW-hk;Q^0ahwlM*abjH*wtS|=SO*#X9wa)OWc{Z*{2P{Dem?v~JxJ3E!tgTVf6CI^w zi4rFVWo`T`XmLfB$6-kIOa8JW6ACg4Na0>zd8w^ZneB9>)ubU?Ng6ke!QqdE`B_|k zajOyBlLW=SY9;QN6+#*pL<1Ck9rw35AF2UAm=S2Xklg~9A=R+e;ld~SHzCuz`y8Zv zp0nqWQu@|<@964Jp5nmcSiG=h?~rKIHm2XSp3WD%-pBEDF>I_!N+lNX6Nkv)86s2+ zFoQ)>na@ff(YiRM>M9er1#y0v-$@{YLEgla8dE$OR`|t^9aZs}rQcKFijz=N@8NtH zZ#3Yp44|qEE;A>P;gOWG>5+^R)O+5;!}&i3Yv(3q#uKO^paMCxxOYcJHsL}MoT2Qe zCyPy#2w;8$vp9{hfwqnU#2>YhE`>JS>~+3ogvHXu#U>{#6IzJ|mQWb`FWE}DA*Ja> zgjU3ZJ<>jVyBO3>U39 zuf*aK$pGW^6YovVhq}6vt;%b6&D2z0gkpXORk*H(Om5Lw4<;oZO6N9DSB%3jJy08!w8>Zs7rFh zxnt}E!cB%f9;V4=8XLxp{{d_)K@&38$dQBwC1EnZgOD|hZcy1d?I}2@h00kD)m@d` zwf(nu!tDN?dyJjPoS!da@m#HJ=t_G3ru>nbNx*nzHD~F7OH_$OP+>?SUFan}KUEPo zfSg1vU-spi5IQi(0!U!gE#oMhX;R8C+4k+U>8LH4S}ItCDfn54XJAVJOFXs?%fH;F z3k?}QG5JbGbH%}4AC3j=4h|z|#*~u?b;26?R#~)veTKziA5#e{z0n%S1+Y4SVKE9~ zra!{*Ftrps@LkY^?J^<%c%VVs{D}-Lnrgz)yd&|MFQTam`fXm|6x5_{?4(ylRDqdr zU}%<%5TE<-Dsncw*6wE+SA*w}Dg#OrFeU{~wIk1tWP=RJp)85l*u=X6z}ewP)V5ZN z!(3?yf_gwXP5G08_ca!KEi31x7JU|22>3`5=B5lvgKuod>|k?6q14s8;6_y_RX?iX zV3-q-9uHejJ!Z#&b{En8imaoof}byR2V^v&u-zLBp3>wQc*6R&iRn;k(`sGe8cxeO zZ6&afI4~Maa`uXpatc|^NT1}?faoPm1K?JR=3u!A&=^b#(gIE-@)H6>{)CE1-2rDm zT*g^3N}o`vES7CpXf&bLK+#d6Rb-scdwg^(L0WNL6fqHYv1Yx>hJj)R)dYB{067{T@{t{@mt63XBuaCmBp1w@ck;~1Zq?aien z4wJ+UQe0zgUSp0QByf8Bhj4+kqef@_$bp}eY@z%T&) zuFT+h(Kb0*{SYYKk5i;9eJ8Ins5x49=XIo7LhBC=pKi3{)+Tv6(oAc_ zRYDd!$!lI-a>l?2D@|xV1D0frfhtKE0NYWr{*fhYg5Z6NS88+F5-RasUG%FQjiYpl zRW?2cR>9N=5vAUE5|)%BF&2CcbGFrG=DDP5GQz!%U4mrqCcW3-frJ;_ zvRXa6RjbAtk#PgRvN%6V6Q`vNtt~&1e3%Y$8sb(T8{$A-QSObn+LSpZ!C@;O=aMiq zyyD0;$u?J%>!ymMV;qiC69GeH%R^xOD0zG&aV>%d)aYLaqAW~NBqyKc1;P+XM^Vd_ zRfl*?bwsCUU&@Ul{*!9_A&%tXp`dzFu4Qp;V~3(v3JO4K`A=Ql7QC{9;yXb-`7 zYj2XXHr0K*xRp5B#}rLe6V(_nqGFu(#;0>Q>~VG&uPG71pt?C#yzk#EGev|Gxd01` z50*(pP_OKObN~@wn)1||=_vp&k*}1zedM{S1|&T{RvKOBa!B1zILsj6Pri0Zdp`GB zGR|Pm0lp5hCY(Xlfq)uKs~9Vky^g9IEoqg$H)2OQ>TmUNGV$_~J0U>i`PblvVXiTY zw$ZjIr5er8ECZ0{a>qz?cOl1N6wxZIk-+W=z`5Yh0(&{dU0AoH8?@eQ6Eao>BmX>VuB=Ktx4*JwM{E>Ow z=+aMq+63-t^F%B^>Yh(LJmX@@FbZ+#<%l?dfTVa%8knzq1#C6!7BCV^UGV!7nh z9E%n`St0tLNTi6ua8V!j2^eP%{kD)WnX|@Jmo8CQ+mG~Ae2z&B4Hwg06b&${enF7V z;Y(A^?1@HXHKhYOsSKYAYo|>?_~SGHaT3uUK91GZfi>L+h5pI71B#le!KZRV12;^} z-k6a6dxDq1QB9acAEV|!-&YA$wRI+vMNgG!6ALl4ZWaXH;RN+Xl)Vk;8K36Y8O zi9XKxe+gOx6~Y5LI#Z6)mon#GduZay{i@yV>!7GgIj)XfSpP-L0Rh$D02SX&0?AGs zroC%?|#1TWZuY0f>t0mBQF8VTrV%v8k=`_jZ%1D_pfv3q?6pU-S*`Gr%Ca>4rYe z5e6?HEJkm43*jL$d?wbjs;=u}W%_lxghoAGLIfaC~th~{U2 z9N;7$CNEbM&{XsV>T+_JsvD69>q``pa{klRP6-nj$D!h?$E^SgNU{WT6FvB}x|+{Z z*rH!z@-v#XOK)+0Aj{B@EY+&sjjsV|A>D{;UX(L~!!8_IOf4-58TM1C1A~mZjmt0P z94b3yk4~^vXE5x5Zn6ZWGKVPZ<{~m4pOF=<4j8HN-OHm_b{}x^MxZHQvyN^_P!Tnf zQo^5#7MO6XZ(yjMl*f6&?$`=^DO)a)h>C_bvyD4k)v*+oNl zLhOx=1z^QS3|!LSDJ5O;Gx5R*p>XxE3|*Lc;%pz*64n0@7=|sjO?>c|$HG~VGMpip zg#@mwpgHvEG%~>#Sd9k2{G@geSHvT1#;rNCFcVJS+#5T&Ig<#R&67 ze#vB)y(w)k<@tl!{HU>meq>PnO#=|~gRZ>Tu`#&KJw&J#5O!engpN1j9=ycwhOn^t z6{%n5c=P7){wCY%5Pj+1JSFz-2uXscAnYP47r6Ho#$_kLW5hb2QNrIK-l*5)%d$P_ z9&NcKLP~Qxg#>=2+ZdZy-A0I5V7O}5H@@L4fxKo*C)uy0uO*Z1x;mMiimExaBZhk$ zTXHEbuHx3*QZkbQ@)l0x@L0`|I4PixFOb^r?lw~b9N++Yrg@~zrNL1fT{btfshmE?ys zc-mM#o2|cdrQANrInHxLv-XOayqW|s;|LG|matb4ujcjHcfa;tlrki?wadbJb-vs} zt*0_F{Kb#r(n4;DohIuTe_G^|kcno9`cAqO%bj(}~@BbYn*2Ys=BK(r3oqa!17!<0~$zN5<(v`p|tAe zfx6ssa{ni)A{6YACY2zg`{;jDWr3)ViApJMJzCF?-KZ?V+QCCa=39cv(^ndU;rSHf z9#ZW-F@s@xj{9I^TF$2+(1ahkF_Bb?w!RW0XycZ~ajxMh4^w6C%p;Jhh6=bLZKc3S z6(NJ^g4cVRN&n>xQ>1dev_@#C? zzwu&!&vVtyP0qBgO-52pULH+;;}+7tBWTtEm-RxWw01FSB9Y#_;>)(F9GFgZWVq{1 z%ZslLEq`!B(6r`r*AlbJgbuD4`@xcIIgkbmA7~~A&G;G~W9{Y}=ul=0&&i$9lrpBVMI7N!j_S-mTJwWC$#&G%OfZCn>9HqnFug>k+jaJ zAU_g4o&19VKNxkq*rQLd$7g^?Bzw@QM>x8S#AV%(lY>9}1M();F!bMTVLU{^&!97X zx5S7JK&l8@z#F+0@mmi*BTkX+yb}MSWvO-}?UcJL$eX;LM*9?-$aIt>4M`z(hFw^1 zaMzt4Es5nzuje90IkbdtCW}ej$*0^pwopgrP_Nmzi9A?gKJn5Pdm(fPFLF2}vWzTf znv7u1Q9=_Nf4h-NDotUG^IX7bpZT4__$geSIQCMd3Yf)e$Dc3w$@u`##G*V!E_iw> z4=9L&NR&7MPfp_lul%O`;Pp=D3om&Be>}|x%xk;>$(}jM>WS|VQLIEFJo&yL(X)CI zB@+ot&1mjpT(SLeLsB(7z49y(uug%LTTh$}tnfzA!9luwaNh;SWwHT2NEV=gM6!(D zN(?^!J_S`jpb2JgBJ-050(x=*O4e20+7ebkuR_8}G$8v_kCZOr>9UTqD;G*BpZV$x z0XAE03B4bW+<0+GL^HBzKu+W4)icS=M3^?XfJe+rTvT#FuCUY91GZA` z0N{4v*%f?q;I`uAOt#iej-!OIBf~keXVyVWVy=dEh88P8)ANVNdr<1c6RUc{qQsmi zEdLkv^bvhakpUM8b=boD#lGb8mo6ZMBa`qTBD2eG(Xb(t1xGQMB3Otm<@8lCz^DTe z^RY-F>qesV7}{5=&WW=8xiL8uYoG-%my-NL-Ebwnr!kY#$El&`?(7b5McTgB=x7Js zvU5L-VQ`+YoLuOmq{?Myk{JVOPhE1GAyZ zahgeDrshPVa`sEcL?#xI_p=Boe8s(Bc+QZ>aKRwB$nd4Y7EpX?`=dx}l>`=XBPF6a zRMLAvL4!E z24!AzlpkWHYz`Zbe*WgIj~gGqc<&dyE`cOFlVUc#gH#q_~wf>rUP)Cz7P z=;20!7TO;Tx`%?{^U=;8EZpcIzMwpaAiMVyc1KW{j7_Cb++@Y8l^bvk62a__d&T7; za?moX@8yx+PpErqJ`&Hisa8jb-|57a7(*?%2t)QTTX3NAQcCkkk7E5`&Uhin3Jx0r zW+a=w*hvn;6$7~MV+a>S2r~*-q^1ILyfa1MA~~<{5gRl^fIn~UQvo{krpOtIfZ?K( zWzST1Nj#(6)*k{{)DFlBqQTAAJ}xvI93M6lSS%vT&>S0-C^VLi6k!1_qtsa;y?IC! zMGar_V-OlYKXG~Ied^Yb(akCxbL(X3*no=*P1GybgrXZr=4=X5onUe?W<%0~dv3Et zLb(308NiV{NDSEc&DaT>FU42Z+%0|E?iz#3#5@-kv9 z#Gp3wH7?M~X{kEKmZD@f{}A&wn1krVfvhCJ3B0GBmH`$%)1=HYB)lm|1_%FO08#IV zi?Che&@loZM|saH)sQd_awq~_}LiwL;hulz?VK=dH*60 zcoiESbB!&nD_)3yjcE*SI!|+;fdYnz(a&ZyBslm(C3vh?UzB#0#?MogqgFpsSu*oa?Q@8;I9_&DA1jiq}n&EJ6DXQK64=xk-!w2<2XH-jY%x$`qsArU{P z&$@JysH$v(=iGSqS)$dUX8`it9j5;YOGx z$YZJ;oW?t!jUT_@Dtf@x8iQ53O<0yA>*D03}yp$3fz3I{_MB2Z)V>k>2nt zW*)eR$USbzTgFoS1WZSd!dD{AKyHN+ipDk>%1A{xU%$l0hiaMoOWZPOdv>ycVoid; zRXyr#tZgNht4O&VM5PsD7+50>RMTN$$iPri!8Y-0bS4uMM%5j!w6o9L*Ug1YPfSTC z?)zyAa^p)95GRmv43&7CPZ|aYiSa7o2&7ikx z@SN&Pfq12lb9XKMeNYkwEneQ_+4cwVXr~Bu~ z4hbX1lYyE^xD%ini7l{Q>}V&`pK-L{Y(>vx4=IMarVr4Z;v(0+>4**XX;47|bXskS z2BJqBK$IV=q$#Y}1GynAv92|x1e8=5GNvq)nn|3@(I4kKdePZ&tJDs3p zeBf3sp_NW?%lXpL8ZG-9kPQ3Fw14G|CI-$rURf#FQY4D7TeMn7^sqzKQn`S3z!HiM zSui{*NpOPC^f*57k9A4HfO&Zd5|IA@5=`vo z2x%a*4>^ze-!pBJz3?HdK$VHXmnHg|rblIrJ3e4hHx<)qc;8jvJJ>#)JQ+(Q$5@`7 z;BQRpQpdPvoyat&^h1cp8Ne$k%7H(%;R>~bO&=4Ca=KVO(jT(^#-)d2VN)`iwi#i3ANWK~Krx8LnUT7H(!B* zHiRw8oKDj)zLT zGVP%Zss`tvhC6RCg~RsVF|s4Vj0*EPBEv&|qMT<*Rw~xxW^!!#ZW=nt<%DyLa zl2uXsK049EmA&^s6dEeGCE?k9~%oYjzNl}9n73SiF zuA$edfH%NCJ_|@16UA_6!af#>wCdgw4ZTLrUIWZTS{dr|E8O6VtGsuxGVSe&)a(}G zn!zIgtW3^&0c-M(dO`6bLuM?2sZYGbEVUaJHR%bty;2*6h20T`j+;^TWdh+?R_rtu z@1j4%nM{%^=$*P?-D%G%3Rf!=0w{~1RBNSUnRa6Ai#K1Nf(ISJ2j(1h9bE zg-0AmG^rK(W~7d_ts}8^jPvR|CiTkOPzCn_uPwZus*;9H#(`2Gn#iZpzxw?b0n{Kv9~HA%*C9j2{d8mqqz0Kd zgd&eh^HXji5;{Y)auRy(5#!U+tW#kwl5gG=7+)HrZ*DpBoarv?yNL7T%uiEqvVB`w z^3hkVk$^rfuw?FZxoT)X`OhWpcSrZj!9+8_&2mK?m! zMj_pMc+F_&5A|)X6TXFs=44LY!53AmMQI>vgpmMPs)avIo34aVnGrVwkzXcS)^pMxQLPBt|zFT zs#oHmhN}qoGIpTJDG6QP?}~z?p^mzB3z&D0-gPh6J@tQ2L zo`cGwv@0vJnGKIr60;bbJ=8Y=j>13_$L?62F*JdJ+)7=(lb#UxQETy1d>tL5wE!6R z{(za#k;z%4DyAJvT4!uJWbQc zUgd@oV=!BNb4h3K=8A;u$+Y#kBB?t$S@|X4s&DD@qShU(ef)vF+&(rjUAU!(qR9A# z?adZ;2l4dAro$agK4K>>i|7?5zYB1%B{P!*I96u^m{iYA6(3nd$`uxC4%4(aL`}Ky zf_s$T!IX|CL0X>EJXBy*uCWnPTZwj|xCw?kaAR1h^>F#qqIZT9{;WG^I^RF*n96Z{ApILt#4SkREzXkw zXab4=C7Yq4>%gdUtf_fa0b*GjA{?6@jKgSpxhv9Ec`{@7CqWY>OoVhId|v`d zSW5*qra;l5A0<>sUze#ar31PJxRjje0B)2Y~PRv1*O)GKUm@WVLl>@UfzTF}4c&#>bcsBgYs)1zO~X zT1~mXMURt+766tT5HN}?cCX^>YNf;*A>eBpfMBy{73w>nh~1|`DrhM*+Tw0{RE~Mk z*N?mb4m-{Bd2c1RZ>76hM%Np)E=C=`zXhWv5t5l9ln~M2lfyR-zsuwRGlc#}nmeKT zq>o&U-GrV(gG(q3$J5zllvsnG6176{NBvJ~$d4S8`wG~1H)=3${ZFro1)5+{HQ{zdSH)MovK30 zVvSM{Ut;fc1LwR@_bC5WLK@R zAZ=-#$g|pv{u`f)lT9*)H#I?$j`Y_ho~m*4=kBa7Y<{%1SQ=k#IWDu3BnNvXgp2d= z)|THSP9St#TFtAEH8R?fL4ZfA4_F{-xa?BSh=^4UO?kKT)=D~o7t+a-)g>h;PBo~H ze-7;c(kt;V+NXBI!quj0pk~;(X@j-n$PnxST8?I9qi9})EhDYPY_(ZaezK+>C6kv8 z@B;{16jONZ!R?i$1?2%WK39CT3YT>#M6fYL04kzMkGJ~Za0EN^EY4RRLpGx&Ys%1v z_BKA+*j#KU?Oi{;y)!n%#soE>l&PY8!OwWhYR!PL0-20`tw+(@lD~*lfnch1UdF;G zW7nohai^YE%LkY(XJhF75$LdqNGE?Eou0Xn1023MUmi}q*bM_fnDQfU$XmNDX!Tf8OV(6jeR+YA}}7~ zNP{QgWeYOS^J$KR z_`$c{YCimdx88aSHkqY64=>;wdfWc*F0}vW3$GvkLHyMF6*?WgfgqIliSzBBI{*6N zkDx?iHfgb6q09#t+rMz}^}~M%Wo%0oUj1L^+kYR`e*&*^YfuQH2t{9BZ2w6>`NM=_ z^k2dnGsM|sPcDWGCI9%j_P==U^~2wfl8LQNx+iWD?aA})zkybNG%wK7e0~AUZ)hpv zR&7v}{802)&$a&)TKt*XqKQjSsPLQT+P{qoKg|lFy3}Q93#EVTLi;B$3_rxuX$rqk z;L3&eZ4~%JC{QA!@J}fB13%Ed^aHi!I@yT*g^TUK2wIbZ$*3k2{OODBrzr4a)do4^ zLVN%B#rEGvvEPSc?#2?{ox9lngLwB3<6X#r6JGx9^X>m0BlN>L0!R-MVQ(u6UqX?} z@I*|P|D+IFS^=|&@Q82QfAm88cZ_fet4LB~uJZw(f8u=mp9VfMUKQqpwRk5h{q1w@ zhZx<9K#i$h0+j#teEa`&C~5*VSZl~(ERDi2=%tsxyZleRe#q{nm}v)mey*HvKQw@) zaZjQ)9ANvmFSh?YC{8x=*$hpo(+LHB{CxW-0FIM6ZIk^AW%kdvhbY65FPBM>Z~t@W z+y4TJakiE)vvno_{NFFO{|{hQKX*DE2t3ZUh~@JCw)}TqKm743VC`~%`&$>={{i6s z6be@OqfF~|_gs4$BUYxictiz=|H}FHucJ?#Wy!3lN~%9{vHfMVTra6IV%|O1{slBk z$!OU;Lu3ETx%S_|D~jHnfC=|LzbMn0a;#I~r&w-zKu#jXY7=>eCjZ{K_678B+(_U? zh|);>56k~!&Q5aAOn~=O=i5JH^h#O9!{b7^sq^g?%GC%HEEkdU{*#OC|8y*)B)7ad z+~vQ#{8wK;#LD&-tx4S{{=B_;q5TAto`ao^V=gMMTx?%MYxOg})1fP2!jpet`7geH z_>&w5>uFq?^pf___{_QXS23>jtBPE)9*XXsYww{bCp%amJpLOO+JCD?W?==98#_X| zZ=7%623g5LE__?!^A|azeg0zmB6|6=wU~DZas<7y7kk?N!E^0PKx$kKEOwgiza8-WtqbkHg#Oe|)J_LGtJwVVUt9j`uLb{H5FTD=9|6WC^dsIf7+UzR z&b9wr;LLdvad7|jQ0hOs(EckmY#~OqP-x>~`;oCl1`4XbBzjU$vKLK!Au7aM76$r)NIp2O4gF0@Gs;-er%l~ruzt*{5uKhD8 zTQ`hm&<#a@<6`?ajX$acFH64V|7iKotMoUi5y1TAbM4qFCDVbkJn6+5Oh>cjm!d(yP&MyOmIX_-F9qSN_=W-@u<&!+#V1ZXG@N64HO| zW9ea56%Bf5KK%Xfz4g|_&s{wp4X{J~OB2&ynTDmCc99#BZNI<+1Wgpk zD1Z2JC2+#kT9 ze5XebFbi-g7(`&+ox9yh9sf$<4t4u^QG$=QbSQxSs>dr!Wp*;#34DrK4i)qlMM`cNwVk`Fubu zYfnQyK0m-3S7gAOY0tzk+h{cCvABsj;i3mzB0UceM#aYb%4&PjyumCqaPp8TfVU41 zCvi9lH?i#_Fkr!%a)0Umy&K>$@QZ`Gzqoj3qxfikVdLK7eR^{Yj}KTH|0C-!`C+8y z{#&;STy+=l`SrNL0`Q!*sW?0NliH-`{BUD$Xyn8G(e4MmJ@*zB9bnkPwWb|~(40J+ zyi!bhXZW3YIcD>R=v3XO(`@+tq$F?8t`g$mu+pD|4J5F*`Wh72*vszr2u1l-&)l+y zXF&iCd%JAV1{Dd5)LF1&7=W0#H|1&fNv~n3n8{i((t+a$ffejPe0v}HR_v-{_ml>~ zlW;0Xu{Rkd09yfheVE|5i;SxCBR*^9jp<1M4nZXskal5DvXQ58FG3fbPl*eJ!q$Kj zKdTa3zQE}0Mm7l6ddQ^Kdhh6Xct9zI;ap|{KloXOUc+T*gdxEcxXgQB2xOA^Q3WvB z+)ok&6+JpI=44K}eFQFJMIOx$pU{m_(INZef!rWHY8p)xj&~>n)MBfjsYiDhA9ZRk zq;Z63?!tX_``C_}!41%W9Cu8tb$MWZoRq(PX0;Q9@peHT*xS9qlP6i-6?tH9jZ8^p zolS7{5ljpn$vKbdg(2V^bAfu&Y-tf|(w z=hruQ`0aR36?WVPW%cM-_ykBVuXZ*z=Qkg0_*8(NMJ-P#;gTC7z55KhM%Uf%k~Mb@ zS!LO86D`&{0!8Ew@=?p4!+}UfC7}Qh*Kw>LVYT|B)u*WkmeEKZLy~gffDd;O1FOI& zH1%ZyONKQ+gf>h%JAE=*4({9Cz2o#UQR9ks_o-@TQM#FL^fQFOGHow3Sj~kiHE>=F z2W=b*sMUggQ%S2y-_y~jHy&*qh*W{nhHd&wXo;I2P!uo)8M3lx1MO=>vth#nVZy=R zVh_^R!hnZ`0%Ii;r!~K}#`Sb_Y4v`~-%1BCCO&Zf+(iO2rrCnS#Agh}MrZAjAE}B) z3bZX``Cto#!_RB_9<6f+iU$%3z`4TTfoD<{*&}F_jC^fvDHXXM*aK?!jz>gx7e47C z6|jE#+=5bzly00i0$qAca#~qL!GY8x{)7CDxJC0TMRWFAF)f1MTThrS9Yh6TGmJ3l z&!EH+E(eZA`?dAeI}a8%HzKMmp0PSmesJ*gVDLP2EWAk93w`}#7a-`riW{>)%_6{PBcelKjtJ?F@`%c;9(#P>f}QJ`(Q{pwDBMsmyBbAZa)X-%c~G@pCR>cT!FX}&ClR($Fhq~UU&vS9#k1eJCAVyZ5!Xv*q3wy@Tv{%nJKP^ z1B$71R^^k@SayV@Um|3s-DHLZan>k6U;ZyrDoRJ;didp*<(58Aq?RIG?Y@hIj0MSt zm5+d|_m|Adrd>Hhai5&0BcQ}M14tc`$YPi(Dh^r?HWt@gu;?5fA2G-M76KP>WW|f9 z;g?tPlgkHoczFZ{$GQbd$dx`U z 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

XHUIH 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

-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 diff --git a/doc/build/doctrees/installation_of_sat.doctree b/doc/build/doctrees/installation_of_sat.doctree index a1774643ddc4d0d731e43417d70b762f4f185a73..639a0aca265513ab4aac2f46a5128e59bfdae807 100644 GIT binary patch delta 148 zcmZpZ>yX>v!e?K2JX9<#Gbc4ZGp{(cs3bE#FFrLdF)1fCrSL>YD0fj}Ih=pen=zC( zr8Ku7zBsj{Br`9)xbW2EMm}l%)7}gjinWDjG6XV2ibI8pOOuLAGD}LqhUF#ZrWO~T rtt~v4A(f$)AyZp;e)4HPb&(6Pg%?BFic-@uQ;G{O)fQeZP0|AZ0nt15 delta 169 zcmeB>Ym?jH!dD+EmX?{58lRb0oLW?pnV%P*nwOZAlbTX^yd#vmD6t&QKjF<7%9~P} zTM%EIT2hjkmtI_W(yufrRJ6D&%#u>D6?uudsl|n7Y75V1a7bmSWysVPo|}A@PhI4EY~h7awxZOu%#`B7 Li?xN9N|W>eLYYK> diff --git a/doc/build/doctrees/release_notes/release_notes_5.0.0.doctree b/doc/build/doctrees/release_notes/release_notes_5.0.0.doctree index 485748512d22b42b6166b00d1c72e8705e5a2164..00fe84edcf40b153e8609aabb2f970cd44e074af 100644 GIT binary patch delta 107 zcmV-x0F?ir6rvQcUI_wmnv-4$86=yCRSR-qcVA_0VPb4$WO1BJ0aXoTb!~88b7gdN zX>Mn8ah;Q!2^$EWO8{sgeQ}?Yz6lx)pnY+nXc}lHXdHcUqLbwbClsSyaimoSa%E;| NWOH$)eQ~CBVlGRND3JgF delta 104 zcmV-u0GI!w6rdEaUI~+62^l1sh*b-6VRv6;Zee0 + + + + + + + commands.application — salomeTools 5.0.0dev documentation + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + + + \ No newline at end of file diff --git a/doc/build/html/_modules/commands/check.html b/doc/build/html/_modules/commands/check.html new file mode 100644 index 0000000..8bc6e5e --- /dev/null +++ b/doc/build/html/_modules/commands/check.html @@ -0,0 +1,344 @@ + + + + + + + + commands.check — salomeTools 5.0.0dev documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +

Source code for commands.check

+#!/usr/bin/env python
+
+#-*- coding:utf-8 -*-
+#  Copyright (C) 2010-2018  CEA/DEN
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+import src.debug as DBG
+import src.returnCode as RCO
+from src.salomeTools import _BaseCommand
+
+CHECK_PROPERTY = "has_unit_tests"
+
+########################################################################
+# Command class
+########################################################################
+
[docs]class Command(_BaseCommand): + """ + The check command executes the 'check' command in the build directory of + all the products of the application. + It is possible to reduce the list of products to check + by using the --products option + + examples: + >> sat check SALOME --products KERNEL,GUI,GEOM + """ + + name = "check" + +
[docs] def getParser(self): + """Define all options for the check command 'sat check <options>'""" + parser = self.getParserWithHelp() + parser.add_option('p', 'products', 'list2', 'products', + _("""\ +Optional: products to configure. + This option can be passed several time to configure several products.""")) + return parser
+ +
[docs] def run(self, cmd_arguments): + """method called for command 'sat check <options>'""" + argList = self.assumeAsList(cmd_arguments) + + # print general help and returns + if len(argList) == 0: + self.print_help() + return RCO.ReturnCode("OK", "No arguments, as 'sat %s --help'" % self.name) + + self._options, remaindersArgs = self.parseArguments(argList) + + if self._options.help: + self.print_help() + return RCO.ReturnCode("OK", "Done 'sat %s --help'" % self.name) + + # shortcuts + runner = self.getRunner() + config = self.getConfig() + logger = self.getLogger() + options = self.getOptions() + + + # check that the command has been called with an application + src.check_config_has_application( config ) + + # Get the list of products to treat + products_infos = get_products_list(options, config, logger) + + # Print some informations + msg = _('Executing the check command in the build directories of the application') + logger.info("%s %s\n" % (msg, UTS.label(config.VARS.application))) + + info = [(_("BUILD directory"), + os.path.join(config.APPLICATION.workdir, 'BUILD'))] + UTS.logger_info_tuples(logger, info) + + # Call the function that will loop over all the products and execute + # the right command(s) + res = check_all_products(config, products_infos, logger) + + # Print the final state + nb_products = len(products_infos) + if res == 0: + final_status = "<OK>" + else: + final_status = "<KO>" + + logger.info(_("\nCheck: %(status)s (%(1)d/%(2)d)\n") % \ + { 'status': final_status, + '1': nb_products - res, + '2': nb_products }) + + return res
+ + +
[docs]def get_products_list(options, cfg, logger): + """ + method that gives the product list with their informations from + configuration regarding the passed options. + + :param options: (Options) The Options instance that stores + the commands arguments + :param cfg: (Config) The global configuration + :param logger: (Logger) The logger instance to use + for the display and logging + :return: (list) The list of (product name, product_informations). + """ + # Get the products to be prepared, regarding the options + if options.products is None: + # No options, get all products sources + products = cfg.APPLICATION.products + else: + # if option --products, check that all products of the command line + # are present in the application. + products = options.products + for p in products: + if p not in cfg.APPLICATION.products: + msg = _("Product %(1)s not defined in application %(2)s") % \ + { '1': p, '2': cfg.VARS.application} + raise Exception(msg) + + # Construct the list of tuple containing + # the products name and their definition + products_infos = src.product.get_products_infos(products, cfg) + + products_infos = [pi for pi in products_infos if not( + src.product.product_is_native(pi[1]) or + src.product.product_is_fixed(pi[1]))] + + return products_infos
+ +
[docs]def log_step(logger, header, step): + logger.info("\r%s%s" % (header, " " * 20)) + logger.info("\r%s%s" % (header, step))
+ +
[docs]def log_res_step(logger, res): + if res == 0: + logger.debug("<OK>\n") + else: + logger.debug("<KO>\n")
+ +
[docs]def check_all_products(config, products_infos, logger): + """ + Execute the proper configuration commands + in each product build directory. + + :param config: (Config) The global configuration + :param products_info: (list) + List of (str, Config) => (product_name, product_info) + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (int) the number of failing commands. + """ + res = 0 + for p_name_info in products_infos: + res_prod = check_product(p_name_info, config, logger) + if res_prod != 0: + res += 1 + return res
+ +
[docs]def check_product(p_name_info, config, logger): + """ + Execute the proper configuration command(s) + in the product build directory. + + :param p_name_info: (tuple) + (str, Config) => (product_name, product_info) + :param config: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (int) 1 if it fails, else 0. + """ + + p_name, p_info = p_name_info + + header = _("Check of %s") % UTS.label(p_name) + header += " %s " % ("." * (20 - len(p_name))) + logger.info(header) + + # Verify if the command has to be launched or not + ignored = False + msg += "" + if not src.get_property_in_product_cfg(p_info, CHECK_PROPERTY): + msg += _("The product %s is defined as not having tests: product ignored.\n") % p_name + ignored = True + if "build_dir" not in p_info: + msg += _("The product %s have no 'build_dir' key: product ignored.\n") % p_name + ignored = True + if not src.product.product_compiles(p_info): + msg += _("The product %s is defined as not compiling: product ignored.\n") % p_name + ignored = True + + logger.info("%s\n" % msg) + # Get the command to execute for script products + cmd_found = True + command = "" + if src.product.product_has_script(p_info) and not ignored: + command = src.get_cfg_param(p_info, "test_build", "Not found") + if command == "Not found": + cmd_found = False + msg = _("""\ +The product %s is defined as having tests. +But it is compiled using a script and the key 'test_build' +is not defined in the definition of %(name)\n""") % p_name + logger.warning(msg) + + if ignored or not cmd_found: + log_step(logger, header, "ignored") + logger.debug("==== %s %s\n" % (p_name, "IGNORED")) + if not cmd_found: + return 1 + return 0 + + # Instantiate the class that manages all the construction commands + # like cmake, check, make install, make test, environment management, etc... + builder = src.compilation.Builder(config, logger, p_info) + + # Prepare the environment + log_step(logger, header, "PREPARE ENV") + res_prepare = builder.prepare() + log_res_step(logger, res_prepare) + + len_end_line = 20 + + # Launch the check + log_step(logger, header, "CHECK") + res = builder.check(command=command) + log_res_step(logger, res) + + # Log the result + if res > 0: + logger.info("\r%s%s" % (header, " " * len_end_line)) + logger.info("\r" + header + "<KO>\n") + logger.debug("==== <KO> in check of %s\n" % p_name) + else: + logger.info("\r%s%s" % (header, " " * len_end_line)) + logger.info("\r" + header + "<OK>\n") + logger.debug("==== <OK> in check of %s\n" % p_name) + logger.info("\n") + + return res
+ +
+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/doc/build/html/_modules/commands/clean.html b/doc/build/html/_modules/commands/clean.html new file mode 100644 index 0000000..7ccaae4 --- /dev/null +++ b/doc/build/html/_modules/commands/clean.html @@ -0,0 +1,326 @@ + + + + + + + + commands.clean — salomeTools 5.0.0dev documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +

Source code for commands.clean

+#!/usr/bin/env python
+#-*- coding:utf-8 -*-
+
+#  Copyright (C) 2010-2018  CEA/DEN
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+import re
+
+import src.debug as DBG
+import src.returnCode as RCO
+from src.salomeTools import _BaseCommand
+
+# Compatibility python 2/3 for input function
+# input stays input for python 3 and input = raw_input for python 2
+try: 
+    input = raw_input
+except NameError: 
+    pass
+
+PROPERTY_EXPRESSION = "^.+:.+$"
+
+########################################################################
+# Command class
+########################################################################
+
[docs]class Command(_BaseCommand): + """ + The clean command suppresses the source, build, or install directories + of the application products. + Use the options to define what directories you want to suppress and + to reduce the list of products + + examples: + >> sat clean SALOME --build --install --properties is_salome_module:yes + """ + + name = "clean" + +
[docs] def getParser(self): + """Define all options for the command 'sat clean <options>'""" + parser = self.getParserWithHelp() + parser.add_option('p', 'products', 'list2', 'products', + _('Optional: Products to clean. This option can be' + ' passed several time to clean several products.')) + parser.add_option('', 'properties', 'string', 'properties', + _('Optional: Filter the products by their properties.\n' + '\tSyntax: --properties <property>:<value>')) + parser.add_option('s', 'sources', 'boolean', 'sources', + _("Optional: Clean the product source directories.")) + parser.add_option('b', 'build', 'boolean', 'build', + _("Optional: Clean the product build directories.")) + parser.add_option('i', 'install', 'boolean', 'install', + _("Optional: Clean the product install directories.")) + parser.add_option('a', 'all', 'boolean', 'all', + _("Optional: Clean the product source, build and install directories.")) + parser.add_option('', 'sources_without_dev', 'boolean', 'sources_without_dev', + _("Optional: do not clean the products in development mode.")) + return parser
+ + +
[docs] def run(self, cmd_arguments): + """method called for command 'sat clean <options>'""" + argList = self.assumeAsList(cmd_arguments) + + # print general help and returns + if len(argList) == 0: + self.print_help() + return RCO.ReturnCode("OK", "No arguments, as 'sat %s --help'" % self.name) + + self._options, remaindersArgs = self.parseArguments(argList) + + if self._options.help: + self.print_help() + return RCO.ReturnCode("OK", "Done 'sat %s --help'" % self.name) + + # shortcuts + runner = self.getRunner() + config = self.getConfig() + logger = self.getLogger() + options = self.getOptions() + + # check that the command has been called with an application + src.check_config_has_application( config ) + + # Verify the --properties option + if options.properties: + oExpr = re.compile(PROPERTY_EXPRESSION) + if not oExpr.search(options.properties): + msg = _("""\ +The '--properties' options must have the following syntax: + --properties <property>:<value>\n""") + logger.error(msg) + options.properties = None + + + # Get the list of products to threat + products_infos = self.get_products_list(options, config, logger) + + # Construct the list of directories to suppress + l_dir_to_suppress = [] + if options.all: + l_dir_to_suppress += (get_source_directories(products_infos, + options.sources_without_dev) + + get_build_directories(products_infos) + + get_install_directories(products_infos)) + else: + if options.install: + l_dir_to_suppress += get_install_directories(products_infos) + + if options.build: + l_dir_to_suppress += get_build_directories(products_infos) + + if options.sources or options.sources_without_dev: + l_dir_to_suppress += get_source_directories(products_infos, + options.sources_without_dev) + + if len(l_dir_to_suppress) == 0: + sat_command = ("sat -h clean") + msg = _("Nothing to suppress, Please specify what you want to suppress.") + logger.error(msg + "\nsee: '%s'\n" % sat_command) + return RCO.ReturnCode("KO", "specify what you want to suppress") + + # Check with the user if he really wants to suppress the directories + if not runner.options.batch: + msg = _("Remove the following directories ?\n") + for directory in l_dir_to_suppress: + msg += " %s\n" % directory + logger.info(msg) + rep = input(_("Are you sure you want to continue? [Yes/No] ")) + if rep.upper() != _("YES"): + return RCO.ReturnCode("OK", "user do not want to continue") + + # Suppress the list of paths + suppress_directories(l_dir_to_suppress, logger) + + return RCO.ReturnCode("OK", "clean done")
+ + +
[docs]def get_source_directories(products_infos, without_dev): + """ + Returns the list of directory source paths corresponding to the list of + product information given as input. If without_dev (bool), then + the dev products are ignored. + + :param products_infos: (list) + The list of (name, config) corresponding to one product. + :param without_dev: (boolean) If True, then ignore the dev products. + :return: (list) the list of source paths. + """ + l_dir_source = [] + for __, product_info in products_infos: + if product_has_dir(product_info, without_dev): + l_dir_source.append(src.Path(product_info.source_dir)) + return l_dir_source
+ +
[docs]def get_build_directories(products_infos): + """ + Returns the list of directory build paths corresponding to the list of + product information given as input. + + :param products_infos: (list) + The list of (name, config) corresponding to one product. + :return: (list) the list of build paths. + """ + l_dir_build = [] + for __, product_info in products_infos: + if product_has_dir(product_info): + if "build_dir" in product_info: + l_dir_build.append(src.Path(product_info.build_dir)) + return l_dir_build
+ +
[docs]def get_install_directories(products_infos): + """ + Returns the list of directory install paths corresponding to the list of + product information given as input. + + :param products_infos: (list) + The list of (name, config) corresponding to one product. + :return: (list) the list of install paths. + """ + l_dir_install = [] + for __, product_info in products_infos: + if product_has_dir(product_info): + l_dir_install.append(src.Path(product_info.install_dir)) + return l_dir_install
+ +
[docs]def product_has_dir(product_info, without_dev=False): + """ + Returns a boolean at True if there is a source, build and install + directory corresponding to the product described by product_info. + + :param products_info: (Config) + The config corresponding to the product. + :return: (bool) + True if there is a source, build and install + directory corresponding to the product described by product_info. + """ + if (src.product.product_is_native(product_info) or + src.product.product_is_fixed(product_info)): + return False + if without_dev: + if src.product.product_is_dev(product_info): + return False + return True
+ +
[docs]def suppress_directories(l_paths, logger): + """Suppress the paths given in the list in l_paths. + + :param l_paths: (list) The list of Path to be suppressed + :param logger: (Logger) + The logger instance to use for the display and logging + """ + for path in l_paths: + strpath = str(path) + if not path.isdir(): + msg = _("The path %s does not exists (or is not a directory)\n") % strpath + logger.warning(msg) + else: + logger.info(_("Removing %s ...") % strpath ) + path.rm() + logger.info('<OK>\n')
+ +
+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/doc/build/html/_modules/commands/compile.html b/doc/build/html/_modules/commands/compile.html new file mode 100644 index 0000000..b689ce6 --- /dev/null +++ b/doc/build/html/_modules/commands/compile.html @@ -0,0 +1,817 @@ + + + + + + + + commands.compile — salomeTools 5.0.0dev documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +

Source code for commands.compile

+#!/usr/bin/env python
+#-*- coding:utf-8 -*-
+
+#  Copyright (C) 2010-2018  CEA/DEN
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+
+import os
+import src.debug as DBG
+import src.returnCode as RCO
+import src.pyconf as PYCONF
+from src.salomeTools import _BaseCommand
+
+# Compatibility python 2/3 for input function
+# input stays input for python 3 and input = raw_input for python 2
+try: 
+    input = raw_input
+except NameError: 
+    pass
+
+########################################################################
+# Command class
+########################################################################
+
[docs]class Command(_BaseCommand): + """\ + The compile command constructs the products of the application + + examples: + >> sat compile SALOME --products KERNEL,GUI,MEDCOUPLING --clean_all + """ + + name = "compile" + +
[docs] def getParser(self): + """Define all options for the command 'sat compile <options>'""" + parser = self.getParserWithHelp() + parser.add_option( + 'p', 'products', 'list2', 'products', + _('Optional: products to configure. This option can be passed several time to configure several products.')) + parser.add_option( + '', 'with_fathers', 'boolean', 'fathers', + _("Optional: build all necessary products to the given product (KERNEL is build before building GUI)."), + False) + parser.add_option( + '', 'with_children', 'boolean', 'children', + _("Optional: build all products using the given product (all SMESH plugins are build after SMESH)."), + False) + parser.add_option( + '', 'clean_all', 'boolean', 'clean_all', + _("Optional: clean BUILD dir and INSTALL dir before building product."), + False) + parser.add_option( + '', 'clean_install', 'boolean', 'clean_install', + _("Optional: clean INSTALL dir before building product."), False) + parser.add_option( + '', 'make_flags', 'string', 'makeflags', + _("Optional: add extra options to the 'make' command.")) + parser.add_option( + '', 'show', 'boolean', 'no_compile', + _("Optional: DO NOT COMPILE just show if products are installed or not."), + False) + parser.add_option( + '', 'stop_first_fail', 'boolean', 'stop_first_fail', _( + "Optional: Stops the command at first product compilation fail."), + False) + parser.add_option( + '', 'check', 'boolean', 'check', + _("Optional: execute the unit tests after compilation"), + False) + parser.add_option( + '', 'clean_build_after', 'boolean', 'clean_build_after', + _('Optional: remove the build directory after successful compilation'), + False) + return parser
+ +
[docs] def run(self, cmd_arguments): + """method called for command 'sat compile <options>'""" + argList = self.assumeAsList(cmd_arguments) + + # print general help and returns + if len(argList) == 0: + self.print_help() + return RCO.ReturnCode("OK", "No arguments, as 'sat %s --help'" % self.name) + + self._options, remaindersArgs = self.parseArguments(argList) + + if self._options.help: + self.print_help() + return RCO.ReturnCode("OK", "Done 'sat %s --help'" % self.name) + + # shortcuts + runner = self.getRunner() + config = self.getConfig() + logger = self.getLogger() + options = self.getOptions() + + # Warn the user if he invoked the clean_all option + # without --products option + if (options.clean_all and + options.products is None and + not runner.options.batch): + rep = input(_("You used --clean_all without specifying a product" + " are you sure you want to continue? [Yes/No] ")) + if rep.upper() != _("YES").upper(): + return 0 + + # check that the command has been called with an application + src.check_config_has_application( config ) + + # Print some informations + nameApp = str(config.VARS.application) + srcDir = os.path.join(config.APPLICATION.workdir, 'SOURCES') + buildDir = os.path.join(config.APPLICATION.workdir, 'BUILD') + + msg = _("Application %s, executing compile commands in build directories of products.\n") + logger.info(msg % UTS.label(nameApp)) + + info = [ (_("SOURCE directory"), srcDir), + (_("BUILD directory"),buildDir) ] + UTS.logger_info_tuples(logger, info) + + # Get the list of products to treat + products_infos = get_products_list(options, config, logger) + + if options.fathers: + # Extend the list with all recursive dependencies of the given products + products_infos = extend_with_fathers(config, products_infos) + + if options.children: + # Extend the list with all products that use the given products + products_infos = extend_with_children(config, products_infos) + + # Sort the list regarding the dependencies of the products + products_infos = sort_products(config, products_infos) + + + # Call the function that will loop over all the products and execute + # the right command(s) + res = compile_all_products(runner, config, options, products_infos, logger) + + # Print the final state + nb_products = len(products_infos) + if res == 0: + final_status = "<OK>" + else: + final_status = "<KO>" + + logger.info(_("\nCompilation: %(status)s (%(1)d/%(2)d)\n") % \ + { 'status': final_status, + '1': nb_products - res, + '2': nb_products }) + + code = res + if code != 0: + code = 1 + return code
+ + +
[docs]def get_products_list(options, cfg, logger): + """ + method that gives the product list with their informations from + configuration regarding the passed options. + + :param options: (Options) + The Options instance that stores the commands arguments + :param cfg: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (list) The list of (product name, product_informations). + """ + # Get the products to be prepared, regarding the options + if options.products is None: + # No options, get all products sources + products = cfg.APPLICATION.products + else: + # if option --products, check that all products of the command line + # are present in the application. + products = options.products + for p in products: + if p not in cfg.APPLICATION.products: + raise Exception( + _("Product %(product)s not defined in application %(application)s") % + { 'product': p, 'application': cfg.VARS.application} ) + + # Construct the list of tuple containing + # the products name and their definition + products_infos = src.product.get_products_infos(products, cfg) + + products_infos = [pi for pi in products_infos if not( + src.product.product_is_fixed(pi[1]))] + + return products_infos
+ +
[docs]def get_children(config, p_name_p_info): + l_res = [] + p_name, __ = p_name_p_info + # Get all products of the application + products = config.APPLICATION.products + products_infos = src.product.get_products_infos(products, config) + for p_name_potential_child, p_info_potential_child in products_infos: + if ("depend" in p_info_potential_child and + p_name in p_info_potential_child.depend): + l_res.append(p_name_potential_child) + return l_res
+ +
[docs]def get_recursive_children(config, p_name_p_info, without_native_fixed=False): + """ + Get the recursive list of the product that depend on + the product defined by prod_info + + :param config: (Config) The global configuration + :param prod_info: (Config) The specific config of the product + :param without_native_fixed: (bool) + If true, do not include the fixed or native products in the result + :return: (list) The list of product_informations. + """ + p_name, __ = p_name_p_info + # Initialization of the resulting list + l_children = [] + + # Get the direct children (not recursive) + l_direct_children = get_children(config, p_name_p_info) + # Minimal case : no child + if l_direct_children == []: + return [] + # Add the children and call the function to get the children of the + # children + for child_name in l_direct_children: + l_children_name = [pn_pi[0] for pn_pi in l_children] + if child_name not in l_children_name: + if child_name not in config.APPLICATION.products: + msg = _("""\ +The product %(child_name)s that is in %(product_name)s children +is not present in application %(appli_name)s.""" % + {"child_name" : child_name, + "product_name" : p_name.name, + "appli_name" : config.VARS.application} ) + raise Exception(msg) + prod_info_child = src.product.get_product_config(config, + child_name) + pname_pinfo_child = (prod_info_child.name, prod_info_child) + # Do not append the child if it is native or fixed and + # the corresponding parameter is called + if without_native_fixed: + if not(src.product.product_is_native(prod_info_child) or + src.product.product_is_fixed(prod_info_child)): + l_children.append(pname_pinfo_child) + else: + l_children.append(pname_pinfo_child) + # Get the children of the children + l_grand_children = get_recursive_children(config, + pname_pinfo_child, + without_native_fixed = without_native_fixed) + l_children += l_grand_children + return l_children
+ +
[docs]def get_recursive_fathers(config, p_name_p_info, without_native_fixed=False): + """ + Get the recursive list of the dependencies of the product defined + by prod_info + + :param config: (Config) The global configuration + :param prod_info: (Config) The specific config of the product + :param without_native_fixed: (bool) + If true, do not include the fixed or native products in the result + :return: (list) The list of product_informations. + """ + p_name, p_info = p_name_p_info + # Initialization of the resulting list + l_fathers = [] + # Minimal case : no dependencies + if "depend" not in p_info or p_info.depend == []: + return [] + # Add the dependencies and call the function to get the dependencies of the + # dependencies + for father_name in p_info.depend: + l_fathers_name = [pn_pi[0] for pn_pi in l_fathers] + if father_name not in l_fathers_name: + if father_name not in config.APPLICATION.products: + msg = _("The product %(father_name)s that is in %(product_nam" + "e)s dependencies is not present in application " + "%(appli_name)s" % {"father_name" : father_name, + "product_name" : p_name, + "appli_name" : config.VARS.application}) + raise Exception(msg) + prod_info_father = src.product.get_product_config(config, + father_name) + pname_pinfo_father = (prod_info_father.name, prod_info_father) + # Do not append the father if it is native or fixed and + # the corresponding parameter is called + if without_native_fixed: + if not(src.product.product_is_native(prod_info_father) or + src.product.product_is_fixed(prod_info_father)): + l_fathers.append(pname_pinfo_father) + else: + l_fathers.append(pname_pinfo_father) + # Get the dependencies of the dependency + l_grand_fathers = get_recursive_fathers(config, + pname_pinfo_father, + without_native_fixed = without_native_fixed) + for item in l_grand_fathers: + if item not in l_fathers: + l_fathers.append(item) + return l_fathers
+ +
[docs]def sort_products(config, p_infos): + """Sort the p_infos regarding the dependencies between the products + + :param config: (Config) The global configuration + :param p_infos: (list) + List of (str, Config) => (product_name, product_info) + """ + l_prod_sorted = src.deepcopy_list(p_infos) + for prod in p_infos: + l_fathers = get_recursive_fathers(config, + prod, + without_native_fixed=True) + l_fathers = [father for father in l_fathers if father in p_infos] + if l_fathers == []: + continue + for p_sorted in l_prod_sorted: + if p_sorted in l_fathers: + l_fathers.remove(p_sorted) + if l_fathers==[]: + l_prod_sorted.remove(prod) + l_prod_sorted.insert(l_prod_sorted.index(p_sorted)+1, prod) + break + + return l_prod_sorted
+ +
[docs]def extend_with_fathers(config, p_infos): + p_infos_res = src.deepcopy_list(p_infos) + for p_name_p_info in p_infos: + fathers = get_recursive_fathers(config, + p_name_p_info, + without_native_fixed=True) + for p_name_p_info_father in fathers: + if p_name_p_info_father not in p_infos_res: + p_infos_res.append(p_name_p_info_father) + return p_infos_res
+ +
[docs]def extend_with_children(config, p_infos): + p_infos_res = src.deepcopy_list(p_infos) + for p_name_p_info in p_infos: + children = get_recursive_children(config, + p_name_p_info, + without_native_fixed=True) + for p_name_p_info_child in children: + if p_name_p_info_child not in p_infos_res: + p_infos_res.append(p_name_p_info_child) + return p_infos_res
+ +
[docs]def check_dependencies(config, p_name_p_info): + l_depends_not_installed = [] + fathers = get_recursive_fathers(config, p_name_p_info, without_native_fixed=True) + for p_name_father, p_info_father in fathers: + if not(src.product.check_installation(p_info_father)): + l_depends_not_installed.append(p_name_father) + return l_depends_not_installed
+ +
[docs]def log_step(logger, header, step): + logger.info("\r%s%s" % (header, " " * 30)) + logger.info("\r%s%s" % (header, step)) + logger.debug("\n==== %s \n" % step)
+ +
[docs]def log_res_step(logger, res): + if res == 0: + logger.debug("<OK>\n") + else: + logger.debug("<KO>\n")
+ + +
[docs]def compile_all_products(sat, config, options, products_infos, logger): + """ + Execute the proper configuration commands + in each product build directory. + + :param config: (Config) The global configuration + :param products_info: (list) + List of (str, Config) => (product_name, product_info) + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (int) the number of failing commands. + """ + res = 0 + for p_name_info in products_infos: + + p_name, p_info = p_name_info + + # Logging + len_end_line = 30 + header = _("Compilation of %s") % UTS.label(p_name) + header += " %s \n" % ("." * (len_end_line - len(p_name))) + logger.info(header) + + # Do nothing if the product is not compilable + if ("properties" in p_info and \ + "compilation" in p_info.properties and \ + p_info.properties.compilation == "no"): + + log_step(logger, header, "ignored") + logger.info("\n") + continue + + # Do nothing if the product is native + if src.product.product_is_native(p_info): + log_step(logger, header, "native") + logger.info("\n") + continue + + # Clean the build and the install directories + # if the corresponding options was called + if options.clean_all: + log_step(logger, header, "CLEAN BUILD AND INSTALL") + sat.clean(config.VARS.application + + " --products " + p_name + + " --build --install", + batch=True, + verbose=0, + logger_add_link = logger) + + # Clean the the install directory + # if the corresponding option was called + if options.clean_install and not options.clean_all: + log_step(logger, header, "CLEAN INSTALL") + sat.clean(config.VARS.application + + " --products " + p_name + + " --install", + batch=True, + verbose=0, + logger_add_link = logger) + + # Recompute the product information to get the right install_dir + # (it could change if there is a clean of the install directory) + p_info = src.product.get_product_config(config, p_name) + + # Check if it was already successfully installed + if src.product.check_installation(p_info): + logger.info(_("Already installed\n")) + continue + + # If the show option was called, do not launch the compilation + if options.no_compile: + logger.info(_("Not installed\n")) + continue + + # Check if the dependencies are installed + l_depends_not_installed = check_dependencies(config, p_name_info) + if len(l_depends_not_installed) > 0: + log_step(logger, header, "") + msg = _("the following products are mandatory:\n") + for prod_name in l_depends_not_installed: + msg += "%s\n" % prod_name + logger.error(msg) + continue + + # Call the function to compile the product + res_prod, len_end_line, error_step = compile_product(sat, + p_name_info, + config, + options, + logger, + header, + len_end_line) + + if res_prod != 0: + res += 1 + + if error_step != "CHECK": + # Clean the install directory if there is any + logger.debug(_("Cleaning the install directory if there is any\n")) + sat.clean(config.VARS.application + + " --products " + p_name + + " --install", + batch=True, + verbose=0, + logger_add_link = logger) + else: + # Clean the build directory if the compilation and tests succeed + if options.clean_build_after: + log_step(logger, header, "CLEAN BUILD") + sat.clean(config.VARS.application + + " --products " + p_name + + " --build", + batch=True, + verbose=0, + logger_add_link = logger) + + # Log the result + if res_prod > 0: + logger.info("\r%s%s" % (header, " " * len_end_line)) + logger.info("\r" + header + "<KO> " + error_step) + logger.debug("\n==== <KO> in compile of %s\n" % p_name) + if error_step == "CHECK": + logger.info(_("\nINSTALL directory = %s") % p_info.install_dir) + else: + logger.info("\r%s%s" % (header, " " * len_end_line)) + logger.info("\r" + header + "<OK>") + logger.info(_("\nINSTALL directory = %s") % p_info.install_dir) + logger.debug("\n==== <OK> in compile of %s\n" % p_name) + logger.info("\n") + + + if res_prod != 0 and options.stop_first_fail: + break + + return res
+ +
[docs]def compile_product(sat, p_name_info, config, options, logger, header, len_end): + """ + Execute the proper configuration command(s) + in the product build directory. + + :param p_name_info: (tuple) (str, Config) => (product_name, product_info) + :param config: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :param header: (str) the header to display when logging + :param len_end: (int) the lenght of the the end of line (used in display) + :return: (int) 1 if it fails, else 0. + """ + + p_name, p_info = p_name_info + + # Get the build procedure from the product configuration. + # It can be : + # build_sources : autotools -> build_configure, configure, make, make install + # build_sources : cmake -> cmake, make, make install + # build_sources : script -> script executions + res = 0 + if (src.product.product_is_autotools(p_info) or + src.product.product_is_cmake(p_info)): + res, len_end_line, error_step = compile_product_cmake_autotools(sat, + p_name_info, + config, + options, + logger, + header, + len_end) + if src.product.product_has_script(p_info): + res, len_end_line, error_step = compile_product_script(sat, + p_name_info, + config, + options, + logger, + header, + len_end) + + # Check that the install directory exists + if res==0 and not(os.path.exists(p_info.install_dir)): + res = 1 + error_step = "NO INSTALL DIR" + msg = _("despite all the steps ended successfully, no install directory was found\n") + logger.error(msg) + return res, len_end, error_step + + # Add the config file corresponding to the dependencies/versions of the + # product that have been successfully compiled + if res==0: + logger.debug(_("Add the config file in installation directory\n")) + add_compile_config_file(p_info, config) + + if options.check: + # Do the unit tests (call the check command) + log_step(logger, header, "CHECK") + res_check = sat.check( + config.VARS.application + " --products " + p_name, + verbose = 0, + logger_add_link = logger) + if res_check != 0: + error_step = "CHECK" + + res += res_check + + return res, len_end_line, error_step
+ +
[docs]def compile_product_cmake_autotools(sat, + p_name_info, + config, + options, + logger, + header, + len_end): + """ + Execute the proper build procedure for autotools or cmake + in the product build directory. + + :param p_name_info: (tuple) + (str, Config) => (product_name, product_info) + :param config: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :param header: (str) the header to display when logging + :param len_end: (int) the length of the the end of line (used in display) + :return: (int) 1 if it fails, else 0. + """ + p_name, p_info = p_name_info + + # Execute "sat configure", "sat make" and "sat install" + res = 0 + error_step = "" + + # Logging and sat command call for configure step + len_end_line = len_end + log_step(logger, header, "CONFIGURE") + res_c = sat.configure(config.VARS.application + " --products " + p_name, + verbose = 0, + logger_add_link = logger) + log_res_step(logger, res_c) + res += res_c + + if res_c > 0: + error_step = "CONFIGURE" + else: + # Logging and sat command call for make step + # Logging take account of the fact that the product has a compilation + # script or not + if src.product.product_has_script(p_info): + # if the product has a compilation script, + # it is executed during make step + scrit_path_display = UTS.label( + p_info.compil_script) + log_step(logger, header, "SCRIPT " + scrit_path_display) + len_end_line = len(scrit_path_display) + else: + log_step(logger, header, "MAKE") + make_arguments = config.VARS.application + " --products " + p_name + # Get the make_flags option if there is any + if options.makeflags: + make_arguments += " --option -j" + options.makeflags + res_m = sat.make(make_arguments, + verbose = 0, + logger_add_link = logger) + log_res_step(logger, res_m) + res += res_m + + if res_m > 0: + error_step = "MAKE" + else: + # Logging and sat command call for make install step + log_step(logger, header, "MAKE INSTALL") + res_mi = sat.makeinstall(config.VARS.application + + " --products " + + p_name, + verbose = 0, + logger_add_link = logger) + + log_res_step(logger, res_mi) + res += res_mi + + if res_mi > 0: + error_step = "MAKE INSTALL" + + return res, len_end_line, error_step
+ +
[docs]def compile_product_script(sat, + p_name_info, + config, + options, + logger, + header, + len_end): + """Execute the script build procedure in the product build directory. + + :param p_name_info: (tuple) + (str, Config) => (product_name, product_info) + :param config: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :param header: (str) the header to display when logging + :param len_end: (int) the lenght of the the end of line (used in display) + :return: (int) 1 if it fails, else 0. + """ + p_name, p_info = p_name_info + + # Execute "sat configure", "sat make" and "sat install" + error_step = "" + + # Logging and sat command call for the script step + scrit_path_display = UTS.label(p_info.compil_script) + log_step(logger, header, "SCRIPT " + scrit_path_display) + len_end_line = len_end + len(scrit_path_display) + res = sat.script(config.VARS.application + " --products " + p_name, + verbose = 0, + logger_add_link = logger) + log_res_step(logger, res) + + return res, len_end_line, error_step
+ +
[docs]def add_compile_config_file(p_info, config): + """ + Execute the proper configuration command(s) + in the product build directory. + + :param p_info: (Config) The specific config of the product + :param config: (Config) The global configuration + """ + # Create the compile config + compile_cfg = PYCONF.Config() + for prod_name in p_info.depend: + if prod_name not in compile_cfg: + compile_cfg.addMapping(prod_name, + PYCONF.Mapping(compile_cfg), + "") + prod_dep_info = src.product.get_product_config(config, prod_name, False) + compile_cfg[prod_name] = prod_dep_info.version + # Write it in the install directory of the product + compile_cfg_path = os.path.join(p_info.install_dir, src.CONFIG_FILENAME) + f = open(compile_cfg_path, 'w') + compile_cfg.__save__(f) + f.close()
+ +
+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/doc/build/html/_modules/commands/config.html b/doc/build/html/_modules/commands/config.html new file mode 100644 index 0000000..d8d7e15 --- /dev/null +++ b/doc/build/html/_modules/commands/config.html @@ -0,0 +1,324 @@ + + + + + + + + commands.config — salomeTools 5.0.0dev documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +

Source code for commands.config

+#!/usr/bin/env python
+#-*- coding:utf-8 -*-
+
+#  Copyright (C) 2010-2012  CEA/DEN
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+import os
+
+import src.debug as DBG
+import src.returnCode as RCO
+from src.salomeTools import _BaseCommand
+import src.configManager as CFGMGR
+import src.system as SYSS
+
+
+########################################################################
+# Command class
+########################################################################
+
[docs]class Command(_BaseCommand): + """ + The config command allows manipulation and operation on config '.pyconf' files. + + | examples: + | >> sat config --list + | >> sat config SALOME --edit + | >> sat config SALOME --copy SALOME-new + | >> sat config SALOME --value VARS + | >> sat config SALOME --debug VARS + | >> sat config SALOME --info ParaView + | >> sat config SALOME --show_patchs + """ + + name = "config" + +
[docs] def getParser(self): + """Define all options for command 'sat config <options>'""" + parser = self.getParserWithHelp() + parser.add_option('v', 'value', 'string', 'value', + _("Optional: print the value of CONFIG_VARIABLE.")) + parser.add_option('d', 'debug', 'string', 'debug', + _("Optional: print the debugging value of CONFIG_VARIABLE.")) + parser.add_option('e', 'edit', 'boolean', 'edit', + _("Optional: edit the product configuration file.")) + parser.add_option('i', 'info', 'string', 'info', + _("Optional: get information on a product.")) + parser.add_option('l', 'list', 'boolean', 'list', + _("Optional: list all available applications.")) + parser.add_option('p', 'show_patchs', 'boolean', 'show_patchs', + _("Optional: synthetic view of all patches used in the application")) + parser.add_option('c', 'copy', 'boolean', 'copy', + _("""\ +Optional: copy a config file (.pyconf) to the personal config files directory. +Warning: the included files are not copied. +If a name is given the new config file takes the given name.""")) + parser.add_option('n', 'no_label', 'boolean', 'no_label', + _("Internal use: do not print labels, Works only with --value and --list.")) + parser.add_option('o', 'completion', 'boolean', 'completion', + _("Internal use: print only keys, works only with --value.")) + parser.add_option('s', 'schema', 'boolean', 'schema', + _("Internal use.")) + return parser
+ +
[docs] def run(self, cmd_arguments): + """method called for command 'sat config <options>'""" + argList = self.assumeAsList(cmd_arguments) + + # print general help and returns + if len(argList) == 0: + self.print_help() + return RCO.ReturnCode("OK", "No arguments, as 'sat %s --help'" % self.name) + + self._options, remaindersArgs = self.parseArguments(argList) + + if self._options.help: + self.print_help() + return RCO.ReturnCode("OK", "Done 'sat %s --help'" % self.name) + + # shortcuts + runner = self.getRunner() + config = self.getConfig() + logger = self.getLogger() + options = self.getOptions() + + if config is None: + return RCO.ReturnCode("KO", "config is None") + + # Only useful for completion mechanism : print the keys of the config + if options.schema: + get_config_children(config, args) + return RCO.ReturnCode("OK", "completion mechanism") + + # case : print a value of the config + if options.value: + if options.value == ".": + # if argument is ".", print all the config + for val in sorted(config.keys()): + CFGMGR.print_value(config, val, logger, not options.no_label) + else: + CFGMGR.print_value(config, options.value, logger, not options.no_label, + level=0, show_full_path=False) + + if options.debug: + CFGMGR.print_debug(config, str(options.debug), logger, not options.no_label, + level=0, show_full_path=False) + + # case : edit user pyconf file or application file + elif options.edit: + editor = config.USER.editor + if ('APPLICATION' not in config and + 'open_application' not in config): # edit user pyconf + usercfg = os.path.join(config.VARS.personalDir, 'SAT.pyconf') + logger.info(_("Opening %s\n") % usercfg) + SYSS.show_in_editor(editor, usercfg, logger) + else: + # search for file <application>.pyconf and open it + for path in config.PATHS.APPLICATIONPATH: + pyconf_path = os.path.join(path, config.VARS.application + ".pyconf") + if os.path.exists(pyconf_path): + logger.info(_("Opening %s\n") % pyconf_path) + SYSS.show_in_editor(editor, pyconf_path, logger) + break + + # case : give information about the product in parameter + elif options.info: + src.check_config_has_application(config) + if options.info in config.APPLICATION.products: + show_product_info(config, options.info, logger) + return RCO.ReturnCode("OK", "options.info") + raise Exception( + _("%(product_name)s is not a product of %(application_name)s.") % \ + {'product_name' : options.info, 'application_name' : config.VARS.application} ) + + # case : copy an existing <application>.pyconf + # to ~/.salomeTools/Applications/LOCAL_<application>.pyconf + elif options.copy: + # product is required + src.check_config_has_application( config ) + + # get application file path + source = config.VARS.application + '.pyconf' + source_full_path = "" + for path in config.PATHS.APPLICATIONPATH: + # ignore personal directory + if path == config.VARS.personalDir: + continue + # loop on all directories that can have pyconf applications + zz = os.path.join(path, source) + if os.path.exists(zz): + source_full_path = zz + break + + if len(source_full_path) == 0: + raise Exception( + _("Config file for product %s not found\n") % source ) + else: + if len(args) > 0: + # a name is given as parameter, use it + dest = args[0] + elif 'copy_prefix' in config.INTERNAL.config: + # use prefix + dest = (config.INTERNAL.config.copy_prefix + + config.VARS.application) + else: + # use same name as source + dest = config.VARS.application + + # the full path + dest_file = os.path.join( + config.VARS.personalDir, 'Applications', dest + '.pyconf' ) + if os.path.exists(dest_file): + raise Exception( + _("A personal application '%s' already exists") % dest ) + + # perform the copy + shutil.copyfile(source_full_path, dest_file) + logger.info(_("%s has been created.\n") % dest_file) + + # case : display all the available pyconf applications + elif options.list: + lproduct = list() + # search in all directories that can have pyconf applications + for path in config.PATHS.APPLICATIONPATH: + # print a header + if not options.no_label: + logger.info("<header>------ %s<reset>" % path) + msg = "" # only one multiline info + if not os.path.exists(path): + msg += ("<red>" + _("Directory not found") + "<reset>\n" ) + else: + for f in sorted(os.listdir(path)): + # ignore file that does not ends with .pyconf + if not f.endswith('.pyconf'): + continue + + appliname = f[:-len('.pyconf')] + if appliname not in lproduct: + lproduct.append(appliname) + if path.startswith(config.VARS.personalDir) \ + and not options.no_label: + msg += "%s*\n" % appliname + else: + msg += "%s\n" % appliname + + logger.info(msg) + + # case : give a synthetic view of all patches used in the application + elif options.show_patchs: + src.check_config_has_application(config) + # Print some informations + logger.info(_('Show the patchs of application %s\n') % \ + UTS.label(config.VARS.application)) + show_patchs(config, logger) + + # case: print all the products name of the application (internal use for completion) + elif options.completion: + for product_name in config.APPLICATION.products.keys(): + logger.info("%s\n" % product_name) + + return RCO.ReturnCode("OK", "config command done")
+
+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/doc/build/html/_modules/commands/configure.html b/doc/build/html/_modules/commands/configure.html new file mode 100644 index 0000000..4d3ddeb --- /dev/null +++ b/doc/build/html/_modules/commands/configure.html @@ -0,0 +1,337 @@ + + + + + + + + commands.configure — salomeTools 5.0.0dev documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +

Source code for commands.configure

+#!/usr/bin/env python
+#-*- coding:utf-8 -*-
+
+#  Copyright (C) 2010-2012  CEA/DEN
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+
+import src.debug as DBG
+import src.returnCode as RCO
+from src.salomeTools import _BaseCommand
+
+########################################################################
+# Command class
+########################################################################
+
[docs]class Command(_BaseCommand): + """ + The configure command executes in the build directory commands + corresponding to the compilation mode of the application products. + The possible compilation modes are 'cmake', 'autotools', or 'script'. + + Here are the commands to be run: + autotools: >> build_configure and configure + cmake: >> cmake + script: (do nothing) + + examples: + >> sat configure SALOME --products KERNEL,GUI,PARAVIS + """ + + name = "configure" + +
[docs] def getParser(self): + """Define all options for command 'sat configure <options>'""" + parser = self.getParserWithHelp() + parser.add_option('p', 'products', 'list2', 'products', + _('Optional: products to configure. This option can be' + ' passed several time to configure several products.')) + parser.add_option('o', 'option', 'string', 'option', + _('Optional: Option to add to the configure or cmake command.'), "") + return parser
+ +
[docs] def run(self, cmd_arguments): + """method called for command 'sat configure <options>'""" + argList = self.assumeAsList(cmd_arguments) + + # print general help and returns + if len(argList) == 0: + self.print_help() + return RCO.ReturnCode("OK", "No arguments, as 'sat %s --help'" % self.name) + + self._options, remaindersArgs = self.parseArguments(argList) + + if self._options.help: + self.print_help() + return RCO.ReturnCode("OK", "Done 'sat %s --help'" % self.name) + + # shortcuts + runner = self.getRunner() + config = self.getConfig() + logger = self.getLogger() + options = self.getOptions() + + + # check that the command has been called with an application + src.check_config_has_application( config ) + + # Get the list of products to treat + products_infos = get_products_list(options, config, logger) + + # Print some informations + logger.info(_('Configuring the sources of the application %s\n') % + UTS.label(config.VARS.application)) + + info = [(_("BUILD directory"), + os.path.join(config.APPLICATION.workdir, 'BUILD'))] + UTS.logger_info_tuples(logger, info) + + # Call the function that will loop over all the products and execute + # the right command(s) + if options.option is None: + options.option = "" + res = configure_all_products(config, products_infos, options.option, logger) + + # Print the final state + nb_products = len(products_infos) + if res == 0: + final_status = "<OK>" + else: + final_status = "<KO>" + + logger.info(_("\nConfiguration: %(status)s (%(1)d/%(2)d)\n") % \ + { 'status': final_status, + '1': nb_products - res, + '2': nb_products }, 1) + + return res
+ + +
[docs]def get_products_list(options, cfg, logger): + """ + method that gives the product list with their informations from + configuration regarding the passed options. + + :param options: (Options) + The Options instance that stores the commands arguments + :param cfg: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (list) The list of (product name, product_informations). + """ + # Get the products to be prepared, regarding the options + if options.products is None: + # No options, get all products sources + products = cfg.APPLICATION.products + else: + # if option --products, check that all products of the command line + # are present in the application. + products = options.products + for p in products: + if p not in cfg.APPLICATION.products: + raise Exception( + _("Product %(product)s not defined in application %(application)s") % + {'product': p, 'application': cfg.VARS.application} ) + + # Construct the list of tuple containing + # the products name and their definition + products_infos = src.product.get_products_infos(products, cfg) + + products_infos = [pi for pi in products_infos if not(src.product.product_is_native(pi[1]) or src.product.product_is_fixed(pi[1]))] + + return products_infos
+ +
[docs]def log_step(logger, header, step): + logger.info("\r%s%s" % (header, " " * 20)) + logger.info("\r%s%s" % (header, step)) + logger.debug("\n==== %s \n" % UTS.info(step)) + logger.flush()
+ +
[docs]def log_res_step(logger, res): + if res == 0: + logger.debug("<OK>") + else: + logger.debug("<KO>")
+ +
[docs]def configure_all_products(config, products_infos, conf_option, logger): + """ + Execute the proper configuration commands + in each product build directory. + + :param config: (Config) The global configuration + :param products_info: (list) + List of (str, Config) => (product_name, product_info) + :param conf_option: (str) The options to add to the command + :param logger: (Logger) The logger instance to use for the display and logging + :return: (int) the number of failing commands. + """ + res = 0 + for p_name_info in products_infos: + res_prod = configure_product(p_name_info, conf_option, config, logger) + if res_prod != 0: + res += 1 + return res
+ +
[docs]def configure_product(p_name_info, conf_option, config, logger): + """ + Execute the proper configuration command(s) + in the product build directory. + + :param p_name_info: (tuple) + (str, Config) => (product_name, product_info) + :param conf_option: (str) The options to add to the command + :param config: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (int) 1 if it fails, else 0. + """ + + p_name, p_info = p_name_info + + # Logging + header = _("Configuration of %s") % UTS.label(p_name) + header += " %s " % ("." * (20 - len(p_name))) + logger.info(header) + + # Do nothing if he product is not compilable + if ("properties" in p_info and \ + "compilation" in p_info.properties and \ + p_info.properties.compilation == "no"): + + log_step(logger, header, "ignored") + logger.info("\n") + return 0 + + # Instantiate the class that manages all the construction commands + # like cmake, make, make install, make test, environment management, etc... + builder = src.compilation.Builder(config, logger, p_info) + + # Prepare the environment + log_step(logger, header, "PREPARE ENV") + res_prepare = builder.prepare() + log_res_step(logger, res_prepare) + + # Execute buildconfigure, configure if the product is autotools + # Execute cmake if the product is cmake + res = 0 + if src.product.product_is_autotools(p_info): + log_step(logger, header, "BUILDCONFIGURE") + res_bc = builder.build_configure() + log_res_step(logger, res_bc) + res += res_bc + log_step(logger, header, "CONFIGURE") + res_c = builder.configure(conf_option) + log_res_step(logger, res_c) + res += res_c + if src.product.product_is_cmake(p_info): + log_step(logger, header, "CMAKE") + res_cm = builder.cmake(conf_option) + log_res_step(logger, res_cm) + res += res_cm + + # Log the result + if res > 0: + logger.info("\r%s%s" % (header, " " * 20)) + logger.info("\r" + header + "<KO>") + logger.debug("==== <KO> in configuration of %s\n" % p_name) + else: + logger.info("\r%s%s" % (header, " " * 20)) + logger.info("\r" + header + "<OK>") + logger.debug("==== <OK> in configuration of %s\n" % p_name) + logger.info("\n") + + return res
+
+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/doc/build/html/_modules/commands/environ.html b/doc/build/html/_modules/commands/environ.html new file mode 100644 index 0000000..ea14d16 --- /dev/null +++ b/doc/build/html/_modules/commands/environ.html @@ -0,0 +1,268 @@ + + + + + + + + commands.environ — salomeTools 5.0.0dev documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +

Source code for commands.environ

+#!/usr/bin/env python
+#-*- coding:utf-8 -*-
+
+#  Copyright (C) 2010-2012  CEA/DEN
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+
+import src.debug as DBG
+import src.returnCode as RCO
+import src.utilsSat as UTS
+from src.salomeTools import _BaseCommand
+
+# list of available shells with extensions
+C_SHELLS = { "bash": "sh", "bat": "bat", "cfg" : "cfg" }
+C_ALL_SHELL = [ "bash", "bat", "cfg" ]
+
+
+########################################################################
+# Command class
+########################################################################
+
[docs]class Command(_BaseCommand): + """ + The environ command generates the environment files of your application. + + examples: + >> sat environ SALOME + """ + + name = "environ" + +
[docs] def getParser(self): + """Define all options for command 'sat environ <options>'""" + parser = self.getParserWithHelp() + parser.add_option('', 'shell', 'list2', 'shell', + _("Optional: Generates the environment files for the given format: " + "bash (default), bat (for windows), cfg (salome context file) or all."), []) + parser.add_option('p', 'products', 'list2', 'products', + _("Optional: Includes only the specified products.")) + parser.add_option('', 'prefix', 'string', 'prefix', + _("Optional: Specifies the prefix for the environment files."), "env") + parser.add_option('t', 'target', 'string', 'out_dir', + _("Optional: Specifies the directory path where to put the environment files."), + None) + return parser
+ +
[docs] def run(self, cmd_arguments): + """method called for command 'sat environ <options>'""" + argList = self.assumeAsList(cmd_arguments) + + # print general help and returns + if len(argList) == 0: + self.print_help() + return RCO.ReturnCode("OK", "No arguments, as 'sat %s --help'" % self.name) + + self._options, remaindersArgs = self.parseArguments(argList) + + if self._options.help: + self.print_help() + return RCO.ReturnCode("OK", "Done 'sat %s --help'" % self.name) + + # shortcuts + runner = self.getRunner() + config = self.getConfig() + logger = self.getLogger() + options = self.getOptions() + + # check that the command was called with an application + src.check_config_has_application( config ) + + if options.products is None: + environ_info = None + else: + # add products specified by user (only products + # included in the application) + environ_info = filter(lambda l: + l in config.APPLICATION.products.keys(), + options.products) + + if options.shell == []: + shell = ["bash"] + if src.architecture.is_windows(): + shell = ["bat"] + else: + shell = options.shell + + out_dir = options.out_dir + if out_dir: + out_dir = os.path.abspath(out_dir) + + write_all_source_files(config, logger, out_dir=out_dir, shells=shell, + prefix=options.prefix, env_info=environ_info) + logger.info("\n")
+ #TODO return code + +
[docs]def write_all_source_files(config, + logger, + out_dir=None, + src_root=None, + silent=False, + shells=["bash"], + prefix="env", + env_info=None): + """Generates the environment files. + + :param config: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :param out_dir: (str) + The path to the directory where the files will be put + :param src_root: (str) + The path to the directory where the sources are + :param silent: (bool) + If True, do not print anything in the terminal + :param shells: (list) The list of shells to generate + :param prefix: (str) The prefix to add to the file names. + :param env_info: (str) The list of products to add in the files. + :return: (list) The list of the generated files. + """ + + if not out_dir: + out_dir = config.APPLICATION.workdir + + if not os.path.exists(out_dir): + raise Exception(_("Target directory not found: %s") % out_dir) + + if not silent: + logger.info(_("Creating environment files for %s\n") % \ + UTS.header(config.APPLICATION.name)) + logger.info(" %s = %s\n\n" % (_("Target"), out_dir)) + + shells_list = [] + all_shells = C_ALL_SHELL + if "all" in shells: + shells = all_shells + else: + shells = filter(lambda l: l in all_shells, shells) + + for shell in shells: + if shell not in C_SHELLS: + logger.warning(_("Unknown shell: %s\n") % shell) + else: + shells_list.append(src.environment.Shell(shell, C_SHELLS[shell])) + + writer = src.environment.FileEnvWriter(config, + logger, + out_dir, + src_root, + env_info) + writer.silent = silent + files = [] + for_build = True + for_launch = False + for shell in shells_list: + files.append(writer.write_env_file("%s_launch.%s" % + (prefix, shell.extension), + for_launch, + shell.name)) + files.append(writer.write_env_file("%s_build.%s" % + (prefix, shell.extension), + for_build, + shell.name)) + + return files
+
+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/doc/build/html/_modules/commands/find_duplicates.html b/doc/build/html/_modules/commands/find_duplicates.html new file mode 100644 index 0000000..afb83f6 --- /dev/null +++ b/doc/build/html/_modules/commands/find_duplicates.html @@ -0,0 +1,391 @@ + + + + + + + + commands.find_duplicates — salomeTools 5.0.0dev documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +

Source code for commands.find_duplicates

+#!/usr/bin/env python
+#-*- coding:utf-8 -*-
+
+#  Copyright (C) 2010-2012  CEA/DEN
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+
+import src.debug as DBG
+import src.returnCode as RCO
+import src.utilsSat as UTS
+from src.salomeTools import _BaseCommand
+
+
+default_extension_ignored = \
+    'html png txt js xml cmake gif m4 in pyo pyc doctree css'.split()
+
+default_files_ignored = \
+    '__init__.py Makefile.am VERSION build_configure README AUTHORS NEWS COPYING ChangeLog'.split()
+
+default_directories_ignored = []
+
+
+########################################################################
+# Command class
+########################################################################
+
[docs]class Command(_BaseCommand): + """\ + The find_duplicates command search recursively for all duplicates files + in INSTALL directory (or the optionally given directory) and + prints the found files to the terminal. + + examples: + >> sat find_duplicates --path /tmp + """ + + name = "find_duplicates" + +
[docs] def getParser(self): + """Define all options for command 'sat find_duplicates <options>'""" + parser = self.getParserWithHelp() + parser.add_option( + "s", + "sources", + "boolean", + "sources", + _("Search the duplicate files in the SOURCES directory.") ) + parser.add_option( + "p", + "path", + "list2", + "path", + _("Optional: Search the duplicate files in the given directory paths.") ) + parser.add_option( + "", + "exclude-file", + "list2", + "exclude_file", + _("Optional: Override the default list of filtered files.") ) + parser.add_option( + "", + "exclude-extension", + "list2", + "exclude_extension", + _("Optional: Override the default list of filtered extensions.") ) + parser.add_option( + "", + "exclude-path", + "list2", + "exclude_path", + _("Optional: Override the default list of filtered paths.") ) + return parser
+ +
[docs] def run(self, cmd_arguments): + """method called for command 'sat find_duplicates <options>'""" + argList = self.assumeAsList(cmd_arguments) + + # print general help and returns + if len(argList) == 0: + self.print_help() + return RCO.ReturnCode("OK", "No arguments, as 'sat %s --help'" % self.name) + + self._options, remaindersArgs = self.parseArguments(argList) + + if self._options.help: + self.print_help() + return RCO.ReturnCode("OK", "Done 'sat %s --help'" % self.name) + + # shortcuts + runner = self.getRunner() + config = self.getConfig() + logger = self.getLogger() + options = self.getOptions() + + # Determine the directory path where to search + # for duplicates files regarding the options + if options.path: + l_dir_path = options.path + else: + src.check_config_has_application(config) + if options.sources: + l_dir_path = [os.path.join(config.APPLICATION.workdir, "SOURCES")] + else: + # find all installation paths + all_products = config.APPLICATION.products.keys() + l_product_cfg = src.product.get_products_infos(all_products, config) + l_dir_path = [pi.install_dir for __, pi in l_product_cfg] + + # Get the files to ignore during the searching + files_ignored = default_files_ignored + if options.exclude_file: + files_ignored = options.exclude_file + + # Get the extension to ignore during the searching + extension_ignored = default_extension_ignored + if options.exclude_extension: + extension_ignored = options.exclude_extension + + # Get the directory paths to ignore during the searching + directories_ignored = default_directories_ignored + if options.exclude_path: + directories_ignored = options.exclude_path + + # Check the directories + l_path = src.deepcopy_list(l_dir_path) + l_dir_path = [] + for dir_path in l_path: + if not(os.path.isdir(dir_path)): + msg = _("%s does not exists or is not a directory path: it will be ignored" % + dir_path) + logger.warning("%s\n" % msg) + continue + l_dir_path.append(dir_path) + + + # Display some information + info = [(_("Directories"), "\n".join(l_dir_path)), + (_("Ignored files"), files_ignored), + (_("Ignored extensions"), extension_ignored), + (_("Ignored directories"), directories_ignored) + ] + UTS.logger_info_tuples(logger, info) + + # Get all the files and paths + logger.info(_("Store all file paths ... "), 3) + dic, fic = list_directory(l_dir_path, + extension_ignored, + files_ignored, + directories_ignored) + logger.info("<OK>\n") + + # Eliminate all the singletons + len_fic = len(fic) + range_fic = range(0,len_fic) + range_fic.reverse() + my_bar = Progress_bar(_('Eliminate the files that are not duplicated'), + 0, + len_fic, + logger, + length = 50) + for i in range_fic: + my_bar.display_value_progression(len_fic - i) + if fic.count(fic[i])==1: + fic.remove(fic[i]) + dic.remove(dic[i]) + + # Format the resulting variable to get a dictionary + logger.info(_("\n\nCompute the dict for file -> list of paths ... ")) + fic.sort() + len_fic = len(fic) + rg_fic = range(0,len_fic) + rg_fic.reverse() + for i in rg_fic: + if fic[i-1] != fic[i]: + fic.remove(fic[i]) + + dic_fic_paths = {} + for fichier in fic: + the_file = fichier[0] + l_path = [] + for fic_path in dic: + if fic_path[0] == the_file: + l_path.append(fic_path[1]) + dic_fic_paths[the_file] = l_path + + logger.info("<OK>\n") + + # End the execution if no duplicates were found + if len(dic_fic_paths) == 0: + logger.info(_("No duplicate files found.\n")) + return 0 + + # Check that there are no singletons in the result (it would be a bug) + for elem in dic_fic_paths: + if len(dic_fic_paths[elem])<2: + logger.warning(_("Element %s has not more than two paths.\n") % elem) + + + # Display the results + logger.info(_('\nResults:\n\n')) + max_file_name_lenght = max(map(lambda l: len(l), dic_fic_paths.keys())) + for fich in dic_fic_paths: + sp = " " * (max_file_name_lenght - len(fich)) + msg = UTS.label(fich) + sp + for rep in dic_fic_paths[fich]: + msg += rep + " " + logger.info(msg + "\n") + + return 0
+ + +
[docs]def list_directory(lpath, extension_ignored, files_ignored, directories_ignored): + """Make the list of all files and paths that are not filtered + + :param lpath: (list) + The list of path to of the directories where to search for duplicates + :param extension_ignored: (list) The list of extensions to ignore + :param files_ignored: (list) The list of files to ignore + :param directories_ignored: (list) + The list of directory paths to ignore + :return: (list, list) + files_arb_out is the list of [file, path] + and files_out is is the list of files + """ + files_out = [] + files_arb_out=[] + for path in lpath: + for root, __, files in os.walk(path): + for fic in files: + extension = fic.split('.')[-1] + if (extension not in extension_ignored and + fic not in files_ignored): + in_ignored_dir = False + for rep in directories_ignored: + if rep in root: + in_ignored_dir = True + if not in_ignored_dir: + files_out.append([fic]) + files_arb_out.append([fic, root]) + return files_arb_out, files_out
+ +
[docs]def format_list_of_str(l_str): + """Make a list from a string + + :param l_str: (list or str) The variable to format + :return: (list) the formatted variable + """ + if not isinstance(l_str, list): + return l_str + return ",".join(l_str)
+ +
[docs]class Progress_bar: + """ + Create a progress bar in the terminal + """ + def __init__(self, name, valMin, valMax, logger, length = 50): + """Initialization of the progress bar. + + :param name: (str) The name of the progress bar + :param valMin: (float) the minimum value of the variable + :param valMax: (float) the maximum value of the variable + :param logger: (Logger) the logger instance + :param length: (int) the lenght of the progress bar + """ + self.name = name + self.valMin = valMin + self.valMax = valMax + self.length = length + self.logger = logger + if (self.valMax - self.valMin) <= 0 or length <= 0: + out_err = _('ERROR: Wrong init values for the progress bar\n') + raise Exception(out_err) + +
[docs] def display_value_progression(self,val): + """Display the progress bar. + + :param val: (float) val must be between valMin and valMax. + """ + if val < self.valMin or val > self.valMax: + self.logger.error(_("Wrong value for the progress bar.\n")) + else: + perc = (float(val-self.valMin) / (self.valMax - self.valMin)) * 100. + nb_equals = int(perc * self.length / 100) + out = '\r %s : %3d %% [%s%s]' % (self.name, perc, nb_equals*'=', + (self.length - nb_equals)*' ' ) + self.logger.info(out)
+ +
+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/doc/build/html/_modules/commands/generate.html b/doc/build/html/_modules/commands/generate.html new file mode 100644 index 0000000..f110cfb --- /dev/null +++ b/doc/build/html/_modules/commands/generate.html @@ -0,0 +1,493 @@ + + + + + + + + commands.generate — salomeTools 5.0.0dev documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +

Source code for commands.generate

+#!/usr/bin/env python
+#-*- coding:utf-8 -*-
+
+#  Copyright (C) 2010-2012  CEA/DEN
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+
+import src.debug as DBG
+import src.returnCode as RCO
+import src.utilsSat as UTS
+from src.salomeTools import _BaseCommand
+import src.pyconf as PYCONF
+
+########################################################################
+# Command class
+########################################################################
+
[docs]class Command(_BaseCommand): + """\ + The generate command generates SALOME modules from 'pure cpp' products. + WARNING: this command NEEDS YACSGEN to run. + + examples: + >> sat generate SALOME --products FLICACPP + """ + + name = "generate" + +
[docs] def getParser(self): + """Define all options for command 'sat generate <options>'""" + parser = self.getParserWithHelp() + parser.add_option('p', 'products', 'list2', 'products', + _("Optional: the list of products to generate")) + parser.add_option('', 'yacsgen', 'string', 'yacsgen', + _("Optional: path to YACSGEN's module_generator package")) + return parser
+ +
[docs] def run(self, cmd_arguments): + """method called for command 'sat generate <options>'""" + argList = self.assumeAsList(cmd_arguments) + + # print general help and returns + if len(argList) == 0: + self.print_help() + return RCO.ReturnCode("OK", "No arguments, as 'sat %s --help'" % self.name) + + self._options, remaindersArgs = self.parseArguments(argList) + + if self._options.help: + self.print_help() + return RCO.ReturnCode("OK", "Done 'sat %s --help'" % self.name) + + # shortcuts + runner = self.getRunner() + config = self.getConfig() + logger = self.getLogger() + options = self.getOptions() + + # Check that the command has been called with an application + src.check_config_has_application(config) + + logger.info( _('Generation of SALOME modules for application %s\n') % \ + UTS.label(config.VARS.application) ) + + status = src.KO_STATUS + + # verify that YACSGEN is available + returnCode = check_yacsgen(config, options.yacsgen, logger) + + if not returnCode.isOk(): + logger.error(returnCode.getWhy()) + return returnCode + else: + yacsgen_dir = returnCode.getValue() + + # Make the generator module visible by python + sys.path.insert(0, yacsgen_dir) + + logger.info(" insert directory PATH %s = %s\n" % \ + ("YACSGEN", UTS.blue(yacsgen_dir)) ) + + products = config.APPLICATION.products + if options.products: + products = options.products + + details = [] + nbgen = 0 + + context = build_context(config, logger) + lprod = UTS.label(product) + for product in products: + header = _("Generating %s") % lprod + header += " %s " % ("." * (20 - len(product))) + logger.info(header) + + if product not in config.PRODUCTS: + logger.error(_("Unknown product %s") % lprod) + continue + + pi = src.product.get_product_config(config, product) + if not src.product.product_is_generated(pi): + logger.info(_("not a generated product %s") % lprod) + continue + + nbgen += 1 + try: + result = generate_component_list(config, pi, context, logger) + except Exception as exc: + result = str(exc) + + if result != src.OK_STATUS: + result = _("ERROR: %s") % result + details.append([product, result]) + + if len(details) != 0: + msg = _("The following modules were not generated correctly:\n") + for d in details: + msg += " %s: %s\n" % (d[0], d[1]) + logger.error(msg) + return RCO.ReturnCode("KO", msg) + else: + return RCO.ReturnCode("OK", "generate command done")
+ + +
[docs]def generate_component_list(config, product_info, context, logger): + res = "?" + logger.info("\n") + for compo in src.product.get_product_components(product_info): + header = " %s %s " % (UTS.label(compo), "." * (20 - len(compo))) + res = generate_component(config, + compo, + product_info, + context, + header, + logger) + if config.USER.output_verbose_level == 3: + logger.info("\r%s%s\r%s" % (header, " " * 20, header)) + logger.info(res + "\n") + return res
+ +
[docs]def generate_component(config, compo, product_info, context, header, logger): +# get from config include file name and librairy name, or take default value + if "hxxfile" in product_info: + hxxfile = product_info.hxxfile + else: + hxxfile = compo + ".hxx" + if "cpplib" in product_info: + cpplib = product_info.cpplib + else: + cpplib = "lib" + compo + "CXX.so" + cpp_path = product_info.install_dir + + msg = "" + msg += "%s\n" % UTS.blue(header) + msg += "hxxfile = %s\n" % hxxfile + msg += "cpplib = %s\n" % cpplib + msg += "cpp_path = %s\n" % cpp_path + logger.debug(msg) + + # create a product_info at runtime + compo_info = PYCONF.Mapping(config) + compo_info.name = compo + compo_info.nb_proc = 1 + generate_dir = os.path.join(config.APPLICATION.workdir, "GENERATED") + install_dir = os.path.join(config.APPLICATION.workdir, "INSTALL") + build_dir = os.path.join(config.APPLICATION.workdir, "BUILD") + compo_info.source_dir = os.path.join(generate_dir, compo + "_SRC") + compo_info.install_dir = os.path.join(install_dir, compo) + compo_info.build_dir = os.path.join(build_dir, compo) + compo_info.depend = product_info.depend + compo_info.depend.append(product_info.name, "") # add cpp module + compo_info.opt_depend = product_info.opt_depend + + config.PRODUCTS.addMapping(compo, PYCONF.Mapping(config), "") + config.PRODUCTS[compo].default = compo_info + + builder = src.compilation.Builder(config, logger, compo_info, check_src=False) + builder.header = header + + # generate the component + # create GENERATE dir if necessary + if not os.path.exists(generate_dir): + os.mkdir(generate_dir) + + # delete previous generated directory if it already exists + if os.path.exists(compo_info.source_dir): + logger.debug(" delete %s" % compo_info.source_dir) + shutil.rmtree(compo_info.source_dir) + + # generate generates in the current directory => change for generate dir + curdir = os.curdir + os.chdir(generate_dir) + + # inline class to override bootstrap method + import module_generator + class sat_generator(module_generator.Generator): + # old bootstrap for automake (used if salome version <= 7.4) + def bootstrap(self, source_dir, log_file): + # replace call to default bootstrap() by using subprocess call (cleaner) + command = "sh autogen.sh" + ier = subprocess.call(command, shell=True, cwd=source_dir, + stdout=log_file, stderr=subprocess.STDOUT) + if ier != 0: + raise Exception("bootstrap has ended in error") + + + # determine salome version + VersionSalome = src.get_salome_version(config) + if VersionSalome >= 750 : + use_autotools=False + builder.log('USE CMAKE', 3) + else: + use_autotools=True + builder.log('USE AUTOTOOLS', 3) + + result = "GENERATE" + builder.log('GENERATE', 3) + + prevstdout = sys.stdout + prevstderr = sys.stderr + + try: + sys.stdout = logger.logTxtFile + sys.stderr = logger.logTxtFile + + if src.product.product_is_mpi(product_info): + salome_compo = module_generator.HXX2SALOMEParaComponent(hxxfile, + cpplib, + cpp_path) + else: + salome_compo = module_generator.HXX2SALOMEComponent(hxxfile, + cpplib, + cpp_path) + + if src.product.product_has_salome_gui(product_info): + # get files to build a template GUI + gui_files = salome_compo.getGUIfilesTemplate(compo) + else: + gui_files = None + + mg = module_generator.Module(compo, components=[salome_compo], + prefix=generate_dir, gui=gui_files) + g = sat_generator(mg, context) + g.generate() + + if use_autotools: + result = "BUID_CONFIGURE" + builder.log('BUID_CONFIGURE (no bootstrap)', 3) + g.bootstrap(compo_info.source_dir, logger.logTxtFile) + + result = src.OK_STATUS + finally: + sys.stdout = prevstdout + sys.stderr = prevstderr + + # go back to previous directory + os.chdir(curdir) + + # do the compilation using the builder object + if builder.prepare()!= 0: return "Error in prepare" + if use_autotools: + if builder.configure()!= 0: return "Error in configure" + else: + if builder.cmake()!= 0: return "Error in cmake" + + if builder.make(config.VARS.nb_proc, "")!=0: return "Error in make" + if builder.install()!=0: return "Error in make install" + + # copy specified logo in generated component install directory + # rem : logo is not copied in source dir because this would require + # to modify the generated makefile + logo_path = src.product.product_has_logo(product_info) + if logo_path: + destlogo = os.path.join(compo_info.install_dir, "share", "salome", + "resources", compo.lower(), compo + ".png") + src.Path(logo_path).copyfile(destlogo) + + return result
+ +
[docs]def build_context(config, logger): + products_list = [ 'KERNEL', 'GUI' ] + ctxenv = src.environment.SalomeEnviron(config, + src.environment.Environ(dict( + os.environ)), + True) + ctxenv.silent = True + ctxenv.set_full_environ(logger, config.APPLICATION.products.keys()) + + dicdir = {} + for p in products_list: + prod_env = p + "_ROOT_DIR" + val = os.getenv(prod_env) + if os.getenv(prod_env) is None: + if p not in config.APPLICATION.products: + msg = _("product %s is not defined. Include it in the application or define $%s.") % \ + (p, prod_env) + logger.error(UTS.red(msg)) + val = "" + val = ctxenv.environ.environ[prod_env] + dicdir[p] = val + + # the dictionary requires all keys + # but the generation requires only values for KERNEL and GUI + context = { + "update": 1, + "makeflags": "-j2", + "kernel": dicdir["KERNEL"], + "gui": dicdir["GUI"], + "yacs": "", + "med": "", + "mesh": "", + "visu": "", + "geom": "", + } + return context
+ +
[docs]def check_module_generator(directory=None): + """Check if module_generator is available. + + :param directory: (str) The directory of YACSGEN. + :return: (str) + The YACSGEN path if the module_generator is available, else None + """ + undo = False + if directory is not None and directory not in sys.path: + sys.path.insert(0, directory) + undo = True + + res = None + try: + #import module_generator + info = imp.find_module("module_generator") + res = info[1] + except ImportError: + if undo: + sys.path.remove(directory) + res = None + + return res
+ +
[docs]def check_yacsgen(config, directory, logger): + """Check if YACSGEN is available. + + :param config: (Config) The global configuration. + :param directory: (str) The directory given by option --yacsgen + :param logger: (Logger) The logger instance + :return: (RCO.ReturnCode) + with value The path to yacsgen directory if ok + """ + # first check for YACSGEN (command option, then product, then environment) + yacsgen_dir = None + yacs_src = "?" + if directory is not None: + yacsgen_dir = directory + yacs_src = _("Using YACSGEN from command line") + elif 'YACSGEN' in config.APPLICATION.products: + yacsgen_info = src.product.get_product_config(config, 'YACSGEN') + yacsgen_dir = yacsgen_info.install_dir + yacs_src = _("Using YACSGEN from application") + elif os.environ.has_key("YACSGEN_ROOT_DIR"): + yacsgen_dir = os.getenv("YACSGEN_ROOT_DIR") + yacs_src = _("Using YACSGEN from environment") + + if yacsgen_dir is None: + RCO.ReturnCode("KO", _("The generate command requires YACSGEN.")) + + logger.info(" %s in %s" % (yacs_src, yacsgen_dir)) + + if not os.path.exists(yacsgen_dir): + msg = _("YACSGEN directory not found: '%s'") % yacsgen_dir + RCO.ReturnCode("KO", msg) + + # load module_generator + c = check_module_generator(yacsgen_dir) + if c is not None: + return RCO.ReturnCode("OK", "check_module_generator on %s" % yacsgen_dir, c) + + pv = os.getenv("PYTHON_VERSION") + if pv is None: + python_info = src.product.get_product_config(config, "Python") + pv = '.'.join(python_info.version.split('.')[:2]) + assert pv is not None, "$PYTHON_VERSION not defined" + yacsgen_dir = os.path.join(yacsgen_dir, "lib", "python%s" % pv, "site-packages") + c = check_module_generator(yacsgen_dir) + if c is not None: + return RCO.ReturnCode("OK", "check_module_generator on %s" % yacsgen_dir, c) + + return RCO.ReturnCode("KO", _("The python module module_generator was not found in YACSGEN"))
+ +
+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/doc/build/html/_modules/commands/init.html b/doc/build/html/_modules/commands/init.html new file mode 100644 index 0000000..68a6106 --- /dev/null +++ b/doc/build/html/_modules/commands/init.html @@ -0,0 +1,274 @@ + + + + + + + + commands.init — salomeTools 5.0.0dev documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +

Source code for commands.init

+#!/usr/bin/env python
+#-*- coding:utf-8 -*-
+
+#  Copyright (C) 2010-2012  CEA/DEN
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+
+import src.debug as DBG
+import src.returnCode as RCO
+import src.utilsSat as UTS
+from src.salomeTools import _BaseCommand
+import src.pyconf as PYCONF
+
+########################################################################
+# Command class
+########################################################################
+
[docs]class Command(_BaseCommand): + """\ + The init command Changes the local settings of SAT + """ + + name = "init" + +
[docs] def getParser(self): + """Define all options for command 'sat init <options>'""" + parser = self.getParserWithHelp() + parser.add_option('b', 'base', 'string', 'base', + _('Optional: The path to the products base')) + parser.add_option('w', 'workdir', 'string', 'workdir', + _('Optional: The path to the working directory ' + '(where to install the applications')) + parser.add_option('a', 'archive_dir', 'string', 'archive_dir', + _('Optional: The path to the local archive directory ' + '(where to install local source archives')) + parser.add_option('v', 'VCS', 'string', 'VCS', + _('Optional: The address of the repository of SAT ' + '(only informative)')) + parser.add_option('t', 'tag', 'string', 'tag', + _('Optional: The tag of SAT (only informative)')) + parser.add_option('l', 'log_dir', 'string', 'log_dir', + _('Optional: The directory where to put all the logs of SAT')) + return parser
+ +
[docs] def run(self, cmd_arguments): + """method called for command 'sat init <options>'""" + argList = self.assumeAsList(cmd_arguments) + + # print general help and returns + if len(argList) == 0: + self.print_help() + return RCO.ReturnCode("OK", "No arguments, as 'sat %s --help'" % self.name) + + self._options, remaindersArgs = self.parseArguments(argList) + + if self._options.help: + self.print_help() + return RCO.ReturnCode("OK", "Done 'sat %s --help'" % self.name) + + # shortcuts + runner = self.getRunner() + config = self.getConfig() + logger = self.getLogger() + options = self.getOptions() + + # Print some informations + logger.info(_('Local Settings of SAT %s') % UTS.label(config.VARS.salometoolsway)) + + res = 0 + + # Set the options corresponding to a directory + for opt in [("base" , options.base), + ("workdir", options.workdir), + ("log_dir", options.log_dir), + ("archive_dir", options.archive_dir)]: + key, value = opt + if value: + res_check = check_path(value, logger) + res += res_check + if res_check == 0: + res_set = set_local_value(config, key, value, logger) + res += res_set + + # Set the options corresponding to an informative value + for opt in [("VCS", options.VCS), ("tag", options.tag)]: + key, value = opt + res_set = set_local_value(config, key, value, logger) + res += res_set + + display_local_values(config, logger) + + return res
+ + +
[docs]def set_local_value(config, key, value, logger): + """Edit the site.pyconf file and change a value. + + :param config: (Config) The global configuration. + :param key: (str) The key from which to change the value. + :param value: (str) The path to change. + :param logger: (Logger) The logger instance. + :return: (int) 0 if all is OK, else 1 + """ + local_file_path = os.path.join(config.VARS.datadir, "local.pyconf") + # Update the local.pyconf file + try: + local_cfg = PYCONF.Config(local_file_path) + local_cfg.LOCAL[key] = value + ff = open(local_file_path, 'w') + local_cfg.__save__(ff, 1) + ff.close() + if key != "log_dir": + config.LOCAL[key] = value + except Exception as e: + err = str(e) + msg = _("Unable to update the local.pyconf file: %s\n") % err + logger.error(msg) + return RCO.ReturnCode("KO", msg) + + return RCO.ReturnCode("OK")
+ +
[docs]def display_local_values(config, logger): + """Display the base path + + :param config: (Config) The global configuration. + :param key: (str) The key from which to change the value. + :param logger: (Logger) The logger instance. + """ + info = [("base", config.LOCAL.base), + ("workdir", config.LOCAL.workdir), + ("log_dir", config.LOCAL.log_dir), + ("archive_dir", config.LOCAL.archive_dir), + ("VCS", config.LOCAL.VCS), + ("tag", config.LOCAL.tag)] + UTS.logger_info_tuples(logger, info) + + return 0
+ +
[docs]def check_path(path_to_check, logger): + """Verify that the given path is not a file and can be created. + + :param path_to_check: (str) The path to check. + :param logger: (Logger) The logger instance. + """ + if path_to_check == "default": + return 0 + + # Get the path + path = src.Path(path_to_check) + + # If it is a file, do nothing and return error + if path.isfile(): + msg = _("""\ +The given path is a file: %s +Please provide a path to a directory\n""") % UTS.blue(path_to_check) + logger.error(msg) + return 1 + + # Try to create the given path + try: + UTS.ensure_path_exists(str(path)) + except Exception as e: + msg = _("""\ +Unable to create the directory %s: + +%s\n""") % (UTS.blue(str(path)), UTS.yellow(e)) + logger.error(msg) + return 1 + + return 0
+
+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/doc/build/html/_modules/commands/job.html b/doc/build/html/_modules/commands/job.html new file mode 100644 index 0000000..5edc609 --- /dev/null +++ b/doc/build/html/_modules/commands/job.html @@ -0,0 +1,276 @@ + + + + + + + + commands.job — salomeTools 5.0.0dev documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +

Source code for commands.job

+#!/usr/bin/env python
+#-*- coding:utf-8 -*-
+
+#  Copyright (C) 2010-2012  CEA/DEN
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+
+import src.debug as DBG
+import src.returnCode as RCO
+from src.salomeTools import _BaseCommand
+
+########################################################################
+# Command class
+########################################################################
+
[docs]class Command(_BaseCommand): + """\ + The job command executes the commands of the job defined + in the jobs configuration file\ + + examples: + >> sat job --jobs_config my_jobs --name my_job" + """ + + name = "job" + +
[docs] def getParser(self): + """Define all options for command 'sat job <options>'""" + parser = self.getParserWithHelp() + parser.add_option( + 'j', 'jobs_config', 'string', 'jobs_cfg', + _('Mandatory: The name of the config file that contains the jobs configuration') ) + parser.add_option( + '', 'name', 'string', 'job', + _('Mandatory: The job name from which to execute commands.'), "" ) + return parser
+ +
[docs] def run(self, cmd_arguments): + """method called for command 'sat job <options>'""" + argList = self.assumeAsList(cmd_arguments) + + # print general help and returns + if len(argList) == 0: + self.print_help() + return RCO.ReturnCode("OK", "No arguments, as 'sat %s --help'" % self.name) + + self._options, remaindersArgs = self.parseArguments(argList) + + if self._options.help: + self.print_help() + return RCO.ReturnCode("OK", "Done 'sat %s --help'" % self.name) + + # shortcuts + runner = self.getRunner() + config = self.getConfig() + logger = self.getLogger() + options = self.getOptions() + + l_cfg_dir = config.PATHS.JOBPATH + + # Make sure the jobs_config option has been called + if not options.jobs_cfg: + message = _("The option --jobs_config is required\n") + logger.error(message) + return 1 + + # Make sure the name option has been called + if not options.job: + message = _("The option --name is required\n") + logger.error(message) + return 1 + + # Find the file in the directories + found = True + fPyconf = options.jobs_cfg + if not file_jobs_cfg.endswith('.pyconf'): + fPyconf += '.pyconf' + + for cfg_dir in l_cfg_dir: + file_jobs_cfg = os.path.join(cfg_dir, fPyconf) + if os.path.exists(file_jobs_cfg): + found = True + break + + if not found: + msg = _("""\ +The job file configuration %s was not found. +Use the --list option to get the possible files.""") % UTS.blue(fPyconf) + logger.error(msg) + return 1 + + info = [ (_("Platform"), config.VARS.dist), + (_("File containing the jobs configuration"), file_jobs_cfg) ] + UTS.logger_info_tuples(logger, info) + + # Read the config that is in the file + config_jobs = src.read_config_from_a_file(file_jobs_cfg) + + # Find the job and its commands + found = False + for job in config_jobs.jobs: + if job.name == options.job: + commands = job.commands + found = True + break + if not found: + msg = _("Impossible to find the job %s in %s\n") % (options.job, file_jobs_cfg) + logger.error(msg) + return 1 + + # Find the maximum length of the commands in order to format the display + len_max_command = max([len(cmd) for cmd in commands]) + + # Loop over the commands and execute it + res = 0 + nb_pass = 0 + for command in commands: + specific_option = False + # Determine if it is a sat command or a shell command + cmd_exe = command.split(" ")[0] # first part + if cmd_exe == "sat": + # use the salomeTools parser to get the options of the command + sat_parser = salomeTools.parser + input_parser = src.remove_item_from_list(command.split(' ')[1:], "") + (options, argus) = sat_parser.parse_args(input_parser) + # Verify if there is a changed option + for attr in dir(options): + if attr.startswith("__"): + continue + if options.__getattr__(attr) != None: + specific_option = True + sat_command_name = argus[0] + end_cmd = " ".join(argus[1:]) + else: + sat_command_name = "shell" + end_cmd = ["--command", command] + # Do not change the options if no option was called in the command + if not(specific_option): + options = None + + # Get dynamically the command function to call + sat_command = runner.__getattr__(sat_command_name) + + logger.info("Executing " + UTS.label(command) + " " + + "." * (len_max_command - len(command)) + " ") + + error = "" + # Execute the command + code = sat_command(end_cmd, + options = options, + batch = True, + verbose = 0, + logger_add_link = logger) + + # Print the status of the command + if code == 0: + nb_pass += 1 + logger.info("<OK>\n") + else: + if sat_command_name != "test": + res = 1 + logger.info('<KO>: %s\n' % error) + + # Print the final state + if res == 0: + final_status = "OK" + else: + final_status = "KO" + + msg = "Commands: <%s> (%d/%d)" % (final_status, nb_pass, len(commands)) + logger.info(msg) + return RCO.ReturnCode(final_status, msg)
+
+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/doc/build/html/_modules/commands/jobs.html b/doc/build/html/_modules/commands/jobs.html new file mode 100644 index 0000000..9deb005 --- /dev/null +++ b/doc/build/html/_modules/commands/jobs.html @@ -0,0 +1,1921 @@ + + + + + + + + commands.jobs — salomeTools 5.0.0dev documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +

Source code for commands.jobs

+#!/usr/bin/env python
+#-*- coding:utf-8 -*-
+
+#  Copyright (C) 2010-2012  CEA/DEN
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+import os
+import sys
+import tempfile
+import traceback
+import datetime
+import time
+import csv
+import shutil
+import itertools
+import re
+
+# import paramiko later
+  
+import src.ElementTree as etree
+import src.debug as DBG
+import src.returnCode as RCO
+import src.utilsSat as UTS
+import src.pyconf as PYCONF
+import src.xmlManager as XMLMGR
+from src.salomeTools import _BaseCommand
+
+STYLESHEET_GLOBAL = "jobs_global_report.xsl"
+STYLESHEET_BOARD = "jobs_board_report.xsl"
+
+DAYS_SEPARATOR = ","
+CSV_DELIMITER = ";"
+
+_PARAMIKO = []
+
+
[docs]def getParamiko(logger=None): + if len(_PARAMIKO) == 0: + try: + import paramiko as PARAMIKO + _PARAMIKO.append(PARAMIKO) + return PARAMIKO + except Exception as e: + if logger is not None: + logger.critical("Problem import paramiko. No jobs if not 'pip install paramiko'") + return None + else: + return _PARAMIKO[0]
+ + +######################################################################## +# Command class +######################################################################## +
[docs]class Command(_BaseCommand): + """ + The jobs command command launches maintenances that are described in + the dedicated jobs configuration file. + + examples: + >> sat jobs --name my_jobs --publish + """ + + name = "jobs" + +
[docs] def getParser(self): + """Define all options for command 'sat jobs <options>'""" + parser = self.getParserWithHelp() + parser.add_option( + 'n', 'name', 'list2', 'jobs_cfg', + _('Mandatory: The name of the config file that contains the jobs configuration. Can be a list.') ) + parser.add_option( + 'o', 'only_jobs', 'list2', 'only_jobs', + _('Optional: the list of jobs to launch, by their name. ') ) + parser.add_option( + 'l', 'list', 'boolean', 'list', + _('Optional: list all available config files.') ) + parser.add_option( + 't', 'test_connection', 'boolean', 'test_connection', + _("Optional: try to connect to the machines. Not executing the jobs."), + False ) + parser.add_option( + 'p', 'publish', 'boolean', 'publish', + _("Optional: generate an xml file that can be read in a browser to display the jobs status."), + False ) + parser.add_option( + 'i', 'input_boards', 'string', 'input_boards', _("Optional: " + "the path to csv file that contain the expected boards."), + "" ) + parser.add_option( + '', 'completion', 'boolean', 'no_label', + _("Optional (internal use): do not print labels, Works only with --list."), + False ) + return parser
+ +
[docs] def run(self, cmd_arguments): + """method called for command 'sat jobs <options>'""" + argList = self.assumeAsList(cmd_arguments) + + # print general help and returns + if len(argList) == 0: + self.print_help() + return RCO.ReturnCode("OK", "No arguments, as 'sat %s --help'" % self.name) + + self._options, remaindersArgs = self.parseArguments(argList) + + if self._options.help: + self.print_help() + return RCO.ReturnCode("OK", "Done 'sat %s --help'" % self.name) + + # shortcuts + runner = self.getRunner() + config = self.getConfig() + logger = self.getLogger() + options = self.getOptions() + + l_cfg_dir = config.PATHS.JOBPATH + + # list option : display all the available config files + if options.list: + for cfg_dir in l_cfg_dir: + if not options.no_label: + logger.info("------ %s\n" % UTS.blue(cfg_dir)) + if not os.path.exists(cfg_dir): + continue + for f in sorted(os.listdir(cfg_dir)): + if not f.endswith('.pyconf'): + continue + cfilename = f[:-7] + logger.info("%s\n" % cfilename) + return RCO.ReturnCode("OK", "jobs command done") + + # Make sure the jobs_config option has been called + if not options.jobs_cfg: + msg = _("The option --jobs_config is required\n") + logger.error(message) + return RCO.ReturnCode("KO", msg) + + # Find the file in the directories, unless it is a full path + # merge all in a config + merger = PYCONF.ConfigMerger() + config_jobs = PYCONF.Config() + l_conf_files_path = [] + for config_file in options.jobs_cfg: + found, file_jobs_cfg = get_config_file_path(config_file, l_cfg_dir) + if not found: + msg = _("""\ +The file configuration %s was not found. +Use the --list option to get the possible files.\n""") % config_file + logger.error(msg) + return RCO.ReturnCode("KO", msg) + l_conf_files_path.append(file_jobs_cfg) + # Read the config that is in the file + one_config_jobs = src.read_config_from_a_file(file_jobs_cfg) + merger.merge(config_jobs, one_config_jobs) + + info = [(_("Platform"), config.VARS.dist), + (_("Files containing the jobs configuration"), l_conf_files_path)] + UTS.logger_info_tuples(logger, info) + + if options.only_jobs: + l_jb = PYCONF.Sequence() + for jb in config_jobs.jobs: + if jb.name in options.only_jobs: + l_jb.append(jb, + "Job that was given in only_jobs option parameters\n") + config_jobs.jobs = l_jb + + # Parse the config jobs in order to develop all the factorized jobs + develop_factorized_jobs(config_jobs) + + # Make a unique file that contain all the jobs in order to use it + # on every machine + name_pyconf = "_".join([os.path.basename(path)[:-len('.pyconf')] + for path in l_conf_files_path]) + ".pyconf" + path_pyconf = src.get_tmp_filename(config, name_pyconf) + #Save config + f = file( path_pyconf , 'w') + config_jobs.__save__(f) + + # log the paramiko problems + log_dir = UTS.get_log_path(config) + paramiko_log_dir_path = os.path.join(log_dir, "JOBS") + UTS.ensure_path_exists(paramiko_log_dir_path) + paramiko = getParamiko(logger) + paramiko.util.log_to_file(os.path.join(paramiko_log_dir_path, + logger.txtFileName)) + + # Initialization + today_jobs = Jobs(runner, logger, path_pyconf, config_jobs) + + # SSH connection to all machines + today_jobs.ssh_connection_all_machines() + if options.test_connection: + return RCO.ReturnCode("OK", "jobs ssh_connection done") + + gui = None + if options.publish: + logger.debug(_("Initialize the xml boards : ")) + + # Copy the stylesheets in the log directory + log_dir = log_dir + xsl_dir = os.path.join(config.VARS.srcDir, 'xsl') + files_to_copy = [] + files_to_copy.append(os.path.join(xsl_dir, STYLESHEET_GLOBAL)) + files_to_copy.append(os.path.join(xsl_dir, STYLESHEET_BOARD)) + files_to_copy.append(os.path.join(xsl_dir, "command.xsl")) + files_to_copy.append(os.path.join(xsl_dir, "running.gif")) + for file_path in files_to_copy: + # OP We use copy instead of copy2 to update the creation date + # So we can clean the LOGS directories easily + shutil.copy(file_path, log_dir) + + # Instanciate the Gui in order to produce the xml files that contain all + # the boards + gui = Gui(log_dir, + today_jobs.ljobs, + today_jobs.ljobs_not_today, + config.VARS.datehour, + logger, + file_boards = options.input_boards) + + logger.debug("<OK>\n\n") + + # Display the list of the xml files + logger.info(("List of published files:\n%s\n") % gui.xml_global_file.logFile) + msg = "" + for board in gui.d_xml_board_files.keys(): + file_path = gui.d_xml_board_files[board].logFile + file_name = os.path.basename(file_path) + msg += "%s\n" % file_path + logger.add_link(file_name, "board", 0, board) + + logger.info(msg) + + today_jobs.gui = gui + + interruped = False + try: + # Run all the jobs contained in config_jobs + today_jobs.run_jobs() + except KeyboardInterrupt: + interruped = True + logger.critical(UTS.red(_("KeyboardInterrupt forced interruption"))) + except Exception as e: + # verbose debug message with traceback + msg = _("Exception raised, the jobs loop has been interrupted:\n\n%s") + logger.critical(msg % UTS.yellow(traceback.format_exc())) + finally: + # make clear kill subprocess + res = RCO.ReturnCode("OK", "jobs command finally done") + if interruped: + msg = _("Killing the running jobs and trying to get the corresponding logs\n") + logger.warning(UTS.red(msg)) + res = RCO.ReturnCode("KO", msg) + + # find the potential not finished jobs and kill them + for jb in today_jobs.ljobs: + if not jb.has_finished(): + res += RCO.ReturnCode("KO", "job %s has not finished" % jb.name) + try: + jb.kill_remote_process() + except Exception as e: + msg = _("Failed to kill job %s: %s\n") % (jb.name, e) + logger.warning(UTS.red(msg)) + res += RCO.ReturnCode("KO", msg) + if jb.res_job != "0": + res += RCO.ReturnCode("KO", "job %s fail" % jb.name) + if interruped: + if today_jobs.gui: + today_jobs.gui.last_update(_("Forced interruption")) + else: + if today_jobs.gui: + today_jobs.gui.last_update() + # Output the results + today_jobs.write_all_results() + # Remove the temporary pyconf file + if os.path.exists(path_pyconf): + os.remove(path_pyconf) + return res
+ + +
[docs]class Machine(object): + """ + Manage a ssh connection on a machine + """ + def __init__(self, + name, + host, + user, + port=22, + passwd=None, + sat_path="salomeTools"): + self.name = name + self.host = host + self.port = port + self.distribution = None # Will be filled after copying SAT on the machine + self.user = user + self.password = passwd + self.sat_path = sat_path + self.paramiko = getParamiko() + self.ssh = self.paramiko.SSHClient() + self._connection_successful = None + +
[docs] def connect(self, logger): + """Initiate the ssh connection to the remote machine + + :param logger: The logger instance + :return: None + """ + + self._connection_successful = False + self.ssh.load_system_host_keys() + self.ssh.set_missing_host_key_policy(self.paramiko.AutoAddPolicy()) + try: + self.ssh.connect(self.host, + port=self.port, + username=self.user, + password = self.password) + except self.paramiko.AuthenticationException: + message = src.KO_STATUS + _("Authentication failed") + except self.paramiko.BadHostKeyException: + message = (src.KO_STATUS + + _("The server's host key could not be verified")) + except self.paramiko.SSHException: + message = ( _("SSHException error connecting or " + "establishing an SSH session")) + except: + message = ( _("Error connecting or establishing an SSH session")) + else: + self._connection_successful = True + message = "" + return message
+ +
[docs] def successfully_connected(self, logger): + """ + Verify if the connection to the remote machine has succeed + + :param logger: The logger instance + :return: (bool) True if the connection has succeed, False if not + """ + if self._connection_successful == None: + message = _("""\ +Ask if the connection +(name: %(1)s host: %(2)s, port: %(3)s, user: %(4)s) is OK +whereas there were no connection request""" % \ + {"1": self.name, "2": self.host, "3": self.port, "4": self.user} ) + logger.critical(UTS.red(message)) + return self._connection_successful
+ +
[docs] def copy_sat(self, sat_local_path, job_file): + """Copy salomeTools to the remote machine in self.sat_path""" + res = 0 + try: + # open a sftp connection + self.sftp = self.ssh.open_sftp() + # Create the sat directory on remote machine if it is not existing + self.mkdir(self.sat_path, ignore_existing=True) + # Put sat + self.put_dir(sat_local_path, self.sat_path, filters = ['.git']) + # put the job configuration file in order to make it reachable + # on the remote machine + remote_job_file_name = ".%s" % os.path.basename(job_file) + self.sftp.put(job_file, os.path.join(self.sat_path, remote_job_file_name)) + except Exception as e: + res = str(e) + self._connection_successful = False + + return res
+ +
[docs] def put_dir(self, source, target, filters = []): + """ + Uploads the contents of the source directory to the target path. + The target directory needs to exists. + All sub-directories in source are created under target. + """ + for item in os.listdir(source): + if item in filters: + continue + source_path = os.path.join(source, item) + destination_path = os.path.join(target, item) + if os.path.islink(source_path): + linkto = os.readlink(source_path) + try: + self.sftp.symlink(linkto, destination_path) + self.sftp.chmod(destination_path, + os.stat(source_path).st_mode) + except IOError: + pass + else: + if os.path.isfile(source_path): + self.sftp.put(source_path, destination_path) + self.sftp.chmod(destination_path, + os.stat(source_path).st_mode) + else: + self.mkdir(destination_path, ignore_existing=True) + self.put_dir(source_path, destination_path)
+ +
[docs] def mkdir(self, path, mode=511, ignore_existing=False): + """ + As mkdir by adding an option to not fail if the folder exists + """ + try: + self.sftp.mkdir(path, mode) + except IOError: + if ignore_existing: + pass + else: + raise
+ +
[docs] def exec_command(self, command, logger): + """Execute the command on the remote machine + + :param command: (str) The command to be run + :param logger: The logger instance + :return: (paramiko.channel.ChannelFile, etc) + the stdin, stdout, and stderr of the executing command, + as a 3-tuple + """ + import traceback + try: + # Does not wait the end of the command + (stdin, stdout, stderr) = self.ssh.exec_command(command) + except self.paramiko.SSHException: + msg = _("<KO>: the paramiko server failed to execute the command\n") + msg += "command: '%s'\n" % command + msg += "\n%s\n" % UTS.yellow(traceback.format_exc()) + logger.critical(msg) + return (None, None, None) + except Exception as e: + msg = _("<KO>: an exception raised on ssh.exec_command:\n") + msg += "command: '%s'\n" % command + msg += "\n%s\n" % UTS.yellow(traceback.format_exc()) + logger.critical(msg) + return (None, None, None) + return (stdin, stdout, stderr)
+ +
[docs] def close(self): + """Close the ssh connection""" + self.ssh.close()
+ +
[docs] def write_info(self, logger): + """ + Prints the informations relative to the machine in the logger + (terminal traces and log file) + + :param logger: The logger instance + :return: None + """ + if self.successfully_connected(logger): + msg = "<OK>" + else: + msg = "<KO>" + msg += "host: %s, " % self.host + msg += "port: %s, " % str(self.port) + msg += "user: %s" % str(self.user) + logger.info("Connection %s" % msg )
+ + +
[docs]class Job(object): + """ + Class to manage one job + """ + def __init__(self, + name, + machine, + application, + board, + commands, + timeout, + config, + job_file_path, + logger, + after=None, + prefix=None): + + self.name = name + self.machine = machine + self.after = after + self.timeout = timeout + self.application = application + self.board = board + self.config = config + self.logger = logger + # The list of log files to download from the remote machine + self.remote_log_files = [] + + # The remote command status + # -1 means that it has not been launched, + # 0 means success and 1 means fail + self.res_job = "-1" + self.cancelled = False + + self._T0 = -1 + self._Tf = -1 + self._has_begun = False + self._has_finished = False + self._has_timouted = False + self._stdin = None # Store the command inputs field + self._stdout = None # Store the command outputs field + self._stderr = None # Store the command errors field + + self.out = "" + self.err = "" + + self.name_remote_jobs_pyconf = ".%s" % os.path.basename(job_file_path) + self.commands = commands + self.command = (os.path.join(self.machine.sat_path, "sat") + + " -l " + + os.path.join(self.machine.sat_path, + "list_log_files.txt") + + " job --jobs_config " + + os.path.join(self.machine.sat_path, + self.name_remote_jobs_pyconf) + + " --name " + self.name) + if prefix: + self.command = prefix + ' "' + self.command +'"' + +
[docs] def get_pids(self): + """ + Get the pid(s) corresponding to the command that have been launched + On the remote machine + + :return: (list) The list of integers corresponding to the found pids + """ + pids = [] + cmd_pid = 'ps aux | grep "' + self.command + '" | awk \'{print $2}\'' + (_, out_pid, _) = self.machine.exec_command(cmd_pid, self.logger) + pids_cmd = out_pid.readlines() + pids_cmd = [str(src.only_numbers(pid)) for pid in pids_cmd] + pids+=pids_cmd + return pids
+ +
[docs] def kill_remote_process(self, wait=1): + """Kills the process on the remote machine. + + :return: (str, str) the output of the kill, the error of the kill + """ + try: + pids = self.get_pids() + except: + return ("Unable to get the pid of the command.", "") + + cmd_kill = " ; ".join([("kill -2 " + pid) for pid in pids]) + (_, out_kill, err_kill) = self.machine.exec_command(cmd_kill, + self.logger) + time.sleep(wait) + return (out_kill.read().decode(), err_kill.read().decode())
+ +
[docs] def has_begun(self): + """Returns True if the job has already begun + + :return: (bool) True if the job has already begun + """ + return self._has_begun
+ +
[docs] def has_finished(self): + """ + Returns True if the job has already finished + (i.e. all the commands have been executed) + If it is finished, the outputs are stored in the fields out and err. + + :return: (bool) True if the job has already finished + """ + + # If the method has already been called and returned True + if self._has_finished: + return True + + # If the job has not begun yet + if not self.has_begun(): + return False + + if self._stdout.channel.closed: + self._has_finished = True + # Store the result outputs + self.out += self._stdout.read().decode() + self.err += self._stderr.read().decode() + # Put end time + self._Tf = time.time() + # And get the remote command status and log files + try: + self.get_log_files() + except Exception as e: + self.err += _("Unable to get remote log files: %s") % e + + return self._has_finished
+ +
[docs] def get_log_files(self): + """ + Get the log files produced by the command launched + on the remote machine, and put it in the log directory of the user, + so they can be accessible from + """ + # Do not get the files if the command is not finished + if not self.has_finished(): + msg = _("Trying to get log files whereas the job is not finished.") + self.logger.warning(UTS.red(msg)) + return + + # First get the file that contains the list of log files to get + tmp_file_path = src.get_tmp_filename(self.config, "list_log_files.txt") + remote_path = os.path.join(self.machine.sat_path, "list_log_files.txt") + self.machine.sftp.get(remote_path, tmp_file_path) + + # Read the file and get the result of the command and all the log files + # to get + fstream_tmp = open(tmp_file_path, "r") + file_lines = fstream_tmp.readlines() + file_lines = [line.replace("\n", "") for line in file_lines] + fstream_tmp.close() + os.remove(tmp_file_path) + + try : + # The first line is the result of the command (0 success or 1 fail) + self.res_job = file_lines[0] + except Exception as e: + self.err += _("Unable to get status from remote file '%(1)s': %(2)s") % \ + {"1": remote_path, "2": str(e)} + + for i, job_path_remote in enumerate(file_lines[1:]): + try: + # For each command, there is two files to get : + # 1- The xml file describing the command and giving the + # internal traces. + # 2- The txt file containing the system command traces (like + # traces produced by the "make" command) + # 3- In case of the test command, there is another file to get : + # the xml board that contain the test results + dirname = os.path.basename(os.path.dirname(job_path_remote)) + if dirname != 'OUT' and dirname != 'TEST': + # Case 1- + local_path = os.path.join(os.path.dirname( + self.logger.logFilePath), + os.path.basename(job_path_remote)) + if i==0: # The first is the job command + self.logger.add_link(os.path.basename(job_path_remote), + "job", + self.res_job, + self.command) + elif dirname == 'OUT': + # Case 2- + local_path = os.path.join(os.path.dirname( + self.logger.logFilePath), + 'OUT', + os.path.basename(job_path_remote)) + elif dirname == 'TEST': + # Case 3- + local_path = os.path.join(os.path.dirname( + self.logger.logFilePath), + 'TEST', + os.path.basename(job_path_remote)) + + # Get the file + if not os.path.exists(local_path): + self.machine.sftp.get(job_path_remote, local_path) + self.remote_log_files.append(local_path) + except Exception as e: + self.err += _("Unable to get %(1)s log file from remote: %(2)s") % \ + {"1": str(job_path_remote), "2": str(e)}
+ +
[docs] def has_failed(self): + """ + Returns True if the job has failed. + A job is considered as failed if the machine could not be reached, + if the remote command failed, + or if the job finished with a time out. + + :return: (bool) True if the job has failed + """ + if not self.has_finished(): + return False + if not self.machine.successfully_connected(self.logger): + return True + if self.is_timeout(): + return True + if self.res_job == "1": + return True + return False
+ +
[docs] def cancel(self): + """ + In case of a failing job, one has to cancel every job that depend on it. + This method put the job as failed and will not be executed. + """ + if self.cancelled: + return + self._has_begun = True + self._has_finished = True + self.cancelled = True + msg = _("This job was not launched because its father has failed.") + self.out += msg + self.err += msg
+ +
[docs] def is_running(self): + """Returns True if the job commands are running + + :return: (bool) True if the job is running + """ + return self.has_begun() and not self.has_finished()
+ +
[docs] def is_timeout(self): + """Returns True if the job commands has finished with timeout + + :return: (bool) True if the job has finished with timeout + """ + return self._has_timouted
+ +
[docs] def time_elapsed(self): + """Get the time elapsed since the job launching + + :return: The number of seconds + :rtype: int + """ + if not self.has_begun(): + return -1 + T_now = time.time() + return T_now - self._T0
+ +
[docs] def check_time(self): + """ + Verify that the job has not exceeded its timeout. + If it has, kill the remote command and consider the job as finished. + """ + if not self.has_begun(): + return + if self.time_elapsed() > self.timeout: + self._has_finished = True + self._has_timouted = True + self._Tf = time.time() + (out_kill, __) = self.kill_remote_process() + self.out += "TIMEOUT \n" + out_kill + self.err += "TIMEOUT : %s seconds elapsed\n" % str(self.timeout) + try: + self.get_log_files() + except Exception as e: + self.err += _("Unable to get remote log files!\n%s\n" % str(e))
+ +
[docs] def total_duration(self): + """ + Gives the total duration of the job + + :return: (int) the total duration of the job in seconds + """ + return self._Tf - self._T0
+ +
[docs] def run(self): + """ + Launch the job by executing the remote command. + """ + + # Prevent multiple run + if self.has_begun(): + msg = _("A job can only be launched one time") + msg2 = _("Trying to launch the job '%s' whereas it has already been launched.") % self.name + self.logger.warning( UTS.red("%s\n%s\n" % (msg,msg2)) ) + return RCO.ReturnCode("KO", msg2) + + # Do not execute the command if the machine could not be reached + if not self.machine.successfully_connected(self.logger): + self._has_finished = True + self.out = "N\A" + self.err += ("Connection to machine (name : %s, host: %s, port:" + " %s, user: %s) has failed\nUse the log command " + "to get more information." + % (self.machine.name, + self.machine.host, + self.machine.port, + self.machine.user)) + else: + # Usual case : Launch the command on remote machine + self._T0 = time.time() + self._stdin, self._stdout, self._stderr = self.machine.exec_command( + self.command, + self.logger) + # If the results are not initialized, finish the job + if (self._stdin, self._stdout, self._stderr) == (None, None, None): + self._has_finished = True + self._Tf = time.time() + self.out += "N\A" + self.err += "The server failed to execute the command" + + # Put the beginning flag to true. + self._has_begun = True
+ +
[docs] def write_results(self): + """ + Display on the terminal all the job's information + """ + msg = "name : %s\n" % self.name + if self.after: + msg += "after : %s\n" % self.after + msg += "Time elapsed : %4imin %2is \n" % (self.total_duration()//60 , self.total_duration()%60) + if self._T0 != -1: + msg += "Begin time : %s\n" % \ + time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(self._T0)) + if self._Tf != -1: + msg += "End time : %s\n\n" % \ + time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(self._Tf)) + + self.logger.info(msg) + + machine_head = "Informations about connection :\n" + underline = (len(machine_head) - 2) * "-" + self.logger.info(machine_head+underline) + self.machine.write_info(self.logger) + + msg = "out : \n" + if self.out == "": + msg += "Unable to get output\n" + else: + msg += self.out + "\n" + msg += "err :\n%s\n" % self.err + self.logger.info(msg)
+ +
[docs] def get_status(self): + """Get the status of the job (used by the Gui for xml display) + + :return: (str) The current status of the job + """ + if not self.machine.successfully_connected(self.logger): + return "SSH connection KO" + if not self.has_begun(): + return "Not launched" + if self.cancelled: + return "Cancelled" + if self.is_running(): + return "running since " + time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(self._T0)) + if self.has_finished(): + if self.is_timeout(): + return "Timeout since " + time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(self._Tf)) + return "Finished since " + time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(self._Tf))
+ +
[docs]class Jobs(object): + """ + Class to manage the jobs to be run + """ + def __init__(self, + runner, + logger, + job_file_path, + config_jobs, + lenght_columns = 20): + # The jobs configuration + self.cfg_jobs = config_jobs + self.job_file_path = job_file_path + # The machine that will be used today + self.lmachines = [] + # The list of machine (hosts, port) that will be used today + # (a same host can have several machine instances since there + # can be several ssh parameters) + self.lhosts = [] + # The jobs to be launched today + self.ljobs = [] + # The jobs that will not be launched today + self.ljobs_not_today = [] + self.runner = runner + self.logger = logger + self.len_columns = lenght_columns + + # the list of jobs that have not been run yet + self._l_jobs_not_started = [] + # the list of jobs that have already ran + self._l_jobs_finished = [] + # the list of jobs that are running + self._l_jobs_running = [] + + self.determine_jobs_and_machines() + +
[docs] def define_job(self, job_def, machine): + """ + Takes a pyconf job definition and a machine (from class machine) + and returns the job instance corresponding to the definition. + + :param job_def: (Mapping a job definition + :param machine: (Machine) the machine on which the job will run + :return: (Job) The corresponding job in a job class instance + """ + name = job_def.name + cmmnds = job_def.commands + if not "timeout" in job_def: + timeout = 4*60*60 # default timeout = 4h + else: + timeout = job_def.timeout + after = None + if 'after' in job_def: + after = job_def.after + application = None + if 'application' in job_def: + application = job_def.application + board = None + if 'board' in job_def: + board = job_def.board + prefix = None + if "prefix" in job_def: + prefix = job_def.prefix + + return Job(name, + machine, + application, + board, + cmmnds, + timeout, + self.runner.cfg, + self.job_file_path, + self.logger, + after = after, + prefix = prefix)
+ +
[docs] def determine_jobs_and_machines(self): + """ + Reads the pyconf jobs definition and instantiates all + the machines and jobs to be done today. + + :return: None + """ + today = datetime.date.weekday(datetime.date.today()) + host_list = [] + + for job_def in self.cfg_jobs.jobs : + + if not "machine" in job_def: + msg = _("""\ +The job '%s' do not have the key 'machine'. +This job is ignored. +""") % job_def.name + self.logger.warning(msg) + continue + name_machine = job_def.machine + + a_machine = None + for mach in self.lmachines: + if mach.name == name_machine: + a_machine = mach + break + + if a_machine == None: + for machine_def in self.cfg_jobs.machines: + if machine_def.name == name_machine: + if 'host' not in machine_def: + host = self.runner.cfg.VARS.hostname + else: + host = machine_def.host + + if 'user' not in machine_def: + user = self.runner.cfg.VARS.user + else: + user = machine_def.user + + if 'port' not in machine_def: + port = 22 + else: + port = machine_def.port + + if 'password' not in machine_def: + passwd = None + else: + passwd = machine_def.password + + if 'sat_path' not in machine_def: + sat_path = "salomeTools" + else: + sat_path = machine_def.sat_path + + a_machine = Machine( + machine_def.name, + host, + user, + port=port, + passwd=passwd, + sat_path=sat_path + ) + + self.lmachines.append(a_machine) + if (host, port) not in host_list: + host_list.append((host, port)) + + if a_machine == None: + msg = _("""\ +The job '%(job)s' requires the machine '%(machine)s'. +This machine is not defined in the configuration file. +The job will not be launched. +""") % {"job" : job_def.name, "machine" : name_machine} + self.logger.warning(msg) + continue + + a_job = self.define_job(job_def, a_machine) + + if today in job_def.when: + self.ljobs.append(a_job) + else: # today in job_def.when + self.ljobs_not_today.append(a_job) + + self.lhosts = host_list
+ +
[docs] def ssh_connection_all_machines(self, pad=50): + """Do the ssh connection to every machine to be used today. + + :return: None + """ + self.logger.info( "Establishing connection with all the machines :\n") + for machine in self.lmachines: + # little algorithm in order to display traces + begin_line = (_("Connection to %s: ") % machine.name) + if pad - len(begin_line) < 0: + endline = " " + else: + endline = (pad - len(begin_line)) * "." + " " + + step = "SSH connection" + self.logger.info( begin_line + endline + step) + # the call to the method that initiate the ssh connection + msg = machine.connect(self.logger) + + # Copy salomeTools to the remote machine + if machine.successfully_connected(self.logger): + step = _("Remove SAT") + self.logger.info('\r%s%s%s' % (begin_line, endline, 20 * " ")) + self.logger.info('\r%s%s%s' % (begin_line, endline, step)) + (__, out_dist, __) = machine.exec_command( + "rm -rf %s" % machine.sat_path, self.logger) + out_dist.read() + + step = _("Copy SAT") + self.logger.info('\r%s%s%s' % (begin_line, endline, 20 * " ")) + self.logger.info('\r%s%s%s' % (begin_line, endline, step)) + + res_copy = machine.copy_sat(self.runner.cfg.VARS.salometoolsway, + self.job_file_path) + + # set the local settings of sat on the remote machine using + # the init command + (__, out_dist, __) = machine.exec_command( + os.path.join(machine.sat_path, + "sat init --base default --workdir" + " default --log_dir default"), + self.logger) + out_dist.read() + + # get the remote machine distribution using a sat command + (__, out_dist, __) = machine.exec_command( + os.path.join(machine.sat_path, + "sat config --value VARS.dist --no_label"), + self.logger) + machine.distribution = out_dist.read().decode().replace("\n", + "") + + # Print the status of the copy + if res_copy == 0: + self.logger.info('\r%s' % \ + ((len(begin_line)+len(endline)+20) * " ")) + self.logger.info('\r%s%s%s' % (begin_line, endline, "<OK>")) + else: + self.logger.info('\r%s' % \ + ((len(begin_line)+len(endline)+20) * " "), 3) + self.logger.info('\r%s%s%s %s' % \ + (begin_line, endline, "<KO>", + _("Copy of SAT failed: %s") % res_copy)) + else: + self.logger.info('\r%s' % + ((len(begin_line)+len(endline)+20) * " ")) + self.logger.info('\r%s%s%s %s' % (begin_line, endline, "<KO>", msg)) + self.logger.info("\n") + + self.logger.info("\n")
+ + +
[docs] def is_occupied(self, hostname): + """ + Returns True if a job is running on + the machine defined by its host and its port. + + :param hostname: (str, int) the pair (host, port) + :return: (Job or bool) + the job that is running on the host, + or false if there is no job running on the host. + """ + host = hostname[0] + port = hostname[1] + for jb in self.ljobs: + if jb.machine.host == host and jb.machine.port == port: + if jb.is_running(): + return jb + return False
+ +
[docs] def update_jobs_states_list(self): + """ + Updates the lists that store the currently + running jobs and the jobs that have already finished. + + :return: None + """ + jobs_finished_list = [] + jobs_running_list = [] + for jb in self.ljobs: + if jb.is_running(): + jobs_running_list.append(jb) + jb.check_time() + if jb.has_finished(): + jobs_finished_list.append(jb) + + nb_job_finished_before = len(self._l_jobs_finished) + self._l_jobs_finished = jobs_finished_list + self._l_jobs_running = jobs_running_list + + nb_job_finished_now = len(self._l_jobs_finished) + + return nb_job_finished_now > nb_job_finished_before
+ +
[docs] def cancel_dependencies_of_failing_jobs(self): + """Cancels all the jobs that depend on a failing one. + + :return: None + """ + + for job in self.ljobs: + if job.after is None: + continue + father_job = self.find_job_that_has_name(job.after) + if father_job is not None and father_job.has_failed(): + job.cancel()
+ +
[docs] def find_job_that_has_name(self, name): + """Returns the job by its name. + + :param name: (str) a job name + :return: (Job) the job that has the name. + """ + for jb in self.ljobs: + if jb.name == name: + return jb + # the following is executed only if the job was not found + return None
+ +
[docs] def str_of_length(self, text, length): + """ + Takes a string text of any length and returns + the most close string of length "length". + + :param text: (str) any string + :param length: (int) a length for the returned string + :return: (str) the most close string of length "length" + """ + if len(text) > length: + text_out = text[:length-3] + '...' + else: + diff = length - len(text) + before = " " * (diff//2) + after = " " * (diff//2 + diff%2) + text_out = before + text + after + + return text_out
+ +
[docs] def display_status(self, len_col): + """ + Takes a lenght and construct the display of the current status + of the jobs in an array that has a column for each host. + It displays the job that is currently running on the host of the column. + + :param len_col: (int) the size of the column + :return: None + """ + display_line = "" + for host_port in self.lhosts: + jb = self.is_occupied(host_port) + if not jb: # nothing running on the host + empty = self.str_of_length("empty", len_col) + display_line += "|" + empty + else: + display_line += "|" + UTS.info( + self.str_of_length(jb.name, len_col)) + + self.logger.info("\r" + display_line + "|")
+ + +
[docs] def run_jobs(self): + """ + The main method. Runs all the jobs on every host. + For each host, at a given time, only one job can be running. + The jobs that have the field after (that contain the job that has + to be run before it) are run after the previous job. + This method stops when all the jobs are finished. + + :return: None + """ + # Print header + self.logger.info(_('Executing the jobs :\n')) + text_line = "" + for host_port in self.lhosts: + host = host_port[0] + port = host_port[1] + if port == 22: # default value + text_line += "|" + self.str_of_length(host, self.len_columns) + else: + text_line += "|" + self.str_of_length( + "("+host+", "+str(port)+")", self.len_columns) + + tiret_line = " " + "-"*(len(text_line)-1) + "\n" + self.logger.info(tiret_line + text_line + "|\n" + tiret_line) + + # The infinite loop that runs the jobs + l_jobs_not_started = src.deepcopy_list(self.ljobs) + while len(self._l_jobs_finished) != len(self.ljobs): + new_job_start = False + for host_port in self.lhosts: + + if self.is_occupied(host_port): + continue + + for jb in l_jobs_not_started: + if (jb.machine.host, jb.machine.port) != host_port: + continue + if jb.after == None: + jb.run() + l_jobs_not_started.remove(jb) + new_job_start = True + break + else: + jb_before = self.find_job_that_has_name(jb.after) + if jb_before is None: + jb.cancel() + msg = _("This job was not launched because its " + "father is not in the jobs list.") + jb.out = msg + jb.err = msg + break + if jb_before.has_finished(): + jb.run() + l_jobs_not_started.remove(jb) + new_job_start = True + break + self.cancel_dependencies_of_failing_jobs() + new_job_finished = self.update_jobs_states_list() + + if new_job_start or new_job_finished: + if self.gui: + self.gui.update_xml_files(self.ljobs) + # Display the current status + self.display_status(self.len_columns) + + # Make sure that the proc is not entirely busy + time.sleep(0.001) + + self.logger.info("\n" + tiret_line + "\n\n") + + if self.gui: + self.gui.update_xml_files(self.ljobs) + self.gui.last_update()
+ +
[docs] def write_all_results(self): + """Display all the jobs outputs. + + :return: None + """ + for jb in self.ljobs: + self.logger.info("#------- Results for job %s -------#\n" % jb.name) + jb.write_results() + self.logger.info("\n\n")
+ +
[docs]class Gui(object): + """ + Class to manage the the xml data that can be displayed in a browser + to see the jobs states + """ + def __init__(self, + xml_dir_path, + l_jobs, + l_jobs_not_today, + prefix, + logger, + file_boards=""): + """Initialization + + :param xml_dir_path: (str) + The path to the directory where to put the xml resulting files + :param l_jobs: (list) the list of jobs that run today + :param l_jobs_not_today: (list) + the list of jobs that do not run today + :param file_boards: (str) + the file path from which to read the expected boards + """ + # The logging instance + self.logger = logger + + # The prefix to add to the xml files : date_hour + self.prefix = prefix + + # The path of the csv files to read to fill the expected boards + self.file_boards = file_boards + + if file_boards != "": + today = datetime.date.weekday(datetime.date.today()) + self.parse_csv_boards(today) + else: + self.d_input_boards = {} + + # The path of the global xml file + self.xml_dir_path = xml_dir_path + # Initialize the xml files + self.global_name = "global_report" + xml_global_path = os.path.join(self.xml_dir_path, + self.global_name + ".xml") + self.xml_global_file = XMLMGR.XmlLogFile(xml_global_path, "JobsReport") + + # Find history for each job + self.history = {} + self.find_history(l_jobs, l_jobs_not_today) + + # The xml files that corresponds to the boards. + # {name_board : xml_object}} + self.d_xml_board_files = {} + + # Create the lines and columns + self.initialize_boards(l_jobs, l_jobs_not_today) + + # Write the xml file + self.update_xml_files(l_jobs) + +
[docs] def add_xml_board(self, name): + """ + Add a board to the board list + + :param name: (str) the board name + """ + xml_board_path = os.path.join(self.xml_dir_path, name + ".xml") + self.d_xml_board_files[name] = XMLMGR.XmlLogFile(xml_board_path,"JobsReport") + self.d_xml_board_files[name].add_simple_node("distributions") + self.d_xml_board_files[name].add_simple_node("applications") + self.d_xml_board_files[name].add_simple_node("board", text=name)
+ +
[docs] def initialize_boards(self, l_jobs, l_jobs_not_today): + """ + Get all the first information needed for each file and write the + first version of the files + + :param l_jobs: (list) the list of jobs that run today + :param l_jobs_not_today: (list) the list of jobs that do not run today + """ + # Get the boards to fill and put it in a dictionary + # {board_name : xml instance corresponding to the board} + for job in l_jobs + l_jobs_not_today: + board = job.board + if (board is not None and + board not in self.d_xml_board_files.keys()): + self.add_xml_board(board) + + # Verify that the boards given as input are done + for board in list(self.d_input_boards.keys()): + if board not in self.d_xml_board_files: + self.add_xml_board(board) + root_node = self.d_xml_board_files[board].xmlroot + XMLMGR.append_node_attrib(root_node, {"input_file" : self.file_boards}) + + # Loop over all jobs in order to get the lines and columns for each + # xml file + d_dist = {} + d_application = {} + for board in self.d_xml_board_files: + d_dist[board] = [] + d_application[board] = [] + + l_hosts_ports = [] + + ASNODE = XMLMGR.add_simple_node # shortcut + + for job in l_jobs + l_jobs_not_today: + + if (job.machine.host, job.machine.port) not in l_hosts_ports: + l_hosts_ports.append((job.machine.host, job.machine.port)) + + distrib = job.machine.distribution + application = job.application + + board_job = job.board + if board is None: + continue + for board in self.d_xml_board_files: + if board_job == board: + if (distrib not in [None, ''] and + distrib not in d_dist[board]): + d_dist[board].append(distrib) + ASNODE( self.d_xml_board_files[board].xmlroot.find('distributions'), + "dist", attrib={"name" : distrib} ) + + if board_job == board: + if (application not in [None, ''] and + application not in d_application[board]): + d_application[board].append(application) + ASNODE( self.d_xml_board_files[board].xmlroot.find('applications'), + "application", attrib={"name" : application} ) + + # Verify that there are no missing application or distribution in the + # xml board files (regarding the input boards) + for board in self.d_xml_board_files: + l_dist = d_dist[board] + if board not in self.d_input_boards.keys(): + continue + for dist in self.d_input_boards[board]["rows"]: + if dist not in l_dist: + ASNODE( self.d_xml_board_files[board].xmlroot.find('distributions'), + "dist", attrib={"name" : dist} ) + l_appli = d_application[board] + for appli in self.d_input_boards[board]["columns"]: + if appli not in l_appli: + ASNODE( self.d_xml_board_files[board].xmlroot.find('applications'), + "application", attrib={"name" : appli} ) + + # Initialize the hosts_ports node for the global file + self.xmlhosts_ports = self.xml_global_file.add_simple_node( "hosts_ports") + for host, port in l_hosts_ports: + host_port = "%s:%i" % (host, port) + ASNODE(self.xmlhosts_ports, "host_port", attrib={"name" : host_port}) + + # Initialize the jobs node in all files + for xml_file in [self.xml_global_file] + list(self.d_xml_board_files.values()): + xml_jobs = xml_file.add_simple_node("jobs") + # Get the jobs present in the config file but + # that will not be launched today + self.put_jobs_not_today(l_jobs_not_today, xml_jobs) + + # add also the infos node + xml_file.add_simple_node( + "infos", attrib={"name" : "last update", "JobsCommandStatus" : "running"} ) + + # and put the history node + history_node = xml_file.add_simple_node("history") + name_board = os.path.basename(xml_file.logFile)[:-len(".xml")] + # serach for board files + expression = "^[0-9]{8}_+[0-9]{6}_" + name_board + ".xml$" + oExpr = re.compile(expression) + # Get the list of xml borad files that are in the log directory + for file_name in os.listdir(self.xml_dir_path): + if oExpr.search(file_name): + date = os.path.basename(file_name).split("_")[0] + file_path = os.path.join(self.xml_dir_path, file_name) + ASNODE(history_node, "link", text=file_path, attrib={"date" : date}) + + + # Find in each board the squares that needs to be filled regarding the + # input csv files but that are not covered by a today job + for board in self.d_input_boards.keys(): + xml_root_board = self.d_xml_board_files[board].xmlroot + # Find the missing jobs for today + xml_missing = ASNODE(xml_root_board, "missing_jobs") + for row, column in self.d_input_boards[board]["jobs"]: + found = False + for job in l_jobs: + if (job.application == column and + job.machine.distribution == row): + found = True + break + if not found: + ASNODE(xml_missing, "job", attrib={"distribution" : row, "application" : column }) + # Find the missing jobs not today + xml_missing_not_today = ASNODE( xml_root_board, "missing_jobs_not_today") + for row, column in self.d_input_boards[board]["jobs_not_today"]: + found = False + for job in l_jobs_not_today: + if (job.application == column and + job.machine.distribution == row): + found = True + break + if not found: + ASNODE( xml_missing_not_today, "job", + attrib={"distribution" : row, "application" : column } )
+ +
[docs] def find_history(self, l_jobs, l_jobs_not_today): + """ + find, for each job, in the existent xml boards the results for the job. + Store the results in the dictionary + self.history = {name_job : list of (date, status, list links)} + + :param l_jobs: (list) + the list of jobs to run today + :param l_jobs_not_today: (list) + the list of jobs that do not run today + """ + # load the all the history + expression = "^[0-9]{8}_+[0-9]{6}_" + self.global_name + ".xml$" + oExpr = re.compile(expression) + # Get the list of global xml that are in the log directory + l_globalxml = [] + for file_name in os.listdir(self.xml_dir_path): + if oExpr.search(file_name): + file_path = os.path.join(self.xml_dir_path, file_name) + try: + global_xml = XMLMGR.ReadXmlFile(file_path) + l_globalxml.append(global_xml) + except Exception as e: + msg = _("The file '%s' can not be read, it will be ignored\n%s") % \ + (file_path, e) + self.logger.warning("%s\n" % msg) + + # Construct the dictionnary self.history + for job in l_jobs + l_jobs_not_today: + l_links = [] + for global_xml in l_globalxml: + date = os.path.basename(global_xml.filePath).split("_")[0] + global_root_node = global_xml.xmlroot.find("jobs") + job_node = XMLMGR.find_node_by_attrib( + global_root_node, "job", "name", job.name ) + if job_node: + if job_node.find("remote_log_file_path") is not None: + link = job_node.find("remote_log_file_path").text + res_job = job_node.find("res").text + if link != "nothing": + l_links.append((date, res_job, link)) + l_links = sorted(l_links, reverse=True) + self.history[job.name] = l_links
+ +
[docs] def put_jobs_not_today(self, l_jobs_not_today, xml_node_jobs): + """ + Get all the first information needed for each file and write the + first version of the files + + :param xml_node_jobs: (etree.Element) + the node corresponding to a job + :param l_jobs_not_today: (list) + the list of jobs that do not run today + """ + + ASNODE = XMLMGR.add_simple_node # shortcut + + for job in l_jobs_not_today: + xmlj = ASNODE(xml_node_jobs, "job", attrib={"name" : job.name}) + ASNODE(xmlj, "application", job.application) + ASNODE(xmlj, "distribution", job.machine.distribution) + ASNODE(xmlj, "board", job.board) + ASNODE(xmlj, "commands", " ; ".join(job.commands)) + ASNODE(xmlj, "state", "Not today") + ASNODE(xmlj, "machine", job.machine.name) + ASNODE(xmlj, "host", job.machine.host) + ASNODE(xmlj, "port", str(job.machine.port)) + ASNODE(xmlj, "user", job.machine.user) + ASNODE(xmlj, "sat_path", job.machine.sat_path) + xml_history = ASNODE(xmlj, "history") + for i, (date, res_job, link) in enumerate(self.history[job.name]): + if i==0: + # tag the first one (the last one) + ASNODE( xml_history, "link", text=link, + attrib={"date" : date, "res" : res_job, "last" : "yes"} ) + else: + ASNODE( xml_history, "link", text=link, + attrib={"date" : date, "res" : res_job, "last" : "no"} )
+ +
[docs] def parse_csv_boards(self, today): + """ + Parse the csv file that describes the boards to produce and fill + the dict d_input_boards that contain the csv file contain + + :param today: (int) the current day of the week + """ + # open the csv file and read its content + l_read = [] + with open(self.file_boards, 'r') as f: + reader = csv.reader(f,delimiter=CSV_DELIMITER) + for row in reader: + l_read.append(row) + # get the delimiter for the boards (empty line) + boards_delimiter = [''] * len(l_read[0]) + # Make the list of boards, by splitting with the delimiter + l_boards = [list(y) for x, y in itertools.groupby(l_read, + lambda z: z == boards_delimiter) if not x] + + # loop over the csv lists of lines and get the rows, columns and jobs + d_boards = {} + for input_board in l_boards: + # get board name + board_name = input_board[0][0] + + # Get columns list + columns = input_board[0][1:] + + rows = [] + jobs = [] + jobs_not_today = [] + for line in input_board[1:]: + row = line[0] + rows.append(row) + for i, square in enumerate(line[1:]): + if square=='': + continue + days = square.split(DAYS_SEPARATOR) + days = [int(day) for day in days] + job = (row, columns[i]) + if today in days: + jobs.append(job) + else: + jobs_not_today.append(job) + + d_boards[board_name] = {"rows" : rows, + "columns" : columns, + "jobs" : jobs, + "jobs_not_today" : jobs_not_today} + + self.d_input_boards = d_boards
+ +
[docs] def update_xml_files(self, l_jobs): + """Write all the xml files with updated information about the jobs + + :param l_jobs: (list) the list of jobs that run today + """ + for xml_file in [self.xml_global_file] + list( + self.d_xml_board_files.values()): + self.update_xml_file(l_jobs, xml_file) + + # Write the file + self.write_xml_files()
+ +
[docs] def update_xml_file(self, l_jobs, xml_file): + """update information about the jobs for the file xml_file + + :param l_jobs: (list) the list of jobs that run today + :param xml_file: (xmlManager.XmlLogFile) + the xml instance to update + """ + + xml_node_jobs = xml_file.xmlroot.find('jobs') + # Update the job names and status node + for job in l_jobs: + # Find the node corresponding to the job and delete it + # in order to recreate it + for xmljob in xml_node_jobs.findall('job'): + if xmljob.attrib['name'] == job.name: + xml_node_jobs.remove(xmljob) + + T0 = str(job._T0) + if T0 != "-1": + T0 = time.strftime('%Y-%m-%d %H:%M:%S', + time.localtime(job._T0)) + Tf = str(job._Tf) + if Tf != "-1": + Tf = time.strftime('%Y-%m-%d %H:%M:%S', + time.localtime(job._Tf)) + + # recreate the job node + xmlj = ASNODE(xml_node_jobs, "job", attrib={"name" : job.name}) + ASNODE(xmlj, "machine", job.machine.name) + ASNODE(xmlj, "host", job.machine.host) + ASNODE(xmlj, "port", str(job.machine.port)) + ASNODE(xmlj, "user", job.machine.user) + xml_history = ASNODE(xmlj, "history") + for date, res_job, link in self.history[job.name]: + ASNODE( xml_history, "link", text=link, + attrib={"date" : date, "res" : res_job} ) + + ASNODE(xmlj, "sat_path", job.machine.sat_path) + ASNODE(xmlj, "application", job.application) + ASNODE(xmlj, "distribution", job.machine.distribution) + ASNODE(xmlj, "board", job.board) + ASNODE(xmlj, "timeout", str(job.timeout)) + ASNODE(xmlj, "commands", " ; ".join(job.commands)) + ASNODE(xmlj, "state", job.get_status()) + ASNODE(xmlj, "begin", T0) + ASNODE(xmlj, "end", Tf) + ASNODE(xmlj, "out", UTS.cleancolor(job.out)) + ASNODE(xmlj, "err", UTS.cleancolor(job.err)) + ASNODE(xmlj, "res", str(job.res_job)) + if len(job.remote_log_files) > 0: + ASNODE(xmlj, "remote_log_file_path", job.remote_log_files[0]) + else: + ASNODE(xmlj, "remote_log_file_path", "nothing") + # Search for the test log if there is any + l_test_log_files = self.find_test_log(job.remote_log_files) + xml_test = ASNODE(xmlj, "test_log_file_path") + for test_log_path, res_test, nb_fails in l_test_log_files: + test_path_node = ASNODE(xml_test, "path", test_log_path) + test_path_node.attrib["res"] = res_test + test_path_node.attrib["nb_fails"] = nb_fails + + xmlafter = ASNODE(xmlj, "after", job.after) + # get the job father + if job.after is not None: + job_father = None + for jb in l_jobs: + if jb.name == job.after: + job_father = jb + + if (job_father is not None and + len(job_father.remote_log_files) > 0): + link = job_father.remote_log_files[0] + else: + link = "nothing" + XMLMGR.append_node_attrib(xmlafter, {"link" : link}) + + # Verify that the job is to be done today regarding the input csv + # files + if job.board and job.board in self.d_input_boards.keys(): + found = False + for dist, appli in self.d_input_boards[job.board]["jobs"]: + if (job.machine.distribution == dist + and job.application == appli): + found = True + ASNODE(xmlj, "extra_job", "no") + break + if not found: + ASNODE(xmlj, "extra_job", "yes") + + + # Update the date + xml_node_infos = xml_file.xmlroot.find('infos') + XMLMGR.append_node_attrib( xml_node_infos, + attrib={"value" : datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")} )
+ + +
[docs] def find_test_log(self, l_remote_log_files): + """ + Find if there is a test log (board) in the remote log files and + the path to it. There can be several test command, + so the result is a list. + + :param l_remote_log_files: (list) the list of all remote log files + :return: (list) + the list of tuples (test log files path, res of the command) + """ + res = [] + for file_path in l_remote_log_files: + dirname = os.path.basename(os.path.dirname(file_path)) + file_name = os.path.basename(file_path) + regex = UTS._log_all_command_file_expression + oExpr = re.compile(regex) + if dirname == "TEST" and oExpr.search(file_name): + # find the res of the command + prod_node = etree.parse(file_path).getroot().find("product") + res_test = prod_node.attrib["global_res"] + # find the number of fails + testbase_node = prod_node.find("tests").find("testbase") + nb_fails = int(testbase_node.attrib["failed"]) + # put the file path, the res of the test command and the number + # of fails in the output + res.append((file_path, res_test, nb_fails)) + + return res
+ +
[docs] def last_update(self, finish_status = "finished"): + """update information about the jobs for the file xml_file + + :param l_jobs: (list) the list of jobs that run today + :param xml_file: (xmlManager.XmlLogFile) the xml instance to update + """ + for xml_file in [self.xml_global_file] + list(self.d_xml_board_files.values()): + xml_node_infos = xml_file.xmlroot.find('infos') + XMLMGR.append_node_attrib(xml_node_infos, + attrib={"JobsCommandStatus" : finish_status}) + # Write the file + self.write_xml_files()
+ +
[docs] def write_xml_file(self, xml_file, stylesheet): + """ + Write one xml file and the same file with prefix + """ + xml_file.write_tree(stylesheet) + file_path = xml_file.logFile + file_dir = os.path.dirname(file_path) + file_name = os.path.basename(file_path) + file_name_with_prefix = self.prefix + "_" + file_name + xml_file.write_tree(stylesheet, os.path.join(file_dir, + file_name_with_prefix))
+ +
[docs] def write_xml_files(self): + """ + Write the xml files + """ + self.write_xml_file(self.xml_global_file, STYLESHEET_GLOBAL) + for xml_file in self.d_xml_board_files.values(): + self.write_xml_file(xml_file, STYLESHEET_BOARD)
+ +
[docs]def get_config_file_path(job_config_name, l_cfg_dir): + found = False + file_jobs_cfg = None + if os.path.exists(job_config_name) and job_config_name.endswith(".pyconf"): + found = True + file_jobs_cfg = job_config_name + else: + for cfg_dir in l_cfg_dir: + file_jobs_cfg = os.path.join(cfg_dir, job_config_name) + if not file_jobs_cfg.endswith('.pyconf'): + file_jobs_cfg += '.pyconf' + + if not os.path.exists(file_jobs_cfg): + continue + else: + found = True + break + return found, file_jobs_cfg
+ +
[docs]def develop_factorized_jobs(config_jobs): + """update information about the jobs for the file xml_file + + :param config_jobs: (Config) + the config corresponding to the jos description + """ + developed_jobs_list = [] + for jb in config_jobs.jobs: + # case where the jobs are not developed + if type(jb.machine) == type(""): + developed_jobs_list.append(jb) + continue + # Case where the jobs must be developed + # Example: + # machine : ["CO7.2 physique", ["CO6.4 physique", $MONDAY, $TUESDAY ], "FD22"] + name_job = jb.name + for machine in jb.machine: + new_job = PYCONF.deepCopyMapping(jb) + # case where there is a jobs on the machine corresponding to all + # days in when variable. + if type(machine) == type(""): + new_job.machine = machine + new_job.name = name_job + " / " + machine + else: + # case the days are re defined + new_job.machine = machine[0] + new_job.name = name_job + " / " + machine[0] + new_job.when = machine[1:] + developed_jobs_list.append(new_job) + + config_jobs.jobs = developed_jobs_list
+ +
+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/doc/build/html/_modules/commands/launcher.html b/doc/build/html/_modules/commands/launcher.html new file mode 100644 index 0000000..6d6ad7d --- /dev/null +++ b/doc/build/html/_modules/commands/launcher.html @@ -0,0 +1,365 @@ + + + + + + + + commands.launcher — salomeTools 5.0.0dev documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +

Source code for commands.launcher

+#!/usr/bin/env python
+#-*- coding:utf-8 -*-
+
+#  Copyright (C) 2010-2012  CEA/DEN
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+import platform
+import shutil
+import getpass
+import subprocess
+import stat
+
+import src.debug as DBG
+import src.returnCode as RCO
+from src.salomeTools import _BaseCommand
+
+########################################################################
+# Command class
+########################################################################
+
[docs]class Command(_BaseCommand): + """ + The launcher command generates a SALOME launcher. + + examples: + >> sat launcher SALOME + """ + + name = "launcher" + +
[docs] def getParser(self): + """Define all possible options for command 'sat launcher <options>'""" + parser = self.getParserWithHelp() + return parser
+ +
[docs] def run(self, cmd_arguments): + """method called for command 'sat launcher <options>'""" + argList = self.assumeAsList(cmd_arguments) + + # print general help and returns + if len(argList) == 0: + self.print_help() + return RCO.ReturnCode("OK", "No arguments, as 'sat %s --help'" % self.name) + + self._options, remaindersArgs = self.parseArguments(argList) + + if self._options.help: + self.print_help() + return RCO.ReturnCode("OK", "Done 'sat %s --help'" % self.name) + + # shortcuts + runner = self.getRunner() + config = self.getConfig() + logger = self.getLogger() + options = self.getOptions() + + # Verify that the command was called with an application + src.check_config_has_application( config ) + + # Determine the launcher name (from option, profile section or by default "salome") + if options.name: + launcher_name = options.name + else: + launcher_name = src.get_launcher_name(config) + + # set the launcher path + launcher_path = config.APPLICATION.workdir + + # Copy a catalog if the option is called + additional_environ = {} + if options.catalog: + additional_environ = copy_catalog(config, options.catalog) + + # Generate a catalog of resources if the corresponding option was called + if options.gencat: + catalog_path = generate_catalog(options.gencat.split(","), config, logger) + additional_environ = copy_catalog(config, catalog_path) + + # Generate the launcher + launcherPath = generate_launch_file( config, + logger, + launcher_name, + launcher_path, + additional_env = additional_environ ) + + return 0
+ + +
[docs]def generate_launch_file(config, + logger, + launcher_name, + pathlauncher, + display=True, + additional_env={}): + """Generates the launcher file. + + :param config: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :param launcher_name: (str) The name of the launcher to generate + :param pathlauncher: (str) The path to the launcher to generate + :param display: (bool) If False, do not print anything in the terminal + :param additional_env: (dict) + The dict giving additional environment variables + :return: (str) The launcher file path. + """ + + # Compute the default launcher path if it is not provided in pathlauncher + # parameter + filepath = os.path.join(pathlauncher, launcher_name) + + # Remove the file if it exists in order to replace it + if os.path.exists(filepath): + os.remove(filepath) + + # Add the APPLI variable + additional_env['APPLI'] = filepath + + + # get KERNEL bin installation path + # (in order for the launcher to get python salomeContext API) + kernel_cfg = src.product.get_product_config(config, "KERNEL") + if not src.product.check_installation(kernel_cfg): + raise Exception(_("KERNEL is not installed")) + kernel_root_dir = kernel_cfg.install_dir + + # set kernel bin dir (considering fhs property) + if src.get_property_in_product_cfg(kernel_cfg, "fhs"): + bin_kernel_install_dir = os.path.join(kernel_root_dir,"bin") + else: + bin_kernel_install_dir = os.path.join(kernel_root_dir,"bin","salome") + + # Get the launcher template + withProfile = src.fileEnviron.withProfile\ + .replace("BIN_KERNEL_INSTALL_DIR", bin_kernel_install_dir)\ + .replace("KERNEL_INSTALL_DIR", kernel_root_dir) + + before, after = withProfile.split( + "# here your local standalone environment\n") + + # create an environment file writer + writer = src.environment.FileEnvWriter(config, + logger, + pathlauncher, + src_root=None, + env_info=None) + + # Display some information + if display: + # Write the launcher file + msg = _("Generating launcher for %s :\n %s\n") % \ + (UTS.label(config.VARS.application), UTS.label(filepath)) + logger.info(msg) + + # open the file and write into it + launch_file = open(filepath, "w") + launch_file.write(before) + # Write + writer.write_cfgForPy_file(launch_file, additional_env=additional_env) + launch_file.write(after) + launch_file.close() + + # change the rights in order to make the file executable for everybody + os.chmod(filepath, + stat.S_IRUSR | + stat.S_IRGRP | + stat.S_IROTH | + stat.S_IWUSR | + stat.S_IXUSR | + stat.S_IXGRP | + stat.S_IXOTH) + return filepath
+ + +
[docs]def generate_catalog(machines, config, logger): + """Generates an xml catalog file from a list of machines. + + :param machines: (list) The list of machines to add in the catalog + :param config: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (str) The catalog file path. + """ + # remove empty machines + machines = map(lambda l: l.strip(), machines) + machines = filter(lambda l: len(l) > 0, machines) + + # log something + logger.debug(" %s = %s\n" % \ + (_("Generate Resources Catalog"), ", ".join(machines)) ) + + # The command to execute on each machine in order to get some information + cmd = '"cat /proc/cpuinfo | grep MHz ; cat /proc/meminfo | grep MemTotal"' + user = getpass.getuser() + + # Create the catalog path + catfile = src.get_tmp_filename(config, "CatalogResources.xml") + catalog = file(catfile, "w") + + # Write into it + catalog.write("<!DOCTYPE ResourcesCatalog>\n<resources>\n") + for k in machines: + logger.debug(" ssh %s " % (k + " ").ljust(20, '.')) + + # Verify that the machine is accessible + ssh_cmd = 'ssh -o "StrictHostKeyChecking no" %s %s' % (k, cmd) + p = subprocess.Popen(ssh_cmd, shell=True, + stdin=subprocess.PIPE, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE) + p.wait() + + if p.returncode != 0: # The machine is not accessible + logger.error("<KO>: The machine %s is not accessible:\n%s\n" % k + + UTS.red(p.stderr.read())) + else: + # The machine is accessible, write the corresponding section on + # the xml file + logger.debug("<OK>: The machine %s is accessible:\n" % k) + lines = p.stdout.readlines() + freq = lines[0][:-1].split(':')[-1].split('.')[0].strip() + nb_proc = len(lines) -1 + memory = lines[-1].split(':')[-1].split()[0].strip() + memory = int(memory) / 1000 + + catalog.write(" <machine\n") + catalog.write(" protocol=\"ssh\"\n") + catalog.write(" nbOfNodes=\"1\"\n") + catalog.write(" mode=\"interactif\"\n") + catalog.write(" OS=\"LINUX\"\n") + catalog.write(" CPUFreqMHz=\"%s\"\n" % freq) + catalog.write(" nbOfProcPerNode=\"%s\"\n" % nb_proc) + catalog.write(" memInMB=\"%s\"\n" % memory) + catalog.write(" userName=\"%s\"\n" % user) + catalog.write(" name=\"%s\"\n" % k) + catalog.write(" hostname=\"%s\"\n" % k) + catalog.write(" >\n") + catalog.write(" </machine>\n") + + catalog.write("</resources>\n") + catalog.close() + return catfile
+ +
[docs]def copy_catalog(config, catalog_path): + """Copy the xml catalog file into the right location + + :param config: (Config) The global configuration + :param catalog_path: (str) the catalog file path + :return: (dict) + The environment dictionary corresponding to the file path. + """ + # Verify the existence of the file + if not os.path.exists(catalog_path): + raise IOError(_("Catalog not found: %s") % catalog_path) + # Get the application directory and copy catalog inside + out_dir = config.APPLICATION.workdir + new_catalog_path = os.path.join(out_dir, "CatalogResources.xml") + # Do the copy + shutil.copy(catalog_path, new_catalog_path) + additional_environ = {'USER_CATALOG_RESOURCES_FILE' : new_catalog_path} + return additional_environ
+
+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/doc/build/html/_modules/commands/log.html b/doc/build/html/_modules/commands/log.html new file mode 100644 index 0000000..e658aff --- /dev/null +++ b/doc/build/html/_modules/commands/log.html @@ -0,0 +1,483 @@ + + + + + + + + commands.log — salomeTools 5.0.0dev documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +

Source code for commands.log

+#!/usr/bin/env python
+#-*- coding:utf-8 -*-
+
+#  Copyright (C) 2010-2012  CEA/DEN
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+
+import os
+import shutil
+import re
+import glob
+import datetime
+import stat
+
+import src.debug as DBG
+import src.returnCode as RCO
+import src.utilsSat as UTS
+import src.xmlManager as XMLMGR
+import src.system as SYSS
+from src.salomeTools import _BaseCommand
+
+# Compatibility python 2/3 for input function
+# input stays input for python 3 and input = raw_input for python 2
+try: 
+    input = raw_input
+except NameError: 
+    pass
+
+########################################################################
+# Command class
+########################################################################
+
[docs]class Command(_BaseCommand): + """ + The log command gives access to the logs produced by the salomeTools commands. + + examples: + >> sat log + """ + + name = "log" + +
[docs] def getParser(self): + """Define all options for command 'sat log <options>'""" + parser = self.getParserWithHelp() + parser.add_option( + 't', 'terminal', 'boolean', 'terminal', + "Optional: Show sat instances logs, no browser.") + parser.add_option( + 'l', 'last', 'boolean', 'last', + "Show the log of the last launched command.") + parser.add_option( + 'x', 'last_terminal', 'boolean', 'last_terminal', + """Optional: Show compile log of products, no browser.""") + parser.add_option( + 'f', 'full', 'boolean', 'full', + "Optional: Show the logs of ALL the launched commands.") + parser.add_option( + 'c', 'clean', 'int', 'clean', + "Optional: Erase the n most ancient log files.") + parser.add_option( + 'n', 'no_browser', 'boolean', 'no_browser', + "Optional: Do not launch the browser at the end of the command. Only update the hat file.") + return parser
+ +
[docs] def run(self, cmd_arguments): + """method called for command 'sat log <options>'""" + argList = self.assumeAsList(cmd_arguments) + + # print general help and returns + if len(argList) == 0: + self.print_help() + return RCO.ReturnCode("OK", "No arguments, as 'sat %s --help'" % self.name) + + self._options, remaindersArgs = self.parseArguments(argList) + + if self._options.help: + self.print_help() + return RCO.ReturnCode("OK", "Done 'sat %s --help'" % self.name) + + # shortcuts + runner = self.getRunner() + config = self.getConfig() + logger = self.getLogger() + options = self.getOptions() + + + # get the log directory. + logDir = UTS.get_log_path(config) + + # Print a header + nb_files_log_dir = len(glob.glob(os.path.join(logDir, "*"))) + info = [("log directory", logDir), + ("number of log files", nb_files_log_dir)] + UTS.logger_info_tuples(logger, info) + + # If the clean options is invoked, + # do nothing but deleting the concerned files. + if options.clean: + nbClean = options.clean + # get the list of files to remove + lLogs = UTS.list_log_file(logDir, UTS._log_all_command_file_expression) + nbLogFiles = len(lLogs) + # Delete all if the invoked number is bigger than the number of log files + if nbClean > nbLogFiles: + nbClean = nbLogFiles + # Get the list to delete and do the removing + lLogsToDelete = sorted(lLogs)[:nbClean] + for filePath, __, __, __, __, __, __ in lLogsToDelete: + # remove the xml log file + remove_log_file(filePath, logger) + # remove also the corresponding txt file in OUT directory + txtFilePath = os.path.join(os.path.dirname(filePath), + 'OUT', + os.path.basename(filePath)[:-len('.xml')] + '.txt') + remove_log_file(txtFilePath, logger) + # remove also the corresponding pyconf (do not exist 2016-06) + # file in OUT directory + pyconfFilePath = os.path.join(os.path.dirname(filePath), + 'OUT', + os.path.basename(filePath)[:-len('.xml')] + '.pyconf') + remove_log_file(pyconfFilePath, logger) + + msg = "%i logs deleted" % nbClean + logger.info("<OK>\n%s\n" % msg) + return RCO.ReturnCode("OK", msg) + + # determine the commands to show in the hat log + notShownCommands = list(config.INTERNAL.log.not_shown_commands) + if options.full: + notShownCommands = [] + + # Find the stylesheets Directory and files + xslDir = os.path.join(config.VARS.srcDir, 'xsl') + xslCommand = os.path.join(xslDir, "command.xsl") + xslHat = os.path.join(xslDir, "hat.xsl") + xsltest = os.path.join(xslDir, "test.xsl") + imgLogo = os.path.join(xslDir, "LOGO-SAT.png") + + # copy the stylesheets in the log directory + # OP We use copy instead of copy2 to update the creation date + # So we can clean the LOGS directories easily + shutil.copy(xslCommand, logDir) + shutil.copy(xslHat, logDir) + UTS.ensure_path_exists(os.path.join(logDir, "TEST")) + shutil.copy(xsltest, os.path.join(logDir, "TEST")) + shutil.copy(imgLogo, logDir) + + # If the last option is invoked, just, show the last log file + if options.last_terminal: + src.check_config_has_application(config) + rootLogDir = os.path.join(config.APPLICATION.workdir, 'LOGS') + UTS.ensure_path_exists(rootLogDir) + log_dirs = os.listdir(rootLogDir) + if log_dirs == []: + raise Exception("log directory empty") + log_dirs= sorted(log_dirs) + res = show_last_logs(logger, config, log_dirs) + return res + + # If the last option is invoked, just, show the last log file + if options.last: + lastLogFilePath = get_last_log_file( + logDir, notShownCommands + ["config"]) + if lastLogFilePath is None: + raise Exception("last log file not found in '%s'" % logDir) + if options.terminal: + # Show the log corresponding to the selected command call + res = print_log_command_in_terminal(lastLogFilePath, logger) + else: + # open the log xml file in the user editor + res = SYSS.show_in_editor(config.USER.browser, + lastLogFilePath, logger) + return res + + # If the user asks for a terminal display + if options.terminal: + # Parse the log directory in order to find + # all the files corresponding to the commands + lLogs = UTS.list_log_file(logDir, UTS._log_macro_command_file_expression) + lLogsFiltered = [] + for filePath, __, date, __, hour, cmd, __ in lLogs: + showLog = UTS.show_command_log(filePath, cmd, config.VARS.application, notShownCommands) + # showLog, cmdAppli, __ = UTS.show_command_log(filePath, cmd, + # config.VARS.application, notShownCommands) + cmdAppli = showLog.getValue()[0] + if showLog.isOk(): + lLogsFiltered.append((filePath, date, hour, cmd, cmdAppli)) + + lLogsFiltered = sorted(lLogsFiltered) + nb_logs = len(lLogsFiltered) + index = 0 + # loop on all files and print it with date, time and command name + for __, date, hour, cmd, cmdAppli in lLogsFiltered: + num = UTS.label("%2d" % (nb_logs - index)) + logger.info("%s: %13s %s %s %s\n" % (num, cmd, date, hour, cmdAppli)) + index += 1 + + # ask the user what for what command he wants to be displayed + x = -1 + while (x < 0): + x = ask_value(nb_logs) + if x > 0: + index = len(lLogsFiltered) - int(x) + # Show the log corresponding to the selected command call + print_log_command_in_terminal(lLogsFiltered[index][0], logger) + x = 0 + + return RCO.ReturnCode("OK", "end from user") + + # Create or update the hat xml that gives access to all the commands log files + logger.info(_("Generating the hat log file (can be long) ... ")) + xmlHatFilePath = os.path.join(logDir, 'hat.xml') + UTS.update_hat_xml(logDir, + application = config.VARS.application, + notShownCommands = notShownCommands) + logger.info("<OK>\n") + + # open the hat xml in the user editor + if not options.no_browser: + logger.info(_("Opening the log file")) + res = SYSS.show_in_editor(config.USER.browser, xmlHatFilePath, logger) + return res + + return RCO.ReturnCode("OK", "option no browser")
+ +
[docs]def get_last_log_file(logDir, notShownCommands): + """ + Used in case of last option. + Get the last log command file path. + + :param logDir: (str) The directory where to search the log files + :param notShownCommands: (list) the list of commands to ignore + :return: (str) the path to the last log file + """ + last = (_, 0) + for fileName in os.listdir(logDir): + # YYYYMMDD_HHMMSS_namecmd.xml + sExpr = UTS._log_macro_command_file_expression + oExpr = re.compile(sExpr) + if oExpr.search(fileName): + # get date and hour and format it + date_hour_cmd = fileName.split('_') + datehour = date_hour_cmd[0] + date_hour_cmd[1] + cmd = date_hour_cmd[2] + if cmd in notShownCommands: + continue + if int(datehour) > last[1]: + last = (fileName, int(datehour)) + if last[1] != 0: + res = os.path.join(logDir, last[0]) + else: + res = None #no log file + return res
+ +
[docs]def remove_log_file(filePath, logger): + """if it exists, print a warning and remove the input file + + :param filePath: the path of the file to delete + :param logger: (Logger) the logger instance to use for the print + """ + if os.path.exists(filePath): + logger.debug(UTS.red("Removing %s\n" % filePath)) + os.remove(filePath)
+ + + +
[docs]def getMaxFormat(aListOfStr, offset=1): + """returns format for columns width as '%-30s"' for example""" + maxLen = max([len(i) for i in aListOfStr]) + offset + fmt = "%-" + str(maxLen) + "s" # "%-30s" for example + return fmt, maxLen
+ +
[docs]def show_last_logs(logger, config, log_dirs): + """Show last compilation logs""" + log_dir = os.path.join(config.APPLICATION.workdir, 'LOGS') + # list the logs + nb = len(log_dirs) + fmt1, maxLen = getMaxFormat(log_dirs, offset=1) + fmt2 = "%s: " + fmt1 + "\n" # "%s: %-30s\n" for example + nb_cols = 5 + # line ~ no more 100 chars + if maxLen > 20: nb_cols = 4 + if maxLen > 25: nb_cols = 3 + if maxLen > 33: nb_cols = 2 + if maxLen > 50: nb_cols = 1 + col_size = (nb / nb_cols) + 1 + for index in range(0, col_size): + msg = "" + for i in range(0, nb_cols): + k = index + i * col_size + if k < nb: + l = log_dirs[k] + str_indice = UTS.label("%2d" % (k+1)) + log_name = l + msg += fmt2 % (str_indice, log_name) + logger.info(msg + "\n") + + # loop till exit + x = -1 + while (x < 0): + x = ask_value(nb) + if x > 0: + product_log_dir = os.path.join(log_dir, log_dirs[x-1]) + show_product_last_logs(logger, config, product_log_dir)
+ +
[docs]def show_product_last_logs(logger, config, product_log_dir): + """Show last compilation logs of a product""" + # sort the files chronologically + l_time_file = [] + for file_n in os.listdir(product_log_dir): + my_stat = os.stat(os.path.join(product_log_dir, file_n)) + l_time_file.append( + (datetime.datetime.fromtimestamp(my_stat[stat.ST_MTIME]), file_n)) + + # display the available logs + for i, (__, file_name) in enumerate(sorted(l_time_file)): + str_indice = UTS.label("%2d" % (i+1)) + opt = [] + my_stat = os.stat(os.path.join(product_log_dir, file_name)) + opt.append(str(datetime.datetime.fromtimestamp(my_stat[stat.ST_MTIME]))) + + opt.append("(%8.2f)" % (my_stat[stat.ST_SIZE] / 1024.0)) + logger.info(" %-35s" % " ".join(opt)) + logger.info("%s: %-30s\n" % (str_indice, file_name)) + + # loop till exit + x = -1 + while (x < 0): + x = ask_value(len(l_time_file)) + if x > 0: + (__, file_name) = sorted(l_time_file)[x-1] + log_file_path = os.path.join(product_log_dir, file_name) + SYSS.show_in_editor(config.USER.editor, log_file_path, logger)
+ +
[docs]def ask_value(nb): + """Ask for an int n. 0<n<nb + + :param nb: (int) The maximum value of the value to be returned by the user. + :return: (int) + the value entered by the user. Return -1 if it is not as expected + """ + try: + # ask for a value + rep = input(_("Which one (enter or 0 to quit)? ")) + # Verify it is on the right range + if len(rep) == 0: + x = 0 + else: + x = int(rep) + if x > nb: + x = -1 + except: + x = -1 + + return x
+
+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/doc/build/html/_modules/commands/make.html b/doc/build/html/_modules/commands/make.html new file mode 100644 index 0000000..3134317 --- /dev/null +++ b/doc/build/html/_modules/commands/make.html @@ -0,0 +1,351 @@ + + + + + + + + commands.make — salomeTools 5.0.0dev documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +

Source code for commands.make

+#!/usr/bin/env python
+#-*- coding:utf-8 -*-
+
+#  Copyright (C) 2010-2012  CEA/DEN
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+import os
+import re
+
+import src.debug as DBG
+import src.returnCode as RCO
+import src.utilsSat as UTS
+from src.salomeTools import _BaseCommand
+
+########################################################################
+# Command class
+########################################################################
+
[docs]class Command(_BaseCommand): + """ + The make command executes the 'make' command in the build directory. + + examples: + >> sat make SALOME --products Python,KERNEL,GUI + """ + + name = "make" + +
[docs] def getParser(self): + """Define all options for the command 'sat make <options>'""" + parser = self.getParserWithHelp() + parser.add_option('p', 'products', 'list2', 'products', + _('Optional: products to configure. This option can be' + ' passed several time to configure several products.')) + parser.add_option('o', 'option', 'string', 'option', + _('Optional: Option to add to the make command.'), "") + return parser
+ +
[docs] def run(self, cmd_arguments): + """method called for command 'sat make <options>'""" + argList = self.assumeAsList(cmd_arguments) + + # print general help and returns + if len(argList) == 0: + self.print_help() + return RCO.ReturnCode("OK", "No arguments, as 'sat %s --help'" % self.name) + + self._options, remaindersArgs = self.parseArguments(argList) + + if self._options.help: + self.print_help() + return RCO.ReturnCode("OK", "Done 'sat %s --help'" % self.name) + + # shortcuts + runner = self.getRunner() + config = self.getConfig() + logger = self.getLogger() + options = self.getOptions() + + # check that the command has been called with an application + src.check_config_has_application( config ) + + # Get the list of products to treat + products_infos = get_products_list(options, config, logger) + + # Print some informations + logger.info( + _('Executing the make command in the build directories of the application %s\n') % \ + UTS.label(config.VARS.application)) + + info = [(_("BUILD directory"), os.path.join(config.APPLICATION.workdir, 'BUILD'))] + UTS.logger_info_tuples(logger, info) + + # Call the function that will loop over all the products and execute + # the right command(s) + if options.option is None: + options.option = "" + res = make_all_products(config, products_infos, options.option, logger) + + # Print the final state + nb_products = len(products_infos) + if res == 0: + final_status = "OK" + else: + final_status = "KO" + + msg = _("\nMake: <%s> (%d/%d)\n") % (final_status, nb_products - res, nb_products) + logger.info(msg) + + return RCO.ReturnCode(final_status, msg)
+ + +
[docs]def get_products_list(options, cfg, logger): + """ + method that gives the product list with their informations from + configuration regarding the passed options. + + :param options: (Options) + The Options instance that stores the commands arguments + :param cfg: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (list) The list of tuples (product name, product_informations). + """ + # Get the products to be prepared, regarding the options + if options.products is None: + # No options, get all products sources + products = cfg.APPLICATION.products + else: + # if option --products, check that all products of the command line + # are present in the application. + products = options.products + for p in products: + if p not in cfg.APPLICATION.products: + raise Exception(_("Product %(product)s " + "not defined in application %(application)s") % + { 'product': p, 'application': cfg.VARS.application} ) + + # Construct the list of tuple containing + # the products name and their definition + products_infos = src.product.get_products_infos(products, cfg) + + products_infos = [pi for pi in products_infos if not( + src.product.product_is_native(pi[1]) or + src.product.product_is_fixed(pi[1]))] + + return products_infos
+ +
[docs]def log_step(logger, header, step): + msg = "\r%s%s" % (header, " " * 20) + msg += "\r%s%s" % (header, step) + logger.info(msg) + logger.debug("\n==== %s \n" % UTS.info(step))
+ +
[docs]def log_res_step(logger, res): + if res == 0: + logger.debug("<OK>\n") + else: + logger.debug("<KO>\n")
+ + +
[docs]def make_all_products(config, products_infos, make_option, logger): + """ + Execute the proper configuration commands + in each product build directory. + + :param config: (Config) The global configuration + :param products_info: (list) + List of (str, Config) => (product_name, product_info) + :param make_option: (str) The options to add to the command + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (int) the number of failing commands. + """ + res = 0 + for p_name_info in products_infos: + res_prod = make_product(p_name_info, make_option, config, logger) + if res_prod != 0: + res += 1 + return res
+ +
[docs]def make_product(p_name_info, make_option, config, logger): + """ + Execute the proper configuration command(s) + in the product build directory. + + :param p_name_info: (tuple) (str, Config) => (product_name, product_info) + :param make_option: (str) The options to add to the command + :param config: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (int) 1 if it fails, else 0. + """ + + p_name, p_info = p_name_info + + # Logging + header = _("Make of %s") % UTS.label(p_name) + header += " %s " % ("." * (20 - len(p_name))) + logger.info(header) + + # Do nothing if he product is not compilable + if ("properties" in p_info and \ + "compilation" in p_info.properties and \ + p_info.properties.compilation == "no"): + log_step(logger, header, "ignored") + return 0 + + # Instantiate the class that manages all the construction commands + # like cmake, make, make install, make test, environment management, etc... + builder = src.compilation.Builder(config, logger, p_info) + + # Prepare the environment + log_step(logger, header, "PREPARE ENV") + res_prepare = builder.prepare() + log_res_step(logger, res_prepare) + + # Execute buildconfigure, configure if the product is autotools + # Execute cmake if the product is cmake + len_end_line = 20 + + nb_proc, make_opt_without_j = get_nb_proc(p_info, config, make_option) + log_step(logger, header, "MAKE -j" + str(nb_proc)) + if src.architecture.is_windows(): + res = builder.wmake(nb_proc, make_opt_without_j) + else: + res = builder.make(nb_proc, make_opt_without_j) + log_res_step(logger, res) + + # Log the result + if res > 0: + logger.info("\r%s%s" % (header, " " * len_end_line)) + logger.info("\r" + header + "<KO>") + logger.debug("==== <KO> in make of %s\n" % p_name) + else: + logger.info("\r%s%s" % (header, " " * len_end_line)) + logger.info("\r" + header + "<OK>") + logger.debug("==== <OK> in make of %s\n" % p_name) + logger.info("\n") + return res
+ +
[docs]def get_nb_proc(product_info, config, make_option): + + opt_nb_proc = None + new_make_option = make_option + if "-j" in make_option: + oExpr = re.compile("-j[0-9]+") + found = oExpr.search(make_option) + opt_nb_proc = int(re.findall('\d+', found.group())[0]) + new_make_option = make_option.replace(found.group(), "") + + nbproc = -1 + if "nb_proc" in product_info: + # nb proc is specified in module definition + nbproc = product_info.nb_proc + if opt_nb_proc and opt_nb_proc < product_info.nb_proc: + # use command line value only if it is lower than module definition + nbproc = opt_nb_proc + else: + # nb proc is not specified in module definition + if opt_nb_proc: + nbproc = opt_nb_proc + else: + nbproc = config.VARS.nb_proc + + assert nbproc > 0 + return nbproc, new_make_option
+
+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/doc/build/html/_modules/commands/makeinstall.html b/doc/build/html/_modules/commands/makeinstall.html new file mode 100644 index 0000000..3af8980 --- /dev/null +++ b/doc/build/html/_modules/commands/makeinstall.html @@ -0,0 +1,312 @@ + + + + + + + + commands.makeinstall — salomeTools 5.0.0dev documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +

Source code for commands.makeinstall

+#!/usr/bin/env python
+#-*- coding:utf-8 -*-
+
+#  Copyright (C) 2010-2012  CEA/DEN
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+
+import src.debug as DBG
+import src.returnCode as RCO
+from src.salomeTools import _BaseCommand
+
+########################################################################
+# Command class
+########################################################################
+
[docs]class Command(_BaseCommand): + """ + The makeinstall command executes the 'make install' command in the build directory. + In case of product constructed using a script (build_source : 'script'), + then the makeinstall command do nothing. + + examples: + >> sat makeinstall SALOME --products KERNEL,GUI + """ + + name = "makeinstall" + +
[docs] def getParser(self): + """Define all options for the command 'sat makeinstall <options>'""" + parser = self.getParserWithHelp() + parser.add_option('p', 'products', 'list2', 'products', + _('Optional: products to install. This option can be' + ' passed several time to install several products.')) + return parser
+ +
[docs] def run(self, cmd_arguments): + """method called for command 'sat makeinstall <options>'""" + argList = self.assumeAsList(cmd_arguments) + + # print general help and returns + if len(argList) == 0: + self.print_help() + return RCO.ReturnCode("OK", "No arguments, as 'sat %s --help'" % self.name) + + self._options, remaindersArgs = self.parseArguments(argList) + + if self._options.help: + self.print_help() + return RCO.ReturnCode("OK", "Done 'sat %s --help'" % self.name) + + # shortcuts + runner = self.getRunner() + config = self.getConfig() + logger = self.getLogger() + options = self.getOptions() + + # check that the command has been called with an application + src.check_config_has_application( config ) + + # Get the list of products to treat + products_infos = get_products_list(options, config, logger) + + # Print some informations + logger.info(_('Executing the make install command in the build directories of the application %s\n') % \ + UTS.label(config.VARS.application)) + + info = [(_("BUILD directory"), + os.path.join(config.APPLICATION.workdir, 'BUILD'))] + UTS.logger_info_tuples(logger, info) + + # Call the function that will loop over all the products and execute + # the right command(s) + res = makeinstall_all_products(config, products_infos, logger) + + # Print the final state + nb_products = len(products_infos) + if res == 0: + final_status = "OK" + else: + final_status = "KO" + + msg = _("\nMake install: <%s> (%d/%d)\n") % (final_status, nb_products - res, nb_products) + logger.info(msg) + + return RCO.ReturnCode(final_status, msg)
+ + +
[docs]def get_products_list(options, cfg, logger): + """ + method that gives the product list with their informations from + configuration regarding the passed options. + + :param options: (Options) + The Options instance that stores the commands arguments + :param cfg: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (list) The list of (product name, product_informations). + """ + # Get the products to be prepared, regarding the options + if options.products is None: + # No options, get all products sources + products = cfg.APPLICATION.products + else: + # if option --products, check that all products of the command line + # are present in the application. + products = options.products + for p in products: + if p not in cfg.APPLICATION.products: + raise Exception(_("Product %(product)s " + "not defined in application %(application)s") % + { 'product': p, 'application': cfg.VARS.application} ) + + # Construct the list of tuple containing + # the products name and their definition + products_infos = src.product.get_products_infos(products, cfg) + + products_infos = [pi for pi in products_infos if not(src.product.product_is_native(pi[1]) or src.product.product_is_fixed(pi[1]))] + + return products_infos
+ +
[docs]def log_step(logger, header, step): + logger.info("\r%s%s" % (header, " " * 20), 3) + logger.info("\r%s%s" % (header, step), 3) + logger.debug("\n==== %s \n" % UTS.info(step), 4)
+ +
[docs]def log_res_step(logger, res): + if res == 0: + logger.debug("<OK>\n") + else: + logger.debug("<KO>\n")
+ +
[docs]def makeinstall_all_products(config, products_infos, logger): + """ + Execute the proper configuration commands + in each product build directory. + + :param config: (Config) The global configuration + :param products_info: (list) + List of (str, Config) => (product_name, product_info) + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (int) the number of failing commands. + """ + res = 0 + for p_name_info in products_infos: + res_prod = makeinstall_product(p_name_info, config, logger) + if res_prod != 0: + res += 1 + return res
+ +
[docs]def makeinstall_product(p_name_info, config, logger): + """ + Execute the proper configuration command(s) + in the product build directory. + + :param p_name_info: (tuple) + (str, Config) => (product_name, product_info) + :param config: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (int) 1 if it fails, else 0. + """ + + p_name, p_info = p_name_info + + # Logging + header = _("Make install of %s") % UTS.label(p_name) + header += " %s " % ("." * (20 - len(p_name))) + logger.info(header) + + # Do nothing if he product is not compilable + if ("properties" in p_info and \ + "compilation" in p_info.properties and \ + p_info.properties.compilation == "no"): + log_step(logger, header, "ignored") + return RCO.ReturnCode("OK", "product %s is not compilable" % p_name) + + # Instantiate the class that manages all the construction commands + # like cmake, make, make install, make test, environment management, etc... + builder = src.compilation.Builder(config, logger, p_info) + + # Prepare the environment + log_step(logger, header, "PREPARE ENV") + res_prepare = builder.prepare() + log_res_step(logger, res_prepare) + + # Execute buildconfigure, configure if the product is autotools + # Execute cmake if the product is cmake + res = 0 + if not src.product.product_has_script(p_info): + log_step(logger, header, "MAKE INSTALL") + res_m = builder.install() + log_res_step(logger, res_m) + res += res_m + + # Log the result + if res > 0: + logger.info("\r%s%s" % (header, " " * 20)) + logger.info("\r" + header + "<KO>") + logger.debug("==== <KO> in make install of s\n" % p_name) + else: + logger.info("\r%s%s" % (header, " " * 20)) + logger.info("\r" + header + "<OK>") + logger.debug("==== <OK> in make install of %s\n" % p_name) + logger.info("\n") + + return res
+
+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/doc/build/html/_modules/commands/package.html b/doc/build/html/_modules/commands/package.html new file mode 100644 index 0000000..cfdd9e0 --- /dev/null +++ b/doc/build/html/_modules/commands/package.html @@ -0,0 +1,1456 @@ + + + + + + + + commands.package — salomeTools 5.0.0dev documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +

Source code for commands.package

+#!/usr/bin/env python
+#-*- coding:utf-8 -*-
+
+#  Copyright (C) 2010-2012  CEA/DEN
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+import os
+import stat
+import shutil
+import datetime
+import tarfile
+import codecs
+import string
+import traceback
+
+from commands.application import get_SALOME_modules
+
+import src.debug as DBG
+import src.returnCode as RCO
+import src.utilsSat as UTS
+from src.salomeTools import _BaseCommand
+import src.pyconf as PYCONF
+import src.utilsSat as UTS
+
+BINARY = "binary"
+SOURCE = "Source"
+PROJECT = "Project"
+SAT = "Sat"
+
+ARCHIVE_DIR = "ARCHIVES"
+PROJECT_DIR = "PROJECT"
+
+IGNORED_DIRS = [".git", ".svn"]
+IGNORED_EXTENSIONS = []
+
+PROJECT_TEMPLATE = """\
+#!/usr/bin/env python
+#-*- coding:utf-8 -*-
+
+# The path to the archive root directory
+root_path : $PWD + "/../"
+# path to the PROJECT
+project_path : $PWD + "/"
+
+# Where to search the archives of the products
+ARCHIVEPATH : $root_path + "ARCHIVES"
+# Where to search the pyconf of the applications
+APPLICATIONPATH : $project_path + "applications/"
+# Where to search the pyconf of the products
+PRODUCTPATH : $project_path + "products/"
+# Where to search the pyconf of the jobs of the project
+JOBPATH : $project_path + "jobs/"
+# Where to search the pyconf of the machines of the project
+MACHINEPATH : $project_path + "machines/"
+"""
+
+LOCAL_TEMPLATE = ("""\
+#!/usr/bin/env python
+#-*- coding:utf-8 -*-
+
+  LOCAL :
+  {
+    base : 'default'
+    workdir : 'default'
+    log_dir : 'default'
+    archive_dir : 'default'
+    VCS : None
+    tag : None
+  }
+
+PROJECTS :
+{
+project_file_paths : [$VARS.salometoolsway + $VARS.sep + \"..\" + $VARS.sep"""
+""" + \"""" + PROJECT_DIR + """\" + $VARS.sep + "project.pyconf"]
+}
+""")
+  
+
+########################################################################
+# Command class
+########################################################################
+
[docs]class Command(_BaseCommand): + """ + The package command creates an archive. + There are 4 kinds of archive, which can be mixed: + 1- The binary archive. It contains all the product installation directories and a launcher. + 2- The sources archive. It contains the products archives, a project corresponding to the application and salomeTools. + 3- The project archive. It contains a project (give the project file path as argument). + 4- The salomeTools archive. It contains salomeTools. + + examples: + >> sat package SALOME --binaries --sources + """ + + name = "package" + +
[docs] def getParser(self): + """Define all options for command 'sat package <options>'""" + parser = self.getParserWithHelp() + parser.add_option('b', 'binaries', 'boolean', 'binaries', + _('Optional: Produce a binary package.'), False) + parser.add_option('f', 'force_creation', 'boolean', 'force_creation', + _('Optional: Only binary package: produce the archive even if ' + 'there are some missing products.'), False) + parser.add_option('s', 'sources', 'boolean', 'sources', + _('Optional: Produce a compilable archive of the sources of the ' + 'application.'), False) + parser.add_option('', 'with_vcs', 'boolean', 'with_vcs', + _('Optional: Only source package: do not make archive of vcs products.'), + False) + parser.add_option('p', 'project', 'string', 'project', + _('Optional: Produce an archive that contains a project.'), "") + parser.add_option('t', 'salometools', 'boolean', 'sat', + _('Optional: Produce an archive that contains salomeTools.'), False) + parser.add_option('n', 'name', 'string', 'name', + _('Optional: The name or full path of the archive.'), None) + parser.add_option('', 'add_files', 'list2', 'add_files', + _('Optional: The list of additional files to add to the archive.'), []) + parser.add_option('', 'without_commercial', 'boolean', 'without_commercial', + _('Optional: do not add commercial licence.'), False) + parser.add_option('', 'without_property', 'string', 'without_property', + _('Optional: Filter the products by their properties.\n' + '\tSyntax: --without_property <property>:<value>')) + return parser
+ +
[docs] def run(self, cmd_arguments): + """method called for command 'sat package <options>'""" + argList = self.assumeAsList(cmd_arguments) + + # print general help and returns + if len(argList) == 0: + self.print_help() + return RCO.ReturnCode("OK", "No arguments, as 'sat %s --help'" % self.name) + + self._options, remaindersArgs = self.parseArguments(argList) + + if self._options.help: + self.print_help() + return RCO.ReturnCode("OK", "Done 'sat %s --help'" % self.name) + + # shortcuts + runner = self.getRunner() + config = self.getConfig() + logger = self.getLogger() + options = self.getOptions() + + # Check that a type of package is called, and only one + all_option_types = (options.binaries, + options.sources, + options.project not in ["", None], + options.sat) + + # Check if no option for package type + if all_option_types.count(True) == 0: + msg = _("""\ +Needs a type for the package +Use one of the following options: + '--binaries' '--sources' '--project' or '--salometools'\n""") + logger.error(msg) + return 1 + + # The repository where to put the package if not Binary or Source + package_default_path = config.LOCAL.workdir + + # if the package contains binaries or sources: + if options.binaries or options.sources: + # Check that the command has been called with an application + src.check_config_has_application(config) + + # Display information + logger.info(_("Packaging application %s\n") % \ + UTS.label(config.VARS.application), 1) + + # Get the default directory where to put the packages + package_default_path = os.path.join(config.APPLICATION.workdir, "PACKAGE") + UTS.ensure_path_exists(package_default_path) + + # if the package contains a project: + if options.project: + # check that the project is visible by SAT + if options.project not in config.PROJECTS.project_file_paths: + local_path = os.path.join( + config.VARS.salometoolsway, "data", "local.pyconf") + msg = _("""\ +The project %s is not visible by salomeTools. +Please add it in the %s file.\n""") % (options.project, local_path) + logger.error(msg) + return 1 + + # Remove the products that are filtered by the --without_property option + if options.without_property: + [prop, value] = options.without_property.split(":") + update_config(config, prop, value) + + # get the name of the archive or build it + if options.name: + if os.path.basename(options.name) == options.name: + # only a name (not a path) + archive_name = options.name + dir_name = package_default_path + else: + archive_name = os.path.basename(options.name) + dir_name = os.path.dirname(options.name) + + # suppress extension + if archive_name[-len(".tgz"):] == ".tgz": + archive_name = archive_name[:-len(".tgz")] + if archive_name[-len(".tar.gz"):] == ".tar.gz": + archive_name = archive_name[:-len(".tar.gz")] + + else: + archive_name="" + dir_name = package_default_path + if options.binaries or options.sources: + archive_name = config.APPLICATION.name + + if options.binaries: + archive_name += "-"+config.VARS.dist + + if options.sources: + archive_name += "-SRC" + if options.with_vcs: + archive_name += "-VCS" + + if options.project: + project_name, __ = os.path.splitext( + os.path.basename(options.project)) + archive_name += ("PROJECT-" + project_name) + + if options.sat: + archive_name += ("salomeTools_" + config.INTERNAL.sat_version) + if len(archive_name)==0: # no option worked + msg = _("""\ +Cannot name the archive. +check if at least one of the following options was selected: + '--binaries' '--sources' '--project' or '--salometools'\n""") + logger.error(msg) + return 1 + + path_targz = os.path.join(dir_name, archive_name + ".tgz") + + logger.info(" Package path = %s\n" % UTS.blue(path_targz)) + + # Create a working directory for all files that are produced during the + # package creation and that will be removed at the end of the command + tmp_working_dir = os.path.join(config.VARS.tmp_root, config.VARS.datehour) + UTS.ensure_path_exists(tmp_working_dir) + logger.debug(_("The temporary working directory: %s\n") % tmp_working_dir) + + msg = _("Preparation of files to add to the archive") + logger.info(UTS.label(msg)) + + d_files_to_add={} # content of the archive + + # a dict to hold paths that will need to be substitute for users recompilations + d_paths_to_substitute={} + + if options.binaries: + d_bin_files_to_add = binary_package(config, logger, options, tmp_working_dir) + # for all binaries dir, store the substitution that will be required + # for extra compilations + for key in d_bin_files_to_add: + if key.endswith("(bin)"): + source_dir = d_bin_files_to_add[key][0] + path_in_archive = d_bin_files_to_add[key][1].replace("BINARIES-" + config.VARS.dist,"INSTALL") + if os.path.basename(source_dir)==os.path.basename(path_in_archive): + # if basename is the same we will just substitute the dirname + d_paths_to_substitute[os.path.dirname(source_dir)]=\ + os.path.dirname(path_in_archive) + else: + d_paths_to_substitute[source_dir]=path_in_archive + + d_files_to_add.update(d_bin_files_to_add) + + if options.sources: + d_files_to_add.update(source_package(runner, + config, + logger, + options, + tmp_working_dir)) + if options.binaries: + # for archives with bin and sources we provide a shell script able to + # install binaries for compilation + file_install_bin=produce_install_bin_file(config,logger, + tmp_working_dir, + d_paths_to_substitute, + "install_bin.sh") + d_files_to_add.update({"install_bin" : (file_install_bin, "install_bin.sh")}) + logger.debug("substitutions to be done later:\n%s\n" % str(d_paths_to_substitute)) + + else: + # --salomeTool option is not considered when --sources is selected, as this option + # already brings salomeTool! + if options.sat: + d_files_to_add.update({"salomeTools" : (config.VARS.salometoolsway, "")}) + + + if options.project: + d_files_to_add.update(project_package(options.project, tmp_working_dir)) + + if not(d_files_to_add): + msg = _("Empty dictionary to build the archive.\n") + logger.error(msg) + return 1 + + # Add the README file in the package + local_readme_tmp_path = add_readme(config, options, tmp_working_dir) + d_files_to_add["README"] = (local_readme_tmp_path, "README") + + # Add the additional files of option add_files + if options.add_files: + for file_path in options.add_files: + if not os.path.exists(file_path): + msg = _("The file %s is not accessible.\n") % file_path + continue + file_name = os.path.basename(file_path) + d_files_to_add[file_name] = (file_path, file_name) + + msg = UTS.label(_("Actually do the package")) + logger.info("\n%s\n" % msg) + + try: + # Creating the object tarfile + tar = tarfile.open(path_targz, mode='w:gz') + + # get the filtering function if needed + filter_function = exclude_VCS_and_extensions + + # Add the files to the tarfile object + res = add_files(tar, archive_name, d_files_to_add, logger, f_exclude=filter_function) + tar.close() + + except KeyboardInterrupt: + logger.critical(UTS.red(_("KeyboardInterrupt forced interruption\n"))) + logger.info(_("Removing the temporary working directory ... ")) + # remove the working directory + shutil.rmtree(tmp_working_dir) + logger.info("<OK>") + return 1 + + # remove the working directory + shutil.rmtree(tmp_working_dir) + + # Print again the path of the package + logger.info(" Package path = %s\n" % UTS.blue(path_targz)) + + return res
+ + +
[docs]def add_files(tar, name_archive, d_content, logger, f_exclude=None): + """ + Create an archive containing all directories and files that are given + in the d_content argument. + + :param tar: (tarfile) The tarfile instance used to make the archive. + :param name_archive: (str) The name of the archive to make. + :param d_content: (dict) + The dictionary that contain all directories and files to add in the archive. + d_content[label] = (path_on_local_machine, path_in_archive) + :param logger: (Logger) the logging instance + :param f_exclude: (function) the function that filters + :return: (int) 0 if success, 1 if not. + """ + # get the max length of the messages in order to make the display + max_len = len(max(d_content.keys(), key=len)) + + success = 0 + # loop over each directory or file stored in the d_content dictionary + for name in d_content.keys(): + # display information + len_points = max_len - len(name) + logger.info(name + " " + len_points * "." + " ") + # Get the local path and the path in archive + # of the directory or file to add + local_path, archive_path = d_content[name] + in_archive = os.path.join(name_archive, archive_path) + # Add it in the archive + try: + tar.add(local_path, arcname=in_archive, exclude=f_exclude) + logger.info("<OK>\n") + except Exception as e: + logger.info("<KO> %s\n" % str(e)) + success = 1 + return success
+ +
[docs]def exclude_VCS_and_extensions(filename): + """ + The function that is used to exclude from package the link to the + VCS repositories (like .git) + + :param filename: (str) The filname to exclude (or not). + :return: (bool) True if the file has to be exclude + """ + for dir_name in IGNORED_DIRS: + if dir_name in filename: + return True + for extension in IGNORED_EXTENSIONS: + if filename.endswith(extension): + return True + return False
+ +
[docs]def produce_relative_launcher(config, + logger, + file_dir, + file_name, + binaries_dir_name, + with_commercial=True): + """ + Create a specific SALOME launcher for the binary package. + This launcher uses relative paths. + + :param config: (Config) The global configuration. + :param logger: (Logger) the logging instance + :param file_dir: (str) the directory where to put the launcher + :param file_name: (str) The launcher name + :param binaries_dir_name: (str) + the name of the repository where the binaries are, in the archive. + :return: (str) the path of the produced launcher + """ + + # get KERNEL installation path + kernel_root_dir = os.path.join(binaries_dir_name, "KERNEL") + + # set kernel bin dir (considering fhs property) + kernel_cfg = src.product.get_product_config(config, "KERNEL") + if src.get_property_in_product_cfg(kernel_cfg, "fhs"): + bin_kernel_install_dir = os.path.join(kernel_root_dir,"bin") + else: + bin_kernel_install_dir = os.path.join(kernel_root_dir,"bin","salome") + + # Get the launcher template and do substitutions + withProfile = src.fileEnviron.withProfile + + withProfile = withProfile.replace( + "ABSOLUTE_APPLI_PATH'] = 'KERNEL_INSTALL_DIR'", + "ABSOLUTE_APPLI_PATH'] = out_dir_Path + '" + config.VARS.sep + kernel_root_dir + "'") + withProfile = withProfile.replace( + " 'BIN_KERNEL_INSTALL_DIR'", + " out_dir_Path + '" + config.VARS.sep + bin_kernel_install_dir + "'") + + before, after = withProfile.split( + "# here your local standalone environment\n") + + # create an environment file writer + writer = src.environment.FileEnvWriter(config, + logger, + file_dir, + src_root=None) + + filepath = os.path.join(file_dir, file_name) + # open the file and write into it + launch_file = open(filepath, "w") + launch_file.write(before) + # Write + writer.write_cfgForPy_file(launch_file, + for_package = binaries_dir_name, + with_commercial=with_commercial) + launch_file.write(after) + launch_file.close() + + # Little hack to put out_dir_Path outside the strings + src.replace_in_file(filepath, 'r"out_dir_Path', 'out_dir_Path + r"' ) + + # A hack to put a call to a file for distene licence. + # It does nothing to an application that has no distene product + hack_for_distene_licence(filepath) + + # change the rights in order to make the file executable for everybody + os.chmod(filepath, + stat.S_IRUSR | + stat.S_IRGRP | + stat.S_IROTH | + stat.S_IWUSR | + stat.S_IXUSR | + stat.S_IXGRP | + stat.S_IXOTH) + + return filepath
+ +
[docs]def hack_for_distene_licence(filepath): + """Replace the distene licence env variable by a call to a file. + + :param filepath: (str) The path to the launcher to modify. + """ + shutil.move(filepath, filepath + "_old") + fileout= filepath + filein = filepath + "_old" + fin = open(filein, "r") + fout = open(fileout, "w") + text = fin.readlines() + # Find the Distene section + num_line = -1 + for i,line in enumerate(text): + if "# Set DISTENE License" in line: + num_line = i + break + if num_line == -1: + # No distene product, there is nothing to do + fin.close() + for line in text: + fout.write(line) + fout.close() + return + del text[num_line +1] + del text[num_line +1] + text_to_insert ="""\ +import imp +try: + distene = imp.load_source('distene_licence', '/data/tmpsalome/salome/prerequis/install/LICENSE/dlim8.var.py') + distene.set_distene_variables(context) +except: + pass +""" + text.insert(num_line + 1, text_to_insert) + for line in text: + fout.write(line) + fin.close() + fout.close() + return
+ +
[docs]def produce_relative_env_files(config, + logger, + file_dir, + binaries_dir_name): + """ + Create some specific environment files for the binary package. + These files use relative paths. + + :param config: (Config) The global configuration. + :param logger: (Logger) the logging instance + :param file_dir: (str) the directory where to put the files + :param binaries_dir_name: (str) + The name of the repository where the binaries are, in the archive. + :return: (list) The list of path of the produced environment files + """ + # create an environment file writer + writer = src.environment.FileEnvWriter(config, + logger, + file_dir, + src_root=None) + + # Write + filepath = writer.write_env_file("env_launch.sh", + False, # for launch + "bash", + for_package = binaries_dir_name) + + # Little hack to put out_dir_Path as environment variable + src.replace_in_file(filepath, '"out_dir_Path', '"${out_dir_Path}' ) + + # change the rights in order to make the file executable for everybody + os.chmod(filepath, + stat.S_IRUSR | + stat.S_IRGRP | + stat.S_IROTH | + stat.S_IWUSR | + stat.S_IXUSR | + stat.S_IXGRP | + stat.S_IXOTH) + + return filepath
+ +
[docs]def produce_install_bin_file(config, + logger, + file_dir, + d_sub, + file_name): + """ + Create a bash shell script which do substitutions in BIRARIES dir + in order to use it for extra compilations. + + :param config: (Config) The global configuration. + :param logger: (Logger) the logging instance + :param file_dir: (str) the directory where to put the files + :param d_sub: (dict) + the dictionnary that contains the substitutions to be done + :param file_name: (str) the name of the install script file + :return: (str) the produced file + """ + # Write + filepath = os.path.join(file_dir, file_name) + # open the file and write into it + # use codec utf-8 as sat variables are in unicode + with codecs.open(filepath, "w", 'utf-8') as installbin_file: + installbin_template_path = os.path.join(config.VARS.internal_dir, + "INSTALL_BIN.template") + + # build the name of the directory that will contain the binaries + binaries_dir_name = "BINARIES-" + config.VARS.dist + # build the substitution loop + loop_cmd = "for f in $(grep -RIl" + for key in d_sub: + loop_cmd += " -e "+ key + loop_cmd += ' INSTALL); do\n sed -i "\n' + for key in d_sub: + loop_cmd += " s?" + key + "?$(pwd)/" + d_sub[key] + "?g\n" + loop_cmd += ' " $f\ndone' + + d={} + d["BINARIES_DIR"] = binaries_dir_name + d["SUBSTITUTION_LOOP"]=loop_cmd + + # substitute the template and write it in file + content=src.template.substitute(installbin_template_path, d) + installbin_file.write(content) + # change the rights in order to make the file executable for everybody + os.chmod(filepath, + stat.S_IRUSR | + stat.S_IRGRP | + stat.S_IROTH | + stat.S_IWUSR | + stat.S_IXUSR | + stat.S_IXGRP | + stat.S_IXOTH) + + return filepath
+ +
[docs]def product_appli_creation_script(config, + logger, + file_dir, + binaries_dir_name): + """ + Create a script that can produce an application (EDF style) + in the binary package. + + :param config: (Config) The global configuration. + :param logger: (Logger) the logging instance + :param file_dir: (str) the directory where to put the file + :param binaries_dir_name: (str) + The name of the repository where the binaries are, in the archive. + :return: (str) The path of the produced script file + """ + template_name = "create_appli.py.for_bin_packages.template" + template_path = os.path.join(config.VARS.internal_dir, template_name) + text_to_fill = open(template_path, "r").read() + text_to_fill = text_to_fill.replace("TO BE FILLED 1", + '"' + binaries_dir_name + '"') + + text_to_add = "" + for product_name in get_SALOME_modules(config): + product_info = src.product.get_product_config(config, product_name) + + if src.product.product_is_smesh_plugin(product_info): + continue + + if 'install_dir' in product_info and bool(product_info.install_dir): + if src.product.product_is_cpp(product_info): + # cpp module + for cpp_name in src.product.get_product_components(product_info): + line_to_add = ("<module name=\"" + + cpp_name + + "\" gui=\"yes\" path=\"''' + " + "os.path.join(dir_bin_name, \"" + + cpp_name + "\") + '''\"/>") + else: + # regular module + line_to_add = ("<module name=\"" + + product_name + + "\" gui=\"yes\" path=\"''' + " + "os.path.join(dir_bin_name, \"" + + product_name + "\") + '''\"/>") + text_to_add += line_to_add + "\n" + + filled_text = text_to_fill.replace("TO BE FILLED 2", text_to_add) + + tmp_file_path = os.path.join(file_dir, "create_appli.py") + ff = open(tmp_file_path, "w") + ff.write(filled_text) + ff.close() + + # change the rights in order to make the file executable for everybody + os.chmod(tmp_file_path, + stat.S_IRUSR | + stat.S_IRGRP | + stat.S_IROTH | + stat.S_IWUSR | + stat.S_IXUSR | + stat.S_IXGRP | + stat.S_IXOTH) + + return tmp_file_path
+ +
[docs]def binary_package(config, logger, options, tmp_working_dir): + """ + Prepare a dictionary that stores all the needed directories and files + to add in a binary package. + + :param config: (Config) The global configuration. + :param logger: (Logger) the logging instance + :param options: (OptResult) the options of the launched command + :param tmp_working_dir: (str) + The temporary local directory containing some specific directories + or files needed in the binary package + :return: (dict) + The dictionary that stores all the needed directories and files + to add in a binary package. + {label : (path_on_local_machine, path_in_archive)} + """ + + # Get the list of product installation to add to the archive + l_products_name = config.APPLICATION.products.keys() + l_product_info = src.product.get_products_infos(l_products_name, + config) + l_install_dir = [] + l_source_dir = [] + l_not_installed = [] + l_sources_not_present = [] + for prod_name, prod_info in l_product_info: + + # Add the sources of the products that have the property + # sources_in_package : "yes" + if src.get_property_in_product_cfg(prod_info, + "sources_in_package") == "yes": + if os.path.exists(prod_info.source_dir): + l_source_dir.append((prod_name, prod_info.source_dir)) + else: + l_sources_not_present.append(prod_name) + + # ignore the native and fixed products for install directories + if (src.product.product_is_native(prod_info) + or src.product.product_is_fixed(prod_info) + or not src.product.product_compiles(prod_info)): + continue + if src.product.check_installation(prod_info): + l_install_dir.append((prod_name, prod_info.install_dir)) + else: + l_not_installed.append(prod_name) + + # Add also the cpp generated modules (if any) + if src.product.product_is_cpp(prod_info): + # cpp module + for name_cpp in src.product.get_product_components(prod_info): + install_dir = os.path.join(config.APPLICATION.workdir, + "INSTALL", name_cpp) + if os.path.exists(install_dir): + l_install_dir.append((name_cpp, install_dir)) + else: + l_not_installed.append(name_cpp) + + # Print warning or error if there are some missing products + if len(l_not_installed) > 0: + text_missing_prods = "" + for p_name in l_not_installed: + text_missing_prods += "-" + p_name + "\n" + + msg = _("There are missing products installations:\n") + logger.warning(msg + text_missing_prods) + if not options.force_creation: + return None + + # Do the same for sources + if len(l_sources_not_present) > 0: + text_missing_prods = "" + for p_name in l_sources_not_present: + text_missing_prods += "-" + p_name + "\n" + + msg = _("There are missing products sources:\n") + logger.warning(msg + text_missing_prods) + if not options.force_creation: + return None + + # construct the name of the directory that will contain the binaries + binaries_dir_name = "BINARIES-" + config.VARS.dist + + # construct the correlation table between the product names, there + # actual install directories and there install directory in archive + d_products = {} + for prod_name, install_dir in l_install_dir: + path_in_archive = os.path.join(binaries_dir_name, prod_name) + d_products[prod_name + " (bin)"] = (install_dir, path_in_archive) + + for prod_name, source_dir in l_source_dir: + path_in_archive = os.path.join("SOURCES", prod_name) + d_products[prod_name + " (sources)"] = (source_dir, path_in_archive) + + # for packages of SALOME applications including KERNEL, + # we produce a salome launcher or a virtual application (depending on salome version) + if 'KERNEL' in config.APPLICATION.products: + VersionSalome = src.get_salome_version(config) + # Case where SALOME has the launcher that uses the SalomeContext API + if VersionSalome >= 730: + # create the relative launcher and add it to the files to add + launcher_name = src.get_launcher_name(config) + launcher_package = produce_relative_launcher(config, + logger, + tmp_working_dir, + launcher_name, + binaries_dir_name, + not(options.without_commercial)) + + d_products["launcher"] = (launcher_package, launcher_name) + if options.sources: + # if we mix binaries and sources, we add a copy of the launcher, + # prefixed with "bin",in order to avoid clashes + d_products["launcher (copy)"] = (launcher_package, "bin"+launcher_name) + else: + # Provide a script for the creation of an application EDF style + appli_script = product_appli_creation_script(config, + logger, + tmp_working_dir, + binaries_dir_name) + + d_products["appli script"] = (appli_script, "create_appli.py") + + # Put also the environment file + env_file = produce_relative_env_files(config, + logger, + tmp_working_dir, + binaries_dir_name) + + d_products["environment file"] = (env_file, "env_launch.sh") + + return d_products
+ +
[docs]def source_package(sat, config, logger, options, tmp_working_dir): + """ + Prepare a dictionary that stores all the needed directories and files + to add in a source package. + + :param config: (Config) The global configuration. + :param logger: (Logger) the logging instance + :param options: (OptResult) the options of the launched command + :param tmp_working_dir: (str) + The temporary local directory containing some specific directories + or files needed in the binary package + :return: (dict) + the dictionary that stores all the needed directories and files + to add in a source package. + {label : (path_on_local_machine, path_in_archive)} + """ + + # Get all the products that are prepared using an archive + logger.info("Find archive products ... ") + d_archives, l_pinfo_vcs = get_archives(config, logger) + logger.info("Done\n") + d_archives_vcs = {} + if not options.with_vcs and len(l_pinfo_vcs) > 0: + # Make archives with the products that are not prepared using an archive + # (git, cvs, svn, etc) + logger.info("Construct archives for vcs products ... ") + d_archives_vcs = get_archives_vcs(l_pinfo_vcs, + sat, + config, + logger, + tmp_working_dir) + logger.info("Done\n") + + # Create a project + logger.info("Create the project ... ") + d_project = create_project_for_src_package(config, tmp_working_dir, options.with_vcs) + logger.info("Done\n") + + # Add salomeTools + tmp_sat = add_salomeTools(config, tmp_working_dir) + d_sat = {"salomeTools" : (tmp_sat, "salomeTools")} + + # Add a sat symbolic link if not win + if not src.architecture.is_windows(): + tmp_satlink_path = os.path.join(tmp_working_dir, 'sat') + try: + t = os.getcwd() + except: + # In the jobs, os.getcwd() can fail + t = config.LOCAL.workdir + os.chdir(tmp_working_dir) + if os.path.lexists(tmp_satlink_path): + os.remove(tmp_satlink_path) + os.symlink(os.path.join('salomeTools', 'sat'), 'sat') + os.chdir(t) + + d_sat["sat link"] = (tmp_satlink_path, "sat") + + d_source = src.merge_dicts(d_archives, d_archives_vcs, d_project, d_sat) + return d_source
+ +
[docs]def get_archives(config, logger): + """ + Find all the products from an archive and all the products + from a VCS (git, cvs, svn) repository. + + :param config: (Config) The global configuration. + :param logger: (Logger) The logging instance + :return: (Dict, List) + The dictionary + {name_product : (local path of its archive, path in the package of its archive )} + and the list of specific configuration corresponding to the vcs products + """ + # Get the list of product informations + l_products_name = config.APPLICATION.products.keys() + l_product_info = src.product.get_products_infos(l_products_name, + config) + d_archives = {} + l_pinfo_vcs = [] + for p_name, p_info in l_product_info: + # ignore the native and fixed products + if (src.product.product_is_native(p_info) + or src.product.product_is_fixed(p_info)): + continue + if p_info.get_source == "archive": + archive_path = p_info.archive_info.archive_name + archive_name = os.path.basename(archive_path) + else: + l_pinfo_vcs.append((p_name, p_info)) + + d_archives[p_name] = (archive_path, + os.path.join(ARCHIVE_DIR, archive_name)) + return d_archives, l_pinfo_vcs
+ +
[docs]def add_salomeTools(config, tmp_working_dir): + """ + Prepare a version of salomeTools that has a specific local.pyconf file + configured for a source package. + + :param config: (Config) The global configuration. + :param tmp_working_dir: (str) + The temporary local directory containing some specific directories + or files needed in the source package + :return: (str) + The path to the local salomeTools directory to add in the package + """ + # Copy sat in the temporary working directory + sat_tmp_path = src.Path(os.path.join(tmp_working_dir, "salomeTools")) + sat_running_path = src.Path(config.VARS.salometoolsway) + sat_running_path.copy(sat_tmp_path) + + # Update the local.pyconf file that contains the path to the project + local_pyconf_name = "local.pyconf" + local_pyconf_dir = os.path.join(tmp_working_dir, "salomeTools", "data") + local_pyconf_file = os.path.join(local_pyconf_dir, local_pyconf_name) + # Remove the .pyconf file in the root directory of salomeTools if there is + # any. (For example when launching jobs, a pyconf file describing the jobs + # can be here and is not useful) + files_or_dir_SAT = os.listdir(os.path.join(tmp_working_dir, "salomeTools")) + for file_or_dir in files_or_dir_SAT: + if file_or_dir.endswith(".pyconf") or file_or_dir.endswith(".txt"): + file_path = os.path.join(tmp_working_dir, + "salomeTools", + file_or_dir) + os.remove(file_path) + + ff = open(local_pyconf_file, "w") + ff.write(LOCAL_TEMPLATE) + ff.close() + + return sat_tmp_path.path
+ +
[docs]def get_archives_vcs(l_pinfo_vcs, sat, config, logger, tmp_working_dir): + """ + For sources package that require that all products from an archive, + one has to create some archive for the vcs products. + So this method calls the clean and source command of sat + and then create the archives. + + :param l_pinfo_vcs: (list) + The list of specific configuration corresponding to each vcs product + :param sat: (Sat) + The Sat instance that can be called to clean and source the products + :param config: (Config) The global configuration. + :param logger: (Logger) The logging instance + :param tmp_working_dir: (str) + The temporary local directory containing some specific directories + or files needed in the source package + :return: (dict) + The dictionary that stores all the archives to add in the sourcepackage. + {label : (path_on_local_machine, path_in_archive)} + """ + # clean the source directory of all the vcs products, then use the source + # command and thus construct an archive that will not contain the patches + l_prod_names = [pn for pn, __ in l_pinfo_vcs] + # clean + logger.info(_("clean sources\n")) + args_clean = config.VARS.application + args_clean += " --sources --products " + args_clean += ",".join(l_prod_names) + sat.clean(args_clean, batch=True, verbose=0, logger_add_link = logger) + # source + logger.info(_("get sources")) + args_source = config.VARS.application + args_source += " --products " + args_source += ",".join(l_prod_names) + sat.source(args_source, batch=True, verbose=0, logger_add_link = logger) + + # make the new archives + d_archives_vcs = {} + for pn, pinfo in l_pinfo_vcs: + path_archive = make_archive(pn, pinfo, tmp_working_dir) + d_archives_vcs[pn] = (path_archive, + os.path.join(ARCHIVE_DIR, pn + ".tgz")) + return d_archives_vcs
+ +
[docs]def make_archive(prod_name, prod_info, where): + """Create an archive of a product by searching its source directory. + + :param prod_name: (str) The name of the product. + :param prod_info: (Config) + The specific configuration corresponding to the product + :param where: (str) + The path of the repository where to put the resulting archive + :return: (str) The path of the resulting archive + """ + path_targz_prod = os.path.join(where, prod_name + ".tgz") + tar_prod = tarfile.open(path_targz_prod, mode='w:gz') + local_path = prod_info.source_dir + tar_prod.add(local_path, + arcname=prod_name, + exclude=exclude_VCS_and_extensions) + tar_prod.close() + return path_targz_prod
+ +
[docs]def create_project_for_src_package(config, tmp_working_dir, with_vcs): + """Create a specific project for a source package. + + :param config: (Config) The global configuration. + :param tmp_working_dir: (str) + The temporary local directory containing some specific directories + or files needed in the source package + :param with_vcs: (bool) + True if the package is with vcs products + (not transformed into archive products) + :return: (dict) + The dictionary + {"project" : (produced project, project path in the archive)} + """ + + # Create in the working temporary directory the full project tree + project_tmp_dir = os.path.join(tmp_working_dir, PROJECT_DIR) + products_pyconf_tmp_dir = os.path.join(project_tmp_dir, + "products") + compil_scripts_tmp_dir = os.path.join(project_tmp_dir, + "products", + "compil_scripts") + env_scripts_tmp_dir = os.path.join(project_tmp_dir, + "products", + "env_scripts") + patches_tmp_dir = os.path.join(project_tmp_dir, + "products", + "patches") + application_tmp_dir = os.path.join(project_tmp_dir, + "applications") + for directory in [project_tmp_dir, + compil_scripts_tmp_dir, + env_scripts_tmp_dir, + patches_tmp_dir, + application_tmp_dir]: + UTS.ensure_path_exists(directory) + + # Create the pyconf that contains the information of the project + project_pyconf_name = "project.pyconf" + project_pyconf_file = os.path.join(project_tmp_dir, project_pyconf_name) + ff = open(project_pyconf_file, "w") + ff.write(PROJECT_TEMPLATE) + ff.close() + + # Loop over the products to get there pyconf and all the scripts + # (compilation, environment, patches) + # and create the pyconf file to add to the project + lproducts_name = config.APPLICATION.products.keys() + l_products = src.product.get_products_infos(lproducts_name, config) + for p_name, p_info in l_products: + find_product_scripts_and_pyconf(p_name, + p_info, + config, + with_vcs, + compil_scripts_tmp_dir, + env_scripts_tmp_dir, + patches_tmp_dir, + products_pyconf_tmp_dir) + + find_application_pyconf(config, application_tmp_dir) + + d_project = {"project" : (project_tmp_dir, PROJECT_DIR )} + return d_project
+ +
[docs]def find_product_scripts_and_pyconf(p_name, + p_info, + config, + with_vcs, + compil_scripts_tmp_dir, + env_scripts_tmp_dir, + patches_tmp_dir, + products_pyconf_tmp_dir): + """ + Create a specific pyconf file for a given product. + Get its environment script, its compilation script + and patches and put it in the temporary working directory. + This method is used in the source package in order to + construct the specific project. + + :param p_name: (str) The name of the product. + :param p_info: (Config) The specific configuration corresponding to the product + :param config: (Config) The global configuration. + :param with_vcs: (bool) + True if the package is with vcs products + (not transformed into archive products) + :param compil_scripts_tmp_dir: (str) + The path to the temporary compilation scripts directory of the project. + :param env_scripts_tmp_dir: (str) + The path to the temporary environment script directory of the project. + :param patches_tmp_dir: (str) + The path to the temporary patch scripts directory of the project. + :param products_pyconf_tmp_dir: (str) + The path to the temporary product scripts directory of the project. + """ + + # read the pyconf of the product + product_pyconf_path = UTS.find_file_in_lpath(p_name + ".pyconf", + config.PATHS.PRODUCTPATH) + product_pyconf_cfg = PYCONF.Config(product_pyconf_path) + + # find the compilation script if any + if src.product.product_has_script(p_info): + compil_script_path = src.Path(p_info.compil_script) + compil_script_path.copy(compil_scripts_tmp_dir) + product_pyconf_cfg[p_info.section].compil_script = os.path.basename( + p_info.compil_script) + # find the environment script if any + if src.product.product_has_env_script(p_info): + env_script_path = src.Path(p_info.environ.env_script) + env_script_path.copy(env_scripts_tmp_dir) + product_pyconf_cfg[p_info.section].environ.env_script = os.path.basename( + p_info.environ.env_script) + # find the patches if any + if src.product.product_has_patches(p_info): + patches = PYCONF.Sequence() + for patch_path in p_info.patches: + p_path = src.Path(patch_path) + p_path.copy(patches_tmp_dir) + patches.append(os.path.basename(patch_path), "") + + product_pyconf_cfg[p_info.section].patches = patches + + if with_vcs: + # put in the pyconf file the resolved values + for info in ["git_info", "cvs_info", "svn_info"]: + if info in p_info: + for key in p_info[info]: + product_pyconf_cfg[p_info.section][info][key] = p_info[ + info][key] + else: + # if the product is not archive, then make it become archive. + if src.product.product_is_vcs(p_info): + product_pyconf_cfg[p_info.section].get_source = "archive" + if not "archive_info" in product_pyconf_cfg[p_info.section]: + product_pyconf_cfg[p_info.section].addMapping("archive_info", + PYCONF.Mapping(product_pyconf_cfg), + "") + product_pyconf_cfg[p_info.section + ].archive_info.archive_name = p_info.name + ".tgz" + + # write the pyconf file to the temporary project location + product_tmp_pyconf_path = os.path.join(products_pyconf_tmp_dir, + p_name + ".pyconf") + ff = open(product_tmp_pyconf_path, 'w') + ff.write("#!/usr/bin/env python\n#-*- coding:utf-8 -*-\n\n") + product_pyconf_cfg.__save__(ff, 1) + ff.close()
+ +
[docs]def find_application_pyconf(config, application_tmp_dir): + """ + Find the application pyconf file and put it in the specific temporary + directory containing the specific project of a source package. + + :param config: 'Config) The global configuration. + :param application_tmp_dir: (str) + The path to the temporary application scripts directory of the project. + """ + # read the pyconf of the application + application_name = config.VARS.application + application_pyconf_path = UTS.find_file_in_lpath( + application_name + ".pyconf", + config.PATHS.APPLICATIONPATH) + application_pyconf_cfg = PYCONF.Config(application_pyconf_path) + + # Change the workdir + application_pyconf_cfg.APPLICATION.workdir = PYCONF.Reference( + application_pyconf_cfg, + PYCONF.DOLLAR, + 'VARS.salometoolsway + $VARS.sep + ".."') + + # Prevent from compilation in base + application_pyconf_cfg.APPLICATION.no_base = "yes" + + # write the pyconf file to the temporary application location + application_tmp_pyconf_path = os.path.join(application_tmp_dir, + application_name + ".pyconf") + ff = open(application_tmp_pyconf_path, 'w') + ff.write("#!/usr/bin/env python\n#-*- coding:utf-8 -*-\n\n") + application_pyconf_cfg.__save__(ff, 1) + ff.close()
+ +
[docs]def project_package(project_file_path, tmp_working_dir): + """ + Prepare a dictionary that stores all the needed directories and files + to add in a project package. + + :param project_file_path: (str) The path to the local project. + :param tmp_working_dir: (str) + The temporary local directory containing some specific directories + or files needed in the project package + :return: (dict) + The dictionary that stores all the needed directories and files + to add in a project package. + {label : (path_on_local_machine, path_in_archive)} + """ + d_project = {} + # Read the project file and get the directories to add to the package + project_pyconf_cfg = PYCONF.Config(project_file_path) + paths = {"ARCHIVEPATH" : "archives", + "APPLICATIONPATH" : "applications", + "PRODUCTPATH" : "products", + "JOBPATH" : "jobs", + "MACHINEPATH" : "machines"} + # Loop over the project paths and add it + for path in paths: + if path not in project_pyconf_cfg: + continue + # Add the directory to the files to add in the package + d_project[path] = (project_pyconf_cfg[path], paths[path]) + # Modify the value of the path in the package + project_pyconf_cfg[path] = PYCONF.Reference( + project_pyconf_cfg, + PYCONF.DOLLAR, + 'project_path + "/' + paths[path] + '"') + + # Modify some values + if "project_path" not in project_pyconf_cfg: + project_pyconf_cfg.addMapping("project_path", + PYCONF.Mapping(project_pyconf_cfg), + "") + project_pyconf_cfg.project_path = PYCONF.Reference(project_pyconf_cfg, + PYCONF.DOLLAR, + 'PWD') + + # Write the project pyconf file + project_file_name = os.path.basename(project_file_path) + project_pyconf_tmp_path = os.path.join(tmp_working_dir, project_file_name) + ff = open(project_pyconf_tmp_path, 'w') + ff.write("#!/usr/bin/env python\n#-*- coding:utf-8 -*-\n\n") + project_pyconf_cfg.__save__(ff, 1) + ff.close() + d_project["Project hat file"] = (project_pyconf_tmp_path, project_file_name) + + return d_project
+ +
[docs]def add_readme(config, options, where): + readme_path = os.path.join(where, "README") + with codecs.open(readme_path, "w", 'utf-8') as f: + + # templates for building the header + readme_header=""" +# This package was generated with sat $version +# Date: $date +# User: $user +# Distribution : $dist + +In the following, $$ROOT represents the directory where you have installed +SALOME (the directory where this file is located). + +""" + readme_compilation_with_binaries=""" + +compilation based on the binaries used as prerequisites +======================================================= + +If you fail to compile the complete application (for example because +you are not root on your system and cannot install missing packages), you +may try a partial compilation based on the binaries. +For that it is necessary to copy the binaries from BINARIES to INSTALL, +and do some substitutions on cmake and .la files (replace the build directories +with local paths). +The procedure to do it is: + 1) Remove or rename INSTALL directory if it exists + 2) Execute the shell script install_bin.sh: + >> cd $ROOT + >> ./install_bin.sh + 3) Use SalomeTool (as explained in Sources section) and compile only the + modules you need to (with -p option) + +""" + readme_header_tpl=string.Template(readme_header) + readme_template_path_bin = os.path.join(config.VARS.internal_dir, + "README_BIN.template") + readme_template_path_bin_launcher = os.path.join(config.VARS.internal_dir, + "README_LAUNCHER.template") + readme_template_path_bin_virtapp = os.path.join(config.VARS.internal_dir, + "README_BIN_VIRTUAL_APP.template") + readme_template_path_src = os.path.join(config.VARS.internal_dir, + "README_SRC.template") + readme_template_path_pro = os.path.join(config.VARS.internal_dir, + "README_PROJECT.template") + readme_template_path_sat = os.path.join(config.VARS.internal_dir, + "README_SAT.template") + + # prepare substitution dictionary + d = dict() + d['user'] = config.VARS.user + d['date'] = datetime.datetime.now().strftime("%Y-%m-%d %H:%M") + d['version'] = config.INTERNAL.sat_version + d['dist'] = config.VARS.dist + f.write(readme_header_tpl.substitute(d)) # write the general header (common) + + if options.binaries or options.sources: + d['application'] = config.VARS.application + f.write("# Application: " + d['application'] + "\n") + if 'KERNEL' in config.APPLICATION.products: + VersionSalome = src.get_salome_version(config) + # Case where SALOME has the launcher that uses the SalomeContext API + if VersionSalome >= 730: + d['launcher'] = config.APPLICATION.profile.launcher_name + else: + d['virtual_app'] = 'runAppli' # this info is not used now) + + # write the specific sections + if options.binaries: + f.write(src.template.substitute(readme_template_path_bin, d)) + if "virtual_app" in d: + f.write(src.template.substitute(readme_template_path_bin_virtapp, d)) + if "launcher" in d: + f.write(src.template.substitute(readme_template_path_bin_launcher, d)) + + if options.sources: + f.write(src.template.substitute(readme_template_path_src, d)) + + if options.binaries and options.sources: + f.write(readme_compilation_with_binaries) + + if options.project: + f.write(src.template.substitute(readme_template_path_pro, d)) + + if options.sat: + f.write(src.template.substitute(readme_template_path_sat, d)) + + return readme_path
+ +
[docs]def update_config(config, prop, value): + """ + Remove from config.APPLICATION.products the products + that have the property given as input. + + :param config: (Config) The global config. + :param prop: (str) The property to filter + :param value: (str) The value of the property to filter + """ + src.check_config_has_application(config) + l_product_to_remove = [] + for product_name in config.APPLICATION.products.keys(): + prod_cfg = src.product.get_product_config(config, product_name) + if src.get_property_in_product_cfg(prod_cfg, prop) == value: + l_product_to_remove.append(product_name) + for product_name in l_product_to_remove: + config.APPLICATION.products.__delitem__(product_name)
+
+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/doc/build/html/_modules/commands/patch.html b/doc/build/html/_modules/commands/patch.html new file mode 100644 index 0000000..c265a07 --- /dev/null +++ b/doc/build/html/_modules/commands/patch.html @@ -0,0 +1,300 @@ + + + + + + + + commands.patch — salomeTools 5.0.0dev documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +

Source code for commands.patch

+#!/usr/bin/env python
+#-*- coding:utf-8 -*-
+
+#  Copyright (C) 2010-2012  CEA/DEN
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+import os
+import subprocess
+
+import src.debug as DBG
+import src.returnCode as RCO
+import src.utilsSat as UTS
+from src.salomeTools import _BaseCommand
+import commands.prepare
+
+########################################################################
+# Command class
+########################################################################
+
[docs]class Command(_BaseCommand): + """ + The patch command apply the patches on the sources of the application products + if there is any. + + examples: + >> sat patch SALOME --products qt,boost + """ + + name = "patch" + +
[docs] def getParser(self): + """Define all options for command 'sat patch <options>'""" + parser = self.getParserWithHelp() + parser.add_option('p', 'products', 'list2', 'products', + _('Optional: products to get the sources. This option can be' + ' passed several time to get the sources of several products.')) + return parser
+ +
[docs] def run(self, cmd_arguments): + """method called for command 'sat patch <options>'""" + argList = self.assumeAsList(cmd_arguments) + + # print general help and returns + if len(argList) == 0: + self.print_help() + return RCO.ReturnCode("OK", "No arguments, as 'sat %s --help'" % self.name) + + self._options, remaindersArgs = self.parseArguments(argList) + + if self._options.help: + self.print_help() + return RCO.ReturnCode("OK", "Done 'sat %s --help'" % self.name) + + # shortcuts + runner = self.getRunner() + config = self.getConfig() + logger = self.getLogger() + options = self.getOptions() + + # check that the command has been called with an application + src.check_config_has_application( config ) + + # Print some informations + logger.info("Patching sources of the application %s\n" % \ + UTS.blue(config.VARS.application)) + + logger.info(' workdir = %s\n\n"', UTS.blue(config.APPLICATION.workdir)) + + # Get the products list with products informations regarding the options + products_infos = commands.prepare.get_products_list(options, config, logger) + + # Get the maximum name length in order to format the terminal display + max_product_name_len = 1 + if len(products_infos) > 0: + max_product_name_len = max(map(lambda l: len(l), products_infos[0])) + 4 + + # The loop on all the products on which to apply the patches + good_result = 0 + for __, product_info in products_infos: + # Apply the patch + return_code, patch_res = apply_patch(config, + product_info, + max_product_name_len, + logger) + logger.info(patch_res) + if return_code: + good_result += 1 + + # Display the results (how much passed, how much failed, etc...) + + logger.info("\n") + if good_result == len(products_infos): + status = "OK" + else: + status = "KO" + + # write results + msg = ("\nPatching sources of the application: <%s> (%d/%d)\n") % \ + (status, good_result, len(products_infos)) + logger.info(msg) + + return RCO.ReturnCode(status, msg)
+ + +
[docs]def apply_patch(config, product_info, max_product_name_len, logger): + """The method called to apply patches on a product + + :param config: (Config) The global configuration + :param product_info: (Config) + The configuration specific to the product to be patched + :param logger: (Logger: + The logger instance to use for the display and logging + :return: (RCO.ReturnCode) + """ + + # if the product is native, do not apply patch + if src.product.product_is_native(product_info): + # display and log + logger.info('%s: ' % UTS.label(product_info.name)) + logger.info(' ' * (max_product_name_len - len(product_info.name))) + logger.info("\n") + msg = _("The %s product is native. Do not apply any patch") % product_info.name + logger.info(msg + "\n") + return RCO.ReturnCode("OK", msg) + + if not "patches" in product_info or len(product_info.patches) == 0: + # display and log + logger.info('%s: ' % UTS.label(product_info.name)) + logger.info(' ' * (max_product_name_len - len(product_info.name))) + logger.info("\n") + msg = _("No patch for the %s product") % product_info.name + logger.info(msg + "\n") + return RCO.ReturnCode("OK", msg) + else: + # display and log + logger.info('%s: ' % UTS.label(product_info.name)) + logger.info(' ' * (max_product_name_len - len(product_info.name))) + logger.info("\n") + + if not os.path.exists(product_info.source_dir): + msg = _("No sources found for the %s product") % product_info.name + logger.error(UTS.red(msg)) + return RCO.ReturnCode("KO", msg) + + # At this point, there one or more patches and the source directory exists + retcode = [] + res = [] + # Loop on all the patches of the product + for patch in product_info.patches: + details = [] + + # Check the existence and apply the patch + if os.path.isfile(patch): + patch_cmd = "patch -p1 < %s" % patch + + # Write the command in the terminal if verbose level is at 5 + logger.info(" >%s\n" % patch_cmd) + + # Write the command in the log file (can be seen using 'sat log') + logger.logTxtFile.write("\n >%s\n" % patch_cmd) + logger.logTxtFile.flush() + + # Call the command + res_cmd = subprocess.call( + patch_cmd, + shell=True, + cwd=product_info.source_dir, + stdout=logger.logTxtFile, + stderr=subprocess.STDOUT ) + + res_cmd = (res_cmd == 0) + else: + res_cmd = False + details.append(" " + UTS.red(_("Not a valid patch: %s\n")) % patch) + + res.append(res_cmd) + + if res_cmd: + message = _("Apply patch %s") % UTS.blue(patch) + else: + message = _("Failed to apply patch %s") % UTS.red(patch) + + if config.USER.output_verbose_level >= 3: + retcode.append(" %s" % message) + else: + retcode.append("%s: %s" % (product_info.name, message)) + + if len(details) > 0: + retcode.extend(details) + + if False in res: + rc = "KO" + else: + rc = "OK" + + return RCO.ReturnCode(rc, "\n".join(retcode))
+
+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/doc/build/html/_modules/commands/prepare.html b/doc/build/html/_modules/commands/prepare.html new file mode 100644 index 0000000..0a65cd5 --- /dev/null +++ b/doc/build/html/_modules/commands/prepare.html @@ -0,0 +1,299 @@ + + + + + + + + commands.prepare — salomeTools 5.0.0dev documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +

Source code for commands.prepare

+#!/usr/bin/env python
+#-*- coding:utf-8 -*-
+
+#  Copyright (C) 2010-2012  CEA/DEN
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+import os
+import re
+
+import src.debug as DBG
+import src.returnCode as RCO
+from src.salomeTools import _BaseCommand
+
+########################################################################
+# Command class
+########################################################################
+
[docs]class Command(_BaseCommand): + """ + The prepare command gets the sources of the application products + and apply the patches if there is any. + + examples: + >> sat prepare SALOME --products KERNEL,GUI + """ + + name = "prepare" + +
[docs] def getParser(self): + """Define all options for command 'sat prepare <options>'""" + parser = self.getParserWithHelp() + parser.add_option( + 'p', 'products', 'list2', 'products', + _('Optional: products to prepare. This option can be' + ' passed several time to prepare several products.')) + parser.add_option( + 'f', 'force', 'boolean', 'force', + _("Optional: force to prepare the products in development mode.")) + parser.add_option( + '', 'force_patch', 'boolean', 'force_patch', + _("Optional: force to apply patch to the products in development mode.")) + return parser
+ +
[docs] def run(self, cmd_arguments): + """method called for command 'sat prepare <options>'""" + argList = self.assumeAsList(cmd_arguments) + + # print general help and returns + if len(argList) == 0: + self.print_help() + return RCO.ReturnCode("OK", "No arguments, as 'sat %s --help'" % self.name) + + self._options, remaindersArgs = self.parseArguments(argList) + + if self._options.help: + self.print_help() + return RCO.ReturnCode("OK", "Done 'sat %s --help'" % self.name) + + # shortcuts + runner = self.getRunner() + config = self.getConfig() + logger = self.getLogger() + options = self.getOptions() + + # check that the command has been called with an application + src.check_config_has_application( config ) + + products_infos = self.get_products_list(options, config, logger) + + # Construct the arguments to pass to the clean, source and patch commands + args_appli = config.VARS.application + ' ' + args_product_opt = '--products ' + if options.products: + for p_name in options.products: + args_product_opt += ',' + p_name + else: + for p_name, __ in products_infos: + args_product_opt += ',' + p_name + + ldev_products = [p for p in products_infos if src.product.product_is_dev(p[1])] + args_product_opt_clean = args_product_opt + if not options.force and len(ldev_products) > 0: + l_products_not_getted = find_products_already_getted(ldev_products) + if len(l_products_not_getted) > 0: + msg = _("""\ +Do not get the source of the following products in development mode. +Use the --force option to overwrite it. +""") + logger.error(UTS.red(msg)) + args_product_opt_clean = remove_products(args_product_opt_clean, + l_products_not_getted, + logger) + + + args_product_opt_patch = args_product_opt + if not options.force_patch and len(ldev_products) > 0: + l_products_with_patchs = find_products_with_patchs(ldev_products) + if len(l_products_with_patchs) > 0: + msg = _(""" +Do not patch the following products in development mode. +Use the --force_patch option to overwrite it. +""") + logger.error(UTS.red(msg)) + args_product_opt_patch = remove_products(args_product_opt_patch, + l_products_with_patchs, + logger) + + # Construct the final commands arguments + args_clean = args_appli + args_product_opt_clean + " --sources" + args_source = args_appli + args_product_opt + args_patch = args_appli + args_product_opt_patch + + # If there is no more any product in the command arguments, + # do not call the concerned command + oExpr = re.compile("^--products *$") + do_clean = not(oExpr.search(args_product_opt_clean)) + do_source = not(oExpr.search(args_product_opt)) + do_patch = not(oExpr.search(args_product_opt_patch)) + + + # Initialize the results to Ok but nothing done status + res_clean = RCO.ReturnCode("OK", "nothing done") + res_source = RCO.ReturnCode("OK", "nothing done") + res_patch = RCO.ReturnCode("OK", "nothing done") + + # return res_clean + res_source + res_patch + + # Call the commands using the API + if do_clean: + msg = _("Clean the source directories ...") + logger.info(msg) + DBG.tofix("args_clean and TODO remove returns", args_clean, True) + res_clean = runner.getCommand("clean").run(args_clean) + return res_clean + res_source + res_patch + if do_source: + msg = _("Get the sources of the products ...") + logger.debug(msg) + res_source = runner.getCommand("source").run(args_source) + if do_patch: + msg = _("Patch the product sources (if any) ...") + logger.debug(msg) + res_patch = runner.getCommand("patch").run(args_patch) + + return res_clean + res_source + res_patch
+ + +
[docs]def remove_products(arguments, l_products_info, logger): + """Removes the products in l_products_info from arguments list. + + :param arguments: (str) The arguments from which to remove products + :param l_products_info: (list) + List of (str, Config) => (product_name, product_info) + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (str) The updated arguments. + """ + args = arguments + for i, (product_name, __) in enumerate(l_products_info): + args = args.replace(',' + product_name, '') + end_text = ', ' + if i+1 == len(l_products_info): + end_text = '\n' + logger.info(product_name + end_text) + return args
+ +
[docs]def find_products_already_getted(l_products): + """Returns the list of products that have an existing source directory. + + :param l_products: (list) The list of products to check + :return: (list) + The list of product configurations + that have an existing source directory. + """ + l_res = [] + for p_name_p_cfg in l_products: + __, prod_cfg = p_name_p_cfg + if os.path.exists(prod_cfg.source_dir): + l_res.append(p_name_p_cfg) + return l_res
+ +
[docs]def find_products_with_patchs(l_products): + """Returns the list of products that have one or more patches. + + :param l_products: (list) The list of products to check + :return: (list) + The list of product configurations + that have one or more patches. + """ + l_res = [] + for p_name_p_cfg in l_products: + __, prod_cfg = p_name_p_cfg + l_patchs = src.get_cfg_param(prod_cfg, "patches", []) + if len(l_patchs)>0: + l_res.append(p_name_p_cfg) + return l_res
+
+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/doc/build/html/_modules/commands/profile.html b/doc/build/html/_modules/commands/profile.html new file mode 100644 index 0000000..9ff5faa --- /dev/null +++ b/doc/build/html/_modules/commands/profile.html @@ -0,0 +1,363 @@ + + + + + + + + commands.profile — salomeTools 5.0.0dev documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +

Source code for commands.profile

+#!/usr/bin/env python
+#-*- coding:utf-8 -*-
+
+#  Copyright (C) 2010-2012  CEA/DEN
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+import shutil
+import subprocess
+
+import src.debug as DBG
+import src.returnCode as RCO
+import src.pyconf as PYCONF
+from src.salomeTools import _BaseCommand
+
+########################################################################
+# Command class
+########################################################################
+
[docs]class Command(_BaseCommand): + """\ + The profile command creates default profile. + + examples: + >> sat profile [PRODUCT] + >> sat profile --prefix (string) + >> sat profile --name (string) + >> sat profile --force + >> sat profile --version (string) + >> sat profile --slogan (string) + """ + + name = "profile" + +
[docs] def getParser(self): + """Define all options for command 'sat profile <options>'""" + parser = self.getParserWithHelp() + parser.add_option( + 'p', 'prefix', 'string', 'prefix', + _("Where the profile's sources will be generated.") ) + parser.add_option( + 'n', 'name', 'string', 'name', + _("Name of the profile's sources. [Default: '${config.PRODUCT.name}_PROFILE]") ) + parser.add_option( + 'f', 'force', 'boolean', 'force', + _("Overwrites existing sources.") ) + parser.add_option( + 'u', 'no_update', 'boolean', 'no_update', + _("Does not update pyconf file.") ) + parser.add_option( + 'v', 'version', 'string', 'version', + _("Version of the application. [Default: 1.0]"), '1.0' ) + parser.add_option( + 's', 'slogan', 'string', 'slogan', + _("Slogan of the application.") ) + return parser
+ +
[docs] def run(self, cmd_arguments): + """method called for command 'sat profile <options>'""" + argList = self.assumeAsList(cmd_arguments) + + # print general help and returns + if len(argList) == 0: + self.print_help() + return RCO.ReturnCode("OK", "No arguments, as 'sat %s --help'" % self.name) + + self._options, remaindersArgs = self.parseArguments(argList) + + if self._options.help: + self.print_help() + return RCO.ReturnCode("OK", "Done 'sat %s --help'" % self.name) + + # shortcuts + runner = self.getRunner() + config = self.getConfig() + logger = self.getLogger() + options = self.getOptions() + + src.check_config_has_application(config) + + if options.prefix is None: + msg = _("The --%s argument is required\n") % "prefix" + logger.error(msg) + return RCO.ReturnCode("KO", msg) + + retcode = generate_profile_sources(config, options, logger) + + if not options.no_update : + update_pyconf(config, options) + + return retcode
+ + +# Class that overrides common.Reference +# in order to manipulate fields starting with '@' +
[docs]class profileReference( PYCONF.Reference ): + def __str__(self): + s = self.elements[0] + for tt, tv in self.elements[1:]: + if tt == PYCONF.DOT: + s += '.%s' % tv + else: + s += '[%r]' % tv + if self.type == PYCONF.BACKTICK: + return PYCONF.BACKTICK + s + PYCONF.BACKTICK + elif self.type == PYCONF.AT: + return PYCONF.AT + s + else: + return PYCONF.DOLLAR + s
+ +## +# Class that overrides how fields starting with '@' are read. +
[docs]class profileConfigReader( PYCONF.ConfigReader ) : +
[docs] def parseMapping(self, parent, suffix): + if self.token[0] == PYCONF.LCURLY: + self.match(PYCONF.LCURLY) + rv = PYCONF.Mapping(parent) + rv.setPath( + PYCONF.makePath(object.__getattribute__(parent, 'path'), + suffix)) + self.parseMappingBody(rv) + self.match(PYCONF.RCURLY) + else: + self.match(PYCONF.AT) + __, fn = self.match('"') + rv = profileReference(self, PYCONF.AT, fn) + return rv
+ + + +## +# Gets the profile name +
[docs]def get_profile_name ( options, config ): + if options.name : + res = options.name + else : + res = config.APPLICATION.name + "_PROFILE" + return res
+ +
[docs]def generate_profile_sources( config, options, logger ): + """ + Generates the sources of the profile + """ + #Check script app-quickstart.py exists + kernel_cfg = src.product.get_product_config(config, "KERNEL") + kernel_root_dir = kernel_cfg.install_dir + if not src.product.check_installation(kernel_cfg): + raise Exception(_("KERNEL is not installed")) + script = os.path.join(kernel_root_dir,"bin","salome","app-quickstart.py") + if not os.path.exists( script ): + raise Exception( _("KERNEL's install has not the script app-quickstart.py") ) + + # Check that GUI is installed + gui_cfg = src.product.get_product_config(config, "GUI") + gui_root_dir = gui_cfg.install_dir + if not src.product.check_installation(gui_cfg): + raise Exception(_("GUI is not installed")) + + #Set prefix option passed to app-quickstart.py + name = get_profile_name ( options, config ) + prefix = os.path.join( options.prefix, name ) + if os.path.exists( prefix ) : + if not options.force : + raise Exception( + _("The path %s already exists, use option --force to remove it.") % prefix ) + else : + shutil.rmtree( prefix ) + + #Set name option passed to app-quickstart.py + if name.upper().endswith("_PROFILE"): + name = name[:-8] + + #Write command line that calls app-quickstart.py + command = "python %s --prefix=%s --name=%s --modules=_NO_ --version=%s" % \ + ( script, prefix, name, options.version ) + if options.force : + command += " --force" + if options.slogan : + command += " --slogan=%s" % options.slogan + logger.debug("\n>" + command + "\n") + + #Run command + os.environ["KERNEL_ROOT_DIR"] = kernel_root_dir + os.environ["GUI_ROOT_DIR"] = gui_root_dir + res = subprocess.call(command, + shell=True, + env=os.environ, + stdout=logger.logTxtFile, + stderr=subprocess.STDOUT) + #Check result of command + if res != 0: + raise Exception(_("Cannot create application, code = %d\n") % res) + else: + logger.info( _("Profile sources were generated in directory %s.\n" % prefix) ) + return res
+ + +
[docs]def update_pyconf( config, options, logger ): + """ + Updates the pyconf + """ + #Save previous version + pyconf = config.VARS.product + '.pyconf' + pyconfBackup = config.VARS.product + '-backup.pyconf' + logger.info( _("Updating %s (previous version saved as %s." ) % (pyconf, pyconfBackup)) + path = config.getPath( pyconf ) + shutil.copyfile( os.path.join( path, pyconf ), + os.path.join( path, pyconfBackup ) ) + + #Load config + cfg = PYCONF.Config( ) + object.__setattr__( cfg, 'reader', profileConfigReader( cfg ) ) + cfg.load( PYCONF.defaultStreamOpener( os.path.join( path, pyconf ) ) ) + + #Check if profile is in APPLICATION.products + profile = get_profile_name ( options, config ) + if not profile in cfg.APPLICATION.products: + cfg.APPLICATION.products.append( profile, None ) + + #Check if profile is in APPLICATION + if not 'profile' in cfg.APPLICATION: + cfg.APPLICATION.addMapping( 'profile', PYCONF.Mapping(), None ) + cfg.APPLICATION.profile.addMapping( 'module', profile, None ) + cfg.APPLICATION.profile.addMapping( 'launcher_name', + config.VARS.product.lower(), None ) + + #Check if profile info is in PRODUCTS + if not 'PRODUCTS' in cfg: + cfg.addMapping( 'PRODUCTS', PYCONF.Mapping(), None ) + + if not profile in cfg.PRODUCTS: + cfg.PRODUCTS.addMapping( profile, PYCONF.Mapping(), None ) + cfg.PRODUCTS[profile].addMapping( 'default', PYCONF.Mapping(), + None ) + prf = cfg.TOOLS.common.module_info[profile].default + prf.addMapping( 'name', profile, None ) + prf.addMapping( 'get_source', 'archive', None ) + prf.addMapping( 'build_source', 'cmake', None ) + prf.addMapping( 'archive_info', PYCONF.Mapping(), None ) + prf.archive_info.addMapping( + 'name', os.path.join(os.path.abspath(options.prefix), profile), None ) + tmp = "APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name" + prf.addMapping( 'source_dir', + PYCONF.Reference(cfg, PYCONF.DOLLAR, tmp ), + None ) + tmp = "APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name" + prf.addMapping( 'build_dir', + PYCONF.Reference(cfg, PYCONF.DOLLAR, tmp ), + None ) + prf.addMapping( 'depend', PYCONF.Sequence(), None ) + prf.depend.append( 'KERNEL', None ) + prf.depend.append( 'GUI', None ) + prf.depend.append( 'Python', None ) + prf.depend.append( 'Sphinx', None ) + prf.depend.append( 'qt', None ) + prf.addMapping( 'opt_depend', PYCONF.Sequence(), None ) + + #Save config + f = file( os.path.join( path, pyconf ) , 'w') + cfg.__save__(f)
+
+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/doc/build/html/_modules/commands/run.html b/doc/build/html/_modules/commands/run.html new file mode 100644 index 0000000..6104bf3 --- /dev/null +++ b/doc/build/html/_modules/commands/run.html @@ -0,0 +1,199 @@ + + + + + + + + commands.run — salomeTools 5.0.0dev documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +

Source code for commands.run

+#!/usr/bin/env python
+#-*- coding:utf-8 -*-
+
+#  Copyright (C) 2010-2012  CEA/DEN
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+import os
+import subprocess
+
+import src.debug as DBG
+import src.returnCode as RCO
+import src.utilsSat as UTS
+from src.salomeTools import _BaseCommand
+
+########################################################################
+# Command class
+########################################################################
+
[docs]class Command(_BaseCommand): + """\ + The run command runs the application launcher with the given arguments. + + examples: + >> sat run SALOME + """ + + name = "run" + +
[docs] def getParser(self): + """Define all options for command 'sat run <options>'""" + parser = self.getParserWithHelp() # no options yet + return parser
+ +
[docs] def run(self, cmd_arguments): + """method called for command 'sat run <options>'""" + argList = self.assumeAsList(cmd_arguments) + + # print general help and returns + if len(argList) == 0: + self.print_help() + return RCO.ReturnCode("OK", "No arguments, as 'sat %s --help'" % self.name) + + self._options, remaindersArgs = self.parseArguments(argList) + + if self._options.help: + self.print_help() + return RCO.ReturnCode("OK", "Done 'sat %s --help'" % self.name) + + # shortcuts + runner = self.getRunner() + config = self.getConfig() + logger = self.getLogger() + options = self.getOptions() + + # check for product + src.check_config_has_application(config) + + # Determine launcher path + launcher_name = src.get_launcher_name(config) + launcher_dir = config.APPLICATION.workdir + + # Check the launcher existence + if launcher_name not in os.listdir(launcher_dir): + message = _("""\ +The launcher %(1)s was not found in directory '%(2)s'. +Did you run the command 'sat launcher' ?\n""") % {"1": launcher_name, "2": launcher_dir} + raise Exception(message) + + launcher_path = os.path.join(launcher_dir, launcher_name) + + if not os.path.exists(launcher_path): + message = _("""\ +The launcher at path '%s' is missing. +Did you run the command 'sat launcher' ?\n""") % launcher_path + raise Exception(message) + + # Determine the command to launch (add the additional arguments) + command = launcher_path + " " + " ".join(args) + + # Print the command + logger.info(_("Executed command <blue>%s<reset> Launching ...\n") % command) + + # Run the launcher + subprocess.call(command, + shell=True, + stdout=logger.logTxtFile, + stderr=subprocess.STDOUT) + + # Display information: how to get the logs + msg1 = _("End of 'sat run'. To see traces, type:") + msg2 = UTS.label("sat log " + config.VARS.application) + msg = "%s\n%s\n" % (msg1, msg2) + logger.info(msg) + + return RCO.ReturnCode("OK", msg)
+
+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/doc/build/html/_modules/commands/script.html b/doc/build/html/_modules/commands/script.html new file mode 100644 index 0000000..8cc0183 --- /dev/null +++ b/doc/build/html/_modules/commands/script.html @@ -0,0 +1,328 @@ + + + + + + + + commands.script — salomeTools 5.0.0dev documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +

Source code for commands.script

+#!/usr/bin/env python
+#-*- coding:utf-8 -*-
+
+#  Copyright (C) 2010-2012  CEA/DEN
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+
+import src.debug as DBG
+import src.returnCode as RCO
+from src.salomeTools import _BaseCommand
+
+########################################################################
+# Command class
+########################################################################
+
[docs]class Command(_BaseCommand): + """\ + The script command executes the script(s) of the the given products in the build directory. + This is done only for the products that are constructed using a script (build_source : 'script'). + Otherwise, nothing is done. + + examples: + >> sat script SALOME --products Python,numpy + """ + + name = "script" + +
[docs] def getParser(self): + """Define all options for the command 'sat script <options>'""" + parser = self.getParserWithHelp() + parser.add_option('p', 'products', 'list2', 'products', + _('Optional: products to configure. This option can be' + ' passed several time to configure several products.')) + parser.add_option('', 'nb_proc', 'int', 'nb_proc', + _('Optional: The number of processors to use in the script if the make ' + 'command is used in it.\n\tWarning: the script has to be correctly written ' + 'if you want this option to work.\n\tThe $MAKE_OPTIONS has to be ' + 'used.'), 0) + return parser
+ +
[docs] def run(self, cmd_arguments): + """method called for command 'sat script <options>'""" + argList = self.assumeAsList(cmd_arguments) + + # print general help and returns + if len(argList) == 0: + self.print_help() + return RCO.ReturnCode("OK", "No arguments, as 'sat %s --help'" % self.name) + + self._options, remaindersArgs = self.parseArguments(argList) + + if self._options.help: + self.print_help() + return RCO.ReturnCode("OK", "Done 'sat %s --help'" % self.name) + + # shortcuts + runner = self.getRunner() + config = self.getConfig() + logger = self.getLogger() + options = self.getOptions() + + # check that the command has been called with an application + src.check_config_has_application( config ) + + # Get the list of products to treat + products_infos = get_products_list(options, config, logger) + + # Print some informations + msg = ('Executing the script in the build directories of the application %s\n') % \ + UTS.label(config.VARS.application) + logger.info(msg) + + info = [(_("BUILD directory"), os.path.join(config.APPLICATION.workdir, 'BUILD'))] + UTS.logger_info_tuples(logger, info) + + # Call the function that will loop over all the products and execute + # the right command(s) + if options.nb_proc is None: + options.nb_proc = 0 + res = run_script_all_products(config, + products_infos, + options.nb_proc, + logger) + + # Print the final state + nb_products = len(products_infos) + if res == 0: + final_status = "<OK>" + else: + final_status = "<KO>" + + logger.info( _("\nScript: %(s (%d/%d)\n") % \ + (final_status, nb_products - res, nb_products) ) + + return res
+ + +
[docs]def get_products_list(options, cfg, logger): + """ + Gives the product list with their informations from + configuration regarding the passed options. + + :param options: (Options) + The Options instance that stores the commands arguments + :param cfg: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (list) The list of (product name, product_informations). + """ + # Get the products to be prepared, regarding the options + if options.products is None: + # No options, get all products sources + products = cfg.APPLICATION.products + else: + # if option --products, check that all products of the command line + # are present in the application. + products = options.products + for p in products: + if p not in cfg.APPLICATION.products: + raise Exception(_("Product %(product)s " + "not defined in application %(application)s") % \ + { 'product': p, 'application': cfg.VARS.application} ) + + # Construct the list of tuple containing + # the products name and their definition + products_infos = src.product.get_products_infos(products, cfg) + + products_infos = [pi for pi in products_infos if not( + src.product.product_is_native(pi[1]) or + src.product.product_is_fixed(pi[1]))] + + return products_infos
+ +
[docs]def log_step(logger, header, step): + logger.info("\r%s%s" % (header, " " * 20)) + logger.info("\r%s%s" % (header, step)) + logger.debug("\n==== %s \n" % UTS.info(step))
+ +
[docs]def log_res_step(logger, res): + if res == 0: + logger.debug("<OK>\n") + else: + logger.debug("<KO>\n")
+ +
[docs]def run_script_all_products(config, products_infos, nb_proc, logger): + """Execute the script in each product build directory. + + :param config: (Config) The global configuration + :param products_info: (list) + List of (str, Config) => (product_name, product_info) + :param nb_proc: (int) The number of processors to use + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (int) The number of failing commands. + """ + res = 0 + for p_name_info in products_infos: + res_prod = run_script_of_product(p_name_info, + nb_proc, + config, + logger) + if res_prod != 0: + res += 1 + return res
+ +
[docs]def run_script_of_product(p_name_info, nb_proc, config, logger): + """ + Execute the proper configuration command(s) + in the product build directory. + + :param p_name_info: (tuple) + (str, Config) => (product_name, product_info) + :param nb_proc: (int) The number of processors to use + :param config: (Config) The global configuration + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (int) 1 if it fails, else 0. + """ + + p_name, p_info = p_name_info + + # Logging + header = _("Running script of %s") % UTS.label(p_name) + header += " %s " % ("." * (20 - len(p_name))) + logger.info("\n" + header) + + # Do nothing if he product is not compilable or has no compilation script + test1 = "properties" in p_info and \ + "compilation" in p_info.properties and \ + p_info.properties.compilation == "no" + if ( test1 or (not src.product.product_has_script(p_info)) ): + log_step(logger, header, "ignored") + logger.info("\n") + return 0 + + # Instantiate the class that manages all the construction commands + # like cmake, make, make install, make test, environment management, etc... + builder = src.compilation.Builder(config, logger, p_info) + + # Prepare the environment + log_step(logger, header, "PREPARE ENV") + res_prepare = builder.prepare() + log_res_step(logger, res_prepare) + + # Execute the script + len_end_line = 20 + script_path_display = UTS.label(p_info.compil_script) + log_step(logger, header, "SCRIPT " + script_path_display) + len_end_line += len(script_path_display) + res = builder.do_script_build(p_info.compil_script, number_of_proc=nb_proc) + log_res_step(logger, res) + + # Log the result + if res > 0: + logger.info("\r%s%s" % (header, " " * len_end_line)) + logger.info("\r" + header + "<KO>") + logger.debug("==== <KO> in script execution of %s\n" % p_name) + else: + logger.info("\r%s%s" % (header, " " * len_end_line)) + logger.info("\r" + header + "<OK>") + logger.debug("==== <OK> in script execution of %s\n" % p_name) + logger.info("\n") + + return res
+
+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/doc/build/html/_modules/commands/shell.html b/doc/build/html/_modules/commands/shell.html new file mode 100644 index 0000000..a9007c8 --- /dev/null +++ b/doc/build/html/_modules/commands/shell.html @@ -0,0 +1,183 @@ + + + + + + + + commands.shell — salomeTools 5.0.0dev documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +

Source code for commands.shell

+#!/usr/bin/env python
+#-*- coding:utf-8 -*-
+
+#  Copyright (C) 2010-2012  CEA/DEN
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+
+import subprocess
+
+import src.debug as DBG
+import src.returnCode as RCO
+from src.salomeTools import _BaseCommand
+
+########################################################################
+# Command class
+########################################################################
+
[docs]class Command(_BaseCommand): + """\ + The shell command executes the shell command passed as argument. + + examples: + >> sat shell --command 'ls -lt /tmp' + """ + + name = "shell" + +
[docs] def getParser(self): + """Define all options for the command 'sat shell <options>'""" + parser = self.getParserWithHelp() + parser.add_option('c', 'command', 'string', 'command', + _('Mandatory: The shell command to execute.'), "") + return parser
+ +
[docs] def run(self, cmd_arguments): + """method called for command 'sat shell <options>'""" + argList = self.assumeAsList(cmd_arguments) + + # print general help and returns + if len(argList) == 0: + self.print_help() + return RCO.ReturnCode("OK", "No arguments, as 'sat %s --help'" % self.name) + + self._options, remaindersArgs = self.parseArguments(argList) + + if self._options.help: + self.print_help() + return RCO.ReturnCode("OK", "Done 'sat %s --help'" % self.name) + + # shortcuts + runner = self.getRunner() + config = self.getConfig() + logger = self.getLogger() + options = self.getOptions() + + # Make sure the command option has been called + if not options.command: + msg = _("The option --command is required\n") + logger.error(msg) + return 1 + + # Print the input command + msg = _("Command to execute:\n%s\nExecution ... ") % options.command + logger.info(msg) + + # Call the input command + res = subprocess.call(options.command, + shell=True, + stdout=logger.logTxtFile, + stderr=subprocess.STDOUT) + + # Format the result to be 0 (success) or 1 (fail) + if res != 0: + status = "KO" + else: + status = "OK" + + logger.info("<%s>\n" % status) + return RCO.ReturnCode(status, "shell command done")
+
+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/doc/build/html/_modules/commands/source.html b/doc/build/html/_modules/commands/source.html new file mode 100644 index 0000000..064a397 --- /dev/null +++ b/doc/build/html/_modules/commands/source.html @@ -0,0 +1,630 @@ + + + + + + + + commands.source — salomeTools 5.0.0dev documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +

Source code for commands.source

+#!/usr/bin/env python
+#-*- coding:utf-8 -*-
+
+#  Copyright (C) 2010-2012  CEA/DEN
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+import os
+import shutil
+
+import src.debug as DBG
+import src.returnCode as RCO
+from src.salomeTools import _BaseCommand
+import src.system as SYSS
+
+
+########################################################################
+# Command class
+########################################################################
+
[docs]class Command(_BaseCommand): + """ + The source command gets the sources of the application products + from cvs, git or an archive. + + examples: + >> sat source SALOME --products KERNEL,GUI + """ + + name = "source" + +
[docs] def getParser(self): + """Define all options for command 'sat source <options>'""" + parser = self.getParserWithHelp() + parser.add_option('p', 'products', 'list2', 'products', + _('Optional: products from which to get the sources. This option can be' + ' passed several time to get the sources of several products.')) + return parser
+ +
[docs] def run(self, cmd_arguments): + """method called for command 'sat source <options>'""" + argList = self.assumeAsList(cmd_arguments) + + # print general help and returns + if len(argList) == 0: + self.print_help() + return RCO.ReturnCode("OK", "No arguments, as 'sat %s --help'" % self.name) + + self._options, remaindersArgs = self.parseArguments(argList) + + if self._options.help: + self.print_help() + return RCO.ReturnCode("OK", "Done 'sat %s --help'" % self.name) + + # shortcuts + runner = self.getRunner() + config = self.getConfig() + logger = self.getLogger() + options = self.getOptions() + + # check that the command has been called with an application + src.check_config_has_application( config ) + + # Print some informations + logger.info(_('Getting sources of the application %s\n') % \ + UTS.label(config.VARS.application), 1) + logger.info(" workdir = %s\n" % config.APPLICATION.workdir) + + # Get the products list with products informations regarding the options + products_infos = self.get_products_list(options, config, logger) + + # Call to the function that gets all the sources + good_result, results = get_all_product_sources(config, + products_infos, + logger) + + # Display the results (how much passed, how much failed, etc...) + details = [] + nbExpected = len(products_infos) + msgCount = "(%d/%d)" % (good_result, nbExpected) + if good_result == nbExpected: + status = "OK" + msg = _("Getting sources of the application") + logger.info("\n%s %s: <%s>.\n" % (msg, msgCount, status)) + else: + status = "KO" + msg = _("Some sources haven't been get") + details = [p for p in results if (results[product] == 0 or results[product] is None)] + details = " ".join(details) + logger.info("\n%s %s: <%s>.\n%s\n" % (msg, msgCount, status, details)) + + return RCO.ReturnCode(status, "%s %s" % msg, msgCount)
+ + +
[docs]def get_source_for_dev(config, product_info, source_dir, logger, pad): + """\ + Called if the product is in development mode + + :param config: (Config) The global configuration + :param product_info: (Config) + The configuration specific to the product to be prepared + :param source_dir: (Path) + The Path instance corresponding to the directory where to put the sources + :param logger: (Logger) + The logger instance to use for the display and logging + :param pad: (int) The gap to apply for the terminal display + :return: (bool) True if it succeed, else False + """ + + # Call the function corresponding to get the sources with True checkout + retcode = get_product_sources(config, + product_info, + True, + source_dir, + logger, + pad, + checkout=True) + # +2 because product name is followed by ': ' + logger.info("\n" + " " * (pad+2)) + logger.info('dev: %s ... ' % UTS.info(product_info.source_dir)) + + return retcode
+ +
[docs]def get_source_from_git(product_info, + source_dir, + logger, + pad, + is_dev=False, + environ = None): + """ + Called if the product is to be get in git mode + + :param product_info: (Config) + The configuration specific to the product to be prepared + :param source_dir: (Path) + The Path instance corresponding to the + directory where to put the sources + :param logger Logger: (Logger) + The logger instance to use for the display and logging + :param pad: (int) The gap to apply for the terminal display + :param is_dev: (bool) True if the product is in development mode + :param environ: (src.environment.Environ) + The environment to source when extracting. + :return: (bool) True if it succeed, else False + """ + # The str to display + coflag = 'git' + + # Get the repository address. (from repo_dev key if the product is + # in dev mode. + if is_dev and 'repo_dev' in product_info.git_info: + coflag = coflag.upper() + repo_git = product_info.git_info.repo_dev + else: + repo_git = product_info.git_info.repo + + # Display informations + msg = "'%s:%s" % (coflag, repo_git) + msg += " " * (pad + 50 - len(repo_git)) + msg += " tag:%s" % product_info.git_info.tag + msg += "%s. " % "." * (10 - len(product_info.git_info.tag)) + logger.info("\n" + msg) + + # Call the system function that do the extraction in git mode + retcode = SYSS.git_extract(repo_git, + product_info.git_info.tag, + source_dir, logger, environ) + return retcode
+ +
[docs]def get_source_from_archive(product_info, source_dir, logger): + """The method called if the product is to be get in archive mode + + :param product_info: (Config) + The configuration specific to + the product to be prepared + :param source_dir: (Path) + The Path instance corresponding to the directory + where to put the sources + :param logger: (Logger) + The logger instance to use for the display and logging + :return: (bool) True if it succeed, else False + """ + # check archive exists + if not os.path.exists(product_info.archive_info.archive_name): + raise Exception(_("Archive not found: '%s'") % \ + product_info.archive_info.archive_name) + + logger.info('arc:%s ... ' % UTS.info(product_info.archive_info.archive_name)) + # Call the system function that do the extraction in archive mode + retcode, NameExtractedDirectory = SYSS.archive_extract( + product_info.archive_info.archive_name, + source_dir.dir(), logger) + + # Rename the source directory if + # it does not match with product_info.source_dir + if (NameExtractedDirectory.replace('/', '') != + os.path.basename(product_info.source_dir)): + shutil.move(os.path.join(os.path.dirname(product_info.source_dir), + NameExtractedDirectory), + product_info.source_dir) + + return retcode
+ +
[docs]def get_source_from_dir(product_info, source_dir, logger): + + if "dir_info" not in product_info: + msg = _("You must put a dir_info section in the file %s.pyconf") % \ + product_info.name + logger.error(msg) + return False + + if "dir" not in product_info.dir_info: + msg = _("Error: you must put a dir in the dir_info section in the file %s.pyconf") % \ + product_info.name + logger.error(msg) + return False + + # check that source exists + if not os.path.exists(product_info.dir_info.dir): + msg = _("The dir %s defined in the file %s.pyconf does not exists") % \ + (product_info.dir_info.dir, product_info.name) + logger.error(msg) + return False + + logger.info('DIR: %s ... ' % UTS.info(product_info.dir_info.dir)) + retcode = src.Path(product_info.dir_info.dir).copy(source_dir) + return retcode
+ +
[docs]def get_source_from_cvs(user, + product_info, + source_dir, + checkout, + logger, + pad, + environ = None): + """ + The method called if the product is to be get in cvs mode + + :param user: (str) The user to use in for the cvs command + :param product_info: (Config) + The configuration specific to the product to be prepared + :param source_dir: (Path) + The Path instance corresponding to the directory + where to put the sources + :param checkout: (bool) If True, get the source in checkout mode + :param logger: (Logger) + The logger instance to use for the display and logging + :param pad: (int) The gap to apply for the terminal display + :param environ: (src.environment.Environ) + The environment to source when extracting. + :return: (bool) True if it succeed, else False + """ + # Get the protocol to use in the command + if "protocol" in product_info.cvs_info: + protocol = product_info.cvs_info.protocol + else: + protocol = "pserver" + + # Construct the line to display + if "protocol" in product_info.cvs_info: + cvs_line = "%s:%s@%s:%s" % \ + (protocol, user, product_info.cvs_info.server, + product_info.cvs_info.product_base) + else: + cvs_line = "%s / %s" % (product_info.cvs_info.server, + product_info.cvs_info.product_base) + + coflag = 'cvs' + if checkout: coflag = coflag.upper() + + msg = '%s:%s' % (coflag, cvs_line) + msg += " " * (pad + 50 - len(cvs_line)) + msg += " src:%s" % product_info.cvs_info.source + msg += " " * (pad + 1 - len(product_info.cvs_info.source)) + msg += " tag:%s" % product_info.cvs_info.tag + + # at least one '.' is visible + msg += " %s. " % ("." * (10 - len(product_info.cvs_info.tag))) + + logger.info(msg) + + # Call the system function that do the extraction in cvs mode + retcode = SYSS.cvs_extract(protocol, user, + product_info.cvs_info.server, + product_info.cvs_info.product_base, + product_info.cvs_info.tag, + product_info.cvs_info.source, + source_dir, logger, checkout, environ) + return retcode
+ +
[docs]def get_source_from_svn(user, + product_info, + source_dir, + checkout, + logger, + environ = None): + """The method called if the product is to be get in svn mode + + :param user: (str) The user to use in for the svn command + :param product_info: (Config) + The configuration specific to the product to be prepared + :param source_dir: (Path) + The Path instance corresponding to the directory + where to put the sources + :param checkout: (boolean) + If True, get the source in checkout mode + :param logger: (Logger) + The logger instance to use for the display and logging + :param environ: (src.environment.Environ) + The environment to source when extracting. + :return: (bool) True if it succeed, else False + """ + coflag = 'svn' + if checkout: coflag = coflag.upper() + + logger.info('%s:%s ... ' % (coflag, product_info.svn_info.repo)) + + # Call the system function that do the extraction in svn mode + retcode = SYSS.svn_extract(user, + product_info.svn_info.repo, + product_info.svn_info.tag, + source_dir, + logger, + checkout, + environ) + return retcode
+ +
[docs]def get_product_sources(config, + product_info, + is_dev, + source_dir, + logger, + pad, + checkout=False): + """Get the product sources. + + :param config: (Config) The global configuration + :param product_info: (Config) + The configuration specific to the product to be prepared + :param is_dev: (bool) True if the product is in development mode + :param source_dir: (Path) + The Path instance corresponding to the directory + where to put the sources + :param logger: (Logger) + The logger instance to use for the display and logging + :param pad: (int) The gap to apply for the terminal display + :param checkout: (bool) If True, get the source in checkout mode + :return: (bool) True if it succeed, else False + """ + + # Get the application environment + logger.info(_("Set the application environment\n")) + env_appli = src.environment.SalomeEnviron(config, + src.environment.Environ(dict(os.environ))) + env_appli.set_application_env(logger) + + # Call the right function to get sources regarding the product settings + if not checkout and is_dev: + return get_source_for_dev(config, + product_info, + source_dir, + logger, + pad) + + if product_info.get_source == "git": + return get_source_from_git(product_info, source_dir, logger, pad, + is_dev,env_appli) + + if product_info.get_source == "archive": + return get_source_from_archive(product_info, source_dir, logger) + + if product_info.get_source == "dir": + return get_source_from_dir(product_info, source_dir, logger) + + if product_info.get_source == "cvs": + cvs_user = config.USER.cvs_user + return get_source_from_cvs(cvs_user, + product_info, + source_dir, + checkout, + logger, + pad, + env_appli) + + if product_info.get_source == "svn": + svn_user = config.USER.svn_user + return get_source_from_svn(svn_user, product_info, source_dir, + checkout, + logger, + env_appli) + + if product_info.get_source == "native": + # skip + msg = "<OK>" + _("\ndo nothing because the product is of type 'native'.\n") + logger.info(msg) + return True + + if product_info.get_source == "fixed": + # skip + msg = "<OK>" + _("\ndo nothing because the product is of type 'fixed'.\n") + logger.info(msg) + return True + + # if the get_source is not in [git, archive, cvs, svn, fixed, native] + msg = _("Unknown get source method '%s' for product %s") % \ + ( product_info.get_source, product_info.name) + logger.info("%s ... " % msg) + return False
+ +
[docs]def get_all_product_sources(config, products, logger): + """Get all the product sources. + + :param config: (Config) The global configuration + :param products: (list) + The list of tuples (product name, product informations) + :param logger: (Logger) + The logger instance to be used for the logging + :return: (int,dict) + The tuple (number of success, dictionary product_name/success_fail) + """ + + # Initialize the variables that will count the fails and success + results = dict() + good_result = 0 + + # Get the maximum name length in order to format the terminal display + max_product_name_len = 1 + if len(products) > 0: + max_product_name_len = max(map(lambda l: len(l), products[0])) + 4 + + # The loop on all the products from which to get the sources + for product_name, product_info in products: + # get product name, product informations and the directory where to put + # the sources + if (not (src.product.product_is_fixed(product_info) or + src.product.product_is_native(product_info))): + source_dir = src.Path(product_info.source_dir) + else: + source_dir = src.Path('') + + # display and log + logger.info('%s: ' % UTS.label(product_name)) + logger.info(' ' * (max_product_name_len - len(product_name))) + + # Remove the existing source directory if + # the product is not in development mode + is_dev = src.product.product_is_dev(product_info) + if source_dir.exists(): + logger.info("<OK>\n") + msg = _("Nothing done because source directory existing yet.\n") + logger.info(msg) + good_result = good_result + 1 + # Do not get the sources and go to next product + continue + + # Call to the function that get the sources for one product + retcode = get_product_sources(config, + product_info, + is_dev, + source_dir, + logger, + max_product_name_len, + checkout=False) + + """ + if 'no_rpath' in product_info.keys(): + if product_info.no_rpath: + hack_no_rpath(config, product_info, logger) + """ + + # Check that the sources are correctly get using the files to be tested + # in product information + if retcode: + check_OK, wrong_path = check_sources(product_info, logger) + if not check_OK: + # Print the missing file path + msg = _("The required file %s does not exists.\n") % wrong_path + logger.error(msg) + retcode = False + + # show results + results[product_name] = retcode + if retcode: + # The case where it succeed + res = "<OK>" + good_result = good_result + 1 + else: + # The case where it failed + res = "<KO>" + + # print the result + if not(src.product.product_is_fixed(product_info) or + src.product.product_is_native(product_info)): + logger.info('%s\n' % res) + + return good_result, results
+ +
[docs]def check_sources(product_info, logger): + """ + Check that the sources are correctly get, + using the files to be tested in product information + + :param product_info: (Config) + The configuration specific to the product to be prepared + :param logger: (Logger) + The logger instance to be used for the logging + :return: (bool) + True if the files exists (or no files to test is provided). + """ + # Get the files to test if there is any + if ("present_files" in product_info and + "source" in product_info.present_files): + l_files_to_be_tested = product_info.present_files.source + res = True # all ok a priori + filesKo = "" # None + for file_path in l_files_to_be_tested: + # add source directory of the product + path_to_test = os.path.join(product_info.source_dir, file_path) + msg = _("File %s testing existence:" % path_to_test) + if not os.path.exists(path_to_test): + logger.debug("%s <KO>\n" % msg) + res = False + # return False, path_to_test #break at first + filesKo += path_to_test + "\n" # check all + else: + logger.debug("%s <OK>\n" % msg) + return res, filesKo
+
+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/doc/build/html/_modules/commands/template.html b/doc/build/html/_modules/commands/template.html new file mode 100644 index 0000000..9ff6542 --- /dev/null +++ b/doc/build/html/_modules/commands/template.html @@ -0,0 +1,615 @@ + + + + + + + + commands.template — salomeTools 5.0.0dev documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +

Source code for commands.template

+#!/usr/bin/env python
+#-*- coding:utf-8 -*-
+
+#  Copyright (C) 2010-2012  CEA/DEN
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+import os
+import string
+import shutil
+import subprocess
+import fnmatch
+import re
+
+import src.debug as DBG
+import src.returnCode as RCO
+import src.utilsSat as UTS
+from src.salomeTools import _BaseCommand
+import src.system as SYSS
+
+# Compatibility python 2/3 for input function
+# input stays input for python 3 and input = raw_input for python 2
+try: 
+    input = raw_input
+except NameError: 
+    pass
+
+########################################################################
+# Command class
+########################################################################
+
[docs]class Command(_BaseCommand): + """ + The template command creates the sources for a SALOME module from a template. + + examples: + >> sat template --name my_product_name --template PythonComponent --target /tmp + """ + + name = "template" + +
[docs] def getParser(self): + """Define all options for command 'sat template <options>'""" + parser = self.getParserWithHelp() + parser.add_option('n', 'name', 'string', 'name', + _("""\ +REQUIRED: the name of the module to create. + The name must be a single word in upper case with only alphanumeric characters. + When generating a c++ component the module's name must be suffixed with 'CPP'.""")) + parser.add_option('t', 'template', 'string', 'template', + _('REQUIRED: the template to use.')) + parser.add_option('', 'target', 'string', 'target', + _('REQUIRED: where to create the module.')) + parser.add_option('', 'param', 'string', 'param', + _("""\ +Optional: dictionary to generate the configuration for salomeTools. + Format is: --param param1=value1,param2=value2... (without spaces). + Note that when using this option you must supply all the values, + otherwise an error will be raised.""") ) + parser.add_option('', 'info', 'boolean', 'info', + _('Optional: Get information on the template.'), False) + return parser
+ +
[docs] def run(self, cmd_arguments): + """method called for command 'sat template <options>'""" + argList = self.assumeAsList(cmd_arguments) + + # print general help and returns + if len(argList) == 0: + self.print_help() + return RCO.ReturnCode("OK", "No arguments, as 'sat %s --help'" % self.name) + + self._options, remaindersArgs = self.parseArguments(argList) + + if self._options.help: + self.print_help() + return RCO.ReturnCode("OK", "Done 'sat %s --help'" % self.name) + + # shortcuts + runner = self.getRunner() + config = self.getConfig() + logger = self.getLogger() + options = self.getOptions() + + msg_miss = _("The --%s argument is required\n") + if options.template is None: + logger.error(msg_miss % "template") + return 1 + + if options.target is None and options.info is None: + logger.error(msg_miss % "target") + return 1 + + if "APPLICATION" in config: + msg = _("This command does not use a product.\n") + logger.error(msg) + return 1 + + if options.info: + return get_template_info(config, options.template, logger) + + if options.name is None: + logger.error(msg_miss % "name") + return 1 + + if not options.name.replace('_', '').isalnum(): + msg = _("""\ +Component name must contains only alphanumeric characters and no spaces\n""") + logger.error(msg) + return 1 + + if options.target is None: + logger.error(msg_miss % "target") + return 1 + + target_dir = os.path.join(options.target, options.name) + if os.path.exists(target_dir): + msg = _("The target already exists: %s\n") % target_dir + logger.error(msg) + return 1 + + msg = "" + msg += _('Create sources from template\n') + msg += ' destination = %s\n' % target_dir + msg += ' name = %\ns' % options.name + msg += ' template = %s\n' % options.template + logger.info(msg) + + conf_values = None + if options.param is not None: + conf_values = {} + for elt in options.param.split(","): + param_def = elt.strip().split('=') + if len(param_def) != 2: + msg = _("Bad parameter definition: '%s'\n") % elt + logger.error(msg) + return 1 + conf_values[param_def[0].strip()] = param_def[1].strip() + + retcode = prepare_from_template(config, options.name, options.template, + target_dir, conf_values, logger) + + if retcode == 0: + logger.info(_("The sources were created in %s\n") % UTS.info(target_dir)) + msg = _("Do not forget to put them in your version control system.\n") + logger.info("\n" + UTS.red(msg)) + else: + logger.info("\n") + + return retcode
+ +
[docs]class TParam: + def __init__(self, param_def, compo_name, dico=None): + self.default = "" + self.prompt = "" + self.check_method = None + + if isinstance(param_def, str): + self.name = param_def + elif isinstance(param_def, tuple): + self.name = param_def[0] + if len(param_def) > 1: + if dico is not None: self.default = param_def[1] % dico + else: self.default = param_def[1] + if len(param_def) > 2: self.prompt = param_def[2] + if len(param_def) > 3: self.check_method = param_def[3] + else: + raise Exception(_("ERROR in template parameter definition")) + + self.raw_prompt = self.prompt + if len(self.prompt) == 0: + self.prompt = _("value for '%s'") % self.name + self.prompt += "? " + if len(self.default) > 0: + self.prompt += "[%s] " % self.default + +
[docs] def check_value(self, val): + if self.check_method is None: + return len(val) > 0 + return len(val) > 0 and self.check_method(val)
+ +
[docs]def get_dico_param(dico, key, default): + if dico.has_key(key): + return dico[key] + return default
+ +
[docs]class TemplateSettings: + def __init__(self, compo_name, settings_file, target): + self.compo_name = compo_name + self.dico = None + self.target = target + + # read the settings + gdic, ldic = {}, {} + execfile(settings_file, gdic, ldic) + + # check required parameters in template.info + missing = [] + for pp in ["file_subst", "parameters"]: + if not ldic.has_key(pp): missing.append("'%s'" % pp) + if len(missing) > 0: + raise Exception( + _("Bad format in settings file! %s not defined.") % \ + ", ".join(missing) ) + + self.file_subst = ldic["file_subst"] + self.parameters = ldic['parameters'] + self.info = get_dico_param(ldic, "info", "").strip() + self.pyconf = get_dico_param(ldic, "pyconf", "") + self.post_command = get_dico_param(ldic, "post_command", "") + + # get the delimiter for the template + self.delimiter_char = get_dico_param(ldic, "delimiter", ":sat:") + + # get the ignore filter + self.ignore_filters = map(lambda l: l.strip(), + ldic["ignore_filters"].split(',')) + +
[docs] def has_pyconf(self): + return len(self.pyconf) > 0
+ +
[docs] def get_pyconf_parameters(self): + if len(self.pyconf) == 0: + return [] + return re.findall("%\((?P<name>\S[^\)]*)", self.pyconf)
+ + ## + # Check if the file needs to be parsed. +
[docs] def check_file_for_substitution(self, file_): + for filter_ in self.ignore_filters: + if fnmatch.fnmatchcase(file_, filter_): + return False + return True
+ +
[docs] def check_user_values(self, values): + if values is None: + return + + # create a list of all parameters (pyconf + list)) + pnames = self.get_pyconf_parameters() + for p in self.parameters: + tp = TParam(p, self.compo_name) + pnames.append(tp.name) + + # reduce the list + pnames = list(set(pnames)) # remove duplicates + + known_values = ["name", "Name", "NAME", "target", self.file_subst] + known_values.extend(values.keys()) + missing = [] + for p in pnames: + if p not in known_values: + missing.append(p) + + if len(missing) > 0: + raise Exception( + _("Missing parameters: %s") % ", ".join(missing) )
+ +
[docs] def get_parameters(self, conf_values=None): + if self.dico is not None: + return self.dico + + self.check_user_values(conf_values) + + # create dictionary with default values + dico = {} + dico["name"] = self.compo_name.lower() + dico["Name"] = self.compo_name.capitalize() + dico["NAME"] = self.compo_name + dico["target"] = self.target + dico[self.file_subst] = self.compo_name + # add user values if any + if conf_values is not None: + for p in conf_values.keys(): + dico[p] = conf_values[p] + + # ask user for values + for p in self.parameters: + tp = TParam(p, self.compo_name, dico) + if dico.has_key(tp.name): + continue + + val = "" + while not tp.check_value(val): + val = raw_input(tp.prompt) + if len(val) == 0 and len(tp.default) > 0: + val = tp.default + dico[tp.name] = val + + # ask for missing value for pyconf + pyconfparam = self.get_pyconf_parameters() + for p in filter(lambda l: not dico.has_key(l), pyconfparam): + rep = "" + while len(rep) == 0: + rep = raw_input("%s? " % p) + dico[p] = rep + + self.dico = dico + return self.dico
+ +
[docs]def search_template(config, template): + # search template + template_src_dir = "" + if os.path.isabs(template): + if os.path.exists(template): + template_src_dir = template + else: + # look in template directory + for td in [os.path.join(config.VARS.datadir, "templates")]: + zz = os.path.join(td, template) + if os.path.exists(zz): + template_src_dir = zz + break + + if len(template_src_dir) == 0: + raise Exception(_("Template not found: %s") % template) + + return template_src_dir
+ + +
[docs]def prepare_from_template(config, + name, + template, + target_dir, + conf_values, + logger): + """Prepares a module from a template.""" + template_src_dir = search_template(config, template) + res = 0 + + # copy the template + if os.path.isfile(template_src_dir): + logger.info(_("Extract template %s\n") % UTS.info(template)) + SYSS.archive_extract(template_src_dir, target_dir) + else: + logger.info(_("Copy template %s\n") % UTS.info(template)) + shutil.copytree(template_src_dir, target_dir) + + + compo_name = name + if name.endswith("CPP"): + compo_name = name[:-3] + + # read settings + settings_file = os.path.join(target_dir, "template.info") + if not os.path.exists(settings_file): + raise Exception(_("Settings file not found")) + tsettings = TemplateSettings(compo_name, settings_file, target_dir) + + # first rename the files + logger.debug(UTS.label(_("Rename files\n"))) + for root, dirs, files in os.walk(target_dir): + for fic in files: + ff = fic.replace(tsettings.file_subst, compo_name) + if ff != fic: + if os.path.exists(os.path.join(root, ff)): + raise Exception( + _("Destination file already exists: %s") % \ + os.path.join(root, ff) ) + logger.debug(" %s -> %s\n" % (fic, ff)) + os.rename(os.path.join(root, fic), os.path.join(root, ff)) + + # rename the directories + logger.debug(UTS.label(_("Rename directories\n"))) + for root, dirs, files in os.walk(target_dir, topdown=False): + for rep in dirs: + dd = rep.replace(tsettings.file_subst, compo_name) + if dd != rep: + if os.path.exists(os.path.join(root, dd)): + raise Exception( + _("Destination directory already exists: %s") % \ + os.path.join(root, dd) ) + logger.debug(" %s -> %s\n" % (rep, dd)) + os.rename(os.path.join(root, rep), os.path.join(root, dd)) + + # ask for missing parameters + logger.debug(UTS.label(_("Make substitution in files\n"))) + logger.debug(_("Delimiter =") + " %s\n" % tsettings.delimiter_char) + logger.debug(_("Ignore Filters =") + " %s\n" % ', '.join(tsettings.ignore_filters)) + dico = tsettings.get_parameters(conf_values) + + # override standard string.Template class to use the desire delimiter + class CompoTemplate(string.Template): + delimiter = tsettings.delimiter_char + + # do substitution + pathlen = len(target_dir) + 1 + for root, dirs, files in os.walk(target_dir): + for fic in files: + fpath = os.path.join(root, fic) + if not tsettings.check_file_for_substitution(fpath[pathlen:]): + logger.debug(" - %s\n" % fpath[pathlen:]) + continue + # read the file + m = file(fpath, 'r').read() + # make the substitution + template = CompoTemplate(m) + d = template.safe_substitute(dico) + # overwrite the file with substituted content + changed = " " + if d != m: + changed = "*" + file(fpath, 'w').write(d) + logger.debug(" %s %s\n" % (changed, fpath[pathlen:])) + + if not tsettings.has_pyconf: + logger.error(_("Definition for sat not found in settings file.")) + else: + definition = tsettings.pyconf % dico + pyconf_file = os.path.join(target_dir, name + '.pyconf') + f = open(pyconf_file, 'w') + f.write(definition) + f.close + logger.info(_("Create configuration file: ") + pyconf_file) + + if len(tsettings.post_command) > 0: + cmd = tsettings.post_command % dico + logger.info(_("Run post command: ") + cmd) + + p = subprocess.Popen(cmd, shell=True, cwd=target_dir) + p.wait() + res = p.returncode + + return res
+ +
[docs]def get_template_info(config, template_name, logger): + sources = search_template(config, template_name) + logger.info(" Template = %s\n" % sources) + + # read settings + tmpdir = os.path.join(config.VARS.tmp_root, "tmp_template") + settings_file = os.path.join(tmpdir, "template.info") + if os.path.exists(tmpdir): + shutil.rmtree(tmpdir) + if os.path.isdir(sources): + shutil.copytree(sources, tmpdir) + else: + SYSS.archive_extract(sources, tmpdir) + settings_file = os.path.join(tmpdir, "template.info") + + if not os.path.exists(settings_file): + raise Exception(_("Settings file not found")) + tsettings = TemplateSettings("NAME", settings_file, "target") + + skip = "\n"*3 + msg = skip + if len(tsettings.info) == 0: + msg += UTS.red("No information for this template.") + else: + msg += tsettings.info + + msg += "\n= Configuration\n" + msg += " file substitution key = %s\n" % tsettings.file_subst + msg += " substitution key = '%s'\n" % tsettings.delimiter_char + if len(tsettings.ignore_filters) > 0: + msg += " Ignore Filter = %s\n" % ', '.join(tsettings.ignore_filters) + + logger.info(msg) + + msg = skip + msg += "= Parameters\n" + pnames = [] + for pp in tsettings.parameters: + tt = TParam(pp, "NAME") + pnames.append(tt.name) + msg += " Name = %s\n" % tt.name + msg += " Prompt = %s\n" % tt.raw_prompt + msg += " Default value = %s\n" % tt.default + + logger.info(msg) + + retcode = 0 + + msg = skip + msg += "= Verification\n" + if tsettings.file_subst not in pnames: + msg += "file substitution key not defined as a parameter: %s\n" % \ + tsettings.file_subst + retcode = 1 + + logger.info(msg) + + msg = "" + reexp = tsettings.delimiter_char.replace("$", "\$") + "{(?P<name>\S[^}]*)" + pathlen = len(tmpdir) + 1 + for root, __, files in os.walk(tmpdir): + for fic in files: + fpath = os.path.join(root, fic) + if not tsettings.check_file_for_substitution(fpath[pathlen:]): + continue + # read the file + m = file(fpath, 'r').read() + zz = re.findall(reexp, m) + zz = list(set(zz)) # reduce + zz = filter(lambda l: l not in pnames, zz) + if len(zz) > 0: + msg += "Missing definition in %s: %s\n" % \ + ( fpath[pathlen:], ", ".join(zz) ) + retcode = 1 + + logger.info(msg) + + if retcode == 0: + logger.info("<OK>" + skip) + else: + logger.info("<KO>" + skip) + + + # clean up tmp file + shutil.rmtree(tmpdir) + + return retcode
+
+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/doc/build/html/_modules/commands/test.html b/doc/build/html/_modules/commands/test.html new file mode 100644 index 0000000..eae4ada --- /dev/null +++ b/doc/build/html/_modules/commands/test.html @@ -0,0 +1,831 @@ + + + + + + + + commands.test — salomeTools 5.0.0dev documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +

Source code for commands.test

+#!/usr/bin/env python
+#-*- coding:utf-8 -*-
+
+#  Copyright (C) 2010-2012  CEA/DEN
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+import os
+import sys
+import shutil
+import subprocess
+import datetime
+import gzip
+
+import src.debug as DBG
+import src.returnCode as RCO
+import src.utilsSat as UTS
+from src.salomeTools import _BaseCommand
+import src.ElementTree as etree
+import src.xmlManager as XMLMGR
+
+try:
+    from hashlib import sha1
+except ImportError:
+    from sha import sha as sha1
+
+
+########################################################################
+# Command class
+########################################################################
+
[docs]class Command(_BaseCommand): + """\ + The test command runs a test base on a SALOME installation. + + examples: + >> sat test SALOME --grid GEOM --session light + """ + + name = "test" + +
[docs] def getParser(self): + """Define all options for command 'sat test <options>'""" + parser = self.getParserWithHelp() + parser.add_option('b', 'base', 'string', 'base', + _("""\ +Optional: Indicate the name of the test base to use. + This name has to be registered in your application and in a project. + A path to a test base can also be used.""")) + parser.add_option('l', 'launcher', 'string', 'launcher', + _("Optional: Use this option to specify the path to a SALOME launcher to " + "use to launch the test scripts of the test base.")) + parser.add_option('g', 'grid', 'list', 'grids', + _('Optional: Indicate which grid(s) to test (subdirectory of the test base).')) + parser.add_option('s', 'session', 'list', 'sessions', + _('Optional: indicate which session(s) to test (subdirectory of the grid).')) + parser.add_option('', 'display', 'string', 'display', + _("""\ +Optional: set the display where to launch SALOME. + If value is NO then option --show-desktop=0 will be used to launch SALOME.""")) + return parser
+ +
[docs] def check_option(self, options): + """Check the options + + :param options: (Options) The options + :return: None + """ + if not options.launcher: + options.launcher = "" + elif not os.path.isabs(options.launcher): + if not src.config_has_application(config): + raise Exception( + _("An application is required to use a relative path with option --appli") ) + options.launcher = os.path.join(config.APPLICATION.workdir, options.launcher) + + if not os.path.exists(options.launcher): + raise Exception( + _("Launcher not found: %s") % options.launcher ) + return
+ +
[docs] def run(self, cmd_arguments): + """method called for command 'sat test <options>'""" + argList = self.assumeAsList(cmd_arguments) + + # print general help and returns + if len(argList) == 0: + self.print_help() + return RCO.ReturnCode("OK", "No arguments, as 'sat %s --help'" % self.name) + + self._options, remaindersArgs = self.parseArguments(argList) + + if self._options.help: + self.print_help() + return RCO.ReturnCode("OK", "Done 'sat %s --help'" % self.name) + + # shortcuts + runner = self.getRunner() + config = self.getConfig() + logger = self.getLogger() + options = self.getOptions() + + self.check_option(options) + + # the test base is specified either by the application, or by the --base option + with_application = False + if config.VARS.application != 'None': + logger.info(_('Running tests on application %s\n') % + UTS.label(config.VARS.application)) + with_application = True + elif not options.base: + raise Exception( + _('A test base is required. Use the --base option') ) + + # the launcher is specified either by the application, or by the --launcher option + if with_application: + # check if environment is loaded + if 'KERNEL_ROOT_DIR' in os.environ: + logger.warning(_("SALOME environment already sourced")) + + elif options.launcher: + logger.info(_("Running SALOME application.")) + else: + msg = _("""\ +Impossible to find any launcher. +Please specify an application or a launcher +""") + logger.error(msg) + return 1 + + # set the display + show_desktop = (options.display and options.display.upper() == "NO") + if options.display and options.display != "NO": + remote_name = options.display.split(':')[0] + if remote_name != "": + check_remote_machine(remote_name, logger) + # if explicitly set use user choice + os.environ['DISPLAY'] = options.display + elif 'DISPLAY' not in os.environ: + # if no display set + if ('test' in config.LOCAL and + 'display' in config.LOCAL.test and + len(config.LOCAL.test.display) > 0): + # use default value for test tool + os.environ['DISPLAY'] = config.LOCAL.test.display + else: + os.environ['DISPLAY'] = "localhost:0.0" + + # initialization + ################# + if with_application: + tmp_dir = os.path.join(config.VARS.tmp_root, + config.APPLICATION.name, + "test") + else: + tmp_dir = os.path.join(config.VARS.tmp_root, + "test") + + # remove previous tmp dir + if os.access(tmp_dir, os.F_OK): + try: + shutil.rmtree(tmp_dir) + except: + logger.error( + _("error removing TT_TMP_RESULT %s\n") % tmp_dir) + + lines = [] + lines.append("date = '%s'" % config.VARS.date) + lines.append("hour = '%s'" % config.VARS.hour) + lines.append("node = '%s'" % config.VARS.node) + lines.append("arch = '%s'" % config.VARS.dist) + + if 'APPLICATION' in config: + lines.append("application_info = {}") + lines.append("application_info['name'] = '%s'" % + config.APPLICATION.name) + lines.append("application_info['tag'] = '%s'" % + config.APPLICATION.tag) + lines.append("application_info['products'] = %s" % + str(config.APPLICATION.products)) + + content = "\n".join(lines) + + # create hash from context information + dirname = sha1(content.encode()).hexdigest() + base_dir = os.path.join(tmp_dir, dirname) + os.makedirs(base_dir) + os.environ['TT_TMP_RESULT'] = base_dir + + # create env_info file + f = open(os.path.join(base_dir, 'env_info.py'), "w") + f.write(content) + f.close() + + # create working dir and bases dir + working_dir = os.path.join(base_dir, 'WORK') + os.makedirs(working_dir) + os.makedirs(os.path.join(base_dir, 'BASES')) + os.chdir(working_dir) + + if 'PYTHONPATH' not in os.environ: + os.environ['PYTHONPATH'] = '' + else: + for var in os.environ['PYTHONPATH'].split(':'): + if var not in sys.path: + sys.path.append(var) + + # launch of the tests + ##################### + test_base = "" + if options.base: + test_base = options.base + elif with_application and "test_base" in config.APPLICATION: + test_base = config.APPLICATION.test_base.name + + fmt = " %s = %s\n" + msg = fmt % (_('Display'), os.environ['DISPLAY']) + msg += fmt % (_('Timeout'), src.test_module.DEFAULT_TIMEOUT) + msg += fmt % (_("Working dir"), base_dir) + logger.info(msg) + + # create the test object + test_runner = src.test_module.Test(config, + logger, + base_dir, + testbase=test_base, + grids=options.grids, + sessions=options.sessions, + launcher=options.launcher, + show_desktop=show_desktop) + + if not test_runner.test_base_found: + # Fail + return 1 + + # run the test + logger.allowPrintLevel = False + retcode = test_runner.run_all_tests() + logger.allowPrintLevel = True + + logger.info(_("Tests finished\n")) + + logger.debug(_("Generate the specific test log\n")) + log_dir = UTS.get_log_path(config) + out_dir = os.path.join(log_dir, "TEST") + UTS.ensure_path_exists(out_dir) + name_xml_board = logger.logFileName.split(".")[0] + "board" + ".xml" + historic_xml_path = generate_history_xml_path(config, test_base) + + create_test_report(config, + historic_xml_path, + out_dir, + retcode, + xmlname = name_xml_board) + xml_board_path = os.path.join(out_dir, name_xml_board) + + # OP 14/11/2017 Ajout de traces pour essayer de decouvrir le pb + # de remontee de log des tests + print "TRACES OP - test.py/run() : historic_xml_path = '#%s#'" %historic_xml_path + print "TRACES OP - test.py/run() : log_dir = '#%s#'" %log_dir + print "TRACES OP - test.py/run() : name_xml_board = '#%s#'" %name_xml_board + + logger.l_logFiles.append(xml_board_path) + logger.add_link(os.path.join("TEST", name_xml_board), + "board", + retcode, + "Click on the link to get the detailed test results") + + # Add the historic files into the log files list of the command + logger.l_logFiles.append(historic_xml_path) + + logger.debug(_("Removing the temporary directory: %s") % test_runner.tmp_working_dir) + if os.path.exists(test_runner.tmp_working_dir): + shutil.rmtree(test_runner.tmp_working_dir) + + return retcode
+ + +
[docs]def ask_a_path(): + """ + interactive as using 'raw_input' + """ + path = raw_input("enter a path where to save the result: ") + if path == "": + result = raw_input("the result will be not save. Are you sure to " + "continue ? [y/n] ") + if result == "y": + return path + else: + return ask_a_path() + + elif os.path.exists(path): + result = raw_input("WARNING: the content of %s will be deleted. Are you" + " sure to continue ? [y/n] " % path) + if result == "y": + return path + else: + return ask_a_path() + else: + return path
+ +
[docs]def save_file(filename, base): + f = open(filename, 'r') + content = f.read() + f.close() + + objectname = sha1(content).hexdigest() + + f = gzip.open(os.path.join(base, '.objects', objectname), 'w') + f.write(content) + f.close() + return objectname
+ +
[docs]def move_test_results(in_dir, what, out_dir, logger): + if out_dir == in_dir: + return + + finalPath = out_dir + pathIsOk = False + while not pathIsOk: + try: + # create test results directory if necessary + #logger.debug("FINAL = %s\n" % finalPath) + if not os.access(finalPath, os.F_OK): + #shutil.rmtree(finalPath) + os.makedirs(finalPath) + pathIsOk = True + except: + logger.error(_("%s cannot be created.") % finalPath) + finalPath = ask_a_path() + + if finalPath != "": + os.makedirs(os.path.join(finalPath, what, 'BASES')) + + # check if .objects directory exists + if not os.access(os.path.join(finalPath, '.objects'), os.F_OK): + os.makedirs(os.path.join(finalPath, '.objects')) + + logger.info(_('copy tests results to %s ... ') % finalPath) + + # copy env_info.py + shutil.copy2(os.path.join(in_dir, what, 'env_info.py'), + os.path.join(finalPath, what, 'env_info.py')) + + # for all sub directory (ie testbase) in the BASES directory + for testbase in os.listdir(os.path.join(in_dir, what, 'BASES')): + outtestbase = os.path.join(finalPath, what, 'BASES', testbase) + intestbase = os.path.join(in_dir, what, 'BASES', testbase) + + # ignore files in root dir + if not os.path.isdir(intestbase): + continue + + os.makedirs(outtestbase) + #logger.debug("copy testbase %s\n" % testbase) + + for grid_ in [m for m in os.listdir(intestbase) if os.path.isdir( + os.path.join(intestbase, m))]: + # ignore source configuration directories + if grid_[:4] == '.git' or grid_ == 'CVS': + continue + + outgrid = os.path.join(outtestbase, grid_) + ingrid = os.path.join(intestbase, grid_) + os.makedirs(outgrid) + #logger.debug("copy grid %s" % grid_) + + if grid_ == 'RESSOURCES': + for file_name in os.listdir(ingrid): + if not os.path.isfile(os.path.join(ingrid, + file_name)): + continue + f = open(os.path.join(outgrid, file_name), "w") + f.write(save_file(os.path.join(ingrid, file_name), + finalPath)) + f.close() + else: + for session_name in [t for t in os.listdir(ingrid) if + os.path.isdir(os.path.join(ingrid, t))]: + outsession = os.path.join(outgrid, session_name) + insession = os.path.join(ingrid, session_name) + os.makedirs(outsession) + + for file_name in os.listdir(insession): + if not os.path.isfile(os.path.join(insession, + file_name)): + continue + if file_name.endswith('result.py'): + shutil.copy2(os.path.join(insession, file_name), + os.path.join(outsession, file_name)) + else: + f = open(os.path.join(outsession, file_name), "w") + f.write(save_file(os.path.join(insession, + file_name), + finalPath)) + f.close() + + logger.info("<OK>\n")
+ +
[docs]def check_remote_machine(machine_name, logger): + logger.debug(_("Check the display on %s\n") % machine_name) + ssh_cmd = 'ssh -o "StrictHostKeyChecking no" %s "ls"' % machine_name + logger.debug(_("Executing the command : %s\n") % ssh_cmd) + p = subprocess.Popen(ssh_cmd, + shell=True, + stdin =subprocess.PIPE, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE) + p.wait() + if p.returncode != 0: + msg = "<KO> on '%s'" % ssh_cmd + logger.critical(msg) + logger.error(UTS.red(p.stderr.read())) + logger.error(UTS.red(_("No ssh access to the display machine %s.") % machine_name)) + else: + logger.debug("<OK>\n")
+ + +
[docs]def create_test_report(config, + xml_history_path, + dest_path, + retcode, + xmlname=""): + """ + Creates the XML report for a product. + """ + # get the date and hour of the launching of the command, in order to keep + # history + date_hour = config.VARS.datehour + + # Get some information to put in the xml file + application_name = config.VARS.application + withappli = src.config_has_application(config) + + first_time = False + if not os.path.exists(xml_history_path): + first_time = True + root = etree.Element("salome") + prod_node = etree.Element("product", name=application_name, build=xmlname) + root.append(prod_node) + else: + root = etree.parse(xml_history_path).getroot() + prod_node = root.find("product") + + prod_node.attrib["history_file"] = os.path.basename(xml_history_path) + prod_node.attrib["global_res"] = retcode + + ASNODE = XMLMGR.add_simple_node # shortcut + + if withappli: + if not first_time: + for node in (prod_node.findall("version_to_download") + + prod_node.findall("out_dir")): + prod_node.remove(node) + + ASNODE(prod_node, "version_to_download", config.APPLICATION.name) + + ASNODE(prod_node, "out_dir", config.APPLICATION.workdir) + + # add environment + if not first_time: + for node in prod_node.findall("exec"): + prod_node.remove(node) + + exec_node = ASNODE(prod_node, "exec") + exec_node.append(etree.Element("env", name="Host", value=config.VARS.node)) + exec_node.append(etree.Element("env", name="Architecture", + value=config.VARS.dist)) + exec_node.append(etree.Element("env", name="Number of processors", + value=str(config.VARS.nb_proc))) + exec_node.append(etree.Element("env", name="Begin date", + value=src.parse_date(date_hour))) + exec_node.append(etree.Element("env", name="Command", + value=config.VARS.command)) + exec_node.append(etree.Element("env", name="sat version", + value=config.INTERNAL.sat_version)) + + if 'TESTS' in config: + if first_time: + tests = ASNODE(prod_node, "tests") + known_errors = ASNODE(prod_node, "known_errors") + new_errors = ASNODE(prod_node, "new_errors") + amend = ASNODE(prod_node, "amend") + else: + tests = prod_node.find("tests") + known_errors = prod_node.find("known_errors") + new_errors = prod_node.find("new_errors") + amend = prod_node.find("amend") + + tt = {} + for test in config.TESTS: + if not tt.has_key(test.testbase): + tt[test.testbase] = [test] + else: + tt[test.testbase].append(test) + + for testbase in tt.keys(): + if first_time: + gn = ASNODE(tests, "testbase") + else: + gn = tests.find("testbase") + # initialize all grids and session to "not executed" + for mn in gn.findall("grid"): + mn.attrib["executed_last_time"] = "no" + for tyn in mn.findall("session"): + tyn.attrib["executed_last_time"] = "no" + for test_node in tyn.findall('test'): + for node in test_node.getchildren(): + if node.tag != "history": + test_node.remove(node) + + attribs_to_pop = [] + for attribute in test_node.attrib: + if (attribute != "script" and + attribute != "res"): + attribs_to_pop.append(attribute) + for attribute in attribs_to_pop: + test_node.attrib.pop(attribute) + + gn.attrib['name'] = testbase + nb, nb_pass, nb_failed, nb_timeout, nb_not_run = 0, 0, 0, 0, 0 + grids = {} + sessions = {} + for test in tt[testbase]: + if not grids.has_key(test.grid): + if first_time: + mn = ASNODE(gn, "grid") + mn.attrib['name'] = test.grid + else: + l_mn = gn.findall("grid") + mn = None + for grid_node in l_mn: + if grid_node.attrib['name'] == test.grid: + mn = grid_node + break + if mn == None: + mn = ASNODE(gn, "grid") + mn.attrib['name'] = test.grid + + grids[test.grid] = mn + + mn.attrib["executed_last_time"] = "yes" + + if not sessions.has_key("%s/%s" % (test.grid, test.session)): + if first_time: + tyn = ASNODE(mn, "session") + tyn.attrib['name'] = test.session + else: + l_tyn = mn.findall("session") + tyn = None + for session_node in l_tyn: + if session_node.attrib['name'] == test.session: + tyn = session_node + break + if tyn == None: + tyn = ASNODE(mn, "session") + tyn.attrib['name'] = test.session + + sessions["%s/%s" % (test.grid, test.session)] = tyn + + tyn.attrib["executed_last_time"] = "yes" + + for script in test.script: + if first_time: + tn = ASNODE(sessions[ + "%s/%s" % (test.grid, test.session)], + "test") + tn.attrib['session'] = test.session + tn.attrib['script'] = script.name + hn = ASNODE(tn, "history") + else: + l_tn = sessions["%s/%s" % (test.grid, test.session)].findall( + "test") + tn = None + for test_node in l_tn: + if test_node.attrib['script'] == script['name']: + tn = test_node + break + + if tn == None: + tn = ASNODE(sessions[ + "%s/%s" % (test.grid, test.session)], + "test") + tn.attrib['session'] = test.session + tn.attrib['script'] = script.name + hn = ASNODE(tn, "history") + else: + # Get or create the history node for the current test + if len(tn.findall("history")) == 0: + hn = ASNODE(tn, "history") + else: + hn = tn.find("history") + # Put the last test data into the history + if 'res' in tn.attrib: + attributes = {"date_hour" : date_hour, + "res" : tn.attrib['res'] } + ASNODE(hn, + "previous_test", + attrib=attributes) + for node in tn: + if node.tag != "history": + tn.remove(node) + + if 'callback' in script: + try: + cnode = ASNODE(tn, "callback") + if src.architecture.is_windows(): + import string + cnode.text = filter( + lambda x: x in string.printable, + script.callback) + else: + cnode.text = script.callback.decode( + 'string_escape') + except UnicodeDecodeError as exc: + zz = (script.callback[:exc.start] + + '?' + + script.callback[exc.end-2:]) + cnode = ASNODE(tn, "callback") + cnode.text = zz.decode("UTF-8") + + # Add the script content + cnode = ASNODE(tn, "content") + cnode.text = script.content + + # Add the script execution log + cnode = ASNODE(tn, "out") + cnode.text = script.out + + if 'amend' in script: + cnode = ASNODE(tn, "amend") + cnode.text = script.amend.decode("UTF-8") + + if script.time < 0: + tn.attrib['exec_time'] = "?" + else: + tn.attrib['exec_time'] = "%.3f" % script.time + tn.attrib['res'] = script.res + + if "amend" in script: + amend_test = ASNODE(amend, "atest") + amend_test.attrib['name'] = os.path.join(test.grid, + test.session, + script.name) + amend_test.attrib['reason'] = script.amend.decode( + "UTF-8") + + # calculate status + nb += 1 + if script.res == src.OK_STATUS: nb_pass += 1 + elif script.res == src.TIMEOUT_STATUS: nb_timeout += 1 + elif script.res == src.KO_STATUS: nb_failed += 1 + else: nb_not_run += 1 + + if "known_error" in script: + kf_script = ASNODE(known_errors, "error") + kf_script.attrib['name'] = os.path.join(test.grid, + test.session, + script.name) + kf_script.attrib['date'] = script.known_error.date + kf_script.attrib[ + 'expected'] = script.known_error.expected + kf_script.attrib[ + 'comment'] = script.known_error.comment.decode("UTF-8") + kf_script.attrib['fixed'] = str( + script.known_error.fixed) + overdue = datetime.datetime.today().strftime("%Y-%m-" + "%d") > script.known_error.expected + if overdue: + kf_script.attrib['overdue'] = str(overdue) + + elif script.res == src.KO_STATUS: + new_err = ASNODE(new_errors, "new_error") + script_path = os.path.join(test.grid, + test.session, script.name) + new_err.attrib['name'] = script_path + new_err.attrib['cmd'] = ("sat testerror %s -s %s -c 'my" + " comment' -p %s" % \ + (application_name, script_path, config.VARS.dist)) + + + gn.attrib['total'] = str(nb) + gn.attrib['pass'] = str(nb_pass) + gn.attrib['failed'] = str(nb_failed) + gn.attrib['timeout'] = str(nb_timeout) + gn.attrib['not_run'] = str(nb_not_run) + + # Remove the res attribute of all tests that were not launched + # this time + for mn in gn.findall("grid"): + if mn.attrib["executed_last_time"] == "no": + for tyn in mn.findall("session"): + if tyn.attrib["executed_last_time"] == "no": + for test_node in tyn.findall('test'): + if "res" in test_node.attrib: + test_node.attrib.pop("res") + + if len(xmlname) == 0: + xmlname = application_name + if not xmlname.endswith(".xml"): + xmlname += ".xml" + + XMLMGR.write_report(os.path.join(dest_path, xmlname), root, "test.xsl") + XMLMGR.write_report(xml_history_path, root, "test_history.xsl") + return src.OK_STATUS
+ +
[docs]def generate_history_xml_path(config, test_base): + """ + Generate the name of the xml file that contain the history of the tests + on the machine with the current APPLICATION and the current test base. + + :param config: (Config) The global configuration + :param test_base: (str) The test base name (or path) + :return: (str) the full path of the history xml file + """ + history_xml_name = "" + if "APPLICATION" in config: + history_xml_name += config.APPLICATION.name + history_xml_name += "-" + history_xml_name += config.VARS.dist + history_xml_name += "-" + test_base_name = test_base + if os.path.exists(test_base): + test_base_name = os.path.basename(test_base) + history_xml_name += test_base_name + history_xml_name += ".xml" + log_dir = UTS.get_log_path(config) + return os.path.join(log_dir, "TEST", history_xml_name)
+
+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/doc/build/html/_modules/index.html b/doc/build/html/_modules/index.html index d373b6c..2f61f88 100644 --- a/doc/build/html/_modules/index.html +++ b/doc/build/html/_modules/index.html @@ -43,7 +43,33 @@

All modules for which code is available

-
+
+
+
+ +

Source code for commands.application

+#!/usr/bin/env python
+#-*- coding:utf-8 -*-
+
+#  Copyright (C) 2010-2018  CEA/DEN
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+"""
+Is a salomeTools command module
+see Command class docstring, also used for help
+"""
+
+import os
+import getpass
+import subprocess
+
+import src.ElementTree as ET
+import src.debug as DBG
+import src.returnCode as RCO
+import src.utilsSat as UTS
+from src.salomeTools import _BaseCommand
+
+########################################################################
+# Command class
+########################################################################
+
[docs]class Command(_BaseCommand): + """ + The application command creates a SALOME application. + + | Warning: + | It works only for SALOME 6. + | Use the 'launcher' command for newer versions of SALOME + | + | Examples: + | >> sat application SALOME-6.6.0 + """ + + name = "application" + +
[docs] def getParser(self): + """Define all options for command 'sat application <options>'""" + parser = self.getParserWithHelp() + parser.add_option('n', 'name', 'string', 'name', + _("""\ +Optional: The name of the application + (default is APPLICATION.virtual_app.name or runAppli)""") ) + parser.add_option('c', 'catalog', 'string', 'catalog', + _('Optional: The resources catalog to use') ) + parser.add_option('t', 'target', 'string', 'target', + _("""\ +Optional: The directory where to create the application + (default is APPLICATION.workdir)""") ) + parser.add_option('', 'gencat', 'string', 'gencat', + _("""\ +Optional: Create a resources catalog for the specified machines (separated with ',') +NOTICE: this command will ssh to retrieve information to each machine in the list""") ) + parser.add_option('m', 'module', 'list2', 'modules', + _("Optional: the restricted list of module(s) to include in the application") ) + return parser
+ +
[docs] def run(self, cmd_arguments): + """method called for command 'sat application <options>'""" + argList = self.assumeAsList(cmd_arguments) + + # print general help and returns + if len(argList) == 0: + self.print_help() + return RCO.ReturnCode("OK", "No arguments, as 'sat %s --help'" % self.name) + + self._options, remaindersArgs = self.parseArguments(argList) + + if self._options.help: + self.print_help() + return RCO.ReturnCode("OK", "Done 'sat %s --help'" % self.name) + + # shortcuts + runner = self.getRunner() + config = self.getConfig() + logger = self.getLogger() + options = self.getOptions() + + # check for product + src.check_config_has_application( config ) + + application = config.VARS.application + logger.info(_("Building application for <header>%s<reset>\n") % application) + + # if section APPLICATION.virtual_app does not exists create one + if "virtual_app" not in config.APPLICATION: + msg = _("The section APPLICATION.virtual_app is not defined in the product.") + logger.error(UTS.red(msg)) + return RCO.ReturnCode("KO", msg) + + # get application dir + target_dir = config.APPLICATION.workdir + if options.target: + target_dir = options.target + + # set list of modules + if options.modules: + config.APPLICATION.virtual_app['modules'] = options.modules + + # set name and application_name + if options.name: + config.APPLICATION.virtual_app['name'] = options.name + config.APPLICATION.virtual_app['application_name'] = options.name + "_appdir" + + application_name = src.get_cfg_param(config.APPLICATION.virtual_app, + "application_name", + config.APPLICATION.virtual_app.name + "_appdir") + appli_dir = os.path.join(target_dir, application_name) + + fmt = " %s = %s\n" # as " label = value\n" + logger.info(fmt % (_("Application directory"), appli_dir)) + + # get catalog + catalog, catalog_src = "", "" + if options.catalog: + # use catalog specified in the command line + catalog = options.catalog + elif options.gencat: + # generate catalog for given list of computers + catalog_src = options.gencat + catalog = generate_catalog(options.gencat.split(","), + config,logger) + elif 'catalog' in config.APPLICATION.virtual_app: + # use catalog specified in the product + if config.APPLICATION.virtual_app.catalog.endswith(".xml"): + # catalog as a file + catalog = config.APPLICATION.virtual_app.catalog + else: + # catalog as a list of computers + catalog_src = config.APPLICATION.virtual_app.catalog + mlist = filter(lambda l: len(l.strip()) > 0, + config.APPLICATION.virtual_app.catalog.split(",")) + if len(mlist) > 0: + catalog = generate_catalog(config.APPLICATION.virtual_app.catalog.split(","), + config, logger) + + # display which catalog is used + if len(catalog) > 0: + catalog = os.path.realpath(catalog) + if len(catalog_src) > 0: + logger.info(fmt % (_("Resources Catalog"), catalog_src)) + else: + logger.info(fmt % (_("Resources Catalog"), catalog)) + + details = [] + + # remove previous application + if os.path.exists(appli_dir): + logger.info(get_step(_("Removing previous application directory"))) + rres = "<KO>" + try: + shutil.rmtree(appli_dir) + rres = "<OK>" + finally: + logger.info(rres + "\n") + + # generate the application + try: + try: # try/except/finally not supported in all version of python + retcode = create_application(config, appli_dir, catalog, logger) + except Exception as exc: + details.append(str(exc)) + raise + finally: + logger.info("\n") + + return RCO.ReturnCode("OK")
+ + + +# Creates an alias for runAppli. +
[docs]def make_alias(appli_path, alias_path, force=False): + assert len(alias_path) > 0, "Bad name for alias" + if os.path.exists(alias_path) and not force: + raise Exception(_("Cannot create the alias '%s'\n") % alias_path) + else: # find relative path + os.symlink(appli_path, alias_path)
+ +
[docs]def add_module_to_appli(out, module, has_gui, module_path, logger, flagline): + """add the definition of a module to out stream.""" + if not os.path.exists(module_path): + if not flagline: + logger.info("\n") + flagline = True + logger.warning(" %s\n" + _("module %s not installed") % module) + + out.write(' <module name="%s" gui="%s" path="%s"/>\n' % \ + (module, has_gui, module_path)) + return flagline
+ +## +# Creates the config file to create an application with the list of modules. +
[docs]def create_config_file(config, modules, env_file, logger): + + samples = "" + if 'SAMPLES' in config.APPLICATION.products: + samples = src.product.get_product_config(config, 'SAMPLES').source_dir + + config_file = src.get_tmp_filename(config, "appli_config.xml") + f = open(config_file, "w") + + f.write('<application>\n') + if env_file.endswith("cfg"): + f.write('<context path="%s"/>\n' % env_file) + else: + f.write('<prerequisites path="%s"/>\n' % env_file) + f.write('<resources path="CatalogResources.xml"/>\n') + f.write('<modules>\n') + + flagline = False + for m in modules: + mm = src.product.get_product_config(config, m) + if src.product.product_is_smesh_plugin(mm): + continue + + if 'install_dir' in mm and bool(mm.install_dir): + if src.product.product_is_cpp(mm): + # cpp module + for aa in src.product.get_product_components(mm): + install_dir = os.path.join(config.APPLICATION.workdir, + "INSTALL") + mp = os.path.join(install_dir, aa) + flagline = add_module_to_appli(f, + aa, + "yes", + mp, + logger, + flagline) + else: + # regular module + mp = mm.install_dir + gui = src.get_cfg_param(mm, "has_gui", "yes") + flagline = add_module_to_appli(f, m, gui, mp, logger, flagline) + + f.write('</modules>\n') + f.write('<samples path="%s"/>\n' % samples) + f.write('</application>\n') + f.close() + + return config_file
+ + +
[docs]def customize_app(config, appli_dir, logger): + """Customizes the application by editing SalomeApp.xml.""" + if 'configure' not in config.APPLICATION.virtual_app \ + or len(config.APPLICATION.virtual_app.configure) == 0: + return + + def get_element(parent, name, strtype): + """shortcut to get an element (section or parameter) from parent.""" + for c in parent.getchildren(): + if c.attrib['name'] == name: + return c + + # element not found create it + elt = add_simple_node(parent, strtype) + elt.attrib['name'] = name + return elt + + def add_simple_node(parent, node_name, text=None): + """shortcut method to create a node""" + n = etree.Element(node_name) + if text is not None: + try: + n.text = text.strip("\n\t").decode("UTF-8") + except: + logger.error("problem decode UTF8 %s:\n%s\n" % \ + (node_name, UTS.toHex(text))) + n.text = "?" + parent.append(n) + return n + + # read the app file + app_file = os.path.join(appli_dir, "SalomeApp.xml") + tree = etree.parse(app_file) + document = tree.getroot() + assert document is not None, "document tag not found" + + logger.info("\n") + for section_name in config.APPLICATION.virtual_app.configure: + for parameter_name in config.APPLICATION.virtual_app.configure[section_name]: + parameter_value = config.APPLICATION.virtual_app.configure[section_name][parameter_name] + logger.info(" configure: %s/%s = %s\n" % (section_name, + parameter_name, + parameter_value)) + section = get_element(document, section_name, "section") + parameter = get_element(section, parameter_name, "parameter") + parameter.attrib['value'] = parameter_value + + # write the file + f = open(app_file, "w") + f.write("<?xml version='1.0' encoding='utf-8'?>\n") + f.write(etree.tostring(document, encoding='utf-8')) + f.close()
+ +## +# Generates the application with the config_file. +
[docs]def generate_application(config, appli_dir, config_file, logger): + target_dir = os.path.dirname(appli_dir) + + install_KERNEL_dir = src.product.get_product_config(config, + 'KERNEL').install_dir + script = os.path.join(install_KERNEL_dir, "bin", "salome", "appli_gen.py") + if not os.path.exists(script): + raise Exception(_("KERNEL is not installed")) + + # Add SALOME python in the environment in order to avoid python version + # problems at appli_gen.py call + if 'Python' in config.APPLICATION.products: + envi = src.environment.SalomeEnviron(config, + src.environment.Environ( + dict(os.environ)), + True) + envi.set_a_product('Python', logger) + + command = "python %s --prefix=%s --config=%s" % (script, + appli_dir, + config_file) + logger.debug("\n>" + command + "\n") + res = subprocess.call(command, + shell=True, + cwd=target_dir, + env=envi.environ.environ, + stdout=logger.logTxtFile, + stderr=subprocess.STDOUT) + + if res != 0: + raise Exception(_("Cannot create application, code = %d\n") % res) + + return res
+ +
[docs]def get_step(logger, message, pad=50): + """ + returns 'message ........ ' with pad 50 by default + avoid colors '<color>' for now in message + """ + return "%s %s " % (message, '.' * (pad - len(message.decode("UTF-8"))))
+ +## +# Creates a SALOME application. +
[docs]def create_application(config, appli_dir, catalog, logger, display=True): + + SALOME_modules = get_SALOME_modules(config) + + warn = ['KERNEL', 'GUI'] + if display: + for w in warn: + if w not in SALOME_modules: + msg = _("module %s is required to create application\n") % w + logger.warning(msg) + + # generate the launch file + retcode = generate_launch_file(config, appli_dir, catalog, logger, SALOME_modules) + + if retcode == 0: + cmd = UTS.label("%s/salome" % appli_dir) + + if display: + msg = _("To launch the application, type:") + logger.info("\n%s\n %s\n" % (msg, cmd)) + return retcode
+ +
[docs]def get_SALOME_modules(config): + l_modules = [] + for product in config.APPLICATION.products: + product_info = src.product.get_product_config(config, product) + if (src.product.product_is_SALOME(product_info) or + src.product.product_is_generated(product_info)): + l_modules.append(product) + return l_modules
+ +
[docs]def generate_launch_file(config, appli_dir, catalog, logger, l_SALOME_modules): + """ + Obsolescent way of creating the application. + This method will use appli_gen to create the application directory. + """ + retcode = -1 + + if len(catalog) > 0 and not os.path.exists(catalog): + raise IOError(_("Catalog not found: %s") % catalog) + + logger.info(get_step(_("Creating environment files"))) + status = "<KO>" + + VersionSalome = src.get_salome_version(config) + if VersionSalome >= 820: + # for salome 8+ we use a salome context file for the virtual app + app_shell="cfg" + env_ext="cfg" + else: + app_shell="bash" + env_ext="sh" + + try: + import environ + # generate only shells the user wants (by default bash, csh, batch) + # the environ command will only generate file compatible + # with the current system. + environ.write_all_source_files(config, + logger, + shells=[app_shell], + silent=True) + status = "<OK>" + finally: + logger.info(status + "\n") + + # build the application (the name depends upon salome version + env_file = os.path.join(config.APPLICATION.workdir, "env_launch." + env_ext) + + logger.info(get_step(_("Building application"))) + cf = create_config_file(config, l_SALOME_modules, env_file, logger) + + # create the application directory + os.makedirs(appli_dir) + + # generate the application + status = "<KO>" + try: + retcode = generate_application(config, appli_dir, cf, logger) + customize_app(config, appli_dir, logger) + status = "<OK>" + finally: + logger.info(status + "\n") + + # copy the catalog if one + if len(catalog) > 0: + shutil.copy(catalog, os.path.join(appli_dir, "CatalogResources.xml")) + + return retcode
+ +
[docs]def generate_catalog(machines, config, logger): + """Generates the catalog from a list of machines.""" + # remove empty machines + machines = map(lambda l: l.strip(), machines) + machines = filter(lambda l: len(l) > 0, machines) + + logger.debug(" %s = %s" % _("Generate Resources Catalog"), ", ".join(machines)) + + cmd = '"cat /proc/cpuinfo | grep MHz ; cat /proc/meminfo | grep MemTotal"' + user = getpass.getuser() + + catfile = src.get_tmp_filename(config, "CatalogResources.xml") + catalog = file(catfile, "w") + catalog.write("""\ +<!DOCTYPE ResourcesCatalog> +<resources> +""") + + for k in machines: + logger.info(" ssh %s " % (k + " ").ljust(20, '.'), 4) + + ssh_cmd = 'ssh -o "StrictHostKeyChecking no" %s %s' % (k, cmd) + p = subprocess.Popen(ssh_cmd, shell=True, + stdin=subprocess.PIPE, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE) + p.wait() + + if p.returncode != 0: + logger.error("<KO>\n%s\n" % UTS.red(p.stderr.read())) + else: + logger.info("<OK>\n") + lines = p.stdout.readlines() + freq = lines[0][:-1].split(':')[-1].split('.')[0].strip() + nb_proc = len(lines) -1 + memory = lines[-1].split(':')[-1].split()[0].strip() + memory = int(memory) / 1000 + + msg = """\ + <machine + protocol="ssh" + nbOfNodes="1" + mode="interactif" + OS="LINUX" + CPUFreqMHz="%s" + nbOfProcPerNode="%s" + memInMB="%s" + userName="%s" + name="%s" + hostname="%s" + > + </machine> +""" + msg = msg % (freq, nb_proc, memory, user, k, k) + catalog.write(msg) + + catalog.write("</resources>\n") + catalog.close() + return catfile
+ +
+ +
+
+
+ +
+

+%ZW}K8!_e7RwMf7UEft?gR-4(%w&v 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 *JIL#)r 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 z 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�_q_$a>V4dH>N9UBAPK^52NtZBc$O>?a=7{ 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