From f844afc49bf4e45f7d51f2b2eb5c266656cc6eee Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Wed, 9 Sep 2015 21:43:13 +0200 Subject: [PATCH 001/224] First working 0.1 version - Uses tortilla lib to wrap the REST API (dep) - Uses python requests to manage login/logout (dep) - Provides 2 functional working examples with Redfish simulator and ProLiant server or Moonshot Server - Remove OpenStack deps as this code has to be usable outside of OpenStack - Provides a configuration file to handle credentials and connection URL - Provides a mapping class to handle multiple versions of Redfish (in this version, 0.95.0 for ProLiant and 1.0.0 for mockup) - Provides a first action reset_server to ... reset system The action is commented into simple-proliant.py to not do unexpected reset. - Provides a first retrieving function get_bios_version to get the BIOS version of a system. - Add basic logging capability - Clean up to meet pep8 and doc strings (in progress). --- .gitignore | 8 +- README.rst | 3 +- dmtf/README.rst | 1 - examples/docker/Dockerfile | 13 ++ examples/redfish.conf | 9 + examples/simple-proliant.py | 45 ++++ examples/simple-simulator.py | 38 +++ examples/simple.py | 6 - examples/walk-chassis.py | 10 +- python-redfish.spec | 1 + redfish/__init__.py | 10 +- redfish/config.py | 37 +++ redfish/exception.py | 25 +- redfish/main.py | 399 +++++++++++++++++++++++++++++++ redfish/mapping.py | 31 +++ redfish/{ => old}/functions.py | 0 redfish/old/types.py | 197 ++++++++++++++++ redfish/server.py | 412 --------------------------------- redfish/types.py | 362 +++++++++++++++-------------- requirements.txt | 3 +- setup.cfg | 4 +- test-requirements.txt | 4 +- 22 files changed, 990 insertions(+), 628 deletions(-) create mode 100644 examples/docker/Dockerfile create mode 100644 examples/redfish.conf create mode 100644 examples/simple-proliant.py create mode 100644 examples/simple-simulator.py delete mode 100644 examples/simple.py create mode 100644 redfish/config.py create mode 100644 redfish/main.py create mode 100644 redfish/mapping.py rename redfish/{ => old}/functions.py (100%) create mode 100644 redfish/old/types.py delete mode 100644 redfish/server.py diff --git a/.gitignore b/.gitignore index 85c24ea..1d9192b 100644 --- a/.gitignore +++ b/.gitignore @@ -53,4 +53,10 @@ coverage.xml docs/_build/ # PyBuilder -target/ \ No newline at end of file +target/ + +# Pydev +.project +.pydevproject +.settings/ +.metadata diff --git a/README.rst b/README.rst index 86a0128..266abc2 100644 --- a/README.rst +++ b/README.rst @@ -23,6 +23,7 @@ for build and test automation:: doc/ # documentation doc/source # the doc source files live here doc/build/html # output of building any docs will go here + dmtf # Reference documents and mockup provided by the DMTF examples/ # any sample code using this library, eg. for education # should be put here redfish/ # the redfish library @@ -33,7 +34,7 @@ Requirements To use the enclosed examples, you will need Python 2.7 (https://www.python.org/downloads/). Note that Python 2.7.9 enforces greater -SSL verification requiring server certificates be installed. Parameters to +SSL verification requiring server certificates be installed. Parameters to relax the requirements are available in the library, but these configurations are discouraged due to security. diff --git a/dmtf/README.rst b/dmtf/README.rst index 9bf58c9..f113fb3 100644 --- a/dmtf/README.rst +++ b/dmtf/README.rst @@ -3,7 +3,6 @@ DMTF Redfish specification This directory contains the current references from the DMTF on the Redfish specification (1.0.0 at the time of the writing) - In order to ease test, the DMTF has published a mockup environment to simulate a Redfish based system so it is possible to write programs without real Redfish compliant hardware platform. diff --git a/examples/docker/Dockerfile b/examples/docker/Dockerfile new file mode 100644 index 0000000..041ad08 --- /dev/null +++ b/examples/docker/Dockerfile @@ -0,0 +1,13 @@ +FROM ubuntu:15.04 +MAINTAINER bruno.cornec@hp.com +ENV DEBIAN_FRONTEND noninterative +ENV http_proxy http://web-proxy.fra.hp.com:8080 +ENV https_proxy http://web-proxy.fra.hp.com:8080 +# Install deps for Redfish mockup +RUN apt-get update +RUN apt-get -y install python-mock python-pip git openssh-client libpython2.7-dev python-oslotest +RUN apt-get -y ansible +RUN useradd -m bruno +RUN chown -R bruno /usr/local +RUN su - bruno -c "git clone https://github.com/bcornec/python-redfish.git ; pip install -r python-redfish/requirements.txt ; cd python-redfish ; python setup.py install -O1" +CMD /bin/bash diff --git a/examples/redfish.conf b/examples/redfish.conf new file mode 100644 index 0000000..80347c8 --- /dev/null +++ b/examples/redfish.conf @@ -0,0 +1,9 @@ +{ + "Nodes": { + "default": { + "url": "", + "login": "", + "password": "" + } + } +} diff --git a/examples/simple-proliant.py b/examples/simple-proliant.py new file mode 100644 index 0000000..9645b34 --- /dev/null +++ b/examples/simple-proliant.py @@ -0,0 +1,45 @@ +# coding=utf-8 + +""" Simple example to use python-redfish on HP Proliant servers """ + +import os +import sys +import json +import redfish + +# Get $HOME environment. +HOME = os.getenv('HOME') + +if HOME == '': + print("$HOME environment variable not set, please check your system") + sys.exit(1) + +try: + with open(HOME + "/.redfish.conf") as json_data: + config = json.load(json_data) + json_data.close() +except IOError as e: + print("Please create a json configuration file") + print(e) + sys.exit(1) + +URL = config["Nodes"]["default"]["url"] +USER_NAME = config["Nodes"]["default"]["login"] +PASSWORD = config["Nodes"]["default"]["password"] + +''' remote_mgmt is a redfish.RedfishConnection object ''' +remote_mgmt = redfish.connect(URL, USER_NAME, PASSWORD, verify_cert=False) + +print ("Redfish API version : %s \n" % remote_mgmt.get_api_version()) + +# Uncomment following line to reset the blade !!! +#remote_mgmt.Systems.systems_list[0].reset_system() + +# TODO : create an attribute to link the managed system directly +# and avoid systems_list[0] +# --> will be something like : +# remote_mgmt.Systems.systems_list[0] = remote_mgmt.Systems.managed_system + +print("Bios version : {}\n".format(remote_mgmt.Systems.systems_list[0].get_bios_version())) + +remote_mgmt.logout() diff --git a/examples/simple-simulator.py b/examples/simple-simulator.py new file mode 100644 index 0000000..c31a0f7 --- /dev/null +++ b/examples/simple-simulator.py @@ -0,0 +1,38 @@ +# coding=utf-8 + +""" Simple example to use python-redfish with DMTF simulator """ + +import os +import sys +import json +import redfish + +# Get $HOME environment. +HOME = os.getenv('HOME') + +if HOME == '': + print("$HOME environment variable not set, please check your system") + sys.exit(1) + +try: + with open(HOME + "/.redfish.conf") as json_data: + config = json.load(json_data) + json_data.close() +except IOError as e: + print("Please create a json configuration file") + print(e) + sys.exit(1) + +URL = config["Nodes"]["default"]["url"] +USER_NAME = config["Nodes"]["default"]["login"] +PASSWORD = config["Nodes"]["default"]["password"] + +''' remoteMgmt is a redfish.RedfishConnection object ''' +remote_mgmt = redfish.connect(URL, USER_NAME, PASSWORD, + simulator=True, enforceSSL=False) + +print ("Redfish API version : {} \n".format(remote_mgmt.get_api_version())) +print ("UUID : {} \n".format(remote_mgmt.Root.get_api_UUID())) +print ("Bios version : {}\n".format(remote_mgmt.Systems.systems_list[0].get_bios_version())) + +#print remoteMgmt.get_api_link_to_server() diff --git a/examples/simple.py b/examples/simple.py deleted file mode 100644 index 91d34bd..0000000 --- a/examples/simple.py +++ /dev/null @@ -1,6 +0,0 @@ -from redfish import connection - -host = '127.0.0.1' -user_name = 'Admin' -password = 'password' -server = connection.RedfishConnection(host, user_name, password) \ No newline at end of file diff --git a/examples/walk-chassis.py b/examples/walk-chassis.py index 900cfe6..22781ba 100644 --- a/examples/walk-chassis.py +++ b/examples/walk-chassis.py @@ -2,8 +2,8 @@ #import logging import sys -from oslo_config import cfg -from oslo_log import log as logging +#from oslo_config import cfg +#from oslo_log import log as logging import redfish @@ -12,9 +12,9 @@ #log_root.addHandler(logging.StreamHandler(sys.stdout)) #log_root.setLevel(logging.DEBUG) -CONF = cfg.CONF -logging.set_defaults(['redfish=DEBUG']) -logging.register_options(CONF) +#CONF = cfg.CONF +#logging.set_defaults(['redfish=DEBUG']) +#logging.register_options(CONF) #logging.setup(CONF, "redfish") # Connect to a redfish API endpoint diff --git a/python-redfish.spec b/python-redfish.spec index e60f04d..d6c3171 100644 --- a/python-redfish.spec +++ b/python-redfish.spec @@ -28,6 +28,7 @@ system such as defined by http://www.redfishcertification.org %install %{__python} setup.py install -O1 --skip-build --root %{buildroot} +# TODO: Add examples %files %doc README.rst examples/*.py %dir %{python_sitelib}/redfish diff --git a/redfish/__init__.py b/redfish/__init__.py index 625d02f..b1e8444 100644 --- a/redfish/__init__.py +++ b/redfish/__init__.py @@ -12,11 +12,11 @@ # License for the specific language governing permissions and limitations # under the License. -import pbr.version +#import pbr.version -import redfish.server -import redfish.types +from redfish.main import * +#import redfish.types -__version__ = pbr.version.VersionInfo( - 'redfish').version_string() +#__version__ = pbr.version.VersionInfo( +# 'redfish').version_string() diff --git a/redfish/config.py b/redfish/config.py new file mode 100644 index 0000000..6bd9341 --- /dev/null +++ b/redfish/config.py @@ -0,0 +1,37 @@ +# coding=utf-8 + +import logging +from logging.handlers import RotatingFileHandler + +# Global variable definition +TORTILLADEBUG = True +logger = None + + +def initialize_logger(redfish_logfile): + """Return api version. + + :param redfish_logfile: redfish log + :type str + :returns: True + + """ + global logger + logger = logging.getLogger() + + logger.setLevel(logging.DEBUG) + formatter = logging.Formatter( + '%(asctime)s :: %(levelname)s :: %(message)s' + ) + file_handler = RotatingFileHandler(redfish_logfile, 'a', 1000000, 1) + + # First logger to file + file_handler.setLevel(logging.DEBUG) + file_handler.setFormatter(formatter) + logger.addHandler(file_handler) + + # Second logger to console + steam_handler = logging.StreamHandler() + steam_handler.setLevel(logging.DEBUG) + logger.addHandler(steam_handler) + return True \ No newline at end of file diff --git a/redfish/exception.py b/redfish/exception.py index b8a00f5..f6f759a 100644 --- a/redfish/exception.py +++ b/redfish/exception.py @@ -1,31 +1,16 @@ # -*- coding: utf-8 -*- -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - class RedfishException(Exception): """Base class for redfish exceptions""" def __init__(self, message=None, **kwargs): self.kwargs = kwargs + self.message = message - if not message: - try: - message = self.message % kwargs - except Excetion as e: - LOG.exception('Error in string format operation') - message = self.message - super(RedfishException, self).__init__(message) -class ObjectLoadException(RedfishException): +class AuthenticationFailureException(RedfishException): pass + +class LogoutFailureException(RedfishException): + pass \ No newline at end of file diff --git a/redfish/main.py b/redfish/main.py new file mode 100644 index 0000000..5736732 --- /dev/null +++ b/redfish/main.py @@ -0,0 +1,399 @@ +# Copyright 2014 Hewlett-Packard Development Company, L.P. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +""" +STARTING ASSUMPTIONS + +On URIs: + +The Redfish RESTful API is a "hypermedia API" by design. This is to avoid +building in restrictive assumptions to the data model that will make it +difficult to adapt to future hardware implementations. A hypermedia API avoids +these assumptions by making the data model discoverable via links between +resources. + +A URI should be treated by the client as opaque, and thus should not be +attempted to be understood or deconstructed by the client. Only specific top +level URIs (any URI in this sample code) may be assumed, and even these may be +absent based upon the implementation (e.g. there might be no /redfish/v1/Systems +collection on something that doesn't have compute nodes.) + +The other URIs must be discovered dynamically by following href links. This is +because the API will eventually be implemented on a system that breaks any +existing data model "shape" assumptions we may make now. In particular, +clients should not make assumptions about the URIs for the resource members of +a collection. For instance, the URI of a collection member will NOT always be +/redfish/v1/.../collection/1, or 2. On systems with multiple compute nodes per +manager, a System collection member might be /redfish/v1/Systems/C1N1. + +This sounds very complicated, but in reality (as these examples demonstrate), +if you are looking for specific items, the traversal logic isn't too +complicated. + +On Resource Model Traversal: + +Although the resources in the data model are linked together, because of cross +link references between resources, a client may not assume the resource model +is a tree. It is a graph instead, so any crawl of the data model should keep +track of visited resources to avoid an infinite traversal loop. + +A reference to another resource is any property called "href" no matter where +it occurs in a resource. + +An external reference to a resource outside the data model is referred to by a +property called "extref". Any resource referred to by extref should not be +assumed to follow the conventions of the API. + +On Resource Versions: + +Each resource has a "Type" property with a value of the format Tyepname.x.y.z +where +* x = major version - incrementing this is a breaking change to the schema y = +* minor version - incrementing this is a non-breaking additive change to the +* schema z = errata - non-breaking change + +Because all resources are versioned and schema also have a version, it is +possible to design rules for "nearest" match (e.g. if you are interacting with +multiple services using a common batch of schema files). The mechanism is not +prescribed, but a client should be prepared to encounter both older and newer +versions of resource types. + +On HTTP POST to create: + +WHen POSTing to create a resource (e.g. create an account or session) the +guarantee is that a successful response includes a "Location" HTTP header +indicating the resource URI of the newly created resource. The POST may also +include a representation of the newly created object in a JSON response body +but may not. Do not assume the response body, but test it. It may also be an +ExtendedError object. + +HTTP REDIRECT: + +All clients must correctly handle HTTP redirect. We (or Redfish) may +eventually need to use redirection as a way to alias portions of the data +model. + +FUTURE: Asynchronous tasks + +In the future some operations may start asynchonous tasks. In this case, the +client should recognized and handle HTTP 202 if needed and the 'Location' +header will point to a resource with task information and status. + +JSON-SCHEMA: + +The json-schema available at /redfish/v1/Schemas governs the content of the +resources, but keep in mind: +* not every property in the schema is implemented in every implementation. +* some properties are schemed to allow both null and anotehr type like string +* or integer. + +Robust client code should check both the existence and type of interesting +properties and fail gracefully if expectations are not met. + +GENERAL ADVICE: + +Clients should always be prepared for: +* unimplemented properties (e.g. a property doesn't apply in a particular case) +* null values in some cases if the value of a property is not currently known +* due to system conditions HTTP status codes other than 200 OK. Can your code +* handle an HTTP 500 Internal Server Error with no other info? URIs are case +* insensitive HTTP header names are case insensitive JSON Properties and Enum +* values are case sensitive A client should be tolerant of any set of HTTP +* headers the service returns + +""" + +# coding=utf-8 + +import sys +import json +from urlparse import urlparse +import requests +import config +import types +import mapping +import exception + +# Global variable definition +redfish_logfile = "/var/log/python-redfish/python-redfish.log" + +# =============================================================================== +# TODO : create method to set logging level and TORTILLADEBUG. +# =============================================================================== + + +def set_log_file(logfile): + global redfish_logfile + redfish_logfile = logfile + return True + + +""" Function to wrap RedfishConnection """ + + +def connect( + url, + user, + password, + simulator=False, + enforceSSL=True, + verify_cert=True + ): + global redfish_logfile + config.initialize_logger(redfish_logfile) + return RedfishConnection( + url, + user, + password, + simulator=simulator, + enforceSSL=enforceSSL, + verify_cert=verify_cert + ) + + +class RedfishConnection(object): + """Implements basic connection handling for Redfish APIs.""" + + def __init__(self, + url, + user, + password, + simulator=False, + enforceSSL=True, + verify_cert=True + ): + """Initialize a connection to a Redfish service.""" + super(RedfishConnection, self).__init__() + + config.logger.info("Initialize python-redfish") + + self.connection_parameters = ConnectionParameters() + self.connection_parameters.rooturl = url + self.connection_parameters.user_name = user + self.connection_parameters.password = password + self.connection_parameters.enforceSSL = enforceSSL + self.connection_parameters.verify_cert = verify_cert + + # Use DMTF mockup or not + self.__simulator = simulator + + # Session attributes + self.connection_parameters.auth_token = None + self.connection_parameters.user_uri = None + + rooturl = urlparse(self.connection_parameters.rooturl) + + # Enforce ssl + if self.connection_parameters.enforceSSL is True: + config.logger.debug("Enforcing SSL") + rooturl = rooturl._replace(scheme="https") + self.connection_parameters.rooturl = rooturl.geturl() + + # Verify cert + if self.connection_parameters.verify_cert is False: + config.logger.info("Certificat is not checked, " + + "this is insecure and can allow" + + " a man in the middle attack") + + config.logger.debug("Root url : %s", self.connection_parameters.rooturl) + self.Root = types.Root(self.connection_parameters.rooturl, + self.connection_parameters + ) + #self.api_url = tortilla.wrap(self.connection_parameters.rooturl, + # debug=TORTILLADEBUG) + #self.root = self.api_url.get(verify=self.connection_parameters.verify_cert) + + config.logger.info("API Version : %s", self.get_api_version()) + mapping.redfish_version = self.get_api_version() + + # Instanciate a global mapping object to handle Redfish version variation + mapping.redfish_mapper = mapping.RedfishVersionMapping(self.get_api_version()) + + # Now we need to login otherwise we are not allowed to extract data + if self.__simulator is False: + try: + config.logger.info("Login to %s", rooturl.netloc) + self.login() + config.logger.info("Login successful") + except "Error getting token": + config.logger.error("Login fail, fail to get auth token") + raise exception.AuthenticationFailureException("Fail to get an auth token.") + + + + # Struture change with mockup 1.0.0, there is no links + # section anymore. + # =================================================================== + # TODO : Add a switch to allow the both structure + # =================================================================== + + # Types + self.SessionService = types.SessionService( + self.Root.get_link_url( + mapping.redfish_mapper.map_sessionservice()), + self.connection_parameters + ) + + self.Managers = types.ManagersCollection(self.Root.get_link_url("Managers"), + self.connection_parameters + ) + + self.Systems = types.SystemsCollection(self.Root.get_link_url("Systems"), + self.connection_parameters + ) + + #for system in self.Systems.systems_list: + #config.logger.debug(system.data.links.ManagedBy) +# self.Chassis + +# self.EventService +# self.AccountService +# self.Tasks + + + + + # ======================================================================== + # systemCollectionLink = getattr(self.root.Links.Systems,"@odata.id") + # self.systemCollection = self.apiUrl.redfish.v1.Systems.get() + # + # print self.systemCollection.Name + # + # ======================================================================== + def get_api_version(self): + """Return api version. + + :returns: string -- version + :raises: AttributeError + + """ + return (self.Root.get_api_version()) + + def login(self): + # Craft full url + url = self.Root.get_link_url( + mapping.redfish_mapper.map_sessionservice() + ) + + # Craft request body and header + requestBody = {"UserName": self.connection_parameters.user_name , "Password": self.connection_parameters.password} + header = {'Content-type': 'application/json'} + # ======================================================================= + # Tortilla seems not able to provide the header of a post request answer. + # However this is required by redfish standard to get X-Auth-Token. + # So jump to "requests" library to get the required token. + # TODO : Patch tortilla to handle this case. + # ======================================================================= + # sessionsUrl = tortilla.wrap("https://10.3.222.104/rest/v1/Sessions", debug=TORTILLADEBUG) + # sessions = sessionsUrl.post(verify=self.verify_cert, data=requestBody) + auth = requests.post(url, + data=json.dumps(requestBody), + headers=header, + verify=self.connection_parameters.verify_cert + ) + + # ======================================================================= + # TODO : Manage exception with a class. + # ======================================================================= + if auth.status_code != 201: + pass + #sysraise "Error getting token", auth.status_code + + self.connection_parameters.auth_token = auth.headers.get("x-auth-token") + self.connection_parameters.user_uri = auth.headers.get("location") + config.logger.debug("x-auth-token : %s", self.connection_parameters.auth_token) + config.logger.debug("user session : %s", self.connection_parameters.user_uri) + return True + + def logout(self): + # Craft full url + url = self.connection_parameters.user_uri + + # Craft request header + header = {"Content-type": "application/json", + "x-auth-token": self.connection_parameters.auth_token + } + + logout = requests.delete(url, headers=header, + verify=self.connection_parameters.verify_cert + ) + + if logout.status_code == 200: + config.logger.info("Logout successful") + else: + config.logger.error("Logout failed") + raise exception.LogoutFailureException("Fail to logout properly.") + + +class ConnectionParameters(object): + """Store connection parameters.""" + + def __init__(self): + pass + + @property + def rooturl(self): + return self.__rooturl + + @rooturl.setter + def rooturl(self, rooturl): + self.__rooturl = rooturl + + @property + def user_name(self): + return self.__user_name + + @user_name.setter + def user_name(self, user_name): + self.__user_name = user_name + + @property + def password(self): + return self.__password + + @password.setter + def password(self, password): + self.__password = password + + @property + def enforceSSL(self): + return self.__enforceSSL + + @enforceSSL.setter + def enforceSSL(self, enforceSSL): + self.__enforceSSL = enforceSSL + + @property + def verify_cert(self): + return self.__verify_cert + + @verify_cert.setter + def verify_cert(self, verify_cert): + self.__verify_cert = verify_cert + + @property + def auth_token(self): + return self.__auth_token + + @auth_token.setter + def auth_token(self, auth_token): + self.__auth_token = auth_token + + @property + def user_uri(self): + return self.__user_uri + + @user_uri.setter + def user_uri(self, user_uri): + self.__user_uri = user_uri diff --git a/redfish/mapping.py b/redfish/mapping.py new file mode 100644 index 0000000..309e23a --- /dev/null +++ b/redfish/mapping.py @@ -0,0 +1,31 @@ +# coding=utf-8 + +redfish_mapper = None +redfish_version = None + +class RedfishVersionMapping(object): + """Implements basic url path mapping beetween Redfish versions.""" + + def __init__(self, version): + self.__version = version + + def map_sessionservice(self): + if self.__version == "0.95": + return "Sessions" + return("SessionService") + + + def map_links(self): + if self.__version == "0.95": + return "links" + return("Links") + + def map_links_ref(self): + if self.__version == "0.95": + return "href" + return("@odata.id") + + def map_members(self): + if self.__version == "0.95": + return "Member" + return("Members") \ No newline at end of file diff --git a/redfish/functions.py b/redfish/old/functions.py similarity index 100% rename from redfish/functions.py rename to redfish/old/functions.py diff --git a/redfish/old/types.py b/redfish/old/types.py new file mode 100644 index 0000000..ede311f --- /dev/null +++ b/redfish/old/types.py @@ -0,0 +1,197 @@ +# Copyright 2014 Hewlett-Packard Development Company, L.P. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + + +""" +Redfish Resource Types +""" + +import base64 +import gzip +import hashlib +import httplib +import json +import ssl +import StringIO +import sys +import urllib2 +from urlparse import urlparse + +#from oslo_log import log as logging +from redfish import exception + +#LOG = logging.getLogger('redfish') + + +class Base(object): + def __init__(self, obj, connection=None): + self._conn = connection + """handle to the redfish connection""" + + self._attrs = [] + """list of discovered attributes""" + + self._links = [] + """list of linked resources""" + + # parse the individual resources, appending them to + # the list of object attributes + for k in obj.keys(): + ref = k.lower() + if ref in ["links", "oem", "items"]: + continue + setattr(self, ref, obj[k]) + self._attrs.append(ref) + + # make sure the required attributes are present + if not getattr(self, 'name', False): + raise ObjectLoadException( + "Failed to load object. Reason: could not determine name.") + if not getattr(self, 'type', False): + raise ObjectLoadException( + "Failed to load object. Reason: could not determine type.") + + if getattr(self, 'serviceversion', False): + self.type = self.type.replace('.' + self.serviceversion, '') + else: + # TODO: use a regex here to strip and store the version + # instead of assuming it is 7 chars long + self.type = self.type[:-7] + + # Lastly, parse the 'links' resource. + # Note that this may have different nested structure, depending on + # what type of resource this is, or what vendor it is. + # subclasses may follow this by parsing other resources / collections + self._parse_links(obj) + + def _parse_links(self, obj): + """Map linked resources to getter functions + + The root resource returns a dict of links to top-level resources + """ + def getter(connection, href): + def _get(): + return connection.rest_get(href, {}) + return _get + + for k in obj['links']: + ref = "get_" + k.lower() + self._links.append(ref) + href = obj['links'][k]['href'] + setattr(self, ref, getter(self._conn, href)) + + def __repr__(self): + """Return this object's _attrs as a dict""" + res = {} + for a in self._attrs: + res[a] = getattr(self, a) + return res + + def __str__(self): + """Return the string representation of this object's _attrs""" + return json.dumps(self.__repr__()) + + +class BaseCollection(Base): + """Base class for collection types""" + def __init__(self, obj, connection=None): + super(BaseCollection, self).__init__(obj, connection=connection) + self._parse_items(obj) + self._attrs.append('items') + + def _parse_links(self, obj): + """links are special on a chassis; dont parse them""" + pass + + def _parse_items(self, obj): + """Map linked items to getter methods + + The chassis resource returns a list of items and corresponding + link data in a separate entity. + """ + def getter(connection, href): + def _get(): + return connection.rest_get(href, {}) + return _get + + self.items = [] + self._item_getters = [] + + if 'links' in obj and 'Member' in obj['links']: + # NOTE: this assumes the lists are ordered the same + counter = 0 + for item in obj['links']['Member']: + self.items.append(obj['Items'][counter]) + self._item_getters.append( + getter(self._conn, item['href'])) + counter+=1 + elif 'Items' in obj: + # TODO: find an example of this format and make sure it works + for item in obj['Items']: + if 'links' in item and 'self' in item['links']: + href = item['links']['self']['href'] + self.items.append(item) + + # TODO: implement paging support + # if 'links' in obj and 'NextPage' in obj['links']: + # next_page = THIS_URI + '?page=' + str(obj['links']['NextPage']['page']) + # do something with next_page URI + + def __iter__(self): + for getter in self._item_getters: + yield getter() + + +class Root(Base): + """Root '/' resource class""" + def _parse_links(self, obj): + """Map linked resources to getter functions + + The root resource returns a dict of links to top-level resources + + TODO: continue implementing customizations for top-level resources + + """ + mapping = { + 'Systems': Systems, + 'Chassis': Chassis, + 'Managers': Base, + 'Schemas': Base, + 'Registries': Base, + 'Tasks': Base, + 'AccountService': Base, + 'Sessions': Base, + 'EventService': Base, + } + + def getter(connection, href, type): + def _get(): + return mapping[type](connection.rest_get(href, {}), self._conn) + return _get + + for k in obj['links']: + ref = "get_" + k.lower() + self._links.append(ref) + href = obj['links'][k]['href'] + setattr(self, ref, getter(self._conn, href, k)) + + +class Chassis(BaseCollection): + """Chassis resource class""" + def __len__(self): + return len(self.items) + + +class Systems(Base): + pass diff --git a/redfish/server.py b/redfish/server.py deleted file mode 100644 index c86b4a9..0000000 --- a/redfish/server.py +++ /dev/null @@ -1,412 +0,0 @@ -# Copyright 2014 Hewlett-Packard Development Company, L.P. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - - -""" -STARTING ASSUMPTIONS - -On URIs: - -The Redfish RESTful API is a "hypermedia API" by design. This is to avoid -building in restrictive assumptions to the data model that will make it -difficult to adapt to future hardware implementations. A hypermedia API avoids -these assumptions by making the data model discoverable via links between -resources. - -A URI should be treated by the client as opaque, and thus should not be -attempted to be understood or deconstructed by the client. Only specific top -level URIs (any URI in this sample code) may be assumed, and even these may be -absent based upon the implementation (e.g. there might be no /redfish/v1/Systems -collection on something that doesn't have compute nodes.) - -The other URIs must be discovered dynamically by following href links. This is -because the API will eventually be implemented on a system that breaks any -existing data model "shape" assumptions we may make now. In particular, -clients should not make assumptions about the URIs for the resource members of -a collection. For instance, the URI of a collection member will NOT always be -/redfish/v1/.../collection/1, or 2. On systems with multiple compute nodes per -manager, a System collection member might be /redfish/v1/Systems/C1N1. - -This sounds very complicated, but in reality (as these examples demonstrate), -if you are looking for specific items, the traversal logic isn't too -complicated. - -On Resource Model Traversal: - -Although the resources in the data model are linked together, because of cross -link references between resources, a client may not assume the resource model -is a tree. It is a graph instead, so any crawl of the data model should keep -track of visited resources to avoid an infinite traversal loop. - -A reference to another resource is any property called "href" no matter where -it occurs in a resource. - -An external reference to a resource outside the data model is referred to by a -property called "extref". Any resource referred to by extref should not be -assumed to follow the conventions of the API. - -On Resource Versions: - -Each resource has a "Type" property with a value of the format Tyepname.x.y.z -where -* x = major version - incrementing this is a breaking change to the schema y = -* minor version - incrementing this is a non-breaking additive change to the -* schema z = errata - non-breaking change - -Because all resources are versioned and schema also have a version, it is -possible to design rules for "nearest" match (e.g. if you are interacting with -multiple services using a common batch of schema files). The mechanism is not -prescribed, but a client should be prepared to encounter both older and newer -versions of resource types. - -On HTTP POST to create: - -WHen POSTing to create a resource (e.g. create an account or session) the -guarantee is that a successful response includes a "Location" HTTP header -indicating the resource URI of the newly created resource. The POST may also -include a representation of the newly created object in a JSON response body -but may not. Do not assume the response body, but test it. It may also be an -ExtendedError object. - -HTTP REDIRECT: - -All clients must correctly handle HTTP redirect. We (or Redfish) may -eventually need to use redirection as a way to alias portions of the data -model. - -FUTURE: Asynchronous tasks - -In the future some operations may start asynchonous tasks. In this case, the -client should recognized and handle HTTP 202 if needed and the 'Location' -header will point to a resource with task information and status. - -JSON-SCHEMA: - -The json-schema available at /redfish/v1/Schemas governs the content of the -resources, but keep in mind: -* not every property in the schema is implemented in every implementation. -* some properties are schemed to allow both null and anotehr type like string -* or integer. - -Robust client code should check both the existence and type of interesting -properties and fail gracefully if expectations are not met. - -GENERAL ADVICE: - -Clients should always be prepared for: -* unimplemented properties (e.g. a property doesn't apply in a particular case) -* null values in some cases if the value of a property is not currently known -* due to system conditions HTTP status codes other than 200 OK. Can your code -* handle an HTTP 500 Internal Server Error with no other info? URIs are case -* insensitive HTTP header names are case insensitive JSON Properties and Enum -* values are case sensitive A client should be tolerant of any set of HTTP -* headers the service returns - -""" - -import base64 -import gzip -import hashlib -import httplib -import json -import ssl -import StringIO -import sys -import urllib2 -from urlparse import urlparse - -from oslo_log import log as logging - -from redfish import exception -from redfish import types - - -LOG = logging.getLogger('redfish') - - -def connect(host, user, password): - return RedfishConnection(host, user, password) - - -class RedfishConnection(object): - """Implements basic connection handling for Redfish APIs.""" - - def __init__(self, host, user_name, password, - auth_token=None, enforce_SSL=True): - """Initialize a connection to a Redfish service.""" - super(RedfishConnection, self).__init__() - - self.user_name = user_name - self.password = password - self.auth_token = auth_token - self.enforce_SSL = enforce_SSL - - # context for the last status and header returned from a call - self.status = None - self.headers = None - - # If the http schema wasn't specified, default to HTTPS - if host[0:4] != 'http': - host = 'https://' + host - self.host = host - - self._connect() - - if not self.auth_token: - # TODO: if a token is returned by this call, cache it. However, - # the sample HTML does not include any token data, so it's unclear - # what we should do here. - LOG.debug('Initiating session with host %s', self.host) - auth_dict = {'Password': self.password, 'UserName': self.user_name} - response = self.rest_post( - '/redfish/v1/Sessions', None, json.dumps(auth_dict)) - - # TODO: do some schema discovery here and cache the result - # self.schema = ... - LOG.info('Connection established to host %s', self.host) - - def _connect(self): - LOG.debug("Establishing connection to host %s", self.host) - url = urlparse(self.host) - if url.scheme == 'https': - # New in Python 2.7.9, SSL enforcement is defaulted on. - # It can be opted-out of, which might be useful for debugging - # some things. The below case is the Opt-Out condition and - # should be used with GREAT caution. - if (sys.version_info.major == 2 - and sys.version_info.minor == 7 - and sys.version_info.micro >= 9 - and self.enforce_SSL == False): - cont = ssl.SSLContext(ssl.PROTOCOL_TLSv1) - cont.verify_mode = ssl.CERT_NONE - self.connection = httplib.HTTPSConnection( - host=url.netloc, strict=True, context=cont) - else: - self.connection = httplib.HTTPSConnection( - host=url.netloc, strict=True) - elif url.scheme == 'http': - self.connection = httplib.HTTPConnection( - host=url.netloc, strict=True) - else: - raise exception.RedfishException( - message='Unknown connection schema') - - def _op(self, operation, suburi, request_headers=None, request_body=None): - """ - REST operation generic handler - - :param operation: GET, POST, etc - :param suburi: the URI path to the resource - :param request_headers: optional dict of headers - :param request_body: optional JSON body - """ - # ensure trailing slash - if suburi[-1:] != '/': - suburi = suburi + '/' - url = urlparse(self.host + suburi) - - if not isinstance(request_headers, dict): - request_headers = dict() - request_headers['Content-Type'] = 'application/json' - - # if X-Auth-Token specified, supply it instead of basic auth - if self.auth_token is not None: - request_headers['X-Auth-Token'] = self.auth_token - # else use user_name/password and Basic Auth - elif self.user_name is not None and self.password is not None: - request_headers['Authorization'] = ("BASIC " + base64.b64encode( - self.user_name + ":" + self.password)) - # TODO: add support for other types of auth - - redir_count = 4 - while redir_count: - # NOTE: Do not assume every HTTP operation will return a JSON body. - # For example, ExtendedError structures are only required for - # HTTP 400 errors and are optional elsewhere as they are mostly - # redundant for many of the other HTTP status code. In particular, - # 200 OK responses should not have to return any body. - self.connection.request(operation, url.path, - headers=request_headers, body=json.dumps(request_body)) - resp = self.connection.getresponse() - body = resp.read() - # NOTE: this makes sure the headers names are all lower case - # because HTTP says they are case insensitive - headers = dict((x.lower(), y) for x, y in resp.getheaders()) - - # Follow HTTP redirect - if resp.status == 301 and 'location' in headers: - url = urlparse(headers['location']) - # TODO: cache these redirects - LOG.debug("Following redirect to %s", headers['location']) - redir_count -= 1 - else: - break - - response = dict() - try: - response = json.loads(body.decode('utf-8')) - except ValueError: # if it doesn't decode as json - # NOTE: resources may return gzipped content, so try to decode - # as gzip (we should check the headers for Content-Encoding=gzip) - try: - gzipper = gzip.GzipFile(fileobj=StringIO.StringIO(body)) - uncompressed_string = gzipper.read().decode('UTF-8') - response = json.loads(uncompressed_string) - except: - raise exception.RedfishException(message= - 'Failed to parse response as a JSON document, ' - 'received "%s".' % body) - - self.status = resp.status - self.headers = headers - return response - - def rest_get(self, suburi, request_headers): - """REST GET - - :param: suburi - :param: request_headers - """ - # NOTE: be prepared for various HTTP responses including 500, 404, etc - return self._op('GET', suburi, request_headers, None) - - def rest_patch(self, suburi, request_headers, request_body): - """REST PATCH - - :param: suburi - :param: request_headers - :param: request_body - NOTE: this body is a dict, not a JSONPATCH document. - redfish does not follow IETF JSONPATCH standard - https://tools.ietf.org/html/rfc6902 - """ - # NOTE: be prepared for various HTTP responses including 500, 404, 202 - return self._op('PATCH', suburi, request_headers, request_body) - - def rest_put(self, suburi, request_headers, request_body): - """REST PUT - - :param: suburi - :param: request_headers - :param: request_body - """ - # NOTE: be prepared for various HTTP responses including 500, 404, 202 - return self._op('PUT', suburi, request_headers, request_body) - - def rest_post(self, suburi, request_headers, request_body): - """REST POST - - :param: suburi - :param: request_headers - :param: request_body - """ - # NOTE: don't assume any newly created resource is included in the - # response. Only the Location header matters. - # the response body may be the new resource, it may be an - # ExtendedError, or it may be empty. - return self._op('POST', suburi, request_headers, request_body) - - def rest_delete(self, suburi, request_headers): - """REST DELETE - - :param: suburi - :param: request_headers - """ - # NOTE: be prepared for various HTTP responses including 500, 404 - # NOTE: response may be an ExtendedError or may be empty - return self._op('DELETE', suburi, request_headers, None) - - def get_root(self): - return types.Root(self.rest_get('/redfish/v1', {}), connection=self) - - -class Version(object): - def __init__(self, string): - try: - buf = string.split('.') - if len(buf) < 2: - raise AttributeError - except AttributeError: - raise RedfishException(message="Failed to parse version string") - self.major = int(buf[0]) - self.minor = int(buf[1]) - - def __repr__(self): - return str(self.major) + '.' + str(self.minor) - - -# return the type of an object (down to the major version, skipping minor, and errata) -def get_type(obj): - typever = obj['Type'] - typesplit = typever.split('.') - return typesplit[0] + '.' + typesplit[1] - - -# checks HTTP response headers for specified operation (e.g. 'GET' or 'PATCH') -def operation_allowed(headers_dict, operation): - if 'allow' in headers_dict: - if headers_dict['allow'].find(operation) != -1: - return True - return False - - -# Message registry support -# XXX not supported yet -message_registries = {} - - -# Build a list of decoded messages from the extended_error using the message -# registries An ExtendedError JSON object is a response from the with its own -# schema. This function knows how to parse the ExtendedError object and, using -# any loaded message registries, render an array of plain language strings that -# represent the response. -def render_extended_error_message_list(extended_error): - messages = [] - if isinstance(extended_error, dict): - if 'Type' in extended_error and extended_error['Type'].startswith('ExtendedError.'): - for msg in extended_error['Messages']: - MessageID = msg['MessageID'] - x = MessageID.split('.') - registry = x[0] - msgkey = x[len(x) - 1] - - # if the correct message registry is loaded, do string resolution - if registry in message_registries: - if registry in message_registries and msgkey in message_registries[registry]['Messages']: - msg_dict = message_registries[registry]['Messages'][msgkey] - msg_str = MessageID + ': ' + msg_dict['Message'] - - for argn in range(0, msg_dict['NumberOfArgs']): - subst = '%' + str(argn+1) - msg_str = msg_str.replace(subst, str(msg['MessageArgs'][argn])) - - if 'Resolution' in msg_dict and msg_dict['Resolution'] != 'None': - msg_str += ' ' + msg_dict['Resolution'] - - messages.append(msg_str) - else: # no message registry, simply return the msg object in string form - messages.append('No Message Registry Info: '+ str(msg)) - - return messages - - -# Print a list of decoded messages from the extended_error using the message registries -def print_extended_error(extended_error): - messages = render_extended_error_message_list(extended_error) - msgcnt = 0 - for msg in messages: - print('\t' + msg) - msgcnt += 1 - if msgcnt == 0: # add a spacer - print diff --git a/redfish/types.py b/redfish/types.py index a31b8bc..d462731 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -1,197 +1,215 @@ -# Copyright 2014 Hewlett-Packard Development Company, L.P. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - - -""" -Redfish Resource Types -""" - -import base64 -import gzip -import hashlib -import httplib -import json -import ssl -import StringIO -import sys -import urllib2 -from urlparse import urlparse - -from oslo_log import log as logging -from redfish import exception - -LOG = logging.getLogger('redfish') +# coding=utf-8 + +import pprint +from urlparse import urljoin +import requests +import tortilla +import config +import mapping + +# Global variable class Base(object): - def __init__(self, obj, connection=None): - self._conn = connection - """handle to the redfish connection""" - - self._attrs = [] - """list of discovered attributes""" - - self._links = [] - """list of linked resources""" - - # parse the individual resources, appending them to - # the list of object attributes - for k in obj.keys(): - ref = k.lower() - if ref in ["links", "oem", "items"]: - continue - setattr(self, ref, obj[k]) - self._attrs.append(ref) - - # make sure the required attributes are present - if not getattr(self, 'name', False): - raise ObjectLoadException( - "Failed to load object. Reason: could not determine name.") - if not getattr(self, 'type', False): - raise ObjectLoadException( - "Failed to load object. Reason: could not determine type.") - - if getattr(self, 'serviceversion', False): - self.type = self.type.replace('.' + self.serviceversion, '') + """Abstract class to manage types (Chassis, Servers etc...).""" + + def __init__(self, url, connection_parameters): + global TORTILLADEBUG + self.connection_parameters = connection_parameters # Uggly hack to check + self.url = url + self.api_url = tortilla.wrap(url, debug=config.TORTILLADEBUG) + + try: + if connection_parameters.auth_token == None: + self.data = self.api_url.get(verify=connection_parameters.verify_cert) + else: + self.data = self.api_url.get(verify=connection_parameters.verify_cert, + headers={'x-auth-token': connection_parameters.auth_token} + ) + except requests.ConnectionError as e: + print e + # Log and transmit the exception. + config.logger.error("Connection error : %s", e) + raise e + print self.data + + def get_link_url(self, link_type): + """Need to be explained. + + :param redfish_logfile: redfish log + :type str + :returns: True + + """ + self.links=[] + + # Manage standard < 1.0 + if float(mapping.redfish_version) < 1.00: + links = getattr(self.data, mapping.redfish_mapper.map_links()) + if link_type in links: + return urljoin(self.url, links[link_type][mapping.redfish_mapper.map_links_ref()]) else: - # TODO: use a regex here to strip and store the version - # instead of assuming it is 7 chars long - self.type = self.type[:-7] + links = getattr(self.data, link_type) + link = getattr(links, mapping.redfish_mapper.map_links_ref()) + return urljoin(self.url, link) + + @property + def url(self): + return self.__url - # Lastly, parse the 'links' resource. - # Note that this may have different nested structure, depending on - # what type of resource this is, or what vendor it is. - # subclasses may follow this by parsing other resources / collections - self._parse_links(obj) + @url.setter + def url(self, url): + self.__url = url - def _parse_links(self, obj): - """Map linked resources to getter functions - The root resource returns a dict of links to top-level resources - """ - def getter(connection, href): - def _get(): - return connection.rest_get(href, {}) - return _get +class BaseCollection(Base): + """Abstract class to manage collection (Chassis, Servers etc...).""" - for k in obj['links']: - ref = "get_" + k.lower() - self._links.append(ref) - href = obj['links'][k]['href'] - setattr(self, ref, getter(self._conn, href)) + def __init__(self, url, connection_parameters): + super(BaseCollection, self).__init__(url, connection_parameters) - def __repr__(self): - """Return this object's _attrs as a dict""" - res = {} - for a in self._attrs: - res[a] = getattr(self, a) - return res + self.links=[] + - def __str__(self): - """Return the string representation of this object's _attrs""" - return json.dumps(self.__repr__()) + #linksmembers = self.data.Links.Members + #linksmembers = self.data.links.Member + if float(mapping.redfish_version) < 1.00: + linksmembers = getattr(self.data, mapping.redfish_mapper.map_links()) + linksmembers = getattr(linksmembers, mapping.redfish_mapper.map_members()) + else: + linksmembers = getattr(self.data, mapping.redfish_mapper.map_members()) + for link in linksmembers: + #self.links.append(getattr(link,"@odata.id")) + #self.links.append(getattr(link,"href")) + self.links.append(urljoin(self.url, getattr(link, mapping.redfish_mapper.map_links_ref()))) -class BaseCollection(Base): - """Base class for collection types""" - def __init__(self, obj, connection=None): - super(BaseCollection, self).__init__(obj, connection=connection) - self._parse_items(obj) - self._attrs.append('items') + print self.links - def _parse_links(self, obj): - """links are special on a chassis; dont parse them""" - pass - def _parse_items(self, obj): - """Map linked items to getter methods +class Root(Base): + """Class to manage redfish Root data.""" + + + def get_api_version(self): + """Return api version. + + :returns: string -- version + :raises: AttributeError - The chassis resource returns a list of items and corresponding - link data in a separate entity. """ - def getter(connection, href): - def _get(): - return connection.rest_get(href, {}) - return _get - - self.items = [] - self._item_getters = [] - - if 'links' in obj and 'Member' in obj['links']: - # NOTE: this assumes the lists are ordered the same - counter = 0 - for item in obj['links']['Member']: - self.items.append(obj['Items'][counter]) - self._item_getters.append( - getter(self._conn, item['href'])) - counter+=1 - elif 'Items' in obj: - # TODO: find an example of this format and make sure it works - for item in obj['Items']: - if 'links' in item and 'self' in item['links']: - href = item['links']['self']['href'] - self.items.append(item) - - # TODO: implement paging support - # if 'links' in obj and 'NextPage' in obj['links']: - # next_page = THIS_URI + '?page=' + str(obj['links']['NextPage']['page']) - # do something with next_page URI - - def __iter__(self): - for getter in self._item_getters: - yield getter() + try: + version = self.data.RedfishVersion + except AttributeError: + version = self.data.ServiceVersion + + version = version.replace('.', '') + version = version[0] + '.' + version[1:] + return(version) + def get_api_UUID(self): + return self.data.UUID -class Root(Base): - """Root '/' resource class""" - def _parse_links(self, obj): - """Map linked resources to getter functions - The root resource returns a dict of links to top-level resources + def get_api_link_to_server(self): + """Return api link to server. - TODO: continue implementing customizations for top-level resources + :returns: string -- path """ - mapping = { - 'Systems': Systems, - 'Chassis': Chassis, - 'Managers': Base, - 'Schemas': Base, - 'Registries': Base, - 'Tasks': Base, - 'AccountService': Base, - 'Sessions': Base, - 'EventService': Base, - } - - def getter(connection, href, type): - def _get(): - return mapping[type](connection.rest_get(href, {}), self._conn) - return _get - - for k in obj['links']: - ref = "get_" + k.lower() - self._links.append(ref) - href = obj['links'][k]['href'] - setattr(self, ref, getter(self._conn, href, k)) - - -class Chassis(BaseCollection): - """Chassis resource class""" - def __len__(self): - return len(self.items) + return getattr(self.root.Links.Systems, "@odata.id") -class Systems(Base): +class SessionService(Base): + """Class to manage redfish SessionService data.""" pass + + +class Managers(Base): + def __init__(self, url, connection_parameters): + super(Managers, self).__init__(url, connection_parameters) + + try: + +# self.ethernet_interfaces_collection = EthernetInterfacesCollection( +# self.get_link_url("EthernetInterfaces"), +# connection_parameters +# ) + + # Works on proliant, need to treat 095 vs 0.96 differences + self.ethernet_interfaces_collection = EthernetInterfacesCollection( + self.get_link_url("EthernetNICs"), + connection_parameters + ) + except: + pass + + +class ManagersCollection(BaseCollection): + """Class to manage redfish ManagersCollection data.""" + def __init__(self, url, connection_parameters): + super(ManagersCollection, self).__init__(url, connection_parameters) + + self.managers_list = [] + + for link in self.links: + self.managers_list.append(Managers(link, connection_parameters)) + + + +class Systems(Base): + # TODO : Need to discuss with Bruno the required method. + # Also to check with the ironic driver requirement. + def __init__(self, url, connection_parameters): + super(Systems, self).__init__(url, connection_parameters) + + def reset_system(self): + # Craft the request + action = dict() + action['Action'] = 'Reset' + action['ResetType'] = 'ForceRestart' + + # perform the POST action + print self.api_url + response = self.api_url.post(verify=self.connection_parameters.verify_cert, + headers={'x-auth-token': self.connection_parameters.auth_token}, + data=action + ) + #TODO : treat response. + + def get_bios_version(self): + try: + # Returned by proliant + return self.data.Bios.Current.VersionString + except: + # Returned by mockup. + # Hopefully this kind of discrepencies will be fixed with Redfish 1.0 (August) + return self.data.BiosVersion + + +class SystemsCollection(BaseCollection): + """Class to manage redfish ManagersCollection data.""" + def __init__(self, url, connection_parameters): + super(SystemsCollection, self).__init__(url, connection_parameters) + + self.systems_list = [] + + for link in self.links: + self.systems_list.append(Systems(link, connection_parameters)) + + +class EthernetInterfacesCollection(BaseCollection): + def __init__(self, url, connection_parameters): + super(EthernetInterfacesCollection, self).__init__(url, connection_parameters) + + self.ethernet_interfaces_list = [] + + # Url returned by the mock up is wrong /redfish/v1/Managers/EthernetInterfaces/1 returns a 404. + # The correct one should be /redfish/v1/Managers/1/EthernetInterfaces/1 + # Check more than 1 hour for this bug.... grrr.... + for link in self.links: + self.ethernet_interfaces_list.append(EthernetInterfaces(link, connection_parameters)) + + +class EthernetInterfaces(Base): + pass \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 1cbb598..8a4779b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,5 +3,6 @@ # process, which may cause wedges in the gate later. pbr>=0.6,!=0.7,<1.0 -oslo.log>=1.0,<2.0 +#oslo.log>=1.0,<2.0 Babel>=1.3 +tortilla>=0.4.1 diff --git a/setup.cfg b/setup.cfg index 2fa161e..d2858c6 100644 --- a/setup.cfg +++ b/setup.cfg @@ -3,8 +3,8 @@ name = python-redfish summary = Reference implementation of Redfish standard client. description-file = README.rst -author = OpenStack -author-email = openstack-dev@lists.openstack.org +author = Redfish dev team +author-email = python-redfish@lists.mondorescue.org home-page = http://www.openstack.org/ classifier = Environment :: OpenStack diff --git a/test-requirements.txt b/test-requirements.txt index 8592bde..1da9f7e 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -8,8 +8,8 @@ coverage>=3.6 discover python-subunit>=0.0.18 sphinx>=1.1.2,!=1.2.0,!=1.3b1,<1.3 -oslosphinx>=2.2.0 # Apache-2.0 -oslotest>=1.2.0 # Apache-2.0 +#oslosphinx>=2.2.0 # Apache-2.0 +#oslotest>=1.2.0 # Apache-2.0 testrepository>=0.0.18 testscenarios>=0.4 testtools>=0.9.36,!=1.2.0 From 9a97e84250c4d7f61ef34eceb08f8a086c3f6e0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Ribaud?= Date: Sun, 5 Jul 2015 14:09:14 +0200 Subject: [PATCH 002/224] Update README.rst --- README.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.rst b/README.rst index 266abc2..7855714 100644 --- a/README.rst +++ b/README.rst @@ -47,6 +47,12 @@ Developer setup To initialize a local development environment (eg, so you can run unit tests) you should run the following commands:: +Contacts +-------- + +Distribution list : python-redfish@mondorescue.org + + Further References ------------------ From cdc91e29c36b820dc5f4078833babe866eeaf15e Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Fri, 11 Sep 2015 00:50:35 +0200 Subject: [PATCH 003/224] Suppress a useless Dockerfile not used yet which contains private info --- examples/docker/Dockerfile | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 examples/docker/Dockerfile diff --git a/examples/docker/Dockerfile b/examples/docker/Dockerfile deleted file mode 100644 index 041ad08..0000000 --- a/examples/docker/Dockerfile +++ /dev/null @@ -1,13 +0,0 @@ -FROM ubuntu:15.04 -MAINTAINER bruno.cornec@hp.com -ENV DEBIAN_FRONTEND noninterative -ENV http_proxy http://web-proxy.fra.hp.com:8080 -ENV https_proxy http://web-proxy.fra.hp.com:8080 -# Install deps for Redfish mockup -RUN apt-get update -RUN apt-get -y install python-mock python-pip git openssh-client libpython2.7-dev python-oslotest -RUN apt-get -y ansible -RUN useradd -m bruno -RUN chown -R bruno /usr/local -RUN su - bruno -c "git clone https://github.com/bcornec/python-redfish.git ; pip install -r python-redfish/requirements.txt ; cd python-redfish ; python setup.py install -O1" -CMD /bin/bash From 19b64e8734402f3950813c18ac59a9ae7f4f147e Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Tue, 24 Nov 2015 14:34:51 +0100 Subject: [PATCH 004/224] Ignore vim files in git --- .gitignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitignore b/.gitignore index 1d9192b..57a8ee7 100644 --- a/.gitignore +++ b/.gitignore @@ -60,3 +60,7 @@ target/ .pydevproject .settings/ .metadata + +# Vim +*~ +*.sw? From 6b2728e5d86eea07e128b01a0e12972f0c88aaf9 Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Wed, 26 Aug 2015 17:05:54 +0200 Subject: [PATCH 005/224] Review spec file for local usage --- python-redfish.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/python-redfish.spec b/python-redfish.spec index d6c3171..e60f04d 100644 --- a/python-redfish.spec +++ b/python-redfish.spec @@ -28,7 +28,6 @@ system such as defined by http://www.redfishcertification.org %install %{__python} setup.py install -O1 --skip-build --root %{buildroot} -# TODO: Add examples %files %doc README.rst examples/*.py %dir %{python_sitelib}/redfish From a3755a10712b30a2dca8a0d230de109d840f2e6e Mon Sep 17 00:00:00 2001 From: Uggla Date: Wed, 23 Sep 2015 23:52:11 +0200 Subject: [PATCH 006/224] Fix to handle Redfish v1.0 session login. --- redfish/main.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/redfish/main.py b/redfish/main.py index 5736732..4f93db6 100644 --- a/redfish/main.py +++ b/redfish/main.py @@ -11,6 +11,7 @@ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. +from redfish import mapping """ STARTING ASSUMPTIONS @@ -285,6 +286,11 @@ def login(self): url = self.Root.get_link_url( mapping.redfish_mapper.map_sessionservice() ) + + # Handle login with redfish 1.00, url must be : + # /rest/v1/SessionService/Sessions as specified by the specification + if float(mapping.redfish_version) >= 1.00: + url += '/Sessions' # Craft request body and header requestBody = {"UserName": self.connection_parameters.user_name , "Password": self.connection_parameters.password} From d3506f6a2ed4505bed92b646bc8c964608529f2e Mon Sep 17 00:00:00 2001 From: Uggla Date: Wed, 23 Sep 2015 23:52:58 +0200 Subject: [PATCH 007/224] Handle login exception. This is a first implementation that needs more elaborate error msg. --- redfish/exception.py | 15 ++++++++++----- redfish/main.py | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/redfish/exception.py b/redfish/exception.py index f6f759a..6038480 100644 --- a/redfish/exception.py +++ b/redfish/exception.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- - +import sys +import config class RedfishException(Exception): """Base class for redfish exceptions""" @@ -8,9 +9,13 @@ def __init__(self, message=None, **kwargs): self.message = message - class AuthenticationFailureException(RedfishException): - pass - + def __init__(self, message=None, **kwargs): + super(AuthenticationFailureException, self).__init__(message=None, **kwargs) + config.logger.error(message) + # TODO + # Give a bit more details about the failure (check login etc...) + sys.exit(1) + class LogoutFailureException(RedfishException): - pass \ No newline at end of file + pass diff --git a/redfish/main.py b/redfish/main.py index 4f93db6..f7e6e5e 100644 --- a/redfish/main.py +++ b/redfish/main.py @@ -313,7 +313,7 @@ def login(self): # TODO : Manage exception with a class. # ======================================================================= if auth.status_code != 201: - pass + raise exception.AuthenticationFailureException("Login request return an invalid status code") #sysraise "Error getting token", auth.status_code self.connection_parameters.auth_token = auth.headers.get("x-auth-token") From c48f23979261fd5a7291249c591a84c8cb6999ab Mon Sep 17 00:00:00 2001 From: vmisson Date: Thu, 24 Sep 2015 16:00:50 +0200 Subject: [PATCH 008/224] Create new function: get_serialnumber. Tested with Simulator (v1) + Proliant v0.9.5 + Proliant v1.0 --- examples/simple-proliant.py | 2 ++ redfish/types.py | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/examples/simple-proliant.py b/examples/simple-proliant.py index 9645b34..ca481c3 100644 --- a/examples/simple-proliant.py +++ b/examples/simple-proliant.py @@ -42,4 +42,6 @@ print("Bios version : {}\n".format(remote_mgmt.Systems.systems_list[0].get_bios_version())) +print("Serial Number : {}\n".format(remote_mgmt.Systems.systems_list[0].get_serialnumber())) + remote_mgmt.logout() diff --git a/redfish/types.py b/redfish/types.py index d462731..80185dd 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -186,6 +186,15 @@ def get_bios_version(self): # Hopefully this kind of discrepencies will be fixed with Redfish 1.0 (August) return self.data.BiosVersion + def get_serialnumber(self): + try: + # Returned by proliant + return self.data.SerialNumber + except: + # Returned by mockup. + # Hopefully this kind of discrepencies will be fixed with Redfish 1.0 (August) + return "" + class SystemsCollection(BaseCollection): """Class to manage redfish ManagersCollection data.""" From 4cae02c3c959cab5c0a0bb47a2dd037cc01c225e Mon Sep 17 00:00:00 2001 From: vmisson Date: Fri, 25 Sep 2015 00:47:03 +0200 Subject: [PATCH 009/224] New function get_power() and generic function get_parameter(parameter_name) for class Systems get_power(): return power state of the system get_parameter(parameter_name): return parameter value based on the parameter_name --- examples/simple-proliant.py | 4 +++- redfish/types.py | 14 +++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/examples/simple-proliant.py b/examples/simple-proliant.py index ca481c3..d0c7e61 100644 --- a/examples/simple-proliant.py +++ b/examples/simple-proliant.py @@ -41,7 +41,9 @@ # remote_mgmt.Systems.systems_list[0] = remote_mgmt.Systems.managed_system print("Bios version : {}\n".format(remote_mgmt.Systems.systems_list[0].get_bios_version())) +print("Serial Number : {}\n".format(remote_mgmt.Systems.systems_list[0].get_serial_number())) +print("Power State : {}\n".format(remote_mgmt.Systems.systems_list[0].get_power())) +print("Parameter 'Model' : {}\n".format(remote_mgmt.Systems.systems_list[0].get_parameter("Model"))) -print("Serial Number : {}\n".format(remote_mgmt.Systems.systems_list[0].get_serialnumber())) remote_mgmt.logout() diff --git a/redfish/types.py b/redfish/types.py index 80185dd..ef13b7d 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -186,7 +186,7 @@ def get_bios_version(self): # Hopefully this kind of discrepencies will be fixed with Redfish 1.0 (August) return self.data.BiosVersion - def get_serialnumber(self): + def get_serial_number(self): try: # Returned by proliant return self.data.SerialNumber @@ -194,6 +194,18 @@ def get_serialnumber(self): # Returned by mockup. # Hopefully this kind of discrepencies will be fixed with Redfish 1.0 (August) return "" + + def get_power(self): + try: + return self.data.Power + except: + return "" + + def get_parameter(self, parameter_name): + try: + return self.data[parameter_name] + except: + return "Parameter does not exist" class SystemsCollection(BaseCollection): From 50abb5cda25b91328dfa32748114e7ed8de00330 Mon Sep 17 00:00:00 2001 From: Uggla Date: Fri, 25 Sep 2015 23:46:34 +0200 Subject: [PATCH 010/224] Remove import mistake coming from pydev automatic import. --- redfish/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redfish/main.py b/redfish/main.py index f7e6e5e..fbe9f21 100644 --- a/redfish/main.py +++ b/redfish/main.py @@ -11,7 +11,7 @@ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. -from redfish import mapping + """ STARTING ASSUMPTIONS From 394aee2f2bcebad937ea5c9219a21f0c93d4b17c Mon Sep 17 00:00:00 2001 From: Uggla Date: Fri, 25 Sep 2015 23:47:50 +0200 Subject: [PATCH 011/224] Initial commit of redfish-client. --- redfish-client/redfish-client.py | 73 ++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 redfish-client/redfish-client.py diff --git a/redfish-client/redfish-client.py b/redfish-client/redfish-client.py new file mode 100644 index 0000000..a6f9398 --- /dev/null +++ b/redfish-client/redfish-client.py @@ -0,0 +1,73 @@ +# coding=utf-8 + +""" +redfish-client + +Usage: + redfish-client.py [options] config add [] [] + redfish-client.py [options] config del + redfish-client.py [options] config modify (url | login | password) + redfish-client.py [options] config show + redfish-client.py [options] config showall + redfish-client.py (-h | --help) + redfish-client.py --version + + +Options: + -h --help Show this screen. + --version Show version. + --conf_file FILE Configuration file [default: ~/.redfish.conf]. + + +config commands manage the configuration file. + +""" + +import os +import sys +import json +import pprint +import docopt + + +class ConfigFile(object): + def __init__(self, config_file): + # read json file + try: + with open(config_file) as json_data: + self.data = json.load(json_data) + json_data.close() + except IOError as e: + self.data = {"Nodes":{}} + + + +if __name__ == '__main__': + # Get $HOME environment. + HOME = os.getenv('HOME') + + if HOME == '': + print("$HOME environment variable not set, please check your system") + sys.exit(1) + + arguments = docopt.docopt(__doc__, version='redfish-client 0.1') + print(arguments) + + arguments['--conf_file'] = arguments['--conf_file'].replace('~', HOME) + + conf_file = ConfigFile(arguments['--conf_file']) + + + if arguments['config'] == True: + if arguments['showall'] == True: + pprint.pprint(conf_file.data) + elif arguments['add'] == True: + conf_file.data['Nodes'][arguments['']] = {} + conf_file.data['Nodes'][arguments['']]['url'] = arguments[''] + if arguments[''] != None: + conf_file.data['Nodes'][arguments['']]['login'] = arguments[''] + if arguments[''] != None: + conf_file.data['Nodes'][arguments['']]['password'] = arguments[''] + pprint.pprint(conf_file.data) + + \ No newline at end of file From 69122fa26dcb2adff93fae697b6e46001cabb58d Mon Sep 17 00:00:00 2001 From: vmisson Date: Mon, 28 Sep 2015 00:20:41 +0200 Subject: [PATCH 012/224] New classes in types.py: Bios & Boot Creating Bios class to manage System/Bios: - get_parameters() - get_parameter(parameter_name) - set_parameter(parameter_name, value) Creating Boot class to manage System/Bios/Boot: - get_parameters() - get_parameter(parameter_name) - set_parameter(parameter_name, value) New tests in simple-porliant.py file --- examples/simple-proliant.py | 21 +++++++++++- redfish/types.py | 66 +++++++++++++++++++++++++++++++++---- 2 files changed, 80 insertions(+), 7 deletions(-) diff --git a/examples/simple-proliant.py b/examples/simple-proliant.py index d0c7e61..e8e863c 100644 --- a/examples/simple-proliant.py +++ b/examples/simple-proliant.py @@ -6,6 +6,7 @@ import sys import json import redfish +from time import sleep # Get $HOME environment. HOME = os.getenv('HOME') @@ -43,7 +44,25 @@ print("Bios version : {}\n".format(remote_mgmt.Systems.systems_list[0].get_bios_version())) print("Serial Number : {}\n".format(remote_mgmt.Systems.systems_list[0].get_serial_number())) print("Power State : {}\n".format(remote_mgmt.Systems.systems_list[0].get_power())) -print("Parameter 'Model' : {}\n".format(remote_mgmt.Systems.systems_list[0].get_parameter("Model"))) +print("Parameter 'SystemType' : {}\n".format(remote_mgmt.Systems.systems_list[0].get_parameter("SystemType"))) +print("Get bios parameters : {}\n".format(remote_mgmt.Systems.systems_list[0].bios.get_parameters())) +print("Get boot parameters : {}\n".format(remote_mgmt.Systems.systems_list[0].bios.boot.get_parameters())) + + +print("Get bios parameter 'AdminPhone' : {}\n".format(remote_mgmt.Systems.systems_list[0].bios.get_parameter("AdminPhone"))) +print("Set bios parameter 'AdminPhone' to '' : {}\n".format(remote_mgmt.Systems.systems_list[0].bios.set_parameter("AdminPhone",""))) + + +#Boot server with script +#remote_mgmt.Systems.systems_list[0].bios.set_parameter("PreBootNetwork","Auto") +#remote_mgmt.Systems.systems_list[0].bios.set_parameter("Dhcpv4","Enabled") + +#remote_mgmt.Systems.systems_list[0].bios.set_parameter("UefiShellStartup","Enabled") +#remote_mgmt.Systems.systems_list[0].bios.set_parameter("UefiShellStartupLocation","NetworkLocation") +#remote_mgmt.Systems.systems_list[0].bios.set_parameter("UefiShellStartupUrl","http://192.168.1.1/deploy/startup.nsh") + + +#remote_mgmt.Systems.systems_list[0].reset_system() remote_mgmt.logout() diff --git a/redfish/types.py b/redfish/types.py index ef13b7d..01a1d91 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -6,6 +6,7 @@ import tortilla import config import mapping +import re # Global variable @@ -162,6 +163,7 @@ class Systems(Base): # Also to check with the ironic driver requirement. def __init__(self, url, connection_parameters): super(Systems, self).__init__(url, connection_parameters) + self.bios = Bios(url+"Bios/Settings", connection_parameters) def reset_system(self): # Craft the request @@ -174,7 +176,7 @@ def reset_system(self): response = self.api_url.post(verify=self.connection_parameters.verify_cert, headers={'x-auth-token': self.connection_parameters.auth_token}, data=action - ) + ) #TODO : treat response. def get_bios_version(self): @@ -206,8 +208,7 @@ def get_parameter(self, parameter_name): return self.data[parameter_name] except: return "Parameter does not exist" - - + class SystemsCollection(BaseCollection): """Class to manage redfish ManagersCollection data.""" def __init__(self, url, connection_parameters): @@ -217,8 +218,62 @@ def __init__(self, url, connection_parameters): for link in self.links: self.systems_list.append(Systems(link, connection_parameters)) - - + +class Bios(Base): + def __init__(self, url, connection_parameters): + super(Bios, self).__init__(url, connection_parameters) + self.boot = Boot(re.findall(".+/Bios",url)[0]+"/Boot/Settings", connection_parameters) + + def get_parameters(self): + try: + return self.data + except: + return -1 + + def get_parameter(self, parameter_name): + try: + return self.data[parameter_name] + except: + return "Parameter does not exist" + + def set_parameter(self, parameter_name, value): + # Craft the request + action = dict() + action[parameter_name] = value + + # perform the POST action + print self.api_url + response = self.api_url.patch(verify=self.connection_parameters.verify_cert, + headers={'x-auth-token': self.connection_parameters.auth_token}, + data=action + ) +class Boot(Base): + def __init__(self, url, connection_parameters): + super(Boot, self).__init__(url, connection_parameters) + + def get_parameters(self): + try: + return self.data + except: + return -1 + + def get_parameter(self, parameter_name): + try: + return self.data[parameter_name] + except: + return "Parameter does not exist" + + def set_parameter(self, parameter_name, value): + # Craft the request + action = dict() + action[parameter_name] = value + + # perform the POST action + response = self.api_url.patch(verify=self.connection_parameters.verify_cert, + headers={'x-auth-token': self.connection_parameters.auth_token}, + data=action + ) + class EthernetInterfacesCollection(BaseCollection): def __init__(self, url, connection_parameters): super(EthernetInterfacesCollection, self).__init__(url, connection_parameters) @@ -231,6 +286,5 @@ def __init__(self, url, connection_parameters): for link in self.links: self.ethernet_interfaces_list.append(EthernetInterfaces(link, connection_parameters)) - class EthernetInterfaces(Base): pass \ No newline at end of file From 6bc483a465e3b6c463cfe247624d531bb4737f9b Mon Sep 17 00:00:00 2001 From: vmisson Date: Mon, 5 Oct 2015 11:15:29 +0200 Subject: [PATCH 013/224] New function set_parameter and set_parameter_json on Systems Class - set_parameter(parameter_name, value): change parameter_name to value. Restart is required to apply the changes. - set_parameter_json(json): update System with the json. Restart is required to apply the changes. New tests were added to simple-proliat file to update boot value. --- examples/simple-proliant.py | 16 ++++++++++------ redfish/types.py | 23 +++++++++++++++++++++++ 2 files changed, 33 insertions(+), 6 deletions(-) diff --git a/examples/simple-proliant.py b/examples/simple-proliant.py index e8e863c..a129cba 100644 --- a/examples/simple-proliant.py +++ b/examples/simple-proliant.py @@ -50,19 +50,23 @@ print("Get boot parameters : {}\n".format(remote_mgmt.Systems.systems_list[0].bios.boot.get_parameters())) -print("Get bios parameter 'AdminPhone' : {}\n".format(remote_mgmt.Systems.systems_list[0].bios.get_parameter("AdminPhone"))) -print("Set bios parameter 'AdminPhone' to '' : {}\n".format(remote_mgmt.Systems.systems_list[0].bios.set_parameter("AdminPhone",""))) +#print("Get bios parameter 'AdminPhone' : {}\n".format(remote_mgmt.Systems.systems_list[0].bios.get_parameter("AdminPhone"))) +#print("Set bios parameter 'AdminPhone' to '' : {}\n".format(remote_mgmt.Systems.systems_list[0].bios.set_parameter("AdminPhone",""))) #Boot server with script -#remote_mgmt.Systems.systems_list[0].bios.set_parameter("PreBootNetwork","Auto") #remote_mgmt.Systems.systems_list[0].bios.set_parameter("Dhcpv4","Enabled") -#remote_mgmt.Systems.systems_list[0].bios.set_parameter("UefiShellStartup","Enabled") -#remote_mgmt.Systems.systems_list[0].bios.set_parameter("UefiShellStartupLocation","NetworkLocation") -#remote_mgmt.Systems.systems_list[0].bios.set_parameter("UefiShellStartupUrl","http://192.168.1.1/deploy/startup.nsh") +remote_mgmt.Systems.systems_list[0].bios.set_parameter("PreBootNetwork", "Auto") +remote_mgmt.Systems.systems_list[0].bios.set_parameter("UefiShellStartup", "Enabled") +remote_mgmt.Systems.systems_list[0].bios.set_parameter("UefiShellStartupLocation", "NetworkLocation") +remote_mgmt.Systems.systems_list[0].bios.set_parameter("UefiShellStartupUrl", "http://10.3.222.88/deploy/startup.nsh") +remote_mgmt.Systems.systems_list[0].set_parameter_json('{"Boot": {"BootSourceOverrideTarget": "UefiShell"}}') +remote_mgmt.Systems.systems_list[0].set_parameter_json('{"Boot": {"BootSourceOverrideEnabled" : "Once"}}') + +#Reset of the system is required to apply the changes #remote_mgmt.Systems.systems_list[0].reset_system() remote_mgmt.logout() diff --git a/redfish/types.py b/redfish/types.py index 01a1d91..9ef5427 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -209,6 +209,29 @@ def get_parameter(self, parameter_name): except: return "Parameter does not exist" + def set_parameter(self, parameter_name, value): + # Craft the request + action = dict() + action[parameter_name] = value + print(action) + + # perform the POST action + print self.api_url + response = self.api_url.patch(verify=self.connection_parameters.verify_cert, + headers={'x-auth-token': self.connection_parameters.auth_token}, + data=action + ) + + def set_parameter_json(self, value): + # perform the POST action + print self.api_url.url() + + response = requests.patch(self.api_url.url(), + verify=self.connection_parameters.verify_cert, + headers={'x-auth-token': self.connection_parameters.auth_token, 'Content-type': 'application/json'}, + data=value) + print(response.reason) + class SystemsCollection(BaseCollection): """Class to manage redfish ManagersCollection data.""" def __init__(self, url, connection_parameters): From 6b296a79a385033d67d718496dfe9cf2dad15b84 Mon Sep 17 00:00:00 2001 From: vmisson Date: Wed, 14 Oct 2015 18:39:06 +0200 Subject: [PATCH 014/224] Add comment --- examples/simple-proliant.py | 3 +- redfish/types.py | 109 ++++++++++++++++++++++++++++++++---- 2 files changed, 100 insertions(+), 12 deletions(-) diff --git a/examples/simple-proliant.py b/examples/simple-proliant.py index a129cba..ef0b3fe 100644 --- a/examples/simple-proliant.py +++ b/examples/simple-proliant.py @@ -62,11 +62,10 @@ remote_mgmt.Systems.systems_list[0].bios.set_parameter("UefiShellStartupLocation", "NetworkLocation") remote_mgmt.Systems.systems_list[0].bios.set_parameter("UefiShellStartupUrl", "http://10.3.222.88/deploy/startup.nsh") - remote_mgmt.Systems.systems_list[0].set_parameter_json('{"Boot": {"BootSourceOverrideTarget": "UefiShell"}}') remote_mgmt.Systems.systems_list[0].set_parameter_json('{"Boot": {"BootSourceOverrideEnabled" : "Once"}}') #Reset of the system is required to apply the changes -#remote_mgmt.Systems.systems_list[0].reset_system() +remote_mgmt.Systems.systems_list[0].reset_system() remote_mgmt.logout() diff --git a/redfish/types.py b/redfish/types.py index 9ef5427..4d9ec3c 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -15,6 +15,7 @@ class Base(object): """Abstract class to manage types (Chassis, Servers etc...).""" def __init__(self, url, connection_parameters): + """Class constructor""" global TORTILLADEBUG self.connection_parameters = connection_parameters # Uggly hack to check self.url = url @@ -91,7 +92,6 @@ def __init__(self, url, connection_parameters): class Root(Base): """Class to manage redfish Root data.""" - def get_api_version(self): """Return api version. @@ -109,6 +109,11 @@ def get_api_version(self): return(version) def get_api_UUID(self): + """Return UUID version. + + :returns: string -- UUID + + """ return self.data.UUID @@ -127,6 +132,7 @@ class SessionService(Base): class Managers(Base): + """Class to manage redfish Managers.""" def __init__(self, url, connection_parameters): super(Managers, self).__init__(url, connection_parameters) @@ -149,37 +155,47 @@ def __init__(self, url, connection_parameters): class ManagersCollection(BaseCollection): """Class to manage redfish ManagersCollection data.""" def __init__(self, url, connection_parameters): + """Class constructor""" super(ManagersCollection, self).__init__(url, connection_parameters) - self.managers_list = [] - for link in self.links: self.managers_list.append(Managers(link, connection_parameters)) - - class Systems(Base): + """Class to manage redfish Systems data.""" # TODO : Need to discuss with Bruno the required method. # Also to check with the ironic driver requirement. def __init__(self, url, connection_parameters): + """Class constructor""" super(Systems, self).__init__(url, connection_parameters) self.bios = Bios(url+"Bios/Settings", connection_parameters) def reset_system(self): + """Force reset of the system. + + :returns: string -- http response of POST request + + """ # Craft the request action = dict() action['Action'] = 'Reset' action['ResetType'] = 'ForceRestart' - # perform the POST action - print self.api_url + #Debug the url and perform the POST action + #print self.api_url response = self.api_url.post(verify=self.connection_parameters.verify_cert, headers={'x-auth-token': self.connection_parameters.auth_token}, data=action ) #TODO : treat response. - + return response + def get_bios_version(self): + """Get bios version of the system. + + :returns: string -- bios version + + """ try: # Returned by proliant return self.data.Bios.Current.VersionString @@ -189,6 +205,11 @@ def get_bios_version(self): return self.data.BiosVersion def get_serial_number(self): + """Get serial number of the system. + + :returns: string -- serial number + + """ try: # Returned by proliant return self.data.SerialNumber @@ -198,31 +219,56 @@ def get_serial_number(self): return "" def get_power(self): + """Get power status of the system. + + :returns: string -- power status or NULL if there is an issue + + """ try: return self.data.Power except: return "" def get_parameter(self, parameter_name): + """Generic function to get any system parameter + + :param parameter_name: name of the parameter + :returns: string -- parameter value + + """ try: return self.data[parameter_name] except: return "Parameter does not exist" def set_parameter(self, parameter_name, value): + """Generic function to set any system parameter + + :param parameter_name: name of the parameter + :param value: value to set + :returns: string -- http response of PATCH request + + """ # Craft the request action = dict() action[parameter_name] = value print(action) - # perform the POST action + # Perform the POST action print self.api_url response = self.api_url.patch(verify=self.connection_parameters.verify_cert, headers={'x-auth-token': self.connection_parameters.auth_token}, data=action - ) + ) + return response def set_parameter_json(self, value): + """Generic function to set any system parameter using json structure + + :param value: json structure with value to update + :returns: string -- http response of PATCH request + + """ # perform the POST action print self.api_url.url() @@ -243,23 +289,42 @@ def __init__(self, url, connection_parameters): self.systems_list.append(Systems(link, connection_parameters)) class Bios(Base): + """Class to manage redfish Bios data.""" def __init__(self, url, connection_parameters): super(Bios, self).__init__(url, connection_parameters) self.boot = Boot(re.findall(".+/Bios",url)[0]+"/Boot/Settings", connection_parameters) def get_parameters(self): + """Generic function to get all system parameters + + :returns: string -- parameter value + + """ try: return self.data except: return -1 def get_parameter(self, parameter_name): + """Generic function to get any system parameter + + :param parameter_name: name of the parameter + :returns: string -- parameter value + + """ try: return self.data[parameter_name] except: return "Parameter does not exist" def set_parameter(self, parameter_name, value): + """Generic function to set any bios parameter + + :param parameter_name: name of the parameter + :param value: value to set + :returns: string -- http response of PATCH request + + """ # Craft the request action = dict() action[parameter_name] = value @@ -270,23 +335,44 @@ def set_parameter(self, parameter_name, value): headers={'x-auth-token': self.connection_parameters.auth_token}, data=action ) + return response + class Boot(Base): + """Class to manage redfish Boot data.""" def __init__(self, url, connection_parameters): super(Boot, self).__init__(url, connection_parameters) def get_parameters(self): + """Generic function to get all system parameters + + :returns: string -- parameter value + + """ try: return self.data except: return -1 def get_parameter(self, parameter_name): + """Generic function to get any system parameter + + :param parameter_name: name of the parameter + :returns: string -- parameter value + + """ try: return self.data[parameter_name] except: return "Parameter does not exist" def set_parameter(self, parameter_name, value): + """Generic function to set any bios parameter + + :param parameter_name: name of the parameter + :param value: value to set + :returns: string -- http response of PATCH request + + """ # Craft the request action = dict() action[parameter_name] = value @@ -296,8 +382,10 @@ def set_parameter(self, parameter_name, value): headers={'x-auth-token': self.connection_parameters.auth_token}, data=action ) + return response class EthernetInterfacesCollection(BaseCollection): + """Class to manage redfish EthernetInterfacesColkection data.""" def __init__(self, url, connection_parameters): super(EthernetInterfacesCollection, self).__init__(url, connection_parameters) @@ -310,4 +398,5 @@ def __init__(self, url, connection_parameters): self.ethernet_interfaces_list.append(EthernetInterfaces(link, connection_parameters)) class EthernetInterfaces(Base): + """Class to manage redfish EthernetInterfaces data.""" pass \ No newline at end of file From dd6a1eafc05e6383e563f8d402902cbb1bf1f07d Mon Sep 17 00:00:00 2001 From: Uggla Date: Thu, 15 Oct 2015 13:54:17 +0200 Subject: [PATCH 015/224] Add UEFI mode. --- examples/simple-proliant.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/simple-proliant.py b/examples/simple-proliant.py index ef0b3fe..ce33940 100644 --- a/examples/simple-proliant.py +++ b/examples/simple-proliant.py @@ -63,7 +63,7 @@ remote_mgmt.Systems.systems_list[0].bios.set_parameter("UefiShellStartupUrl", "http://10.3.222.88/deploy/startup.nsh") remote_mgmt.Systems.systems_list[0].set_parameter_json('{"Boot": {"BootSourceOverrideTarget": "UefiShell"}}') -remote_mgmt.Systems.systems_list[0].set_parameter_json('{"Boot": {"BootSourceOverrideEnabled" : "Once"}}') +remote_mgmt.Systems.systems_list[0].set_parameter_json('{"Boot": {"BootSourceOverrideEnabled" : "Continuous"}}') #Reset of the system is required to apply the changes remote_mgmt.Systems.systems_list[0].reset_system() From 2a8d261b41fd95fedf5539aa794aa89ca75831ea Mon Sep 17 00:00:00 2001 From: Uggla Date: Thu, 15 Oct 2015 13:55:28 +0200 Subject: [PATCH 016/224] Add both UEFI parameters "Continuous" and "Once" as an example. --- examples/simple-proliant.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/examples/simple-proliant.py b/examples/simple-proliant.py index ce33940..22cf8dd 100644 --- a/examples/simple-proliant.py +++ b/examples/simple-proliant.py @@ -33,7 +33,7 @@ print ("Redfish API version : %s \n" % remote_mgmt.get_api_version()) -# Uncomment following line to reset the blade !!! +# Uncomment following line to reset the blade !!! #remote_mgmt.Systems.systems_list[0].reset_system() # TODO : create an attribute to link the managed system directly @@ -63,7 +63,8 @@ remote_mgmt.Systems.systems_list[0].bios.set_parameter("UefiShellStartupUrl", "http://10.3.222.88/deploy/startup.nsh") remote_mgmt.Systems.systems_list[0].set_parameter_json('{"Boot": {"BootSourceOverrideTarget": "UefiShell"}}') -remote_mgmt.Systems.systems_list[0].set_parameter_json('{"Boot": {"BootSourceOverrideEnabled" : "Continuous"}}') +# remote_mgmt.Systems.systems_list[0].set_parameter_json('{"Boot": {"BootSourceOverrideEnabled" : "Continuous"}}') +remote_mgmt.Systems.systems_list[0].set_parameter_json('{"Boot": {"BootSourceOverrideEnabled" : "Once"}}') #Reset of the system is required to apply the changes remote_mgmt.Systems.systems_list[0].reset_system() From 6eaccc3ad262718f225795ded33ca23e080fac0f Mon Sep 17 00:00:00 2001 From: Uggla Date: Thu, 15 Oct 2015 14:01:45 +0200 Subject: [PATCH 017/224] Add LICENCE file. Apache 2 Licence. --- LICENSE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index e06d208..8f71f43 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Apache License + Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ From 065a61442ab24ee0dbde1bbf1700eec676347a0a Mon Sep 17 00:00:00 2001 From: Uggla Date: Fri, 16 Oct 2015 00:40:36 +0200 Subject: [PATCH 018/224] Update redfish-client.py --- redfish-client/redfish-client.py | 91 +++++++++++++++++++++++++------- 1 file changed, 72 insertions(+), 19 deletions(-) mode change 100644 => 100755 redfish-client/redfish-client.py diff --git a/redfish-client/redfish-client.py b/redfish-client/redfish-client.py old mode 100644 new mode 100755 index a6f9398..c1be6b6 --- a/redfish-client/redfish-client.py +++ b/redfish-client/redfish-client.py @@ -1,3 +1,5 @@ +#!/usr/bin/python + # coding=utf-8 """ @@ -19,7 +21,7 @@ --conf_file FILE Configuration file [default: ~/.redfish.conf]. -config commands manage the configuration file. +config commands manage the configuration file. """ @@ -32,17 +34,65 @@ class ConfigFile(object): def __init__(self, config_file): + self._config_file = config_file # read json file - try: - with open(config_file) as json_data: + try: + with open(self._config_file) as json_data: self.data = json.load(json_data) json_data.close() + except (ValueError, IOError): + self.data = {"Managers":{}} + + def save(self): + try: + with open(self._config_file , 'w') as json_data: + json.dump(self.data, json_data) + json_data.close() except IOError as e: - self.data = {"Nodes":{}} + print(e.msg) + sys.exit(1) + + def add_manager(self, manager_name, url, login, password): + self.data['Managers'][manager_name] = {} + self.data['Managers'][manager_name]['url'] = url + if login != None: + self.data['Managers'][manager_name]['login'] = login + if password != None: + self.data['Managers'][manager_name]['password'] = password + + def get_managers(self): + managers = [] + for manager in self.data['Managers']: + managers += [manager] + return(managers) + + def get_manager_info(self, manager): + info = {} + url=self.data['Managers'][manager]['url'] + login=self.data['Managers'][manager]['login'] + password=self.data['Managers'][manager]['password'] + info={'url':url, 'login':login, 'password':password} + return(info) + +class RedfishClientException(Exception): + """Base class for redfish client exceptions""" + def __init__(self, message=None, **kwargs): + self.kwargs = kwargs + self.message = message - if __name__ == '__main__': + # Functions + def show_manager(all=False): + print("Managers configured :") + for manager in conf_file.get_managers(): + print(manager) + if all == True: + info = conf_file.get_manager_info(manager) + print("\tUrl : {}".format(info['url'])) + print("\tLogin : {}".format(info['login'])) + print("\tPassword : {}".format(info['password'])) + # Get $HOME environment. HOME = os.getenv('HOME') @@ -52,22 +102,25 @@ def __init__(self, config_file): arguments = docopt.docopt(__doc__, version='redfish-client 0.1') print(arguments) - + arguments['--conf_file'] = arguments['--conf_file'].replace('~', HOME) - + conf_file = ConfigFile(arguments['--conf_file']) - - + + if arguments['config'] == True: - if arguments['showall'] == True: - pprint.pprint(conf_file.data) + if arguments['show'] == True: + show_manager() + elif arguments['showall'] == True: + show_manager(True) elif arguments['add'] == True: - conf_file.data['Nodes'][arguments['']] = {} - conf_file.data['Nodes'][arguments['']]['url'] = arguments[''] - if arguments[''] != None: - conf_file.data['Nodes'][arguments['']]['login'] = arguments[''] - if arguments[''] != None: - conf_file.data['Nodes'][arguments['']]['password'] = arguments[''] + conf_file.add_manager(arguments[''], + arguments[''], + arguments[''], + arguments['password']) pprint.pprint(conf_file.data) - - \ No newline at end of file + + conf_file.save() + + + sys.exit(0) From e92169956ffd267e69d19839950ca8bfd382caae Mon Sep 17 00:00:00 2001 From: Uggla Date: Thu, 5 Nov 2015 10:18:05 +0100 Subject: [PATCH 019/224] Merge branch 'prototype' of https://github.com/vmisson/python-redfish into prototype. Quick fix to allow library to run on the mockup. Update the simple-simulator example. Update redfish-client. --- examples/simple-proliant.py | 15 ++- examples/simple-simulator.py | 10 +- redfish/types.py | 212 ++++++++++++++--------------------- 3 files changed, 103 insertions(+), 134 deletions(-) diff --git a/examples/simple-proliant.py b/examples/simple-proliant.py index 22cf8dd..a8f5174 100644 --- a/examples/simple-proliant.py +++ b/examples/simple-proliant.py @@ -62,11 +62,20 @@ remote_mgmt.Systems.systems_list[0].bios.set_parameter("UefiShellStartupLocation", "NetworkLocation") remote_mgmt.Systems.systems_list[0].bios.set_parameter("UefiShellStartupUrl", "http://10.3.222.88/deploy/startup.nsh") -remote_mgmt.Systems.systems_list[0].set_parameter_json('{"Boot": {"BootSourceOverrideTarget": "UefiShell"}}') +#remote_mgmt.Systems.systems_list[0].set_parameter_json('{"Boot": {"BootSourceOverrideTarget": "UefiShell"}}') # remote_mgmt.Systems.systems_list[0].set_parameter_json('{"Boot": {"BootSourceOverrideEnabled" : "Continuous"}}') -remote_mgmt.Systems.systems_list[0].set_parameter_json('{"Boot": {"BootSourceOverrideEnabled" : "Once"}}') +#remote_mgmt.Systems.systems_list[0].set_parameter_json('{"Boot": {"BootSourceOverrideEnabled" : "Once"}}') + +mySystem = remote_mgmt.Systems.systems_list[0] +mySystem.set_boot_source_override("None","Disabled") +#Uncomment the next line to reset the server +#mySystem.reset_system() + + +print("Get manager firmware version : {}\n".format(remote_mgmt.Managers.managers_list[0].get_firmware_version())) +print("Get system Bios version : {}\n".format(remote_mgmt.Systems.systems_list[0].get_bios_version())) #Reset of the system is required to apply the changes -remote_mgmt.Systems.systems_list[0].reset_system() +#remote_mgmt.Systems.systems_list[0].reset_system() remote_mgmt.logout() diff --git a/examples/simple-simulator.py b/examples/simple-simulator.py index c31a0f7..52d9f18 100644 --- a/examples/simple-simulator.py +++ b/examples/simple-simulator.py @@ -31,8 +31,10 @@ remote_mgmt = redfish.connect(URL, USER_NAME, PASSWORD, simulator=True, enforceSSL=False) -print ("Redfish API version : {} \n".format(remote_mgmt.get_api_version())) -print ("UUID : {} \n".format(remote_mgmt.Root.get_api_UUID())) -print ("Bios version : {}\n".format(remote_mgmt.Systems.systems_list[0].get_bios_version())) - +print("Redfish API version : {} \n".format(remote_mgmt.get_api_version())) +print("UUID : {} \n".format(remote_mgmt.Root.get_api_UUID())) +print("System 1 :\n") +print("Bios version : {}\n".format(remote_mgmt.Systems.systems_list[0].get_bios_version())) +print("System 2 :\n") +print("Bios version : {}\n".format(remote_mgmt.Systems.systems_list[1].get_parameter("SerialNumber"))) #print remoteMgmt.get_api_link_to_server() diff --git a/redfish/types.py b/redfish/types.py index 4d9ec3c..d6b3717 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -13,7 +13,6 @@ class Base(object): """Abstract class to manage types (Chassis, Servers etc...).""" - def __init__(self, url, connection_parameters): """Class constructor""" global TORTILLADEBUG @@ -62,11 +61,53 @@ def url(self): @url.setter def url(self, url): self.__url = url + + def get_parameter(self, parameter_name): + """Generic function to get any system parameter + + :param parameter_name: name of the parameter + :returns: string -- parameter value + + """ + try: + return self.data[parameter_name] + except: + return "Parameter does not exist" + + def get_parameters(self): + """Generic function to get all system parameters + + :returns: string -- parameter value + + """ + try: + return self.data + except: + return -1 + + def set_parameter(self, parameter_name, value): + """Generic function to set any system parameter + + :param parameter_name: name of the parameter + :param value: value to set + :returns: string -- http response of PATCH request + + """ + # Craft the request + action = dict() + action[parameter_name] = value + print(action) + # Perform the POST action + print self.api_url + response = self.api_url.patch(verify=self.connection_parameters.verify_cert, + headers={'x-auth-token': self.connection_parameters.auth_token}, + data=action + ) + return response class BaseCollection(Base): """Abstract class to manage collection (Chassis, Servers etc...).""" - def __init__(self, url, connection_parameters): super(BaseCollection, self).__init__(url, connection_parameters) @@ -91,7 +132,6 @@ def __init__(self, url, connection_parameters): class Root(Base): """Class to manage redfish Root data.""" - def get_api_version(self): """Return api version. @@ -116,7 +156,6 @@ def get_api_UUID(self): """ return self.data.UUID - def get_api_link_to_server(self): """Return api link to server. @@ -135,7 +174,6 @@ class Managers(Base): """Class to manage redfish Managers.""" def __init__(self, url, connection_parameters): super(Managers, self).__init__(url, connection_parameters) - try: # self.ethernet_interfaces_collection = EthernetInterfacesCollection( @@ -150,7 +188,20 @@ def __init__(self, url, connection_parameters): ) except: pass + + def get_firmware_version(self): + """Get bios version of the system. + :returns: string -- bios version + + """ + try: + # Returned by proliant + return self.data.FirmwareVersion + except: + # Returned by mockup. + # Hopefully this kind of discrepencies will be fixed with Redfish 1.0 (August) + return self.data.FirmwareVersion class ManagersCollection(BaseCollection): """Class to manage redfish ManagersCollection data.""" @@ -168,7 +219,10 @@ class Systems(Base): def __init__(self, url, connection_parameters): """Class constructor""" super(Systems, self).__init__(url, connection_parameters) - self.bios = Bios(url+"Bios/Settings", connection_parameters) + try: + self.bios = Bios(url + "Bios/Settings", connection_parameters) + except: + pass def reset_system(self): """Force reset of the system. @@ -228,40 +282,7 @@ def get_power(self): return self.data.Power except: return "" - - def get_parameter(self, parameter_name): - """Generic function to get any system parameter - - :param parameter_name: name of the parameter - :returns: string -- parameter value - - """ - try: - return self.data[parameter_name] - except: - return "Parameter does not exist" - - def set_parameter(self, parameter_name, value): - """Generic function to set any system parameter - - :param parameter_name: name of the parameter - :param value: value to set - :returns: string -- http response of PATCH request - - """ - # Craft the request - action = dict() - action[parameter_name] = value - print(action) - # Perform the POST action - print self.api_url - response = self.api_url.patch(verify=self.connection_parameters.verify_cert, - headers={'x-auth-token': self.connection_parameters.auth_token}, - data=action - ) - return response - def set_parameter_json(self, value): """Generic function to set any system parameter using json structure @@ -270,13 +291,35 @@ def set_parameter_json(self, value): """ # perform the POST action - print self.api_url.url() - + #print self.api_url.url() response = requests.patch(self.api_url.url(), verify=self.connection_parameters.verify_cert, headers={'x-auth-token': self.connection_parameters.auth_token, 'Content-type': 'application/json'}, data=value) - print(response.reason) + return response.reason + + def set_boot_source_override(self, target, enabled): + """Shotcut function to set boot source + + :param target: new boot source. Supported values: + "None", + "Pxe", + "Floppy", + "Cd", + "Usb", + "Hdd", + "BiosSetup", + "Utilities", + "Diags", + "UefiShell", + "UefiTarget" + :param enabled: Supported values: + "Disabled", + "Once", + "Continuous" + :returns: string -- http response of PATCH request + """ + return self.set_parameter_json('{"Boot": {"BootSourceOverrideTarget": "'+target+'"},{"BootSourceOverrideEnabled" : "'+enabled+'"}}') class SystemsCollection(BaseCollection): """Class to manage redfish ManagersCollection data.""" @@ -293,96 +336,11 @@ class Bios(Base): def __init__(self, url, connection_parameters): super(Bios, self).__init__(url, connection_parameters) self.boot = Boot(re.findall(".+/Bios",url)[0]+"/Boot/Settings", connection_parameters) - - def get_parameters(self): - """Generic function to get all system parameters - - :returns: string -- parameter value - - """ - try: - return self.data - except: - return -1 - - def get_parameter(self, parameter_name): - """Generic function to get any system parameter - :param parameter_name: name of the parameter - :returns: string -- parameter value - - """ - try: - return self.data[parameter_name] - except: - return "Parameter does not exist" - - def set_parameter(self, parameter_name, value): - """Generic function to set any bios parameter - - :param parameter_name: name of the parameter - :param value: value to set - :returns: string -- http response of PATCH request - - """ - # Craft the request - action = dict() - action[parameter_name] = value - - # perform the POST action - print self.api_url - response = self.api_url.patch(verify=self.connection_parameters.verify_cert, - headers={'x-auth-token': self.connection_parameters.auth_token}, - data=action - ) - return response - class Boot(Base): """Class to manage redfish Boot data.""" def __init__(self, url, connection_parameters): super(Boot, self).__init__(url, connection_parameters) - - def get_parameters(self): - """Generic function to get all system parameters - - :returns: string -- parameter value - - """ - try: - return self.data - except: - return -1 - - def get_parameter(self, parameter_name): - """Generic function to get any system parameter - - :param parameter_name: name of the parameter - :returns: string -- parameter value - - """ - try: - return self.data[parameter_name] - except: - return "Parameter does not exist" - - def set_parameter(self, parameter_name, value): - """Generic function to set any bios parameter - - :param parameter_name: name of the parameter - :param value: value to set - :returns: string -- http response of PATCH request - - """ - # Craft the request - action = dict() - action[parameter_name] = value - - # perform the POST action - response = self.api_url.patch(verify=self.connection_parameters.verify_cert, - headers={'x-auth-token': self.connection_parameters.auth_token}, - data=action - ) - return response class EthernetInterfacesCollection(BaseCollection): """Class to manage redfish EthernetInterfacesColkection data.""" From a36c6ab30315a077543215156e59eae4a610dfe1 Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Wed, 2 Dec 2015 20:23:40 +0100 Subject: [PATCH 020/224] Adds a README for reference docs --- doc/README.rst | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 doc/README.rst diff --git a/doc/README.rst b/doc/README.rst new file mode 100644 index 0000000..465fb89 --- /dev/null +++ b/doc/README.rst @@ -0,0 +1,19 @@ +python-redfish documentation +============================ + +This repository will be used to house the python Redfish documentation, + +Contacts +-------- + +Distribution list : python-redfish@mondorescue.org + + +References documents +-------------------- + +On top of the DMTF official documentation, you can find some useful documents at the following URLs: + +Firmware in the DC: Goodbye PXE/IPMI, welcome HTTP Boot and Redfish (Samer El-Haj-Mahmoud) +http://www.uefi.org/sites/default/files/resources/UEFI_Plugfest_May_2015_HTTP_Boot_Redfish_Samer_El-Haj_ver1.2.pdf + From b59a97b669b7960ef6848f3a01f7f57398a454a1 Mon Sep 17 00:00:00 2001 From: Uggla Date: Thu, 31 Dec 2015 20:40:39 +0100 Subject: [PATCH 021/224] Cleanup to respect PEP8 --- redfish-client/redfish-client.py | 58 ++++++++++++++++---------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/redfish-client/redfish-client.py b/redfish-client/redfish-client.py index c1be6b6..d85c4f7 100755 --- a/redfish-client/redfish-client.py +++ b/redfish-client/redfish-client.py @@ -13,7 +13,7 @@ redfish-client.py [options] config showall redfish-client.py (-h | --help) redfish-client.py --version - + Options: -h --help Show this screen. @@ -33,52 +33,56 @@ class ConfigFile(object): + def __init__(self, config_file): - self._config_file = config_file + self._config_file = config_file # read json file try: with open(self._config_file) as json_data: self.data = json.load(json_data) json_data.close() except (ValueError, IOError): - self.data = {"Managers":{}} + self.data = {"Managers": {}} def save(self): try: - with open(self._config_file , 'w') as json_data: + with open(self._config_file, 'w') as json_data: json.dump(self.data, json_data) json_data.close() except IOError as e: - print(e.msg) - sys.exit(1) - + print(e.msg) + sys.exit(1) + def add_manager(self, manager_name, url, login, password): self.data['Managers'][manager_name] = {} self.data['Managers'][manager_name]['url'] = url - if login != None: + if login is not None: self.data['Managers'][manager_name]['login'] = login - if password != None: + if password is not None: self.data['Managers'][manager_name]['password'] = password - + def get_managers(self): managers = [] for manager in self.data['Managers']: - managers += [manager] + managers += [manager] return(managers) - + def get_manager_info(self, manager): info = {} - url=self.data['Managers'][manager]['url'] - login=self.data['Managers'][manager]['login'] - password=self.data['Managers'][manager]['password'] - info={'url':url, 'login':login, 'password':password} - return(info) + url = self.data['Managers'][manager]['url'] + login = self.data['Managers'][manager]['login'] + password = self.data['Managers'][manager]['password'] + info = {'url': url, 'login': login, 'password': password} + return(info) + class RedfishClientException(Exception): + """Base class for redfish client exceptions""" + def __init__(self, message=None, **kwargs): self.kwargs = kwargs - self.message = message + self.message = message if __name__ == '__main__': @@ -87,12 +91,12 @@ def show_manager(all=False): print("Managers configured :") for manager in conf_file.get_managers(): print(manager) - if all == True: + if all is True: info = conf_file.get_manager_info(manager) print("\tUrl : {}".format(info['url'])) print("\tLogin : {}".format(info['login'])) print("\tPassword : {}".format(info['password'])) - + # Get $HOME environment. HOME = os.getenv('HOME') @@ -107,20 +111,16 @@ def show_manager(all=False): conf_file = ConfigFile(arguments['--conf_file']) - - if arguments['config'] == True: - if arguments['show'] == True: + if arguments['config'] is True: + if arguments['show'] is True: show_manager() - elif arguments['showall'] == True: + elif arguments['showall'] is True: show_manager(True) - elif arguments['add'] == True: + elif arguments['add'] is True: conf_file.add_manager(arguments[''], arguments[''], arguments[''], arguments['password']) pprint.pprint(conf_file.data) - - conf_file.save() - - + conf_file.save() sys.exit(0) From 44f1e3af4e0624960d56860c66b856f8f08babce Mon Sep 17 00:00:00 2001 From: Uggla Date: Fri, 1 Jan 2016 11:49:52 +0100 Subject: [PATCH 022/224] Configuration file management improvement - Add modify command - Add delete command - Document class and method --- redfish-client/redfish-client.py | 147 ++++++++++++++++++++++++++++++- 1 file changed, 143 insertions(+), 4 deletions(-) diff --git a/redfish-client/redfish-client.py b/redfish-client/redfish-client.py index d85c4f7..1563ad1 100755 --- a/redfish-client/redfish-client.py +++ b/redfish-client/redfish-client.py @@ -30,11 +30,24 @@ import json import pprint import docopt +import logging +from logging.handlers import RotatingFileHandler class ConfigFile(object): - + """redfisht-client configuration file management""" def __init__(self, config_file): + """Initialize the configuration file + + Open and load configuration file data. + If the file does not exist create an empty one ready to receive data + + :param config_file: File name of the configuration file + default: ~/.redfish.conf + :type str + :returns: Nothing + + """ self._config_file = config_file # read json file try: @@ -45,6 +58,7 @@ def __init__(self, config_file): self.data = {"Managers": {}} def save(self): + """Save the configuration file data""" try: with open(self._config_file, 'w') as json_data: json.dump(self.data, json_data) @@ -53,6 +67,11 @@ def save(self): print(e.msg) sys.exit(1) + def manager_incorect(self, exception): + """ Log and exit if manager name is incorect""" + logger.error("Incorect manager name : %s" % exception.args) + sys.exit(1) + def add_manager(self, manager_name, url, login, password): self.data['Managers'][manager_name] = {} self.data['Managers'][manager_name]['url'] = url @@ -61,13 +80,70 @@ def add_manager(self, manager_name, url, login, password): if password is not None: self.data['Managers'][manager_name]['password'] = password + def modify_manager(self, manager_name, parameter, parameter_value): + """Modify the manager settings + + :param manager name: Name of the manager + :type str + :param parameter: url | login | password + :type str + :param parameter_value: Value of the parameter + :type str + :returns: Nothing + + """ + + if parameter == "url": + try: + self.data['Managers'][manager_name]['url'] = parameter_value + except KeyError as e: + self.manager_incorect(e) + elif parameter == "login": + try: + self.data['Managers'][manager_name]['login'] = parameter_value + except KeyError as e: + self.manager_incorect(e) + elif parameter == "password": + try: + self.data['Managers'][manager_name]['password'] = parameter_value + except KeyError as e: + self.manager_incorect(e) + + def delete_manager(self, manager_name): + """Delete manager + + :param manager name: Name of the manager + :type str + :returns: Nothing + + """ + + try: + del self.data['Managers'][manager_name] + except KeyError as e: + self.manager_incorect(e) + def get_managers(self): + """Get manager configured + + :returns: Managers + :type list + + """ managers = [] for manager in self.data['Managers']: managers += [manager] return(managers) def get_manager_info(self, manager): + """Show manager infos (url, login, password) + + :param manager: Name of the manager + :type str + :returns: info containing url, login, password + :type dict + + """ info = {} url = self.data['Managers'][manager]['url'] login = self.data['Managers'][manager]['login'] @@ -86,8 +162,47 @@ def __init__(self, message=None, **kwargs): if __name__ == '__main__': + """Main application redfish-client""" # Functions + + def initialize_logger(redfish_logfile, logger_level): + """Initialize a global loggeer to track application behaviour + + :param redfish_logfile: log file name + :type str + :param logger_level: log level (logging.DEBUG, logging.ERROR, ...) + :type logging constant + :returns: True + + """ + global logger + logger = logging.getLogger() + + logger.setLevel(logger_level) + formatter = logging.Formatter( + '%(asctime)s :: %(levelname)s :: %(message)s' + ) + file_handler = RotatingFileHandler(redfish_logfile, 'a', 1000000, 1) + + # First logger to file + file_handler.setLevel(logger_level) + file_handler.setFormatter(formatter) + logger.addHandler(file_handler) + + # Second logger to console + steam_handler = logging.StreamHandler() + steam_handler.setLevel(logger_level) + logger.addHandler(steam_handler) + return True + def show_manager(all=False): + """Display manager infos + + :param all: Add login and password info + :type bool + :returns: Nothing + + """ print("Managers configured :") for manager in conf_file.get_managers(): print(manager) @@ -97,6 +212,10 @@ def show_manager(all=False): print("\tLogin : {}".format(info['login'])) print("\tPassword : {}".format(info['password'])) + # Initialize logger + logger = None + initialize_logger("redfish-client.log", logging.DEBUG) + # Get $HOME environment. HOME = os.getenv('HOME') @@ -104,8 +223,9 @@ def show_manager(all=False): print("$HOME environment variable not set, please check your system") sys.exit(1) + # Parse and manage arguments arguments = docopt.docopt(__doc__, version='redfish-client 0.1') - print(arguments) + logger.debug(arguments) arguments['--conf_file'] = arguments['--conf_file'].replace('~', HOME) @@ -121,6 +241,25 @@ def show_manager(all=False): arguments[''], arguments[''], arguments['password']) - pprint.pprint(conf_file.data) - conf_file.save() + logger.debug(pprint.pprint(conf_file.data)) + conf_file.save() + elif arguments['del'] is True: + conf_file.delete_manager(arguments['']) + logger.debug(pprint.pprint(conf_file.data)) + conf_file.save() + elif arguments['modify'] is True: + if arguments['url'] is not False: + conf_file.modify_manager(arguments[''], + "url", + arguments['']) + elif arguments['login'] is not False: + conf_file.modify_manager(arguments[''], + "login", + arguments['']) + elif arguments['password'] is not False: + conf_file.modify_manager(arguments[''], + "password", + arguments['']) + logger.debug(pprint.pprint(conf_file.data)) + conf_file.save() sys.exit(0) From 2c19642dc2a85f79fbd38e307e849103a091100c Mon Sep 17 00:00:00 2001 From: Uggla Date: Fri, 1 Jan 2016 17:53:10 +0100 Subject: [PATCH 023/224] Improve config file management - Add a check_manager method. - Add renaming of a manager_name. - Replace " by ' for PEP8 reason (not mixing them). --- redfish-client/redfish-client.py | 110 +++++++++++++++++++++---------- 1 file changed, 75 insertions(+), 35 deletions(-) diff --git a/redfish-client/redfish-client.py b/redfish-client/redfish-client.py index 1563ad1..cd1abd6 100755 --- a/redfish-client/redfish-client.py +++ b/redfish-client/redfish-client.py @@ -2,13 +2,13 @@ # coding=utf-8 -""" +''' redfish-client Usage: redfish-client.py [options] config add [] [] redfish-client.py [options] config del - redfish-client.py [options] config modify (url | login | password) + redfish-client.py [options] config modify (manager_name | url | login | password) redfish-client.py [options] config show redfish-client.py [options] config showall redfish-client.py (-h | --help) @@ -32,12 +32,13 @@ import docopt import logging from logging.handlers import RotatingFileHandler +import redfish class ConfigFile(object): - """redfisht-client configuration file management""" + '''redfisht-client configuration file management''' def __init__(self, config_file): - """Initialize the configuration file + '''Initialize the configuration file Open and load configuration file data. If the file does not exist create an empty one ready to receive data @@ -47,7 +48,7 @@ def __init__(self, config_file): :type str :returns: Nothing - """ + ''' self._config_file = config_file # read json file try: @@ -55,10 +56,10 @@ def __init__(self, config_file): self.data = json.load(json_data) json_data.close() except (ValueError, IOError): - self.data = {"Managers": {}} + self.data = {'Managers': {}} def save(self): - """Save the configuration file data""" + '''Save the configuration file data''' try: with open(self._config_file, 'w') as json_data: json.dump(self.data, json_data) @@ -68,11 +69,36 @@ def save(self): sys.exit(1) def manager_incorect(self, exception): - """ Log and exit if manager name is incorect""" - logger.error("Incorect manager name : %s" % exception.args) + ''' Log and exit if manager name is incorect''' + logger.error('Incorect manager name : %s' % exception.args) sys.exit(1) + def check_manager(self, manager_name): + '''Check if the manager exists in configuration file + + :param manager_name: Name of the manager + :type str + + ''' + try: + manager_name in self.get_managers() + except KeyError as e: + self.manager_incorect(e) + def add_manager(self, manager_name, url, login, password): + '''Add a manager to the configuration file + + :param manager_name: Name of the manager + :type str + :param url: Url of the manager + :type str + :param login: Login of the manager + :type str + :param password: Password of the manager + :type str + + ''' + self.data['Managers'][manager_name] = {} self.data['Managers'][manager_name]['url'] = url if login is not None: @@ -81,7 +107,7 @@ def add_manager(self, manager_name, url, login, password): self.data['Managers'][manager_name]['password'] = password def modify_manager(self, manager_name, parameter, parameter_value): - """Modify the manager settings + '''Modify the manager settings :param manager name: Name of the manager :type str @@ -91,32 +117,41 @@ def modify_manager(self, manager_name, parameter, parameter_value): :type str :returns: Nothing - """ + ''' - if parameter == "url": + if parameter == 'url': try: self.data['Managers'][manager_name]['url'] = parameter_value except KeyError as e: self.manager_incorect(e) - elif parameter == "login": + elif parameter == 'login': try: self.data['Managers'][manager_name]['login'] = parameter_value except KeyError as e: self.manager_incorect(e) - elif parameter == "password": + elif parameter == 'password': try: self.data['Managers'][manager_name]['password'] = parameter_value except KeyError as e: self.manager_incorect(e) + elif parameter == 'manager_name': + # Create a new entry with the new name + self.add_manager(parameter_value, + self.data['Managers'][manager_name]['url'], + self.data['Managers'][manager_name]['login'], + self.data['Managers'][manager_name]['password'], + ) + # Remove the previous one + self.delete_manager(manager_name) def delete_manager(self, manager_name): - """Delete manager + '''Delete manager :param manager name: Name of the manager :type str :returns: Nothing - """ + ''' try: del self.data['Managers'][manager_name] @@ -124,26 +159,26 @@ def delete_manager(self, manager_name): self.manager_incorect(e) def get_managers(self): - """Get manager configured + '''Get manager configured :returns: Managers :type list - """ + ''' managers = [] for manager in self.data['Managers']: managers += [manager] return(managers) def get_manager_info(self, manager): - """Show manager infos (url, login, password) + '''Show manager info (url, login, password) :param manager: Name of the manager :type str :returns: info containing url, login, password :type dict - """ + ''' info = {} url = self.data['Managers'][manager]['url'] login = self.data['Managers'][manager]['login'] @@ -154,7 +189,7 @@ def get_manager_info(self, manager): class RedfishClientException(Exception): - """Base class for redfish client exceptions""" + '''Base class for redfish client exceptions''' def __init__(self, message=None, **kwargs): self.kwargs = kwargs @@ -162,11 +197,11 @@ def __init__(self, message=None, **kwargs): if __name__ == '__main__': - """Main application redfish-client""" + '''Main application redfish-client''' # Functions def initialize_logger(redfish_logfile, logger_level): - """Initialize a global loggeer to track application behaviour + '''Initialize a global loggeer to track application behaviour :param redfish_logfile: log file name :type str @@ -174,7 +209,7 @@ def initialize_logger(redfish_logfile, logger_level): :type logging constant :returns: True - """ + ''' global logger logger = logging.getLogger() @@ -196,31 +231,32 @@ def initialize_logger(redfish_logfile, logger_level): return True def show_manager(all=False): - """Display manager infos + '''Display manager info :param all: Add login and password info :type bool :returns: Nothing - """ - print("Managers configured :") + ''' + print('Managers configured :') for manager in conf_file.get_managers(): print(manager) if all is True: info = conf_file.get_manager_info(manager) - print("\tUrl : {}".format(info['url'])) - print("\tLogin : {}".format(info['login'])) - print("\tPassword : {}".format(info['password'])) + print('\tUrl : {}'.format(info['url'])) + print('\tLogin : {}'.format(info['login'])) + print('\tPassword : {}'.format(info['password'])) + # Initialize logger logger = None - initialize_logger("redfish-client.log", logging.DEBUG) + initialize_logger('redfish-client.log', logging.DEBUG) # Get $HOME environment. HOME = os.getenv('HOME') if HOME == '': - print("$HOME environment variable not set, please check your system") + print('$HOME environment variable not set, please check your system') sys.exit(1) # Parse and manage arguments @@ -250,15 +286,19 @@ def show_manager(all=False): elif arguments['modify'] is True: if arguments['url'] is not False: conf_file.modify_manager(arguments[''], - "url", + 'url', arguments['']) elif arguments['login'] is not False: conf_file.modify_manager(arguments[''], - "login", + 'login', arguments['']) elif arguments['password'] is not False: conf_file.modify_manager(arguments[''], - "password", + 'password', + arguments['']) + elif arguments['manager_name'] is not False: + conf_file.modify_manager(arguments[''], + 'manager_name', arguments['']) logger.debug(pprint.pprint(conf_file.data)) conf_file.save() From 6dd251906689dd4fc66c7c3d56916dcf090d8213 Mon Sep 17 00:00:00 2001 From: Uggla Date: Fri, 1 Jan 2016 18:05:40 +0100 Subject: [PATCH 024/224] Handle check_manager exception correctly --- redfish-client/redfish-client.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/redfish-client/redfish-client.py b/redfish-client/redfish-client.py index cd1abd6..886beab 100755 --- a/redfish-client/redfish-client.py +++ b/redfish-client/redfish-client.py @@ -81,7 +81,8 @@ def check_manager(self, manager_name): ''' try: - manager_name in self.get_managers() + if manager_name not in self.get_managers(): + raise KeyError(manager_name) except KeyError as e: self.manager_incorect(e) From 63caa65d3264643cb3839a78b2b305b550e4e807 Mon Sep 17 00:00:00 2001 From: Uggla Date: Fri, 1 Jan 2016 18:08:09 +0100 Subject: [PATCH 025/224] Implement manager commands - Add a getinfo command (not working yet) --- redfish-client/redfish-client.py | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/redfish-client/redfish-client.py b/redfish-client/redfish-client.py index 886beab..783ebc3 100755 --- a/redfish-client/redfish-client.py +++ b/redfish-client/redfish-client.py @@ -11,6 +11,7 @@ redfish-client.py [options] config modify (manager_name | url | login | password) redfish-client.py [options] config show redfish-client.py [options] config showall + redfish-client.py [options] manager getinfo [] redfish-client.py (-h | --help) redfish-client.py --version @@ -19,11 +20,13 @@ -h --help Show this screen. --version Show version. --conf_file FILE Configuration file [default: ~/.redfish.conf]. + --insecure Check SSL certificats -config commands manage the configuration file. - -""" +config commands : manage the configuration file. +manager commands : manage the manager (Ligh out management). If + is not provided use the 'default' entry +''' import os import sys @@ -248,6 +251,15 @@ def show_manager(all=False): print('\tLogin : {}'.format(info['login'])) print('\tPassword : {}'.format(info['password'])) + def get_manager_info(manager_name, check_SSL): + connection_parameters = conf_file.get_manager_info(manager_name) + remote_mgmt = redfish.connect(connection_parameters['url'], + connection_parameters['login'], + connection_parameters['password'], + verify_cert=check_SSL + ) + + print ('Redfish API version : %s \n' % remote_mgmt.get_api_version()) # Initialize logger logger = None @@ -303,4 +315,16 @@ def show_manager(all=False): arguments['']) logger.debug(pprint.pprint(conf_file.data)) conf_file.save() + if arguments['manager'] is True: + if arguments['getinfo'] is True: + # If manager is not defined set it to 'default' + if not arguments['']: + manager_name = 'default' + # Check if the default section is available in our conf file + conf_file.check_manager(manager_name) + if arguments['--insecure'] is True: + get_manager_info(manager_name, False) + else: + get_manager_info(manager_name, True) + sys.exit(0) From 4ef8d92da7f6c922644547154c09e21bd191cd27 Mon Sep 17 00:00:00 2001 From: Uggla Date: Sat, 2 Jan 2016 10:54:53 +0100 Subject: [PATCH 026/224] Fix password variable when adding a new manager --- redfish-client/redfish-client.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redfish-client/redfish-client.py b/redfish-client/redfish-client.py index 783ebc3..8197f36 100755 --- a/redfish-client/redfish-client.py +++ b/redfish-client/redfish-client.py @@ -289,7 +289,7 @@ def get_manager_info(manager_name, check_SSL): conf_file.add_manager(arguments[''], arguments[''], arguments[''], - arguments['password']) + arguments['']) logger.debug(pprint.pprint(conf_file.data)) conf_file.save() elif arguments['del'] is True: From 466534359cd09421a82dffa7cd5faf51c7ef06b5 Mon Sep 17 00:00:00 2001 From: Uggla Date: Sat, 2 Jan 2016 11:33:58 +0100 Subject: [PATCH 027/224] Improve error management - Better handle connection errors. - Better handle login errors. - Improve exception process. - Update examples. - Make examples compatible with new configuration file. - Show exception handling. - Validate trusted SSL connection. - Various PEP8 corrections. --- examples/simple-proliant.py | 21 ++++++--- examples/simple-simulator.py | 19 +++++--- redfish/exception.py | 49 ++++++++++++++++---- redfish/main.py | 16 ++++--- redfish/types.py | 87 +++++++++++++++++++++--------------- 5 files changed, 131 insertions(+), 61 deletions(-) diff --git a/examples/simple-proliant.py b/examples/simple-proliant.py index a8f5174..468527b 100644 --- a/examples/simple-proliant.py +++ b/examples/simple-proliant.py @@ -6,7 +6,7 @@ import sys import json import redfish -from time import sleep + # Get $HOME environment. HOME = os.getenv('HOME') @@ -24,17 +24,26 @@ print(e) sys.exit(1) -URL = config["Nodes"]["default"]["url"] -USER_NAME = config["Nodes"]["default"]["login"] -PASSWORD = config["Nodes"]["default"]["password"] +URL = config["Managers"]["default"]["url"] +USER_NAME = config["Managers"]["default"]["login"] +PASSWORD = config["Managers"]["default"]["password"] ''' remote_mgmt is a redfish.RedfishConnection object ''' -remote_mgmt = redfish.connect(URL, USER_NAME, PASSWORD, verify_cert=False) +try: + remote_mgmt = redfish.connect(URL, + USER_NAME, + PASSWORD, + simulator=False, + verify_cert=False) +except redfish.exception.RedfishException as e: + sys.stderr.write(str(e.message)) + sys.stderr.write(str(e.advices)) + sys.exit(1) print ("Redfish API version : %s \n" % remote_mgmt.get_api_version()) # Uncomment following line to reset the blade !!! -#remote_mgmt.Systems.systems_list[0].reset_system() +# remote_mgmt.Systems.systems_list[0].reset_system() # TODO : create an attribute to link the managed system directly # and avoid systems_list[0] diff --git a/examples/simple-simulator.py b/examples/simple-simulator.py index 52d9f18..b9db1af 100644 --- a/examples/simple-simulator.py +++ b/examples/simple-simulator.py @@ -23,13 +23,22 @@ print(e) sys.exit(1) -URL = config["Nodes"]["default"]["url"] -USER_NAME = config["Nodes"]["default"]["login"] -PASSWORD = config["Nodes"]["default"]["password"] +URL = config["Managers"]["default"]["url"] +USER_NAME = config["Managers"]["default"]["login"] +PASSWORD = config["Managers"]["default"]["password"] ''' remoteMgmt is a redfish.RedfishConnection object ''' -remote_mgmt = redfish.connect(URL, USER_NAME, PASSWORD, - simulator=True, enforceSSL=False) +try: + remote_mgmt = redfish.connect(URL, + USER_NAME, + PASSWORD, + simulator=True, + enforceSSL=False) +except redfish.exception.RedfishException as e: + sys.stderr.write(e.message) + sys.stderr.write(e.advices) + sys.exit(1) + print("Redfish API version : {} \n".format(remote_mgmt.get_api_version())) print("UUID : {} \n".format(remote_mgmt.Root.get_api_UUID())) diff --git a/redfish/exception.py b/redfish/exception.py index 6038480..5152f80 100644 --- a/redfish/exception.py +++ b/redfish/exception.py @@ -1,21 +1,52 @@ # -*- coding: utf-8 -*- -import sys + import config + class RedfishException(Exception): """Base class for redfish exceptions""" - def __init__(self, message=None, **kwargs): + def __init__(self, message, **kwargs): self.kwargs = kwargs self.message = message + self.advices = None + config.logger.error(message) + + +class ConnectionFailureException(RedfishException): + def __init__(self, message, **kwargs): + super(ConnectionFailureException, self).__init__(message, **kwargs) + self.advices = '1- Check if the url is the correct one\n' + \ + '2- Check if your device is answering on the network\n' + + +class InvalidRedfishContentException(RedfishException): + def __init__(self, message, **kwargs): + super(InvalidRedfishContentException, self).__init__(message, **kwargs) + self.advices = \ + '1- Check if the url is the correct one\n' + \ + ' Most of the time you are not pointing to the rest API\n' + + +class NonTrustedCertificatException(RedfishException): + def __init__(self, message, **kwargs): + super(NonTrustedCertificatException, self).__init__(message, **kwargs) + self.advices = \ + '1- Check if the url is the correct one\n' + \ + '2- Check if your device has a valid trusted certificat\n' + \ + ' You can use openssl to validate it using the command :\n' + \ + ' openssl s_client -showcerts -connect :443\n' class AuthenticationFailureException(RedfishException): - def __init__(self, message=None, **kwargs): - super(AuthenticationFailureException, self).__init__(message=None, **kwargs) - config.logger.error(message) - # TODO - # Give a bit more details about the failure (check login etc...) - sys.exit(1) - + def __init__(self, message, **kwargs): + super(AuthenticationFailureException, self).__init__(message, **kwargs) + self.message += str(kwargs['code']) + self.queryAnswer = kwargs['queryAnswer'] + if kwargs['code'] == 400: + self.message += ': ' + self.queryAnswer['Messages'][0]['MessageID'] + self.advices = '1- Check your credentials\n' + self.message += '\n' + + class LogoutFailureException(RedfishException): pass diff --git a/redfish/main.py b/redfish/main.py index fbe9f21..6012a20 100644 --- a/redfish/main.py +++ b/redfish/main.py @@ -271,7 +271,7 @@ def __init__(self, # # print self.systemCollection.Name # - # ======================================================================== + # ======================================================================== def get_api_version(self): """Return api version. @@ -286,14 +286,15 @@ def login(self): url = self.Root.get_link_url( mapping.redfish_mapper.map_sessionservice() ) - - # Handle login with redfish 1.00, url must be : + + # Handle login with redfish 1.00, url must be : # /rest/v1/SessionService/Sessions as specified by the specification if float(mapping.redfish_version) >= 1.00: url += '/Sessions' # Craft request body and header requestBody = {"UserName": self.connection_parameters.user_name , "Password": self.connection_parameters.password} + config.logger.debug(requestBody) header = {'Content-type': 'application/json'} # ======================================================================= # Tortilla seems not able to provide the header of a post request answer. @@ -308,13 +309,16 @@ def login(self): headers=header, verify=self.connection_parameters.verify_cert ) - + # ======================================================================= # TODO : Manage exception with a class. # ======================================================================= if auth.status_code != 201: - raise exception.AuthenticationFailureException("Login request return an invalid status code") - #sysraise "Error getting token", auth.status_code + try: + answer=auth.json() + except ValueError as e: + answer = "" + raise exception.AuthenticationFailureException("Login request return an invalid status code ", code=auth.status_code, queryAnswer=answer) self.connection_parameters.auth_token = auth.headers.get("x-auth-token") self.connection_parameters.user_uri = auth.headers.get("location") diff --git a/redfish/types.py b/redfish/types.py index d6b3717..8423ff9 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -1,12 +1,14 @@ # coding=utf-8 import pprint +import re from urlparse import urljoin import requests +import simplejson import tortilla import config import mapping -import re +import exception # Global variable @@ -28,10 +30,25 @@ def __init__(self, url, connection_parameters): headers={'x-auth-token': connection_parameters.auth_token} ) except requests.ConnectionError as e: - print e # Log and transmit the exception. - config.logger.error("Connection error : %s", e) - raise e + config.logger.info("Raise a RedfishException to upper level") + msg = "Connection error : {}\n".format(e.message) + raise exception.ConnectionFailureException(msg) + except simplejson.scanner.JSONDecodeError as e: + # Log and transmit the exception. + config.logger.info("Raise a RedfishException to upper level") + msg = \ + "Ivalid content : Content does not appear to be a valid " + \ + "Redfish json\n" + raise exception.InvalidRedfishContentException(msg) + except TypeError as e: + # This happen connecting to a manager using non trusted + # SSL certificats. + # The exception is not what could be expected in such case but this + # is the one provided by Tortilla. + config.logger.info("Raise a RedfishException to upper level") + msg = "Connection error\n" + raise exception.NonTrustedCertificatException(msg) print self.data def get_link_url(self, link_type): @@ -43,7 +60,7 @@ def get_link_url(self, link_type): """ self.links=[] - + # Manage standard < 1.0 if float(mapping.redfish_version) < 1.00: links = getattr(self.data, mapping.redfish_mapper.map_links()) @@ -53,7 +70,7 @@ def get_link_url(self, link_type): links = getattr(self.data, link_type) link = getattr(links, mapping.redfish_mapper.map_links_ref()) return urljoin(self.url, link) - + @property def url(self): return self.__url @@ -61,37 +78,37 @@ def url(self): @url.setter def url(self, url): self.__url = url - + def get_parameter(self, parameter_name): """Generic function to get any system parameter :param parameter_name: name of the parameter :returns: string -- parameter value - + """ try: return self.data[parameter_name] except: return "Parameter does not exist" - + def get_parameters(self): """Generic function to get all system parameters :returns: string -- parameter value - + """ try: return self.data except: return -1 - + def set_parameter(self, parameter_name, value): """Generic function to set any system parameter :param parameter_name: name of the parameter :param value: value to set :returns: string -- http response of PATCH request - + """ # Craft the request action = dict() @@ -103,8 +120,8 @@ def set_parameter(self, parameter_name, value): response = self.api_url.patch(verify=self.connection_parameters.verify_cert, headers={'x-auth-token': self.connection_parameters.auth_token}, data=action - ) - return response + ) + return response class BaseCollection(Base): """Abstract class to manage collection (Chassis, Servers etc...).""" @@ -112,7 +129,7 @@ def __init__(self, url, connection_parameters): super(BaseCollection, self).__init__(url, connection_parameters) self.links=[] - + #linksmembers = self.data.Links.Members #linksmembers = self.data.links.Member @@ -143,7 +160,7 @@ def get_api_version(self): version = self.data.RedfishVersion except AttributeError: version = self.data.ServiceVersion - + version = version.replace('.', '') version = version[0] + '.' + version[1:] return(version) @@ -175,7 +192,7 @@ class Managers(Base): def __init__(self, url, connection_parameters): super(Managers, self).__init__(url, connection_parameters) try: - + # self.ethernet_interfaces_collection = EthernetInterfacesCollection( # self.get_link_url("EthernetInterfaces"), # connection_parameters @@ -188,12 +205,12 @@ def __init__(self, url, connection_parameters): ) except: pass - + def get_firmware_version(self): """Get bios version of the system. :returns: string -- bios version - + """ try: # Returned by proliant @@ -223,12 +240,12 @@ def __init__(self, url, connection_parameters): self.bios = Bios(url + "Bios/Settings", connection_parameters) except: pass - + def reset_system(self): """Force reset of the system. :returns: string -- http response of POST request - + """ # Craft the request action = dict() @@ -243,12 +260,12 @@ def reset_system(self): ) #TODO : treat response. return response - + def get_bios_version(self): """Get bios version of the system. :returns: string -- bios version - + """ try: # Returned by proliant @@ -262,7 +279,7 @@ def get_serial_number(self): """Get serial number of the system. :returns: string -- serial number - + """ try: # Returned by proliant @@ -271,12 +288,12 @@ def get_serial_number(self): # Returned by mockup. # Hopefully this kind of discrepencies will be fixed with Redfish 1.0 (August) return "" - + def get_power(self): """Get power status of the system. :returns: string -- power status or NULL if there is an issue - + """ try: return self.data.Power @@ -288,7 +305,7 @@ def set_parameter_json(self, value): :param value: json structure with value to update :returns: string -- http response of PATCH request - + """ # perform the POST action #print self.api_url.url() @@ -297,7 +314,7 @@ def set_parameter_json(self, value): headers={'x-auth-token': self.connection_parameters.auth_token, 'Content-type': 'application/json'}, data=value) return response.reason - + def set_boot_source_override(self, target, enabled): """Shotcut function to set boot source @@ -318,16 +335,16 @@ def set_boot_source_override(self, target, enabled): "Once", "Continuous" :returns: string -- http response of PATCH request - """ + """ return self.set_parameter_json('{"Boot": {"BootSourceOverrideTarget": "'+target+'"},{"BootSourceOverrideEnabled" : "'+enabled+'"}}') class SystemsCollection(BaseCollection): """Class to manage redfish ManagersCollection data.""" def __init__(self, url, connection_parameters): super(SystemsCollection, self).__init__(url, connection_parameters) - + self.systems_list = [] - + for link in self.links: self.systems_list.append(Systems(link, connection_parameters)) @@ -341,14 +358,14 @@ class Boot(Base): """Class to manage redfish Boot data.""" def __init__(self, url, connection_parameters): super(Boot, self).__init__(url, connection_parameters) - + class EthernetInterfacesCollection(BaseCollection): """Class to manage redfish EthernetInterfacesColkection data.""" def __init__(self, url, connection_parameters): super(EthernetInterfacesCollection, self).__init__(url, connection_parameters) - + self.ethernet_interfaces_list = [] - + # Url returned by the mock up is wrong /redfish/v1/Managers/EthernetInterfaces/1 returns a 404. # The correct one should be /redfish/v1/Managers/1/EthernetInterfaces/1 # Check more than 1 hour for this bug.... grrr.... @@ -357,4 +374,4 @@ def __init__(self, url, connection_parameters): class EthernetInterfaces(Base): """Class to manage redfish EthernetInterfaces data.""" - pass \ No newline at end of file + pass From feff4fb6924d97653f864912a179aaf8151a703f Mon Sep 17 00:00:00 2001 From: Uggla Date: Sat, 2 Jan 2016 14:15:21 +0100 Subject: [PATCH 028/224] Allow client to work with simulator - An empty login allow to connect to the DMTF refish mockup by setting simulator=True, verify_cert=False, enforceSSL=False. --- redfish-client/redfish-client.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/redfish-client/redfish-client.py b/redfish-client/redfish-client.py index 8197f36..908bb6c 100755 --- a/redfish-client/redfish-client.py +++ b/redfish-client/redfish-client.py @@ -253,10 +253,18 @@ def show_manager(all=False): def get_manager_info(manager_name, check_SSL): connection_parameters = conf_file.get_manager_info(manager_name) + if not connection_parameters['login']: + simulator = True + enforceSSL = False + else: + simulator = False + enforceSSL = True remote_mgmt = redfish.connect(connection_parameters['url'], connection_parameters['login'], connection_parameters['password'], - verify_cert=check_SSL + verify_cert=check_SSL, + simulator=simulator, + enforceSSL=enforceSSL ) print ('Redfish API version : %s \n' % remote_mgmt.get_api_version()) @@ -320,8 +328,10 @@ def get_manager_info(manager_name, check_SSL): # If manager is not defined set it to 'default' if not arguments['']: manager_name = 'default' - # Check if the default section is available in our conf file - conf_file.check_manager(manager_name) + else: + manager_name = arguments[''] + # Check if the default section is available in our conf file + conf_file.check_manager(manager_name) if arguments['--insecure'] is True: get_manager_info(manager_name, False) else: From 6b4db2baefd688def1b1f1fadb23bdc942fc2dbe Mon Sep 17 00:00:00 2001 From: Uggla Date: Sat, 2 Jan 2016 16:31:41 +0100 Subject: [PATCH 029/224] Improve debug - Try to factorise initialize_logger into redfish.config. - Remove global logger declaration to avoid potential side effects. - Add new logging.debug instead of print and try to cleanup. - Allow logger.setlevel to be more flexible by configuring console and file level of log. - Prepare client to allow optional debug parameter with loglevel selection. --- redfish-client/redfish-client.py | 61 +++++++++++++++++++++++--------- redfish/config.py | 42 ++++++++++++++-------- redfish/main.py | 29 +++++---------- redfish/types.py | 8 ++--- 4 files changed, 83 insertions(+), 57 deletions(-) diff --git a/redfish-client/redfish-client.py b/redfish-client/redfish-client.py index 908bb6c..9e55608 100755 --- a/redfish-client/redfish-client.py +++ b/redfish-client/redfish-client.py @@ -204,34 +204,39 @@ def __init__(self, message=None, **kwargs): '''Main application redfish-client''' # Functions - def initialize_logger(redfish_logfile, logger_level): - '''Initialize a global loggeer to track application behaviour + def initialize_logger(redfish_logfile, + console_logger_level, + file_logger_level): + '''Initialize a global logger to track application behaviour - :param redfish_logfile: log file name + :param redfish_logfile: Log filename :type str - :param logger_level: log level (logging.DEBUG, logging.ERROR, ...) + :param screen_logger_level: Console log level + (logging.DEBUG, logging.ERROR, ..) or nolog + :type logging constant or string + :param file_logger_level: File log level :type logging constant :returns: True ''' global logger - logger = logging.getLogger() + logger = logging.getLogger(__name__) - logger.setLevel(logger_level) formatter = logging.Formatter( '%(asctime)s :: %(levelname)s :: %(message)s' ) file_handler = RotatingFileHandler(redfish_logfile, 'a', 1000000, 1) # First logger to file - file_handler.setLevel(logger_level) + file_handler.setLevel(file_logger_level) file_handler.setFormatter(formatter) logger.addHandler(file_handler) # Second logger to console - steam_handler = logging.StreamHandler() - steam_handler.setLevel(logger_level) - logger.addHandler(steam_handler) + if console_logger_level != "nolog": + steam_handler = logging.StreamHandler() + steam_handler.setLevel(console_logger_level) + logger.addHandler(steam_handler) return True def show_manager(all=False): @@ -269,31 +274,48 @@ def get_manager_info(manager_name, check_SSL): print ('Redfish API version : %s \n' % remote_mgmt.get_api_version()) + # Main program + redfishclient_version = "redfish-client 0.1" + + # Parse and manage arguments + arguments = docopt.docopt(__doc__, version=redfishclient_version) + # Initialize logger logger = None - initialize_logger('redfish-client.log', logging.DEBUG) + #initialize_logger('redfish-client.log', "nolog", logging.DEBUG) + logger = redfish.config.initialize_logger('redfish-client.log', + "nolog", + logging.DEBUG, + __name__) + redfish.config.TORTILLADEBUG = False + #redfish.config. + + logger.info("*** Starting %s ***" % redfishclient_version) + logger.info("Arguments parsed") + logger.debug(arguments) # Get $HOME environment. HOME = os.getenv('HOME') - if HOME == '': + if not HOME: print('$HOME environment variable not set, please check your system') + logger.error('$HOME environment variable not set') sys.exit(1) - - # Parse and manage arguments - arguments = docopt.docopt(__doc__, version='redfish-client 0.1') - logger.debug(arguments) + logger.debug("Home directory : %s" % HOME) arguments['--conf_file'] = arguments['--conf_file'].replace('~', HOME) - conf_file = ConfigFile(arguments['--conf_file']) if arguments['config'] is True: + logger.debug("Config commands") if arguments['show'] is True: + logger.debug('show command') show_manager() elif arguments['showall'] is True: + logger.debug('showall command') show_manager(True) elif arguments['add'] is True: + logger.debug('add command') conf_file.add_manager(arguments[''], arguments[''], arguments[''], @@ -301,10 +323,12 @@ def get_manager_info(manager_name, check_SSL): logger.debug(pprint.pprint(conf_file.data)) conf_file.save() elif arguments['del'] is True: + logger.debug('del command') conf_file.delete_manager(arguments['']) logger.debug(pprint.pprint(conf_file.data)) conf_file.save() elif arguments['modify'] is True: + logger.debug('modify command') if arguments['url'] is not False: conf_file.modify_manager(arguments[''], 'url', @@ -324,7 +348,9 @@ def get_manager_info(manager_name, check_SSL): logger.debug(pprint.pprint(conf_file.data)) conf_file.save() if arguments['manager'] is True: + logger.debug("Manager commands") if arguments['getinfo'] is True: + logger.debug('getinfo command') # If manager is not defined set it to 'default' if not arguments['']: manager_name = 'default' @@ -337,4 +363,5 @@ def get_manager_info(manager_name, check_SSL): else: get_manager_info(manager_name, True) + logger.info("Client session teminated") sys.exit(0) diff --git a/redfish/config.py b/redfish/config.py index 6bd9341..949251b 100644 --- a/redfish/config.py +++ b/redfish/config.py @@ -4,34 +4,46 @@ from logging.handlers import RotatingFileHandler # Global variable definition -TORTILLADEBUG = True + logger = None +TORTILLADEBUG = True +REDFISH_LOGFILE = "/var/log/python-redfish/python-redfish.log" +CONSOLE_LOGGER_LEVEL = logging.DEBUG +FILE_LOGGER_LEVEL = logging.DEBUG -def initialize_logger(redfish_logfile): - """Return api version. +def initialize_logger(REDFISH_LOGFILE, + CONSOLE_LOGGER_LEVEL, + FILE_LOGGER_LEVEL, + logger_name=""): + '''Initialize a global logger to track application behaviour - :param redfish_logfile: redfish log + :param redfish_logfile: Log filename :type str - :returns: True + :param screen_logger_level: Console log level + (logging.DEBUG, logging.ERROR, ..) or nolog + :type logging constant or string + :param file_logger_level: File log level + :type logging constant + :returns: logging object + + ''' - """ - global logger - logger = logging.getLogger() - + logger = logging.getLogger(logger_name) logger.setLevel(logging.DEBUG) formatter = logging.Formatter( '%(asctime)s :: %(levelname)s :: %(message)s' ) - file_handler = RotatingFileHandler(redfish_logfile, 'a', 1000000, 1) + file_handler = RotatingFileHandler(REDFISH_LOGFILE, 'a', 1000000, 1) # First logger to file - file_handler.setLevel(logging.DEBUG) + file_handler.setLevel(FILE_LOGGER_LEVEL) file_handler.setFormatter(formatter) logger.addHandler(file_handler) # Second logger to console - steam_handler = logging.StreamHandler() - steam_handler.setLevel(logging.DEBUG) - logger.addHandler(steam_handler) - return True \ No newline at end of file + if CONSOLE_LOGGER_LEVEL != "nolog": + steam_handler = logging.StreamHandler() + steam_handler.setLevel(CONSOLE_LOGGER_LEVEL) + logger.addHandler(steam_handler) + return logger diff --git a/redfish/main.py b/redfish/main.py index 6012a20..e3435e3 100644 --- a/redfish/main.py +++ b/redfish/main.py @@ -117,7 +117,7 @@ # coding=utf-8 -import sys + import json from urlparse import urlparse import requests @@ -126,21 +126,7 @@ import mapping import exception -# Global variable definition -redfish_logfile = "/var/log/python-redfish/python-redfish.log" - -# =============================================================================== -# TODO : create method to set logging level and TORTILLADEBUG. -# =============================================================================== - - -def set_log_file(logfile): - global redfish_logfile - redfish_logfile = logfile - return True - - -""" Function to wrap RedfishConnection """ +"""Function to wrap RedfishConnection""" def connect( @@ -150,9 +136,8 @@ def connect( simulator=False, enforceSSL=True, verify_cert=True - ): - global redfish_logfile - config.initialize_logger(redfish_logfile) + ): + return RedfishConnection( url, user, @@ -173,9 +158,11 @@ def __init__(self, simulator=False, enforceSSL=True, verify_cert=True - ): + ): """Initialize a connection to a Redfish service.""" - super(RedfishConnection, self).__init__() + config.logger = config.initialize_logger(config.REDFISH_LOGFILE, + config.CONSOLE_LOGGER_LEVEL, + config.FILE_LOGGER_LEVEL) config.logger.info("Initialize python-redfish") diff --git a/redfish/types.py b/redfish/types.py index 8423ff9..256e7e6 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -49,7 +49,7 @@ def __init__(self, url, connection_parameters): config.logger.info("Raise a RedfishException to upper level") msg = "Connection error\n" raise exception.NonTrustedCertificatException(msg) - print self.data + config.logger.debug(self.data) def get_link_url(self, link_type): """Need to be explained. @@ -113,10 +113,10 @@ def set_parameter(self, parameter_name, value): # Craft the request action = dict() action[parameter_name] = value - print(action) + config.logger.debug(action) # Perform the POST action - print self.api_url + config.logger.debug(self.api_url) response = self.api_url.patch(verify=self.connection_parameters.verify_cert, headers={'x-auth-token': self.connection_parameters.auth_token}, data=action @@ -144,7 +144,7 @@ def __init__(self, url, connection_parameters): self.links.append(urljoin(self.url, getattr(link, mapping.redfish_mapper.map_links_ref()))) - print self.links + config.logger.debug(self.links) class Root(Base): From 63468ebc7747b47b6666582917114b2c7494f825 Mon Sep 17 00:00:00 2001 From: Uggla Date: Sat, 2 Jan 2016 18:03:55 +0100 Subject: [PATCH 030/224] Avoid warning messages from request / urllib3 - These messages make polution to the console using the client. The idea is to remove them in low level logging. However these message are interesting so keep them for debugging purpose. --- redfish-client/redfish-client.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/redfish-client/redfish-client.py b/redfish-client/redfish-client.py index 9e55608..2fb35df 100755 --- a/redfish-client/redfish-client.py +++ b/redfish-client/redfish-client.py @@ -36,6 +36,7 @@ import logging from logging.handlers import RotatingFileHandler import redfish +import requests.packages.urllib3 class ConfigFile(object): @@ -288,7 +289,13 @@ def get_manager_info(manager_name, check_SSL): logging.DEBUG, __name__) redfish.config.TORTILLADEBUG = False - #redfish.config. + redfish.config.CONSOLE_LOGGER_LEVEL = "nolog" + # Avoid warning messages from request / urllib3 + # SecurityWarning: Certificate has no `subjectAltName`, falling back + # to check for a `commonName` for now. This feature is being removed + # by major browsers and deprecated by RFC 2818. + # (See https://github.com/shazow/urllib3/issues/497 for details.) + requests.packages.urllib3.disable_warnings() logger.info("*** Starting %s ***" % redfishclient_version) logger.info("Arguments parsed") From 1546517a7d5b8dbd49212db342018ea85aa4fe64 Mon Sep 17 00:00:00 2001 From: Uggla Date: Sat, 2 Jan 2016 19:22:15 +0100 Subject: [PATCH 031/224] Finally remove duplicated function initialize_logger from redfish-client --- redfish-client/redfish-client.py | 37 -------------------------------- 1 file changed, 37 deletions(-) diff --git a/redfish-client/redfish-client.py b/redfish-client/redfish-client.py index 2fb35df..5e90f7d 100755 --- a/redfish-client/redfish-client.py +++ b/redfish-client/redfish-client.py @@ -34,7 +34,6 @@ import pprint import docopt import logging -from logging.handlers import RotatingFileHandler import redfish import requests.packages.urllib3 @@ -205,41 +204,6 @@ def __init__(self, message=None, **kwargs): '''Main application redfish-client''' # Functions - def initialize_logger(redfish_logfile, - console_logger_level, - file_logger_level): - '''Initialize a global logger to track application behaviour - - :param redfish_logfile: Log filename - :type str - :param screen_logger_level: Console log level - (logging.DEBUG, logging.ERROR, ..) or nolog - :type logging constant or string - :param file_logger_level: File log level - :type logging constant - :returns: True - - ''' - global logger - logger = logging.getLogger(__name__) - - formatter = logging.Formatter( - '%(asctime)s :: %(levelname)s :: %(message)s' - ) - file_handler = RotatingFileHandler(redfish_logfile, 'a', 1000000, 1) - - # First logger to file - file_handler.setLevel(file_logger_level) - file_handler.setFormatter(formatter) - logger.addHandler(file_handler) - - # Second logger to console - if console_logger_level != "nolog": - steam_handler = logging.StreamHandler() - steam_handler.setLevel(console_logger_level) - logger.addHandler(steam_handler) - return True - def show_manager(all=False): '''Display manager info @@ -283,7 +247,6 @@ def get_manager_info(manager_name, check_SSL): # Initialize logger logger = None - #initialize_logger('redfish-client.log', "nolog", logging.DEBUG) logger = redfish.config.initialize_logger('redfish-client.log', "nolog", logging.DEBUG, From 657a294cba6222718196611a875a5b1633162eaa Mon Sep 17 00:00:00 2001 From: Uggla Date: Sat, 2 Jan 2016 19:58:53 +0100 Subject: [PATCH 032/224] Add exception handling. - Add first exception handling to get_manager_info. Maybe I will have to factorise that later... --- redfish-client/redfish-client.py | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/redfish-client/redfish-client.py b/redfish-client/redfish-client.py index 5e90f7d..deb5121 100755 --- a/redfish-client/redfish-client.py +++ b/redfish-client/redfish-client.py @@ -229,13 +229,22 @@ def get_manager_info(manager_name, check_SSL): else: simulator = False enforceSSL = True - remote_mgmt = redfish.connect(connection_parameters['url'], - connection_parameters['login'], - connection_parameters['password'], - verify_cert=check_SSL, - simulator=simulator, - enforceSSL=enforceSSL - ) + try: + print 'Gathering data from manager, please wait...' + # TODO : Add a rotating star showing program is running ? + # Could be a nice exercice for learning python + logger.info('Gathering data from manager') + remote_mgmt = redfish.connect(connection_parameters['url'], + connection_parameters['login'], + connection_parameters['password'], + verify_cert=check_SSL, + simulator=simulator, + enforceSSL=enforceSSL + ) + except redfish.exception.RedfishException as e: + sys.stderr.write(str(e.message)) + sys.stderr.write(str(e.advices)) + sys.exit(1) print ('Redfish API version : %s \n' % remote_mgmt.get_api_version()) From 1ff144827bc0b836c0530830b98ce1df7449b2f0 Mon Sep 17 00:00:00 2001 From: Uggla Date: Sat, 2 Jan 2016 22:25:07 +0100 Subject: [PATCH 033/224] Client debug options - Allow client to choose optional debug parameter with loglevel from command line. --- redfish-client/redfish-client.py | 62 +++++++++++++++++++++++++------- 1 file changed, 49 insertions(+), 13 deletions(-) diff --git a/redfish-client/redfish-client.py b/redfish-client/redfish-client.py index deb5121..9f4a51a 100755 --- a/redfish-client/redfish-client.py +++ b/redfish-client/redfish-client.py @@ -17,11 +17,14 @@ Options: - -h --help Show this screen. - --version Show version. - --conf_file FILE Configuration file [default: ~/.redfish.conf]. - --insecure Check SSL certificats - + -h --help Show this screen. + --version Show version. + --conf_file FILE Configuration file [default: ~/.redfish.conf] + --insecure Check SSL certificats + --debug LEVEL Run in debug mode, LEVEL from 1 to 3 increase verbosity + Security warning LEVEL > 1 could reveal password into the logs + --debugfile FILE Specify the client debugfile [default: redfish-client.log] + --libdebugfile FILE Specify python-redfish library log file [default: /var/log/python-redfish/python-redfish.log] config commands : manage the configuration file. manager commands : manage the manager (Ligh out management). If @@ -232,7 +235,7 @@ def get_manager_info(manager_name, check_SSL): try: print 'Gathering data from manager, please wait...' # TODO : Add a rotating star showing program is running ? - # Could be a nice exercice for learning python + # Could be a nice exercice for learning python. :) logger.info('Gathering data from manager') remote_mgmt = redfish.connect(connection_parameters['url'], connection_parameters['login'], @@ -254,20 +257,53 @@ def get_manager_info(manager_name, check_SSL): # Parse and manage arguments arguments = docopt.docopt(__doc__, version=redfishclient_version) - # Initialize logger + # Check debuging options + # Debugging LEVEL : + # 1- Only client + # 2- Client and lib + # 3- Client and lib + Tortilla + + loglevel = {"console_logger_level": "nolog", + "file_logger_level": logging.INFO, + "tortilla": False, + "lib_console_logger_level": "nolog", + "lib_file_logger_level": logging.INFO, + "urllib3_disable_warning": True} + + if arguments['--debug'] == '1': + loglevel['console_logger_level'] = logging.DEBUG + loglevel['file_logger_level'] = logging.DEBUG + elif arguments['--debug'] == '2': + loglevel['console_logger_level'] = logging.DEBUG + loglevel['file_logger_level'] = logging.DEBUG + loglevel['lib_console_logger_level'] = logging.DEBUG + loglevel['lib_file_logger_level'] = logging.DEBUG + loglevel['urllib3_disable_warning'] = False + elif arguments['--debug'] == '3': + loglevel['console_logger_level'] = logging.DEBUG + loglevel['file_logger_level'] = logging.DEBUG + loglevel['lib_console_logger_level'] = logging.DEBUG + loglevel['lib_file_logger_level'] = logging.DEBUG + loglevel['urllib3_disable_warning'] = False + loglevel['tortilla'] = True + + # Initialize logger according to command line parameters logger = None - logger = redfish.config.initialize_logger('redfish-client.log', - "nolog", - logging.DEBUG, + logger = redfish.config.initialize_logger(arguments['--debugfile'], + loglevel['console_logger_level'], + loglevel['file_logger_level'], __name__) - redfish.config.TORTILLADEBUG = False - redfish.config.CONSOLE_LOGGER_LEVEL = "nolog" + redfish.config.REDFISH_LOGFILE = arguments['--libdebugfile'] + redfish.config.TORTILLADEBUG = loglevel['tortilla'] + redfish.config.CONSOLE_LOGGER_LEVEL = loglevel['lib_console_logger_level'] + redfish.config.FILE_LOGGER_LEVEL = loglevel['lib_file_logger_level'] # Avoid warning messages from request / urllib3 # SecurityWarning: Certificate has no `subjectAltName`, falling back # to check for a `commonName` for now. This feature is being removed # by major browsers and deprecated by RFC 2818. # (See https://github.com/shazow/urllib3/issues/497 for details.) - requests.packages.urllib3.disable_warnings() + if loglevel['urllib3_disable_warning'] is True: + requests.packages.urllib3.disable_warnings() logger.info("*** Starting %s ***" % redfishclient_version) logger.info("Arguments parsed") From 5f42022b6454eacc5faddc4ae777b8bfdddd7e18 Mon Sep 17 00:00:00 2001 From: Uggla Date: Sat, 2 Jan 2016 23:07:44 +0100 Subject: [PATCH 034/224] First round of PEP8 sanitization on types.py --- redfish/types.py | 166 +++++++++++++++++++++++++---------------------- 1 file changed, 87 insertions(+), 79 deletions(-) diff --git a/redfish/types.py b/redfish/types.py index 256e7e6..c8eaff9 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -14,9 +14,9 @@ class Base(object): - """Abstract class to manage types (Chassis, Servers etc...).""" + '''Abstract class to manage types (Chassis, Servers etc...).''' def __init__(self, url, connection_parameters): - """Class constructor""" + '''Class constructor''' global TORTILLADEBUG self.connection_parameters = connection_parameters # Uggly hack to check self.url = url @@ -31,34 +31,34 @@ def __init__(self, url, connection_parameters): ) except requests.ConnectionError as e: # Log and transmit the exception. - config.logger.info("Raise a RedfishException to upper level") - msg = "Connection error : {}\n".format(e.message) + config.logger.info('Raise a RedfishException to upper level') + msg = 'Connection error : {}\n'.format(e.message) raise exception.ConnectionFailureException(msg) except simplejson.scanner.JSONDecodeError as e: # Log and transmit the exception. - config.logger.info("Raise a RedfishException to upper level") + config.logger.info('Raise a RedfishException to upper level') msg = \ - "Ivalid content : Content does not appear to be a valid " + \ - "Redfish json\n" + 'Ivalid content : Content does not appear to be a valid ' + \ + 'Redfish json\n' raise exception.InvalidRedfishContentException(msg) except TypeError as e: # This happen connecting to a manager using non trusted # SSL certificats. # The exception is not what could be expected in such case but this # is the one provided by Tortilla. - config.logger.info("Raise a RedfishException to upper level") - msg = "Connection error\n" + config.logger.info('Raise a RedfishException to upper level') + msg = 'Connection error\n' raise exception.NonTrustedCertificatException(msg) config.logger.debug(self.data) def get_link_url(self, link_type): - """Need to be explained. + '''Need to be explained. :param redfish_logfile: redfish log :type str :returns: True - """ + ''' self.links=[] # Manage standard < 1.0 @@ -80,36 +80,36 @@ def url(self, url): self.__url = url def get_parameter(self, parameter_name): - """Generic function to get any system parameter + '''Generic function to get a specific parameter :param parameter_name: name of the parameter :returns: string -- parameter value - """ + ''' try: return self.data[parameter_name] except: - return "Parameter does not exist" + return 'Parameter does not exist' def get_parameters(self): - """Generic function to get all system parameters + '''Generic function to get all parameters :returns: string -- parameter value - """ + ''' try: return self.data except: return -1 def set_parameter(self, parameter_name, value): - """Generic function to set any system parameter + '''Generic function to set a specific parameter :param parameter_name: name of the parameter :param value: value to set :returns: string -- http response of PATCH request - """ + ''' # Craft the request action = dict() action[parameter_name] = value @@ -117,14 +117,15 @@ def set_parameter(self, parameter_name, value): # Perform the POST action config.logger.debug(self.api_url) - response = self.api_url.patch(verify=self.connection_parameters.verify_cert, - headers={'x-auth-token': self.connection_parameters.auth_token}, - data=action - ) + response = self.api_url.patch( + verify=self.connection_parameters.verify_cert, + headers={'x-auth-token': self.connection_parameters.auth_token}, + data=action) return response + class BaseCollection(Base): - """Abstract class to manage collection (Chassis, Servers etc...).""" + '''Abstract class to manage collection (Chassis, Servers etc...).''' def __init__(self, url, connection_parameters): super(BaseCollection, self).__init__(url, connection_parameters) @@ -139,8 +140,8 @@ def __init__(self, url, connection_parameters): else: linksmembers = getattr(self.data, mapping.redfish_mapper.map_members()) for link in linksmembers: - #self.links.append(getattr(link,"@odata.id")) - #self.links.append(getattr(link,"href")) + #self.links.append(getattr(link,'@odata.id')) + #self.links.append(getattr(link,'href')) self.links.append(urljoin(self.url, getattr(link, mapping.redfish_mapper.map_links_ref()))) @@ -148,14 +149,14 @@ def __init__(self, url, connection_parameters): class Root(Base): - """Class to manage redfish Root data.""" + '''Class to manage redfish Root data.''' def get_api_version(self): - """Return api version. + '''Return api version. :returns: string -- version :raises: AttributeError - """ + ''' try: version = self.data.RedfishVersion except AttributeError: @@ -166,52 +167,52 @@ def get_api_version(self): return(version) def get_api_UUID(self): - """Return UUID version. + '''Return UUID version. :returns: string -- UUID - """ + ''' return self.data.UUID def get_api_link_to_server(self): - """Return api link to server. + '''Return api link to server. :returns: string -- path - """ - return getattr(self.root.Links.Systems, "@odata.id") + ''' + return getattr(self.root.Links.Systems, '@odata.id') class SessionService(Base): - """Class to manage redfish SessionService data.""" + '''Class to manage redfish SessionService data.''' pass class Managers(Base): - """Class to manage redfish Managers.""" + '''Class to manage redfish Managers.''' def __init__(self, url, connection_parameters): super(Managers, self).__init__(url, connection_parameters) try: # self.ethernet_interfaces_collection = EthernetInterfacesCollection( -# self.get_link_url("EthernetInterfaces"), +# self.get_link_url('EthernetInterfaces'), # connection_parameters # ) # Works on proliant, need to treat 095 vs 0.96 differences self.ethernet_interfaces_collection = EthernetInterfacesCollection( - self.get_link_url("EthernetNICs"), + self.get_link_url('EthernetNICs'), connection_parameters ) except: pass def get_firmware_version(self): - """Get bios version of the system. + '''Get bios version of the system. :returns: string -- bios version - """ + ''' try: # Returned by proliant return self.data.FirmwareVersion @@ -220,33 +221,35 @@ def get_firmware_version(self): # Hopefully this kind of discrepencies will be fixed with Redfish 1.0 (August) return self.data.FirmwareVersion + class ManagersCollection(BaseCollection): - """Class to manage redfish ManagersCollection data.""" + '''Class to manage redfish ManagersCollection data.''' def __init__(self, url, connection_parameters): - """Class constructor""" + '''Class constructor''' super(ManagersCollection, self).__init__(url, connection_parameters) self.managers_list = [] for link in self.links: self.managers_list.append(Managers(link, connection_parameters)) + class Systems(Base): - """Class to manage redfish Systems data.""" + '''Class to manage redfish Systems data.''' # TODO : Need to discuss with Bruno the required method. # Also to check with the ironic driver requirement. def __init__(self, url, connection_parameters): - """Class constructor""" + '''Class constructor''' super(Systems, self).__init__(url, connection_parameters) try: - self.bios = Bios(url + "Bios/Settings", connection_parameters) + self.bios = Bios(url + 'Bios/Settings', connection_parameters) except: pass def reset_system(self): - """Force reset of the system. + '''Force reset of the system. :returns: string -- http response of POST request - """ + ''' # Craft the request action = dict() action['Action'] = 'Reset' @@ -262,11 +265,11 @@ def reset_system(self): return response def get_bios_version(self): - """Get bios version of the system. + '''Get bios version of the system. :returns: string -- bios version - """ + ''' try: # Returned by proliant return self.data.Bios.Current.VersionString @@ -276,37 +279,37 @@ def get_bios_version(self): return self.data.BiosVersion def get_serial_number(self): - """Get serial number of the system. + '''Get serial number of the system. :returns: string -- serial number - """ + ''' try: # Returned by proliant return self.data.SerialNumber except: # Returned by mockup. # Hopefully this kind of discrepencies will be fixed with Redfish 1.0 (August) - return "" + return '' def get_power(self): - """Get power status of the system. + '''Get power status of the system. :returns: string -- power status or NULL if there is an issue - """ + ''' try: return self.data.Power except: - return "" + return '' def set_parameter_json(self, value): - """Generic function to set any system parameter using json structure + '''Generic function to set any system parameter using json structure :param value: json structure with value to update :returns: string -- http response of PATCH request - """ + ''' # perform the POST action #print self.api_url.url() response = requests.patch(self.api_url.url(), @@ -316,30 +319,31 @@ def set_parameter_json(self, value): return response.reason def set_boot_source_override(self, target, enabled): - """Shotcut function to set boot source + '''Shotcut function to set boot source :param target: new boot source. Supported values: - "None", - "Pxe", - "Floppy", - "Cd", - "Usb", - "Hdd", - "BiosSetup", - "Utilities", - "Diags", - "UefiShell", - "UefiTarget" + 'None', + 'Pxe', + 'Floppy', + 'Cd', + 'Usb', + 'Hdd', + 'BiosSetup', + 'Utilities', + 'Diags', + 'UefiShell', + 'UefiTarget' :param enabled: Supported values: - "Disabled", - "Once", - "Continuous" + 'Disabled', + 'Once', + 'Continuous' :returns: string -- http response of PATCH request - """ - return self.set_parameter_json('{"Boot": {"BootSourceOverrideTarget": "'+target+'"},{"BootSourceOverrideEnabled" : "'+enabled+'"}}') + ''' + return self.set_parameter_json('{'Boot': {'BootSourceOverrideTarget': ''+target+''},{'BootSourceOverrideEnabled' : ''+enabled+''}}') + class SystemsCollection(BaseCollection): - """Class to manage redfish ManagersCollection data.""" + '''Class to manage redfish ManagersCollection data.''' def __init__(self, url, connection_parameters): super(SystemsCollection, self).__init__(url, connection_parameters) @@ -348,19 +352,22 @@ def __init__(self, url, connection_parameters): for link in self.links: self.systems_list.append(Systems(link, connection_parameters)) + class Bios(Base): - """Class to manage redfish Bios data.""" + '''Class to manage redfish Bios data.''' def __init__(self, url, connection_parameters): super(Bios, self).__init__(url, connection_parameters) - self.boot = Boot(re.findall(".+/Bios",url)[0]+"/Boot/Settings", connection_parameters) + self.boot = Boot(re.findall('.+/Bios',url)[0]+'/Boot/Settings', connection_parameters) + class Boot(Base): - """Class to manage redfish Boot data.""" + '''Class to manage redfish Boot data.''' def __init__(self, url, connection_parameters): super(Boot, self).__init__(url, connection_parameters) + class EthernetInterfacesCollection(BaseCollection): - """Class to manage redfish EthernetInterfacesColkection data.""" + '''Class to manage redfish EthernetInterfacesColkection data.''' def __init__(self, url, connection_parameters): super(EthernetInterfacesCollection, self).__init__(url, connection_parameters) @@ -372,6 +379,7 @@ def __init__(self, url, connection_parameters): for link in self.links: self.ethernet_interfaces_list.append(EthernetInterfaces(link, connection_parameters)) + class EthernetInterfaces(Base): - """Class to manage redfish EthernetInterfaces data.""" + '''Class to manage redfish EthernetInterfaces data.''' pass From 6c4bb1480a73cfc1ad9b1fd5dc88b1742a9718df Mon Sep 17 00:00:00 2001 From: Uggla Date: Sun, 3 Jan 2016 00:15:08 +0100 Subject: [PATCH 035/224] Work on types.py - Change ManagersCollection to not report a list by a dict. The managers_dict will contain index --> manager object, index is the redfish index as reported inside url - Notice that Proliant firmware now uses EthernetInterfaces as specified by Redfish - Bug to be reported : /redfish/v1/Managers/1/EthernetInterfaces/1 returns invalid content (not json) - Revert some changes on " to ' as it can break json data. Example : return self.set_parameter_json('{"Boot": {"BootSourceOverrideTarget": "'+target+'"},{"BootSourceOverrideEnabled" : "'+enabled+'"}}') --- redfish-client/redfish-client.py | 5 ++- redfish/types.py | 60 +++++++++++++++++--------------- 2 files changed, 35 insertions(+), 30 deletions(-) diff --git a/redfish-client/redfish-client.py b/redfish-client/redfish-client.py index 9f4a51a..ab99f1b 100755 --- a/redfish-client/redfish-client.py +++ b/redfish-client/redfish-client.py @@ -249,7 +249,10 @@ def get_manager_info(manager_name, check_SSL): sys.stderr.write(str(e.advices)) sys.exit(1) - print ('Redfish API version : %s \n' % remote_mgmt.get_api_version()) + print('Redfish API version : %s \n' % remote_mgmt.get_api_version()) + print('Managers information :\n') + + # Main program redfishclient_version = "redfish-client 0.1" diff --git a/redfish/types.py b/redfish/types.py index c8eaff9..9aa52d7 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -193,17 +193,18 @@ class Managers(Base): def __init__(self, url, connection_parameters): super(Managers, self).__init__(url, connection_parameters) try: - -# self.ethernet_interfaces_collection = EthernetInterfacesCollection( -# self.get_link_url('EthernetInterfaces'), -# connection_parameters -# ) - - # Works on proliant, need to treat 095 vs 0.96 differences + # New proliant firmware now respects Redfish v1.00, so seems to correct below statement + # TODO : better handle exception and if possible support old firmware ? self.ethernet_interfaces_collection = EthernetInterfacesCollection( - self.get_link_url('EthernetNICs'), + self.get_link_url('EthernetInterfaces'), connection_parameters ) + + # Works on proliant, need to treat 095 vs 0.96 differences + #self.ethernet_interfaces_collection = EthernetInterfacesCollection( + # self.get_link_url('EthernetNICs'), + # connection_parameters + # ) except: pass @@ -227,9 +228,10 @@ class ManagersCollection(BaseCollection): def __init__(self, url, connection_parameters): '''Class constructor''' super(ManagersCollection, self).__init__(url, connection_parameters) - self.managers_list = [] + self.managers_dict = {} for link in self.links: - self.managers_list.append(Managers(link, connection_parameters)) + index = re.search(r'Managers/(\w+)', link) + self.managers_dict[index.group(1)] = Managers(link, connection_parameters) class Systems(Base): @@ -322,28 +324,28 @@ def set_boot_source_override(self, target, enabled): '''Shotcut function to set boot source :param target: new boot source. Supported values: - 'None', - 'Pxe', - 'Floppy', - 'Cd', - 'Usb', - 'Hdd', - 'BiosSetup', - 'Utilities', - 'Diags', - 'UefiShell', - 'UefiTarget' + "None", + "Pxe", + "Floppy", + "Cd", + "Usb", + "Hdd", + "BiosSetup", + "Utilities", + "Diags", + "UefiShell", + "UefiTarget" :param enabled: Supported values: - 'Disabled', - 'Once', - 'Continuous' + "Disabled", + "Once", + "Continuous" :returns: string -- http response of PATCH request ''' - return self.set_parameter_json('{'Boot': {'BootSourceOverrideTarget': ''+target+''},{'BootSourceOverrideEnabled' : ''+enabled+''}}') + return self.set_parameter_json('{"Boot": {"BootSourceOverrideTarget": "'+target+'"},{"BootSourceOverrideEnabled" : "'+enabled+'"}}') class SystemsCollection(BaseCollection): - '''Class to manage redfish ManagersCollection data.''' + '''Class to manage redfish SystemsCollection data.''' def __init__(self, url, connection_parameters): super(SystemsCollection, self).__init__(url, connection_parameters) @@ -357,7 +359,7 @@ class Bios(Base): '''Class to manage redfish Bios data.''' def __init__(self, url, connection_parameters): super(Bios, self).__init__(url, connection_parameters) - self.boot = Boot(re.findall('.+/Bios',url)[0]+'/Boot/Settings', connection_parameters) + self.boot = Boot(re.findall('.+/Bios', url)[0] + '/Boot/Settings', connection_parameters) class Boot(Base): @@ -373,8 +375,8 @@ def __init__(self, url, connection_parameters): self.ethernet_interfaces_list = [] - # Url returned by the mock up is wrong /redfish/v1/Managers/EthernetInterfaces/1 returns a 404. - # The correct one should be /redfish/v1/Managers/1/EthernetInterfaces/1 + # Url returned by the mock up is wrong /redfish/v1/Managers/EthernetInterfaces/1 returns a 404. --> this is not true anymore (2016/01/03) + # The correct one should be /redfish/v1/Managers/1/EthernetInterfaces/1 --> correct by mockup return invalid content (not json) # Check more than 1 hour for this bug.... grrr.... for link in self.links: self.ethernet_interfaces_list.append(EthernetInterfaces(link, connection_parameters)) From 4b2b4ad5c6b7deaba017fe5a43c889f1c43a7c68 Mon Sep 17 00:00:00 2001 From: Uggla Date: Sun, 3 Jan 2016 19:58:46 +0100 Subject: [PATCH 036/224] Retrieve first part of manager data. - Update type.py with new manager functions and manage exceptions. - Retrieve some basic manager data from client getinfo. --- redfish-client/redfish-client.py | 18 ++++++++-- redfish/types.py | 58 ++++++++++++++++++++++++++++---- 2 files changed, 66 insertions(+), 10 deletions(-) diff --git a/redfish-client/redfish-client.py b/redfish-client/redfish-client.py index ab99f1b..7529ba0 100755 --- a/redfish-client/redfish-client.py +++ b/redfish-client/redfish-client.py @@ -233,7 +233,7 @@ def get_manager_info(manager_name, check_SSL): simulator = False enforceSSL = True try: - print 'Gathering data from manager, please wait...' + print('Gathering data from manager, please wait...\n') # TODO : Add a rotating star showing program is running ? # Could be a nice exercice for learning python. :) logger.info('Gathering data from manager') @@ -249,8 +249,20 @@ def get_manager_info(manager_name, check_SSL): sys.stderr.write(str(e.advices)) sys.exit(1) - print('Redfish API version : %s \n' % remote_mgmt.get_api_version()) - print('Managers information :\n') + # Display manager information + # TODO : Use a templating system + print('Redfish API version : %s' % remote_mgmt.get_api_version()) + print(remote_mgmt.Root.get_name()) + print('\n') + print('Managers information :') + print('----------------------') + for manager_index in sorted(remote_mgmt.Managers.managers_dict): + manager = remote_mgmt.Managers.managers_dict[manager_index] + print('\nManager id {} :').format(manager_index) + print('UUID : {}').format(manager.get_uuid()) + print('Type : {}').format(manager.get_type()) + print('Firmware version : {}').format(manager.get_firmware_version()) + print('State : {}').format(manager.get_status()) diff --git a/redfish/types.py b/redfish/types.py index 9aa52d7..c8caca4 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -181,6 +181,17 @@ def get_api_link_to_server(self): ''' return getattr(self.root.Links.Systems, '@odata.id') + + def get_name(self): + '''Get root name + + :returns: string -- root name or "Not available" + + ''' + try: + return self.data.Name + except AttributeError: + return "Not available" class SessionService(Base): @@ -209,18 +220,51 @@ def __init__(self, url, connection_parameters): pass def get_firmware_version(self): - '''Get bios version of the system. + '''Get firmware version of the manager - :returns: string -- bios version + :returns: string -- bios version or "Not available" ''' try: - # Returned by proliant - return self.data.FirmwareVersion - except: - # Returned by mockup. - # Hopefully this kind of discrepencies will be fixed with Redfish 1.0 (August) return self.data.FirmwareVersion + except AttributeError: + # We are here because the attribute could be not defined. + # This is the case with the mockup for manager 2 and 3 + return "Not available" + + def get_type(self): + '''Get manager type + + :returns: string -- manager type or "Not available" + + ''' + try: + return self.data.ManagerType + except AttributeError: + return "Not available" + + def get_uuid(self): + '''Get manager type + + :returns: string -- manager uuid or "Not available" + + ''' + try: + return self.data.UUID + except AttributeError: + return "Not available" + + def get_status(self): + '''Get manager status + + :returns: string -- manager status or "Not available" + + ''' + try: + return self.data.Status.State + except AttributeError: + return "Not available" + class ManagersCollection(BaseCollection): From 3eed4813f0fcca72819eed9d5328a62961414241 Mon Sep 17 00:00:00 2001 From: Uggla Date: Sun, 3 Jan 2016 22:59:47 +0100 Subject: [PATCH 037/224] Fix duplicate logs. - Specify a name for the logger as recommended by the logging documentation. However for strange reason requests logs are not anymore capture in the log file. This needs to be reviewed. --- redfish-client/redfish-client.py | 1 - redfish/config.py | 2 +- redfish/main.py | 7 ++++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/redfish-client/redfish-client.py b/redfish-client/redfish-client.py index 7529ba0..7110e1d 100755 --- a/redfish-client/redfish-client.py +++ b/redfish-client/redfish-client.py @@ -303,7 +303,6 @@ def get_manager_info(manager_name, check_SSL): loglevel['tortilla'] = True # Initialize logger according to command line parameters - logger = None logger = redfish.config.initialize_logger(arguments['--debugfile'], loglevel['console_logger_level'], loglevel['file_logger_level'], diff --git a/redfish/config.py b/redfish/config.py index 949251b..0799aeb 100644 --- a/redfish/config.py +++ b/redfish/config.py @@ -15,7 +15,7 @@ def initialize_logger(REDFISH_LOGFILE, CONSOLE_LOGGER_LEVEL, FILE_LOGGER_LEVEL, - logger_name=""): + logger_name=None): '''Initialize a global logger to track application behaviour :param redfish_logfile: Log filename diff --git a/redfish/main.py b/redfish/main.py index e3435e3..838554b 100644 --- a/redfish/main.py +++ b/redfish/main.py @@ -160,9 +160,14 @@ def __init__(self, verify_cert=True ): """Initialize a connection to a Redfish service.""" + # Specify a name for the logger as recommended by the logging + # documentation. However for strange reason requests logs are not + # anymore capture in the log file. + # TODO : Check strange behavior about requests logs. config.logger = config.initialize_logger(config.REDFISH_LOGFILE, config.CONSOLE_LOGGER_LEVEL, - config.FILE_LOGGER_LEVEL) + config.FILE_LOGGER_LEVEL, + __name__) config.logger.info("Initialize python-redfish") From 301790c32c2681c395be2267817273ac9e152323 Mon Sep 17 00:00:00 2001 From: Uggla Date: Sun, 3 Jan 2016 23:33:40 +0100 Subject: [PATCH 038/224] Work on EthernetInterfaces within types.py - Change EthernetInterfacesCollection to not report a list but a dict. This change will be the same on *Collection. - Factorise get_name function from Root to Base class as Name parameter seems defined for all kind of Redfish objects. - Report first EthernetInterfaces data in redfish-client as an example --> need to be elaborated --- redfish-client/redfish-client.py | 10 +++++++++ redfish/types.py | 38 ++++++++++++++++++-------------- 2 files changed, 32 insertions(+), 16 deletions(-) diff --git a/redfish-client/redfish-client.py b/redfish-client/redfish-client.py index 7110e1d..edfaa15 100755 --- a/redfish-client/redfish-client.py +++ b/redfish-client/redfish-client.py @@ -263,6 +263,16 @@ def get_manager_info(manager_name, check_SSL): print('Type : {}').format(manager.get_type()) print('Firmware version : {}').format(manager.get_firmware_version()) print('State : {}').format(manager.get_status()) + print('Ethernet interfaces :') + try : + for ethernetinterface_index in sorted(manager.ethernet_interfaces_collection.ethernet_interfaces_dict): + ei = manager.ethernet_interfaces_collection.ethernet_interfaces_dict[ethernetinterface_index] + print('\nEthernet Interface id {} :').format(ethernetinterface_index) + print(ei.get_name()) + print(ei.get_parameter('FQDN')) + except AttributeError: + # We don't have ethernet interfaces + pass diff --git a/redfish/types.py b/redfish/types.py index c8caca4..bcf025f 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -122,6 +122,17 @@ def set_parameter(self, parameter_name, value): headers={'x-auth-token': self.connection_parameters.auth_token}, data=action) return response + + def get_name(self): + '''Get root name + + :returns: string -- root name or "Not available" + + ''' + try: + return self.data.Name + except AttributeError: + return "Not available" class BaseCollection(Base): @@ -180,18 +191,7 @@ def get_api_link_to_server(self): :returns: string -- path ''' - return getattr(self.root.Links.Systems, '@odata.id') - - def get_name(self): - '''Get root name - - :returns: string -- root name or "Not available" - - ''' - try: - return self.data.Name - except AttributeError: - return "Not available" + return getattr(self.root.Links.Systems, '@odata.id') class SessionService(Base): @@ -216,7 +216,12 @@ def __init__(self, url, connection_parameters): # self.get_link_url('EthernetNICs'), # connection_parameters # ) - except: + except exception.InvalidRedfishContentException: + # This is to avoid invalid content from the mockup + pass + + except AttributeError: + # This means we don't have EthernetInterfaces pass def get_firmware_version(self): @@ -417,15 +422,16 @@ class EthernetInterfacesCollection(BaseCollection): def __init__(self, url, connection_parameters): super(EthernetInterfacesCollection, self).__init__(url, connection_parameters) - self.ethernet_interfaces_list = [] + self.ethernet_interfaces_dict = {} # Url returned by the mock up is wrong /redfish/v1/Managers/EthernetInterfaces/1 returns a 404. --> this is not true anymore (2016/01/03) # The correct one should be /redfish/v1/Managers/1/EthernetInterfaces/1 --> correct by mockup return invalid content (not json) # Check more than 1 hour for this bug.... grrr.... for link in self.links: - self.ethernet_interfaces_list.append(EthernetInterfaces(link, connection_parameters)) + index = re.search(r'EthernetInterfaces/(\w+)', link) + self.ethernet_interfaces_dict[index.group(1)] = EthernetInterfaces(link, connection_parameters) class EthernetInterfaces(Base): - '''Class to manage redfish EthernetInterfaces data.''' + '''Class to manage redfish EthernetInterfaces.''' pass From 7b43449a84130d2d91304a19e3d0f256ad0c1ef8 Mon Sep 17 00:00:00 2001 From: Uggla Date: Mon, 4 Jan 2016 23:22:14 +0100 Subject: [PATCH 039/224] Add a couple of new functions to EthernetInterfaces - This is a WIP. --- redfish/types.py | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/redfish/types.py b/redfish/types.py index bcf025f..2b064b7 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -434,4 +434,38 @@ def __init__(self, url, connection_parameters): class EthernetInterfaces(Base): '''Class to manage redfish EthernetInterfaces.''' - pass + def get_mac(self): + '''Get EthernetInterface MacAddress + + :returns: string -- interface macaddress or "Not available" + + ''' + try: + return self.data.MacAddress + except AttributeError: + return "Not available" + + def get_fqdn(self): + '''Get EthernetInterface fqdn + + :returns: string -- interface fqdn or "Not available" + + ''' + try: + return self.data.FQDN + except AttributeError: + return "Not available" + +#=============================================================================== +# def get_ipv4(self): +# '''Get EthernetInterface ipv4 address +# +# :returns: list -- interface ip addresses or "Not available" +# +# ''' +# try: +# return self.data.IPv4Addresses +# except AttributeError: +# return "Not available" +#=============================================================================== + From 59a3e11c1b891c9f582bd7cecdafaa32b61cda31 Mon Sep 17 00:00:00 2001 From: Uggla Date: Sat, 9 Jan 2016 19:03:33 +0100 Subject: [PATCH 040/224] Finalise new EthernetInterfaces functions - Add get_mac, get_fqdn, get_ipv4, get_ipv6. --- redfish/types.py | 48 ++++++++++++++++++++++++++++++++++++------------ 1 file changed, 36 insertions(+), 12 deletions(-) diff --git a/redfish/types.py b/redfish/types.py index 2b064b7..a4075e6 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -456,16 +456,40 @@ def get_fqdn(self): except AttributeError: return "Not available" -#=============================================================================== -# def get_ipv4(self): -# '''Get EthernetInterface ipv4 address -# -# :returns: list -- interface ip addresses or "Not available" -# -# ''' -# try: -# return self.data.IPv4Addresses -# except AttributeError: -# return "Not available" -#=============================================================================== + + def get_ipv4(self): + '''Get EthernetInterface ipv4 address + + :returns: list -- interface ip addresses or "Not available" + + ''' + + ipaddresses = [] + + try: + for ip_settings in self.data.IPv4Addresses: + address = ip_settings['Address'] + ipaddresses.append(address) + + return ipaddresses + except AttributeError: + return "Not available" + + def get_ipv6(self): + '''Get EthernetInterface ipv6 address + + :returns: list -- interface ip addresses or "Not available" + + ''' + + ipaddresses = [] + + try: + for ip_settings in self.data.IPv6Addresses: + address = ip_settings['Address'] + ipaddresses.append(address) + + return ipaddresses + except AttributeError: + return "Not available" From 6ffbd4aec8708611696ce1c4160f41e9174cefbc Mon Sep 17 00:00:00 2001 From: Uggla Date: Sat, 9 Jan 2016 19:07:51 +0100 Subject: [PATCH 041/224] Add manager functions - Add function get_managed_chassis. - Add function get_managed_systems. - Modiy mapping to handle proliant fw 2.40 bugs reporting : - links instead of Links. - href instead of @odata.id. - I'll report this bug to redfish folks. - Various PEP8 cleans. --- redfish-client/redfish-client.py | 4 +++ redfish/main.py | 7 ++-- redfish/mapping.py | 55 ++++++++++++++++++++++---------- redfish/types.py | 34 +++++++++++++++++++- 4 files changed, 79 insertions(+), 21 deletions(-) diff --git a/redfish-client/redfish-client.py b/redfish-client/redfish-client.py index edfaa15..af2530f 100755 --- a/redfish-client/redfish-client.py +++ b/redfish-client/redfish-client.py @@ -263,6 +263,8 @@ def get_manager_info(manager_name, check_SSL): print('Type : {}').format(manager.get_type()) print('Firmware version : {}').format(manager.get_firmware_version()) print('State : {}').format(manager.get_status()) + print manager.get_managed_chassis() + print manager.get_managed_systems() print('Ethernet interfaces :') try : for ethernetinterface_index in sorted(manager.ethernet_interfaces_collection.ethernet_interfaces_dict): @@ -270,6 +272,8 @@ def get_manager_info(manager_name, check_SSL): print('\nEthernet Interface id {} :').format(ethernetinterface_index) print(ei.get_name()) print(ei.get_parameter('FQDN')) + print ei.get_ipv4() + print ei.get_ipv6() except AttributeError: # We don't have ethernet interfaces pass diff --git a/redfish/main.py b/redfish/main.py index 838554b..3a28cf0 100644 --- a/redfish/main.py +++ b/redfish/main.py @@ -209,9 +209,10 @@ def __init__(self, config.logger.info("API Version : %s", self.get_api_version()) mapping.redfish_version = self.get_api_version() + mapping.redfish_root_name = self.Root.get_name() - # Instanciate a global mapping object to handle Redfish version variation - mapping.redfish_mapper = mapping.RedfishVersionMapping(self.get_api_version()) + # Instantiate a global mapping object to handle Redfish version variation + mapping.redfish_mapper = mapping.RedfishVersionMapping(self.get_api_version(), self.Root.get_name()) # Now we need to login otherwise we are not allowed to extract data if self.__simulator is False: @@ -225,7 +226,7 @@ def __init__(self, - # Struture change with mockup 1.0.0, there is no links + # Structure change with mockup 1.0.0, there is no links # section anymore. # =================================================================== # TODO : Add a switch to allow the both structure diff --git a/redfish/mapping.py b/redfish/mapping.py index 309e23a..f999cd2 100644 --- a/redfish/mapping.py +++ b/redfish/mapping.py @@ -2,30 +2,51 @@ redfish_mapper = None redfish_version = None +redfish_root_name = None class RedfishVersionMapping(object): - """Implements basic url path mapping beetween Redfish versions.""" + '''Implements basic url path mapping beetween Redfish versions.''' - def __init__(self, version): + def __init__(self, version, rootname): self.__version = version + self.__rootname = rootname def map_sessionservice(self): - if self.__version == "0.95": - return "Sessions" - return("SessionService") - + if self.__version == '0.95': + return 'Sessions' + return 'SessionService' - def map_links(self): - if self.__version == "0.95": - return "links" - return("Links") + def map_links(self, data_dict=None): + if data_dict == None: + if self.__version == '0.95': + return 'links' + else: + # Checking if we have Links or links. + # This is to deal with proliant firmware 2.40 bug that reports + # incorrectly links instead of Links (Redfish standard) + try: + data_dict.links + return 'links' + except AttributeError: + pass + return 'Links' - def map_links_ref(self): - if self.__version == "0.95": - return "href" - return("@odata.id") + def map_links_ref(self, data_dict=None): + if data_dict == None: + if self.__version == '0.95': + return 'href' + else: + # Checking if we have @odata.id or href. + # This is to deal with proliant firmware 2.40 bug that reports + # incorrectly href instead of @odata.id (Redfish standard) + try: + data_dict.href + return 'href' + except AttributeError: + pass + return '@odata.id' def map_members(self): - if self.__version == "0.95": - return "Member" - return("Members") \ No newline at end of file + if self.__version == '0.95': + return 'Member' + return 'Members' \ No newline at end of file diff --git a/redfish/types.py b/redfish/types.py index a4075e6..3a5bac1 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -270,7 +270,39 @@ def get_status(self): except AttributeError: return "Not available" + def get_managed_chassis(self): + '''Get managed chassis ids by the manager + :returns: list -- chassis ids or "Not available" + + ''' + chassis_list = [] + links = getattr(self.data, mapping.redfish_mapper.map_links(self.data)) + + try: + for chassis in links.ManagerForChassis: + result = re.search(r'Chassis/(\w+)', chassis[mapping.redfish_mapper.map_links_ref(chassis)]) + chassis_list.append(result.group(1)) + return chassis_list + except AttributeError: + return "Not available" + + def get_managed_systems(self): + '''Get managed systems ids by the manager + + :returns: list -- chassis ids or "Not available" + + ''' + systems_list = [] + links = getattr(self.data, mapping.redfish_mapper.map_links(self.data)) + + try: + for systems in links.ManagerForServers: + result = re.search(r'Systems/(\w+)', systems[mapping.redfish_mapper.map_links_ref(systems)]) + systems_list.append(result.group(1)) + return systems_list + except AttributeError: + return "Not available" class ManagersCollection(BaseCollection): '''Class to manage redfish ManagersCollection data.''' @@ -313,7 +345,7 @@ def reset_system(self): data=action ) #TODO : treat response. - return response + return response def get_bios_version(self): '''Get bios version of the system. From d88d55ad71bd412a84c4758de44d2dbb289c011b Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Mon, 11 Jan 2016 21:31:25 +0100 Subject: [PATCH 042/224] Update DMTF Redfish spec to latest versions We're keeping the previous version to be able to still support them --- dmtf/DSP0266_1.0.1.pdf | Bin 0 -> 465646 bytes dmtf/DSP8011_1.0.0a.json | 465 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 465 insertions(+) create mode 100644 dmtf/DSP0266_1.0.1.pdf create mode 100644 dmtf/DSP8011_1.0.0a.json diff --git a/dmtf/DSP0266_1.0.1.pdf b/dmtf/DSP0266_1.0.1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..dd4c4881110226888a860ba9b46848179d4d113b GIT binary patch literal 465646 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 z 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

d7Hn?m^1+TAqfm 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

7|nZ~`T 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

r+5mAc&%~lzNW=Dw*aNoVu6q zHl?pk-ENN7aElXph<~5NWg|;ZU6T~t7ic_|*vw|gaCp*rOhMNH&T@Jgg|jxU;|72C z0B`Ex#AY|U3dWcWM!2xFQ(DAa z5r@<6^@8!B`C|JFo)e-e`pN~)!ZGXBP5DD7fMU-P?7`#=Y=E>moFJO)DUFPe|0N00 z79_tK*h(Kre*isIJbuFkFBgj|pkje(U6b1SQ+CHw(Gk%AMfZRstg>vRCRt)dnTCEZ zcMYJtRB*nD?>!(DSC%)bC$BTe@924b{dMZJC^4f`_KH>E7pUoV@Eq5Yvmje*S!Wa;jg<8jw_g|9(5-m2hcO@uSn1ya^7(+ zbgx6n>SOqiuJt#S{`uvj)J55*oOqD7`EV+ORn&k>e=hy;@Cof#@A1 zdN&PotWA2-5=aK;P6XcLwSNFd&Ai6Z9;Mnf+kL zd4k4+i!|gERcVBt?-nErG8(-K>{tC16>JrmzGlcB$hJ|OdIixGqz*or@A_kV8(H;A zIyGX(!sWSq8}5z3V!QfCjS%l43?)=JgoBCUc1nQp67${P4PP1$#+6mKuwOZJl9_77 z-xTqgwn~STWoXz#v;W$@&8SD?V+T=*YRwf$n?$2ct=*#>eNT6C!wDmaIo2n&{stO& z5QD|a7cJq|I;pcx8i~h^MNS2R>UH}0_SY*|VZ8ZiBJ-=5ElM(85=J1d9u^#s^htG z>zSexL1laQZn2D#%gwT@VVe7|cIdNF_~cQm8s%qpFZhpRE|3+*e*!*0u zmWW~MJI$D~D-64fFK?H^2<+m%Mp2}+TCOp5yD5;(iW#NLlL~kOu*d6D)5Dw^@79ol zvN`9QD_?g8i|yqip5ceK@Ih@Q?FNGZ6;1#S5+q-X~rLRZ%YmoSGFbfd?rbAc-Z@4{DwPYu^1SQZEc#eo9)rP()tRRjWGh0BkC zURnSR?Wf7myB>&J-n#&?`_Qtj`uKti>Ad3OC>XR!i&=Vc0*0 z_*c?e*=1PGm09hTHR3~z=gA2i;jxp9&+r202moIb^7DIg`}Cs#W3ergS#lGYG83DU zlXvaXg`**DTpdE6Ox0mn@*@xt!%z>}^CDt0p~l1v3MDWswVi&ik!wmX@hcy>D<1qh z+DK^errZW8F#nFPD>0<&rsDJx9omuj@bj7Q?BNw{a_}GwWzGd!7yG_qPWGHWm(}lSR=@t0_yP z>EzJTrqfVrP|}F7EL$a;oLU}RdyKnV%-frs?JeKWU!Yd9)y}Bsn5v@2ttQnh>xi}5 z7QA;_xv-7asLE{jFt~kTb-W-fZ;QR;)@=E)J6*tae6)S6wf9D&XCWGa4dR-E(-U5r z4FUM`d%832vFjg`>>%nQXkpl6Okr7K+e-GxR~otrjh;EZV=l1;o4xx(=bYlJs=rDB zw~}&1sgf|=O1WCBxtebTA_D>}R$G800D-e*`NLMr?BBEBk z_S>(0p|Ml8txo0Go~)aRoHss#nS>dh%v)V;08_;J>O)<-Jr{6#BxZB>x$(O`f>FbE zhVes8mzhCKPosaz0AOdxK@3xYKtQjv#UJ295CHCgK;$O?g#r(T4HN(fF746Z!oh@w z#)*o;2aC-Y6qMgNbR!}f)kFSukPuR+HyWq#Ntka+Vzv~;dW9Y_R1`&O#QGH4h}55X zg~`Yfrf-B4T!eg*#X5aF-;O%nezD`p2 z9;>DXqmmq}s+&Vgqgh6g*`vVV(dgLlJTWkB^{`qit5*x!7p+~Z+osg&`SJW7qb0R! zE4$UfpyB8Cbhn5<`umto0bHi4X_ym=!$LfzB~~>jZ(oC!WA_2zgLVA9g8V#5 z+fO8kJr=kDMb3a_%^@oSuo_XMJMEW4Go%lWi*+70_PmZ1tWKLd0{T(sQ6j{WROvQ^ zLtD|S>jOH*^h*A5#f72M3HnMPBMXWxJbE}a-WQxVnM)O$%@RnZEkr(9mCMTH^|I~Q zJ6H%AcybE45F?x=ac;-bq12)w7b;epKSOeUX9P;FcxGjX1DlNOcks8g%llNMpNUpe zlhx^rG}&G(KD8#Ps1SR>2bP_y20y)bajr*7UMVQ8UBPGezp#9J;zA?a=7(!aS!4ZS zbEhh*--%#H%0kNFD`_! zBjj3M>g}k%2)wIARQk#UH%^9A_b+IT&BAC;Nyt<;+j8XzrvQNq+*b0I?a7>-dk@vG zkMKTR>xlNlpbeVPJ7`9Le)os-CILL`s2r{bCbiEMcvP$Fpp`?IKc-{cr)+cr)|$~t z08(#>+G)?_M(3+OR_Ogm4ha^;t9?~7ApD0)weaSuk_ zqD1f!Y-uS)ogpAIhd)EiNqCXc{0DD4b_GbabiOv7#t%Ukr|-N`uj zcXp!W*9t>(y$@FonHrDzaykm0tQU1Y+c`|rCd$iI^r$Uuw8QpX82k^|x1MgGMDE3k z5txW9=no!*WD~i%3>dK-STXlT^;(HBDB~>?L-PsO5g+75SJI+Z>@-NK(v|Do&B)B8 z!n)OWI)c-(@fBp~ftDAFF63G7TJ?JMNqv$lOt>6u?vcL`3=!c?yWEieH!3rjHLf4~ z+9b%KzgOmPZrxbeRR_LSUlxl~Q=aa4lfp0(E|t)z)Xmu0ij`L0L1k?-O~3M5$>}Y> zII@bGj4ovtMZvn|by(ztf`-c#FKC7c1QbU)yyfeYSLN|CO73mcCVU>a+eU+u?By1? z13}2An7jpUMU~eDwy$X_dB+=u%I@bSx;M^c-;E}1BXoYSxAWCo)Y#HKy4~CWj%fmY zz&Dxx9!N$vW@!M8cwJBu&;c|xT5##-eyUIuJry{}hR9>_PezvwO{rp(|9GJuD%U{l zp}hdkB>-UeBsAQnj(W<5C;&+e81$d|IqH1*wjpnv>2H&^P8CWgS`%)}AKmZnC z)S;9OMQIKdMi69;+`{vdYC8q$E}2$QC+g*ga`x!sXRgDfTLdN>{(?uhj>*tmoay<4 zPJcsylBMMA%_J{wXyiv;!AF!$BmybJ_1=#~Dx7=;A~@1(^Eeb-Er`k}u261xS#0{d z+r)a$S|z;=KKBihi9$YjbpK%Q-_|i=;Ktm2WI7a9#S(<~?< zc0Wx}QK?N#dXS{)T0{*OTOFg`C|i$JTt~S^sJT%UaJ`iDm$-cz^1i@1H$KZ4%S-V? zaH<6|D0$;9?|AJW`RJ?z;DDc+>ZmzRymcF%zQF@*nh&JUbO|y8PNA^H)oxGyYo-ccD-PEretxZ=EEq;lqpOVyHoUmj#9^ZW7RjgBq$S@5!f^jQb{Vw$s`6! zG|yRym|E}qPk%fxTfB8?gG+8Guu|q@j$FQ$c<))>zfK-XXW%$pp;T8`>^fjMOn3Oq zcbLp~7pV>IgG2y^G=q~5+t!uR!BB(;07m+?cRVMFxQ<|c{hc-`^Tx>K!z;yyUk_9b z1FTol4uvK?kI@Nt;jYvf_ZAh`4LUg59^&jRsl()|SMx|vA%?Gj+uN{Lvred>A(@e) z9^U*1u>mW7`b2cNPTZ6=f}&5kKE%RgftNAtOMtH;M433%{yIDyMfWeIPdt>MyXttT zFvcsXU${L!0d{_1xy$h3JAEpt@GoZjawl=9PNAI?X7`KC&@O>@M4n23J2y+W{mpoo ze-S#V?lG6i+?iyO$M?HH`tBw7%8YJcfUnVkJW-WD)I=&Yl!5>xNEzFulBn85N)%M( zD{(qrL|@U0q!cf?)+0q{6+1D2pTN^gda9JX?LNtM_vEpfsb%H-bmn5|OzyfXKym=? z>pQgAOXfN0sp_EQvdYFhaw(|D+%lPmVMSRx_=jA*YxEOVUIe{1bzdK39w6_iL&>Pxo^0GB3||nvW?f5v7d4tGr+qeN*j8 zXkxT9G~r)xgYt{}Anh_m(JFP-mqG4Ec*3fGf>&7Lu#&C=*jiqnlkq-q;sX<}27P8U zCur|(;lpwKd|viXnGk)+LQty??CPZP{+=4l zN7ZXQ2~N-*MXwMwDCpn2d=m-fBupxZDGWu7f~y$ROn94;o+>R$XvDoxJfCvT6q!mB zm#*4JR=t_hl;&!Sk9Rj}SMVejcvc;Pf zHOsC!D!g84IH(*-=_|Yht9<=a9s3W1(_v%Zw(`h8)O{lj=tHToAn!ks=;^G{02JG! z%cN>!fT-3@a_`Jp@2~+o-}(z5g48P0rMh#3o}>I2#jOCURrEawdSj?n>=ew67O(c^ ztPED)XKLn$%AbN{fS>KOIZd{p%u$Xofavoq8PM^#Kzk79O~SRBpe=p&lyOvFJo`u< zj`QF|Moi_mzL#qgza(3BhhX_JN+>uPk}ml!<$=Oj28T+w`_c{fWm1~GCMaasp0FAr z-QlPm zcCrf%8_iI8jImS&9s=CUT`AXjkdyP>^4s3~qm%J9S7w8mF_*Uhw)Gw zZ1`)<$k)lDG2?GFM((rQAlp(xKMPMyzvVzsuv#T}*Gb>5!}puaCiwZOX^34p8FACj zpj95$%Pz;ql31l)$iS6v?!D$zh^GIb@Qzf zS3+kmFP=Cz7N2>0zjD2x!o6*>4PsgoX~#!SooAdqyH-;E-PE%|$!N8v5-c+#5jl5- zw6E@yhP_eR80B0BQMpmuv}(6hwSZ*(0d=}x0??VE(!%+w@`>~3P9G3LrPWIn*FdDH zlQuddAhT5W6i+UL;9~4o0+@hU0w!E6%>o0#pdeHwjFz96A$#4zowk1I%FwHxdP70&B1v9;(K!$-! zvUd=e@~GayBi@lPziA*atS>OIKQL-AJYhHxJG;k2lZQg%`vbyYiX1IG7WR>-1bRr+ zNLaF~`eWl@Q3yst#zf|E2DlQ^Q|Sq@Q^^_g>3QRsxf9uW zE4gQw3F(s=*;6^W3t1>bf#eL?8Q;IRa`g>w%>DS=JE>{^Dm8_J2hEUFn8hdYEk7vQSp4yrPY!vOU2cb zg{4bZs#hwimoJy2>Kb&Vl39Yyddw?e{=GbNt#YEOV!iHOOWye(`Qw)z z1BrHns%)4T;TqyS|1)49BjG=q#RmVj*wY2vat-WiO&q!{?7B_AXtc6vwsUBAa_9lm z>EPCD6)BLta|M3p>W|ufL3L*`bZ1Lnyu=S0vOy*SG7q+ZqQ>^7yyDMTjomY+h z2%tp*1p~kUGN%?=1Jd3oSizj89~w4IYL?(Q0DlwsE+L*ACZ}|0Ie@pQ!^pl_+mfv7 z1mRe{22S8Fz<@D#?lO1mGj{-MFxlJ{Y%E>2uAO$y5INIj=h0~mIPvUvaPPHpq&m7& zUA=l7JRqdA*TtvT!>h~FtJmAVmlV+N5!CM)(C-u2=j}`O@q-yFqdwsbQXs`Ipf@P6 zD>S?(B%Bf$4x!_;&=^W+vU_7>ZCQ4hJG4ODRl5pTf&@fJYn32P8u#u=79|$(!%@C5^ivibl}} zpn}c6YPMZU))aMny0+thjuQyFR2`Rg9b1^0GN9`+Y2-Dg=Qd>M0zRfLGuI9i$38Qc zG1~x$?CrL6?Y4JsvvcgUaU68?9dhucI(hXwgYUq-*VcvR>A3YKj*6)Yilrv!ov%zr-Ve!)u$%DaB^q`Qz zh)AF?pgWJm#)5;A5fuZo4@P6+ClZoDS7O8_z=B1?v56}QM^VaYlyq_}C2uM@jh+xg zO-q2O2lKfn*N>kcOTw6eFmj+ROF5??Wg_py=!raPZrbqiESSlH&R<$Te_$@ZT|r>!Ev{H8zQjC#ZZiK8s=S6Ot5I16s=hH- zTrqRGe6<>)9d4m3;C8&ZcBNvntZ<_8GPAOL?#}JU=^0H`SMetdS{twx7&4GvVC;yU zg&8TdEtLFEu znqN3HzVK>)=QsS!sq=$P>-(>2O`IA(xHWtBn7-O&aQUDf>YqcCgm8;3oM8SY%)+pM zGlX7XMGbbS6PiazN<%Ys8n$2Mtm%qQJ<^sh1R#b%lcHkJP43&d9;vt6WZvwQ11A(#n#@ULU6+@;RbK5=!>fx}yY<>Zw4V1D8U4n6 z3O}?hdTl*u&fX9wGhpKn;^+$zO<26B&)uiT)pOcA;x}3S`W@1J<|Oc0gJ1ijrU^`i zySq*3$w9fV2G+BoNuYl<9#+1yNAl)Qv3IhD(|&Oow$s|l9h14_OmHQ@ zWR}J7q{k8}_r#QkgJQ-LQ)iMh-zym2-7a-^kL&|c6^Ol=OV63ez}i#2nA&}5Etr)s znvpr0o(*Vew)D7qNTJm`WHcvt>{#whZr*Zo?rmYkIvG`zUo>$vZ!#)Jk41kVK873Oylpxw>-nYDH_o#cR>Ah(3&FAc~5Z>VhdhVg1;|1^|RbS2i$%|L_L% zi12r;V$w9Yyn5;uFp+z|D8A>>YZ5U2wp9zrOZ%_d?Z0Yuaq5Fz4y!+0+CO;ozp!Zm zw`%3k{m!HLfkUNrr(x4BQ{ZB^_86h=88i-T5eN#j2C5|-Z5TWdWJ9=gK@kHbi$2w$ z?(k8{9Ea*1HiR(X*8&P3_G!@7-55%4jqFk%cdL=*Y}!RFZvR6B^b4@3z2K6iO4;^G zS-#$>_;Ro6pn(@m<$lhi@R48hR#k@1j$dqbs;a5W1m3%_zLKVup_(;qAGQ_m|r;T_gmG6{#t#5~p6;-hd z^;`JULsH(@xEE|YgwEBx5;c4vq%$6$O9@LU$ z<^818-X~8nZGosQJVaQuB|;70WP_Lx#04K%upy`o&IUUSD=cAwsZ+3xTY6YRUh1U?on2s&lKxbOmby_*JvFOXG3)bBZZo}?vCav2H-m@$J5YTPn z)otT3{3vKz%&Uy9y+Bj*I1C!ob;7zgMnZ-l0dq^~FvN zrdVBJBV$CCM$~SS?Jqm(0*X$EPZKr9FX8aRj zosi%58g+`|#2)>qYx(q$ z5=uD>Gjm}r^ecQ~DDmub3C(s5JLHyrjZGLP;g05H4Ti*4@Cl>n{QB*R9gacs*=Of- zPFD-b_ZoXcJ8x~5hDbk{t#C(H=d-ytI$ed%UHxR>QZE7%eot5bas-{fg)UaCT)14! zcLXKoH}J~Oc_c&J3o5($Ue1cDK|&rG6+9y7e&aeYth|DpZAaS96(c4rtPQ+?Ue^-8y4|E@r`d~NRqk-B zJWzK;S0AIM0W?H_1PIH>G-{)v>Zfl_{GT2+xx*pVrD)$OYu2S;(W_vM7na$hg)P16 zPBaDkMo!5t1*<+ad!QsQc;&lAj9_h|Pdhb6w7qDC9&IWxk6U@D!eCC^buN)5tLSH(@}ow9uzuQHSjy*vhQA#$T!_mW42?$7 zIba5SqiDJqn**2Q@hKqj()^;Uc!ZY&Qr6;f-l!QqI--aY^A;1c!9)x(dno$YTy)BM ze9nx06nHa%PYvXxjAds|#HXXwbGLWOb~y*k=bjqP%$bBW_l_07iWUG)lwXOm&s{$v z_to4TohU)4F26Bxx-YJZVvkm^A42DA#?N0^xl&QUyAP!oJm8a=@k&}REJr0*KB?Ju zD><#%#a`o=MmHWaiYi{jrLDjJf@4=O8zO?bK&}MB4@c}4f>gY|80?_+V&ni^h#d|r z`4?jeE`Ss?eyHS7!14*Z&evbn!HNP$(59RIU)3M%+Rc0hpSNm!`BlA*;7!eh-qg*m z*Ybma5@2rt9;H zPoe#=UZ;@3Z#&e-^?Vsdq*f*Kr+iX$9cP#XH)!M2D`E4DLzZUd2{Zc1w(hVr#JIWN zJuY#GHy&~f=&^SpyLiyufkA6$aq+L?5+5@31^xQFi32#t zS6$^k3afO!}Q@n1(bYxF)D-Z9tI0RpxC_0#1wEmjoF0*ZyHa{ zpyj6ZXC%(#<^r_9%h~H5IFp?>ns?CyCO=h;GD`UMR_G3 zORyk25$_N+11ADg!?%%5wnx&cUBvV)m*Sjuz=V#^ z*F(B5w<|*^CdCw@u$(}Ie!?yZcAHL9r!F&RFw2Zv27%eXMZ=!q6hN_eraHLLoqRv5 znmygC$aD;*d3g7FdUUyxVDX}RTO}rqf&mph)}#l&h#=DlCxZh5 z1?Qlktk>IAI^=DqV$%Bp!eI@)CnD;NGFpoX8ACBi{SmRliD@uh_d1^lES|QUaQv&W z>s>CGYmkp3&ccGUSNWw-%1M~=4~o@H*|6jtmp zpagbEW1V2o{9*f<2q#J9x7lPracY5Y2-6k-38&UK4oz?jwQa?5FJQz2i(E6O-j6L> zfS)g%Y9REs@fd*8^kb_wu&u8gYAnoj?K1eWORr_0(R+5qw%z(2`whAe8Gq(befz&< zzwoHN-XimvSCuAi-FL)-ENTgHC>p~;h|LP73>DY6{3>9%1%flGN&37; z3k1|>+_I0iN<%CJtawINvVX;+`1DutSA230IYnWDB&;CaZ)7)Y>DnP<0<%%*=AN*^ z9^J;9W=gP+9_{+mtE+#px9OJL$^7FCLBTs1Hj4`yAYXv_lSIh ztolrB(m;63KukPn+^{S_Ip^N_z{JVeOh#bBbuO`bcFEh^Vjxa`(6m`hJvN+{I+>nD zu?eW)6`f4aqi1FTY{s*5U`k7|z@cUrpQ)qA2ao3sUWuZeQU%*3OL!%} zSck4%dyEaU3v)1!8}lF7HcuDMw%?%bpkcd+ahIfdyO>F*hzU$$>Jm5U zls0LXHSJI`Z&3mcg+&^eRtfr1pQ0PrEA}(Yd4_n40fAN z4NF*Fk7niptA$WZ>?kHSfE=>1UB4L^_gn!va0^U)WJ@QCl>^nro@(ntvG?qA@al8I zaeDpsZd7MCsw;`=5&(W5z!=Q^XL$MzlKjWq@Dgg^93OzVJ`#vAVblJR!|nlnZk`k` zpE19X@xZX*;4nsTDD3pWV6fE;g+;)8ZAN4SJtlG}HX81ZhDHp=#SbSWPlP2+1jJ4R zMNNc9PbH;}CM5%%fg>|6Wh^dvFeR1of7ts9u&CB{?Xkr`>0ua#E-|oZriV@eMZoS3 zQY^3q3F%I|b?eq`cQ*opA|Xgi*t!1uT?1_QKHoX#JJ)s2_y5;_opHHX>s{}PS?@j1 z`}DJEW9{ZG^_#YIY}#56`_!flHJc+Eqqf#>+1$J}x@lu1`m{$zwMWK$ib-mXh=h-5 z!|F{Pkvm%w5?T`yp}>K^apT6Vn9Dw9CcaBe_@0vSE+)ApI`w{F_~T76R5M&jKhd#l zG#W7fU@n3@A|)DKG7$k1T7a1@ICXa*hoqmbQ?Pe#r2B3Kvm^2r7nB9Jl*Nyg?H&yk z5!VGd3B060XMmX}1NqnmNbU~h!N>@?sZ+D3=1|0Oex~kFtnPrhi7Z-qiqA;oh8i{}Rv zE((0SDB#(`;L?R*uNJN?UmRY#bY1cC)uk(g%T@%Jtz26g5K$Z$Q5?MCc?g#9^04*g zt0KxnBg;c}RIiOLTeay$*v9g8TPni0A!?&~LtNFyofVs+$~SDS*bw<@|65qrnyxE!fIwcM9^^J*H zjd5uW3CT?qlRu;gVZ!-*#?8u4FJ=7Tt&3?T&J+aY4htXqn&;G~OgdYwK+#nI3n7;J> z>K(*_(~cA%G*zJ|94QJq=O9oM$jwmS5dhJ40s1hGc6IpAKm(N?*db(WX!uIqs(LYJ z>ycq@dzEdD%G+E}7T#18L)Hezi|Gk-7ACCcingUnc5tAAdqa_mT_N0kmBmGD`$CSx zGcBiQx=xQYY%x8RK$T(Sj@=Ri*N2)CEQoCcatL6CPbk#0zpE#CFwE}RaFAIx1+{D{I&*tJ^7aBv_OT~qtm+`A?J`(XAg3i%(Xd5_Aso9w9I-5ik8biDdwF%oAsmUUx>$~5 zj|(bmI4WqMk7S6Jot&lvIw-LnmDQb;I1UOL4)jq6Sxx&PTG*8+;w*K^Pz_sIZM(r* zVmS>V?kmqhqlhdTVjNQ7STY#>RtE=cj##&Tb=bDGn>Vl8xFKxohP9g_!q=@|w`zTO zSVZ{h&Fj~1S+{26n&3@qLpH4m+q8P!=JgTDo1*}yweH^gSA~R{S!GzbzYI;xpS+N& zZKvLmxM%mm@L?$55J-a3jZa?QTe;Ti)^xM|g|Fy8?k|m}{kp*Jb&!h?%{k zCA_R+ev4y+p#B>i%PVZl^TzghW-j`Sema_N!yPso*~RLJVhlt(u%T-kqa%sc6DR6R zQnc+-v}}`ggz>t9SS{N`9mgas+h`rh4t;T?zIca$aHqa#r3(8VlpFHW0+%Ub>^14~3rM=*m%sdbXv z^q=@ZLWk6aurHg5&f{unYG7N`=tnb)T* zH)IS^VtHtaV_2dL6=61$pUM=ZDTq=PvCGR==4LDM^OOYns)Ae2*}M!kH%FD1t0>Ase>HKooOuFEl!XP?QNg8bvq@*$BqedOGB1P4%TyAiDhX3m z1Su-~bX-$ekgLegQQ~K-^0U-N z;7Qc^nd;mOHb0j|KbW!r=jN#K$U;sLq+?<7(se~!7=4uAG*o~6_VJH1zo#arrQ(y7 zmXev8mX?u`o|~4kJ3VzzN_s(ZRzX7cuH>9u8JT%0N$G?E`9_TzAU}Vc`TIXkwWnsD z&=!644=1vA?(tp2CC8j+Q%@_1Djrh_P(ea7fw}L9x0fQL^G_#cq*BvAftmN;QfDr2 zjXgl6pQC<%LOpsz)qbSvuza8zpt=1_HsJ13SX;U}`M|h|`Ao~BL(Ok1iohzDC^-}< zI}~!9ZYl{Lv29^K0BnE|n4gMuT%PN>JkxTxrz|Kp^ei*-d^LhNhrb!^dvmZ^slIFJ zxQSIZ({3a02U}FC?}Gd@Ff&zJPpvSSjF9bmOTY69CWPB@nSFWMLQO_b6?GT<{Mo`3 zHDMOsvnntnNWtK;cquF!ENN^(CV_!Ciz&)c73V4o(|{{BFN?#=#)2_b1=s``98snk zKMf*9(Ih3w0%;E@g z)CGC!;sV?Vw;*>BXQ_yRSU@Wacm`BxIHf9!lGS)AYBtHL++<~bvZ5$K5jf-#^x`hK z8cRsN1)fJ&xPj4YXyxmd7%f||Lmx)po{V0Mo;?^ndovjF3^zh49mfxT&CJ@z9Q%1z1eIFwBXjq4vEMn~ zA*O2}gFpu-6OM*n$c5013GAPP&HFE(FW%k49G|ajwNKfmK*f5GzTJK^k2CHIZq8d< zpRni4(aY40BI-p8RsNYO1qk}Ffdb=XuAL{SLLh< zwVj_Ex(En6nUYU1s46%oJ+cl^eO=P_ZnxoD9rV zkDhjUkVT{QG=wshSx$WBIODwETwO+QrkbmsZM3=|NsXVXZWE^?-l;9wt|{E0D-1Uj zL>Sp@&@f#yc+|4~BbOe%+f;1J=?ZTO-~y&E&>1g~=>&DvO_>FmB^O!$2ARl>?0f z2M!OA8MbVY@zOyfR`wqe(8qXXzu_xoMumYA;yO%0oGNz{$6}3!d8nGjDiw=RWy?Sn zt5qz^&1~yfTuS)#e<8Iffr|c(+OYrUqz#WXT)+uG9x5nS zvj;!(6l}1b>y@FF*Z}tnIs@m=%3+=r!#pdEy{-%#*D!MO{UH{mI!+a4zLi!}?y|Tg zT6Pr%E@W=9@~`L4sxtDsHJI08GwZbM2t=B^aGrn7e}z6{uo`Qkp(H_#8?PfylF^=1 z)IhyOT-0~6ev4SE4^(R#Rr2P?o^!<$7bPp3ERr|f1X=-#q0CLz5@mAuX>5L~CO=`Q z{xTFXP_>RD;|2H$($t0NYN8CbD4S`Msv*eG5@lf=hm6_~yQgsi4BeJ7n61^r>rU zIez}+#F;*dYKn{=z>kv7n8_yg+q7+V=!+fE}4^&w=()8W2ecv)u z;d=3Laxj&1oZ5Bz@(9Pr_EUfC+S8Pk2IrYQHcl7j1W_;QNh}_qf`w*iuqHlur` z(k+r@h;HrPkhV+L#I6lS3l&-`JFfC(92hw60#kHLg(!HTpMi21E_sCm1cie{_XqOt z$%(Ej2+qn`V|qF!XK{%sx~nXK4E1QB%?ov!2iA0aqUUm5i3`jis|;8gUH6lM$k*~v*=(D#O{SVKM}F+4^xv8q;P8%o#z66Pi*KSx!Nr_JBa=*_CBevJ|H z^qAPQSHG`>#{?Dm`sHiK@#9DP4wPf`Q0t-WWNa6w!Amr@Ph<}BVf17Z%zXMetoM*b z<1AYa7ktS{xx#ZopygG`q|?^!`K&QD3s=E6uYFf0oU)Et+8>j6S45?kA38y5XyUPG zfMA8o03cuBxjQOhk+$PY z9T)Jr;8pH(M3{pfXxo+z_oyD@^TN;#vi40K;T=P}l2Pu}W|QCrQ98!`j*;Y+fv9kp zLxs6lm8}nQO5ZiHKR?FlpkR^#W011i1TDK5Wqv$Im^^?pud==F_ZB8lXi84nI-FV&l}%c?BMwyn7!uu)Sxpn0*}lK z&U@WLM2E0#M<*@c=No!vYS=lim1pFEG0Sag=7I271d#j}#*P+k9%G+4(l%zCTl^@e z9V47$nfz@k;v^MOCR3EJCfcoT10IeWyfr6Bs>I z7z$h?hj?|~cIMdWjGn3xr{L0{Df9f{hFKmG$7>Bsx_bYA1O;pKf8V-_4pap{vNK90Ltg@xPufrzaoX;N4np=A>GA8 zNwa^D-_7R_#JT0o=f_jR_Q;vtVA(?PTPQCm9x5nR6c!G#c`Ro`9Ilk?ij^G*1FU5G zoaG4E6tkU5IF2Qn&d751Ovj~A#}N#0xq1^|pbAi}lTe51x91Xa)?KXVA$3X4@3`X+)5b zWGPyN&kNgy_6CX)&DySPy_GF4khcUULzq$sO8D)o@#BUXEqGK-PJdkUeXz-LusTe; zG&M<@ibcHQm>sO~F>0Vuqh`PEAbrNzu96$QPSIkg-1sOtvmM}RwZuuPrYrANQ4QZI z`>Ank(O)x;%MVdP|R!h{F;@L5AU{KKw-_B{o}rE~xOj=cx(NA7r-nMDFppt~XIVF+d*c;nNJ z5RjL@Q5Y#^=r|`@tBn4H4?_N4B$!18$Om~Q&PU`eAHcdKFDM$ymBI$T5P(Vv?F`mZdpbdtl5+*0CVZtslb}t$M4X|7B7_TCe2~rES6f@7w zy+{%vuJ5BUE@d`IDD8{nAuo`52AS%`-X%isXHHXYPg|l79+>T@2ft& z{4Le=jdGe1r)nJyaT^m5%RX6Nu$?K~!REyQIhn_bnknklS4zozB}b5;F3wZ7Ngp&k z=-{~uD7rAIU3}WoM}GmtZB4sfU}nHwU{U3!u`IWGPEREHP7pcqgVK|1P_&69QjY+$ zTb7DtvX(ek-Fk80OInM}S>>M{dk=P#%!$f?grKt_?ew3MdIy!M>k z?a3J*vvOdSXvxb%;B9+BUem7Jy8Mjh-8pY^GLT`WIydjyhHdRxE4aw2n66e z{%1L-&WWmv;7Bn;CNmmiM0O|Jq!*c|p{r^9TpOB{r)YLYnRi=J@OTLKxx5H^;9^Bv zAP45}LRI^Rs77^vcSoXuL-S-~XkxPl=fa9AjSD`W4#vRM^ghLE(YW`|_l@`i#D6>Mr_r zk*YR3b;T(IbY~Pd5x&BC=1w*1C?#$>MnPGU#6t1_yChH*7B6n7@${D+WYm^#{Y`Q7 zdI;T`;(Qr{WzVX}Zx>7mqIbqPZ)FR1g4KcWj#-H#$^c6&XB2Sb{zq^}h}8q5V&)!) ztFgq%sKbwLVSk|l4GrbYy}T&%SPn;1P5>g!%(Alw~Y`!IU-U@#c?50Sek z`D<=!hJisAiMx-UG8igK>H^(yK8#-Kg#Y;VQ)j@?oipcuIdHToHvU~&+WWNZPsw@B zQOWNT)8D6Nd(b2L?5M_fG- zXGHYFom`C+As{u~lt-WoX-?`ug)j9l+2aS=3kN5T4v_OO?wGn|+9-(* zLx!d9u5TBE7Y?G)M|)~XGu8f+a+w;hG(KG0F%P4lWRrwJ2dz-%5lLBoWN2vgb#TSE ziayI41p_nc!VFED^-bXZ=${jKz?@TcGQ*azB}pJtN>H!yQ`D?ttlf4Z!XCqiUI?L> z7j|B8%r?kY(6KPV5s9HlOi~p^Yx06iTZyy0wfkl@UX-eB1~fTDDi@|`isONq+b;=X zg+37jjg}1^zeQ&Bs-dQ9hnTEoSw=&Z2bNn)47FYwl!`jGTNu5Rt81!oSDMcB?$x6& z1B9j*Xbn^}kh*)y%F0TA&tpt2u%~b7$>_@=nECW=#2^J9Zb+IP}%jW*wUp7T&C>x}!k05y=_MSMqEVw#z z4{_3lJWhW=ZKNCjc6y@4D_UTup$y0n*mN&I_lGZ3!{=`qzwc#>j>}rzfrpj6KqwerfReYZx!49JM6{KV0lhI#%=)yb5MAvUUzjm_- zvsljY)}h1Jsc}=)ZF2!gph8KU$P`9u@Po_R2xbHmwy~_YDDx9lMJcM7q=bnaVGL_* z&^<)$P}Gi$vn#fpT@rbHS@g9fkynG`pIG}AsM(}IcxT!qv7rkCT8_6=xDQxjX!gqVCOly~K(K=e@l~lTg#@7JEh5d+GTk&6wWAgo^o-@ zd_6{grrHF^+EC$Y3sVMZ%qXWZ<2)@z)jSfyGDcGc>OKkCU~^NTjRBB!Z8wA8z`*GX zBcMrBH;bAbdKy#G)6!<$5fdR^L1f;XadpthU}%i7s0*Tv_<=a3m7=_6uiKgNJCb}{ zE1?D(E&=42+#Cqw&?u@3l3}0H;0BcuFC^$`U=VzUlbHHc)*;XtDBDR+>62H>A`=RevuJ_? zT?Rr$NJboh6B|U7`x{B=qAuuw1y%_{l+YEt4LXyUDd-@+Q@`Ci1VynNEQtpp_-&j&%Id76^?&TFn?*dKrI6`?<+%B7?lWSM*ChLVvc0>C|6N! zHTj{M=)Ni+>CT>8xS=)g!3O z_Zs@EdSo7cjqU1pl&bk^AOU0ws@c;6Ys#W{Y(wRuZ5=|a0D@gG9Dv|J z&%@$IYH$MyW~g5=lSyo00*FZQkhO1>5gpFCD<#J+mL5J|e&~;vN6yury7kF(@gWt{ zIIzA-+*GDG1NYV8gP&o)scpoFxVr;01Ryj`EBC37qfVUuw0ke&7c!Lql3dJ9 z$adATGd@Axh{``g?K*_~Gl$I`se>1&UB?U8Y~E}xq^>_8q7XD1v>{VUKWNZ&0R>IJ zY|?wArE`)3W&k6=1_2J3>`|g?O?;ZFGcy)d5)} z$~4{X$a9gJzRbiM1rDwbv8XliyFSDcb5_~t300;(@bP=1CWbr23oB3Pfp2T@5z|!1 zo8H8qjU;K+HhwQ$W?h{;ADB^A^VYFT0`-8#Y>?)(myP5%>o_xB$ufc^PFJ-7`Y21KLv~pU^CKgD`p}9LyNzW#f_ISTyU#`di$MSbPZI3pawJ6qc+_N8`lkQe^AiujdP7)TE{`mA%;j`#x9%1kK*tGOWu)Zu<_W$ z=5E0h1APlbeoaZXs^xZ-am(+$Cj5+rTj+pc^ZFPC3?8|cj>&=^b2)pj?t~6!<5PU#ddi8|WNeZK$1WDjgRa8_6pVOlc{fnm5`t{G5 zzcfw90?{j96H-1Q*K2%ooSIf+R4kRfx79BQVNleG^N8g~!G$bk18U#?ru@v0`*y+E zFIq*1$~j2wJ9=sAoWtWJ)Zr`C-qQ`6;y1vjbnmI_ev66n8d4Q3?x@}lJOBwG9e)C- zbF;evT+lbTse@~l%J1lppnRNz;7GWb-mkbOm~~``IZ}%})^vTL<&J>LyF;vt)ofpC zIo}&<1s~ut9k&}pt)LTrr0;T9+xEJGP0c9Z`zpdmZ1KyH9?uQoIcx(H!wYlI5({@E zM!U|oxv9f{&7V?jGwm|d3Yy_ZR^F!_rx-8>D6u`Y9Cm_R&=AMVXiX`jO`V2yU?sE&_$|*!Q8nE%K!4et z;?F?T-AYP+GG-r-xk)OPQLvta&aioDpbTtb zv~+HwF|&om-G(U!fPuLRQkb?Vo@EvQd_ry#O@Yu9uMB&rFb}#Qz*~`<2tf~uW$ZAw3!sUi47T~esw3P}nA)LlgzILtg`35v8G%7(c= z;7IPVMOPHeZz@|u2CpCMPaGtat?nqB-c&KY&gMNgoA^>RsmR*3Lg0fe(051LB8g&^ z-HfMW-L9}qf7i6wHD032=p)Z@VhI!1ZyGC&bm6Z=G|T1K&i`B-3DB1SH8CR>sNO%9Ca95J+rDSyWdK@6cX zy?fI@!4{dRNK>C)yuTY@T6k zw#!nC1US@hf0PET&$hH(uQ&2S;A*P0f)E@iAPBkn4?i$Nz?LIL4lvUNA-W<4ZEk_` ztNPRJ2`k~+cSFbdv5qU$HN?`S?^0^){zTut(8#51lxNv+H^|gjN{!(_?uC*TRpZ<% z%sk3%CKs90p$Aru@Bv0<&QiWt3C|0`hR7!UM(khdJoDP5c?Jv_d5$|U!xZg==h8r} zDV>;^4q1DHwp}jfEC|9(+e~0a-9A~Jw?%d2lIAZY1;w0IhhUFZwb(RmWftI3+(^OP ztY(u4yApF$Kye+Jyv|%M^qn3K`~XyJixt3twr!^Du)xEYKZB3GaHmzqU^&tI@lrH^ z3OF$E{(>1*ZVVE}GpGM>jv5zzo+c_o}w;xO&1 z-(qcII{-hE02`t{KV=AK7HpLGjXO+FR<(|S%L;^L6-oLaz`!;`(Q1pV;jGga>k*6G z@{Up;6@n>1)+8+N$aBa_ryl%}HCc|yONEy#H$Gx+#P48W+CF@4|L_wV>oOn9j1E!Z z$HJKbhK8lv&S7?|XrhLUUO{v(`~;k+A;Fx|DK}wmvYLR&F%oWvfDB<-xuUJ=4LgcK*p{-c%CD(bo0U8ZHM-^@7?o0XBSe|f7^e!efQq? z2M&Hbas!;}2B~7!{-{OoW>RxFZ#dV9Zt@k!qBdurve_O2Q;n+Y}XH9Fx19J2?)gfLQ6< zZ-$ASOeOpzD1SQTCR)#I;k8kjzfDQfi5W1%m>E^ZgxsU)jH7=Hd}h=onGoo32oy$Y z+k%G%ED<10wA=*DuxsByT|~KfxOZa)umPO`A511DK&V%rw8Yfj3`kJKCkqRB1-MZ$ zd-q9SzM^&SzLu2arqsliqy#FvfXd$eHa)#1E3-W>zd0rId%<36*Zyz$yFTURw`OO3 z*}a=2l-{+M+IQf`p@RU-JGAUQLhU_D9r*3%p%c;ohqglpKOZ|zNX@A;9mkJ0A3a1} zx>yt)BL#zWO(25LziH}jz?YIPXzA=p^U?T$5d6SK3hC@_=~1q4fwK8+eK$x}hw)2Z^+qP|NjE!w< zl8tTKwr%_7|JHl);a1(xw`yv7x@W32J>6$cKj%CYq$%BFLy+@JvL*0;*ByxbC+~ms z>^|C)duZ!U%NiWMLki%3A|2kyWnekn;*XNg#0sW#JB&(aoU;w?+;a4bmiHFmd8YNf z1Ms#*M!*Y7s(4u~T%a_FM2R1W4GqG810rdjn5sxMg?|}DX5wjNr)9NU3@18wnB3g3 z4frFj#FO<589EuTDiShhdj0dBm`Ybd;^@DFV0C6e%IwYYVPiCBv0!>c_6huSLIJ8ih{- z-j?Rn-wAPGnkzO(1O+YhbUu1MTSde#atZ5rve%D>fX^-w_&5qeSCLxcK--g?Xk*y| zR|Vl|8V>xIcLw~&KhJbG19YwAnR1#O&weSVEj~tE{0`9~ny1LrOLb57lK%#t%L*Zv zUMTuspzCX5$9V(HdILd98SHYoY|OgIjoQOv|f&a_m5Cl zF<27@t&aj4q8{gXjUj=qxYc^?>8GreOlxh|lJB?t#C(F4QD6`ApR~O!*rl zk52~Usa^#C@QK2}^?aVwKD4<}R$4Mc=jjo!HEj&u7mVgKkGaI)z%hp9*ZG0n$nl38 zzA}`@&mxDS(?a}E6rn2Mp{RgpXFy{5viBI&s@D(2LMwQR$0XgTp^S#ShXZp0acvw2w?1kN{|7^qz@r1KX?uw`bEkUV(H$kMFzTI(?_)f37NKdgsB*y0G z56~cFgAju}6-)`sjKlGS?_(Y~&dT3noF0ECM4ZWLeEjAfEKwT&RR#L664y!4&x{ zx$pNgYybNE!xm5rkDZg9ShY8am01%%6mJN#|Bg@pBZ8gioEYrM8xC3SeG zvwwRfCZ(q97|$}#&212jViMF_6dh(#gTAs28u;>py;2EyEHT)uwjd@)mDVmZhhJDN zU06$QS3{kLzy>eZx&X>o*b_=ejN8z77NyKPuCXfR+_=0sCiCLTL_^?^*H50;x1SBv zUa*g&(%d)A=x~wUrC)PqK>w(SHauBv7XWICW>I12cd&p(pETaVt|pdPL>Aeq&adcJ zD#@XuW_Qff;%1~5e54!&+DfKvGRrNcM^|3jDj!o*1S9Sv>m!!N4;vIjxFrR*>6x?8 ztTBI>t*8k3E8E)YEo3aNjKWMPc`752-i09dlvWRfnE~{8A)3il?2KyO)6*#pNMuud zXRexYpWUq$roI#j3ldsyT9IFEm6&S*m}8-5dk)&|QRU+T0noD|jBy*qhLl?&%QjHM zWnZ2#ss-~8pcY=&+&@ABT^}3J7iPB;!o1=N*GbWA*5XsDjYRn9{FD?NNT?xtsWv@& zhPt0muK-Z+M?|z_)LEP$Ane)B*fCfpc11Ki0sTVJj6Q2!O5Rfh_~&=)jO*{l9o6MG zdWg@hl+$!e?o{meB7<|`XKswr`7mOQ9%D37qa3R~Cdf6lX?JTI$BAPW3kqULhsBoC z4cMRPt8#4!vmu26;=l}Qo6I_kv=W)kQp2OEo-9Gub3y2R?2Xxla_yQFtgfob_dVF38$=Iw4Wf&FtL|}G%f7Tz^;1> z&%WZW zEJ}GUU*u`0+`?GQ+;|`{2b2LTjx%^^%j;VLFq>+5<2+Q>YZlCxC0UQgy5a^U0~4rE z6toOgodlU&i!h~v(9u@ljXK{r`PWp%$i)~0@;0BPia zK?SzpG+GSil#a=*ZxYkhB#{b`Ye8zE*u{0=o8(OGP?Ej9_H6JY79)6ii1l#x)D}Ei z9qN=Y4v0p;(I9fz8H3Jmg|Xp6IoKMB7V$3$1^iyxyq~vjB4QGF3J@-~*H<*Yo2rV- zi)#xD3p*PNTU%SJsxE!c+f%%Pm^@@g;S)!<|GhS+15c;ey=8S>D+?q1Y2nG?`)j8? z@xx}glyxDm$)y05i_wyW)DBFxv!1v*#I|1Gk8x4>l(WH;;ck8OLFoOQaBwgzhtIL6 zDx)Qg&ld=_9S4a(lzx*tGBN3|wUC?A})oUMlEt z1T|V-{>lf5Sq=+A$cYP>IGKIj`>utS0=rEvo2Gx#AVF6>r`Z}8t#7Tsq zW%P1Hj1f1o6ZDH#%k6e$aVPP3A(`wScx_uywimCHCU0097QaF5TAzllVR94am>|-~ zN%2inZS2R~N&5F@J0g-gPw6|oF7<8fxz}b{jTkp7>Rz1C=R2N^B)H@?r_=#O05M0bu*Yp`k9ah#xiZ-K_4D{JOF) z@9I4>HgFqsjE23Vu%{Tn{){}jpQ8{9oHu25Z*wiq_Dv}}@dbybrsL;#CCg~E`e`1W zjKO|pM#VGNbxn(|vNQ*+6>eFM{Te~EB&F#aI>w_=VuWny_sEIpZ)$<0VCP76`KF!1 zncYg#|CExth4t~Qdi0Bpk&Eo{Z6;t@>JY>@e1*!wCSgE#e;aNCM`T7Oq5DDsIl^NG6Ei)s93j(`%_MYTf<5vWK z^&xGj4^xXQQ($E`{>3=IOSN95?ai~+`YY&9S82dkN#v^sweFP;VNad|+&sSre(D$; zLkkkF33jGkwQxj#e3NQ*ld`Y9qmq?5KeM2rudF=(($rafYHO?vYZ1GluzHY&Uu1>IOv28#`TMtDr=R!V z62<$bmN-q%U(Pc*nZZUSke9j$JRUuGlBU<)9HxeKZzH^yKUDTk@G{*82aQ+jiyjV` zu6HIG3D|YN6vU_XSMfeCZkWzCA^WmX82EqOr}$WI1&0j?#9&hywCxIl1`o+#8q1iG z8$i^fa3fcj!a6a=B7yI4R203I9N#H>HHq$1rp7+gaoh*bzc?$W9`iDo@X|Ej(jUvx zBFp;GKUCJ{JoTBKfu^qdpzPAqj2lq>pzX1>?%=Y8;2Hzro`AyI-~fe$!F1y@BKrzq zOA2+p*ke0zW)|=U{|>SL3c-nz&*}RT1+#_ZN6yz8xHAHbkydB0dK7T`b_}q43`QAO ze6cGmL~?=QWOaOi0MP$q3Sj zYPp+j_#ey-A?>)1fOl^1}E{M>?&v#Rn$jhG23XIj?hzLiX$;*cM0>9 z?>QWemvM2JJORUpaUn}mI}+W0uwB?!n^oIgmpt9uMtzI7Tho)i`kFGrQk}!R?j|wx z=w76MTp|Zb6;7ae7GT>YL*(_E*FzdUQmk16T-t~+l&21JiPQ?j3Qo!rD` z(y7MjUl_Vi!XNAIl~eU|nm+oX5B(=J+zh9FTi2@vgm$s>JiK-Mt7lQy%OUjg?LDi! zSJTbL^z!t(ISdtAP66B2!*j9~>ZwAvrl-?%B{leL3}9OZ>8G!OYDGtLbUu8`q^XT< zsdw7%jHlxe=Frja+%+0m%e3a$)a$%eTY<3I&}cq&8(7lbU9S$aZEYt$I(n;ekN@oq zz)SH)W(*mN=2K9yb9&uy3UfG!vZGUKKcIhBw)PSuBa@wZ3{`{gTr>N{#1fCrYe;7_Yl zw;K`piBEHFz9A{sx1!L6Xn87}$zQy(_5yPY^m+Skn&$Nt3lf!>?-L%&hxY7!Pwn`swrGpX4 z)h5BK%=EM(?2!1EV5D#{JTWo8P~|pwjWwd~HWrE+GM)l9%1Vg77Crg3M`xPkmhZRb$5~&P>>yKZ z?i0aF?eWa?<`1hiMgv-pgM#2hY8ipY!%F)nq?X&Yr~ie8Vc!()Estam|I{G*zZrMR ze$fx?FZ##$_OEH5wk{1y_j^hk1r#U@NZ#Gh%whb`saR)E{;l)cu9H~{@3izWI*J7i zAr_g5y-5rt+bpD%SVVe(myYR*r>u>W*1$4a(_);9ZPQ{Yr%TY| zV-pno1iMh{7;-kZdT(Rydd1%zCD6`M6FRW3Ilts1nIT=3Q!%tWFk_x*@eUQ~Gs19^ zAM4dgqV`c)I4o+fv^|#Ope@qtVMcGIM8DjJTk{1qUPC;q?$sOVVXB|f?-w>cspi}q zeYKAvIBGO?8;!8h>slwa5KTF`Q>yKtb)PAS9_H6<>7$<<^0*^7MgPY~;rSz%26&E!RvG0|Se86r; zmptRwf@A+SMxcr9G$JZP$)8%DI3F`R4$t6cNplFdeO}+0Et}S}xpI_qdts5CHMZqZ zi3I@Z*1vCzFF^+4=0Ngs4~4a zIJiphoW(ZcTAR~Pt7H2KIxeti`xg<`Xm=m^z6{kHzmy)zDlFnd>n6B%3|K$;{YfZm z1WP9PF&ki6Lr2rlS|ey77UTQq9T(O@E?^ww|0Eu68$#Jq2x06+kT3ugA)Zn>9Ej0W zocC!~A8mHNTJLKbyIaMS$mIg4)-$h^=QT*(%Hqmau)ZP242!CRuD}TxHUZ@1%m>&f z^2?iTIXkILU)S4Y0!XL92C`QX-`UfEEpSPd04D)P)J_}jT_$tHVYFSj5hEA1!3G(| zsy;*d#E@Jic3sT~W*=_Kt7R0V7foW*&D*LCNvB&j}MgdH_ z7CR&VQHd3H$5%&9W2+w@I-chlCDki6oEPH_@vwN~%aIEjeH6?e-qVR8lV!K2b>~r9nwSjG>)zQt7(5O3lt^y< z32QHH2TBBJ$^B2X6}s|!CWfnKb4iTtGdMT!_eI7q$V}9ECZ-Lv3$h;c_0T>OZ`O*g z|2dD`9H)Y3g3&b;1Yd21{<^z51&x>$^X=gY#T|AMz`*NZ{4tkWS~X>?Nc2?(?e&D_3}pN##U?RT5JEx zQCIOj&sc6|($P&lI%Lu=%3mFO`wDY~(HZ=Vh)@ydY0;d^>bk2TSF6p!QTgOeTWqRE zEYEK9Bk8Z>FSZrDhPVCb_AW0tM`MOQC`Foks&3y=e{MP_bN9 z7H>n2V&l)0p&R(dsNi_=mniv>E8?(`_7^&4h*k02H19^+7*AaE=LuiG=n`-funFn| zz!pvwp#S_#Sd_Ay`1+ss8YRAvVo_d@Q*?(_!De7}c!!mfpchpd$U1+DDOx~!H!9NC z{!8eT3jm5g;jZoEsX26jJ^xhy{nRh4dkcdBR3B$s>8cx!baDE-_)t98Fe{zkSL6 zi(K~WQ*o-MbfWq$Q`6?iS8ub#?JUu$+w+m128Paes#4qM3HsxT@GU%S5MTQEX*KZr z7-AdG+FMUw;k@aEa~(tlp{Q6T767AJ17`Y^glyv*5x;4=Ma6EB-`vtZsxX+ zZ8uMg>)M~{#P|=TWo3xk%{us&?*m?U!?u#}j-!y9A2jvPLfCIV#*p)h&pbuq*VDww zP4oL3G3jw+YB3$ECn~o}qcA%l&OuWirxJQ09MM@S5h;TZcgpz*{4265K#BSQs_)nW z0sHS|G#)q++(^M*(cPee7AYjbW5lmHQt_RuuZeB>bUb3*K~K9CIj0dZ-N$ zN=l1CKql~B-9#Oht}EveGZn6t3c81gbob0W+e?+f8y(Q(TW6Hv7e=v`>vf05 zE(hq!sjz0KXU*i_UA)O{pApeV9E=#OT>0YRdY^aqr5rrN;%@}A!t)>wLUZa;^#E2H z5f%}BNe}}gk*gxCx%wV*U>(8n>0E;!vekh7!3c?aY3XoDDZ{q6Z|Iz<^>6(bKu)~g zKcSp(ilS`XG`-08?dG#fE^o~x3G~?Ca*WcS#5^eEh*#%pxoTMc%JMqb+|R{7{+*vS zBYaxRn7?9%FRYreO)>bPa9eB)Vh$G+lEf*d*yb@iv)D`R#`eNfuDWYw)_njtzM%1I z_@Sis7O)B?z-o`BD7iw$@;PRbaG^yAkTYzy}(#A#w~a(7MK^)3O<$OGQ$Ut*FkdU z$Gwe^UVNfEC(=|juK(P&eiAdq6@4|gh=}=znel;6@VA420_j`0G(_<`%mLWxRL!|S z%_GC+SxPDQHZ%dWwuXh)8#*tR)=lTm!h6eW$^OPU%C=GIsi|7h4y~5O#napdX0&YR zz6x2TxN9&D&o`y<1x@y6rVj>)gn?7M!%Ji8A}NhZ|NWN!z|eL5PE(YcKDi}Y8fR~ z)79Vs*Dr*{4yF!fBeuKv=9={lUWUH|=8BI)m-0&@ywGcc=!=OaVM2LwW2iYB7F7N(8EFMs& zLE&dx6o?RVh<)suCy*sE&OLCBJqaK=ShyoLumY`Z(=n~X&ygL3tFq;eIibZrZh9JF zDN0U@?UWVu{*Cot$1FEU)mSp{mUP{u>9JYbg+5O#chy%?PI+90CkE9^`;@B7=EiL7 z|4}|xlhMC%8rrC6jjA}NEzfCeuzVUj(gb#$PgR}NaUQvBfnU3B-sd%?UMO z{RGCG{$1o_@u%{*>Qn<`7Nwz!$^+i2zf%(%tieF&%B$=>V>x6oG_*snvCYg@*a-zn&96he!3pRL->!GMsl#2E#exI^kN#|ti zorDiLgKYgU#Hr>XBKiGLgxMIYk!OIMU?L^R6TsJ?6+Rtp?wjtGf)hOJd`MAFc*NcX zrA20ysK}*ho^y4M`AQWpM>}0>{(@6KVgu*iEwO~9@hR!d;w^MK>y!Eh2a=E3{>w3s znfJ9*sd=wIk)_UMPRy@3~59+0@}kZmJ=Gr&A!w68%>m) zjU%+myy1P3Cog4XTw_1<@*(Bf#MM6@Eu(C^7_7dKFnMCMVzj%$5puDDOLaep*0#U z)#YDxDT8JTaE(^qn%{bv@H^*^Q)zg}g3kyBX>sL`I?q00=bW%|$^LX3Q~G5_Q_4_& ztE+IycU(NZ5rtZ!3%f1nDwq)u;XfZ4b;`?;X1Z(bALcWk|~bkvynJ4h{C z7h}e8pWTtBkE38ytSAMI2f+iHfQ*VM_TR z+xT>7PM~X;q4|B;W)JrRoaI6H`=ewfk)M;@q7HzzB*6du5}WIC9QmLED-2IGD*&cI zOjLUKSs%lLAiWVqIoS=xSCs|*K;2Ch+lynGX~k!@&^q1H!}_V)TNKZe-|Oy}eH@L=()q_8kb^OSK+v10qlB6T)~^9y+?6ic#_{|dkWcKAI~~< zfVCMLC}ulZl41?3Mqw4r%^vnmKpqEJ6678?$0_)bTHn|S>tTzbQNLDZ=db2G%j=Nj zcYcuU8visUMlWBz5hTS?H|oh3|99`VLfRaRcApS?LG;`=PK$@19ina*x_1M{!ALnaFVwr3(B_w@+%ekL zDtsh#zQ&7;$y~u*l5)yH-B2<#Wg)+1)$xb&U7>#&ubD&mc!5Az>{S|Gn|wHKmHlFdd)7b!5aX|RX|$Vzs|Id3Z6u*U)j6^6 zH_3s!W(F)9k~O44nRCR2*U1A<^hr&{3l_WsnBu_RG265v*7hkVVBP^e; zadt#8-#7D~q;JXH-8bFY0o9x1+X$cMZr^~39VS0tVH@f8BzP~oQXUs8=GoK}PD>}C zO^^Zvt?nj@gWSgZ)?NP2G5=M~;@d}zt}?Y(gTLdD-9%{Up%5judvjv5(JWFFHNKc? zFZ5QAFub(pUP&B>V+V&SqPU7+hHbs7j^Z1cUG~d-H>p4v&!pO%Vff6?{@@`J?s$SS z!t>K94SbL<)p0%;{yGG%3XUJmT)17};<_kpggC?3D`?(+Lw)Yzexz(`I~a?Tn~70- zm5DU-S}0yQB(Kv@zK3CbLPGdqYghRSNXt*v(dB1@?do#Idm`j~fjD9}Yk##XvhV=7^N zm+fAs_xO4x6-9h=|J_|S2e}1$JPQN7VEMUJdmZNiTKU5!Ih_)6?V2m6>n%bXEcghi zlL#dLJDvVz*YAPu+aEXS`?wp?@WXPSQzJCxIgVoxzcv>tMzivnd4Z62SJvmey>86X zE@f@S_v&jQJG{sNZUnXk6HC>?X*OLNN#aDsA)%LCK_sdH(l??5iproUrU>%%HS(Ws zgF7A+LUaH=q4iWw4ZnMr@~yB0HeLPv=P1{UM2#HKeRoZ4y*7&-GJdT~l0N}FZA}h){VVuZ@EnnDEh*pv3IoHGQ z&-WTnP!llAr3P=oUh|-x2H(G9E6x-Cv&hrw=9pm$3>Bw;c>#4Fd>&F zB77|B9xz^rbp4rNB(w}>7X;Q*`5gc*tsnk^e$y-{R#Jgz8wF-zjp)DMq;up2vsW(@qG znOUfQC)%kfcvP~IH5k!G(yvX@UKpWiAZh5umM6KG4ir>o#3IjO;-l81WWQEDu3tO5 zT|0)oa^B<&8n!;w=ZvpS-)~QAd0$@ojVD`_emj^;Mv{<*I-t?Dtr?}xD9%Djd&MS2 zxtx)y!;oi06{6X*-twcgjI(!4N=BKpJG{6lSD-GSXtR^b{Wcr5noGOBFp*!OuQRYB z*7d}tHZ9u79K~OR=G}n}@hTrvA9Y8+{+zOw_=9pn(gH0^HHh_sx8!nR+#;M8o!$ct zzc;l_$Oy_C`^H;$A{<&y#W&D{VR@kOHiRHu+7aF#oX@&joETFdu&Y1=o?Xq#8?X9N ze4R(pc)Ic8WrgE+$eNTBdne#Q1R&)~JBf&qpdgXLHysv6%)z5$2K6r}PUDQQ^lM3v zh#ZF907^MC3ZVL1PL&e>_-_CDME%%cyYun1-bMIixBm5<>wkzT!k8dFMFR1T-7%0+JXctmoHD>QU6lw$;k*mBKldxwV|Mda{z;JP>O&Yi(2B-`K@cT}3|e7KDLsZJ zTd?>v*rMnKgKNOX*dWptK`k>BwILq=={TX({jzU64SHXrn&`v&twEGJ9N~-C?ICUI z!vkC&Vb54N`v)_X70-Qgg!t%_!0_#)c4RN@71SEQnqJ2GgJW%Wx%8sY7xKOvrA(q; z5-E+4XmRWvZ-d!g}dmauq}H6z9{c&kK{_>+8hiRf%-_r{pEAB z_OvTMmY{R<_TEigU6Uw2Ll{hORc7 ziG7F94nop7sp>6sn5|CA`a!*pekv!+G!hyW>mL~#?gNrK)cL#>MVY{i|3}#!oSiG? zzyckUKXMRVLMwzU*ahPoYuZQVPq2oJAsry|-|%)sJ{=UNV|)hQs61VuWK2wB-d4eW!% zxftpGPG&w{$jEhIL^0GM_OYkL>>e(cLc7~d*RSSyMZj<6zPU;ph40%7y!4;-@)c^e zxpWw{Bs1{w$qsPLDNK2#_7D8-XlyxXSpo+jPUR^GhxEL(q(&-gn-d8DCe6BPJtim` zANgS-0Z~npWE`y*tO$)w#uCmnNWh5I^)NK9^H9=Nc9uRfZQCo~XXwsxG;@b!?=Z!x zSOJs4+RuNQB{g^9LH$bN&gM0nNGsATUMNlMpE)lo&GD)j*qZ&Y zCqM$iWw(K9*znkofl3qO|G4SDpW>M|K$gO(6%kP&IRB?;GihouyT~8li6DJp+S_BO zteoUPUR93T6by-Y_eqqr_47h?$(oD!&ISB@ZubUhJB6Wx?n2O$5M5Iwe*0RjuGIJ+ zq$5G|F|H$&E2OC`Sk2;|FV|2il_b;DbSRmJoEO1X;Pbf6;Ck|S3?#0V+0IDU;wvc# z^Y#^qazY{!z%ff&1H#|}p;#XC0pTw_$r>4K))>j8;&bDS$&6@f7G=2*-~?465#03; z-EWWQ$E&qD2`I+ODcmpnUJ3PP=Lbvs!`j-~vJ?yIx~_lZnud&1b=@?3%m#m>t9Csy z;%S3}0u<1pM8<4Jl&~NkMp#J2W8o$bu=(r8R(@?PjauSsgBc1_Sz+@waQq!G{Qmk3 zHQKN~t|iMOA^5-x^NTq9JIS4Oy;1aBBA=^wSdeMowMu_>IG&nnjO+(1KPP?57|@%4 zDItDC1iLAALOg8{%FFVzZ*;OpW1`#c2F~abiA{plIp&0ANcU_s+q+`TGZBf+I^4;w zYgN6MOkj?NV^xJLr`K$kolua&ZkuuSJ1?4m4~Kgk8s=n9ddw+(-Q#u;)4u!jDbud) zbV=Jjo5OzV>2ke4eb*d)%zvi`*e%em^$-Jy%lT*`o5$VCT^bu2i010eHHrw4(C3GRQ-(Gx5v^vtn}3mhgRu&}qMOKk#GplD*D?K)FfUQh_QyciW{XO?g@AfnI=O|kQ7-uvi` z&ELpR3FaUl%X;2)=D>*eC29(N&|ZX?sJUTQ_3Up4dLPCojtN~bakD!(2jlC=UOtT` zqbS*u_J8>vh+hr2yL=zCG*|?O*J-uJCA{iQ$A`eEp)B9PB9i-E0k-CeFAc!>?UD^hiSo_M zLUaimCO^qqF$9YhfbLwW3+&2cBPw>Jpoq^bYv;fm8%{ntmmSZ7=lvuH7rrwNoA&TO&pKjh&`$#h?JV%~Txv$nBAV)!po0=~BXx!F1*e#2Blu`% zwQ3#cP;VrV5SH>(I_)t38^%Ehj;giZB1@`(9K(}1p z-@YE_vH)ts0_FCj7`hBTqviHYUs^U}^FsPN8#Z%+T@TVVbOW%LSU`yGWTKA+3?U|U zkZH46D_T;4lBhaQj=LiDU^2OWg$UaYIU6XK$V5u#kxrkmTG12k*+Bq7Psq-?z8fW;0&*9+} zhka2yRnsDCsa6PBX0QWnSb2-goJ@K&%m;DnR)T(+nUqKyIE6=7J<>y8@65 zg97PYQAnSCexQ)_A{!i&IehKZN=6XKDT2t>diJq^7rsJl7PGSNi~8xXh@+t)v0p2$ zQSDMJa2xDnK!}L^c`COHYs3UI>02DTZXfq|;|%BFf>Q;eQ7(-v?VSOX6kZ>a{F?P< z@NpCZpAYlz*WLO8G~jJWx00xc`D7#@HY+B^*P+o5XO%Tl?$Y8wX?gLR-TngS*zsY> z*VBU0H?=ZOWOC+kpzIC#xur3V7(J1MF86rpiA6jdz4AXxx|Qv}9K{fBloEon+l=Qx z$GR!vX^%#weX)ArI8Zn+n-DSoI~NqAix4aqtB7QaWZ!n%b@rFj7{RoNYm>5Be&}ohC#b1^aKlKl4d(CLxJ5R*lDH$KRM{iWAki zx&^IcF1G1tD5P+r-UvpByXdSL;0hN*z`A67byyh0G*rTj=As}M4ptoCZc;U(O9}?L z(JeoHs7NwN7}P?Wv^ANM=--d8xF2Y)^e}e|!8{iCSYc=9=bn0_5NxzL$napQ(k1XD4~)IW z3arN2sRB%?i{JVx-w>5O~w(vh!_C{9lOhk-C{|R|{836WnE~a)a z&P2>VX-W(LCwm8Bdk<~KpBOtUBRwk-C-cu)mqFIl#M1EpdPl*~=_dmsCieg2s>GmV z>TK`oWNhmEUzyw3J1ILD8k_znqRdFd#Pwgr@bfc>{gnHYsG`D1#LW1g(v*G@6`bsi zl}%l=85Bgs7*tF>Ty%dDmF!&%T}+7>8B{zSOc@jm%}x3F|7Sz~liPncM9k90#ng#G z%;x7|5mRG(6H^8mQ#*4P3nFG_c4mJ5|Ly@8iO31{^&jOMitn;I>m3;|dw8>5;(JQA zWB_eEktS?A;w`@dnQQt?(GY>AVwd0flB`mqdDbWrFM;a;cnu+AB4@FM}E) z3w}tKZ^hy1(tu>5=MduV;_ANJlm6la{{%^4B5Mg%G+~r(5R#9Gzn>8TblSlGxi@RGr0uQv@oX`kHR?y6hj37TN{lrOf6_&QM?Vb)!J z*2R8dG<^Oc<2Zhoq&fs9A#cb6Y_BDK9IC-`XWDr8pjw=pUDR$4Nv1Fvkopaid;a78 zlU>?hpXHK0abZRL+H6`GbT8CPP*j0?j3v^;{un|?Qf-M zDR7zOBrm|JHrfp)L8qUC2Jb%6NDAi{!osZA|1^bw;SWW{PLVJ`LC!)`qF`6h8S-r= zKfoy^zGRpr3t$gYKPP(uP&*w%^H zPe_iiV&ID)?%YCh&}y15zaD8}R2~6cY;CSp@bQ5(gROn<2ExkH6 z=;+Uve#syI1fkD)Yr@bi3*+&wtD$a?80A$j=J<0V+{~0tn+a~TY(v>)E3t$pc|#sq z3Rn+)t5szWq*jMt9I~Zs1LWpBVa=&6u#zX-g?FcfxXBw-y4jlBjsXa~YIm(c z54kbVS{gq1C}~K+F=UGTRKj}yU(sZm1~YOkxZ&wA4b|WYyR9>gdDH!Lay%*~?QttF z+8>;PyVImn&SsfajBxszmp8G0_t81UKvvSmszN#dSj_0)IQ4Yt_zP;|dQvINfS{As z=0)h;K8Nd=dBKYe+tdCNl(=PYU`(72+Tjio|Da&iK?M)DMV*Sqq7W>>RmWrt;)vdM zTsf!Wr`JNVWX{8YP??&A`&VGhS-^RL{2!K>J5wsc*-rdu<13zakFMdO{?v^O+d^`LqwtPG( z3nnzM65fG!g(Rp0=k0RaL3Sp)0ZYJKiM>n5s^{H6v7;WE;K;?ki#ZuK{NV=p5KBas zYFm!g5X}L7DhD0u9i4D?QB%K3c^3Pv{OGOErVj5SkQ0KWX;ULSZiTUWGfV~iYiFrY zmex(SX-en3_J|W`&VkkGZt2irTC=cAu7O0;0C>g@=i?62C2nr$4|Qt!zSv8Msfcml zKMI18%p{+w&GdnztML=i6draync0Je?2V?@j#5V)H>7kqqZ6`&dAEu2NjSU`Q1t9# zxz4)DGgZp+;NNMaLgb6tUd0iIqK+O7gL>JNAHTg4E_8(8C+{=J{c6Zv8I2Glaz6> zH?TX=0A;mmf^rCsWNJgdu?I=~SKc7NI?Nx-=(LmHp0)`J?rCos3y;fXQb;~xg3QOs z21#Hbng1C!_?#;dTqrg!XQy&YEjwG{`Fa+UgV$3;JirMcL7s{-E|In`jP3ULuFzb! z8W|~`5z-rVz;t674ZLU@UM~qqY7LL^DNqn@q@a@8Du=y~Yc-=v%6;*2CeaLTlWxhJ zaFJXnVS6j%ebR7L>%XR^H4;g*_b`##fS<~_qdA9DkIn((qw?xcfB#hKJfH(gEV0#O z!->{?y^4&qcPQ5gqqfc!GEgM;MzV8Pj_#8XNFh;}#6cv{Jo3pik$ zTF^y%4eY#4CS}WcL`noM?SR52DENg=;AO?S&Du)ZxHX`h2U=86_8W}(&`m|>d>WcI zZ!TM?=hqv#Lh|8I+D#qVj!_v>Cz{qPTx4AKxTm2wlgWTbn$zCelmq@Kc*iN_HOg|6 zJGgSIr{?aLV)ATg^#F#kGSE?14;@BOqlc>}S7$q<>^0Z+V8L97jr0Iv3lAk=Slccn zs~mD6sy0(szVSVq9JUA@HUT*KWSiSnOD;BXXpUyhU854768yRAZ~An36dzVi2{fdKP#4DYTcI})nN-w6CK&Hhx;hIu08N5 zpS%LLTdXiD>_y33>mi^#5DPV`XCdKZU%7R9RQq3^HrBA9K^*U+=a$HS6@s z%rxZSRW(n&=C9in%Q$(*O$Hun?FGO{zO8vo7 z7b=aIR4)E&&ZMPF{Pz3(<|t{aRj#UZO`SQ7jsq^A*Y`#BE`#r!m}?&M)aU4DB|H0T zDYNg6*M^7ZSBAH$Ta8YH+>fy&{$OFNCXI$HnY^M?4U`@FdD2#s_@279?^O5ch+DO}=m6u^C&siw1Stu1mhTnc?WtkO(A7d{C8e~QG zKXz*q8NcxtN_w~3*b1Y_mx&L14F345D8wNS_KvE^Nsr1&x6XNYmfoV7;tXHci`&H1 zwyk-{9@u-R{vXu6Wl$tcvnC3IySvTc?%LQ4?hG`pgS)#k3~qzF5AN>n?(PguEFEj}feHD{?;jced+{!6iPwSru^9uYlLwfwd5H&_z5BQ%}V(an6P?jKZi6j$w<3+DQsxR^7 zUfSfA2!cnNhwY>4A7(FT4>6PCMcPL*H$g&>Fn^c)4O%DFq2z< z+b* z2hW-jWBen*CNXX{MliVloiKLv~UN7H-fQt;XECl%#?IUegOlr$-Yh~GR~vD zg$$ue;o6RE*MoDLBE|_n?~k3x>{AI&y9c^1k6(#N0y@4C!PRB;602FxQd&m=x+epotqBf=6m=15r0@hY$SRzrU4DGaOC~S2k>I-L9w}+b{-eKyxNRiC{a= zNdD2y@H>ycL}s~kxWh$3$6VA7aS$6vDevdbnNIs?!Lsv z1huHoV9`-km}(}cD#wh*cSqT=rOTCDtNRGWsY_G+2YrR*3Qw*z&iy^7#Oe zzm`YrS+a@z3*8n64U$BtG}*ZWTG7n$1Yz{mRV9wIkR$j{FKe8$)N0~4&aqOL?{~ot zO+WCCGvAiuX2=n>DB8)vT4&-rUdzk`XR8N5>D}qo`@xMI?9iuo#x0NG%t_)Y4WP7f z|6)$B7$P;zdywP{WI@Q1Pq!-lHMcBRCoW{cjNL&AUbP9c%84H<9(_fsMjARf`6_A) z%Et5bx2BHFwAySnm2*b0NixpqCb_K8J(d={$)%mgtk|z0*Dmv!Wc}qmj^TVLXt^E* z>R4Cy*7~}pze>nFJ$;8yElhY}-);~CPJ18Lq81nMq?#tFS~w2$p9* z;1DZNdz$gv$Z)_8_PIh8Nv`)nvH60Z{5wBo^PQe7l=LdpRHRh^$Nux z_T{`FhwX0~{A+>5HuIh$4TPZ*{xt(xEoIxVLIo_c1Oc$mIW|qJy&uN2pr3f{J?oKt=^{CLPeSI2 za?ngeEtVeJh2C@!;>$Y*(@SKmU#MgAh)G_>!S7=4@bp^rB{iAOJ=u6z&fH!s^De0A3}kPgM^ zMPb0vgDB!JD{k7~ZBZ{^Tnwi(E=k;hXW_7wA~>BH6M3PHd9v$p$}`u=Fwk@S#6vT= z1&t2@9qZBcZ_p>#e}cCEK%ddpgCD#R%M0^^_ViscT3}Kj= zVX>D?4)`-?qQC;6t4FJ|adUV!y@*qD>(Sb|XFm3B-Gj+^eHp-_N!h9+dS-rn^HO+V z-`G5rvF)s6{Ihh}b)-pv_OJ*iG+Z5>@3Z~qHvglKJiE_Wr;qF)XVO>0Cc$@$r;WdB`}!Z|pUP!J zZsSzM_N98N%IO8b=<{LU;nlu8L5R>UmD%7#YiBQH+ybAS=DXYw8V(-}g9_TqCy*2Z z-Tc+{A?|Q<=ae~ZW6`uJWpfTG2@ihmZDh1fpjX(CWaSzEu@@!nuDTQ78p>&q}h`>dcR7U~GSuE5= z=l{wS;RTg`IrXx4O~HT;uHyA?>N56?s+Jwh8!OcVH|WS{AF8cRYLf@%f;!9&Ex>EO!x930KzpMWmiX)v%ydjPxHm{ct5+0uV`oj;<4gkLxC;YW zL9JhqX`DSJlw)y#n=b)B+eyj#Y+wsTze8~?j)KR*Ij#?O5lkWdVaf7r55b|Dh(>VK ztXs71zL2?96in15*Sr$6BjFsoDLCM@C(FUv#qxd z`MWfqQ$!i_GMWU>AfMW;2{tgEqcHnLRfIMJ^z-TV758n8Tb zk;63Aw098h*6vzb=F3a^`R$y-rfMz2+`b`o z*h!|h-E8zRL0UI=w&gT;dVxg&97w3V)=7~&_T0Hcrohgh+u)`eNFZ!$s{WSWmcFO> zdfsIE!|>TjfOR#?h0;buI=1k>Ka_4(i!Bf;rA0TqS(7Hm<5R0Fr}meyq`Gz2`#2ZM z3fZ+(7hP?_VkRf;6UnPLOxJXWbkJl0o6zBOqhJI!imtlV7yyjGV$>RFDsY+Z=B#<&m!nM1l#P{5v*C$j#pO_f>J zEE=6i?I|o~OKs})au79&nV4`>OI#lR5W$1X4FVKh%lafLxGUi5N;xPl5bLDHZ=nW3 zGKK^FplT#x4dwBgst}?6@;s@iMuG^&$h?;8vPnvEwp6ZBb7=yF&_B3nS*XzK{r%9w z-Cd%XYodJ+AFQL!Fb(B`H{_ND1DE+xcNFuA`@v=b#B~9GxtG1bx*%9g=VYwQ<#Ysz zxbd^C=F)~c`(9#WgWIKRW5l(MAD=mm&ISq-6jth3PI3H|FuA%M4(C1eJoEBJ$n|f| zmm>u?k4gL`lwP^_-CvxqHtxi0T z9-iZ&+^exbf987`>=b|+<&Mv}1JmMiRm-mfw zsy;_m-*mOStQCl&Jj_agp!&fD`Dd@CmGD8LQsOh=o+w78HF%6ezQ$oocqVjYd$W~@ zZ_Z|PuIgbswj71k??krD)dD_pi53fp5@?a1CJIJ9!0jobWOepyIL$NU#Nn|dSa+^@ zzb1AP%(b@=H1SdC5$?`JHZdgP5L_xvU><-+xC z+b(`YxC;8sA?iElPB;~rkw}Al*-I-0-13xAphekA2MG|2o&l<$^NEwR727I%&u8Ty zJSt3r zL)=rZuKpXG$n&4@>OXKI@BfWB@t;Zm_c)P_2mCkuKU2~3$zzUtjX1#%Z`e9ANIlK^ zNk&mXF1p{=zX2n?lX*o0u?b(TqnInl*A9ud{XcWnDpw*}7pqLXw-Hem|Ndz4*}UwL zoxHWLV-vZ)rkgFoD$7I~cSO(^d~$Di8e+8(vP&SzSUSc`vYKVHFae{){82vd?OzMc zz|9L=Ibm-n&&iOtx6iX%_FW@23nc}IIKj=JU9<@$X-o!6oX4m^#mIs{*PSC6S;HZZqUAB{W7`L?~N z8S=$dk%b%IU!L8-h+rP~Nq!agmNf@I6uWvbbr)P0uiVhb`n$``#{HBZC+cDWP+*Ea zk6p8;DxdHlkl1kN@cO0!@4>l=u@Px;6cmpV1cVR5qRlfB6;)8+*xBjm1z<*UIJCd1 zqZvm&z{p3R@zo zi!`sR{mP-#)W6yIY^nof0j4${cNE8szWv8)m7hhv`{6s7%403?7JS1VPp#ckeRdpZ zVX0m;txk%M*0j>@v3!B^=R#kzatjciavh1m-*0MrdrS{%Co04rmry#d&o^3>nYdD@ zwQ28znV2m_j0&ek`)w}M-6H7v_h{^lVW(7N;*T_t6vyB|rj|+FB2^!t>NkMX=9&<) zhW#FNxQsH1y%+~jIF=qNZz;*0(r(JYe->e*Q~&yIcnN{C)cSqR2-35bF_xX#*Kf8s_ zl?sl?SOELdG|~m&Q7S40Y(U)D9)RLgMR~-6WBziXl8@7f^gj->@L(IEpy!$M%n-93 zXi@cX9KVl&_OR&AF$m)QtqIvlb>^q~D)Me)q% zk|h)qEp5fZpuE+31Dy}BFI*&T=z^j%ULz~q;jCEOc`#B;XejCd;*iue<|;Q<&?x4g zGCEo90=U61IW92#6!7ldeF?nwJ(uy?A%IBy(*mRgFFl@%nXO_-;Zd?)HIhXzJq}`4 z_MW)t?GaGx-3lNUv zS%wt^cD>{s-E<=2J-1uUHln7AHx-zZa9Bl*;?be{^{`x0FiXq7K+rX)ykJBNIy7>6 z5h?;qD?q23&f1d_Y+bHpo~bu0=fRHM&MQdDav8yC|I*&X45u>74JSj}Af(X(hqp0a zV4l2`osnB+yRyk_0$6SG6w<_-8cOQNn{iZ6_sA~7cE3QL*Phcz#7W5Y{Y(9cJwOB; zg1jTWtC`mX(R0r3w3_uC8Mq{pnZ=9wMzie3D6-+!uyfMO6s($p7WTF6xzA21Ik~Nm z;&e!4=;sS_u%J|9`wi7sxcrnM#azDQl!hCsBHR_uA{o1sM5I~tmkWqRamDf@V#tq- ze5bfZPg4`^-zmeR2)Id=fsd0^UZ-J6V{3@&U@vl+nq;wIO3t*Kss%tw%Wk6k{@{ik z+r))%4?WFWn@&Yir*=cDX{_z9#nD!uZraDUU#B8O+9qSJg~25cFlAbhlW)wzh)u(c zWU+x8*nOE*{b*w_WdEK63)T-(Q^R%_sL+0BWNO)LO;{W*+~g>{i(%(!OE)paJvK!R zX#h1-0Ml)_wd`*Oa1__6e9Dw>MS2l`-!WQg=kQzQaN)Svb|ec)$S-0As|&B6Cb7^# zhvi0#+zD#U!$}p@_V#8A`gGj-C%#_S>GquI2;d#G83zZ^JUK>S4Num&T z17{Gi2E{a3<`mnQ)3FR-T9jkKevge}AquWOPz8=UsWG92kAMspYsq;fk%%iwXE7#P zbIfCpzLp69lce9OgaL5gs9JgxubE9u2Y*tAs>s(I;{%=w_BjuF$E;)m(Xc1=v+`c5 zz$xR{G$-J{0b_jsiDCW&jIsUea^C-K7X$w_>;E2(adNQzS2(8aL^OmEwDrVrA6w2Y z>6D!*nWju$WUX1aEt{AKXI|63Eb31VLp@rh_~1NsE|OG{PmlFmCTIY%CL%~EqcfvP zvKG{U-Pk7RC^L3Ve^myw6AkT^Me%#y-oKmq4JQ0Ji@nl4vU!JRVFD#ITxs?al#g=# zD{e>Ay7iW_=Iza9t4Fk}IDZ8tP}!z#PrQf_4dQVpZcDZwuiEO_ z!6a?-;$6SS+2DCxboJr-t3Sw;HJ`b|rJvjTyNxJ>$o=mc@{`jgTHD#kmbxFmXXEpY zUmC>WzO1J-eXe8vwyxU0GRF_#%yD0s^0RxpS!-a4RZ#rzAYddImKE+Ai7WIVF7(|X zgEYXgyOERRe`0qm=EaRgv!;~pB7y*B!rWU(k}ddD9qskI_4V8J^_$+0#{Ep0FI3)V z3)63f^Qc-|Kx+jS?Gh$48ilvxnZ#%I#l&Zk5%D0J z`7#!Y0{D=#!$Tut#}@%gyU|Bto{D7zS6YqjYc4{fI1{;IF1I4qkq^XFC{}RzZU{o~ z%X~Nn0Ng+YOC-q!V^lA&;2W2wbMqwsS?iwyYo93z z>zP+Y8*^nePe>%I$I8{w#Cc@-y(M9-gV=I*; zY8CQ-F_F{_r;*G(Y(KMp2@LlQel5<4UAr&EF~^V>Z(3NaR><#QG|@3$V86$=y$e|V z(nPG{#L^G9w{SY{W1A>Sch+`aYcY5jR?Q98AP`OO;s+T#KfHmg{)r;``~3vVW6_ST ztV?u##+RIB(mI9ws8s*jawKe_X(lGCej1&XOrt5{rL{L*27wy7G$|hrPw*|qA&;q3YOhVhSQ9Zk@2Poj zelhvD7_PIO#A;b&o!E_Pu)MsyBn{I~>~7R3Xtot2t&m&Axv(Mftj&j?TOh>rowI4z z5m;ix+DEE{yO5JS&oV}ouQKXhh|MEevu<_yg{`5Jw%(91gWP~hO&~Go!KGq7@G3eo zQ=Ug7Oic;vr)3#Lrd~-Sp2Q#U%3W^%GBu0_Z^KMRX@Og9BoIZEBTe1)vY;RcVyfo= z!Bww1QIpJ**-pFdeQZ!0wN!D@6ILHL*RPgXN2Oqm6NrYzg)iW@Q2~_ArT%r= zplYnDHjBu|j|__#ec0~zr_HsmlFoklFJ)B_cddfvnqD%qhVcTk`5$a*#^Ik+YTYLw z0maoF6E6iXRyrw~Ss{gX@BR8@4;Yr-S&Qukr&B|>C6BOkd-zjXZ7Va}&)MAsEbidV zb;1%+=i4<2+=OqbCoX3_B+w)1tctqAms_-9>o+}UvCcHjlv<;kz|pMR(nM0r)`f?d zx)yR2v_^zHa?Z4t7evEOPX6X0qwrl%w%Xzhelkwzd z`{VQK(SE5VXuTu=TtLsjqpPscCH6_y_70I&9P3u`?%l%j&bg3K^l{x4J2#}_H)Vz) zKy0J$309+H%(zc4!3;~LHO$1vr<7rnBM{Sc=Y(!c>bIn`V{_>Rr5do6WieS>hRD{l zdgm;{u`Ucb_)c82SHWDs-JUOV8;kx_@frZcsyPIgThb^8mUq~LlfpiReRPO)`exm2 zW$mQir*P)fMkdy)S3)2Sn%UV2bCa|DaPvgmtLd(Thqp2Jbn+7SqBHOz#^wAg%y>ps z`UF2nh?9pBb;TgqOEESu7#d-LmpNTI0LEwAY*N4PUZVRZTQ=&E?vcd4gBS4QytrW&VnE zpyP>?;TeqT(?v3zW#xTm#Q`Mk(U`210T0`dx_rDkgR??FwKwbi&3S6t20PVp;9~1@ z=T26{vu)*hVW{P%lrGqYBC(V-y}tYt1*~&6VgV5E!su7-wr}gtgmNC zJQe)dp_N*Y!LW$LOrqe~ImHj@oEe9a-e?6@e}*M(!{0i$YgUX-x9tmxd;y%r@CFVV z=mRJ^-#TSeoh9c=+qoJ!lM@cnEs?>Umxi@eWPXcni4tMbEfsg`?2GG^rNW9@vuL|; zO}_cNnG?@M^PNePX0|oE_+%9lyM&N7xgZ`zc>{CYjbo_ptuQ4im3vnSsyK3gg#z3x zoHHwrzDNOywE@$orZ}#8pv(Q|*pcFf=EHMy{#Xgco`Z_%)9&N*o@m|&?hlBsaYgd~ z29L7+yFwMV|KpV^;HniiaMjBHEM@usUA6MB75w+$l#B1b#0pQ7b)Dvh!8aP;7z*!4 zD_4f;I=R1&h~xWw>MGyhqPTR>gHP8-BE>T{R;V1x`W!t^ai@90XoIr?XKUQ?A-_a>FXS3 zOIrk61zsIdspFjcOsh$O+NKanvocWgbmo}FGLxx9)RGKa6^AIDduo0G&zDhKFv814Z&SMS_9 zlf6Z6=*;T#zd8aXoWmtH2!L&#$KH@G$s+fgf*I^6xtBkJpKq*CBkbQrzCF3O<=aFekrFz?QW zT&PwL#vw7&%zfC3g5!mBoDOzw+UX*nP=X_(N4SzLDFC*zAuqy`ZS0X9ttln6YlgE4_j*4vjhM`pgf|Pxl zv#HWANR&48;BVh&MeLhWecy@uzBF}!-Lwb`cal%e3Uf@@a7UgAFa2KE!Pv!%k$_x7^))`&d_PWB za}qh1S{>Jl}%zJO}Tq`M$kF+z1u>rP7c z6VHUTgDA-lfBs+)eDYjnl3|^t>kLlLPrOG<3Na>5o4M%;z6j(W`qnXe9fsl@MmguR zfvS=-3+l812fU^{dR|fb1II9I9^arglbkcuzFHu7R|V5qQq;* z)!%GcMCtCC;eYFO*WdT`-U#rjN|zh^HDM#NKUJ*LPZ!g*E+0sezqysCjl(?HliG^; z_{uu#ePA-99o6YD(=0|morY)iT3))_+eYOAT?K2Ow2W_<)0RzngA=jVZN)gPFVBjL z&-=~^%bQ{A+D1z|U6=5i8eEt5YJSJ@fsLn3nNa?k^sMqVc!Nv9f#~6(kNtFgtWbAR z6}|4J3=vHCY_rmjPF!llu_L{t1iV6&_sx$!^Fbyk{;^Pav*FAw9`;2{-$8GqJX6SB zZozrBNwyYmrmp*rLdO(|vuwGFf5|)$>6)|LI(^S>yJ>FVWE@0oZB#UAKC$Xp!%op< zJ(j1X!G^^n9%?o3GEZ)4F5>7f?qZ-Mx??ey_YTVj_%(;bv@aTIqZ4GNsM&9$0YvJXRtoHR#K$yeWmp3a~U1?gBaS+ zP-gnuZcf;r-0_pcJ?uCAJ#qAW+y!c5>Qs$6ukm))x-uCRGI+DnUDo4>L$&dG6WK43 z{A&$|%uh$}aR~%}S~=+Tw;lHfRXJ|v2wP9N4GS4h+Fz7+2)idvW9XrSE_>flyFq{J zXFb3sCgFS;M+~pGtImb$4&f@ml18w%_{m$ug}{l`OQ*mxSos`P$qGlE9@`u4&vb;Q zkx?&KfHMgfR}l5v;*n(P1bZd0S1=1I3(wd})4p5PDJtvU)o-ks@n*eQlwc|QSWdFA zfm~Oz!g+{u_7lyYhk_tIt{P7wqAODgfBvQx7+M)@7E< z@=O&xF@uyvq2h!}Mfk-NBmdR_xmN`%B$G`&EwoIltTxea%kd^>g7>khRJxKjK11vy zKQ&yF#uBpqA|i!A>yp*eF|j*+Sx|HPsIez7ODErt?#vcaE2kp>xSp#i(W-G!HI|~6 z>x5-7wr`Kf9epqkh}n6mXC=Y?}nEQ@D5d={2?ueb#amH?;2Fp|DUyT=o$L<(6CW-Dp73*>y&WPveO8^}r z*Y$QAnyH@GOhYag_|Ql}-#6|K)Xfs&sK8p2>hcQK8hxC+1m$a45zGoPV6{5D#Y{b! zrl-oMHYU?uj%z|M{|5H;64BHpJj*n-l1Q+tLMNH0gbUE(J>M|5 z3oVkDa)qP3iWgY@6x>wei9;<}nx&7QHC+z--|>vObrV1i&S4bHR|mY(N(Kk`H(F)UCg3eB@AHd`yV-5DfEY$pf)&7nR1p@cy656COY?G} z{q%BEF1TVM3vT@!Z59W0RgOFbw1xc~VY0BYujpo;O_cL+ZOAfLhpW>ndbfmUhVvq2 z1oog2<$Yk&=an63&>HginbVmnRq|MJ|3R<2S#~$wX?1$`|f+!n0GY+t4;lnD+0j;pCiaV zosW1&e>`~mDG!fhavI}n5c)$0V!Ef1DZa0IZq1WLI;>fOpoKyV@ditEx;4&smP6fG zXK(0`UoJI$f9|B1h4MU>GNBQ^7Ff(k3k>j8P517r$-6-7x66xzw$a91U%GCV;_+@S z$kLEs&1JIOt$rrm;kKJt`Nu#QWP*CHvTX`()oy}j?pVWWw)evQflAOB-Gsn&*EYrSkunh858cbG4;poDD*G z7|Z8gXW@KO&h4{*7^4guf4;t1!liEEq8j-VBb4sR=-gVsE@x~YXV+f&S9xH9YKaMF zCvpD;=L>TcW`ic?nGGDN&_#X~FaVi27WtG%$n7|y4^{Ra2_szY}Hb@g-4M>eR9XZbrL^Dye{eeQRxB=$NDZKxI z)bFCn1MT;lO30M-uWF>EH&c?8H&5Tz{mL@KT3ViqgNS-cpTtkT&QTsZy&CNyI^spi zSEn4ub$nX4Xcmw}jB-6(RL+K=wH`a7ekm=QN&h5m_3#HPDD3D22>eyjn@NNCX^Z`Y;iLz z>$z(WlnSLl%|NGB?GdVmjdbYhg}u2XKa?6;tHpLG=PF88s(EMf!Q=w2l!DpkfeSQf zs3+kXj$i5B#zB{5R#aB26sE;Y(V_7T>ZmH!r8+RFpG>1dNvAz_h%1m9@r*_FiHei5R6||qh>ov7m z6qa_2xtO#V4j8u>`o}GWWtiTq@m2^F?W|J9SPJr5Q;2;h)~*j**9vdyl&4qxJxREC z;zj&G#6s|dOK211OwB}uV1rSffHcRrjARE=pty}8G>A%MCO?i3ts)jdXc90R$yu)@ zmIj!=AYcTC7I} zt~Ad~kWlWw#9A`4xui-VWxJ@Bg0+MHhP$=eqbfx!Gz0p{pUr7ti6Y%1w$~v7e?=W) zHbOpOYquFHG1}3nM}+!@O#@WyvC+r6HRYEWlpT=Lal0*R6CH zQpS4NPRA?oLA@rTpvf5W1LYr;#yIgd{Y>-e5v}9fmE=u3@B|hV5zq`;E>9oQg0Qyr zxxx?NxVU*Tk>e-W!7q{-aKk0;$VvY>|J=8tks^aRwp}p&2zxnf+CO~w6Ix@vm4%P%VH}sc0EU(v-FrR0L21TB|O_pZ5 zhXIX!Az47nRGh-O4d(u)P)>Yn)%u!Tt9F?!aBsJ?m7sn82%dB$68}j6y5nWk2ThP| zYm)Kkjl&XZZ5erT`-Z_%td8ytcqQr8pZ3*epAAxBwL=H|@;e3VXP2T)@QIw8eb)gZ zyU-7!j<4G|LTh8yn?Ak1z$ocZV+&YZ!T(mvXSv70`2jr3Z^ayx#PMq96V6)Z zr*bOt#l3d}dV&B2O_e}TSMlVwprf?}A$b!=D}!u+U}bMsk8A{GfF$=z+?42aTh;8t zbb9!q^655}zFKyk{}Pa`$Wl9@Y~gQO08!!&1x=6%!)8vx{9|eVJfw1mrI=1sTF7;| z7)n(@eig0XYhy?mCyrpdZd|8Z+hf0fox_Qp9UWh!)LR|7!~#PnXg=F##O#P4GLfP< zxRZDdZumnZN1RH!0gnjl6nut88}=RK7#d+(7)o^T3FfW8x*xMm6i5iYod%stY3Vu> z#92?qNMlHk9pvPzP9pVws0SNgBGVK6lH{h45JLNQ(MeDX*6JTa6azPR2sG`5IxHHR zFE-O{XCiij8)`CGi~KAD4(Ka=CLOWp`jdRb7u_CmbQ2H*BKXSbL##0q)A3W&l-#8; z&yKXD4cRrCdav#QC^v`&wb>{W8+%$S3Y8=Gjy8xydw`T*qb`QVe{JKfzH*Qu0j0wU z1kU83(a!wwp9SE-`|N_&LB~ZAmmW4PTMrkq&t`F(z2;H7a2htfP@nz!a%EoK2r#q? zXEcm(?Z)zfH7jgP9cS)&X~sm3e7~aP9ih~Lx~VhmEQ6RzLeXJ-l>GEnT7-Z82MfoDex-S9?k^&|6b)1q7OL`snR zZG}K^uc;?lv%(B$IoE(q=O>YxAl#q85lQgEYi^N>nO$(@dIcBoQ<69#iIJ)8S-+qU zQ|awcMPtbKdtfCEUSOGjgA}Hiy$Zs0h$Kzf8>U_PtHwL>erHLtA}#E@FT|{abC6MW zfVLKWWt7duYpwNfXy^>1xm&!wvez%v%%pQP&IV4X3|rK1+=&SrKf!OV+Y1^O5+2RQ zm2J;Lv@)ZB1nn&{LnwMtz%oiLq7bp4r^w@Ei2E!U#q1L>+v%;X_p?=aGCFM=Z-@#7 z`p#sCC5_MqZXB8h!a1VMy_=9%ZepM)m1~nI+RHZnxP%z;*m^V!!($Y|PzHK1G820M zX3W7DRB+&0<&T7diA?Z#-R`fbA6wlM)Ok$y+|?zl+qcwKtabM#R|BT{!1Ln(X&)a? zMsOTYG*PxBN5>w|0jK)AbPIfRsg5$ML05^+8?NgN0mt_$1(8fYs*}5M9&5OWWtMV) z{H61P+z9#p2sZOR0vi>a(VznMYjxm-UZVsaM>pPn)7|O8Vtd}~)f*6Ck#aEz2cKyX zgt}Ku5#2-2mLWSO<|GOfd4aF zL2bZ3z3zzynXVW&Gl>12MsL%Cls$ zk@!R{b!|wr^+-QtWwpw_DUhFj>601l-)++M{C43cXH5Ro4)qhy*BRoSOl##Q;gn4b zDFwWGXl|bLE(I}gw*XjP&2QB%7Ug&Mm%y8Z>rP&?sbk!eexHd;(VJo68ih9wnT;Pq z==({7K_$dA#j9R%hx&t9Hl2GOnteX9p+uGX5qZn{fjzk)3tCYeOAIQ_6@dZq4*j+c zwaXXY(pK#E)Vd4dcHEO32m`jq-H^$z$(TiUBX^}b%sYhvGKremL}B+lfZ~+| zDltX?lY7<~*&?VzMv#}l_b91~5t@48dJqnqDk?bazOrQ)?*K*T7F%LVQN(G0r5yaq5s;e!ZQeJbIaymPhMDM`BBVswM2A{Srh zc4MGY?mTZd(YD51@}{tvXF^hF`@p(}6)aaLzk^>1=Wub9S{S^LUNMThMe5Pn(6gg* z9pQ@at2P|U(BFGiEQk?ZBG`)~M>Q15K~dY5eUn=)rxA;GDK+Ow$*Va<;Z{8yEgF2* zifTc964Sf?t}~2g)&JN)1O_I85$R(%4yIxX6ru6x<(S1J1p762?z`0cPAh4 z+-g`yVOZ8#MN2U*Qqr>kR^Za^S{IiIbca>H;6?D%!!#c|I!K$#`;}Q~Y`{P6S<;Wp z!dy^}xy0=&2e2M6M{Ix?4|Pmfk~M{mT3N064d8ws)UAxU0Y8IKGp0QIYCJ>lS{9$T z%glUQ?}SEFFNGj@!;^h_zI|gd%FhK}K;2t_`c>a`Ug2+H^GRI+vPVIh~OJlM63S0T1%*yk1 zp9#=!ar}d#8)A=kaR1+>{{LM8Iotn!1^NGbdEkGMq*C17SrYgU`y`mDQt}`AO0NIO zRQdm_?DxOOrwR4MT77w8e!?<>bf8 z3Ofd+JZ33Cn;u15k8ih&=^p>+rM&!0$@w#KC+GQ{tMZ%6|3lq7MpycM>w;BL#n`cJ z+eyWCDzf{Jb1&W>%{wr!`vo8LLz_ndM1-=n+7x%WeV+hgyw*Sj#+TJL)1oX>N? zBx+41@x--EhQ#uV5%nKR&Y`z zNgC}BBcA18bEk-3Kd6)68Xm+qbg;S=OEsGRS=y*tQh?6SDezo|mxf0={;BIt z{Y}c8lr=W;acJ4=@I(EmlYRJ{9rm`sFoygUmMWbKE9wwG$kIxNvg&tEm2Z+BY6SRw z1gS|dX@VlL&^D6ynhNrLO^Yz4g*z=4SVL}&KhE553YH%&Y)q~(jzqaOFF z;BmW*dk-IL6k`#qSkR-O?dSxN4Nu9LAjS=gvNdu^nVB|R3e%b;y3 zpM-V6RMIyMg{(0}5+3lYrqd|Tz{?#YY?M9)*h%8(FRbgmnf*-m^iAg0&??)QG1=*s zFtM4|^$xHL%_w%B4CaPm+)m3wecyZ?!ECI@E+k@P`zwpClB31{%!ICfM3}8zq8w}U z+mBkk3C2+DeGLOMs$eJW1by$-px^0RD2dISp@oD8!riFbB*UqifE^SpvJxftba`ZT z&&0pAG*xHga>{j-vU2`s%iSnP-&I4DRv1vXjifPU10kg&2cIz&jO{cnK`Op|#orZ1 zD@5oLjy7ncDxJ0mF-J`mw?c~%vsX<8&}AJLK_*J15#4jBWa%>NqdFWwIO_iCko?_3 z8l$mftdIasIVwi4<1VqyBH=Pj#1GXp6+-^^0;X@Y`1=v(*}rSGam;+7P1rJi3ntdSs6S^K ztr+dcT=q%;GUOI7a(rFph>Ef&IkFPnsJqo@i?EyNB((7Xw?)XY@BOiEVUDd}sb6Ts zmuNS%5e&&6qiX;V_RJ9nnkfbyg-P5%vCq@(sMd7GP*UX@qn@IEsLc!;&TY-J1N_(T zBHWQ{5@z3pIa#AtPW6*Vj(THal7TH-CM#*EH$Od6`FaC zS5-$D#F_1@uRQOT&7(h?dEW4^s? z?8atD)a^dk?v3O$ZejtcOaGzveLipG@>?<1yU{5V-{4t8{?SbMtTg18+DMQQ5q8+O z9|n38P9zPX8>FYCQ4X9qEMY*Sy-Jhmw#udfp!E=Dl>b_^Ijw_+984t9WJEjDlH3OXS;JY`sG~PPC5)JHHwrn#qka&${1$LWUtdH*vYN4o4#`z)l$o|s{quW##lRw@dMBSQf4BCDVq_pW{&#Mb!eZo>s zYEAE~yAsUY&g~+jeopto#xy$V6jon`1yB~?eKARw0ku$9<`m2~4t>oyV`G~`N!8R~6> zqEuRRIJe(MU3{a*p&lan#bdvuyjI10@k3)`fSIxdwrs=HjSNT9m>VYyJ~(d&Zc#e9 zSdm=$es11;^K=g9_$F*n$u0OUgt~jZNa3C+!z#caY}8v3X)7|7QNeCq{*S{LK6#1RVwbeULRo zK*JAR*KYGkzK1^Cee6Hx$Z?DrIxUL5#In( z?C*C4iqGcC9Rh`zv*Knac32bg_)%*YZ4o7Zp|KYz1e$Hp8^*>(BA^?MsdHL?QMEcr zMngyM9*ebqmh2+OY7TesgdG{7JE~eA^y+{`h4zDx7GHNS)B2l5!dbd3t!|PC2F82c zLy6O8L8pexTF{^EDn!0Q-`v$aafu-U+G(9M@1JzF{rwPM(bzd$AFpw*ITU|m2}-^l zAexfIYk9c3xVp&BjdRJAG)VQb8Z0zXvD%lqsJJ=U*#WQr_tuZ;(vb9$d?XQZ#&jZEcb7t7N|ucF{e$j%q*US&nupp=*(@ zmm8{;rYM)i{Mdi#cmJ33x7*`2AY?&an}UZxDc)zO4+?e(co`~$6)eNOdqZF!ay+Z zg2ux4iz@M`N7{K@TeSvCi=-KushIb&?qbwv3flQ0lGTV`WUAn_XVd*W7P`8z$O%i{ zo_epd-P7Ui*|ok|THfYbPn*pYXi*mwm+rw?PTA`$<M@9UQr1hVoL>Vq~iYwD?Hv#QJ*1FQ9dEv!Mc%j*Fek&L30V1JE`u^Zgu~jd$V9q zh-b6TZ}*XHBbI7jHqeK@J!#ev*~abIqkGQ%)QE+n1hN$4yYNi1+I=+5_Zy(v1iBP8 z>0mhC0&3C^j(0yBVF#x+XJ?vxd~(P$2A+8|6Snq#u$&}Phv;$*+7Hj0?9><5+Y-jy zGq{a5)qvI+I3$VEj9)J>LcBV7)JUxheBbhEz`yKSh~>VS&|P%(N~Xcm<=%+X}p5I#PREfset?Ou$C-SCU|TBe+gdEcy* zVT2ti^|q2gRhj36KvIV|s|iC!9k(=JjU7ZLz5a25(^%x547IazJ{&4q)=lGDdRV%b zJ?bJ=A)x2H)jY-dfRTB_LI`CTJ;Qa=KNAm!9K~_MCD{UeBf`Z9>HJKdGzEj2K>yVM z12QPwGC3o@o^1To+hium1EWl@b~<`7B#V~+(ah+$D-~w4=O)uETA`9fZ&7RBcOzol zq1-V`>X&7hLX97j;^^Sz$EtG>VcBo5ySFD{*)F|F{6mOyq71keu{Hbr2$p@Z*a@;A z->miS6s9jr6AO4Wg6hHA*6@h>nnmK9*5og~qVd4AUv!ltRzS!l-(Qzw7=7k%M#${5 zH|Z@XC>2@$B-MY~b^J0a{u)t|Kp4d$;czy8{$9>^kjaxk1|k)&){!qL)sn|6OeVTv z%ojpZ)4sgagY0?E1LYkQ+`GdfOBoNtgR!AkMbdhfo2uIZ1yN(X>v=ylG79OddR|5S zgz+UArL68WnsKc+y5NF>gzPg=QEM?CD~zSTI<j?uV?<6UKlU>~XAE0XEoBJi2az zROm3DR7#>noYe9}+7tRa^_T)5)%cps^5*?dP#;Y1N4+1iv%A6XHi~Sp{eR-9p6ds? z{}mYVuUJYL|NAs0|0}?VFJOX^fRW{&)ZKq1H2yaL6aTN6O;{NI3$w}p1SWD0M}T3R z-$GzoY}Mr~s7qH#m}f3|#?L`zW|DC=9QG+n-`-hTu?a{eZ%B7(nzV|dNOESlHoRJI z?8!uOjZOM5#;Iuc+LE?1IrqF$IZJo)Gnztlhr9Yn!p6Ft*Yro?;roV&32O_@^E*mLFG=0f756R2{H{@qTz4uQdd2m%#}Nr4CNK^uJE@a(?M6j_%?DA;#Df;vrxcb& z<4MeV%$vQ4+IXzzgi)_K32J85BqRErK3RC_OXph!(GdxllhX@O*+ahgukell1TIdN zmZcFfOj7d5xzxHXryAwdaO2o(0d!ZmOXq6^vXLI1Dg4Qy;y@3x+tS=5^*;lvyfsPQ zZ$HF)7rZ{%OQba^e3DD?$eG@%?a=&~K_3*vqg0~c=6aKA>4{W>sn_{D zj^M{vE@eIV(Mv<7H^IAAw~nVY_EqpAH3)t$I{E#p zrhC}*W)}v&6h(xg=WCDQ(LbfwWZ(_Vl-u?BdMq`QC7XoPPA%ljzt?kMoj5zDa;O~N z$kZa9HOcV#&&+b66DbSfCy{kbsG^ji5O`dlnST-1t>ZQxjE-Y8CSC(+wFT*LhG^lZ zft1$2Sq85eOQVWtXjE5i1~g7k&c5L{qVDl96iH?>k?)GNC8g7-a+^O}EkO)+jSbr)wWtzV14phMNld&PvGB zb^lZLwmsBmIV+Eid+@XAvxT}g>rT80CR%8+{?wVTUrSq2=O1*wB2n%g|ApIo{yX+M z)w@qGGoFe*+CY+dh_7RyDMAzyY7?^6?(J2X(rdONRXa~YI*?pdG;5UU7A$1N{vd?M zT|P{H4Og9<3iO0O^V1c2e3>YEUf%jE7hAH|?`FA1q?z3+mYBR3b`h;S>q29HFXSJv0xH2i7xl><;t8J&n49Fa$ev{%)1 zTWV@LLH6^YVFt^qw0a3@X!*M`1IU_s$lQ_FOzTo4xpIvTo5e=r?4{I@;iWLV@r}!< z+ZEgNcTnRTsek08cDOrwsGP>L^4S&(YT8Ke($Z`1!ZF4NT1H8%%K}pYHZ*Nc@AKDh z_4~imH&Kj#4x<)lFnw(=KoVFfA{?PUmUY|?Wp!`8X5Q!lti$=x>LTf38b0=j?3;OC zQhlvHH?YlwKn1Fj^kk8uy!MVtyF7IBee`Vk-E04e+DkySg(v6V#H5`B`qKs4EmXF# zbe1=EH~VLRt5&$=d0Wsn${S`AYn}$3@UNxj2fh_GT5N&N4N-dRnkd~WHp_KssipX^ z<^q+fN|SXWm-VN7beq<7;%|?} z#YBY5+k@cVb%1b=!iDmwm|oG$_HSMqblB2v8uuX1WHegddD2U_`>;>vsI|qR%LQQr zg9Zu_n!WC-G=GN&KpIEi3jrzRRq5TXtf;dkAkXWHOg2#IKm{=#i$sjaYYRzm%N(-qrl`h3oc>I2lJwYKbP(K73y>wq>VS$}60XLuVK zgasoLP3Vez&p+&6&s%lwS+aTCJ}PPp&|x958m6F9PYSIxe-#~R7O@IvDpLzEEKQ;HB133++kj_4J*D{7vWK4aWjl{too_H)opGt* zCvQxRcc=$D#w2zfiS62bw*3fgB%d)*Ny2IHtIAk3j4UENJ6Mi=9iQ+r8%1TuZ8feG z?lrm!_TwqabauGvx&>U&9B6WC%m##oTFX>L?@O^dYG^VM%SS~%0vA)Z&=bmb{_7U% z=r~*R)4hAZ(mqcem8UjE92lkfayKOHoh%9<`h;_!c?g_+@!Dlur7R_kmHCNc8Sh?F zb(1z410E~P_D8IkNOw_v1<-f>=h2d96i5JU5r83(<9f{;c?U>E?$R~?ExTA^~MQ&_+m8hX5g~o^;l>8MmQ0gT-r0HYb zGuBeAeXsD8M8by`+DpTSCN@j*iGKf}iMIsYN{WM`r`5XzK9q!;$7&1?*P`#gPteLdJ zqb}qH#ssOdj_L4DYP>&Tgdt(uDcHkND$O2GOtFryq~9_Lr@1iat=~X` z*d&2a`VEEnnF8-S>GdmAJ6UQU!rAqM$;>@H`PJq1`KIve>xp@5mNe6c#!k_?$T}dY zES!H&VGp5+5EpyRS&24{V>wtVqnq+RiY}s~I^awYv9v97?SR3DP9?mmcv4m}Q(9s@ zIY>Wzy1YadDXLHw!aG!&m_`2p7%y zB7S4dP(t~MfJht4Cuzgrs?LkcGZN#TkEa_&~evpah($eNtw(vlWAEua>Yzf7#iatJ9}1HNb&+DrV*WB!z_Gk3L=@?UH zhcmLaPR*mAye!rBpra!-MpJ-cPXMb&J=F;ad|g-AMCB$X@NZOeNDWYxM9Ti07qM-s z#L~LzhaZ6og04iaQXcf+G_cbS3;}m3GQekD4DNysru_^=#8qP4=w-i8@BQD*v>Ab`l`Ml{n!Mf!`3f(r(~5~fzI@6 z9A`i_)g^>sWYz-jHIJHxJ*HDYJ;mxR`Q5L%^+q`Gt9Mi$4Q8a^Z;)X;WVeOE_j=UD z85Drn_+BC<^^xZ-bT>DIZ;Tv9_#?hb3r*0Qnr8I12UAYi$Y8*(boG1kQ0M^ zB%?~|mY=xi42u_VKukD(^6g|SeqiXa+1ZAl@+uO_QJDx6Pt(HmukJ)bTKsG;!8#>M zu7CYAqc3f3hJ+eyi4`gjO2ZjR1D1@X9zf$jxR+{-^OfX^uE1)>fK%hrY~@#gNKZxC z0@d)qYo*UmU;l&E($9LHRp<|^r~4(@vG^vP8PwZfyZu*n_qG&%&MEKcjDU;~*&j_r zs&{vzFqrbkb!2gLIz*JX;^-`SL>0Jb3ezEQr7${%n&WR+s%h7An8n08a1aM+fw%Mf_6wzJ2MbD z(~^WMa7}nZ5@}7Y1S$??Bl=r4{|dkigXXu&lD+^qz@7t6XJU%H7TV?^ag+Nu1a|zg zHz@?=F7656RV~Cad2{qX>$Q)Xg51Bm^(8?snt$w0%3aV`Nl1KuimFK6;zpYbsyU)* zcK1Wsg<}!S2kX6sb=pzgb?5+@4@maqQh&gO0X%DlLQM42p`Q8t@wVY0f9uIqX^c%EQa_#N`HGfQ5IsTB5=$@x5wDhMZU01Jiixdvct5zWVzz?n zn53=~ttfM#r0{pKXs~I9vU>fS0c~DU#%q~@p2gNJj+WslwQI7vnF3`fy4WEo$D4OQ z>j=J=DBYS;4ikWt6Jt~aX1fciVk1Hb9G-ZgVs^w5`ncr#y$*EQQq&7gv267FqC1pNsIYre_2K< z2p990#k2{h^+UwB=-gJ^cP&`%iINi0eK*cC@7vsOjq5eVhaeE*FupBoLLF^SA5)8c zNTDxYk>VLvWpL+D9dipH73xKYfUI5-lEE$1+i&*$WomUYY-ZT%$d+2qp!Ag~R)6x} ze?G@DTN-sQkq(8M-yd&QFYudu#%**_*;L*xmK0SWj<@h|?LXGz(%DOkYymp^OS3f6 z`1I7OJQIVCYTV;m1ZzsmaCIv*lKNvXG5*Vn{n)BM1zL@>csu#7et3Zdc5YooCRq~8 zaX-}4L*qC%F^P!f`tW5d#sWzzmI;bU4d7B1uy+%-L2UGvjUvZWO_43%k~vI*vgemy zy;prS;2g>2y^HmRBP8FT;Cpk=VWF1VRu-H+(qL-6k0%LF=(ygtKw!V|S(N`P7BR;E zL?iYuR5?Y>9UPqq*#1v-P8JS&Spvp?7x$DiuuyWc{trejvrQ(J8f6Cg>Y5o>C)n#6 z2Pb6;N-CKJgi;#u1=mUndjvWO8i|HFP)LSv{k<^8{{p&U`X^%J|KM8qpPXh)|1MSf z-_gPPUjg0xZ-Hz6t#AL29u( zBMrX^raf{2f-`WN=x6_h12*BEjepSIT#?8y9p!_n=1=AGpUc`jfPFMqo?EP&cnrFc zIIUu?tlSqg7!#?bk;Gb9m$KNnn?!yxt{UW=)r~SIoi4T1z=e`L6hX>PlV}jtPedH3SBg2(^eTY9wGv99m>JBeWrP#p zM0ZWlPZD?1^>nyVxQwu9AoI+wqHAlOCT! z&OT7O%&ly@l*wL|-u|teyHD5_OJkRAqw%H8P5R*D6EzwyrT4__CLU?y{e981jN$8R zq4U2LD%M@*Cz*zHcA|>o0d#f}ts9TMufOM{=g&8~nNZTk1xN)uOO^|N<=NYRaKR+Y zdj5gw0{%^#@U2-nQn=JWm_!t}T-7-{_ljIAUYR)l{nkUnCs7)`do%l?Q^U+X89o~| z03H#Pxr&sHe}294vH0ZDoQryn`@1Ym3e;8_JbszJ`VfwQ!PW9`=@G%2S&aKS4;b~q z>&flG`+6f5zv|vhvIn2&n;`T^oePQsHP5?&Gc=UXfoA9^cg~fzEblhkazr`BD~E=} z&Bae3S31F^wgjra$FZyMo8{FJa(ub=vedo?S1_I850qD}Av1Pzsa_rD8KAJ1W;P~g zO&Ttc43$LT7)dxuXGbVW z)re4-hC{cSrvENnGhrnD`Xk3H*^<8gQ^wob&ugUQQ{ zd%c^u%jB_--9DpO|;;sEK=OOvnWN8C49+CgN-niNa z$b~Ij?ZaD0y;3Ze&d&hsrwbH{5mCzCbps4m=8tvUS93>$vhQxN%|P(muc_`Bo_Q#= zBEN42P?LUhR|<2#Ds(HJ-6c^JFu&S_m9P|!A9mY@Vzf=%UX@Yee<&vF-^cTu`YX4Ka7SBj%Vf`Xs7SZ$SyQXS?qy}O!K{rX5JFPbG~#nS1EC* zlN!H^*VBiIBoiP*GzlW-%gfDBtXkA~RzEQP_n9{2q{eq_^es!-BRtR3=Z2iZCJKQ( z1y2FUkPn0?;7e?={_;W!mk9AbUUNHzOBTy;e>_EBZ4*Jxcygh1W(;y1Na11#Riv-3 zQ=4)-E$@u-=+1*v*x8Ts;h7iL1(rrL5-(DlVZr%Bnb^y)u7%D)G1W)-=V8wm*HiC? z>4nCS^#(Ms1}B)tvBz!Z0XmNL{*phXM|!Os>Kou z+mw^Yb|9G2v*3?GcGUrj5NU{KMV*h5^YHGhV42aTVv73As>%dq*rV=JFNKFT8irB+ z?yN;UN}pg=XDwcw1dJA#{UyeThJdiD;H}&}DHPkZbDtj8D=P|V&IZo1T`e#mBDu`P zMPemxm{lE%h_?H8*%&5rVVXMFtixQkS8Q=-P81#2>$#ZtwHVuI@tMqnA1bT8@ut#; zsoI=f0)`B-2J1V_AG$V&Uk4lQxiAYq@0!Vnl}D`!A5zYQp0`1|7tH8PDly%-Ouz%l zg~u$%t)Y1mTa?J*JT>ahtUg|wh`BF4vh6zj1DGJMEHN-JzIG_75-bg(wJqXT|0aLh z>yYIgOAL__RIK`C;{skX{MowW;m&suJg~%5@sXmp{ypkGzLWuSO4fn5#Bh77=J0Sp zJ{~kYAOG|Kf^C32aGAS8XQ1#8xy6{zpTEnjURY~4#SL)YFHT@vzY7h)+g1#WBshyp z&@O{URK{X#&eOoT_7)dm`~#8J>WU;Blc2K;ttbZ;HphFbUzoWV63)SovZEgqe$9~Be3SeT#JX`{Un^VL-E?rh17Zo1<#{obs1Aaauox}s_M zT@=@2ek*n6sWJ=CZbC`=v6OF6yRxut1frg5E!)!V6nP$+X?{CpCE~VIu-Fu?J;ELO zo(&fFAXh|()OxI2&*%^Z*tl)hjv~!Y98f3AeV`{~Bg9CGQruLQTlCFJ4B>mUk}2p- zd~3})ESYO6kiT6G=w^i^Eo9H2UjfCmpxIdwrOWN2ob!oydYJpCbwj*--LIzEuJY`3 z{5#J9Yl#yuw?-#NXo;@IQCk~bGg;tmJiB1b6elF=@eXkn5}e8l#-Io!xTQp>itxhM zji8>lc`XiNM=2dWh+cKMr84oWZS6-U%?W)SxsJfo~<4t>K_JuF&khe_%j^fASL+KH(9@*ka*$*M2#Eu=)+MA zfp&fQJ)K|>6;gZ@+KhV9MH+g74lNs5oOt6Kr)f!ZCtZa?UOu-Az}@AnLu6KzHTYR} zvXa3C-U0r@_E8hcpeM>NSx0gAkw^9-Xl=AGOujc`ay?_XmPxe9(WIL1p#!$*M_-3O zCxQW?8$r!A4S+CxJ`u(Py*!usXD&}``?;rfHsS9qcfMJ~DfIFpSBCROH#)`-^pEGo zIjJTDht}M>4mTI@q3~o*emZ>`n_+f9PAOgo$ywQn{)ehaD?`0Y9T#63>ygSwmy>QV z2|?B@sRR-o(i-yv$n7-)2*4e15@X%#`~$jo6xAbrD%?(aV=w?nij+V0s}0G5Yni_3 zp%(X2fQ~SIW}-kNUg?4=&Ni`8XG2SYCW`%wPhFep@dI@udsPae03>#7I)URn4G=q; z1LF5XQD88iry#a!ljd{mcf)xj9B7a3%*=N!A%yV8Dc*;55Y9Ok?BW>G{7R+gtG4wY zEpe43BE&y~NwCF9tS8UUr5(s2$@~J~_o5_>8EZX;%`i3@?IDI90!xp0D~A|ZA; z&;)O~v`HP!y+3X(elY;Fx{s$jnF$QiluFnZlI?|g#tKGX<9gnf%?gf6L1H`wEG2N4 zVwaUO0sO~8L%wq#bY$#pvw_#hy7QkmN>N+LH11>Fxbmq(q&)uK+c>yRtJIo+3X993 zaOiXPcdl83Mp690M*$c3ezTAO29f+7-Yy%}ucky*k`~T zI*|@i@?3R;uWg(kS~L?0?Rq>O?aWhNxNqc8R zy{d_4X#Lh}zDQ?2$jlh=PH8@IiJ{#GuE^i^zW#tLc-3ZjA)}=-=|vBpZ{|w&xtR+5 zsOhxvBBw#8Tn|d`Nbf9?XiDYsg+el^^nRJgu22Pp7VU3Xz{ZMN;|Y?DOyJA@~MyA(BZySJU8N{%pUJn#~N ziG;IQ4pmn66e=30>~PyVwRzkd=oeJ&mz&>I69PNYc<=O|k0m#*=tx+);)$Zdvo@E* z@|@G^`fE~_>BdW)h)47%Lit&7H9`E8*_Bn@_YsnjZ;DsTzDy72;9y$rXTedE+b2vZ z6XAED0s;iX)QB$XK@hY2fU}TuXXv#ZClZfdoy!95-L+`BnbP);r%aOcJMsop0a3hM zB`--Ou2o-sED!RseD7TzqZLj3r4_aSUf2H8qn+%t7)Bp(jBm6}7ZU&K2LI1h`~Px- z|A*N|@xR4N{{QI)|Gz%0g6ThT^ZW~xMB3QK)X9v1g@KLXKkyLo&~w#)6BgXKqxPWu zB>_48lil~6EQ&d?)SZOU(gbM=1Z1_q05V5Lq4xG+?rGuMeKkv?f`Bqz@(5_2ZmZW+ z%TebSrNp#-LTPxSgcFS%Eq~@J&D7ZN;OeK-nSI+!^r^~~O6f26*c|}d6LDSSFw zkHpacl{&pgwtmYqn7-5fhDzl@hxA$Q!jgXx6eF{wTF&dw-Fv9@PM78z-$b3?q_|$2 zN8QWHm2jQhPI%*Ooqalbl`@Wbx*Xp^Ir=A#b*g!ysk)JP7gao2xyN8L>-VvE<%@BmlXlWX7oC?mm*(P!jVX z5V1)G-a zqdvkNna}Y!q_cDizd$zo#2YdvC$*C_BA5|IC_8{ij=`X7&S0#pmMxeMi94{m8fX+t z7kN!R5pfMe5DyJ8K2*gLmH(THzY9+wmRm2DC;9dyt*`*OnhIIq%a7g5HP8Cz4yBO? zR|IC)5foqkV}_=LdWqGH48=<)Cy~Q!v=(Gs?L)n{HIhg9Gdq(n7x zPaspN4R0_@PK1U>(x( z)1#A621s(P!z1j&my<$;6}F|5YH9M-@}8Y`yMu*PoO^#ii z=P!T;ay*aW1S>c@)r_*e?7b(*TIbtP;f_~UfpFt!(JGYQ{_3Dr z#NgTz#caU7MEeC~=TIaKd5{$*1SsJYWD0~ViEU{pH!A`=;6AS5vvy;S^|D{SENis5;2r6acya~0Q%8LMA;oSdJOfyF`xxxbo)GR&%|G;7 zyu(PH{EeH~G?dRtO%33CNp@(#+sql1&zmQOpI!GpAb%8CL#^AOA%^2vb?`q58lM-m z_L2?rhk|1O#Pr|s`yKwM_Wsa?4+%j?{g!ma9e`kiFc+z1T*4zInHsUiH&!iD@}qRA zPSPt)M5O?4WNBe;Uk#-T0Ijl%joC|Upi~5)`;(0h4CqaK-Zq2A5Q0?C5H=QI)j>c?U15b0RUWVjAs<0^pZOPw7+m!t*U`<|thx&K12xsI#dnJFS}^$GCA zrYk#=>W7+$KRrD5t|4l%7ZD7nRw)|l`;t5~@o7t-ss0G7i>u8M$7~8<)yL?y3!)kJ zLVIRLjRRjE)Xykmu6WvHIaaHTc5EiQk7(1T2MUE+UZ;LZnR;n&)l7eB;@UV(B?#Gy zo%V{FvfrY*dHopSwIFyAawM-wI0N>RJZ#L9(iXY!*{LGv%yaulsXZjH#?F)``_qK( zuA`K7b}t;y;WJVFPJ51Z8=d1AjaS4wF4wuqM@QNkm<^a?ksO_!GW^O|C#QeYQbJ=A z%Q6yhFWQhjfW5AI^tnst=h^(3{I!PW%?4?A`oTmQGeQ-(BI^@&@YRCXe+>U3Lyb8Q zQ2bR;r2|=2?a~8!x(4S6VX_YSFdch!wKIX+N&ud2q295EzWrm_DKm}yx)1ivmnQ3) z_%E0@39{opk2yzriK*hgqcxdp7S*;jrf@Z}(Fkfs7@|Mr(7&B;vcGU}Q(HkQ z_AKf;63FM%6YLp!4La%{=7<7VUnJ)jL@DKw_%f32{GE~;sVLwqs{Y!G+|ejT?8qe1 zxMmd}y#si<680}$pPhB50%=aGmXTCWeFOaJ`MbA~&r6%b1(!?epobv6xN5yM_x0&LlOiO{NC*ZQgRyiBZrA*dVi@}i%LGCVE2QJg%4+kLbs!62%@E+ z92uE^E$ECQLIsS;1PXOPVV;90i}^*#W6PzaO~qBw;kA(gy*=6+>|=Zf=_a6~=#*5I z@~Y;t10U#YS8T+@U;FAftD+<-k;PY-`C3*-A-uHa7g8;7mvm6)pMzx+G5E_NJ6)~)ul~p6%{R&Vsj`( zSjJFkV_M(*4G8cGKEkSu`lP(8*M+{h&Y~?XmiZ?}09%pJ8=%e4iW)}~Cc=9n$nMsq z_^x(>2lIKa(Ml_ zs$j)d&nTa?SIVu*Z^amQ1N!b##-U`}whye&ER($~Wd1!GrWVRh9R6%8r;m&`>9M%R ziLXcuI~@pbri|chbNzg+(X}nkVs=fVB<$<{19?Z+l1!GMd1ydBKje|kbpE_hpEz7^ z!lzKK5nWG4`Oo$utd5rf*7cg+I8AU1!AdYJj8m9bn`5%{AInb>kjY8*%BNM414?=Ub@V=*E~OcWr(r$w>m0@12}All(+vLwBp5KiH{K(v=Rf4_J*OHEQN6iqgSv`C zZX#@wo722xymG@R_Z- zpQ5PO@3R;=@F@g2`0;v{%b=z9LCquWq-ljK_k)8e3kFTZK9*&QxzZ+wKic&jJ)Kw& z@%(d2d*Y2Jm;h3jz@KtZ36B2$RJ#GcVi~`lK?PN&#}Q36TjqeOXWLr~st!XjI*K|lT82Mh{Z%^tq zuPn=p>#uG=cmrP^^ab)7-^6VKB-dCWQy|W}UX4oGq&NlRmODnhK&^+D&>~&?4R>nQ z-i_PiO#5zSlj!Z%YCZ~JfsND_Fb{jS>knG!(r=~7T4QLrM{Rx|H<_=mFJ?iMYIqxL z>SX`y#W-%gc4S%m9_-RPg;mB+)~am;y4EKb5{>0WRYMzt!b7)A**&{BC9`>4PaCEC z6H*l;@nQB-9JHYBa}sU$x+Cca3S?wY@E-x{vJaW3VscZeAKPg?&_Y_;#AEiG)E^L0 z2NJyX2wp=KcHO$uo8e$aACB+aKlmRyf`;C*j7hPRb$v{29wl9w7mW;y^OGtZws~-5 z(WH`Y?3%yEN4Ay#Er>aEKsz6$xXY=cf{qP>_eqZWd&`!#do!p{E{0-2tB6YU;@Kbz z99Io1;YcaPUPkAdc&^R4zG;podoJyEV{t(YOEi@i9#XLsiTZ3vvovN?_vANWA`sI! z@rr!4+kWo0zgEA5L=;(*a66HEXA8uC7cZ-C>|z8W5(zHwKAgN(wcQ2j0EV-LkQ@cu z<>H3zKY6HRjl8t3)BNmVGL%L1c>CPdvT5ol=3Xlhln8Q**JfnFJ3q{>aS|T8G(Kjt z>%G*`&|^L3%HjPB;t~lx@MN?2l%=gX{iU0JfeH#GE#!A`!I#!pRuAH@IMAox_RGoT zvnkShd+`9D?W091tNRnQm`A?s%^B;t&yMV)`BOODlCL!~{9XH~<0E+^R0n5_`r|Vw zg~nO=_)d>AbGCJtmGNsgQ2>`@&Ip|~#vFLL>6x8tNMe@GhmTwf@)~?GTub8wHeuZbe|D4q9Q!4c}|& zKpX;oXj=ZkfkQ=3Q+bX0K&Jc~sbL*065_oiH7bc7@?~3p>8S72>uT-F09DK><_t6q z?LHR1R}1H+*iWKM!zKLvfSS^wTgmL6wffiDj`X?)86&&cY3sR&FY}TD@yDF(->wL& zS6c(M{ga&XlKnoAiW$t|w#6BCb*mYKJ9Vc+@_n(6-u*VZZ(1r*iT7lH$6C7KWPY?Y zyJ~jMuA}Ixg6Xv|5ACzSl#?{_z`TBbYw_np@>kkP>28|9zd}C#6VL5`#4h|pjPd_( zdIv#c^M6d0uCOy~QmE_AH&6SnviE?Zth*()MRr|Zs zww@#jl35a{c|EB@{W0veXM}KaG>mNZgH-W{>v20YpY|D93mzbTkPkjze3gOqR8k=e zC7BlSBIQIF&j&u=hsD8$mCWI1j~%@#^;4T_Q#g+}Y6`?ptK`O@dNk;Zxl`|(xq*h# z&4C)7(eTXotuSm)+VEAK@P;<5n?;?Szxf^OtDlcOI+x}_&x>9bVUhN>(t8l0)a*x* zLN+av39gT#YYEj+o-=G?K2;wzUyKZIK#2>El(@hUi(nL@*TiWsx|)E6R@b4fBt=p5 z!#@?_CIH8p_{kMn_eq!9kc#{}sEY)$KjY^e?2Cc0y+7$x`KNlAsKQrRFxL3$M@VeC zofZ|;(S!~6`k8BB`_YVf7sz=Rj@s{|W!#hX5rZC=%M~*MS1BI6F5>3aTKbbD+cRr7 zWz}uT+4Wjyb8ZRdk_16vv;$%nne`PCsH3Vl6mWFm73EvL&kd;J1PO4-^7Csq6Ey`B zxep!8DLdxIhnIn!kO+7aI(`$YLE!Q0nlb{&ki~a1LIz+6HmTEqUNEGLOVrt3W+*nl z4#({Rtz8^z)8?Bi<1+yK+!c-!Dux`9IO2UA({kZ;Wvn?ZX=p}^Cb~SnFAj2pkgjWf zG9n}OBqE1J4YKVm#h}v6yLMu;z#x$c;$wIiX>iL11MB|Iay!onqA12IoAEhT<$pL(9^0AoL@;(5WkJ6Kzn{_E z))R2VN{-(W6f;zrL{-<73mw@z)Zg$8-t(neJ-s|7HiO3t8_?IE@OS z#^|sCqrigdAW<*#?bN$H-;Dcln|I@r`M&fD|6DTfn5*cdnwn#Wl!Z7Lws+awW!tuG+qP}nwr%ga^`7rW-_so@zWbv)I^zC( zo{Y@3R_0u}a*j2}7}v#?eYiHF*KFvw(h2z#A%#zYKutWk&&qAzGa(WwQxgI?_Au)dviU(u%!Ld16~pcPuDt?43-&Ab z44kI?#)Stqdu}2EG{F>NJa(?xG;O2LYHgzux@Hve1Lk)B)>o~awHzw2gTQ+cnt(do zm&LbQCI9daN9I2gcZGSQ9(%Z9ghOC03|r-<`L(m9^@FUO`(r(M&L7^GsI9 zJ$fC~EB-R+w+K)(>a>L0@W9>*U1v8?HR4_qHZK7-4OZnEXcR3~b$le9_J~M_jCV&V zyP5_=W?!sag2?$`li3@DG5&mF!8O!n#!i4@LJ(yKt*5N?{J}D5`Jy&3WR5|VXbk3R zze@5FAucgN1N1Pe|-=wb%c(eC9la@GsX>AZ5C>=ksPyBp$-Jw|BTdw;@njlvc+^J_vj?K(1?tSP(!I-|2UF>Yp!EaYsOFRKzjMDdv>n5)o34H(8vD-$(-bT8^U4(8~FBje{`fX}P zC!Z+KRV(D9i7(JTQJb4L(+|-!KEGjp*DPDFxW73M81sd(r1Xn%SUJDj#Y+L6N1$aZ z(=}nv9iV=-!K8ei$Fq;Q4tF|loP%17DOOv>0}koXy+VDF!tfNV%UAMj$Y=yL zGX%5?1`Q^;$=rax;w4kW(l52WJ9eX~60vZ;mvvbe8V2=v$~cD6_l)4Kgbwibgd`lh zV7SAEF~U4@g%A#2hD$c5(i0q$*cL%`^0zRE2WTq)5lDS21 z9REy4yYz+)beV(ZL33#d>yKfKlq^PaY{L&Rh_fyNT|0x-PH@GVz9n#jqME{8SY=*M@mphpX z!%x?+-EI&*y|&{{ane9I1-}s-aqBCL;z?TSx7+OxYp#2HWpKl52;^>9qh8C&cWiJo zGuFGJ6wxYHwlSYc(&WkMotvA7=$3&s z!4;_Kj)s~#I=j{T2HIEC%tehO9SqI#iGIlRizf)d3x~1n4;+R^`s)#uPxufOy_SXn#4;OiV4# z0tIW^+M*S1J_uK^Rh_aSk7z)|f{9ArS)2= z(-bc}2C*hpcYWzVlAW{7sbY27>(kRBZtzljOWE|J^{cP}L>g(a>?ec3{ClD2#oQKJUolZ-yE1B35$}}MLT^XlBFPCe zg&CahGbC%8AezW-7SGcUh9sK{xF3WzbEi-^$$C{k?-S$2ch68-I!pOm8Sgxsn63FJ z)8mE%wh#ow-%l~QD?>C7g%f1+B|+sr;B(d4I5iN=1$;rn>PvgB^a2<1XNW=z=my zdfdzYa8Z#Sl#&rN-ZrGQG?<#eHJ4f)MdFKCqWi>+V=4x=CA!G=3yKT8p}WZxyBGMB z-F;SZ(TDvq8;_sx&U54#>2RM>VxiKL_kDs{>|Kn$$fuJR=$+19tGOD|CG^2Fm#+_a zu4gpfvPJfFt-_l8YCHx;rDfEf`h@}g6_<{!a-?|Apey80jU$BGgZ_iE7>$wK49jmh zweLkE9_zLJWqiDiS-(qzOZF#q3rj5~#~PN>)+Kb5=D&gp2;(@kSlHNma12)X!3f+4 zB!)={M2>R6N~5(&9wuZXyvri&;@9t`m`WDKQHPu#Cjd+ux3ZdZiGJ@Ji@3tIt3c90EW>9oEV zF-kaJfomi5mVThtFJ&knXh%H}V-K#58VnVY8zJIeZkwDV1%H&=69wKG$q_R%(=^NC zwt7Bbmq|RK*raCz{W`5`sM{Hh<`@UhyD^>qyDE&%GSW>y+PU6zcoM?|%+7oZxtb$} z<}DeL$+!>i;(N*Y>&J>RWHl4+Kjq^8CeQf4a`At3A^y+K#s5v&;=jqonOXjCRyvca z+76k+KUO+5sbXd0q%icr+?35WLuKsFg;P^P*0^fuW=0LZE=}<-J0`_^V6)YQi%oXq zNxJ|KOq;cX2#Bu>NNx?L9SNlCb z{L(+3#z`iGO9M;;>YsO_TxEBy-snH-h$)`GEIgX2izI$NJL+W2R1WW$c>mh%{m(p{ zj~eybg|1rW9$)znCcw`shdHl7-Y6UKG?r6>R{XAueZl0`-t#ql?k)t`Qp*C|uYDAXfwDY(_bApH=PL`}` z2{WXj@l98qj1dCZz2%)9T(Z3SWO3i>bKY-KJK*Am=<#}dOf0grFeChC@{2OwvohY3 zq8-+wE|>uN#u1&wef&kyvYRF;8N6d8P0Bmxad$4GuB=VpGs%GQ0BKDqSZYU1QH_~E z5&3HN?tNi9PY!W`BQR++T|0EJGxo1fxAX8#xbQ>R6j{ZoAQ{?nB<55Ff}iE`@B(wd z3`!FdzVhiW3(8+XrQk$<1Acy#{w)}YkmWOI`DP0R^yX*n&N>&gGU#}`4$Ki|mr~YR z(S3#AB%6)>OEa<^GMhD(SuY3D(wo2}2&UKO|WIy=1}YIxyx8+}!3 z+p(DTE-y}W$+nLk2I)F4txf(M@&pR4RnSDeEcfK_ihG$_0Hoch*%)G8 z>mDH5O4g?z@x^$`wN$YML(q30Lv%57N1(Sw6w6=on-Mf_%U2ClIO|sY5O@S8Y`b7| z(Zc?qG%Y@)&)wfnGLEtFr@4?TzD~4ha4=-?oo={+h;w;V&$RjL{i22o`naa%p)?DL zA}vR`;OXdCwwHvBKJxWv6Cnbh;`iu7Wop;fZp+a)Z9pmOUuDq#e(-6{N0+v2tD95S zR~R@)yN9!A%KB|BmaSmjo5&l|Ywd_0e>svH9`-_~TH{gw;;bjHz>ok_=e=5CvV9-@h#4_F7Q^1DfRN+=;a@CJA>$Qaqo4SP3my z#Y)%}Zj8Rdv}^}0Ob-|YS_+aLTc0ncSjOem){762TtQh$RK_hvA#7x?F>7D7RcnmB zA-DUbb_8}`nNN8P{aD+$Pno3)9bk)~!CQ`xO)&pXEOW<79#b%MBAiM-Vx{<_aD;uF zO%Fmw7`Z4g+;q=T0N&NWZ5IyqrFIoOZ+sIJ{e=9A>s9Z6CPqa!e_K&;Ggp5$YEM4$ zT?awOk1EKqH66ySFo!MC3TD~FmJqThdq!jb6%tHd8T7*$%wZH? z>!Z_<{BE=0K(6h{3Y8>|DXOWD??qLG*ZsRDAJ;rGJ@L(LPqFE490KYlW7z}MBU$p0nDaM zZL_bVS@R{bO*d`$BPTK{9TVcT5Z$$i{BA0}kaQsYNmfQ%aA3&t zeKJ8fF)x@7sS42;DO2+8$oeqH_on#;i5P~=Y8kWY&>&Ex6TQysv6PiMz=7xyVsP|Z z4f^Ob?7+!3-UGb8mL2lNr0;qDdDupHIrfro)t8tYVg+ydU7vE#@BQqfSuHVlr+E#+ zZS^dW7CCSI8nD6)zf^9Ie)+t1VzEC;Q*BIc*Qnv9k$HNwI@F-G$(!DE$&464Rt`on zB$b8Yuv>}3#1*bM472PKzqn`Z3By1x;2(q73#AWSU_QiR?#>irilt%15iNSd z>1QSwt|t&JAjcDp9q>E6_p%Fac}CEJKPVdR$i>DGFA^C6U{ycBKfgblI>HaIBh;)H zN1Jqlv+7SK6Se{d)05yVn+S6s z=d6m~?z67>*2=mBo4U}&0e?y)v5ysgIQjXgSiM4x(iFHRm6wkW;1zN{GQCczcQsyY) z9(EDN527%b5U?wJ7|STmejU9`<_dTXIq25F_ZVHOhLA$DEQvHgmD=8+1G(%tRnnb# zRr#Ir0qpb4(zx>)tDpu0?U5Odq)w{Jz3txe6~58tc_`F=H61}@#jb^QhB>MkmW+1m3b z$B9zO0ZdC$*$-5%q7%sUN$R9Q>K9$gO5|ub+w3{$Wws17Uj1~MvF;m#Uo|5UKMd*I zY!{DEjVRW&m2YF(a`N;WThjyXF$#{DGSy45ojFb2xTS-p(;;Y%D(fl^@W!f&*1AmF zPucg>0f~pfCgVpUaKBboZ?BMo8oRKTPbJd>#solYbDzir-x}~aQC&kxsJpJ9k?EAQ z^)Qc`LbcPMV#`TP1JuSEyA82xwPp$B%l48&Q`#dYvzHaO)<^G26VRxs$lpyUY*CJs zMOPZ~D^lBKs%IfGWIBvK@7V$2Ad~!oV8Rx&U)T+4)Nxj1eR(>))$q(;9qzK_CRfSz zt{v?K^oU<~^cvb&82|6Uu@67aEkx;Q^IOTZu0{{uk>XxV3nnGwYJska76-g}j@skX zoEkw_(GLDQXZXcrD2F_5fkrs`N~q$_Bx7bMM>8Xp42!9*SXO}!=VRrqqp8N@M$*JH za33g~tCBU(8L7RC9XBWruCdHM*}U4I@;_j!gMchg=4cHiEb&JY5HO6%XeD1;%Jp}E zM>_zUBYMR!)FxC=y&2TGe2fY5g%gC_fC4&Y0HQGH%_Y%d8y!6z07ZMc(3a$u!QWve zk*tLR;OR!pqRMXP$uKOailD`R$=A{BOH_#HGeN0B+pd;oU~od7{t=~U!4@q|vSnhZ zRBCUjj9_lA9AHKr{^ToGUiS5i59=!C^jYs!n80_S85y07Xjs%(#<*RuOovS~?i#x< zWlI~dWMnhuWF4o5tFNn)31}D^;YbDFk9A*_{#g+<{igFIZ@HfI#a)Zwi&WLJ)Z znJc5e3(2A+n{7qJ8KSwE#(m`M#y`{FkPgPdtl@K(CBf`kvk}bZfkUi3dwX8+3-5*#G8uJf;=rP zJRw<;^_a?-Nin@xLr}h|nJ+~YD|pao>i~)7kJo_Bb}8MO_&Y3sH+Z=#%|y~SK5U?* z9ME9f6!s4}+=3qa2K`pYYgOYsK$5iJdudp}L9$nUVO5zL>Zh#~y-Oqq;$8MQdR>@{=?Rub5dHQ#ZU!}E+fShc zm>^BbI1l69$MRo>3m)smtXf#C6pOWBmuBTMkR+6E>mS&1a36p5+DArzH5K}Bn4Ejq zTymJ~(mJRwS>Yz=-`M{G9H`Ml(}VlzNAD!so7U>2r#0dPLaqRf{YkSD}{Z+s;dd{#m6?pRBty|zV5TE3AL&~!i{*1`oG@39{^*^17RbTwS~rb@vculweh@o z>A8~MjdDo1N*Z6ZfZ(>QFjK{|addAL8>#QRPc4p;q;yRjlFVavf!V!D4v z%9VE3s`pP~nqirw;nPf5B0;f-S~q2;f^?^9`8lJ^+)zU8?c0i{T5;Q>ixhqp6Mi>HNCQg14}Udp2P4y%x&kQ&q97TjA8oX?I>@>vKSt^I6h!pCXk` z;0;yNe!dw*Rt+667(stx#jn>^RYCWOW~Dg5xhJrL^X2k%6R=Xzv%}nm2d)SeR0=za ze{Tah^#_Sg%>vxv^F;jOa8?_!Lp(tZO19ZBdpzFlK6JJ2D3bdqZ87K@ca(EcLBgx? z-3xLumC(q1wxz%VnMAMG^D;F*b}SLQ0l~Pph5S5?;53ck_-KdiFpIn_k?*-26<*5< z>0Kvi*RdUChf)2o4BeFyEW6+LO(B57NUtkU6b7e!a6PD$oC5YkH67!*24Jl0=jbPu zvgGl??ZbwixILG6JX$8Nb^{6rXw7(Rt+ZJ`%|7ulOYj5nPhEW7Qpmi(CV-TF&pCvu zxOe~NXJm`z zrQ{VM8rfwbBWcuMDW3yuY*Gpl%dJ*(i^a4}8xn~s+_ zx+CFkPojIebz}7{(-QQ5I3W*eeGHir3_)=eBWSmC)dV3GgYYqOZO(kYFCu-fe-mM3 zn{h-aOch4fMm9beJ}S2cSk$3XNp0J3OfY;p*$AowWyw*6TRXW5$Yyd*sMM>jIe^;T z6ERbW)3HxXhkm5l>d7(vnZkz6)$2`FM(>|+_4>c*f*R)GGJ_77OaPJP^+sE4jk%fT zPbYO9Gy?%0AJvM<4oeAFk_NSS3pC7s#!-}Sh6u-1=qMM4#A+}Qd64BP2_i} z&@@r|Ca8@uetuh)%_WmbQWkYCneR!dX~!C2fUig?st<1(6eg9ibIyg(^%r&T#dhLD zIfZQm4***OX4D%(VN9dADDygc-85U*56DWZ$EEg_R4D@A29d0k~*M>6g9Te}$-yY`TGrls9j% z8&Uu<5Mb5|S~8Fi8vMv$Km0~=S2veVW(mtQ;vr6<0+kx$FOScF?}r?oJp1+&VHAY z(5ej2a9vhM4}u$BjE0k$r5|DY%VsG$8ZAFI(0X6$7nt>i8uP1ZGeQiu^$?#hKNZ5>yldmvLav1;?b5a_W2T+d1z#@b84X8N_LAu~WhuU`BPQHgOHZR_`9#X-`hS zLM5U>kGo6Qk3&Ook^HY;-8 zRD3>-^C+vNA33mqiWVSHaJzTq0PS%_&*c2+*xsrY--RTNB$1A2jaWe-QL3I0$SR}` z1zYBNlOAJcPC;!Q9VQ~Z?9ftDmil4`lxpsj==1i%>HOD_)+SkKnzA$l75z@9tt`Pp-XZ#@{eLiL#wd-|>c8Rh|^YBtFb0Nr9G~ z%)Ru(n*Q&sQQ)!v$Kt6+_mS`4BCZ|f?&wnkidyGxytdG1thYz+x3}viaK50G)CVnT z=Y>VEG+1Ur{rHQU&e7UU&&~aaF+b6?zT-3uOI&&k%wf-nxhS?OX3mF|&E%PkZBvq~ z#rGAW3%X!B-As}0aQj`VKgU#&X)_Yi8smaw#*)hn#Z0Dh&af&&QUtL6qHqr3fq$T9 z4;ji4GAYVerH?Z`g9int1{7S!oem{_c(|acr;tM3L1jJr;ccMmzu7a2>w|8UQGs<4 zTSCJM5iCDe1S@uxvkUA8CcZ$e3Opo{R7>fs!+E#&wPE+`^UvAunQTJA`JJJTr`9@X(m+O?YgOeDxyK+sANIRFW{6&0 z$5o`|eqKV9q`e1981%RE0G#WX%Dbh%j@)n>vA#+IK=px|y=I7BNqgKtl2TMpt%e&` zEj%vf-7v#CRsGo&cKfL3$F>Lkp&sRZSYnjDqL8TNY^%LtG_rnh0FeP%tC}j}i+E^f z0{ohC_qpK@ztKHTz&v57KnAuo4c#PKMKUwUvHh7KOT-KJMh`gYzkl7b#)heE+hph0`R!=3P1l?(kuRwH zc3^N{ahc8If#Gh&c7=G< z`i^;{)U?75&hOb@5u}f68H_0!pr1XPa6IiO2rbN2%Zuvx{1SJGI~*YW~EqZwhom)9cdl7;8P5_;9h@196 zZ3J<68~7^C;>ZQ?=vCLYGsK8i0z4K;XMnV+dGkk8 zQFY)qN;XBDwbV!xr5oL!s{kEw!aezu#BrgNTMNPkjkBJt43ZMk{JUrjCnxnKv6Sw5 zj<}dBmb*74S7sGhHZQ9c5!oH}u=B-@ao`2C zwJY6vyzohlkccMoNOp|`nXB<u zNpqQ*wW30tz zCt860DO&pc%iHd_SUB`(=}qA+$JH=hv$!nlFVAb1h8cFx=fQEep4@q+?N`@+{1Jo1^Sbq zvX@kz1hVYUBggEq43XWtMlZ>lV!kdn?PIQ?^^jLgf#SAzyomI=Fv#(*bx>Qh) zkRu9NGtCMIrkB~#Y8v#Sur>HM1FV8~(X)&mNgb}A~z}R12VpE|t zt9gVY^bN+y#r`au!`wC$4=@&nZ7K_IBIIwH)?(HB=9?DX1!3J*|9R$lWR}oXoDLE* z&*NkvX=OTiiWd#2y~uin&Wl{c`I5lDHlY$zW?t@ z{{I@m|5l8TnVy05-%*UkpY8PxR@9&E_1=wjCRX5B0P$&Fr>x7ywBH%SN1}<5g&lDiAC#n<1}2jajJw6y(ifo*L@{vDC*QiG%8F5`e!{XpI4jb%u_^E z1}_WSD@T`n`aB=ZQkCLNQHpA19M<$Q)WOyuVt;Wc3TrV{@}I2DJ#Y8-6~gVQQ2vHl zoej4Gh*BXgQ>eanZ`4g~cJ+O@l{2jqfljQAtj$=HxPM?@Z!ESlZOaV?=!%pa|RZEu8bUmnT$xP!AP#B#RtW4*^v-xn5Miel2VBw##}P&{BB|b^3{2?3V}Yp0mIp?euZ+ z@q;W_o!_r-xuzkV_~ETTo%x*9nA9Bmc$+J*!Rd|>i@*v86TT!CAS&!bSXiY*`{Ypm z%2{NKr0pXv_D`7Nk#W1Wvqvm2ctEt1bSh+Yx#{JUkBeM9`}9%dA2tjN2{z|SWc}gy z4-1VLs-wX7)gcRjSwtw$IOdyhPDy>Mjd7*KC0cJhC~%WE`8{@l*tv5htuu1&COWYj z;mFYc>0JJEPu>tM$P*}IXj#&q&(7A}jb!ENB`_)i3jCvbFFa0;Gd@E{Hhbv2N?hah zQCU$odxmI2UcfB@wjvZQbu>b=LKJ=5_b4O=u|QS!o_y&aO!?@#;OAlr$hzc7W6t(lea5ervZ%P3ytZHl*aGWH~bvax=Kp z{BOvLwHSM!p;ie4PyC^oSbV1eSfm@OROEr6VWRWOBF1WoJEXyZc)-EA-AKuaCuOg| z(cy581^Hk=)Nd>Dsz(X00}Fl+wLj|n#!x)S5|HA4_`g9bl)x(WF~Do-jYAdQxEr%w zdl|ekrw1)m0&~1kGWKzmb4zoTzJY#K*e~Usd0Oxz>jxu@eBK>$Y1C1+SnhEqc7!XF z)j(dB@uOc5^P3u?;t!_k4KN%qFghEPM!lFqc9kK_u7%r&RaVTj6<_4vZz1+r-?qd4 zu06#}HqFz7bXB3PlSTCb)VSzGRx((iC2L-g$7X6S#yo3}iHfm*s}H$Q>IHVe>z(Lu z4rBlhHW(&qtfL%%`4a)6-d)xkXw6n^6cw|!v&!yh1t-Qhh*|(xC7h!ev;4xkI*SCN zr@AD=zI>G@ZweyZ^*k@H?ZH7|^X2eZ!`_K8-D~sWezaoK@G#{P)H0&%154(ns2?)b z8VoZ6JLLHoNPrzZ2xmYfa!3x@kCWSVM$p_^GPnz9e39hcvW7qHz59NywoiCBvv(H~ zvZG(7Pq~Ew5nOHBM-Hxob;oZCWB#i5)tP_J<*P97*Vnb<&k2*gTznb7oge86j}ND*QCiZc}dZ#%6;-2OtSFKWVgwV_@RlfR)J=t?Z8-qRlYniD0i`ZR4iQexiLQvFtt zOzUG3QF*iQAO)hyK2yhaj81PW+x0`B)^mO9fzmG^EaKlTimdt3%r z`7?eMLk9VMy>tZOz~7$F+E94Z=5+(z$H?r=^4eI>Zfb9&ts+g;LLY&X+WhA_tuyc= z^RABX;2zJ;nw=g_l2v%!z$PwJX92h{J!mo!{q8{}#yw`(A7sUY`H?A8_R(13RWQ{1 zw#29$C8?=I!ulOS`E^Hx!cu7F4G+AbETKr0)3MIrPbbeV4_@S1USo3jRv{7)kCtZ7 z839^cT+>pnE-|#7pxl2pJ21$EaWmp8q)2}H&Ix6>e}b!zKn9Io$W zy&-m#w-sWqtnKRd4qmEb^Em-nG2P`oNYS-BwH?mC!~v0qebuELV@-bP8bej;Rn!*| zoG?GVgQN+sJ5SVzDqp08rL{$ycO|yMlhL}xCB7RdTWJE?(vKKlml}%h&_C^sY1E*7 zywCxHu6cYJIdc)e9s*-STGl}3IV;_3QIol9G$|xmOX9VrUru|HzTH!0=xg;96E$=B zZS|KNuaPN>;X%)|c)-kjO=Y7DAY}s}6V5K6POJhgT24^1oE$4x^zxGWZvXGtS2>w7 ziOOPl_}Tu}M@s(I;@+r`2&yF$MjBR5E*7r*&XT@5nsQCy0FcKMXOZMAhSNCnL2ch` zFz?xb`~`lJ{4mB>^`*g&z@H^}A}b?)5W|5%4&>58YR>Sq%%k2qnYY;S`^4~EBFzmV zF5UUZvOGpv^tO*89)>$9>Z*g>^41;zWr@E~DIZ_utM^6&erJWm-R69K+g@#-T*&mz zfV>-=N;dK<*d0(SRF41HEYAWUU6m35j6pDDFgJKz$sEr_0X6WXyYCfKwxg@IZc}!h z_|`g`Z?6S8to)vkzk8USNeC*7D)e+G9Q=xRxrpZ01NYG1HG2(e+0~W7@Sj<_^oIH5 zbIVc}eJG&YU{ur#^M_RXp{jVmv&ayDVayN!(LfY#gd2Q_EFIg3FyQbe&o%W^TwyWR ze)Q`)G<2oMt=L5eN3F9Bwx^DV61c97(3Mx~bD{eAEMiazDVd$~Jx8Yx=_91 zg&rgbUU$L5$#{XLEU4`4Ci}3pq;yrH&Z#P`0OVDSUWU z)Zwh6-gL92!d;f1YX60U=kQaM5WUpW8Wl};TJud+^fky%h^~n{TOAdrB%>u@Nx|7C zph)nexe~XGXYUQJ3!%YD8nQcn9DfEhh<;WIsAN!}t!*%$*eZWmAciXva}&@Co+zf> zOM#cr*9-JjcuV=<*Xg`#HQp=xnX4r%6d4F7C=}M@tbOhuw!~F+5{6uoEf7hjY^Ccw zQDVFDFA^T%x)yW02~^ma?!COvNf1`R$Sys!DW!iek~2TO>9*e^<7o3_hZ@76*TK{z zJs1DXsXN#ohx&Vuv5{G-W-I9>kDaDFP!c?lDib`QW7#C%pA`MAkkOv@_CL9*%Vke3 z6p~1TN*^AFo1(s&oowIlV>tM++-ZyJ|2qpf7E)7|3nHmMCPzunlng^M%n7GIuqUox z@IcPSBc?70d9xcEpxgD$e>h%bQ@O}8x+N{yi5ye1-5#Kf#4om`W&S_JALl*DD+* zl!~MvZRHWefG|_t+bj7Au|exysNH_N^s8P6&n>u7x8Cy0fQX5HCz)}1Zp95Z*Neb4 zXCPOFcFs;Dkq|l8Cp#j)a?!7!L9X#fG(zG6U%kO`>e~^)CUc$#a{*SZS7p2=I2`ic z$E5!hu7yL9sgBIuz;z!Czs2j@*-I0zGt)&|O^tFpyQMG3o38iK7)j$MYB!|WZX=_% zq(i3bS0iD7x2?i%gk8>bw()Z^iI;={(VTsrplyU?zrE#FTPXYRIkpVg{yAUt*&c{( zt*B{RyW3{l|6SW%1()UW_s@PWjuS`KXXW;`L)L7;P2+<(GS;=GNuPAa+}89wxInbKOIF8bg)pZh_zS@3tjj-{afEBgcHD|fuWL!sihPa5E5uFxyEK* zN<%4X+cCxddoBgQV;z(MAH2L6v<@~oftq}!5(^4^oMWNdd_xG-btD3fhfEPi3@|-( z4JYMtv(d(AyVgi^bL7gxQry>F@SbNXPs%$PP{|QthG14$-x;y;&zR0Tx=zE`6Nc)- zmcUg*1faHAzq&R`-BA+yW39V)snEox+TW2#1)T2qnr;ytw%401IZkKW0N;|Y`x!mB zR)!>Td*vV|mTZWx5XMSb~;0CsJQMGbLdrna1@aQHZ^DewEhe=l!OwyreZ zG4l(o#wTZr_1P><%Aj+ZQuMqzV*(Z#g5Wz`8Z0xC9_0h}&=wG2f&RIoyEz35dfD0}R6(Ec)Eb7W#&bM?V9H z-abHLK%+ckhq{Cm&XO%FFdb-Te?KG66%v1}LCX!N7k3H)GCoL-HDPYEb{pSKmK-|; zdO3VLO}yM=2NQMOY)Mkhb!@0m5=(C?pO~J}>0C&O>DiTBk0kwN5e*Wq5YddU>9KV_ z8N^s)wOgvSf=ALFDF)XM7l`p9$OIN!5&lgP#3W>!Y9%Z$Q;b`bjTi!5R1SKtA&!|f z@My$MJB7+V@tC-EiKyvz(^SZj2X?@nA^yRgKr>dvA}hfRAdik7)xaoqCEIG6+@}yY zEr?DiAH5!a8Y11q4x4JOm)$8^9ojNs-!p&9>4vXJTjy=38kT|vRf!N$qnz{r7{ zn@-5a(#BrVR?oobpC5|!_zWEX(lz|C77%fD6jOB6bNuIs*gr>D{=r!O8;?i^mjAlG zk`g06BmIBLBPuB|{hatO9Ombea`rX`ibjr_baKL?bV^39j@mzeD%kwf2tNIPSvbh) znHcf%!Wvl{{sVjbYs~+9{DYB!`QP!6%O9%$!7$=KRR02{rk_2QwqBd*^|~xceGd_` zr2At(pu7knq(t4nL+%-cL-WSL~d8b~ZL1Y_aEWpRQaDm$|6o9;YtlbV^L zQWwFwoYf_IG=OOp!W%^!Q=ZIK&{v&>m(3KvnbBQ$XO0g<=lvyz&;6=DELIQiTBCwo ze6J`cHQ(zS^^5%}MtUBa8e*E+0e5&Nvgqj9YbpY+D|}2@BzQKp2{_Xi#dkYfh@PMu zYO1L9m9r4ov{B34^Lequ0}y1#0y^5L>u@lu{TqI;s!GZ&;5UB&Dnga_DkK*>GXSUk zXFOEt;VVh7>^>SLu$RwJw&eS|FQ;Y5OcWswa9MgdZDwlFW|EReh~RhXyv+v3^X->* z9q5o4ANImb`)@eJg@1g?B0m6a8xiPH1?LM9#EF~(1OhmN`PtBe`F8-^N^AnQQoQ$Y z@EfDTTd9@A3H~(FX0o~2{5lcAYV49Ahz+IynP(5-fA^D_E{3@Oe>8blN`MemK7$2B zWN4`lGVZrU*7do@cKd41Ml9e5AL&w^ayi>I3gqW@7LNZbhwtDkvaAuXWgXxc;B<$L z%*rJCuA4(!AQ2?h8{1)6uw1^LbABSZJ-6U$gOQQHkb*JgHuEyRD>Sx$uB8!C?GIt zp$yQkgupp{rjNJ7-wo~-kw1=$T(3Q-C%5W!E4OW(y)&Yp06EOwzA;j-HaB|)$f}_| zy9HPG<$b#8G%`rK`{_3bd2Jg%j*B&|zkfU5hB$k?&kW@l>(cS|Sa44kkO(mLtDz+$ zHmm4Sr}&y@U2NX9C>A|RIN+@rr4K5(`b*-tm6s19=Z;2Kh#rm^umSD-crKR5261YC zGJ+ag(uZL#J109Af{;ayM8g7d)$ww86Hdl9>n}HG&o^jKKaBi#i+v~xG@vuL!*3Ee z|A0zZfLEMLreTuJJD_mn-V3~w45-RQ3qttEb1|J3&L-x>#S2!+X);8{>$w6rY1d#p#lOb{ z%8f!@r_@x#&OpAYq_G?;?qu!0P|DmX*J>YaLlzoE%P99*3n_bsF3-9mN zBghPwapO^G5gKYmEU;L==#cnW!ubO+mzub!1$Eh&kU z7Kz5!ok$QPM-R?t5``4L`=)dCf6wu&NkZZr3X>0DsjmeU(RI{5hVkU=LCA-(u`FCP zqLtw0OKUN!qG;xKS<%y`XanfKd`VJ^WUbr5iTEiW+o4rNzOFQX{UZH(1iOguwO`y; zB!`A_$Xwwitjy4-oVFchZn;?|?KGyw=zxpfg@K=zYq$NffS=2G+c2C1PT2WFs)kd#qyJo`J}+70vy4_@GS|9VVe;KNFlP-OI3x5KdQ z*MxRwf78=%PW}eYP53)Q!2=93zKcCBTe@ob{4kNYPGieq2g%)F|JZTfj*8-!@uTn@YgIOsw&6}|60?WYf!IfPru4W5}##8G#v z@?FvaRpsZ`d!Fw0*dmUDpqlD(K}^0}sKu^VBdE_@`=%HR!$FJTc@sM^_W0H$nnfLC zRM6~2X^~1rhKP9Uk{If>LgV-wryn-WdfgEbk6A)tnOgWpvrop}=be&9Xi@SNYpkgX z9Vh6M(&9;2fQD}f=jHo8D|}h)!9ze-tEIGv20B{!N@;z#>+e;Swo6iWh11@mzGBg< zIO|H67}=(4E$rs81BT9C*kzgW`StJ?Wdh+&<4YrB=6*Z$CSExmGEs)C1O?%T4I~z) zh`#O4a1jPkuJPjEYX>w{3` zJu~ATux4g7)h_i8-Z^}t-q2)nmq5~zL42Ji5j3H${g0}rQnVIKM$4Si$F0*> zqib`etOC;=clEZOkk#RqSGv%b#!?1}R0+zu^SE_G*>)qu-~CyR6MCZ6+2L~xRR!nk zIp;;OzfWiT*OvJiBhQamT?%TCNzW3dN&_}6v*i9UlrT;Fw~^Wv#%%+)}$!eTnAX#W$$JoVa&=>`n=)0!w3L_#?b< z{Iwgxol-yu$ygrQs-`-`A}@@RMmJv={WJbD)Dyp&;j>Z`f6;m28-=YRQpD(90&dZp zqtJlx*5c;36<+GXpA|lU#86F8a&O(_9Y;gT?%3_Xla(|o-o7W`3g)NIkEN0@|E|!2kSK*Id&nGw$*eEXJBG>mG~aYx{$;6L3_y z>!ddylb(&|P1fIM^oZt@vFtQ2ZnBbdC~*pYhI2*{ya~lxGJ%WMEml6iTxdH>hSlv- zllMT5lUOheOmG3G^v8Ym((u+kdg``UwH^T=!6N zcF@m1bY&OGv*zi=o0jZsVE#n@48L6zh1-`AXQ0p85IipO4!bxKnAXPfyj z;71xCz*PMWHCjw;%y+v7GbX5snOLy-A;5~=$-{qC9*QH%^8-C!Z#B~U%9imNTz$e@ z(Do@G?4@6idk!=$Ptw%?br^ln-biIJV6LR1T2DnI%k%qBV(9s9O-QYc;S3&p&-XHc z-_l_13yrj3?)tI-vsprxlSZPM-vmB!gQu+(O2)}>3Fnn`TmquHVQ`o@lpY~nVH^u5 zoHk=}QPFm-7q#W6)mgBxxqHx~+E#rq{Uh8As9n(HtSr3K(wW8=5ujZ0hCl8P?b93r z;Vyc~h#Z%P33MQqV4*0Q2xE&|cM)qSrwmCt$ zBPyaWNVhgNF_d8Hc?=|Bycj5()cjzYpP*2ZpR$21s-vo0f5K^yO<9?E zzKZF5DOK4kO}Z$jS!@qSxz`}j;E&tTHq7*sLz1q;D)Zg?$kQ2|=L4#@4Vvf0)vYfuCflTR8-*4VB z&p2Xu>S*CTbpic9Xll=HNxpkS9ft+L+8FAGCfFDq&WxZxBk2zn@82N!ch6T@g{@qD zXWk>z5g$t7u9HBC7eSTVy%oU`64@VHdWd(^qNwI=K|Fl$9)~R_q+FVUi zelY|&n_ckJVgGb7Y439cGwzLl>&2>T>GgQ9IO=hrr7mNQZfn4Q-RfC zkXz9$k_pM_BNEUbsQO>x^ryxC6^iq(+*~Ly(rHAL~j05Xw832n30S1-*Ilv z)K?sEIX{DOAGfu3=V2WCB@d5!wJ>|Szu7(FdFd>VW0={8 z6jU0ZH84vUfC0VFAHis-f<+bOvb2p@9VLfddI>!&;Gie0^(B{$!Z_m@=cPX)(tjF5 z0I|ZsJ_=d;BJ=VMhGcLP5=4Rk-f5qbuiRI{=zK+5EN<%|Of6WUr1BUv4-w28xZQnG z3C);M{}81ym(4O&C}YbQN6>Vd#&l9i`gSI zLbF5Yk*?Y((mddxJQpuHpX=eWSCAPqV5W1od_Uw7#E>MQ;Mt(9VEmhp?>B=-C0Sl{r0S%{mb4B1^iiT{tip~WSC&FN%W*kcbJoKGk6f7X2lTbL=EMNd z=+i{}V=BeZQ2bq&k$BYv02P&yET?h8rThmL7|ZIYjO@H~taBbI>oPviDi>`upToLD zilB92S#f(_aeJC+v(`<{0Sm-j)}oQ9h5zg$H(K!{U?xc|kYee2k2_1qe*+)hP7g@F zUdJ6oE`!AqM~k9s>LpoN-}Ox<4+h@3m;t(K4PksbSdw#(;3}qLY}k|qSDKqjAu(}fRs1?`e1PLToyVEa4&_>ONih5?B5n#khrte#Q(jIOLuW^(fT*2hUs>09 zC5u-9_@1JA%&tQqQ=IfTwT`xsW&|~2H$h?3e3P?lrl2sx4go~nI5NN5@#2s6_5?C~ z;s$kc^`UrH^|E<^yDW*AKX6>lM2@xN`!2}6h z`MLaxza;a)z3{wj zLcItj0rqTDM$6y_-*fk3mcRjCTcfhm`Gw zofM353Dm)-UO_LSP$e%`te9el7%=2rNu=OmD2-~I#Vx#c__0x5N(&Z z4(T!LU#>(0H6;#UC)TNp&vvFw#LE6g1c)W?pQhA1q1N3i3sW=D0!ZJ7-o_z6^kfN7!71z?g82zd{`m{+o^YMe9s(fv}KY z#aY}~GP}g>PzWZ^sIwRl5Oa}{%M5>UN1YVz&6_+2v7xXqp(an?=^95k zq0*2fEz9ScZ^Znusm*nHeSY}Lg4Z2ZS+3!#T={;!XZn=0cZJj02Y&n!!Z?tr7eKh> zqPHE8=H|3$0v{W1^3a|@{^q(;YI$uJT;F*)nJfFAf07A>%rG@RlHaNmFduXLOpR)V zd?Od(X{ufq!?Ql4(8K6rqMB3O7w?2@3&=0khDgyL?eAsec5D2d7><=@)B;vlK{!TZ z!J-*FC_zhcq$t;C^3GIz7x!2)qwZ1$qsJd7ZAX>zxMz+YZ319d=!o6YBE&@e^6fzg zw)D4}cxO!7{1O%&zd_tQ7xu3mS`c2X_93Pm8|Q;NLnllbUg$YukFE#e21-dk^!y8v zQ>4y~G(z&$t_GwV1gJU)J=+J^WIS^1_&YpeEhKV+jii5L9?lpPFvaZpLSJyq^!h<( z0piUjDU1i_y9R-HbfGBf#=16{Jfg8F-589?1WmEMXAHFy~cH9?h}6DJD`FvLtCO z@)=VmFsWCjY~p>n5P&C`{)24KzV}%iuWEd8^+77xW#vXBaZW?D+2S<8odBY$10$wr ztQPsusP3%cNHpPSV5*anrODnIQ#Rbv;D(CZ@0k?bb-T>xlz$#U zjx$iPFUTnhk`wkbo{(LfG*YW>5duC=^4bwADVo=ku3F4buCm~0tz;(B=ikhH({Y*~ zzCboIjTkFWZl^49uU|{>HFOkI8HN;bZo(%|NKZhP@qs?|n z^W4~Fn=p1`Dc(p-*G7Niz_!P&-6wNHSy#O2kus_pV4IDmJ}>K6awfbblq+}uSP-~P z;xbQk^|#sB*ug4Ep&hEnW}rX1c>q8X_GRlV$rbQ(*s^TDVT)MlZ79b-BS@eube`jqh~O~<3%?Nsvwse<9w(Wcd_W>rHgy zPQG`(mci&IJG^|9pB$En4)c$Ne)^I4AMmnGhO!)GqM;XgUl925fhFOIVCI=d3Jf3C z61UJ={8cd4^^av)&Jv~zUc63UT?}8cROBH^f z+dR@|r=os_3(@8E$Ir!B=Dw&vhDlG*IHT^9PzL8`P>Tmgk}|&f4pv5~ZFfpesy=b& zWSGJr2D}^uvb)n%I({AtzvLZa=YvWid*rAzPqh4z{@kVcANgB4P5XAQiwpf;R7itQ z#0!%hx)Wg?kd6BMTALyI`RjYUOAIKotczJ?x4&+kHvguQLCd^*%6KqX)fw=D*bPm_ zHz`{3J3oHBEY#t$p@{knj)x9tRNZ)R2|?8w*BJrMh$9)BB#Th*J>S+%6EkgYj<#dL zD;y-ojDZ)OhZ&YPH3>vO4Qm+Ti&M#8qY?;QY%0oR2>fON#6wU>pHq^e z7MKnHiIiG2gqqsxksvY96$zRM z^MVt^3u^BW&wXN#YXOSGcVN%Z*$w<{G*^YXz{U*yRov%PF^8dQ)i1{`PeJ-kVi~J* zkiX+jmy_gHg&806)&6&glM)T7x)-+-{wqAI2+R__s5y(1N2}&4N(3z1fqnCYzgAu` z-TDn&eTEyE9>?RDXSl8;NzYf7Nt#~1-3dsUKpI(S+Mrf?Odm_#j=@bU9V}n_X#8>5 zKJT<4%f^XvpX;N$7^lti^{eqHVckLFzdStrY&@$Ie^|&B*IC#Tr=z~S9Q-ls~vyb%e>Ti{7Rg}+Z=u&y+u;Dbc8Fu3Yq33(qs1{XU-^ zqia>6J*92OpuTiF%l_8_zrA5+A@*QEmqs`Q;_MuxA>D*%w5-iqTf4=MH zMN7*Ip^*scRt70AG%?0mqCG~C5n+6-DrnL~U)ul3X#!%ev<3lDHy%3wraW1r6s6g@ zEDt{29$_F*yfQz(qWWX-oeC^(=X%rhOJ*w6H7&GmXVubq)kA5QYR>Y?sV;fzZ)n+4 z!t)KPd#x$o3k3#Wv~byYnnb#n=JM~gh1kaHcO*&`<*5D|n@H+P2q^S+JjnRPKYTe? z7A4zNL2V67r>gK-6G$^)Tm&_ME=h<`8zXAEi0e1u*G`MQTUY`QbHno24M9w+=r8Ik zFQRu;Rr}Q~%bDlFf#=5hb2?5eqpwk1Hf?raiVW1p$b z0nFTnL@0E14D^mM?f68)&B>;_C5~o=K1Tu!jE7X&u076+uCjh$xpd|wagC`8o_m+Z zKzW;?@n(%YIW(v{TE_Ci9^!Ggc^C9=54Y)T9dUcw^QeEy{%jGE)Y@M6uP};#B}>Wj zUzer)f5IsK54@TGj(U>+m|P{tzegz6)z@s+#?U_z3b-3mFpPd|hoB7qyq{_D>{Kyx z85(i~axXuX8}<{((Rrj|x-Yxn8R{~5aCdqb8-vo)7dI`Z)0)FI_Q|7^oEmFZ2Xa-V zE%#?>Z)3yZJGjkkFsoJTUE3ux#%>ad?Chyq$TK+o{s=2zp_Xg3qN(rPSJ6E0fOg|G z5;>&ivfHR~8NQrVsy55HiS8N<(+5wd@vCd5-4bA1VIGEW8ITcl_95!Rh|Mua%d6mF zCr4(T>|NXXlPTxdu|}ThOP-pIqNcn)4&tLmJX(2GF>|c5oENTrQiXXgmRxqbn*|8f zY9baS6AB0@d?y3dWa+Sw$s{4@j+QyvX3UMw%)a3oJF^CdcU&%Qqr>UbX^7W8mL)8B z8r@cC@dSG_rcWRzC5sBxC+NU6rHRA33XonH|S{+A2eJO%jEl-hs z8GSwsCinMdC5^^j2%#mJm*-cNAS}#0?Y};eu&l4B3e+i*oD8H;D7f15+J=s)*?kS* zH8w8*KAnyJ62cF=n|YqZOR053DKW5inZ=N*>32L^=KXx=B^{m)z@AM~;akJxTU+Wl z8&2v_g)>FA^3W;MQo>E_(yQg{ObKtYTD?wqX1DXu1s%D2+?e%II`YAzPOVaCf|FbQ*fmg|Q$<}zt>N`t9_E^Z}@ zNRr)tj4g&lnI{!2k#1$ALb~C+|5OdT9&Kw;5T~j4e7ow^v)Ro|1CQ|H)Q6pI}(pQcvSRkn?IcAZ-o9o-(*^k--61e$kI96O@3 zr@4E(9Z~gKPnER;0il)L7Kl7awuk^`?xy*}Zj#gF%$+lE&{w11Yb;Qsn}2MVtS)G( zZ9@eMve9oiEXAhgO_8q!jiZZ1Z*%y<_hhRk8c*b?iZ`yraI0uw^buDA)}k!-a?54u z>veHH7i4er{8m3_R`GOI9e2@|sv@e-OppmJC*pV|wb>`%VbFCuf?3oO8}NN8AajXG z`CA6La>k>g6{#|(AVe~4h!zxLtW1H87RWEoSHK`%5y3^^ zNV5IAWrFz+oL5Eq0`ojpd2~b#ve;1jjNd3a3)`?*;Ro_V0ct6X4Q`F9%V6(`SLxF} z+*>Ih%;XET+iA7ZJfTn-62z%dbqd1rLrr@Z!pU)|x^F%8s?R>V$S;S;NLbk;xGk8T zx<8vRk&6CG{A|OFdB_3}(5ED{LIf{>{I&xf{H+d%rr>uH!h_nUAtQkkTrT;0PFogl zJvfe#unufP=lhTLGCbEfhm@)GBzd%2Vs#^&r!T%N66ayLZBlCePQ^Xp&aO|k_Kplc zRO1%I-b>nr*@wfX8~e-0mMMLO^Yk2RjjMH<1V2D7H`BeVcJz(;WyJR-*e}W6U9BaF zN+j{&*7PkVR(13q6GjN&^%RmX<8rx8d(=(CNbfvnMJUyZ>jqY%&M{!B8DF33_Aj-f z_&UAiN9(JDF5)*31K<0bPQtFcR{mgxwHwWphU|xK7R3=|v9k*IS2WLDKNZl|Yje1Jum+O8WX&iJ{oD?;~k zrFEGJjGeoRFBVy^I1n!V@fhxD~2{|lbfj{SjK^Vy&J}U zzkj9Tpb085Edsc~cnw-@ZBXq#mHaLW-DL;l}f#YqK;( z)P`qHu=`C_`bP$7@G3EsM`|-ln4Wwe6<(#R9JiqD_CH!jPu8VJiWWZf`^77&$d6|5 zek!6e#*m}I&po^Pr+irc5T)6J*pA`N*4G0M%%MJ(4LV?HUw;v`e2gY7GP`D!avJqa zvOPeUVve2F(WnVx=k~4R6VauRA5K0HkquxFT@~ zB7LX`qC1C_D7=lzx@xAnc9Y9@knO2=`W$vD;IS24qfB1MIQHl=2?ci)qIOhc&&KpC zaO;Ki=M9p#csa{Y z)5n`qQN2RfS!H_I0GW<=$D>l5N{~QTub8YeTrj5;_e&};TXzZ^hgb{uMw%*NVs%LM zFQZ3Vs1Y}BYMn);l0OGNme-kq(0)_lKilK`AA0Mfm%(#M? z8e=P)!W-&r|J=ufi6NV5+To%7fUpJs*z~4VX;^|aQ;WI%ZjS}fOMI37bdG9 z^wVjbQ@j2~y}r~(a8c-$)II;bwdugvoY~N&zH-+Eo5@{1?;o6Zd9C63qPu(BTd|Yu zPSx_yv}>K$?{a9}q~SaC-qlph1%60i+yk4Apcls;enodG(ssEVRT5L8r7p#L-uJ%7 z=u$9QyXk{4ll&tcQ>3u!cW@(m6ICE81;DVE4Y0AK&1XKzrl5FNa^Ov0Qyta7J}!Ka zdZvS3F*9sWdr{im{I*(4O*zb-DAC2G{Sl9Fp2Lam!a)46efnz7RNTQ7#2~#2TZKJb zG>+?wx-Sb?QqCsKKu%zR_BKQ3B$q6=3p`+2{5+SM1g>ybFRn5dpqV{-DQ<%7=rB?k z*&i_0^m~6@f9i4*GMr=e(+dQ2@WlUF8|fR4`B?)z<)|m5I3BIll%M)&sZQJEG$3@J zuC8%7HJ}}TG$}?@BinEDxaDHP%U+XSpx9ngP?p9U(S2ibFe!|9 z9H4wKPRq$CqADO;ojXX+-D#8ohei(iX~0a1KAFnUTae^Cm6T@4JO$~;%!d@PjG8c= zYNRwQ=o)8~-GT_mZcW7{YFK41i^F0CWpTcc1>)6Vk;)@{lsV^6@w_+0G4%5hz=b8l z=D?r{w-4hEu61S3SIUvt_w^2kM`nLK8&up`A(=>+$*BMH*kCBSj!JmDj|qn@*JjemQ4epE z3}+rlG~*t0Z%Xxn;JJ%Kg|f}5M2J)S4YDGE@v$NO4LTXFP6i~?woeVGbhZDg?~@Aa z9UwAdXnFe<` zioZ%ciAn9<2&mkQ0MVmc!o;=rXHr|-mB4RUM-=ZUJl`^-Nef$?q=M%ND&C_J&My2Asmy0}5`X2*i4rOXq@5B08}nW9^vD>~ZuzpoBig|Ug7O+f3lB;I^yeDp462H& z4Kgo{>Os>6B)! z`uEo_YF0Nk|0=WpSGt}o|8-r@|EJ9U{|ATUKUInFA5#BhVPWR@-+3eR>RYzBt;pVw zdV=4*6n>{2T<&jbrJ;4w*jZ0KG$Km=FfzwKtVzNfzX2)S`CLxejVwsjRxbZq&x+jl zZYK_2x9!44=*FW$j*OGj{^4e=;%)Kwn6ss<%vb?J*P2fk|4oZFsta$0uA|asWy%NXEQtEy$bG&7)|*ij4Iwd;#wHThHdN1UHi@%QV&X!Ojd6|O>*KE z)(;~c)3wpMc#KU_t3n6_x3pisHe_)M%WAZkV-Ag9{@M@C*;dR*6}E}a#l=(knMY|p z>!x+`8Jg~txjO#3I7ps+P%VjbD)Bf^I)t6$neBbC51IALiO*-=yn8TsJtrcllqEOR zUq?ZxHKET{eysU;RBu|cp%Iu~_v&UlegSz$M2&3eUF9zD|1@#GY0ne{x!ZNZx4pPl zX23NOe`Drn$Cw|{EZ;t#$k8FQ4w(N`(>aprQ;(mFc&tywI6k5DvJ2MPubQ#dDT<4o zHD5v*r0@Yl^!#-%Jh3FU_)8tv4YeDtnAk3&dxjMHjGm`QoVZnAB3K+ATn5!D{JMz? zH)DQv6|*{AwE-}Q1CLWFMg*?<YuB)&U3pQN|B~r8EjWeT%5zc*xtC1zs8hqHA~gh z)KRPPjxgJxBA`bzg9|9?yzYDE_b~2Dy=?yFLUHzXQ=t&068z#!2TevRlI&M}dzz0J zKWFleOkKL?*?Jbr1FQ_0={8OC`-*QY}NR3uPIf}TURG@ z{WRWQl(w)&!}+V~nA6!97k$5=i?4$E>=pY}cdQDA>r}a>QJKj)x%Rb94vZ%@-$5u0 zo4cj~@ywT${ z%(mjdlytJG+6P&6!BUWMspD7WFRbz?CbX+F_B^lxeFcP7XZbL*9sxhoc$(cr>yyEU z0R*H{oUq`TuBt1M=y+{Tl}=$|CAt$Un5!#WiSmCBxeqfd+)DD}6l)P{kRZWf!pNg? zPBpXCCQ4(Bm-fmMZg|v~HixtZUz^N##FZd7NxpbFNOHs1`^huB7G#idf^4e|Z64$w z$XX!$AtJG>MJYKXq#d@(I`UmLg=E4}F&k8JO5854Cs4lM`SmNP;N>ov3E@X<_f_}pX>qvMF}N@3jna2p=ng}H1PAX+(^T6 ziI+UYm_i)nUM3xB@rv|Sb$;Gf1f+6(ZZTZv=VQt%2_);ZB?nX^Zh%tuA<}cj?~B^! zX%|T!LyEdBI@422&sHqu-|gJ09IMzv)_tm_9V~d%J@~YZt2{j)j+xR!$56t2bD^Nj zV^VD=)xWSIsq zI5gs%&jMJIS+AQ;W5e1?ddq0r;oJXa(ONeBc@QS@XnJWxd$%GL&@=q=2UasQPZeSL zH$;@J9yP{L{vZW)a7^PwSJ>IGxxTfNFhk7jYx|jr!Rf2t_}&_!$A($YO$lH5w>UPc z@A})U)c`xItE|?QpUYTkwU}`JR){sNK^{}<)B$;#kQVKnG~-gwnQvt&N1@wpl2kvv zR6qHRksh_}*vw(zbR5AaelZMHO-xCi55LHFfNht!E`rl6$_qbX2*Z)OIMw1NEnu6m zWXdcw?XW|~r0eXGm)72t>8?nRVm{Y=qFmm6?^Z?JPmVpR- zI*HQ2Mbs=hh+Eb8$2h4|gQhg$8{}jFyOOxG{?L)I zp0w5geWR;a1x4{P>Ezt)c+dC$Dqpgnw z?x(epFo9;YWoZ=u9b6$dk>SELFEpCI@@$ymD7ZYu(uFMD!yq{R86#nI`en zF|112JXHfsg<&%V$`-!xf|bg7PvD|E?H%ghWu*Mp@@|rd(JoZ7^gx!34+Lf1kD3b*gD@bfOW< zCTFdole$!E_#P(qmc=IPSs|W4(Dqr@>(L7j(0o%Mg=@Mn`0N4LMq%?-wEaWvO{4Rm zqcLNiSJ+mfK%mG7Z1B#y2ottw?br)`wF&0+{=3>(;=`HsX~g2w%lEK@d=f_ zbZj<v2ke&-y z*-I{u9JTAj$V31lAx&Au0mP;#!=e{Y{5OieSmfM8esh2Hb;c&0><0e_Nz?kjz%Rs} zHqGPmqj(74u(OLA!VXSR1({o{AM35k&_Vfhc1u)zC@Voi=wt;wmqw@Db)r&dvFGU8 z>56pehT8(*!!mpfh}B|{l7>dS^t%&BI|!$ zRPnzzh5TRA1I(Y&1OIlf|4a(`Z~OeeN)NCxvi`di@}JIzYb~FzimQ9_c~ME8Af8(8 zFPe@UQa2ilc`{oN!zKn+a>+iWreuA*80hIG!fNo-6Poa%ON3!K0}wBUdk+Kk1)*)0 zC;OzxZghlQil?zQAan^Miyp7Wb4+EViApOzgu=?N)&yo6|gxsR^{kTxK5;k45 zb`h(mr@*zgm_mKdY~TT32WH|LFEzKeJvC}!uQs+HOF4)tnS4(NgFl035$g-9ccFT( zmFMIN7pgW_w~O(isjWvfYnU6L<-Bv2+jE~Q=A*;)x4zG06U;>WdzwAn`OU+o(c`dF z|M%(+leg1tHZgnK)cPoOeBqc57)e6EVt#2f0u4WvAP@Yzm|?Ce+F8;&_#~+T7j#

C$BB8cCY%H_+cWk(RZ3^`J1fJH%M2sRU;v}8X@W+Cmf z1vaiI&T>hg3SGgKWnhw_lltFT>xw*Cx3N=5aaXb}aUY8GO(#xjc4H#Oi{QpZCRs_a zO4bmqptV}@0`R4(h*r#6gGA!@aN=a+V7tQJ1q5sSY&wj<7g%Rt+NkPMr4XXRciC|5 zA~CFbSR^aIE|Hcd94-b37aB=&=+^jIq?v$kpslc0%)%TakZMVC{A!A`h_fQwAYH-B za6wR?mTJ4MLsywIqB$ZTEds|3mY$8X>9G1-e&wI#sg4F98yd(q%vPkzBuT&x4VsmskiHH`5&qWdacyPa_S^EOkG4Sus_y!(07@zEHKzcxCv1Zwz zo9?SXW+;u!X-DOCuz(J&ZgwVYQy0Lm{GtD1F@5kfJiKIOFjy4*<6}g@I2|eFF$uP% zy+yM_>s?7t$Ipbq!3{Fo(ivgtzRdUZ#H(ZRjG|@d4YS4b_w)k>JqN4*8{d0_rdP#o zygMpn?d47e2eN3JPUrh~y}LBFn*qqR$%)5VaE3{yKx`;{Hi*y@jF zTEd#OMLel}&-HvQkzFH2R9ZN5ik8Z~mHM5P`t7TMG{L+lk^Ty%rCPzN?(qvhMsfB* zoYrCkcc5JHpJOygylS@PFi1$Ed1W)I1RzT&vFb{O-s*CO99iH$LR-fcDYK*Kqr+Z^l z{j9X(n_|ba4ZQ<4(Hb0^TmyDkN*&5DUUd{Ui1RhRQ|ZAA-}3GG0d;Wsb&6$(MZI*7 z46hd=SDq1p&=rm$mvjE(%LQ-Y{!ROR+oo4)Xktv6#X_upSsibPBpM!2!Z+t+T)d2* z7CTe4c&U9~;51$tt2;xMSn6oMDzD9$3`A~_%@}n}a*_njM>q_p&4)*v9YKelnIhJy z&5Bj3{tk8QGL#U1u~2~qn}jyrBDuUG$JFQZ+fWy{(Kzb9flf~jpA1x#YhC_OnrYTW zvOyZw5l1(W84@qihbeHF(Qc6fX1DL*{;>d}qia=n74TCf)8^6XR$DqJ!&Pa&<5r(N zTH=k`{0ST=rNMi4QrDwDp0{(0Gq1W8^sBtB&D-35eF)YmsC1!uZOcopR`N=e<}c=( z5LNToz|b5}(XgKo46AT=NA$=vYg}W?)_>%;=BV~*_mAR>&ME-WChgbBH8~KGhuTeC zr!@tErQ?j;+k}4gikxEfUVcH_d2HW!NUA^-0YN&hUc11JPd}z$w{}?Z7Y$#pJn;89 zjb$vD@OR+>nC>|g^3DMv)(eB>d;ts}VjbKX=?uH~0vwateG6@BbmcsaNby3P2ZR=U zC{=N|t<{UYedy&*9eO$je|0B|s>F7y;!B~>KmWRh%KBsyyg})VPNj9S&hGKZLr1x9 zRH4AUR-t7=v^w;V?V0Z=xs62v10la`tCfrqr(P z5&G83{k3zMF#I&f%*YO_c!b(B?7vLr98)7M(41@Wi2HqKhmjQp0=P|DlVk(wW`@`KXm=aEtR&s zKG=T5Lk#0iZ5olM%v(}B6y2jf_QdERhS|l}oZ#Ee&%C-f%fra1J)ADxpHOG=LQ)L1 zzt!&rRl?k&zPY+Z4f0j*+SoL4QZwlo`?Y3H#duI(XL9(U*uC?vIeB8u~rHU3372us(Fo9X?nZeBTg z8*bZuJiEy|>k$fE{{2_mdHAR16~SRZn7;oXax6$B-o7b~LC}tsses4Hv;=YTflAcp zl@v8%U_)LkXB%-l6)9@WcBra^7hK6~#vR ziimoGzY^nnI2R^uXBL&JUk9405WELRI(Jrlgt+Q_cM)}cMSJ|4eFf1gHw|NK_8-YlQd zxpMoho@e!dwB}cX)8&TzoczzXN+^9=hPVtt(K328b^0PaB1Y^4?U$JaX1 zpFsp@3Et#c{P#NU)ehEj#6{@aDNI~{XE)cUhc0KfDr~8mHg~NrdahyHzOH$jZOm5P ziY_}tD4vnn zOucRyt=8K_jKh(q2nDz7;nx5fDK{Lhj{~PVZ%#q`#3`-d)daZ>*&{iltz)F zMI{*nRUq`msj9^UEroC;2C!J}f)xQNGMeGXS>K4+`v|57yEo z^s00gW&d#rT^Y{84nL3xL7o%E(VpCl0F8{V(hj<_hHYOlk>vs!vk~!{fF6AZ7Epgu z3-`g$u|_yp`Ue7=@5)4F58e*MRWU8Se#<)!e4N{=8YGG3ziDx2BhRZzNtVK$Y3K=>lEp1TWB6F-w{2k`KDV$a#oTnSWEk=)RD{}zxhJ|h zeiV@T1!!$InZcd8^C))cqf{xRd*nbCZy>#d+H@B{hri;-Hty6&6;{zDACG%HJF>=D zMdd%OLht|uL_OdN8jt!P+`R>CV@tFp+DUhqnVFfHI?T+>Nr#!C!wenfq{GbQFf%hV zGc%3v8)-B%x?k_>Kj~{Ul4Z&Av0PQhwfFHl3&>bkC6g996ZC$Eiq}XEj{Ct-SwxM| z?cvu}6&8>6k#R$D&br_^?Z*C`Cb*(6P$6~YFN+qYuGlf5Ir*{MPjgZLvdCuKJh*4N zCS&=OK!d5|m?6m>RXr#oM-pQplN7J|7ux=B8T(P;X)O``t+I&+@ejjKg8+LmAzxh{ZhzUfa#ZQ=UFeDdEB4bURO79LN(VtFn)qK_d2(+T0v;B#(QKj97S8`7AXP$2|>TSce z{juH{=io^ryI$oLTV>XrNEJ9RZs<}y4GEZpB$Y}GuLf!pB*1GFEP2V_?8Z^C#cyZf z0rcY9i4zhV2NH2a$cNaxXrl@^7K|!l%)kvmernES%+4B7&kaLUf!$uQIqN^Lgh zjN=dsw<2%0U1sh#)uny7ZQK$^VzkYM(eHMmdJvn4Eb0I=c)McOOf~X)<-9Zfn z)M92*ja{ll(R(3RTnROISy^8GVL~{m{&Rzv*PqF@F^Cw;IY*UCmcsIBb3fsn7Pk6V zYkbo=bRO6Ff?s1NUP)z`PhqM_;;Wbp@)?fxg#~ijf^ZK5Yg@_&(8|Gi!)9gi4)UBS zOdk6z#A~G^eOX>soydH)FB9OQD~2Sl_8d)K*23@Z@5?*C&O+AFx0YRf%R`MTpJzTc zo)U;mAUHPi-^gcoRTAS#jC%m$6=lq*lY3+^#gu&MAY5O#TeH52pseUvi{|_q*OVNi#t<{|b`l>kGm6I;r{^j9o?lJqjlfm#8|1om0x%hyS<2 z%5DLl-fV$hkeo=Hjr(AJ5958ptD5aM7r4Z7-u7&azsYN{ZP`0w^-qDDzwR zvg$pUPa9aCLOuw5sOa^(Kv1N{YRGV!MzEg3O!45>_9*_2`|mRKp_9`n=fc~Bv`wfm zJLBxGyXmo2ugNv$S>$|p-=#v}wLayoT)Y!D+Y;9wQ{VTeUp}fIQ`)sYc4=uh#nExg zL8NT*0shsr7)?8+^z2FXF3x8W>~pWZ8vv0dCq|8j)A+dsXw zTqICtvC+i#E=q*;3L5+|XXZ{%F=}Ir&yDoj>|84U=KA|-XSbzPU6xuWmxe`iwxk=~ z=n!%#GozY;=P9Uup`0m>Gj>sF!CCq1&#Suu;ji>9+X;t zVkz5Rc8&Rj7s2YQV6N)7_|h&ZeGj* z%_Ju$zZ$tZZHaYYWu7L3^I%S?={)R<5s?V|<9SD{Ete zO}H(rt-{XDRXNviZ9G1WKOm zZCJN7J6jKf4qVG}-%e^U0!oo1U})~-J|@`P(rFBqG9LWwJQH*xPb=50Jz(N8Y8dQB zscijLI^64LZhUG(k^q;(S|u_SzeSXt!+aq(jzmQ8WmK$G<9ij$er%`U3BocJHg9lA zGX!sgR4KXaJ1;vXMF_oW5q#@9hqn~w4%<%V0b-7=D&m6(yW=YWv3CxprW0%PPIf#W z6zz;j*CVMPwiS?XMpk1Rm)ledVO==lM6=8kWbb;ud1pV#)w#L21Jkio~ zThoLk?veCqucatVE%oa|QvhkKxv8Y*(v>4&+o?B)Vxx$J`8P-Ne2CkpKAlCvwN6)y zx#N+uhga8i>9l&bzR-C^DPO3Wb$he#>YMw`qt_sl@wWp~tIp(wyZ(?g&mc*OMp&7f zuEoJS+|N4VK?G_bk|w`>kPf=ayN(I}>ZXtM%n{21CYC+43aLMPL3Xd|Jwqhos&i=1 z%vcC5A0H_X@6loX<*E{-(=Tv~Oep&v1=u@YdDw5oOH1v_yvpkXl7vQ00tElV<1V7Rl_ zUzttuG#DLWeyW5OPv~2N&Y-gg4T*p|QB$hp?80f~K=!wSlY|e+)5I>{pDSaB&`MFr zv_PwTEcpO`J3Cf-r9~857PX+BkZTYn8K|*J@WF;{K}F4MWb>5!lPW>`m~a4TkLq|o zmONlW0}&jjHQ%U(pZ!|Z;+t{ zzwO^GhN>y5kwLd2$(4O0dU-0m9d_d!rqpL2m7|XcA%|4ZQfBFp9mShii`LJ4ToQrt zomO1gI!QFI)rwP#?=m{M6Z{@;<02B(QFZyn4!7+%;p7Q_M}mr>2%(z8@J`fgsGiFK zb>ZN)g_6KD?BtvYRj%=JOu%wu(@K3 z@v=P-$8XdJRe|}W^Bq&+4-8VJFt443-%-3c#2p?DKjS9UrCp)s{=V&z@SM@_aG5jI z-Da^~WvJ@9#DPh5W^@S;Z^oNK$YWK3u!er9xqA#79%WjXKKe55x7;DEeR7ge_%Et9XK_92BlcOWu zo0Dg%XEcw1q(KdSn4VX}QGNI#!8r}ji&HzQOeo&5vBxZl9LAQ#wJB^36rr1mTI&qW z?J05a&UV2%aabel`-N6oeVI8t<4iDcr_txY%s;mLmDk%^(PHGuQxNdgtrKo)^NRs+VqAYTeT-Hzc zz+|%wN}#i(0cVPI<|&=|utuFk*H)pTj)$!So5*s(=)8RNqjUHdwko{b-*4&MPl#*N z5Yv~82wm)c7D4kU2c8Ftm6|*|=PP1_92T9{=rxy(i}X2)lW$t9&H#J>?zG_y9LZ;M zohzTyAgV+PMw$UsGZxMqMEtej_p~5qK0Wx}`bBsX|U6tfr?NeC1Igtq1gjQLj@c>w-K z?sFq;t_A=bm$}y?zHg@ddyy% zL3ZN?B5yyD1R{mtqP`?LnGa{Ku2w6JdQj1JlZ{>W$X%uzGoM3QDBz*1Pwhzjly+1( z#$1faECXyV4GV2E`{@y#hv_a=huB7=3=Ld5RTjB`1WS@7-34E@-SBgBlAoCqw~}y+Ld7OmcYh|uyXs%IhuO;r6^(G{tc*yC zOvHeT=1NdtXk^UHFcrSPmcHqBP+b3lvt8H2D5TK}^A~;EyRjdKA3ZtC9R0V{+Moom z{g}a$-+ryDkJzq@A$ACRtFEye*G6JOyQS|D{4 zM~ivnr%y4a+aWMhg_9|gYT&y)UjHe}x8Ny_gnp0$(tvgo5E;hFM2-d=f*q1TSln+F z1=TA1{KjqXbyNdPLF|^pvCaV)T%2&&f|+ zf5T?u29fvla+AiGl;7(3aQ`%-;ssy!p7i0FGz!OwnNx{dum`XGM#$&=tBf<^$>S;6 zOjN-SXCa`x3LDjk)9p_v}(`2um&4dl%jm zopGOG$J8x-eF%F7^phYs#p;Y-Z$15v)wHSte64 zHnZdaW#(;@jc=#}pz^m81xDQ@VKzU8SVv-8nhAq$(+!$_`D*ff!w~mCz#RxcuS|uJn#o~)wnm=Db%blHn>dixV27U`}+y?7>86=KLxO(Awxp%fWUkgo9WXY8(=>)`5w{r{6t~o*}c9Ve{jqK4ZpiX zZ*D~0`KVX0hFCgkv_2Ezy2g`G#?Gd|N|IeiyIVOxdVk`S{G_=}h&MD;;f+~;ZO&{a z8k<_5H}iJ@CkCR@J3J5_J=8q#$nbdwu(SNy>3ePsj&KI?WIy-1g3^_x)l;5Amv*96 zSbZ+BsIgvzZo8nW&FHGYs}y1JF08mID!3cJ|H64CG?h7IFz&(o1;T0PbcrPgj0{UT z8ufrP-}O%YaUwT`*(%aZei=)V_@UQh83Sj!5$!IJh7y6+{H7$1eTk57rl5y*L6-5u zmOIqDKURgF9rhOWFlg@p8Q~zHAUko4guA~)!@bR+wqKeSJvIsP?oWI_G6!yPZHyB( zf2GE`zr&;{|FstFwTC}U#mi4Tp|w8EA=}rA&!}XL5wB*{S!A(yExXEoxFP1E?f4gR z^dO{=BL6qP6oUKR(e(t%Qdd9nl@4}U?m7lw8stE~oLhhS z6M8H~q$0+606eN8xkF#A3=+Vk(;pNC?0fJRMmRSs<7HGB@22Dq>{x^I;}A4HWVx2( zVy{8n>h0Pq6*|IMYrm5wdp0&klG+ge(qS5KFu7NA*!-bWe3Zt^uInO$nI7^`)YLXl z!5(u-CHkyXP0UMlnoHK%%vGgH!1^JJrVe*Rg^@A9dW}@omiK@dT=u2s)&O5-Ox3+g zdLHMZxJn{j+bwB@|J?@m8+ff~R}T5h6G(_0!iHqi6999J2Ur68{|$HgH_uqs|BF3i|6^|d zFK{O==Koo#1;m|f*ChVIomc~Sm;EN3IaXvH{RfQLp}_0A$4P5lfo?bmiT%r))A82g z+0R$awi~1_lDI=6Vg2(+3%b_XW!$PRd^2S=+#~Y~{aEFF&0?Kdue4KR{Z=r|O`Uo& zp9*6m52O#&49v_sF602BOwWKCA%*4qBsKm%ikmxI%h#QOF_y~1=Fw>Z7oO0@Z}yFf zH(Yl#s|Xa2VBYNa9_i*_IdMG$`+fU#yy0#+yAT46%RIFxtU1=GK~m~0!p6%Yo1%$w#Go6YK2>mBBY(^$au8LL9{u}gyl57x zh_e?NzTP|RC2!Y7{YiH=jr5u!Dp#*K5+|M0H4UHWG(Wx!JTGSgh3F%hGQPlaa2LHRi0W0fJ6lkZnUNE)p_O!AL40+yPPgJ8RC%i+55 zoTx|>q=jLbeYZ`s#dq@FaK`*<5W z82i7M1WH;9@aG$V4tLZ5!*iz3dbaKR(=b=@WEMmnugoJn}c^XivRPYlB z*`;e6Pqvr4W8Dt-oTATV+>PF?VD7-PcFS$8iEFKL4*SBZob6kXPc;tvmUz5V^>+)+ ztR?qiy_~lQ-3tyyJY{q)sC*&`C)RHLqi=C2-cG%%{LVyXhCyjyJCHe683|J z5!Go9tg{k|V$n^31C&;*nN2sR);CeS}20j5-4Y&E=w){M1ORs zs8WGUE`w&OW1t^YB@^k_NfSdO!8NInASgDDEl0)^eQRRwxeX;FUNGL_m{83|n;qo@ zF4P!i3M4L}8*{lMX99d;XF0~~kO8iqLcN5cWE@=w`NurC{f9?Ko=cflSuLZLH+pGf zOYA%{I={t)G2kP4n60w_zgGP2s=6dm<4*MN>Ac#Bi69p%lx`ki}7sg@&17JOtGPPPmhkEeE#<^qkilvkyU70Oe+*)k?o&Md6A?DBNH9>Ao4Lqf}nEVX>-~05bKPS zcR#iL`lb(IQVRT=E&}SR4H(oD9Z{o}GRFRC2OGewq|ANhLd-dqpo zp|rIS`rbsApYLcq=>=OtycbeCmWKo8n}ah!#NjC%4cdYfld|1?FE<}>LieZFO@^IC zRxVh3>ADtbw>N;5*pg==@QM|o)5hWBFI`nAOJVMF`+EL*Jak;gcU5pH>0`ueI}+3V zqor%E4fA4UbW)PfkINL_mV`HxhzNKNG@QrtNiI&1r}Zs?$9@Nwqm~8VHIfKy3(X2D zFpj9TUO3aGE;D1icY3=qcDgaDu;@dw0@a$A!*|wfkV1A0 zNedM1j7?(E*BNb(s0EI74qVcXr$5g}tfCs<_=IZmJFa4DE!4ftVXM4`Hu17bu;7r( zc58RL0kzwM$3gAQn$_xp4S{mw>SJwcM=RxrzqZ=wgWftik( zL=4iAk-r*1^~|6JF6wt&%EkK0zt2OW9lV&nWm>em6WWXQj5tDS=LGO_c?}Qd3T)NM z5d{EvnvzmzcD3J<_?6{Og44kp3gDHCl^>IUaG*^mL!m&Mc^ldpv-IUTyNIB`0ww1) zbH4bWnUz%18PoM3lR@A%SmVS3=Tt~7SVNI&wk5Ze5~&j)*k%4RPtHv>x?Sz{UQ_-z zHv|t;e5gEw@E4Yhx5}DKH{4Ex$+l zt`zqH)wu9rFax=uM~?hH&3w7g&FdU1lPT2Nk8z6P4gwPzJ1G5tmg}q>7i>Adufyv> z0$xXjO%@3lF0GfVo4F zk3qUGqVk7;w$JAuWj=(4FjU?g1r}p(5GD#%C2L!O>q-*^!lmX@IS;4$cJwQ9mYnMv z@$p98(pIIwZPXEKxJ!^Y8Vi@eYm*^`3dkn5g#fu{GA5cbF*TXOCRib%O`J&|nm+O? z=ud;KYGLS-$#a+vH!gZ8sSr@Ep~INwRASt+-;NF9E7vta$VLTzAZjLkCtwPjuz9%I zJ)b_~Xv$+j^2s(IzRUrq{)Gnn_EREg|AVQlM^Nz?5`~YN{cZ1}rn9T4xKI-MECOQw zzOM4*d8Yhig(SjrvGmlsMtfl_PVIrUnK%7C=cDYzW(_jW?F)L-@;h6PuH%aXY&_v( zuEh>_@x72@Lskem8co#B@2!=WW!(`+;&Q@KY(d16kyYKQ&GB}Rgrg{)UNN2)GtM}j zqi`VG`1o{l|8>%~tK|~nG~W2Dh2ZinOzHQzo5~=*EcbEem|%qU%sYS98$G$a{Ds`ZL^;sEKv)z4UZ#?mY6 zx+YGN$0mimr9c(Awdda6@f=BF5*sQ3cGGnvIi(@mKB%A($1;_Q!f=)Z8T14Xyah(k z^Ic}g30JOrn+Erv1C}FT&zrwpp{^dk2wYFvn%}7$J)K!-9WDrY_;obG*KIE@P?o~- z$GT0HX(}XsYAZ2P{EbBS9n}f2+x~&^QFlAjoGKh+1rPP*|IUx?>Zbbqf&o2mNB`1+VY zOem|l$i58o0c9y=JZGoVbVd--%K*H4$&=VP@T}U4wD9b?#T{PKm%y`0BrMIU1Gcpp z;i2s=&{(@o)#xc|JZ?ny`n2bi(F*a9E?s9pbf9C!wHIR_*QP~7jw5K3l+<(WK_Qc; z_OR_U^bn3CcqF84ifg0gwF=}ixsDJu@QLTCfDRRWW2dwxU6IT)Fawyq`m&0R2kBM{ zd6xTajygnG6-i6OK_n7Y4&96#Y&j7^j4>VXg*b>Wa~4zC=S55qiIQz>BJ3}AM&)Rv zE8bGRNTgd#>aMg`;80pTX1HQ~GA$#rsuXX%f2)T6W$ZNrHsdV!WJ9+}*89X!$!9`W z`ZdyswAv?7l9Yc_t`PR=#um&an4eRsG>Eq|AMFcDA(cUk`N~N}tNTzF9b#9BgFwom z74uosJ^r(|uu-W-cklw`fs;Gs@~S9np~fuCH_u7lv^-$C(l%tKO5^qBhk%!IU~JNX zJDG&*yY83+S>5{f%r#1r5&=Q&FRp5x(Kjr3`1);2Ij$tE_!DO1b)?0?1Ju57M{3!R z0w)}?{RCwUER{%EK5VX^+Q=x^(cJZ8FBgje?)3g6bZ6L4CKdw#l1#)VX-ql9R8Y_a z6$dJRj}8mT#k@I=#`?35Yt_@H&-Hk(A?QB(+6A=J0mj!?>wE-^Bgcx$&mH>b$%RwD ziTs!Bjo;Lp_2K6zOrFd?^$EFMV-pj-dRpYSBv(QE>4NjVoL7N_d^pxh1g&Dru%!ESG1&GJ0N zlYns3-*wI**EJ)}vbk(H8`KS0UxFQ0b!E)tD_v8#*>?jbx%TpNuNZHvQUwaQmo=2~ zesg4f-0$+zaA)9q_BbZymaa7D6t{=MTvfA9jC@=QjI2g(NvijB`SdvyZMb0YJJBaW z6u+7LEZjAzNoD!Agc}bxbwVMAMj3|_E*K;oB>9OSn|ikLC(S%&95&7$r(!x&SB|gs*l7@3C@osScUj>8~_%IE|=|MNOX6B6|1Y z?U1_dlX;mw6V(~FC~0Pfo$Dx-=5z!_5sWLXdd|Ud;r!|Q!2~B2;D;^!vBSIqyLz}e~wgfG5>Gr zM%qpp66n55)yLvMG`%(B5*)vNa-Lk9O*>7a{*7@30(RLk07QSk|LyE4a}MKYos)x5 zZ$Xnv0Kz71}Y=^w-|KVb7h@bZ_ZlD9lbf9 ztdjZcnShI3>l>bP6Z7gDv*v)6hKU=fy*Sp9V_+8D7uT|qWHKe%Nl)_XbTUQF^Hn4S zI%bZhIhFMI^|*7gefx}@CvO#jnSi>$uv)EuePMV8Dvyq~H8O`Z_&XHNmkr7|Y+^72 z($kn(;Fp(E({P>$3fm7O4eYQVA)LH6K*M! zVD^qqXL5T@ukT=X!k}wMUe;G{Cj)q~bB;CX5e}JhR<;XjYnu_U*n?qH|2lO@5UI~0 zu*nJ)l}|<0Tq0IL7od-q-c7n)GkAaayd(wLQc;E1mJAf+Wy>6Tj51H55DvwRknd9| z#!2jKCN!cV#r9j?xx$Yhvp&vi*g#nDNZEHgpC7YE?}y=*n)Sk3jEVAXK=5r0wePQm zw6n!>h8o*JyAn1k9(%>~oGj=x6sm4hU3f@&WdlD~Drl}~*$t%L(6z9dk?WDNTs)xB zTs#C%heJaEU3*jSD6v9w1X5D>T@y(eyk9FuTL36!Kmw$*8EzF_GEub$r>v3mE{OK9 zA`3MEc<{HejCi8J=Fg9qh{!xT8c^1Z4dkKo0q{#4WQO;K%3Eeqna9uGB${W_VzfSe zYAqy1qT^D-$|@O$gelT zy^Jl3o9}_-9OEOvt~6_kiE9nkL^CR;W3rq#*HrE)LO;Mq0TXz|1_rK4Nd)Dngyy8Nh*jlVgkl!NwT2$zEL;R$u6|`i;52o zZ7j0$u-l=yv*`rvZtmAWfo1_pmT#NP?TXQhl^OEhVZRb5a670dLk-gH%WQw zXjgb#`$ACM`er?LTpW_@{FeVQ9j7#*tgH0fFTX6rgwc}uRvB4P*&VN8UguRtL2X*$ zaKZykYh`hYSAs+!K_)87n%>2D`oY3`F5)T^s%A{yB$o6tskr?Wn z@N#8lt0zMVvz6elo;u!PM0;v92bHa7r_tse+7o_|agoe`kjM(YVifkqipkI5gB)|o zr*vUljR2+u)1MxxAW15U=vQ9LcY;jJIFBmTl3Dji_znj0e2NJSYHL)|rYK{2&G_XvgEPj<7>A_`9smscFmdsX!awsTPG0Hp~=O z@mUYDk0^~|<^~*ixjEZo*2o5DQbDW3h_Ap9A|r}tXo5@nSM=T0vGfo&TJz`E#kZ?T zS6UmcoF>5l46sGCD@};=(m^KqybtMj6=(odoeN`+k^^5tyyz(H^$#g%ULttjo>Zs} z1GT{R4x~N9*aH$Tf2&wfOpptX9MxC7dZPwtr_up;+aw zTq&o5__A`Sagh^WZk>d}H~iZ{@5JRP8&!|{U#_H~8;6uno`{liG_K+KqYl=icGm8Y zW9OCxmaB#aUWBdV1Ky~p*0m6M4H zGp0u}sm$Yez(UYiU6~VGqyQO^^1RM`w!-NT${%CWR@ESupOlNZOK(D-50E3>^h;+uKyS8Vvr~v$>|C)g+51!f(-A6G=n&7GRmuO)FD z3eLg4u{wLlaauH2+&B=ohrZ`(9b5=JfE82~a40ti-2z}MvI4fEY}zUc0~8j@61nzM z9T?X=I>x`*mP=Ju9k}=i?fFXGMF*R-FS)lQkF(kzGusOLa8_kJIM{L!uJo0$ywe}! zMNaeH23MSy7tzaDX@k52+xoLyMllkKVc+){(3Z+4)-&rbQ6hr8^OF@=T8Vtty^jiAGy{F90#ofiX!_ z#WOa&x2MzjRI&VLR!?8?jp_RosUV)Xj&BTTy`H~24wV9*V1VUc!M1IMz!e>~66ExJ zrAvF8TA2WFyiAF}+L)jzjNHr-EQ>K0^rmQBj|bnl*AZ@Wb?dZ?z)idI!x^|=Kj^ZJ zwS@+5M~@GX#@#D)>UPs3Lr_s!ddku+DiKhyQ7P z28v-ja*C8?Cm4=(r7nsU37&N)^<+LLMYZUWp<5X=;cslHFCWH0t~jQz7zT)2lq$YW ze_yz@NZ?9{(x?5I-RU8V%Bk5l#jx-36!z$Ybyb@yeVv^O)(XWrRWTDo?ibgRE{4KW z4G3nA$i`D2$d(h)VXXx?FztJfu|}fqi5_)(t2ybJ4I$gy4iFM&H1Yn%W<;xt-m1aysn zg~k8svDiS_SiOt$?Bt@@y}7iD($Q!o9CaGnvd+VO7?G_g=CRJyq^c4SibB;R2nRK| zJVR7{GM`3I+OpD4UL0T=u}dZP(9if{Qv8Y#A{lsk2Zn1L@&JbG;9e4D59)tNIK5u* z`LGnJGiw^FYyMS`=S}6xmoXmUEF05Enw4r(KQ;GffRVVpgX_{@p=Z7s# z6^0X$OwW2;?JW5qqF4H_acN2~If%an6XX1D;%swE$NVZcf7Q^xbTH{|`+t$4-&4LT4iw z2LqTP843zIRkL}WgCA|uKTepDf;7M^N~!jLaEVJTuc?y2V>zW!BP1;-k!ehcYHAf4 zmEO(pjnDBFFriRO_sxfnBD-{@M+3%>AGuOE9Zv>lQcF9ej_e^2XtUaIBRsCml|Qew z!3LwGk)rGk##bd(5B3cc0iE5f(l3$9{jCK2j?;LaH)F1%RFzq(F-d6VkjkDwWX%-K z(c15Ktgs9D(CMhDC?R4Kgn-ujysbawye^yvtYd}NJ7iav4oKhKj$BGeN@L*=p0PQx z8@}A!_hTW`y6bgAie?M2yCCj@&S=jDLs82DJuA1NfPMt<8Q6JG7sFp`iYQ`v8{nT- z4vBFrS`arig$B62%+biKR=<$0JbE&&zxj%d_1Pl4$<^Yj#qNL)s9IS04!v(z=EziN zWj1fR7zW6*^=^36r_l^k|61vFUuT-c+CxO3K$HRz8i^bS%YDa9Pm^zUPIeQdeaQdW zzGfS0U$B!oSrQSu&#)kLdN$B!Mwn~5OZVPJR9%2J)P_{3Ln0OHMIk*IbxHTux7jn&dm#;=+t-rkCT45?PE(9Oq)V2JRhkd`^PSpQEz-ZWR9f>%62$-UAOT z4F&`O>nXXj@v ztYn#Ca$G%h@o*eoaWJ5%d*zOUEk1dO~!W#Sw1Uf{%DVF zu9h@n5+<%5>T^*;mXB|q&6ls|h|!jZ?kwF=+QsN~Q=sSQ8z9q9WV*a@1(9Q>{AAUs z^gLqEuA&Lyxa&AUBFF zlMSq|VUk?k;RWBeND*S5!?jvB^n?zDkzII;Zb0IQ!!{M+J06Z4g(Rwn?^IMxTHPZK zJ_y9S7zvHlXIVy7fW^sakh8z9tJv8^>V%7Oqg4jHudlrWs)kDUzS6y?`ghhV@e|Rii!%5DT?ZQ7fJwcDP z__Ehy87Wa!B{GxNF<)z*(wbo{CRLXp$xi?b^V?iGapb?Di~r_p&iaqvw-UpDMVa{z z@lJ_B$<)ct#nIT*iIq#-m4Ncf|A)k~|J8c#zZ>PL zsIdH(Z0P=(*?*2YGIB8e&-}Ra|G|&D&xh@YeUrP?CWorg9G@hut$Sn4hKMM*_>oAt zrU?4=p{A-YacabqjkxmzMtGKJWx`fHi`(baGr3NtAl#@t?T{EwJ-UmVZFH5Fsnk!K zCq=#ftM1|4lN_!-El)jF#bX^YIfO9knsQuHb2O?qY2A~9jnDn_me%xuZts4`RvHuL zo46DD5|uhDfvYw1v(53-eA)QLjDPvcz&T#UzFE$0tTwdS9FV84kq&7Lv2_mQ#&wV- z8K{+tJSESEB=ZKQbY;P<2-`YL}TjIeVlQjh-J=Zy{ zD{{z)eF=xUXpPc|Om2kzy*f3vzd8V^2jL5-*r3RIaQ;D%h4zga6Q8MF)#Xl96Hqx@ zy+;vQJ#Lz;*SfSfZDw{m8C3#(OJLrsIL}%ySm#^MzjSpLfxNLj!bi}fcEOHcPpT2*`BhoA+GF*QYf~_Dv|r?3?vmuFZNvFo&ZH=q=(O5{#kE- z5i&(WDCdDk7z!Z)UP3G;MLBYIj~zw@m;7u{4lTbd5i@rJ5o=YGvBle;ZNHnm{CZlX zz->srxM2kwkA=Cc;}f~N^QWZtIaW#K<;Oe|uR``eo$8cwcEw8CS_7P>x|wzKa-0V3 z`GQB1W`05)kQ2&=<02ZQj(Dfi)Oe>bxeU~}jCwvJtg`0{zMrXkM9qc5x5k|OXO`5? zy=6-D2Hf&|wz%jwIxzN`ffJ*84U?2wGz67XpMmZ^BhZdmU3;lutKhs}r)M@kXQ52* zmWG&o-E9}>hMH|W8SYzLf1X$CY}$QF$0prs{xE_^5`GHB47Fi2FJAb(eaMUyF@e2g z8}mGVpCOGC)Edmsn#o>++vqlQtLR8Y_9`giqMiVL{ULYVP+#0KiAY|MIl@3(<{m#7 zvSS+R5Cg%Y4Mj!?_G^(vyJno82t{^?IM(3O}!q0}9av5)$l))p2`M@b2#1xp5( z0Bv-6phKcz0uQV(C~n_`|JlSHDH@-{vh=pF!($_x3j8PqpG7(S_X^TQ)DGm$d?eE_ z!zITVueZ)^mCCiv^w}uUF_v_puWvMqZmf;PsC3$kA9(W%EC%Wd(5;Py>d7{$@`LAA z<;2pk6(|}3oC@EEc*DuDhyVPl+FlddvhQN^|4otL{_L8VR_;s*rqK<@B$dtBF=q| zXkJ|nx;!YgcO3-D11ba^05kuMxVMgtD{8y_l9=L{VrIrMv&S4WGh@um%#N9vIc8?Z zjAN!TGcz-D{eHcbZlzDURa>=x&S)Ra+50@t9_e@1Uh4>Rc=PS-TIse@Oj;cDdT!&o zib(^vK%!GM%sXdhff(tKQNT`tvlot@tJZp@rDen4CL>os74~($ZQ~DaNKh0Raz6f| zI7%rBD&px4=Ky7kbY^B&PWMASxIOu;sJ_D)mJ?^!r*(xPv4*jz?3hh!{jP1nM=<7Q z>kn%63&yLOcFn2dRT(|?LCBiPYd6xx2IK@DW%Wt*<9r)2XR$B_pd)XWfCJGHdw6?G z+z7edGU*;CKDF`DXr>BZN|02lQt3z&?^W-yDRJb*IP`jbdg#X!nIbr}g5jl;)C2glg>Uc#=AVt^>1NB#yQt^tPv~Gs7f2uqx8jQXhnVub zj}$j{n{X{NeP+7n=T0R9U+kSY>_L?IDh_m}NZ<)X#Q^c&m)ZF5&sBZX?RdYt+h&vZ z70j)-(a3d(!3}YC;`>{Wn-aH1&Ss4_J^J?@Q1QnSDJZwr&{&S$Hm>u}k%cE6@b`fz~KngNvor;YuOimw)TDSkC4cN z${M?FtuUeoZnnDHS+ZneO$g6oP%WuG5GTO$`xo%m*r707Dbcz+D2S=z|EPTCFjDiB z;$JM;A#e{$;MYQNnrw|17PzHIXk2KWV=e={{OuQXe}osU~r z6tJ$N)bu zZ+IbFf=B=flI4`mx~t{Wf^@9rQmJ-F`a)Q0xM`ooI@EybCTHcV?K+~|bDJ+g0Sl$0 z=TwhjPMUifpvu{pN%OTM*0Q5t#W_SXyh$$AC*=* zk}HYNNuOL(X~EP+7;}yGBrjqyByoU;ynQ2YVs)|4pr%bcfTuich@}Z17JazpmVU)a zzb?Nn)>OVzh@|d*;E4R%LW_&S1#d;=+&jQa1z0LtSXeCL46|n3L7;gu{GDOG1&psz zOAX6`ILagG7vf6?`T6hSRGnXyW2hU|c;jM;Z`2Jsvkn z2V4b?slXS6keX9JBH*VF1m#l&os6wOO)KYZs%Rl+0ICY|CNH)E=I`7HJ4SrqCAI2Z zgizK_$jlvZUwT}g0MBqKG-@JhW9TCMg>De>gT*t{2ERdTbtsVYTfsGBGn1{5K-m+L zslHGctrQYBPD-T=gwpwgY{s<&=UIkghr~N)k*7|hepwfagw%^o1f@9fuSt(J9An(J zq5KfGCE0q2DiipvnD=Y?d?K#mv`tlApV1!!`j&>oZa_uiP0=%N$;N8Y9>yxIvcN*_ zs&X7#+r#XWY9A7VQCg|7kBsa=g2`!*t~81Nw6K-OH@t&C$-$K7fA2=E&5W1P-3Rc$ znm}QTn=*esY%ByAw%87!9$$(pclx#5aUN&`!6Oe88Q}CV*YnCRDi>3&LdG_aywGn~cPK{*#Sjm(X*$6zVGWFt+cUp<& z0r{Iin43~cZc_(@dCyA;-_mP*!`2s}sBHcl=PteytbUKb7;Rwm=mWnxVXbig+Zcdx zf=#7~`yT`W8w2{M{OCIv2SD_mVhI^Si`T|P;TTaGp$!!X6;{o}pt(7bNjK0t(eBfv zaZ%vP$ulHKnZ{ ze#cWHS4{>ga^#`PLFcJ;tG&>y`H}EJWrmazQTXBsovK)Pq|g#P-6dhSud$6M=&F$4m>$kg9hvx00G!_~2ya*yhgB$?3OxJKNi zef}Iiu;BCRRhNO}NVFNqdxaf5Xip<8f3V+mG|3qDti_p%3%OzRFf0!@aY>{o9riPN z`jT4OWSn|++$a50T%5F{HH{^OX){nL)l-0Y`rHszymC=E8L~JI~m3_$8D}ytM?rucC&y9V{7-)u@L-SHj@C*o- z!C&=OIX9mZTs7u;okaonCr{b>M!a78*U`6i7lgr=v?9mB>$t(2HcuBPs0 z*P|fqn^{a*jf^87@d9U(T-GfVrUh^kk9LS9B5B#qbHEJ>jWijDl;sX{$?m9PEP{h8 z29&Bo7~EGjiq&W860?I=yTQ67rJoK?@LV|2J$i$@6;Gv(^1;?cz(pxM@(q53T*!!G z80IWMqaap04KfBrEhT&nCA}jAWwMmC8@Shh zlxc+nc=E)lAh)Isj!1I@Xz&}aM2`?(Y=3iz7mPZaXQ5wQVvK*^;7x8HezpLvRmRc* zAFRsl^l)pP^fSADu5IPDT!+G*szMyuMi(o+_%wOaUxy5y4_zPMcBdaOv>|?%XtVF{u3sqU7sD8gzaIihYhy`X@p{?<0M<3 zb*7IyMXKDm{rKrdmHb`kTq3Z}Qfe@9w1XP^Qmw zA}?{IJ~TD8m+b@qhWBJ_UZ2I?v9k4fACZmuY2K8}hb=jgp$NM9G|&LC(Xcl$>Mu+~ zIO}MVa{m0CgKy3yGR3PHZ%^FN?|1+959I?>?~A6^H1U4}N7(*5$9}f|=Z^jVZ@`iN zInJGl?SDVg_#Zg(|3H%UUo-n(!x3g?&i@&X%%k ztw6(08r5S=e+C4jodMSkj4mV{B1GQ3kdTo0MO_+`D-;&l$U0`TiAznvTkZ!t5-aLc zbyXVKRP@V095bg}ZbQ78%0JbO!A+DOX6Lee+2U(hD_dx-XW~dDg`%*?1>0=aGwiK5 zG(mT&yzhg1bIvQY^9X}oCLMp&fAXbsm}m8)REOYO!sS5t=%#{$d7FIB?iHEVk@OFdo)Rm# zl?9*1Qnat$Jl!22!U7PQk7WtWY&!0|0VCv|Kx>_$AUYQ7(a0^3P5f)&F|)2{IC| z!}h>On-evbz|95)Y~N zc^=m1h~{E6vp8)KGa@0X!!;0mSigYys#Gk@j^`&u;%|R8usbD*Kl}cAaZt5GJqqfh zH)V;jbaCAFdVj%|7f;2Bgmdf15Ut-EUa9AJYx9*Xop@Tp(QO)MYiHPpXrJ)CzVN=m zS+{TZYr=I~tKPJhP-FFd_;BX%B@->ZIFrr}=;@wp=4GfRU4?{qbHaevs~ zj}QMg?Ru+Z`Wce4$X?PzgPv$x=2E7$jZh43+6i$4_iJ>Kw0>1mf};echbB12p;G1L zuLWjC@_)3K%GH2@me~9`Z{^U;n<^yf@++kcuwh84(b4{@mqP6*p0ketTB?-PPcFUgtFC^rF0+NLYY?kMl6(sj5?NIHZ1=6#*YVrHFGV8 zNw$H156KZxC468^y>T(gQegG zHQ|H*@`$T}6v#w=or!M?SOdq26IQ=wd>EFEPrChq4v8hVBHK!~Yu539*%>~VC8Q89 z!Mv;ui>VKbNr{W$B_rfX2NKA{D44qyZ5lwHc-XHn9H<}%6qk!f!llLLQpoce5t@iw zx!PPNBFk2dovl38RfprOE`H0PtJ!-6r2;JD9Nh?3Mr!y~gNMna^Tt!_1<}+ci^7MdP_ix$MIz4v8%p+6V%@~u|H>9AGpogDXF;`9N_(|c&EE1eX z(o1B5B+F2bIhoxwoYi@>@K(gEmCM54fYLW{(kFM(Z~O6s&0k`JNy_babyvG@v!@z5 zj{=^p|H?OAdd1p{t9vgwlgWfRt^Ata$Wj(;CDR|$gVhQ>J>xb9OGhSmlM5>Og2!WW zVPkT8v)4>BMH+*IP2;U&UHsQsi2ECHc=9-?s}<4?D53*(^SB!Qkk!+DI2qq_p-6>G zNJ%}#MRO|o;V3Xz${_DOI=?YA9;vDL3Be%`12Tq7BjF711)6L#ZZQlabiMf+X}XU{ z_MBunBh%{WTTravly&gqUlKB@a&Jf^OGwEH>$wY4TGXLVj?Pf-`0n5J|CLnAG;+=b zvSR0r9R)FoRVXxI#e4ztd6$$+22En?P%^jDAK(p0YZMAP>=WDtwEjT9PyHn^h)Ok! zoVY8-pj_iS<{N!-d+hVH^;PreuK2F#H#1o8$Gt_ZyRUCkRk=%{HR?juxV8eSR3v9S zTU@t2?t!tl&4SDDSsuKNTKTSvgzS+^lu@2yxs==FItt+|ax5>|-vf;`;c|l<+*&|J zZRyw#!~3m!!JLfAIdcb6HXX7I@Nh7bQZi}Us&Hx5K-hWGPuOf!IA`HqLl-e8qL7Sk zch42ucCqquF+tLi@1JkLU9fQn@M_tiI4ba`$|qJlxRYzrzG=~me=ZX+fxoLL8vAwlfX!3HZA#j zSo8rr#1&NCe73P@g*lawk(Ifc=6_@`iFSdTc+A5(Tz|x?=|uVJHJ_YJ093-_6<{U; zy$)VW92a^p=wxt-!`bhIR@a;>9zyba)TX$sPF$Z1&Ok?Xoc&(OB&$42b?lS&El14Jqp` zpO_ajsOa>0Gm?FZk=I0~i!9*^J@g3I29YWf(k+P^0wH6HIvJ^PJjpkd4q5tK?4vV! zwDYJ-Z~Q<=X*>wi-mXE8_%ECO(l#2kJB ztR#QMi!l>OQWpWPa30luPh)5NwWma7o9!D3IgO5b?m4fVm7F)2M?dv(b?$n-tT|F! z$eGXZ8D76V@lnE;vJvqIXlCf;QTSsy4w1cj!D{vPVT>wKZ5|J8^@#4e$qLQJWyWxl zwG1{xX1cAEK1ey&yfQ)KN>^gA{nMS?0Syo&Jl{sqFo#w1BaY~ zZ7z1et{Nc{YACB?YWxdspfLa6YL_R>{E?hS*WLsu4+WgWy7?W9~Q?n)+x_Fh7Iq~!D;Wlht$HdSaCzS6xw`7t`0DV)M>~$JgE8VBUV%}EqJf5W)xq%Ij(c4AY|(fEc~@CT1SSQ-N+!o%S|=nJezgJ9 zri=4q?ze7#^e@(5Cr$o1@c-c^!%d|$8E8H}sU?on)-xtMA~svuHzM^uHL4FLhkI;# znale)-!B41&X9{}$v33st;cNBV;3WwjHPN80${lNbSE{Zg(jEx6F;v>WTEEq)dPF~ zOJ{h_2>IGRV$xZ5ndTo5C&k(_#@Z3h>ODrl>UvbMc@bF54pK9}#!j+N`(XZU!yToi zfaQa3S+)6X@THx%j9R7`Q$+!%MI4ny!uT|iOr#{;^+NL{Q#!S0Yycv`Jf2 zuF-3;6l;}p#x(Bq9&8vc%64m4s4Sb_(7ADml%ghb<<0KMBOd*eH^p8PN-4b(&J3z_ zsb`c*hP~$+g)AQzH1T>kd1Dr8>rwhbr4AXo4AGa0{3T>DYDRHeIt68P)@BR=q{zLd zDU;yr-wEatPyyWEhr#30AX6*$iA0i1r4@%Vky0UQQkntAq*Dw=XPsCzsLbl*m4^it zI>3Sg!hp=Zs>YLkm5)W9*P1n}XZXqxm8iwIXd*rXF|OH)Mnk+nH+QrhVo>-ShhVPM zH%J=QAN%3DTb+C+gNXI@bpc^jSyl?n)?&!tFRz6G5m9;5TLjfHjpCLt=BrR)g%R~7Ch96))u1VJqXkJcC-Gi+A(CH3evYoEG^R30zW zhf!FZW>OhNvbvXen996{CihZa0T*y|v^R7L6E&Z$?{V4L+1*jgC`6|84+8#SOYVI` zA`aBK<=PGTek{Wmr9PT%%7PKFYS z>a}+14x38VTy+o5FMw_|bmxbyy?6tD7leK94eN9pNBfrsi#kX0=s`assqb~6<9+aA zz`Bji%L$wfUYBpIeJs2ilhYo1@9DmnS?xQ z5BbtVfm|Vsh#sxgTn$=djkpfh_rfDSYm6nP1{=qp?%(3X94JhH{k36{x&@wSj$_6c z!wO~JIP-Zq*`rqlTE_Ht*I^#FPTSJ5T=x5)pm;5#aJwezS){hO>Rnp@rH{tW$olkV z26tgZxjpSTv2;9Ex~ns=RD@1KlJX^Q8Y1U}VS{a**k=@RIJo|BnlQ_hKtVLBdRjQ) z{p)4MUWBr1uc#w6{j#(sJTKcQs)*x|L}18d-`<&?-N3#==>JS9B|R(a-TGMp@qNYt zc=n1uHolJCdfHWmCsj~h9mCP-(|+mLM`m>fKy@tU%#}mcziHMb+?Q1u&h^8N61^?s zsJmP!yT}<~oJDuxvSzmSu7 z6^v60<4zp*j*4C|7vm0TTF2PmL`$s=7c+F42JJ59ePKJff!vj)yi}Z>Pf=4rn4GQS z7HrE{bFYNO=RRUC?#dvSa2_eBkVvpg=U~A#S`IjmwSePje-=v^$_XFziI{NAxGs-< zjFNCI!7TSVli!hh_3Md3c(+`6EYs(ICC-#pD#)HViVQWdS=^OvQoUKuiAxE|LasLz zb_;{?&)Fi&L`9yYdSe<^L|cG<`7t7tAmhhKcDgL4KTc$G!IB>TWpsE3E4^EIz(2P- zlejW;-~)(-TZfsi{52$7D_$>-TkrFR zm{?XFlkhwnC_pam;`+2 zl?y9>Q?ScM+IpdPMflaL`a`^u0zbr)^e0TL;S+@+2Ve+dh=Xc+oMSn8|MH}2<+41)F_S{uO zLoC#DLucM@H*7u!!vvgY;X_r~x}pI~7X00{O9&vUOx=LZ*>m=r9xh^j5Ug8HvyE$r zVvT2xc-7X`hI;ydHk~oN;c{Cy#=6cqh1uu-8uk2t8kN!=?whmO8e*Vf7)JZ|LE2P? zi@RyLMP7qGU*zG|<(fsyKcH^RT?QlhqyTq%Bt8&XBFU2s-sy-U$qDtJ^AY{hu@~Wc zj_MBXz(afWQ3$`btZr9Or&Xt)s!U_fVvUY2N&V=FL?}L#DH)o&=RO{*xSfkT#}ngQ zsqSlDA}{I;f|tz_6y8BSbaXup&-^J2aQevsF|{O>_@^ z@q~!JTzT>&_9z*XmVl(IPB-!H{FE~MGWzi`3&av@awAX)7!ii*qG0PzG#jpM8H%+?^KV8@VUHqKt%f~l@VWl3%C@^peVgjLO)-rTfOne{1& z+B(F#plN{;YmJM|?MTYY1_(?frXI-RUK8y*B365Ins!t+qCckdX63@Cop7s zZ3RLEOCe0^xWh@62$_u({v*{8VNPxDN@REU&6WN4-@WkiYwmQ|LQd_kRJuzyehg_)b8^CN z5b7~J%wQ(kEC*>~P2CSc8^f2<_dqy0I+hanS0|oPX-Ojtj-p$xqu>Ta38{tSuNdjd zC>q#@a7OFtm|=@t-l`AkPSM{pK$z^v8A=iy1^?u5n&hU1^k!ypw?G5UIb{=niHLr`*L#h&2)%3b+a1 z8y!OP1XX{5w+nvOb#>+M+qxizWMzTXhhV81HJ#|uoJvp`a2zFFVln#88@}|X9Xq_5 zdb=PB73VMgRlH74nJwEB;bO{T>aAo0$QW~#TbI%BrEkv(kzro7@SRXt&?vrX-V#Ao zlr?~WCPL(U`9G8IH_)@{CX|Qk+BKF^#4-{qtGIjT>#I{4RqI9C1v&NzFAQ<~zO-m= ztBvoM@3D~^0axSB)RP%yepxUHi?@bpzA#I8bkmc{p;)0NSYivelnwa9q6VV?ibD%B zN`lNB!?CQ$2Q$AJ7Y&y`o>@rD;o~#?)6V8(dTXs31Vw%_s9A4#!p4 ziB-cM_0`yP+|{c~e-x~Clq{+zXSuZRnMGQ1#@k5Y@$J^lfR(SW>M}OK=Nxwj8~k3K zd=I1=j-o4|G96!;*)XIi>>2{ry!iJgHjd;ybW&AX>qG!Kyu~U%XPGgt*?^xz_d#U6 zp%7`TkvEh##jrf!wxW%+McWTNz~~NDn|Vyd z!Z2AdzIiuPSj8LFq9}tk?5YAyZ=$oc8{H4%caHNy3lk$k?M|e&z{CUVUSwx0VB#K> z`g8z90Mx1DC86(V+(SWa=UPI6HRV@$Oz<+~B!an|3!ZbB^%cq;=BZ0#*wR1UI_Ib+ z12I9sF8w`T`B`uPk4cLk_GqHsbu957X7=a9L$dafaHx6xmh>lfLz2Ev ziy3(E1E^;9SsC%3^c`s7q@xT@bbBec+~)dH&1m;~e-U9*6jk(3k3>cib?a>M_UkSs zJ?wP-d#9gG92D}mg57%yR#BX$WoF9~v}Qkun#|nvTjU&;3d%o9myTNLAUEb>NZMy9SU2D^st9AX< zTy$#6a>5r1<8qR=1Iz3kak7A@0eCg6#HS++7;~=d3gks=Uaf8`tX2Ar!X=U z?_59$q1@Nwkh^q?=7|aE>(qUT#fBK83=xGs$zqAwKJDjcddG8?v!YXwMc6P}J8n)IS<{5&R(hrs2EC`}KI{XxRm@!vrH>5yqE zl(z3Y^+l`#`k_62b5^wQNh(3P4?(#Mt9D}o@V^z20Vgyoq^1374oXZonzMh%GzHK! z|7vM6nhc@C%;&Cq74h=k!;l@));_1nLr*N^V+Nf1np~ucy)&~8WqbwP(sRe_%huy+C$knioINW^|m-Q@H zg>NijZ`I{PxI?)9$kgxShi&UqIMZ1?T63inl^v+F+kT7>>U~lt9kZ!818X2rdE;-| zgJ8*om=11&;YoNJB&YErDs7gl71Dx()!8qK)b5MG(k&TU$Xs;K;K@8*k-#7<97pkZ zK7$1o(6-Y_B4yeb>^ZEZ#+N}iFRIRI*2=~w6qxBG2`f9If>VHwGHb<>gF$6#t?HP1 z0F!6!J<%vwI)0smwzH_c8paXwzD~=@kTy*tQD*uHPPmKF z(8W`{5=wnNV9&WPq$>6X6cG$El|OhQMxdX+uZ0CMQY#+0WgJaj1&#tztJklTIOTXh zGHgBYV~{?xd%oARfUJnZ22O<*qqA&p`sn+a!h|uI=1j=PODnpw{{n_D6hTQ50ppG}RmHzs zquss-7oqz1&9vLOxqrXQaW7vy2+qNv5gp|hQq9;lYO}BU+)^7aW<5d=Fw13^#`tb{ z03{BcJfCG^SJFAtc0!>C0qe>GdmcQ`j;yhYFIlvS;G(1xD#+c5VCDDCG8I z0>3cT&JZ8YZ&jU(@*<=>?yBEhZCkgZNl}dNpfA|zPEi^0?)NS5)`JjV?PPh~I~R$~ zJ5SVIAp6S4@W!WF26+v8n^QL}T;y?7Kp9XMUPmjrHepSg_!}fZly@gp$Zsr<5xjnZ zL2NknNC9o4>{&nri+VkIee80EFgEI6w4x=t7-!a;`ZHLI=r&c4oi8^QX!XF3E2Y9e zcQX%|w8E#P)vdWVT{Be2F%fzMK*})ViSw;@-R+HUCqS|CZ-NoEmn@99Z%r)){f|E` zQh}!SL>;@xvmI5h2p=Qu_VPp4*AU-tKj!kGs*o}k`%KbGTs zVP32K_@7RH7vtVRfKdeuzDM*O@`y)vtB?<*0;~xb)>uuvk?*bczj+1*F@H|O8)*_V zF@@8UmSF<~RX>KbagmNq?57*pF8OWRW=N+A{fOx(2tb5{(Z2=RTaXL|(WA|H`HuWO zIF5z-Rr+Y6FjNU2l2qp@G~7R~wSe{lBk~|0DJX))vV!YdF_D}FH2Jm!Ij!_`s<--@ zf>;@?eQG;q#W@{WS&JhCRnuiGHw)NM5#4$dG9e9LnLI}s%F{QO+Or@wt?1IhQD)e1 zF0oeW3y+g0$;dOM4v*3{az?cbgyr6b zOG@3Zemd)Be(9cwaY|1=bIRtYAg3;)uBCAOAPjZcTFINN`Se>vUu6N~%TYtTnr0QW zB>V|tmB}^6fhx+)x=k7^@fS%e0Jk~B{fa0x6?;Bn(rtBJ1mb&N<(03TbK&Td6v2O3 zCH*+Z)S|AjX3E#*X)(3RrKj7G130S`4CD}*W=0JZZf<=C)DCX zB^{X+g{LAZrw8VMDJi_tEPCdfr+@2@AQHPmK|e>m^G^k|Sm#g>iBvIGuoJy?65Kg# z@8AJBlA0b|g5nPc{;W<6w!(9Rm`(yqecd%?^7~aX$wUr^ zYPqcK>un*H*`)IEepOG9k*FiLTxJmXbk_6Pl6`Hv(ttWX@!!Iq7RGbf18^XTeYrUU zn#4Kv5K*qU$@T0Ati7Yetj^<`_d&$3@aa+3ZJRQ5}AT3-*#=Va(GAzNAdBjM?PY*+teI#jb*8uO*4<=hrg+n?T*P1 zKQ>OYb%gew>Rr_;H(^sqkhb{e!}&Bq>u#0Q!X8kv(Q$!Q4pH}e%(&tjI|?|LmHj;j zir|wze`KUaLosdX>d@yPG`Ix!Tx{7g`Z)CE21dg2Wn%a8t5QL!p$if&mF7& zlp!bWQa3^~6pW-_1++^F?Z3O$czM5wPc}lvw^5ecaMYh) zzo1BK6O_kq-}Xi8i&>>`2Y5StzZdfbuL@nKxM%+gmsCB9FVe>^Y5NqQyRFEWk<95y zXH?|9h|_;kk6B4xiP5t>_Al8fJJ|~X?E87xzUFPbYDnbr%(lq3l;75pyvceYb-3cY zXv1KZaRt~PRbW4@HpnKE>Zo3u`guFBSksixUS((PLZNXeGvSG#c-?e4ZZ!1#K%NF> z^uifSF!{ibhq=9Y6lBD=@e+e;&XUjiB>m_kOPX{^e{;?)oE|GtoY#fpn>3`8f{$~t zS5;)cuttD#aljbYd}7BC^x%LEaQccexIaiD!VbMM6I^OZ`a= zzahR_i2c0%LIxWQ4Ahc&DxzNHNezdkjv7quyz@d1o05?twJ*;+7vf9(yuCA)CBAEi zM*U>|dA2R$rqzOu?SKnDe&0e>{kxTb<59H6L@VM8%YO!%;=A%{ zsSQx+puR#><@&+bblGvV;k#MwLLcdvPUlzTW)eTJDgs3cCVI`s5gpi$Z(B)-K8%8%?f%Uh@WkB#&%F0AA! z$SR@Q!k5WYu#J#fI2%@j)u@HH&F%Uwq%sCnJWnK7%4lJfzs8~&WQR~^wYaRz00aVNYIm;jEDa*?vXBC?N9d|NssJ8UrS4nJxy#qC=FTQ|Xg8HoUzx>cd?|FCeR&fb3IiDT05rPR{zVG7Dp zvjTN|uwkS6T%Ml1BS{|8gs+*0O+axJ0-jI?Gjd}Kv~}wXjCJdUQ%i|645x4Bo(tNCS)nz?m)xI_4I@e6)BU}8GQZE@ z2o9%<6U+lZDt+lp%Zz*ik>>gJcmZSLttjTzX?2$G);2X;ct34{5}0vKde~~nQUhka zk7(^Z$dbgiKM?I@PBc=PoZp9Z-MP^^E3Td6ms=}TkR1);$B!)1=BVM$`n(hkT7Iu; zJ47N}i08vmX))Ir;CvRx#5mM4nHS1bU>^rndeFGG6k>#Phh7J0!L?Ar7I8I}I_|8X{zvgGmA;?vA zJYn5W{7m4$`;iYuDv3E5dbZjZJE0jeU}e{1tQxh^w#Cy+gJSvUeP zZrE%Fz9pFf%vkz7Zp_VEt#|4Km@2+sUz`1n86wNx;VB!df)@E2A`@wSw`X)5ex;We z-H;llNIWZzyw5=p_NT?@YY{y?#xp5sJ}n8S=WRgCT5H;AhKP-2(NLiD+bQ2g6x%f8_Bj4F4vWk6na zFl8j3(Q9vgEkDS%g|=WeLs>=G%6XPrM1Q~@_W}4Plya6azNYya-uCDwPfbUfCF%ZI zE};(vGqBlzWKc}ihAQ+(att@$c!Q8fse|tD`>!1s1;iaP)!}mW=~$I>#}&+9qK!Dv z5T*YmSt)A`YyP|PO!!XjWr6Gu^tsdc0galXg=N?zR2cqE=zkrASrEddu5<7NK^K_6zrb{`j=-4 zv5i>3+9(+Q*%kncbFA!0ZlLv$GB*LKz-;mcu``2hbFel%bz14%RrX4*|L3SX8E&JP z)Uip#Qrmw*Ket85u9_T}p=Q2j>5KOul($#bCo&dOEZs`X@KJBbE;Q{+XLj(2)e@>| z^_7+~DFE4E9r@yAa#l};)VamDt>Z?a=gpChCN-I-2 z*e)8+P568$5K3h>Cax6ep)Na?s={v?&?j$bIb?7X!#H?g5ZD8jNusTl9=RG}ix)*R zW{za*Mb4T#Z7yPfy^O`A2}J%^9KT;BqK@TDgq>BR_jl9vgC;TPhh6uwPM#E`jVo$WT=o2ZaG4&F5 zJA{Xsj}+Si$b)`G3Rb|$pT(Pk8HO+!F)KqbScuf+C}x4K2a3F*Yb zxXa@rX|NUD<>~HMospti+&-?u9n+FyK}oXhxV_^yMor7K{cwvz#Ma4UPtBWHYJt|- z3mHk50FF@%J{CZXW~FkA7st|a>`AlZ-oy1C!!os3Et*;-!eY}|A<@L%xA6_^ouf_0 z0_$)PtQho0LsMXYWg{T7V!^r*_O_UBE~{z6e0%&!4uTtBeWJ2@`15~ZW#3Cr&Xcc( z6-CQ-qcaQ0pPl!`D_Xxvb}rP=m1=b=ZL{lCO~*D<6wUjh`qyy;=^Uwv9(2iUN|E^t zwM@i-Bm%Y4;M6UVUt6hx0+s1sO*nA|!jh3|xZv z4z2xQ>;wfc0w@LGv>9Q?SKsxp1&60zR`D4G*nBKI(;HcyvLR%^D;qf@!fK^ZJ-tq< z9^*NnD)%hepOJ(b3l0F-}Tnp?XK8 zyEB`!r0+Dv`W5kOTL50>XIi{HyCck!sU3_wu*cYQ_#I!iPhIFs&t&qFvaXe`^REmky-GlsO5?M1aMAZYP!EH7#%@6FCqNNy2vDi^$4wd_r)eO zh(!@Vj4&r9E_9lf$A&b#Y%R%d$|y@W`bfOv@Oj@{ISpewP}kDR@FrrtBEFXfIspq_ zPPeA4Xio*q#>nyEHF9K{_1b_RA~(v%!6sG$O`;aoIy{CH3JQ!mjhD@onMoplr7j(u zj8&?rwkuX#FCci~x$kI1_k%ELQ6OrwZG3Y3(9=P>rC=jb4O zJ1I!svB(vfbsvbo{G zS03QWv+ZC1jC$8W9ZxUp;r5hIQUh8Gqy@dhnT`90*}#c-+h(7Q6yNL<0CbS13P@bO z56fWv_~zNX?J+T@94Dvw|z{fSaXKvU`}vAWF!5Nf$#-(Rue(7Fp}i zxDdGh@7FvjSZ}Q)!^cKs%{cYEOa|v#JnT*p`2zt$Z{P>gaOH=jQ!f_9K|@d27lecB z+3pqiD>EY-q4w)`_$w0HD-hcQY-&&qRkTJ52k5gNeUE9uBRyp79@4 znOL~MOh3q!Z`2p&0+|oi6Y(Ypj)-HIb6;68JbE}CtG!#=N=SgUzr6Hi)jC^~F_u+hDsTJ}BcOXL2rd6OO+$T4QnA*O6 z`i~`=?n<&JTKcTydO^HfZhpM}Z_K@8kfcw$?mOMnwykN~=Cp0wwr$(CZQGi*ZQGjG zssDP{i8w3bjaX;z9kF6Z^oQ!Kib~v>`8@S|?!2yNzLU%jlwMYFzCQraR{G1FM~mEC z-%PwXelM@1m*ndHZG6Vg?emZ3>fswSr}olQGjk<0L&a8jQ+4a%&$cD2c6{jyrW-Y` zDB5mcs|;&q?NcDAF)U*OobQ#HE$-CmRR}YpHq)xe-S$TVksmy%Q97VK;o)*0RiEGW3m>Js((IUHOcunZQMJeGOCI(uy7D1K>SB zywQPwhxh)ShCa*xxrYA#(m~GuUA*_dl>zuq-~M}~$M9b>02fs?T{qeg0qXjFh2Anz zyE6L>7ba{QE(=yw*7ym$vna^Msie3Y5t(0q;lO?-Aff6KK2Upl3Hc`Y^`Bf zP^$)DyVTbygg@4lxROm9rJu-o zh`*x825h-ao?#+uwOd_`Ps`}S$1q12kJxds&vSC$!$f^|tQzWVm|i%hwCB&9N}g;l zi@SJg_e$C2nzMRc;~1jMP&Y0+P!(N7AI6yK!>bXx8GyQOiG!h`=rgC7S)G9-z;UzP);?M+PS=D%EU-tJKyt*6eg})USA@2v;k-lI0**p+ZHV^ z?V@2~Xo!aSIFoN|BIm)tAG6xQ9VZ7XhuTDVMy%|l^uzVd!qHI%4%Rm{QqYK>~lB~=P*49u zoV(VgQTV&-W1IZbkX*Ff;OuOSu3?V(h=-l+AD`3FQ@DpXNwkg0DxntO~e$ zi{S-9YhFUcR`~Ic8IfZ+2e=XO=8bJQI~${Ggp;J7jh%+eFI;S_u5peUJjRHanOs90 zXD?E7J2#uFfQpPQxOwn*H~*=V;>}3dXmr_d6OfemU6fhvVwX6`~jyl_I)wtI^2hmLd#0v(L><^$eEt`UQrEzq_QokI{K~i<$UMxb`nY&=-ftvj<^K07PhM?fE+|Tc~%2I$`@O# zB)WuJk8N(?xHtYbl=uSRX+tp&$oEN@v=8*hu12{06UX;%Z|^v1_3bhMpmwd0Ne&5J zVmNxtv0dijkdzC_l%}clWTpFPrTfrOO5-l~5d5Pxl?1yO0MyNtgh$qY=&Y^&)c&9-9|$ZeDOfEvameE7FH^B}AjTV%fv0FaCqNOw0`= zt>IY{*hH;W$c*|(Nv!XVI)9gd!dlC}&_|vwAO8Yk8N@nJ*C(TTh#DGtLFM&Y{r$Qj zWzhu_@yi89D+q}vEF49P36~#9sknhAW*e8LzM+vmQ8kyXjG^mj6U_|>Dpp#3|768U zczw~y{O_MXtXfgDceJQ2%2X=MRA^3XNqY-ZP^}GwId& zPpfN0ykr1xCeTHs8X{8g0i=M$aIGV)qLIQNqf#+TL?U|hnu3f2QZtI6i?HT1)Y{wv z>78mfqISs$Uj{T!x2kwv6}WPcHP$7X3!x1gVCqWmj$STBx#6gUtDAl$j>WGIN|hyL zi8kl>=lTaIzH&~sjZ^A2Ic96*mee{AnO~(Jb@_GjJ_Mxjc2iD}^TA$eM7`ag9JlBK z^E%EzwE}kKG1kJ~D7Mo&o4UR0@H_hHptz{If?2H*q)T#)Y?ZH+p_xgufW`%198hf@ z-UX-YmL^@Bbz5P>OjC1(j(cC?C?M7lx$rv2fRvu&+#0rBbA=kv{tGIhsm|G2_rG`r9AGnuNYB+N$=8&q5RI0C($LYxhG@L6LeUUIQr)MNOF~MX zjg{wldskYRXI?7zD$KEvl5H_+j}K{SZg`0?ClneQV$YIgB)Z2;QJ`=|BpFCGh?cg< z(vUJD$WeZj&F5@`*J{l2Rc>n;(B^69lqo;0N%lAm7|6j5{yGqVqPwaFcCXA|C&ukk z30W;v?e8koDZgSM@xaGoz*1uA^Ja)+$fYgz@1})agf-R#lCUScuzaLwIaAcE#*R5M zWum}KNO5D5^M{iSsn;$;hD%s%?VroF?;CWH@6l9=1+u0@ghr}QTM#eMg8iWiU=diD zSd*eQ{n<+l0?~w1QlEKnbmO=;au|;-SSM0;AA=o`XkSS4Qlw*bSXT9-!L@j$WfU}i zxqoTs$ln&T`pUaEWi%+8db?NBns~cH0om&nG2T5gffmWO5m#V+{v`(;LEl6;^XXj; zK{4&)0Xd`R$o;)tW0=wi9I|`CeC+Z-dktUv>_U%!6Vs%9x0aJJz5y@@yAs-9A5y0S z1lDq6R8y99*!eExJgL~dRSSJ;)M9ur*v1yb^#CmpnJ5%JcCRELW015NsI69RY*`sG zk_YQGUC9Z!mPZ|nmsgUMphLLPBZs-Q`NerdX&eksr)KS)h_kq2wUXrQW~wSk&*<_| z1-XVur2!pyk0SWT3r#wbuEQI3iT9f14?_~zP+ zrfp>ZY-8%n_JVedHVzYsRy)tl=A`HShshku9^!2xI0YF<+T}^);Z+TU+t2?BZcIu*4a~-sLav0NV*aK;$dQABqD>-X`78+E)E&vE zY}QWdXG%NnK@>@tCNscRLj2iKo}=&C=MQr_3fI2|9X9E^FV_;#%q0&Mxv~|9t`y2T z=#h1n5dp%O@kVQ?Te0fi`Pbv}a;}je7BiUpIV3VTq2>ZPtg)w?jN5puu`BmN6;-(X z#JP2?vE8mL=!$)D-U)}0blYy~#m>y1!lplAH~qntshl`%u2U(5YU=k2o%nKhlP*7F zk-(By7IdY?DNyB_-%^z!(u!266pdaPB=U*h3=wbP_{i`$snF&yCh6}5Syq$%aWI?U z05=AK=`hSn``DxeJKXwZTs9E0129?%PUpIv3}DX{EGAmwb>GS*Ek@XjPGqNHz&c(H z>j6i|X#h{dNr5}z+po4z*rN+ARKmpe{HAd^y|D43s^1B1aLpX)bGDk@^0r~tL%SPz zDOc#bC#1av>{7culyR8Z0wrg3>jE8xF)*N zm7dAAnHF2V?}MH{E(bydr=C3pc(~)yc~InTO$JnW<|d2|`>kEGe&~>F#8=PvFN&^I zc^lT6IeEWQgx~8>CaN7}vLn;Mp5LEW_zL^i`{RHpi@9wD~ih0*W>B0>@$uvwh$Zg35z4YdMrb9;> z^3Q}M%s2)ch)n(l`b08l`kKieO7*&SaEmrl0=jk7;vtrdPBWWLn{tC1?Klah?Tjec5mWKc#J?9u4hE0h}80{L3Eys#Yiqt0QJC=i09JpOhlBGCJn3 zlUwrhDmNv`5|EgmO;}T2I|(|-notV1q7m0cZ-Xbx{=lBK9MH>-1)<`0Qdy!=*aPzW zXZ?1B9)A16F{A9D#VEDNSMBCB@pPHkTE6bqf}K^*v6%5j@W@%>ohZ7>D_$8P1%(q1 zKSB`*pHy;UR-`&=v}2?DYsoqh3#k8wPL7Z&q#cH>9B0`FvQI$*wC-j4epYU6JrJPa zc_F>QS9CYecZi@pos^=M%vsB{?*FoDJ0fWjN_o6E*5Q3kf1AfZiq-L@s={X{V*)$;Fl8-w~r{ue>X}pt~ zdxAz5a=#8?Am^hNA#)>#jmK@zzFcTTy9c{f?V#&<-Km6)I$wV@S31{8au}vvVq1uGxNiNPrb8^UG_XM3f z09`2W1$qX<(aSRQ!@+!Oksm*L${ zZB8p*cUs*+Nw&x@s_=>9R5S@`jD_-ncBSWPt1=eYPFx#Sk2`1nbharK6tn@?J9Vl1 zj@-P~1p@owgY3}t?=Z{16BB3o9~Kk;AH^*H|K!9O7+C+yK}%I>#|<&K?swHk`HBdR zsV~Cz)+#cl@ntDiWU9_kBY0-<4W@kY;gtQu9XhPvY!u_up@z$KS|vGSHg%xf+&}PR zipG+qqS`nc$`kf9Cw5}8#~TRk75b~YYg0wPQMcwoiLQiFu$lLY^fw8Y;eJ)=p*)NI z3TFC}e(bpb!~bw{pcHl{Qush-L#+bcRV^j#DeV~ev@=K@G>yz1O&>pt0-=qaj{Wju zo4Ypr=C2Lddd)~w{DpkfkX^~nkAc>^Q~6I(5%B_CHxxXmYB5ivw* zeNAt!mGc8~)}(L8Bni%ZZxAi`@BT066tT>N?ywu4!~AhB_%~^hv$&BAVm4il!x#7a z*~3^51+G^_-G{>$T)=-XcnYK(#{+i46b^+P>|a|9#IEk`gN*l}V^1;Tt0KG`GVVt%_ODWLgdY!PbKJ}?yNQ?=NS|()c4pUmWQnZyu}AgZhVZ<}VD-FZjqrRc`R$>( z)Kdxj^)bzs7yhOL3Pld>rQ!K254kVu`MvPIirCe-Ng><^(i!%WtHxcD!XL@c@41z$ z{(@}S-{k?dD%+}+4}}4g`6$At0(qms$I1h(OG|Sb!xtq!rOlcpk=U=jD5ZAQf6!`< z(tBC=QMK;g!DvrzcXS7jB3#3EJ_~EQ%s#S99wLVndryKzw>LWgr|#f=q=Q{PqI)#I zY@cciO)Go(m@%scY1)YwJ&Yjx6-AJPhE{k1_X&Ix%*v6+8QqdLNRD@jQ~|jWgs+eY zo};M9e<_&6Gv3=NI4$Ez8O2j8dyjW9GcR_r{#>Q4Un2GDao((QzcjEr#H29Y!5pJi z=HLp=z-6TJ)ExRBOG1w7DDM+2xfI=)(#h2R!$*YpjskP<`(=Ilor?Ph;`Tn`*xby1 zB|9?d$5UF30RYJu9Xv<*$3K8X(u~;U=;Ueuy`2VaoKNu0>U?b$QfSO5SB;(Xs>Q z>!k-7Z!EPU3%{!qiSL6ARy|JDZuI&66vMhCeh)w;s{I)Yj+g1WWMe{f|2}}mWs0RY z&Y5s}lzqm?cmn-?U1KcTTBxvC&eX@sfR0zl)tn^00HburfjC@|5-UNumo?_{^5|64 zM@5;l-fy6=#4#PR4u9C6>K9sF9Pqsu3SoU;nhK>MWm+fi^f*cPowenu!rIhW*lf3a zxMZ@18h)F#@tS{n?WSDOKfRhcK{<;Wk@1xPD0v}+?Nw`H@ zWJ&>+|7AUDCBhha)iILkDyF(*+nu+_Z!nG3c0|!FlHITUgxsc`tSN~xXqwi+>yfvvi_#rP36Uzz z$1XtPx=(s&blx`st4njhScYUA?eJ)T!3xoY5~b)zDJ8(z7Bcc;ph)2Zs@Rt_5Q34K zrVZpMN^_`%oDlkFPD1cJiF(V1_KhlLTwdq9fsGBr!uxf=s-_S1CzDb|V|)MztYH5g z72o~eX;nJJrHhuwmD%QGXWSj!cSew#&aW0pkQ|Qfsh)#G$@1Ny(cjlmoQ- zsVfBc5oD2Vfx_GnjYY43^l(FIXCSU{T5`lGwOhNbpaMmgMPTB6Vsf6XzTcZ6ksU?RFojyIxQ!b7Shggn0{qf~;F$ z_-u_96w(o%3g&>%DPv_yge0;gQ{u0aB+@#!hz;AS`P0sNJ36HPDf`I=qZz~)Ic>n6 z-l)LkgweC^rXr8efX*gQiBz3OE2{C!gmy3E%nfzHS*qHT)7~FbGn6s3VO4L7JN5~w zrI|<|;*0yx(`x$nD_gzx1}58D-?*EANTA)^emSbcI zafW-#kaD>jToPHGej0Exd7~TLxTjd;tS2EHH08p?k)C0T zqnn}LKw#wfO*7E;%0Q)t+e8J z8%fsqDRxNW8`xiM%%m&jyiNTV4kBKElFdY_5E=n&OH;qt{YJxdF$(DViXrXm2O6We zAl*Ml46l{eAEQ-&%m^}E)QPbSOweo6W6b$~_a<8@b?$?_dt#VXNaB$k5aF4AKvihn zG`SF0F|YTbD0G)%vPRWO^N=|+tAINbi=CG_8!-)zqx@K>#9W%27Q^*tDT<*uNU_rp z+M&;yWSg}*{k_Vjw$ggR;$X*Ask8Pj(9Z6USOPgIhQ39z)pRZ4Ox|RR-dh;xHJ?2D zWi$(1o7vt5{SKp$^ZXW`*$OU8bF1mZfO#QYjIFrH&6`zr6bjM0Rw$Dq|W%{)gKz~^m z9lU2U6E3a#wBheR`;?Tu>M})!04CWe}Q#Gs7OnU5ruM#Zpu;MCra0m>K2^j!0Dgf<)! zxOByie<2j>4R!W8zc!34Uog1>D{8wM30;ZEa*Tw=mlag!H;#cegaf7Z5Lc&W=VPGw zb7c}$7cOR6N#SyML~$4AHIDGtx^uH4?{aKQlZR|YjLE$*CH94^mwtwsEh z&fY|FgA$=1DF=_LD67Q)n-#ukU>vb<<(2i|dt6yEYKf=PH7bdFC;OT zj4izo3*-W{+8o{)EhhmqXGTm!JJ7&Ha;d-(YEi-T(JQJ)>gOKrr` z8$r8pSD-2uUu7i()LifsrGsDcjxgwUNuGP4@N#1}`m<~h;|1-NZyqM`N9~Je6DyC7 zJ;d;3nzDo1U3!4#z+0c`@xuG$YY%F!`xzncwZJ__?IFyz)(brD(0eVtNVW$OS>r{2 z9V>dG+11Mz9JJ=s%Syx5rfbfXD<7X{Iv3J(h0!L`^7RnY0fl?azE(KI>$RIh6i4N;r0RmGw;h|IF}{-r62o=alo0>pdRU4~*CYsR24U=l_zP-wxFLZ#Z% zRtkywoP9+48o{1uP|>2tx5GrX#cNT8~=FM=mbn?Kqe- z)bh>@tnx;?5E?lD?!)!u#9%%19+Z%Dgsl=*8MkomsT9tyb%wA^ZH!OiMgu4>T9g8I z!pH<0O5_jQB+CMT5EE;rTHuXkv2+P8ncwaJxnZmNH8D_2`jkVn#>J7f+jF$<^Xne2 z)7M?l>6DFx?5+Di1a`M2SW<5qA3M0}$&n@CuOds` z7}NB(H6Pe*h;xkg4Y3XISZRvuil%C#mdMZfmSrkS+Nr$CX# zW8FJhYqT(@32@>g0kWQ8x|>AmAX&T(hV$7ej8R4gdE}5>`>|r=uD=XD{)*o3Oj{kY z38H5#Vmv+?zU2|}JRIm9eWl*&3Nz%+PQ%-)HW;lzlGzHSAADW)c;dL)9h2$$sWZ#~ zAOwD%5~=cf=NPe*B2quV4!Cn2D0xLqj5a{v!~V%?k;oB{`p0$aho1aZKEGjdcaRH< z33S~&t>jM^_G|Ouu(u=Ad*|q2n*HCPJm?nCJiE)VZO&vi_ERfymPEnnOTt|#8|N$$ zu*;*EGX@UJ)TU2xqRDG0BAcYbGbzFmcn0A*9M=1`dr_Zj_2YbIs zb+&J*96*MQdG5)mYwHDrXfMV)`v2r80@1@k+QtzZnbLx+I{f~voCWb?l7EzCAvwXB z;nCe4?c>Pc>Fb4K2wXYHL@w}GzCLoj3{zQOc+d!pi5#u7(|k`%2>!>2962Y6w%ljO z{5ti*Z2#Amqy|}{<8NUFd%Zr6Sens-G1f?E*{{|gKYuK9Az%C(mcsh)w8vThZ`2&IQkH650Gp|`r?!@r=qOE_?hrJ zbc$B`Ikk9t5zp5f2m7nm9~bI`O2Wdudr)VzK3-2ao!!r(Y^-G@25nhlV{5CYd=^Ck zOG%}P-O|Eii~HI$lY5_mB_(Ws?J^aRt-@m{5+M-O8}rgDB}ldeeA|^hz6@2iE2sKg zg^$c@bOh)D;RSOn)B2Hj{gFR?uCY5zG*P*Q=#}GJhv*pNJ3NlMKICoKq3+I1){u%G zcG=rq9@;Pzt4h%PMhrzt?1!*UUlWH+xG*Qw)#(<>)0ig-C2Sbta0d=)-=4nyuEFrc z-sm-l_R!Pkmq;)}`3&1L%j zxaD!ABjoj+Co<}6y1u%NyQx1)jD;2fY2{^cFig8M22V>g#^*IZpkoL2Yf=ES4lCg% z<_-P&;fRI33XzS(2Zs+9K9%-5tmJ(@f^T>HPa|QZKG?l(uzhs)p4pG~m~@!my-P2d zEXmM*Acu&Jd`?V6%L9Hv&m(OABKEO*W875$X+TKBMyLMCxBWv%9Wp8$SjZwu4jRTm z(jM93SBn>KLke=qAY(fApawZtA2ZGStvinI9no*rdjgKVkst-V>Y&mjbFvTtjFYtrz3AE4Cd+z5Oh@vll#GDht?c zw8uPJC*RI1Hh-D4>b?CYaJ^ap&~^}a!MDTL`uK+PMY7eNe*u4!hmYf^!}ApF|2ku95X22<5E2i;#>4g2ko^Z+}Ng5y|85)wcx!5p1lPmv!kpoS0Uho6{y6X+@Y#um#RRSsFj*o;`s6rhlqu{y z(gABKX#PbCg|awW|2Ek&Iy&QWYGQsF;9H-DH&Rab?jJUqncCsa5?E^X1`T(S9M z4O|#3(#X=5_F(_YpWZb@!k2Id4&p>&OeGGAL>?YKW1t>}Z2SJ9+N$O2@kXRoF(9Iu z-A<9%UJe6oC<7F_nga(vw#WOc@xAGq?LAf7`PK+X7G1p5abABi%~>2Z3n8@aO9P$6 z6$vV-Ek7LTTx@)pI~xfjJH#?l6>Np97*ma&kI=Q569-R+b;_Z0HSx;Jw>Q@szXNvd zdYfhA=!4#t^?l@MPgyzajsn=ApV43uh-!q}5Y_Rgh-c8ticM>8=%9i0C5Sb&ONCx3 z5?vH#V;E?%(4y8*02(G~Buruxz*#FKTX|^U$pcW<^S*w}hV#m)*(y#O?HjPaB9Noz-TGbqM=ce*{P1m^gI2`o`yOnue zv*Da69LhJvHt|uLIb5MRZVYCq;5~qH&kVsj4jO5;l>7J9C#`JM=4f5W?&pWUnv3utFn$)f>gd> zlUS;Zh|E!3#@7rtX6eWJEJFp67{>&Jv47oe2tz47_Z``cx_T%iB@1F~#j}MoJ9n2=hIVUL z=T7aIgLfOz##X0EEOwXoLp&=VHQEMz=Ad-zyIb$+SgAALJkTM``2dev5v^ItwG%-! zgCS|zF3p~(--V-=Y6HFCCeQ|fXOh4ujdoI@UVwL&Cq+P-#Fk3B5CkqOfdDRMx+LRY zi#-cC)Yx+D@cgB(CiO@Blw>UHB2y?2Qlh~$#oKJdrnWUn7~PqbtuK9@0~z59nAv-n z+2f9(GzQBgED}PEHkObAxP&#BN>UNhp6Q~_ei*1ZCIKn-gl!2lavxY_1nQT zQ;i3VsM-*iOwR1ZPmC;-VpqUp<3uoyfSK1SAF};$UZhGzL@I zhR2v}D1l2E>nYs|!8q?0<-lWJ%4+Z!h3LGObY8e@m57w~C7OenLHUu&52j5Zegt&G z)i0@MY|8##1B`G|$vlh$ibOtM`LFe>)AP+wiA3@@T-!|7-grQ7N^4h$$WVBif}Tyw z#=_*#AfRn99H9mspL@?S4mY;Ey&r?7A5mr=m1<-F-BKtI5`KhG3FgvGN0z3~kjsxL zI}{Ih*`8LlAjDI?S~|CLb6aEXv~hRs)r~*;YbV;$={n_8f4=G7`5v-a0Q9aA2NVlXr*&8s`}QJQ?htT|>EWCJn`yv#;f{%g%3>wqFhzlKKM9C4~~ zrII-W;c5kxun?ZmPF!58QnObyJTNsjYvsF6{TF@$s#>KkY6k7q%H-HUX5Y19393$` z1{~r4og5~^r$TYf+=xz`h(T%c7fBi-YU7mxwapw0S@@(fl#TWbWOkf0mer(6u#(Re zb#s5Ilf;w7&jX64iM1yktKFsK3qp?87tf06`%jC>yHl~UyO_riyOq@VnQPajf08&Y z_(5(lJ20jmK1$ng`lk|;LnEC;+fdoF!u`77&Xa$m|^fS zC5OzM^zTSOU^V`R-x80CkizEwo}@2OuUjkO)T8`a7(ixF_LJ<%YYfFo`Y{f(WrU@KyLtKN(M&{;RzZU*yauVrc%tOTw|Kb_QVMtvpcSL~- zV$v>9a%`j6gfpS2=(ZP#xVAn+bi&5O~BMG!qkm2m2@OZy+ny|GZVFnlACZW%Os#&2+En5 zL{_5lAqE0zgo}2qa%u1Ow!z$G>;BrOmvCaIoGx{{C7v4U8+D)(L=0X1#=s@|n%cw9 z=tpTMTcSEWp*3Wl7=HrKbZ>5jrtEx7CsDY-)4+YaGf8r9M=8L-@(wQg{r$d9!*%0W zj(7ilX6oy8_7T6+Wg)NBI(G**AboIysFa-z@2r(${W8fZ&(V`6 z>gUuzwn%9zpIL;UUJ!E56O#repT$e!EMKBcDvRGHmPHi#`-xdnF#tqfO(-`DM+m6< zl1PGpmFt6XQb|VNKdyXod|OPzuoD66aDJ>UMzy9_`WJt(IUF~=_(k53G|{MD@OvN+-G7z8+OZ8&v}qi%ryly1uS%B1h3#5?^>D| zsppWgXqw)Oe#rLVfJ%_gv7-2&!@L!TqMw*c(dg^<>nDE>f>a&<6a~Z#rsr_f0sgzR z&uv=NElBjOP!s7QwYlQtQyr6W^4{2lVJ1V&Pm0+b6u$DQX>9j)AuF4;%%{6HPu-OF zn(hsp<+3fjo7uKrI`~TGR%^H;B3j!kOZ=ReExXmIK_DLM_YYFTk&2*Bv9`!QEQ^#& zxe<0kQZvP|H_)1*y5EgI0P5<2DDyHS%wxjrXTvI32}WYOR>-Oqzac|dLm`_^ifG5r zl)ot>DC=yYUXn3=YZAKB5=#$~?h?0ce z;RsR{uU%jYRa+`NjqPyevxMUiJT@Fcb{9fcNKdY@$eUu64nV!&O1hxx)JTA-XYo?X z+ZzHYPRepbL)h#>LaN<|!jPlb`^_wBnA_?q1oqVrQ{JS9vj&i+fQcO&z{|0Jpa}$O zVPUC4WYQ3dt)8__!lj0_(HHuon~92R!Kcl#L8T)F&b_vDUOaEb9q5UQ2gs7VD(Qi- zq#nEsSP48aX9;MIB?;;3fGEc#`kHVcP9n}(0?FKo8%QYHq7hh-dBz2}D|)m;5M2ln zG8i161*k4Ll9&I61UKkj%1P`XE?wysLu5Vq0Ks~_TRC3!x_*w$RBoNEa{&`_M2|*M z7GNj{%plpA(vnNhs-KuiNmxfcf2mj>$0H_VWi^kBw3|1zE(Z8mm>r!-lmin-Dd&N# z8!7-cu?niEKYM6#jPG55eS(zB?(bvRp_)L9uohqycOc(nVMr1WN9`=M;4^ZMl|{X> zN58r;lK|$LoVNlYZD|`?hhvWCF_%(Oq#sn1=&;OrQ{#0ODHwb9UZ*;KZ0C#dT1@3n ztjxjV+l96ZFy`xGGd*YH9mq9z97-Q-) zw)n@)uum|S$Y*S}IMejZ9r~&=?K~gb>a0tC#!dvq-9y5xq&G@$Tl%tloZw`bu(~3D zL^F7C9i;h6kt)cF{AvX={E&m=*Q-=}cGk@N4bxDB$RPcBQ+9LaG7ixFa>06HhP4{`7WN*4k%*_#HMS76#LH=}LWx1&-W6Qf}xqhUh)vNwB`6WHNqA+@OunjIJt z7||HYy|hQnMXkB|AjqN|TyNP?8?%SbF(eAYzS*SiCA_?H_4y_t{h{1qVV|0%3z)jJ zAs{p}c**QVYt!}=a{pJHT(+w#cD#SKsj*KI5IY|qlY)pKWdZhlC>B*L!?az9nb<+b z-ZzX8Zu1jEI?p&E|0H?ZDJe=NbAu$JW0NCBE}aMvoiri6JX}&m2NDB`0u7lsZ=LE+ z>qK1EC`B8}y%J#RvUZ#{bQ2Wnxg-@IpTor(*P4CxmQi{RJ_EP2LXM0NUGtDp{{-p*xl9qD^9TKJ_dD15ip z1?5qRpE0=c{qIdy)N%V1HWQ}@t*rSutI)rUn#oh_w}8=?TS8B@71pD4b)rbm-@SzVE?5@L*3sPt+u=YO z&XJseWz6*vrPg75&sJ1%#kT#Y(}~V!bxk!cO*(Yz6CG?XA3lq=ChL8*qEd1ZXfb3_{%#ZD!ESQ zU=#2;h|oLlGo5G8Bxonvf=;2}pH8!I%!|~fbhMEB^z71ZzV4PCOPmDQT6VLmTrk!3 z3p{2zlD=r}?X&7i_DaD{0Y3|0Mu*gxL5cgI0`lB~1j+GkYE35&5&W?rTHI^AuL#!H zZEi&)-&s2YQe!ILIORmJCAJo+D9-`GKlTyq)-n++$8#wsNX2E#$Pat}NhDB@wFeK2 z;=-VDNjf@P=YQ0K`0NBOy~N{kD?B5LkgfZ7;ZvexiP=Gm*G3EcBiniEt9g2gqFPf~ zW=k*(S6T@$t(=7gUfA2^UX(QScX)D5tsf>FTgF9NTg*RnW_G-|VvbR{;L*&z`eQod zO_p7)xo|l%Qaz6mWM5P{$qJ)Kn(b8iYCS89Z?UhA5>)xBQYA}Xc<)nRdf@RR;im-> z4KZ?zg48NjF4!C$G^CpvfER=;_uq`a6v>jIz1 zlwKqIR97XsV~=~D<-b1;p}%*zXFY-98fKK_s1{I?vLnS+Dv z|C^Dwm@4Ur-HteV^MOL0T@={Yk8MX%?vRAjrEGtt@p!y@>7PH6q97`0n0KowlXB1G{=wSgBX(`cnN8cK6y;mGRq_^e(0#!?!?bdi@a!vt} zC~PX;MEw`Qk#RO+0UVia`#(5xG=L+E!=5!cKKvYVAAGHEhgm?kJS@7nFR&l?A!q)? zk^Jsvf2W7cJX1mSct1+fZTZ-SxC&EtdEDH16Z%^@Yu}p+;K)E%Y?SLqHn}FfB&YF? zd_nU4fZ9jEQg)NDcfLO}VsqZ(@lB_9X41cXUb~&J5qtU8Pz!Kneie|z-r;HTz7pd| zNQKUhMcWUh{(McN9)aM;-hRborw#zmM65A`@EV7Wmnvyz(GMx@i(Lp6H(&zusaL}9 zxC5=(gbyysH9X_nlDz@NT}E|APT~FbNz|6!e?Qld5^ymlg???s#kWe-sFcI?R{_C(g&N4qi)+UXj zc76JsSYJMG&M!lz3WAnIsC{Uyc6=ylK0vNdNA7kccNJ9xIW^#6B$={5zEZjEm>*-9 zH#Su2W*H%fzBxcO>vQ#9U{@sA8+>$=Js;u2iwL0@$&3sNpkv z!dd6QgJno}ZVB9Mj!VeS?O+sbNCDM~-4`fIwV$N!a3n;X4wNKfp(sES$P}zq9<&}) z8DT>l^e$M>{9nPE^YQq$*4LI7(jPyt-UErh}d-p5p3NsgwZ+$9*R3#Gjl zoT&73NhphhP4E_g4O%;FW!94(iNh{k?)&w^Qj?d(!s)c%kJnZ0bUK{y$(Q%(u489- z1|L3k>=&n#~a^k?y=XfXk za#_kZh`hn&<`vZY4$G~QKl*5U-Mbtq+wHkfo4xSZeDN@%ZqpX(;||WJpFt9HptD&^ z=ac!({C4p%Y8ws4cWJ*SobzYn?gF&wJUIA_lA}1=Sgiqtobr|%2mDj8~a(JOZQ%~Dqq%$ z%&p!>6_!8q>oIQY0aBqRT*)x#hRxO59+}fok=s#GJ@QmhF;!`xh)BxU3OZr3f4Ep8 zZZ;0XhbbxI$7V2?UoD1bTKmv+VqxwZJ2GBG@I z1a0TPDgOR)IuwD}p;h^O)}Pb()OXq+<;;1_$9?0-&44OSL1ZmiQX_2U_@mVznWRJ- z$U9T&q(#`AA=gZ|+-QPK>KH6~SOy)#=_r(o&UukmAan)oysYx&lsYl3CrcB+!M@NQ zvSG?>`EZXe4=O*pFYUC9LY=HH-;YdV3P9OMb`)jYk7=qGs&gPSD7R9C$6hjGH`uN- z3=I+vNpVgn#r}#`?g|Qh4tgwNlx$GqoW89;i~~9H%H5NUm@DP(Ig`M^6sj!5Jz+=^ z$>nX3NSgpCTS7+GG9LN-&pKjLs@wr0NcK9CfI0zn8z6Qt@H95rzn6H&UNSqMPa(6< zD00rqt7IO_%K<2Ro<}X&V#82w9LJ2?$>pICSAIMY_^R!%iUnbh!qtDqY~wl8cZcSE ztzw792CZ}Wa=n+JcID!I%fQvOw?_FJuYWx`J-oR%y}9wH?qfM-3Xa>kcg+=v#?&WN ze(gU|Q~C2yO+MOiz<94d`;@So^` zw2;nUie2vz;#A}r}M@bQYS^-kFa#ynJ4Pe}KQ)-tlQ&j8y zSNzPCOqnb7?h{btKsB|Szj(kB#N)^h!jaYy6FEpqNP9mpDeOB;z<#!c@AIovP0jsZAiBZ)csf|*(b2Ki2I(|Qj zM8Ql{Apuw5yv!n1LVBpjV5a6;6+X7p$MMs+^FsAdyZ6eK$!i+0-je_95S==V^`zI( zo*u6X=4RNBl@nUw8+)pw7GqlIU{3-`r=Pc)sqBG(!e4@H%2yjynI5`=q$_p509XHfXdfqIy?}DT%WbytT*3+)o9nb1OfPN7sLzIu zig5~>nX^CZfzUrKtRmdJ478%Fwuqr}f~IFp`I^ zWr9FniH&C^%qK#z#3|qTO^nrChvw_DW+*y`khz7BIcVj}PGJ<{)Rbt&rZtlZ588X% z04;+!{!WyvmB^W-OpAgx5TRbFrkpzs8e3^1Txms2;3X*{OEydATN9nFan0;}Dm@;P z*T_5IEBPCkP&cM@DQQ8vO1LUOnH@8D*7*)M; z?y0*(h~1JKNaKc)0GGbnB$$|AkP%V7kmp09+40klX!u}t!b+j6LL`H3WP=W(U!8C@ z;xy<}LZ7}dU_}f2iIxM5z|tKFB_JxO@d{{&G7m z6+H@XpB)<Vvf%X@pY6X)KPWtAzn&A8E)6^m#F^6!Pv4{C+w6)oAshzs1T;WM*dK)Q}&XW5u65Fzh|$L2iz{k!*j z%zU>Igt9(c*=uvWF=9RzkDE@x-RXB#^iZ`irzZrH5_aL>(2a#8tz964ue#fEz#plA z8FWxL>xAR9Wi53xm#k($0iimu@*emLLiE7CO_wMjl@Ixq9k$FW-9)6v9*|px;^?#o z#)?wQ)iyFuS^f4>6VJ|#=_{xG@UtM(-|i>Vh{J1H?YrtSTdpcxQR+iJnLh4=3_jM; zH*uZl)XZM-I*6zh`vg25`1D*~8Sx(SFswPrp-WjE=)#7jUgyGtKLzzLM#p+V%n%XD zXp)FSR44hYIoSABIA2Olu5u1*0QV0RlF;^uK(_$Vfh3wzskDE}VUc=(5bK>Ws%E(_W$%awt;Yr8k8=agh*-2?YLd4*cHV15o=0 zz=P_J+|sVxTfN>5V`rHYTc?`kMWyrG3E!yosz0T}si__dqZKHlRVeX-*61W+R|>Y zDTXb>-)_BFXzec_t#rV#&)(YOo%^oOT=NQVi7MXRhhK~P2<7a`NGSUnh)6{in4ByQ zIh?v}LrV06H*rfL5Wyn)kd0q3AN5lm_I7P+7&I#hR3>4&+F1Oyoq<^1F*P`loSc0b z-svX8Hw;)B}T8+rj?3-^*Ob;{a?hrUvpV_UtQbIDn%VsN&2&7`v5-RLXqttrj2AHLY zr5Ittg^!WN3!{nU>5oH=X=A_v)D`SiPOZJ`me#b+pOmceRv~dIU*H>Ii#>`Y*bphM zZ{8X$U@dgH^iqNqwjO1ozw1GSj_Fo~w}_0Na)JuRVn9P~EXk!^^X_PPZ|SBGs%1J4 zk3>apjRk7VWB8U8Xh3xa*+xAn`pY2kemy-lPkWsN?M#!ktgj4z$Vm7X4cn?R7d&e> zg5czgG8msk?n#K|wJ*>a?Pd zbww~{zc{&TxpYj95=mDAoe*q>aC)C?#+C>)MhS|5<6DJDM7T zMd97X?Owi~aU^Z8r>r4Ij!<7Pr>+9I+C}2C?yM8S#(YcqCJn$vh08nfSUMMp-I#^Y z5?}UFn)=^kfN%K~gA#q!C7HJb1H+|jLZ+pL+>1h+X;C8`8&#S}phCIAms(qKaHR9s5ePvWxdy%@xcR|u zf)szMC#z4RS1MM$J&M%&Np>aC2|^y<@ZKsKAEtWrzMEW4AG{Oje5At&qg5hlKT5-( zF}go-TU>Y8z`;JwkZ+O#-;+I$Z<(e25 z@zzyXyR-IMlkK20R%I{5R+Enasi&jL+se34viz&fMMqPJ+aVuTi(8FPvb}&pRjXQ;x)%=;BkuE63C6>IVMyrG<1yoHe;pV&Y=^Y=+3Ds~g$o zRod~A>$efkzSN#hQ+OmU9>tuij^ro}}) zG<0V4)-m(Xe(@o13>KNfZqc=%s6x?cluKZ`F41j-_70CZfa^=7OgS?T0jg!5B zk;9i5DPUu1W3OPVXYdcFR)K#wwQ~F~1@gZySANNu%wIC*za7#2zmhKhdo~PAtpCM^ zVNONDVRZa!$qcMydzDp^IRM@b!vspQE$|7HnCm9~`SC!R&{3r)2WH=QQQZsp&;lx06=n zkxuH~WXD{j>Hi-tw`%e5SD zu>4*g)1cNw(r(HXMX-e@Z&O)E$(Yq3&TxoqV1V`}tU3sCuGMG_-1kI33?02Cx^^CD zJ+e}Y;Fj?y$_y!i3}!WcirBf40z$p+EbbknT`j!cr#cFeGi)MYGsVPawn3a zR6Gt?oRQjme7){qZ9_=Ob^Kxi&^=00Viu%_Fv}iw12Z8G;6c>Ez_;9qa=1yrThhHm zKIsz0xg=Blb!H;deYLu6O5i`g8+@`~#uc_8Ogp)IM{8#4;JQV+XZZOBmk_Gt@b1~V zcst!0zqDj^&adE&9)t5noWTyL&3CD`_ts2!`^R0_=mLEwPq2fjy@@@7bQ zQMH}BT=a zRl=$e6b^ncnpOfe1D``Z=HFcc0BAhv=Grxz@hC9HF* z8D)%iN+h{+y0`PY-Q_qTbMOUbH96SgDdaZ>-ev{{-hK~>1%Zc*(q|s#VkTv?DWEoM zAP*b;nRNFKwOwgnt(6Uz{3}%&Z--KSV08rVjbq1zD6(9{_*(sLh>YbQK*BC#fNJ1t z)ZRJ#oyf{%C!Yq{p>QxmY%Fekw*+LyveI>pD8@Wl@v)9P5xGFo>jxjr>NC)FmS-bF zx~&=2*syLg_Lb8@xEsoK=Y!zBx zu5GtGNmt^k^i*;S=PHn2Lo!|&GS0ShNoFLSukPW&LX%KD)rto}SL>-g+WU2pH|h$+ zrJ!~krX3tYBaAn3B$^}{7&^E&rL~%9PR*0lY@GR^5U>tHFxl zWRj(zT91@Ov-HHV)F}YH^2mHMtmRzXwI=D4()*7^++G~ztN^3qK>I}y6RHgM{JF0z zyJdh$W8n6Dd;Y!UCTyOQ+PgVOj{4I`P*wX2YQj~OCoA~W9!Qk@+kk5ZBm6Tux`|un zNBUuASBt!J8{^wof6TzV7sW1$W**C#AUl2CzRM+p_ zY)1qxyL(fd%(fl7a5V*{nqZ&-oTam#6}?C$uS->FV@r9J2w5rBrGn}Mg(Ox4zyq$$ zBU;mqki;L~AP+@BB`K2vbS!tvlN=hhGnoQ4XzE4A?&M^Mnde55D8>?has%HmXL38l zh>HNjsYN7nHjFdbKg#j}%M}4NnAgtWPwU3osq}#99x;Q zW*CeSM@_N(9g^|ES7fGLVmP~ojapZtWbmMq=lmGTKwP;?L3%F>;3uFfK2UcMo0&Q7 zOpx^qZ(VO5e!}xW+f=37Ar&bRO+5Hd6#gYn_Yz)TG@A{g0MCe$Mwf&J(5%NX_rx*R zDO7vq(fAg_r*gGd9%77+@7(2a;~g${=Xs_f`nc{8t$~i!{e|l74auet4EfWbZaPf! z!ONTaO$K5>d_by8-G!<9%40Y%?l-Z94QC?apgA^gXGSM3h8G!)wtFxfKPlJE96mxR z!cUoJTO6T>U;LRK*Dl?FbEjo zbuJ-eFI8oaaUc{>SJUxo^=KG`N1K5IG}3=rBF;hP)!5yerYM5*^;*pdqhq+f+uZ! z>O#yp0-W8)BXvCxuFZcG=4tDmqa%8fuj=#+@m`mFF|qVE(~l*zgBaH<1mIzp)i&wY z5*R9+dE9ENUa>fCue?s9a(?_eUWzAHj3e0>O~1K2>Vg|L{ym_5OhATbOCmDxr=+7w zpb^X<5NZikip+<^$dSWZoHngLGbI_DiyPneS5#vcW2d!yDYF+{; zX#6AMe>&cKP8lgL(jd+s=5W`%mH}XdPSTQo%c*IJ;9<&nF)4buu21Ysbum52*|YKS z74q^sP}_@F`AuH_p}5&OF{XJ_+eh{Zl6WIDo)|i?b<=MEb#F=uumxi*FI(0Z9_yfJ~esw#PaBtH8Gys(Q`_1XnG2g z-{>#Rh%PC`A#j{?AN@+yBlmVlgk5lMn&k<&$r{HA^Z@&2rIAfAs#B-KT3y(J))tL4 zh+JQ_D~KKjJ-n1PVkDi!01ap0ND;X&o$G53e2x!DZ!DX?oJrFm`57AG_i6xA4Bb3z@C9Y#JyA)?E6lZSn+Hr2=m;5xi`6Ia_q00T_^@(kwR(0REAPVNrJdyVuH_N7!`Db# zTB7sB#HaAwvi;lgV&54M+e)s8_xBrO2prO9G2&?vv$snBGvC5;r}ig`)CG$-!rkE) z(lo^VC(I-eN|kIq>2=Bq4c9$Bf_t*tt4@-NP{P@!??}&Ro7KJw1yg*G-2MeS#9aV3 ziK4ST#Nvwmii=3vNLBeT{)<2LdSQyTtrsu&Dt|;LroBn)>e#crHSo9Kaz)zS!@sqX z*8s7q)NP1rMu;v3_r7ZD<_E8<7k=ILtvmPO&;8py6wBaTnQtN@f5*Kuh%Oz%Z_wc- zM&LD>D;7?TIm)b)${z0Cjpw5aGU=sas&WTapf&3`bP-QyVBA9J8PWZHLuw(NW?jFA zNac}z#$F3ym6Q$zRX%$fYcF7~=2GiM?ZEnwX~ zY|Jb~(zkwmEDfGb6+MX=D78O<%TyfMaVA-L$WWHy`2f4^Ro9q3Dd?);I1 z4qAz(_(KeBlq=x2kx7W(|MYGzKE%luQ{G!K4(EVLTtp={Z$W2E~vq zZaj~(`U4ewHs+)C<$Z?0N*)6W&3HY;%*i8Dc%|I1U&Fw}O)0#C5-@?Jy1VTwn{ov4 zbf>o zT~|oI$PAgw7lc%KjFNn{7F}$Z_5R#2Es2Pd&PZQsK8&@?k4n=)Q7&_#ywXC0_La&c zRs!?$siSKnlO8$_GZ|20q^LhyjHKZ#9p{&!W&yAGV4R5xa7}FfkPDw$A(JN$44os4 zo@*G-n2+du5Zm_KOY5gB+}}U$uX->(IhR#&v0XGKq6PzcKfc?B zg)q+}e7_jvM%h#)?{Tak(hGb?nM%uJ0BG?7b)lnVg*B9UUc}(3OCeRE8Wkm9Sj##F ziMf4w48L<~dbDff(RD7sTzA2lkwwvUs6HJv&na-Z zP6#Jn%^GwIu3Q6+e-dgjNa0_C1DrtKMq2o91D&TLU;J9PfCNkOuiuk92t;Ebde%n% zu6{E)fnXq-KX{gOZ4k{^CbI))M+~xv7FcnV@a61boOL+SlsPJS+9~3?U#oDzE962m zqqy&9Ff%knE^HYh*%``@lQEG0t|MtTwyV4<^28Dx$3J;AHjfeY1TUKBhtu==LmH|?(O|&jUHDp*;~wD!?;7~$)pKlj z>ii0Vq^TcWE(g`5=G;d8>AeUexzKhGw+K&(_MINOdrPvf z>&HRQg*koxQ_H;gOkzp7s(W9E4@RnOu;={Pme=Ml}azH@%%MXZ-EK3pzBUk1d zkmx`dx1tFZaJA-8p#Dx4bG%j;?tt`28moa!|I>js_BRKsuF=)4_N@Wbxm@(@2#Jfc zCP3mKA;C&5B7ZN<-66J~&snA4^;_jY`7)9PKwiiqnv&{>%1LY0d|AaKSgk?wj1lPS z(m^4prQ@j}X33?OCQ|4BM9Vm5GbbO(%4$ z`WQ;WL;ZaFS9N0zwLAOQ0xLE|PTPi!WxE`~vN!t+#NXvzsq@byoqq=62mI?G{{PpK z&i|Bg{!P;PS5Bk-w=n$7?CgyH`83*^%BuC+5RzARl_`aHEP57tYx=q+9ilGV1o%~t zb6b1{clpgPJBlwWYohT;%XhERQhJg@B8gg{1gQUzK&_2K>51a}IE9`v8Mo1F96A$} zOoI=0I?JfNH8NBc0KZE3)3|PWTofy5`A-sq*omE#DwaP(PaXrg9uza>#oj|}#Zm8d z`fOmL1ldsxtpp~_HxU^0N6I1=0%=Q{HH(&*y15o+PFvO%+;?!U=4FGn<_cYa)$PF_ zQq8n-2csez-ugyK($Seerwd6dQ%ObDPd0gYFpiVu4x>!7yv&)T_*HcY7tt2M&7J8O z)o7M^+Yn;3c1Y}+uBFG6LCkwST_~`Y_&b)kt7^Y)C0!O6xF^$j*5JcOS?*PDK;ac% z)@d*bmvIhuP@4i*@v_Zgu2f$H0!`RU{7J1m`5}rDA)E2UAA8pi8a!-^Zt8mdT05&f z%R9-q+1w6WwjttNwj4&2uXq7T)JARlKdjR~jc|Vj5dMLEs3YT@zx%T?wu%c5K!_@hkqseXJiQ}(R9l49-UKQqa=MMt7*Dju-_K3j>aL+Ff|hjyZ+c)W^{|; zHloBpzkpK<@h8{B&3t!(95XHZ!AjR?VCo@m`^)Fd)PnK6en{^4S4z&(O=%I%^la3D z5k0lrE+{e+?rXWBM$ST9M`s?p7p}PFG0Tl1PL^da3j7g0>rsXV2;H3i5kuSnY+r<7 zrGRINV#w3)qX1}#yDu8EnCn7f_9g=3a0R89cF3KY)QfG=C3Q0kWDK&SFU?~$8AU!< zX!zA@F-pZZR8-%;;tRJ&giE4bXv%1NU(T2KnrE+AC>(gd^1m;_lZ)+*^%mJ0myAoa zjBm`QNYKcXBTNNkA0+52UD@+$DCwv`1Q^Kw655b8(@Jc z+W8t9#nBiEkwn;%P`~!#$^2S{!L@wZxVB<#ZqwGr+YH-PnKf7XOZ~Bb=iOXdIJ)~d zf0x^$h2QC)wB_!^$GxbiHlx25J4Z-LU$0255kRC$GKzZ z;-d=5cT+fjND#`JC*o&KZ}}}GdTMuGeW%5bzWr!N>H-j#-7i&6yum+-HwVLrlxg$o zIjF@KU#1omNSP5MiL5pW8)$__jN0ZeRHas-LI>>^$(atm1w$CRqP3kKm=zGdRTnhd&LS5<-8p3gG@A=296>mBgf!L_Q`!{bUJjG&qAudLZ|NBNFG?4@21C#u^Qa+i)rnEDr z2?_p_nRJT+eDEiREQA>_ZlEoLdq|MO?blQigy#oeECgi+H{`zExh+vHx9d^@_pgey zAQm@qYmG$e%fUt7){5Yr9HKZlBexaV;H6tZ1MR@Nb?EQ+wLgPQnGaEOGxAurd>9|* zlp=lvWI+3w_kauJE5(VHSdqlr{+ua2L@M#4Gi727XHM`5kTzv0*0iWwzHe7eqO}$? zDk0H$Cj6NXlA~BC#eTXbC=TU;Z6@i{0Y&>$rpYToUN$Vhl6))R4ii~LQaIu{@-30K zNn!N@$&SafA6ne$G{Q*K0YL+{Ly}5|XL3uB-PwEfi~}_x{>50@O7iO|ytG6E>FCRY zi3+;1mlh!#8cT~lO*B6?I-)G*mx2&9fKf~xxaXEMA~J{8QbNt}>T(ip;)qvK+C#fo zNp*)<1|5Wdd;p1MdtPm)%6dg9o$g=PRMqV?PqzqWkScja1FYPZt#{}K;}SBlf`)sr zwlxC3$*Wjh0N3Oyx6GgF#oxgnmVlG-5A1|X(>#mawU=g+jiuqE7}TC7C>hD*wv(57 zBgb_W5~iu5Ds@tS(VBXC6}n%MiG+DlP}Vu-&X(Q?0zWP-_G%W3i717|I^rE$zqSD1 zqbxa9RjA;u#7p9I4?nB;aw3qcPr@Qh?BAsGEA^NTBtvsJq$$BLS}1t&2_JyRJA5~uRyo4S*@vD6~JF~;ijFoY9uJX znPx$KO~?T9f`&`&t|I!bG~qM+dRz?h-7r1+t+)`KodaF>;NY0#p~S(WIyao=&OnW{{sj1V%>fjw;{YO*rX zzQX%MA9-grwNoDxd_Yr?elRt13{eMkq~3%QT_vn)BF zoAIBBoK0s2n4CIOFy@-Uf{vwau~1)ATS2&>$5M<;p}4Ic$TT@#j3sAyChf7X)s)y8 zgC0*W8=Hj+lVs^~l2f$v9n7PpFfugO>lXPN3*kI9JFR`!aw3<ci2;ze^zd_b6kxWT-!!+*8Dx6IiIzF@xCM}hCTL8&*NhmUbu8pRi zY*^%Jv9?F1{m*hErdqNY?it~wgdl;e-ql@0ic#PcPQKORX#kz*Y#-3-*4LtEByG#} z`$OI?l}xkj=F~OM3=lTaL?QsqO0n$Wi3It-dkk$7vrx|7Hj38cvc>(j?el03)7k>7%=2%GW&fnsmPU&Vl9#&MuNuj#!B& z?c_*>;9*Zyp-wv-%sq*@Z0W%_gE2J86I z#@c|w#fXf|{f!S~BbD|naaLTh{V-dt>DbKS;FSM0kfc*Sq?&C0SsRxP)~bux+M z6XW4yoHuh}rflde+mThz#I@<2^zd2qCYjHcS2={Qbw-L^=j#$u920vo|1;JiJX^CQ zT-xZL;r{%(Am?7y``2H1oc$bUsjorDlF$Z*t#k`67Z${p5-hOG?*U9T~eLyaKz z^Wd7g__8W)9j~rs>f~KpfOPuo0Ax#0chjnAaDxf);ioJ(-Y{M&Ow;8Zqe%*2S&n~0 zq#=4(+m6|}a#D~|MpcVn#wNB62-+@__)87Jj8-1yI z%d6NaEXwHoBHUg-DRrN1-Vu}z&{6u@J}Jzi-|8^8n19H3ComXPR(mF|RlNCq&MyED zlfFKrZwCaQ88$aIO%UR043&5Qs?Y^o1B|lgW%d=_pxtZMm0}!n&(M+-8-y+R-VPMQjtum7*$V)64&96{IEcQ zI2uKVLdCRWdnLyHopX(P$D4yzww88(ml9ywkJ<`H3B}mkbj-IlY3kHnWF;e&^4lau zT8*$+3#5U*Dj)yXQ`4s z1%qObhw$QWz=Ph3+xAvMC{x8{m)@~B7gGFi`Q0s|5tAISxuk#P{1=b9jUPoiC6Kyr zg)k5cYM<2~>OgWW?4gzNI)VTn4+hX`g#5X54tww;w2rjwF;#2V{c6e0wd%@C6H|s4 z8Hk&K;O&=bde7c5tz3=WXqux$2!n zoWW>HN7}DHs1ynd?WDF2)TQz2HiE2|x~)EK3(AJ(<*IOfiewFSP|z4fSY0S*(iBz0 z9pd0Dv(gxl7!u|zi5xV=7$KHUkk`09&_ z{Q8E&cC}fJ#g)do0l1}gaP{?;qgFQLrcwCEhBtXmVRzk+QhM4MD3w61IOP&-AO5X( zmJ(Kc)czMCT1%#|K&c4`KXpG{NR||EG_V`duGu|zTP9Df37H0GVve?;MN+O{J3xhQ zMpl1~VU=#*p$kJsuZ0^(uakOr)?gL-Yy^|HJlzh-!y@p&OmKRwG()RfW5qbwc?V*& z|7d(~d24v@l|btIt!)@aU}-1~;S(SSKAOZFW)XL=ikNb~x=rj1S*o0#yE)bkn(!8s zqGtDZ2sc`AfMX49ZE!pcok+swYggnwr-DGUR*`cqiS$u4-YJixFMwm^ArNb<;>&qY z;m%UwHoP~9yZHIH?`i_ps#rtR%p*H`k&4$at%Z4(XK#XyYdA`a1suA2eE_04BMa(C zbCzHnG~h59060_$q%7G9y!dk7LqtyBKQzQlU&Bt{Q?kz9Z=>H<1O<+WX%ZKR0*Pp# z1}UL7Vwjp^m~7?!->0rvvCy2K%+QQ}>!^M?sI!<|nx`R>TYni6ahLpz&4nw?>Yuqo z)}~)NWnu#N??M>W_@m0uHtJrk!#RRF29@nEO{Pg0jYp-gFjpNxRp?4%l+-%5hw{@D zzku@7tXYts>l{vNW+b>u7rWz|N&HR*JXFGhUAvIlXK2sg99HBOpp*q7m%^Zue`dc@ z4sa!^Y%nEs-!PxHka#0NJ8LkIN5(71a}k4#GQ%|PrlSzqZU^DeanK098IV3$Qn;QU z-w1Ra0#v3AG2U>SD73k3T&&S-Q){lKpT<+A0p}MM42h*dcQb4VaV#ON3;b$)(-%!B zRkW}FM$pbYg45;U9I+_-va)1k$%Y+g?njCPi7XAZzK;>E+?i1MUawu2d_xV!EK<_J z%%hQ>8AwTE>I);!n8h>Um|ZPzR~1Q{7)g(d>kYANHdlll(Dd}uuiO7Y3V*j%N(cslBKq)kk(Fgg@XDGdGPc)s=P zMB@5!RW>AO*OnBY#0D^GzRIMCTAgcJGpQ>mWu!FOvT9ha2V z<=?VTIu6+(xfz}fnV{X-+jXl#+4wXot2>48`R>Db3(PbKkSif!v}TiaA*Ruf6LbX{ z;vJc&{+4U4>1#z0HhIQ`myOx$xjQG`S<;1PUzHgtHr>80N8d#ijyPi`UrIFgowR6= z%lZ3SrJ=LwR1#+-X0&g(3J>nsHfxHEIs|htM!3Rh`)63cN8X_*s}2k=_Om4A*iYcU zk$MYh$Z)&>+FiR|QSpdm?ZMJ*gO;9S^N4$`b9=!CBQi8mI6ogzuU7m!xJLgAUy5%+ya3)s`Ah*-=lvpkd(@7f2P+jq@91U$Mz8WbKX~A%*NEVw+W| z&~6HuJ|}WZ1W8KMSm#()TfUQy+y}d>q@3^s7f=kL*O^no;>(^ePJwWUk0{|OT8U7L zub}6vFO;0z5osSm%@ddr`A6gBT)M&QxFvGYt)BUvT1haRk!oRsDMPD2Ke;nsZ(8QB zjMeB9Bc6r@xDB~I>T6^c`a5BjX3XbcFmjr7B`nJ(j{rg z1!|m~wbpCH9hyj0>2aI*c>#=p`3T$yEC(YL$G$tn5!e03> zg1^a-WRyNh8FPq$B1ScQ5LHDUP8V@jwv*TLqoPzoa_J;wZY{=IY1S}$i#_@tZ1Y>4 z;L|M|w0KMBb`964*XoGyD*(zxcoaBSO6rA4z9Lgv$lM*Rzt~f*d1U@lZ#CT{hutAI zyH=>%QIhvIdU9Z}CH;XW-z?3-WUvu;h z_rvHZl7WtaQ0s1LwzK?ji(e)Jt8O|u?WXN_M#c=oU*A@y0c#&O){Z$y(d4kN>^eY&>TMaQk=XpD% z8?r?=H|Y{P=;U5Z1=P2h%Z@>KU1@|IslI=t-!0CRf(lf&&{U+IFozJq7O-GXc+1{Z zoxwZ3#p$$QQSbK6<`sXV{@O}AlWl?MF=8GhZ41*?%Q+1?aNCDlN;CfXO;+G`WQ<(^ z6^DuI0&t8cZB6=J&A`b-lNb(5Y^-iKt|M3OH>3`O>z9dTjY6xt*2v=BkaQgCd7?yu#nM^$Hdl8>FMxW6)iAkoML!>T0vl9R3d_L0WNfg z0C9UU!~jH3Zn9l81aKS|0|b@NgJjR?;h1&Im>o*IaqN`56(&3Om7I*+N$y|=0pIv<5zh85%Uj~Hm{JvvMgB>A|xZ){XZLv(OW<(psr6_qqYIE9Z0D|i)s zgRa-k&vrKN#$3{`BQx|}wRMVIZegV90)xGm+E(E)9*@784wSJUxmOXzXTom!MR1o+E#G&@besdb%J7kGja_H`zIS% zwtq(bX8YHv-~UG&*#Cbe5C3*&|65uMGaK`NrGBeuIIIHDy&tQ(fb{l7!BD=yYG$rk z%f@xHqSgGy72bTWzoeYb$%VMX;%Uo#oe&TZKPf4tX(H4vTw%TP;ptu`TjQBuij~) zSb}{-vZX6CRoHf|Y*SL@SIv^>H-&Idn}#|bJCd>#q z7|46@Sv^x=O}p+vZMW-vq+PVv;QP2$ERKZX)>`m7;(TYYUgSuS7uw`V$TIgtPCXEQ z4QcDomIjGk$72)tdA?r2Kl}^CGYk4kOG3b%z5d~GSYhOsCZ|LK>NcmYfmxE|6LJ2# z*UGk3p^xF2CFi}PR8=%Iy=Ui-A7By!$bM(B-LrQONAr7aX`hvUIFJ(1-gN3D&y8$0gb8KoFDzU z9M1+Xz0*yzpY0YjOWUZ)V2U33ApSN`a9hZsmImrBZ|+2a8Hy76Y*T#$Jt!n(J0%oE zGQOdB3a~>7;Pvgw8o~IgKBO-v)+9y`ii{L` z!W_WWKCAt>zmRL=ryq^V+v5J%dER-j_R^uH->AAM)9}`=D1F_Ho2J|fA>)Oazfr3v zaZmSxT$l0h5&wY)(2?peCNHwT$wmsU;v-iM%FvCPG7^gfMd-mpm%0B7ox_5KOlV+f z8D2+g@Vi(LOP^@uq93cefLUzU02QL2N}*9^&8yi{Ydt2C^E)-^g<%NSGV&K55_PS& zJFPoNX^7WlP$wpeZThA#L$r-Bx-IP8)kAz9vB$o(q;0p(h_$mtO)I+{%_PUMe4=l; zZuxyYS1t3M4;9U*4t}$+w@C~)Z=BGnMT(vQC#{FBT_-A%x*P$37VBE^%~X@>=K*5W zZ4n0I*7#HFKqxh&9GOEpyMUzRa=WO9JJ>N(NDhaWkBXNA{*N@iveW+7o7zfm+Eb?n zY^)0T)Fc&R4Q(DWrs;!NbI(}iRG5pGe0%`{cBYm3qp5|sJhS~!KuEq7gvv@+X2sxq zSsdej&-3rYL&(MNy~m7~%b$9}a30rDaZVQc#*!A}$7q z%FZc{cw}0+2v!e&Zy4k2lBgTH*D-~P!jq_!>J_K?+rr-3T$U*~p;TyVN?IaL@83PI ztv!wAoq;rpqXmPG$o0zsV}nBzVwEp*QF4w__!b?EfgYFbd; zE~hRgT^k~VZfW!-N_M+|pUGoAskKv9ZE4&(bL9FvpJmHDk!)9;rqX(z8ZS+!<`Wl5 zANyMSe7RB${(kE{vK=OMLc5#E9}&TcV?IqCcLw{Lb^VD1JZ+V>()%G2nzju_Ti2Xf z&w&avUK_rohQAX2HOW`b&`+2CC?8N%n}R`;TM=ilW0QFI3go- z`}GkM){=x3S*C$;ZXk5+x8e|8V+&3x`sCbN5Oq910v5@IW!TffZLB)ZFXW8Rb=lLrF+P*`^MhVBu8?PH4p;n`8d=s+RjVfNf` z9L5v!?9baDTjjxdKTb~1pK$o}qQz-AN_GZG!gup)fg(E4*+dIkJ?2Y0m7XAF@Ae-C z>hK70g6PS2CwOs8wX*qMLI~`NF1wbB!hyXMy{KssDWb-|_OJzT%`^gs9&NFfJv6Ld z%Voa9k%E$$2(tl0_`3MnHRLh58iuW64=gGtqr92QcLZ^HV@+Icc3R#W-O+eR+W zY7uv$+ZYRoTxi|}Fw3%_j;`E5iyUVclH>|1W+J6M=tIa%q)Lz^suKULU!}5YtDs3X z*J(#?H1yM_G@3XBe|n4KYbk7_tAxHUhC0a!@)F~Q${a1u{S@QaGssR)ck&!wZenmZ z+YFjoJ%K|| zU++33weH*63*-*9or+u%XjxCqAk=MJ2ag`Eh~>q#r!xG%CWr$ua!`nwFchogSo5UE zl|=)hVd$1xkQI8mY}miW04QGf7X5b-gZpy4zTrmWYa{tHA67^`n~D6fhn0M zeu+Fhv}{#md_k^{-7YErX|1;QA#toS14 zH-t)xsN4?eoF_@BGjquXNC}ewH&dnxLRI2FCBu=ne={mrFycx#D{El?2XpTjWC_#l zdzP&(n_cX(?JnE4%`V%vZC7>KHg?&z*`+See%?Fh%(*dd#GSZz=Ei*4Uv})ha%HZS z87uMos~1VGjC{Q_ic9>Hghemx{h)z>0WmNqWlHK8dNNoNROt>2O<|eEe1MR}I`wxF z1crQ(OUL2QBRKdATk(U!JUW392fU_dK}P<-v0Qq}bsL zqHc#g0|#h|2NFV{;t)bwdj?xyfmQSJ4^Qws zb9p8~B?)?+N@#Yx%goq&AfrqJ4ZF0+h2-tah_FfPsJJoEf9QSiK%C{~YMWIjJMDtp z80-*T*`c>4!iYarAQ*zrjX(k;nH#($dm9Scv zKwlE*%N~!Tn45f;!_qw`jXhG1rRKDxMHA1?>8%57c&_|NSqe>UZcZ|9etaI3YbsuG z(FptY)vR+Ij2EX$=#`3lHF4yb3dXY1>r{g!L70H_P~w^3w746;K?cJ?cu(3ens+#n zJDIDXLHiK72J2}KPQ=~xOCf9S9ozwfi#WK4akCY}I=5D#GmxwdoWdKj9IL zvX4U2ddx-gN+tjv%k2j6K&j%|y6F&CZ=!SqD!qmDUJ}$!o{+4z=hU#5ND!F#wcFW_)wcTk9Ut{e` zpjRcP1nj#dEDbZ5*v2Gw!IAdB$_@TVg?mHW=qo*GsQqZ`MSQ6IQf1eVFVYnnCeqQ{ zX>l(kfSl*44~v&~U*LS`t3xLH(Dnxffja`!|GR4b-|<#C{?~b{{~uNJ|1;2ne|hsi zuHe~OS^w(|_bK%ar%iTLpB44r53H4u#9+kqQ_42>zpQm5u2z-TphuApaA@W;GZS3v zrBfz)?RP*DJ62O!ALi)|k;b5Kc{#T%yf>+%ETmL1D0$?vm>;#yuHI;ZwO;1?imbPa za=y?na^iTFu}IWdLl}Pa(-~gC28QIbmeNiPsGmlB*Pa&EiFbKjqP`#V@`z}oKdR7#a{XE=*#pWA)fUM=&j zQmQ>y`eghFFa5nWN1Fn>c5SI1rl;3TOImNcF9~nm)$IN20P_iMYfNu$-lPu23o99E z6}+f6NnCBBjdXxiS9igoO!yh($hr4WmJiKm8vQCj^bJPFJ5sc z200}+>Z((^rOJlOWw{?G6)+8Plca&TYr76|Gw?H5rKX8 z^BW#X;Py19KPbBS^dgCU9ola_` z-O)e1Z0Dg0&r3#`cD+%w`hQ>8FhM2uZWMu>&d{3h3ZrA|4;%^=5C4lEWUp-gu9%%d-15?Ihn>u<+W|zu}%)eUwybZ{^dFTE5vX=$n!9|r8 zqaz)KK~u!HmcDhl-}?35Q`VfpWh$B3>`PmVK-xrN7)NpSo3rUqb(e+!LsC!VP z6bky??@T9^LJVI$cm_qT6OqObT)f$^$^;5Qq}$QpN=DQ>w^h zv8y>uuKr=372Wj-kKz~9Rx)CbarmB(W|8_WwG{z7$FQ`Y7}EfHn`>I2KVsr%4s;01l-ma)UPvp+n~_vre^lt z(6QO3$Vz#+diXwA-M4djd3re3XQc1riVs3jpBdUNZfqKZ-UH!NfbUc$rUz<71&hy;=XJJLmQ}#)a;x z;5Y9xsty@zX-M&zN%E9gm1UIFE*OuiWRQmrB{F4{K!}@;_btiBc?a?*QeG&zj>K28 z6!{!W?z(XcA?ob8NI;)Tfc}MKwAFfW#F*}jhUw+wy_Nt><JX+a#M0rH-U3x8^p8fa=F0M3p*h&#) zWDF395V0;A!R1oEdvn5(D{33XNMg9+||YkRu4Qdt!Z!PK<3 zTN5i_+JVz2;7c){_4~#uUTx|z<4KSC8L3_nlxx#vh+BVQ9F@5hW8%HRIotz`& z)gbw`{nouLB7fe&-A;1MPR$)6)ClOYb0Wv|nDncbB(|k+ndZ!{0rx;ilm#8 z*1s#4SA>7_(DVou-SUqE?^1JZ5ua}BJ66x)c(y0@>29K)=Eboec4*w^x}r%Vl$>9pPSxY=}%Ywc{h>l6T$t_x#}cuigW3w}7F z+Uh8Yxiw7}d7_li<*hg?m*ePp%qO#UOIzlG`$$Lq^`r1oX=sZ(LyKJk5($n3gEPDn ztjtp|z*!mHErlJUn)=nyQW>ik9|?>{E)Rb9>}Bs#NWo;an~MQ-Us1-YF`w43#A&c@QWo%htZpZ@V_)F8x2T4SP3 z{2KLbz8r%E@7LdJOJK%iXOBD3a~dQ0A^Qg$VwPXjps8`);*0DO9_M{B7pCVmJG}3luB0ym@-x|GOx!`xe;+m} z)X|?Bi4yX<_3%Fik1ivH1jUUNHGYhv;;GgTg-fdQI!BFcFq_cNquNl;dXeNP!yCwE zm}BVwt}kSAC7X=cv9cl=8lui!s|$;kZHG)(7`yBe%A8BHSos?mrilX^vC9NG{KQJO z$z$UVxO1Syn@LcWmc+%w)4&}nhR$vOnMLI2`Z4sLqrYc zrB0fZlvWfA5w9t{r4inU^@_gA#%LoMZNopph}Ri@OM6{ctt1|Pn}`u(q%(zzFNNk8 zZ9-T&%pl9#QYEvL#p$7cn`SKGxf@l_==w~}9+SsS=rX_R*;W9}!y?;lG<&L<;yEei zK>dyGgAzC8CQr89hI9v?$5|K5r`P<_4uY@}gh)?K791UocAvN$Qb`Pw-FsI7On+yI?JuEIr4O)SIWwX4!S4X70D^Z&l2Xn_g{kbX5)L)F)eS(u#m2A4h;j zNgxX)j5~530=w{{d#_y2I(+%lEgg_*7AB7JXeq{(%xtMqgRE(~O<%47XQO%1p;kKi6JV(;z5qdZ=CufUFhks(G-NxqLF+BLy6JUdY!PlmjqUpYc$DgdtyA9~6UM4o-W z8SS78pPqU&Ff40ty{)AgURzd1MAHnCTq4dZjNJNQFIPm9Cgz7RW0I=V*XzW_e#pyI zVDw7#!4mF^IIzm5`VqbU@2c#7hY95PZ#A-rlf8qmy}R~5$Lj2?jP$I;oXo&aT?ScG z6HCK?`;CI3lc}8xG1LDE8vK796Zk(>W&h*N|FFttg8*%^ zj)WlV`b+Mes`jX0&Z4Cf>{ZACe5RJBje4@|{LdibuWs{cZ~Dh?*6k+HfvGnN=5As$ zxz5`e^5V9}8q%W9Uf-#$56Y2?Sjd}NM4J(M)^WG-KN>X&eYp24=frl&RDJ|rD>{du zk_JXTH_2{L{iAGB!~H(^G8xs9QHK{P0PsYrC)Q!Lo#(yR?jlmFM(}?6>ronVXZ^5$ zeENDynGOVb9`nDeIB>|_|0%TmM5GbT5a0Q$ z?(NJ=;PwKpb(9?WYxE_}%tpGpA?QMl;`<-Qm2MlSJo82J$lsqwM?x833*Q6KW0+}s zM2hCiM-vWhiQxl0ZjXpriF8_}NvHWi`ZJ(G^UPHmz(jE`3ozSef6@&l%#6;~>n#3u zdqJSKABLd2dBVZ(y_-?1fNP8YiILsz#|ZGGAo&3)uj)VnshBuI6F#T`>6l$f>`S8I zi7q8Dy7{%htS+RZ-o{7o@mD}j3-YrdP7M?-x~Z+B1^==Hjx+5i#!x~X*t!(RSrqXZ ztaabalLaDUd1o{UVrgvv(>4IZJ!Ni>g3#rrd47*R_2EYF?cTIMrbPeyFJF%{2VFfP z&9skeSSn6l+-MB^#*n$AtGSJ&UN?0C=UTb5aa>>fO!&5Gb3PsOo2_PR-{2py91iWF zJDnIhc7p@}yyvo`OOcbFvsC)>m!!^0MhF5NG%TbQd zg1zBd+WoO!1)|nYYc1D@hV*~xc>sU6OiafFr&LbtGS6H>Gfrw|TFtN;HvHi^p9e_AYz_sA8@~eT_Acw24UYc$$xq0m2~R z&V;^d$*KH0_3Daj*~~+Jg_Um`&nG2`Rzgf!5Ud;7N&iU2@Hd`!(P#l*eN-l6D7uAL zNQ6M4J^n-)T(7}&uVWZ-gU1v(Xu$#BS=Yw@x-ROdcV($RNW>~|6waM?(3wQJbTjFc z79a5;esd$~;P@drr)zZ*%7w%Gw=Df%Ab)b2Gdcrx*T*W^s^MqN{4vEK=qS`$(IGoq zD>3rYW-w{u@V1(<+X98qy`-sAAf(!QbU%AXC(fx|GU8fym$sc*l&Q}LA`RI+8l*r% zf#FoL$Mbjo34<5y_ewj*F5+~lwr6hCLo_sRkSqhyLN;{E=avp{XN6!XKDqM6gLFB* zSXoEk*FS`#kO@r|POjYG&*n_lK-FKRjB-d1Dl3Ij9L<<%1D8NCNclwtXf^u7msK&I zAk(4!9*+9AgRLbS7P6?S^HarXW`51xA4-VEr81pmF#*=h#cuC~{5GV<#!{3v$X z+l-K{1Ux!5?^3Yyko}IzD1vm8EQR!jMZ^5O1(qV=7=3YwZbI#*v17uvakpq(3U^LV zAul>B_y*Z(9@|=!FGd!I9dq~%F(fhMXXTDsH^zd?yhg@@NsN{U5#qd(}+zNkCsU0gxOQ@cuB3Q0* zdyJdPVy@((vEy_nq%W1aFd`J=q0g1Fl}IP)n<=630Ww)b(NanI1xV#hI3l(Wsml)Y z9W?m)@Y?GyTTTlfZpt_!tKg>Lndaf#CwL<=8D8=?6W`rq(7?k-88X+$s8h!zNzk|! z6SAXlgzU<6=`R2N_3=IGdAiuJV{w*zS;|^-dMePanb~n^z1gDV>pfMA()_|rbamy+ za(j{2cLUNDPXugyD{7D>=>KHJ+xnu(l|50H0`{OgC|X7BoWDxB)!KSaS(3%_3{!vR zMf?%uAEb3KcHNK>6yuVg%8o52Hi2l$u`T_MrDNu(io-XdF+wRbLdnd6#bPOr6fLZVo1jT>WlAzT z@hR7lGFnpmscu1F=h4sI^{{NXZbBeLIKdrFk+^(Ckbr~npUJ$j#Utg?&&%HHeMtij z6e))&8HX?(2?a*U_5xyjkPpJ0>M5ZxrHxKyFrw?wv5}a;#yH=uLu-oHsJ`tQL;(b$ zP)kouO+&jv2BT*K;1j>xXev44CEj_KWExi&d>Km@yu=OBG|?KugKA|qanTkB6x&vo zG?d$6-VC8(i;m3k&G46YmZC;ZJyULdeYPIG$%Kqo$3im#_mRI=2)mGG;Rw1kFacGt zS->{r*oD~Uz}@ZTV?X-$E4lcLDYx+zD8l-_WixK;`l_QDV{$i{SHq8R5ipreEOx~u zOa64ph+)Hpq@~A&l(I+v{l@|w*bh|blmm#?Pmz5Hap<79=l&BRym{-_dWwZ_E!s2c zQE^$rTMf+q?k?f~r8m;>8Kk^1UPF1fA#Aei|D!XqcHI^Gq594U zcat&mT|v1AhtsL=?*o*fRD+R|8pPflF5sU6<~PDn#`yzzlYJzlM31h&#VcB&vMdH9 zvm57MT@ymKM*(c^J#=xn*UzV7@26r{6?9__M0i4Uk-pjj3Al zLoqk@b!Mab=9G6G`wJT5uqCX$2+}K2IiBbY=9^qIXyEiQr@FfCp5WRt#+}uOWGv>t zVW~`ut@wP~tu?*y(yEY zG_275%pAH73y>UGEP)$#$N3SPrO&N5)>RtC#g3jpMRLWK5h4|jM6U)2;PjYY{yi`Z ze9*pGkvSsqC?XMHq0{F}jU%UZX-r;*>$6b9V1gz!MPa4t0-!=Z%A}(#k3UU=pVAX*>bzYW+tDGNO>~@rEGf}tL#-Xy0)7(;{fzcr<#s*NwjNF9W}Jd7KbGZ zIAH#vD|jk1l4c0ULo-8KRn$#q>XI-H4l4T}yNH$mu&sDH2SB!l_XnMp^*`fY8_sMu zUC`3!Z8kWhhljmS7mCgyAoJF1`=VQ$g zlunE`dh-7jPn4e*JIka79=|z}QW2addA>B{S&~kjWVc~7ES<1FF$diQ%P%cdX|Sha_**Gf~W zNwbcf&R21ON?gV@bGS5rAVUE|ukzPhf`t+rG1|3ZFHgYj$fu z757ja{$Mi25}Cn#l6z*ei*WJ4%nH>{*2XQ_$$gAFdlAzBTF@qIF5~{FQi8ZMIJVA(0O}Fr}vq8g&{4)R5Mk(sh%Mg0g zi}Z2+OT#2|CbogMg?*+jc9!a&)aU{Ju83*hP zScL&Cm;GuZDn9K)e6?%AwG$Aa?VLgp77`1c5DldX1UjmGb2dWZs#!-iHH&3M(9Z_j zMgbbeGt&m%%z=bnDKesBdgTleP>JNimL8P4#TPD!xl z6W7(QUQ1z%C3!l~ornH7h)jh$*>LS>O#$8jxgvj0EwIJA)SRa>ANCB& zew%6%gGPh;I6BUK`<&1sm0@mYJdqJSEsdO2w`MCX-FOP z!-S0tHYgTj8lBXxHMLw#-;&Iji6nD09?mT91ph|#JhbBKGZ5+a zrQrC)39Fc5RNFnehg!?fG_)CQzOC~IsQ{KhO}y&roGJrJCx=(5_3&1tdqqc~PJ6v3 ze?w=~Zhv)W#)7-!JaYQ3H}F&9#``Yn0QV^`@)l`RG-|`?TT6$y{g3s@J>TYf2}lyY~*3-UL)P16E(LB>vX(p=u1@vP*j(t>v9gOgAKLz0NEZk4C_#p{zQ zmUp4S*_rXUFpD`DC1b5VTPryCR`x5Ti#1{O=QNj>&*Zz`gQhrzTH^4{!SDdlK) zS1(eS;ezJd8t3tp%7mfC&2_8o>~}Rf`JQY>O=`d%2C6d=1F;#ZaME7UEkdmWdHdD) zW2@b6R8(48Tc#ZinBS6_m6NPNqa?;##`eIy*^pA!45WANkJ>G4T?c0;pFdS+<9t4L z0y^r)mZ!%@rXk-_DxGWS^*<9`$1O`Z#Yr!eBu@X#cfGG9iR;Z0G?u%TnDConOXKU6 zQO*IREw67TL7YuH@0=k;?ww7I3m^wvZM7(<+4ht06&07XNa$gB>Eoq1E_uFJTI1fV zx-GB2|C;uuMHw#6eBDMj>WcM|7X4j0z$5(JlQf(Cs%Ro&3Uk2v3%lJ5Be*uM;^Sw* zTZna=Lm>bG`jgyXUq`yd@Vg#V~9&&BdFhe7ti!-ja$LXFQVX4Xm%=g!iL<6<2 z_hCZmFZXiod$C@fV#&@#c*SOnavx?U6Ui()HS9ijiI`S?$blXDl;{4bVn%_2{RJ*;X6Z}ZLOEoipFLH+80=5|4Fw^b1?$BuC(dFKl z2o+vyTaiL_K4cOQL~IahfFc5bV%5|?$V@~GImU7*$Igm_x>$D=+%S?dWvAUw}I) z;eWH`N2~rOgq_fM*DFm-#tLt-xgIOMK~@hNRzy}!;JW*}1BLl_i}w;*#c71f{o-%( z8+<%z_CZ4Vs+^K#YM(kAM^F8U^@a`Z8A(bxZpQ}Lutq3FGCD(bbl4cilm--xIj!Kw z;Wn6y$xvU#wcx=ThEOJ@tv}9e4HRz36kNzpYg0%hWuNAVhEm_2r`6sZKuPX{445{N z@f=qTu9!NXWQ67k3y=X1C@ij1R;v?L%wKZI`E{Rd$+2xPa|u{Oxry^W{x~XN%6?nI zP>+$bqZt`7T`%-yPrg0xCqCNf?18HLBO3c7i5t>Q&~3wKF*Hdmx+e2nSSO0K(Dl$-H4N8qE4Bh23fM7+2GaOYnZ~j%e`!God8OyLPZx~63pg{G9GNE^VhvH3)I3Zkp}iJDU=Dx zB|X?)u4-ge+N!cLxPfE6=7d!ood^Xb%xT$6}g z8Kt0X64Pf^Ub%$L0QF5MQJ`?USyhTz6^4_i!^TZlRs3qn^M*-xHiJM~vx8)dli>j- zcA|{eN2*<&td3kYuQdv*Ciu`cE_T%N?x3+IIAu7-H9TnMSbhWqpp=(r9i#_k&c}ki zYS@QIpDxNs+#O239s*d12~Ec*zKIzYNvswL8>wegO5hg2Qc)q{4uNI@&OmJ$TZAzAODd@PuGocT@L;0ELr%wvZX0g z*;JOVqvOwotFDhp%Hx%#wb8o`r&1*LWzO-OgYRxqMgfm|^%T=9np&L{GCF;hl;%bk zp;>w3-g8s4mYOO7xuKMeRavSl!-FYJuLeU9 zZ7b7sVUUBzsu19d2k0MeQZ9hi}@H*E8r8fnOtgu_$vhHv)G(5RKxb&iEHSZ%~>^ z%s9dcTm)*&l70o2R+(CK^uBc0~J+HT-}>Gg(bX3lVxleAw)Zl=O_Q>Q^U(lf z-s;UuJa#%u{LNtn9V(tN69z5^CNdb&DHMHs0Wu!v?R5XgEZ^?f@vFJ8m<Oq(Q4eN*&0JAADp1Z>CP#nW~F4jzzSNMUn>WrV=%Lx)+RW z%?(jCf@Q?4Mn#E0+g@t%|M)Ivm|sEPT{Tz1qcc_6=*;Z|1#0L5YmuQm0u16rV&(FA z(1rZie<8s!!REM~gVvqF(WRwq+FrSseQlxnI6s z%ls&I{p~DI?^y)eMkzcTa2Aeeb!?z*Fgmt7yxV5k0ZO*tvE$1oGFB3H$O~S>G7DQ< zrMZ{~t%lfElbxApW&*2IVadG!D@#>tV8u|P&`do0Mq!{_95 z6YANv@l9kDK4(=jV|DzHS-r9RpvTbyQ^vT?>=K3|OgajNo+U>{&Y3MLkVjBjaN>I5 zRX7@h&^<(4H9cRut~pwSZcG}HZO|t!Ryk(hq>(!zi5V!inf8M#XY+D=1iqg(wk10+ z%NCL8*QyU$7jvU-hD{io^y@VzkA+%yTMW>n)7y}?ULV+90TzBWvG4zma>U||?6_Jt#wQ{hJVVYWgIMEb&7h}(cV)T_OO?40vlc$2UOI@8>EMuYTtIV9`HWLivOKT@S6m$5{?pAs{H-j{PMqtA`hyU;+hUnplRr4i zv}f)1q5%f$5wN_Gj>M>3DGACrTLtI1GsyvN z{u(8k6;B%}M$CQpG2{NINkZ5>6oXU@$p`~9W{_6~Fk@|u|5qkqJ30APh2cI06EL|u ze3yTa$~a9KH?K8QobfSk5MsVuAj3vbGTCL`NEx@TH8b2H&_W`Hee%F@YGTe(%>Xnw z9$R5HuYszS7^LJDlBR=P-wA`cpP_;98_W0;Go*l&nxrno`X}JTet;ml3YGxytxm)R zW3RVncTfTT;dRNd`We}wY|iJ?cv_a>s%OvNU} zaDkE2L`EIoScnaN>urpX|G<=Ai46`68>l9OR2L`+gU?&7QW8wg_QZvRoIKEkjh&6p z6>}dBo3~VKK0g)2zcfj=su93GwQN7Y*%i|oiQRo*a5XYxHlr{G<`N@|6!5xsmH&n0 zAq}vKYghMKQLt98WpQV}P|te(*Jy&Oi7^&9YoP~$5ZWPtCG*43-~4#3FsaFdeZn zd@VmR9g#e44H!!e1+3AYtPm#ISz`#U#K7*gI1v{Sy9Shc`Ea28m&p-0g*c9y<6_D1 zBs7v?!wP?Qpa3^#1|}+0TO+AZU*sdmPUBluiyjA$RnDZV9Fw(f(my^o?SNX`4mtJe zQ$vCCZet@*`7pxZ1(5)K4pK2t6XL-EV+jD9768we|K+oMD1J^{DACu}<*&!lP`)o) ziw@UD-#OjqA%8e})H!A{Es8>o#^P^rU>G{`2A}VTVM`0W;gs>%y;8%I8s+en1ZXrVFMZJW7Z%R6V_tzw%kx-qbO?Wq;;tL;mE zYn!d^b?@hM9l$Psc|oZ%xCIr~HpRgRkQnPNp)>$CsJkj>prpgJ`(oso|8&-0gTG*$ zoF)|qCPUj3cZZuz1_9$g#hW@$AB!4O|7iNB30Y@x3l# z#KNRnswzpHfQ!F!qm7%M3srb5HQ(ygwx5*)*V`pC_)=pJ-m7lhYsb$11xlrz$iObL zJ^R*0C+Lw`7=td6?S}eAOdpF=#BMgIY8$JvoFPgIVmeu#^6n`Me90U2$~Lr^A_Ju`h{MYjyn4*?HK$K z_ex~O4apK2cS?bB1lDr)^!2-nJj4!LUe=XaTbWqh#Hl5)=lSNV%;vHP&NEe&f1$JJ zirbK0s3$!BSf1+pwapD<9>wSWRnxjv`X*6h|8u!jI32;zDK~wkwag^QU+oBoKC&MK z87m0X6$a`wnF%|vONFsK(enA=IUbRWFK2E67H2s-);_>yjHJi*myZ{R&1)>Ka0&@4 z1&NENXt^0lHXe$dy`m8^aewqIcVg9m#7JjY{Jq#><5*70H!;Tc8D#ce^SoEz6Rajr zd&sWsCype<+OuoBOxvq>?yb{M`A5cz&CSggfb0Td#ox-Oy3Wpx4PPFG%@?5XlUD?& z%056bO%=agNYDMG3S!|vUCqrJqTTkF8<8Em^6kd)*Kd?pAafwe@7(_W=DK6M34qHk zZloWy^tX4of6#QcW<}|BNm2YoVia5t#!R=aPuvP4b#x~}7T2Yyx0}E;O6k^Og_yxr z7$x-RBuGD;goTuZ1vVohTceVPeuG_jK7>bC@Ev z%-)>*+VqT@6jk5)NQsfnQ<|xbIsOW4*ieQTGF^ zwsxA$vDcNbW=o*W?1qP?)I}oXv9-C#t{Z8MG|9Vo4z|F^b@yWhY1FXw*UHRwL(d?S zr-9vP2kalT&xuOC?%)--+vmrsaRd$Bev^;cKJTkn!*|k5*C)^_3h#PrcRT@rpRL2% z+p(HkXMSf~6_Ic7ioju%+WTocm}RhIuERpI3vsRlo&RdkZ(l}oXb}ktAoVw-!MP83 zi0Doc%w(C2j}ZMBZMcT4WqwQ^IOz_CQBj&f{hLz+UdkVcS~i)O8~S(q`2P;I%<;b& zwfw)4RQ3M|sLaa3^xpxMH`QhBfl5x@Gj$f1l3=v-Z%LORpv#UQ{okKeRMk1gGZIXHh|o5o40(Kii>j;CQ}xj}EL8C@8+sg&N*V1;y_wFY zhRbW$=`YIJm>d=u_PjGJ$f1%Fk#5^$w1c%4M-gL;baqOBH+Lxey(25a(BpGQf%RAu z|3GPH{g0HBbiz|boh6V|m2$f=f1_zQ;V=S1k9C77&@X5Bg!B0ismk_#KW2>OC~{7< z%j3@JcZp&lBSm8nT}=_)PT#%&9TF`gf8%2b)#mM#OR7uPoZK(oS|ZF(e*Av5HpGp{ z*pU`e+9(;&Q948^4$IQ`j-pTzQY?sS^AOr%mKN&9-56nwGw0q#i4a-N9k>4)~P6L*+rGL0CXrK?fHyWbOZrEJzB{#P>oIKScG;;3SYOEL8rOh z?rilP0k6UJ?p3+E&g~|d#RLsGXW#RY>ewwTs^1Q7EH)wWpDvg6()wwHqXO;7<_pCg<_-4D7@Z#;?G2=K>GnhC~Rptf3Tvj53!8#pz+F`$fd+*)V2D}|ARnHluv}R-N}wZuedAbt|TVr zE+ihPXJmL>^Gh~anneL!l|2jLG?>{=|9AG36*uW zWZbkZL%QxA{fYS-3a0*X*FRmj6#=FE@u$Hul}Z!|k(|sC#<@e4kk`yV5OtzfG5CgR zAh?on4_t>BQ_5SX@RF+wdHmwy&O6%~%ZmvaPoWSxhHzsuW*IOZx;qzhOztDJMm3c% za~<&<^yS-%4kaHI7KQ1wzUMjNlsi(Sxc7jmYdNxGKXC3^(y{%7x$EtW+ET%F_}`1xOiFUbgU+UTLo@clMB;qFgxDJG5Z$?H=45>2hR=QE(vg9Zkj<=u4I8$d8yG9U^ zzqOHN|8-1yMNLK}|HJ%LdQ_oKS**I^JWoAgWhh62(*je&!F2VLQ*j;Kbv~k0K5b~u z=C9-5mjb!ubw)dIdax0aVW#t;plcN>jqa)UFZuJNiSN_2P0m0qZ5i|!E;!3DHmMha z!frtVxJvxa6qIt4x*)vH6uOlU7aDnG9sh#YZn7U-hQa|aR7)M4NwIo3o{?$3VQQ~ zyHI8mV~YFyoWzOD!Hu_~rb{XLx;Is0(vTH%K}_lsUa7;mLzd<@0mpZl?&#=I&j!s6 z?qDAky9wK$N6rZYDB3cVLpD84;* zc{f#esl`l8cVBGnzOsNPAM{(TykVB#&uSL(;Gz z?%+x~RAluZSylr{xhFQ3FqVIuAr#A%kI+hxa0nbr>D3rQgNQ=eO)Wzcf=89>#*H@> zIu}1A&%{VnxzNv0j>^P0dp;L>KFuebuS$NUT!NjkTPgf`skJc#d*w+gnKABO)jakk;hAqmARLE$@dT#OJsXDn)v%Xog zF=xQ>^y9Y-nfH~`G*TwbqVD3ivaVstbHO#AL@qSVWj1Kdn_J1|8ek&=4syKr zJ@!aCD@vAtV9GUz2bol6Z@`YX3%<10}7UYRKLC#nFMh^x?Dj; zIk@|WRJ9^j)zpX#V00%07ivkflU#etX(=CsY$2a*#+!5qf3&pNwENJmGr!)}{_FLX z?cflEwSRP4kVzt-$>eOX?e$^i#lN;UKPSIM=a1&x@?->f+^kWsK&LfJf%TsdDj^6- zaUa0@(Fr<4XoI1R7S$SBgLT@e)|iGE1(-yO(~!Oi$V5oI$raGVvG*XI-7zHPBsD}k zyXO84Os6vrw6NedE6+r@l1!k*Pls)fT}zAH3sVA#XQZ86vg5%6m*y$HwK7}r%Y%)< ze+I?*jj{ucuV)(j<@>hiWNN#Fgt1qo59B%!LDgYf;lsaiigeLRym!`}^m)`hsNgo! zFa5ELbnzTmHuBWMdbF(|YW~BM4SOgzRW_=(nPdn-Y{-5h=qp=jGls)w1U2mA^zIV} zBVhj#2DRP{qVCUEQOPq!LW+NOo!sT|Lfd+^*}neJVK{GOsM#BY*qb(QS)c%ZM#>Iss(@|fh%r3%ovhKGhjwQ=h;#n^)YeiSkz^#u-cQebycA;uaJ4#3MUC+dP=ta5>8-MhabL zE7GW}I~DPYLy6|zP_`F)*|U;P*!6$D?+l1y5M>Me+7{BbPH$QBVu+}(N{`#5Y+EI! zR^`!wC_P$G4>(P0=sS33MjgZy<9uf#&ixTB#%<>Z_*>D>q3$u96SuuXYgC=PD6wVU zMJvr~-a=xWWh?Z8=qv|H)nUzG?T!xciuNM58EipZDOw=Ch?Ic~}0)2Qi7sC|ry?e%r5WhoKbf4g;<_7|D2}8u6a@u1Avrl$Z4h zUoy;DxWxgnCfJNy^vMf~6H;>@B2GH~&|r|?hhkeAWH$sw&P@cs4%1?Sd6U{w2H8z0 zglKEzrfpe<(W*&!GvKgZUkqRY@{)|P#v+t02Gl|jA<}Fy`UL(O#L#W&eD&*ER?2)E zv+tghN$!Qdm{84qwzoReo+Q<+muf{lA-T30UA)5cZ13@LCgm`r?lH!5tSP*2@30Cu zkUAz(DY7~{k+rqTcoDSdfpL)1(2Q-#XUh*d10_K&>dU@(HX;2<(TJvbwU^|7Esj?3q0)WUcGJ6ztt zouJ98ydl17RfjKH_-6cIl!%GRnnCpm{qho3#H*XKs%8?LiL2*_8Zl!*@h~YIfZm}C ztFIcYG2CxKEvc$P34ivsAAgjj!rau`drh}Gcv^|FLGK#HFo4@P7=6_TOir08sTb)m z(`GWU!b~r!Zl0eSD9>6>dHJlF({k|sN1_w2KJ~)3(B)~9dWm)JU=!8Lz#P%@sVd5( z;;@WCR&s|VyL0}<<6-BkWVp`Q9Dd%*;_D~QK2{ccg|(^U2!*!u5OJhc8@6AcRCzr! zhJ+m?OWjNo-%iaSn(HCLINw~+PDtI~yr7j)ERJLZ@Pkt|L*)5n`jj<(41@FISRn>hU4dLg&6lhB zC8}SM3UJ7jQ0g$O%5rE_NgqLC?mw)Sl%eTeJ2iP>x?tgNnke&DKzYrYFSPYYw92Vc zMq3l}CtZ#SvsS#1LjQD;ch6R3s_QX#=|_J;v|WnY;zi1qUR!RdO+naV9CKb!`6HM9 zd{)sdCv;BL^(_OLai}kHwl0g_34b>-GowVqgP(!VRFXY6YXn(u0-;{(biE0%ov{G( zZntHstz!jAt!Tki?}gp3gvdu_S77=bE`GkuG}AlSqoLB6sY0WG;)F0a^e&)THU}5B z?^>JN7Ww@cPT#z?)G}YjE0h!yGCT*0m!}Sf2kC{!a74nbsV}7wom_3dh-|H@iKzth zYVElP&FihsUDLuLB4`<66dh}s$LXO62_1*Rl*K*^ehR*K@ft#c@45-}_f}AhG(17gVoi2_O3yNPX`hxI4PeMw*Gxc1UlQhb9-eYHi4=1^g*;5Zgli-EO^d{~w>l1T8% z74h2n`0h{GW|gRVHOFD*CUo+m`5DDoAK6D*xwibZ-kela zMuH9z9VH>;8?+{*+0sK#A@4AjBVG`6I(Pf?GfzJHI_b?un6c3+Cz__d&g8qn<`dfS)C`~x-%%g=^ewUo_M*9$fAoqf()~ZAVE_NYck7>X z{vTUEnHf0P{~J*oAcwXNF#KLtlRgbE*PNUJb?W8Sc;c+Kw&~E7lEAy*<|npZg$80I z;iwp!E@?jo{#|ISMT#UYa`WTj)FShWWB&e>pT6cN-O8bVoMd4;=@#yKUu(Qp-p=gM zEVs%INg0zX1YBuB!=XBT_?0J+3uKvV$Z8*cE zIj2ye9)&)D@0N~eG2>R0sOD(&++gxJ@cju+tMm&&N`O~>akt_DU)S%S9o=}{-FFe^ z`N|-0H&ynOz{85{)zYbC`f*f zMt2fjgl)qKw;jxVG03#aIram3PfKK8;|6)KZj?n_J2i0dk|i5@)<$;Q$f?vkY=Uc@ zgH4w=b-N6ZgulidTvpVvpLEf8zvuB9afE7DL^+YaWPSLQ;a4q12t|1isC)jjFhtw}vcsn+}TZs69BAu$<-h<5Pb9f$pY* zZ$1+QAHRU%lxX_LL+R7)k@q6;6i@cubbK$f!5Y>boi~wg50tkOd}Ese0+2ztsr^4u z{Qcv>NFvgHTF&VpUj^-=MZ#YqeR(3`ZH>OQh7y~jivPae?|UXT?zncjNzE43TIuhM z40Ill=~)_7pxmdEe|oS65RP(c{j&dIR(=gPR*MKJ${%QD&Mq&!b9HgIGr8x|=~?lY zCqB~ZMY~q1g|-6h9{`ut(?0+%5CFh+x@6xPMYOVgQ_|$Ax1Z1^LgWe%FpGfL)L9&d zzd0(W5^h7QCMCe43iC5&A7Q_`Gt%froP!rxeJdk^O)2e=808e|p&o8ux}3W31W6^5<- zVy0gusnAS~P5EbOx)0Jd9=6@_;GHoD2v4i=HZ*_Z9zOpGa9NF`q>*jkA9!WY=(kn% zCfa`lAYsurB8;u2DaTRDXzI1mTlf$}MMA+AYw2n73-Ki9ut9Ge*jglf#5PTPvZOdV z;{Ay?&@8hC1dvsqIsE3GJfWTZo)e-eAl*f1OyBN4@(QXwn57BW%_&bBJC1`&IE{k{ zC!8?jRD6EOo@Nouif>t6dz>X1^NzI}tlVBYjlQY@k@cs`!Hfxeusa1@qQ$TbLbXYA zxf!9hy)g){b?R~wA{&sHR{bhQvzTjPg7&UtP(qn3i%Va%5lNL1%in8EpDNy{HfMM3 zxJyxNxoAFAQr}#F)QsQYmPiaP9{37uIAQw+y@|O(w_JT%ehU|%HF9-#9x7)E2fG8^ zMQW2CS0Y=i--R<6N6{F4(?%#EXW2;uA#qMH6jtgrEaP|5)jZy9qD837v9k0#4MRJ? z@hNIkVQBj?Ex)5S5q-&(|5RoI;j<-4k{5kQ!N3?3j*PJnERTAeSO8L%RG`lxt8~lQ zl2%w@Rirq|IgN54{8wXIY^8R(P?zk=AdREyUje*w6_H7m$+Ow?ZPf&m6qu7+6?A5p zMCkLTcD3M<69p`m6m3PB&`FW>pp4&HlP1@s>sqB3BoCe@lKaTNES#)%$T$4r!x}3* zgSkW^%jYM9hvl#R#fu`Oi4B&o=a3oGmIlHm5|UNQnku-K;*_U@nMqva(yuFG?1>|+ z@r1CP0q;DGp2gKWgR{hk4Z~&bJzFaQw`2U<*}IVJ$zb7SHC=_oG~vE*VK$3H3cA+C zjG|%H+Xck;o_q2#9cXD&+^Z$Mf*Ct>#BQE|apE%z{k-%5z~0a?=_b>H9HJG-CK7Y6 zUaElX$wL132X+9bF#;^%2k)24&bE^}5djDy)-(xmZfr*)0Z8Pxw0*#;OrVWWo(-sQ_pKW-hIIuUAD9x^QYRzfdNkiC5{=L{27A_PZd`ZCOmp0{PoEfi;GD z(nZ@PeIMw#(Fv_i-TwG2bUP$&lfA_2a3vlsId4mR5~As;_Bx&oYI# zuNS8EtM>txzRBT*N1d-^CLkHvK8ZFHSbw5buq+%#C91-TMmI?q(mPLql0; z;Pgm#Q9zWmOEX6d@y%MjkTrS`X-V!@WfyTv@25Hs!I!GszQidsK@+6bWa$IfwGd41 zwup6A&U^c7Iq#MG^Y<_4*f|F4t!A!x4n1qnW2tanUWLAaFXMxpQJ)o-mi!bMSj)n` zQ<&gAwe;DoomH;cn^iI_k3s?qYJlpG{Z(##CZ?UXy0_D*%L-dhagx1jidN* z`}}x?d`DC-T1X{P zf(;CWuV~BI?2bCa#rR2xa^vxEwHfjK$CxR}P$JL-^XA}3h=oiPDo0*8D3sCSo=b4v z+!Z)oQQ5>xie|#nrA57FgaK!Q28yO@!OWRu(1W~^C`J7tzcgXEF~2-jUC%QIXog!$ zy|+S{>?uOQQ5{g|T2VEuyb={L3Q$NQK(RFM3F&#bRem@~^_T}Fy&4z;FAz#+`fDrm zN6*P!^XaRfsLHc3u>T?b*!2maC1;L%4SRq0Dv9aUXOc##=z%*)$i``6X~|hs&@-Y4 zmrXDhXMULBoyCxHw3u{4f;A2=SRlPgGdpaa&muMXN&8N`{gbh%A}>fqsyA9QNLr6I zq2-XB=8ZO<*XZpHZ=p8DSmVG2%&INjOy_1DT3~GG^oI%}yu1PR%S`&Q{^NowQUab# zZhrh`FqV|&84hJ)NOlow87LNc&>!cBynJt_JLF&Ie?r@9n4{-@t59tk%PwafXgvWMXipc86+QLf`Q_x4g?(3nZAlebArH(F|#Fj&LPFI0Ab2O!xb_|_&Yo+DFU$XMrKVN+& zkA*H^0h7o7xsjaQr~~i0IL2#Q}nBgN5QXHrS8` z9)-?~5RSFBfqSl&!$m4Mj%66dq;rI8MeuO*D^~3CNmUoRC#z@$}1yTs8D&teHx z`^1T9@M)PK8gFT9ud>0g*&V4`b@yv$s=_*|Y@^iKXw5-WNH$m!Il`-P&d4;3i3Q+R@JBi({ni^Y5x0 zAyr|D6xsqsDbJEz$bBZ=$KglgeVb6kM zAB;VxTabN%IVZ4p)nFb5%`TQ7u{(U1e|Y9x-uy&!K7zG!i*J`pXCIm*4xMa|Pe6;w1Bx51uurjg#1;TeJs{Pto#z^u#oY0+H!# zU3Fqh(F$tki8(twi#FtSVZKncz`BH6?3RzJ;??5HHZaT&6eQ*!{|>eJck=Y?|G7N< z|5?zmaqo{voN?j1+SHNrfg$XS|b28af_xsWL~* zE!$n;|KWy^p!73PMf`FAZJV zA*cCh;t<_K0c3BBtdZITFp3QR+AU-LY$`+HrAZzjQ&ZCfQa!-oO~gzc=?>CUQQFvpcT7@1=}p{^-_i zRD>&yQGKwKlBpv_b+>HpIez$({(LwS$vtO4ZME;aBeO3r4?!;H7gLiP8BLT{?;um> zsr-?~e*Vn{&Nwy(7QMahU!M$6tgZerKU$Z206o*|2+Rx`w6gd84(jGKMU zXYP_0MuL?e1_@n!XHVjIaH==r=K2A$!`jb0Nn%DaEjKAVk!ckdYfllU&jkcqga+u@ z2^mNI@DDWPW}_}`-N_gfj_PT6re$k}%Yt^3PKWm@#{Wb(pO7QVXQYW}rPE9y37(76_C+U$b420^oJV!kqV$09fru0oJi zhx3sq519!erTB9Edu%L$BIYE~QV^JoMp~LBKN9NbwhRmYQCbqTc7Xl4@Vr=bbP=s~c zfGa%Jk0CY<9TSnULAo1o^j&YLkKSNrHHHCDk4gkG;sk8Osn2&RE@xmt8JocD*rg=v z8J0WslNS9sTu-*u!xWO**ytbr;}A2aA?XdPfjeIw`9Dp`JN|O;=EQ(i0BQMjPF~n6 z3J^lj1k4bIv1YyP^nXzHA7F7;)|cT7!NjS+!VuO`N#U+?Y~DDszSnXcBnDW7LpJRG zEI905KzFDloO2F-E33;Ei+;cNgA-ny@XyYH_2&xLbk5G)CHf&&8e5NFJi|W}1l3109EV zbKos2=4n1(_RKReg;frub>hfn5=PmY$&8T4ft#n|)w*Fo@e{ti*8i%cckVdcE%Mc- zQ{Cs&hrYGKFRNy2!WWND&EwLfOa!{p)_)PPxZ!jGyO~3>3Um9W_d+qGiM1G}MrdqC zMH*88kIDpNqxBhg`%W4QmOqvem>9P-Zu06UmpGQqpX>8ceU+HLE8OMrN_JrWJ@xc~ zI_Zm%VktRqcCY}04Qu`h8vox5kQo6%G9=2z^CV4P>PZ1A8I{%bgd{kK1%ZL1xn#Oj z`)uV6kZmr{j9JWiJfzIjnW;vrmGh7kBA19NN{Y=k3QDK6uW$O}FJG!2zf{1wv zmbN**4mVzn+Tx`46R>bDw-*LiIUc%N_NmIAAH%Me??E@!diPjyoXcjXMjrG#3fHZ> z?j~2)+7oW)_;U2-ZRl~9nk#yTA-_KIzFBjU3L5vp-L7=r;7P?+~oKKmIKX@XCvW8^|2RyKxmiIN4d+TsA*U8SX9ShGRW+&=n!u$Hh~?iyIC$ z(7&p|xOZe4oAbxF$9#>0n;9{6`;BXShc*;Du1C#Fa}TU808Aba5^wv1GlQ1r2HRp( zpVzWsoF)&%jsv$b6Ar*Bl1Z6p67c`QY!%ox29+Rh>&mIT%6bB65gd6T=Zf$+dxmF{ zI7>P z6qkiVb3(+GUQTSaQK>_5d}ue;iaH=TV5JvEPLv^77$-(4oQMi@u&qppU%z);9tA<) zm+1~jE}4{{_~g7xGlzfma1qB7Dm1dSWrhP)h++;cv8EwzIu|!n&zVadI)Z#8? zrq4p5!_pi=*GvqAL&(N$En-^;LRG&SxK1De+;aQZK4VMe`oV`M%daf5!Re&R_T$r) zp}PvbqGq8*ccR3qoAzwl?a@)>ZQuK#3amll#lhp*fm8SM5_|vrVLtS0-FsG)7NIdW=|+qWy%3~RFP*>DTu=IT8nyao3R}ZY+(S_h ziDqsiAU{77C1*Hc1<#o={kpkp4C*n;fbcr-eG3WE&m4myJ zRtGh8QI<)MC2SP4A&iW&g*}S75p9L$@kwO}dB>S}GtyquiC#MSWWZ1yQob1JBC`#` z@hTc#J7gcUCrhuqGO`>b@|$OLT3{%k(kGMmBS_430kUM|vfQ-V2AlR>- zpAFDhWq_Oh+>Qt#XuA_dQZcJ2Ckxc)A<$k+$IQ%y%# zeYI|RhurQx&_LyF&j5WL$+VxZz`u ztF=B?vJE(kk>EPnAi0x?R$+DI-cK`~YI}L+()Qf4p?*lIH|tp%mRo@V;4Wqzpy#CuF2-lY5YEMhm<1`wkt-A&V%mUSK!(AiTr`j$fOx@7Ke z}?e&v9T~vI=@w#F)DZA=!Cz8ul8xwzShwbx~}qF`*>OYIjz*b^*j6NUVf4K z_~r1;;;nY2!*g(t)z8K0u`bgk(AHA19~KL{y1r~TpL@C7V0$rr0Y+`2MrMCqL_OPd z_V0aUy}IJ_wS5(^w5hzCfD~?Hjet)%(XYjUYfcggncE*P+xh9B?2L;@Yt_3#9%gLBOm1ET8(B%CXB+GMrl@3FgXPhEHK3H{RlfCkCQ}5LM-2E*d zBA(Mdf$QUl@XeZ+QUS?Q-OY8lx7^v4nO}w9ALW#m>p+FXJR=TeDJwSFu1?Vud5M3y z=AT}LcC{FIztZ74?@VwJYmVDUH)|AI0Uzf?GiQ>A%?2CIG(cv@06+E3 z>~=|aWups4f95-AiIrVJa|XvOBgU5W02!+wkY}gB23mgbx8|e<)zjKTt#^H+dn#S# z%SFkfHs*4|?`x>_4pgPRFVgES3VAIJLAYXhO@pE^KuqM!80FY&M$i~PGJ)m$ zz(^uon)j=<&F^l@sT~hzc_M?t-L+Zl67wM`Bvc2YNvy@;!x7C@tV0Z*29cI$WjJIy z#j!@?HRZjypXP{*NS7^;<`Lri=SBxP{K$>=6eb|#x@PdXyhY#}#f=n`t|?DKfE+~y zgKz2U_bz)Qk@rg<`h&83K`{+DPec|%j6R5rJXP0L>wq&8rNjU{0w$OOl2K%snwwuG zNZumE3PGwlO{~ji&%7>te(nJcG6FBDs`jw+z<>}bL*^)#FxCzqYno-fE!+0j@B%nT z)+jMELfM@}o9^=y$C0Bq_CIKdnH$zuF7OPE1m)P~@u;t!L{!EU>HV0atqf#zp=%s~ za*t96W8paBlv~uQF4m>`HYikkC|s=!-Yg8ZOh_|QmbrmIaQ)K~+EO$`S7^(};TI3i zVhABxM`;lE7?JNdk?vT?niCg;-iXeciuz=IgL?Hr`t1pp_N0yN>!)@As%UZHN}7>O zQUhD0AHT)M4f!21_`@|x{!jk>i{n8h5az!4^Y7+!tI zJN02yTlGC-VNw*v^g{GGVS_~5MBOtN<#Nv^?p+n?W-0bbK;WQxKc#Lg(cTI#1m&L< zc)g$b@_uVR2Cg3UghL*sxD%dz4}h%NE^7~vecCL~d?V}sKo&9H`ghnP^Z#|K z;0N*E{A|0m%@a0AoESLlvnbe88kdvGIrO0DWW2FFzBRnHo2A*JsYLgPi-W9T9Quc6 zW*>y8!yhEc7Z^3Da~+n4em6SV#L}AJVm=3*e)S*hnvspNJ`(o^!(G36vK+GE(H?#>-4a^R*)y1TKh zVOc~ygG-xkjp955%@g`&Dr^-3@g_aN+s>(5NV%HzJ=-}>AN0!b>MM^1aIffv?_7UD zIyn0Be1OqJ2d3UA!UqWMhVE+qOy+Eu6XARd{rv2=-|)+h=IOSY91$e3x;0o%r|R@B z&r(>4f#nFb;2#w=mjD}uD-aU>eT1urelvP;{)5j}TnkpgpZhXRXq$5W9rL!p^$1#g z%%R+Sbn0o+=WD9o5d%iAsj3bjX`gVb$diTtJn3^ZMUI(=A)%IRs#kF9o0D|&d_|SS zcTT_&kx8Zjpce5SYmn~7Bu@HODjo(=CVmBmRH=?Eo>?n^(Z~n<2A!AB$UPx<*VLi? zVt=dB=x$oVKQFL)=|&*?7YmUBz(R!9K79qFHM{9<4HzexM&R3*({b6_$tdm@*yEV; z2#1)o$#{d^a8FCW*ol;J`^Z_0iNsgc+h*a2Dxe64Dit{Z4$#At*+H6M-frK2HmaIb za2mV-OCQj7zcV=~qb8F3or52nUj~SP+nno|wI#_<}IqTGUbSOvVk^3sy+obk)MGDZNO!huEQx+UZc2NEE+|V0ASn83fJP6f`+l+a5xPl<+{sYq zOnTDp9tZ^GE)R3aD_}GOW&C!4=%*`?#?PNXuV28Bx8I|f_{~^qGdOD+x!H&M&n~Tr zJ>sJY!wv?spfqwUCR_`&H7%2S+@&r%`j#^)7^VXofKDzLRyD_(^Z<>49$4n1J=AN! z{qK>aWY)*OWo9-@IIajT3mPI{zn9W(N+>GbH?^5;K~#a}F@})oO9>t%qqtSXaY?Q` z$XM5TH%_#Fl~WZrv>{`2BZT4a1`Iyv)tofe_RcyZiAPtevu%94J?yu(5Oks}zk~m* z=*k44*Ab!G3DVF_Ci9JM=IGO3xlbsOJs*9wKIXY^hw=pc5{`mvuH zM)uH3$8?&%rY+iZi$CS!NE?(FaF8vPZn^<>;f;iOT#_FtJoGNT*0V6pCCyVZ=gLc^ zaw`&RqNWK*xveL}BeMBJ6ob~}HShFtZKvvC>Z>UUkefP!@LyLMSEQf3C`s${?0l9( zHr>SLpfnRlPjcCoEcxRlYQH=;kKrY6t=I)F{Jf1r)3CG1a}TR`UHY*tFRqyE9#!Q2N27wbU+*Za^A7BrT>6bw^+Z z{?|_L6tBXu{h`76E{xQY@@JQmSVM$y|1f9~ATKJuT5^kdXx*y{r{_I@PB$9&IT_IV z1Pj52810aZf);b*<-{~1jtHz`qK`Ixy)h0R!BA6_n*%8+%G=mp-ojj79vxuLVRb6_ zuze*d1iQSpCwQK0XthsY3e^~GL8d^42w=$UjZK57q9zL9{rEZ0BWEgww^ejDYm+Zh zwCXr~q_W#NW}X(X&@OqLO4sO2(Z89BML!ona&oB@3S3$MFuAHOb!;nS5>pgA0t?l%`SeixULbK@OaQtPX=yJNS48v zEBOMoKO_)*s?`}i`utwEgkY?OW5mS8VJsq-yUgSNo5+gYwC`pPaL4hTIaw0Ns4FFS z2SV^6X$;*pj#C@oUp=Kb(|kQqV_-N(AaGt;!wkq^sR~8RYZFR6QFlCiThAXqu3m4I zhEn}WKK&uEU4QYhIB^1*h@5meP1cf}C|%?3GDmACbDa_@;rA&xvt9-a*T6e9{smBh znX+@p*ag@R`D2+rfo`$Q>lzutnYEI`nfoSCqCJq7;M4?=+bap&2yK4Hs56krdhx}zLi%EdyB6O zrm|K<3m%MX950G*rQH{5S%mgwW~5?7B&DueKwzc}@T|l6{NbddF~D(4ffY4v@YiGm z~3A2FVy%WZ?$vaRaH+XxlpmR3l=5 zs|jMMm<0@SeOvuVOojH0;isQ>d~^)OiDTTN24CAlvA;2}nE|bSV3pQ$7$L|OQA>*O z>ljeZA2m}MIq9oG#Y?<#!Apc1L1_el!CP+@P-tRB<})5xlT)HMFW5Uv$zBv|s+G{- zT7Owzd3vmRkHwuj4pSJPB}_@=pDndBwZT@SH7W0Bth=!L*i@vedXY8}n-CjWz46Pp zqzQv0=?*SxFxWz_D-KSC+Xtxso~Sc{OCMI?pI~8$7r}{q%Z~`&={`*@&uVOamMggy zUCq6Q2zmQ6z1`BK1<~6#pE+R;*jKa34k2X`iZF#OvL$c}5>bQiK4s3#gmql@k_!pX z=4=VvA)Eg~%!zMR7s9HNRYJ=== zRyT?ryjaXVI-A~wO9~HJAqr~BJT+Q?KjRxcv4zKsnQ2X#Q-l+6MRd|MMv!3jXd5vw$bd$Ud2f zCziDe4iov{o>A0k$b1CejNKw&sDr{}rDVWD`L^zT9yJGWqOg>=XXCJykTg4@LrW{d z3X6_&E;S2cg$*qmJC6cjrm2Y7>#0Q=`eZ$LY3r6&*R*Wk7{-Za(j0A9jE&YE%6|8X zugDKoNloRK9fSTevwQkP7%+-X>@E)P8C~OB^M|`IgQR!w@uaPZhD7jq-y|(X} zuGaWT3G~N)j%ObjBMc*#`BN;6oJh3&LAHoR#vD)`d)1F+f30F;R-~0ZS-(i%!HJiVrd9H|_J(w~8Fbld|$%XeFFtiqhQ>AQo_h+dpH7VwQ>ghT}cL|w(yr=m|tykth#F#E^>_d^^D7t z4+@fC*IU~jOo~3G+8ozFB{o$UOfx8LqiUKVlOcUfG^#KdcaS@H z|65(2O_ifvi22|ZsNAhpp1D|-oE36#)*rx9!#+)32to>=C)4>D1Df$i=XpuqCq1vM zF9vo--56?j&Kn$TR>l*hfhY{k^q*~n&+3rjrcbP@vjFG67|dY%QI4TXIgQfJF>qK&%;*oJHa(9#J+Wk4R?4fMJ{ueIvkcQ}x@$B#8$Pg)SeL)Q1Dt>Q^(i;z1uq@>t&aJ<5 zdH}wdx|HkU^e^7pf7)O4kJH9j*v6XXBR z1iMgMx7`p$^2w<&KQLebQP1jP!~6xWF$_KM`)~lu9Y5bEmpxGwZV*!nZ}jb5Sw(Lo z&X}uCB$WZJFE-TpQKY0oR;4owQkA?Hwmns&OxV+Mf8L*ID`f)`wC0Mt+U(n8^WsvP z>j+v%iQRzkpK?L}#RS9Drl@pVoe90p!Gl!QW03H>CTH z&nB{B^y7T>^ny*DB8s<1OC3N2W0Z?Y-5GoBq~h}QWLKXfKZ@RUtu1tEJV2EGTEFmz ze0sJX5Aa~yV7er+v$G>Lu>}(!WS!x;&T}K);%%;8@r1M zd-rV}`1bPPq-t#zh6RFE0*UL1{atc6c=7yNVd_%(S8L=I^<(J*qS|G#?=NSsRljdA z6;F5IIK>BRihXMs(F*j(f{Gbzmjx%YA>VGQ9>T8kdNFUPmUeNm$IW1|)`#7z_mlPO zW6V$>E-ZyGKMf%^f_Joe5D`$QOEur0WoU}Uj@BqZ&AX!P?r5@CMvW}@n~QP2~S5@=V&A%F{j7lY9eo0BN|Q(rx&V2RhfRuH}jgjkD>Aa z4}b<**Il~MExnZ3o+g*=mL+Mb9OXvkkrSCl#)?Y8vL1y7r)AbRr%iN1z9m#yL(yAX zLD7RSlF#dPzby*h@zwM7%`u8!SBU49J8jUA8O)+Dm;N=80ihK@Y4-Q$u!NN^d`p{# zlB|_)Dij~ww~v%jp&}r#k-uk&`{<0sc~fWf3CdceU~pB@Vc%w&$}`GhiHjzvEzH4@ zq=JZ8jPJ>rc}~O?Id$`CVOtIP3~gTj5dLvNRmrw?^87X-Of(2`y)cb__ROlhaczgy zD@)a3sgt}cMjp*MxxHdoWfPimtYD@F!9m+0bbBCqV+D663Sb%`+Don^ zF;NQn?^6U&OVTMlJRSC7J1HuKmU0xL@JdQN&=ATj#VhCXESHWL_-=lI}95K1mww!l949M67h#en@1Y}@k=c{XXMl7BdohNMQ zup9*0eU2)bI)Ra?n3CZ8V-Ds%mvymH8maNm?tNGim;IRfu^ zG>V(dM|cKQrsH6#1im}+BH|@UjOXPJI$0IST(viBOHzubJ|hm9dIb6?^GE=?eFTy? z<7|{v<@6xm*RR5{D*?xO(h*@J_DE&#$m!r0!SCOry~}SH|3HxW$e9e~JK|k_#*O64 zIpxNQ0~ zT~y);hYFf0b;Hz`lpEC&FPU9KsUSf)7!Y2VOeeBsVg-JxV^SKJOApoTlN-BVxgz6G zXs4!O|E^IOKbgotW4aIKhznwi5!&bvn+a5~{Ehc+FSkBiWYE3SjWY*LE119qGxe2_ z5nWnSArYs})@PE8NNzHFRIk?5L)tv^D$oo?IzH?uXx>UNi(MDR(iM@{T#krXJd=q# z9k&j9*KK{f_`W~*gBwKjcQ*I%FFb)v<}Ed2&ci;hJ2--CyeGFJf<$*&Mm|uIMcB#8 zaqxm?=^I$mKk<`p&c~QGXIFAexTQBVmerjtMjr@cYQUWBj&$z1;{7gbTU7Fzc;QP? zTRlb^NF(`9Ydx@iO{H(?*wxCh!BKw67DQ9=8C_h!Sx2WkGq^Q1x( zP+tTs5WWiF+ssHP8>CPHEMi5I7}i2+HSdhKg7 zZbG%;^QRDA;Q{TXmyrN8S+nq#Ll1w9Q$=^iY8NWwKqPlI-o+h&k#76}!RC>Mk19G3 z8w|&+3M4urCkyw&`%f(bm${UO1ai@F&6>d4KRZ4CY#-;YQhmsA30h(s;3uMYhrs;@ z7PLl|(LU&hRrb;jpUzmOql@y2O2u2{RGtLW#PI{f=*XW1S@UdXnBQ|QZxDhKJQXa6 z*Wb=b{N>Y=g7Qv+rtbA4<|I1N9{IY^)pHhl~icP$OYLLG$_o3mkmcQG*cEujPaOi8GK90a0&$HL?9) zLV=|5A;p;^#5kD58DjcB<*G~tH^hAkwGq5Nt2XUK;$|G&RyHeWx;9NL1eBo4L@ZTp z#^+~k`sC8USoIoyTbUO#kvc?)TN{6rMyRqy_1UcJG@>#Vr zW%-U?u>CX_v)e}gdBD{V0;Wl}czm4qo5L>42s7{I9Op_4ZOfBIJU7FV#xgL-pO#q>-6_nW;S@}Gxk-8Rz{$PI2OT=@+Tc;p84h$5 zF}gFHGi3~iu61XxeRKc-5ieO;58Y03WdI9R3hAScS$EA+a$ZVc%)s%#maCNS}ZmwfsRRHNTG> z78&x`Rkq6Z8bPzX2Zgq3xj8C7*wK~y0x+KQQM8q)le2z)^aG0Eew`OHs1L)KG-C4L z4*8Fq5KaSv7)=7Q=8&Lujw;?`;);nweZ&-KU2w8z7Oitk&r z9?g;@?dE1xV@n0U3KB6D46g8JZ5gc(8`gcVR3@n;n2eT-BwDKrQ*&^j7k9-^EX!>c z;WrCsIEx2HF|C8{E|671V#T3@3(qv0iriLp3WWhQV~Pm%72Uo@eHI^@tU+cyeL&+9 zV1I+Sjvk8HTF(N3LJgNh9K}P6FeM{;l#=BwJ}kTPxg;mjaEe;y1?pj-Z7Z}(S{!$# zv9~+3cUai+dziF5_gRiIdshQm2V1*bW-<{Y^|lNj)%MfwyUpl)AgytaCUHP3#%a@r zXgFIr5jEZa;`NgL!aLpK?*qSobgto9jv?KCyny6Fc>99qhXRo z69vI77>_?TI&BFZYd+WU(1FMf$zjO8S^`KN^WZoA+pr*QFv}O_#R?VYz{A}O#OQ?2 z)(x!kxEW_Rr#P)(kku`(05i{q9Ujw+X)MSHh6>^}wSZC`4=*clTq{}-NaB77UvyrC z2psZGd7)?LwP+XN+=(J~uqk3#-B@pFpxNx?`b+JqT;|RG8xq7$_b$KZL#|HjtAk^T z3Q;$8kn#@Xr%59z2Y$MU*P5T%jdK`BD&k}kM5e(xf%%-|WVHvfO!Whvno}<(){$|~ z6$N5kQm`+H_08CFJos^c)WQ_zfA%@v9#xrFT(}U`km%f5!^;WsY3Wxki1Du(L( zsWC@0S#^BTfbkj}$J0&l6<9GEP}{PbSTU%IlxAJ_F2u3HBwu4*>J7ulK+z`z-4BUo zc5fu}Pfn_aGh9+R6pi=94?dpQ~VV`z4E3UgZ zPuTBjnsjLA47Pbx{`d39eE7GZh@}$__Xd&*s9`FR9Z;5F>JCbX%^mqp{y`M?n3|#D zjwjd28eAm+2}T>ERPW=HO8W1Q7aKYn@Z0iCOK3OZ5Y3^|YFeP;QTUnqz#qzWio4V7 z$g2L@r&0Ug!UXHG#zMnOn{KeCj%V25f_GWz8?0PDeW;&tmD4z-fNZanXX!wuQ(8?MKb*q|xcwNIh*n76IGB!GUV@=v~}(zCJhK zc_r7mAO-OC#AMzbL7css*@R7!tEQ{BWQ}>$m#N93T2?ig%*|1gs_4MpYo4mN>8t0P zrmhw*O#XQlxAy87>^WZ$3;;V}f1rP-bo@I^GROZrCi(x5((#{_RE(_up}r_7G5ZcoyK^r{z*+G9WGoHWEXiAr>|m*{0XJ+1Ft4}(Za?_-LJv*Y~#>B2V;NP zB6yKx5B^EUik`R5V#7J%Pa&lf?8`x;86vYHi<8mB^|d|Lex`J@ahU(K^WoXGXbrpT zsE;~r?r88QWcZ5%+!i)rs4xMzO`#f&SHHD>g^{<58&W4`O^Ezt2`@h9r}#DtI<q#v_zRUib%FDDM)F!^mN#09(BTvpRN}0!(F>Y7hL!6C!kvdLk#C^2lCX zj@ROlSW=^LGmPC%VMZ8T$R=WK2TM%fb4=e;kMY?LXhF1wYc3<=Hys+~PdvkVPeWQ? zl38(O)u$Dg?gPQ*wPD$g)AA!r3{TW3j!p82lGYD?WSRqAhY8sVbI+Oetg zw`tr!H{mt+w#X{g~L!_$Z9lQS(4(=Iw#T;Yl$)~ zaB83z9vlLzN2vE6aj?GdZ`M zA8g8vIO@}Z$J=@r?57^kTDusdnTIOoYG9(&dZisjqk_<$2kJ$$v22h~&rGs^Zzy66 z&;$QsqJh!;y4)!x@_Spgsp2L+T+^6 zP@Fjc+&#pr8~UA>S1~PD>TB9gF{`sw9+Mr*Le)k~-LOR(1ivU9(1l}6J^a_<>b9UV z5N=MCA(8E=8^D|zv*1#Cz_~}zWiHx|$UGwQ9i>)2cF{Th6nu^Y>?TIJ`tGdE?H16G z#r%!(C!Y&0(3e4$>D9rA4t2Uy-Zi%M(m2`xXY>OQ(2L-XVN>qFrHTlhuOOsGs)toS z<(1?Pq!_VvoYpvy(5IPwk}ueBNynf)+8o?Gc`G44;SjgqgUNU73&?sFCfJv8%+-CW z(ckMUX5-Li&D9+vKQp=oZY4wJ9Z{y>6Q(K#Wrv<&zhuRI!BZeFMn!pTp8u*V;DimR{l!bD<;F-N&RO1zxW6qdW424tm@oTTBc5Lb&)1f?T2Vo<|b# z``6WVI93*Wfzy+Z$X?}2!ZXUi_hX<9@Y_?7;EGnQ@w!rlMe;)_1La-;*T*H|%8PAz>}>iamnu-syWtTrWW^ia~!>VF<|b z`B=zPCtSCxRo9=mb{=zpecq&RiZPq9>7i~t-@d6O9Dy>*LjygGYbU*Oq{TJmp-d0O2g4*s*)5LG>9(X( z+?~2hqbR}?pU&A!w<+V{33sqjyF2~BfM-X!(W|mCLWOz^icLA}=+>Kah4%V>3s$w-YB?*;=tn$Ai>eVdtDm|=$`oZ_Tiz%rFX2OwYCK>z7<=nU3`D@T z!>v)qRYjCR&!Zs$^Fhdi;igwrN<+OMHO?WJGQl;R&sGEu4qraH*tJ(cl8i?E*oR#>haniJ>5rWPt7=cOZPn;Qlj6y1DYRD(2|9t zx0=k3Vz;YhBACS}bhq$_XAx194cTHFt7^Cd_x_*I{tMp2dqSNAEFiU>fX&?%l=Ou{ zAN5X`5M)Mcq~?55f-o5M?I801St`oBS0!^t(kd`go1of%M zS?5Km7|ttMMu?qnwpwZ8LF+)Kz8jomUfqVM0sAK}D>l&I6UYe>S%N*`9Aw3CRZeUn z0a7VPIu)T%X&91_t2r|}|>g&;=?ZO|gw=8{^S3L#Y$!70wOG$E82 zU}WpV%8kzNCFnK(z0i7bzHnmfs6U(@jazybjW-a6!r+eMb5Q(J%h{Z22>Y8W7y%^C zvtC!IAxo@?)OhK(K#87sAPlD=P42gXdDc0jV)hgQg^EIHLq%Rc8$zNG$lr*Y#0K2_ zrKdVShbl;Oc zjTb{vz`eSNUUxuny&=EFk0jr&#?Sps61w5rGw4UNK-fe9fG_kT z`(Q-Ieq<}EiXiQMp-B#(=4Va3qAi{2oD8;!0>Td$k@wp2=LW!cWU=iYKFB9nB^R2) z*tV*A!6tRWbtyraLPGjvxn?g!B3~=n%C3ybz=GaweJN%)oj~ZB_Xx1 z@!<7hg?F)~B5(V=Z)2E*;xlrd)j2fN7YH^$uPG|8wCddA;1Im*wvlh_5770}V*0uJ zs%c3Jtn5mXl%HuSHYsG7P#@MML52User{k}*;cR?e;OO3$L+u9f7Ua9vW$Yr7?O}u zB_O4WK*-po_2ypvWzaHufVc(Af5YpgA+4CdyqW`z|K{o@Nus0;>aB#NoOpffLEZU< zP_bH*CcMc|m~4eBu0PKCt!czmbJ08I8m8Ohr>J&M=A)Z58Yzh1P4N1y^~9xZuE+?R zBJS$mMo?qYKc2^}D#|d~+JKTcZZsc%#ReD?=nR7jm_?G(xgY6xWp+YMm}bVS3K-zf zI%K=fQ#yJUP<(8l(fo?{rfbB%o2&kv)sdb;s=QjBHn zSw1+kd>6@=Fl&nBU1QR2S)e(Yj%qJL*);csxqJItjbsq5SneX9h!|CIl1cpI&c`st zo4kHG0B*8Td&yv#^F67Sk|jZqypOB3iV zCD)y#gk+3Z-xhZ-5`6QnVnZ-xYlrtdPJjxl9{ARcvO(=4Z14Sy(Bti1WNiI0AUM-lWTB zh175xs)%lu>rGGwa=Y{N=2`$Y&>)MJ_1Z{LGEZID3UjDslVwYre5BCa1oqYZO+$AE z9@Hu4Wcz?ZIg;cbUgj2)_AJM%G<(8j-Vg)uY;t;!Ws*|$zS3~UQ3gW|CcnN)Vjd*6 zSrD+6Squvj=3bDwU)kXNmQy%`rqjVs@IR>yWrc0K|7OF_`R`D;od3fp-2XPU;s5)F z|6f=3e@t^=Wn=iSz}pl_$8`>*;p?ik>z=z&P7IQ*UluOqb!j+t$_Z)qnXCO1cqrk~ zjUwWBvoeSKviY|}ha?#zd1!}Bk0A?gHz77o`_uJBOcjKA8rkAw=__YK=L(ROwDPb4 z)lccorr%X;roLJB%I3s&5R0KXo(o#JAQ3qR*+mvqq#IH`UD_f13-sG;%G^pQ-(|U= zng~-f-|1FNm@n&VA)VT!H$EU-L z*+hS34G1DJMTsEAuAp9D-uDTBc~(hFs>&hDp~iwkX_I)xcB`ZBFP=V~R`Wic-MK!U z+@f>_y^VZ%i-IhF26b~w2z0b|$-H}X8yJxa<5O&$d5al9;Eyde%|?AT$v}B?8=+JL zWh`PTd~(Q1wkjg}q=ceT%i*N=T)8(+4X=ELPT$U&suf-u_qXWFW)DlDin@g3Ec6^~ zX&3gkxc3gDU^&u{B2wP1*Zqr56n#_%kRMd!bNVX40%qY*b9eVq!m$rZsMz&%ny>Fm zM*&s0?;NvRSK#H*5Xg26?X_QK|5&G^Fz4fky{Xffz3+A7EjB+FFfIuxiW4^3Uf>uD zHE9#$==JA0dS6`Q3{&2FZC!AJ=>l;PP$(=sk7il#+nb1fS=0}#jI2Ph3UsDIT0ta1^ z!IrFp;o18>;0)`qq1$xS_6sJ685Rq%T@KiBh%&OIdO9{*dBXkhYCldbCa_+E!u9Y^ z4FpH@fl_MjBmEWmwRe9t)k8FNR@bh4J^{>I+8JQ}pFZ{BC^)!Sta@QUL!K*w7jLUq ziX6K{w;H`vY_Z5dhU^bP618Mb67LHRjsl6pu_Q?@r#*pZ9co;U+JbNJI$xcblG=xu zjO09+TwDAi8IIqDbI63iwLBF)kc+-~0dL~W<`U(1GN61yPaiaSQu2Ov~4 z@-Ct>8VD9U%>8XS1%wZ)kG_%w#IP}DURK33aKAHqy_`slyx9DRl?aU(n)*t~?{mrT z(~4s}54720bY+5bem)#Tx5dgU9-h8NryJ$fi`V*T6GeM$SM0R^2%56owJ|q=1lH2w zSs;1_DHeCL(g0B>Hrh|*7QgK``H8q{Wafn8fg%JyMT`sq2H6h$EI#=cn)~`KH>VN&(U3>c5EFF`2Y%g9MUD{>fVJo` z#+^c3W>*lAp0D;$+`c#TF*6URHTl5D!8+hVUI7c2dQ2U{kG*#>tZfro>>b`1kO>k2 zl?+i37ctF{=*{B7yhXQ7i32eB)^%~ysoiGYMPxQ#ZiU3lBG7gK#u{!n*hYaTnQ%K|&;SZkeGt`l(LT1{ zeH7HSYW8s$5c+;d2%LX0(hQm2ELgB8RB(zR8E8~=Y}dZ@)%8k|c2^O3GQv1B0#0}f zmF!my{ck1>Hep>O<|KIYk@=Ty2BuF3;H^xe0~u0mcc9hwqt=bf$5* z$(|(s=L0w4@ZCh%C_3!qd=~s!nnr)P2P*m(PwL0PRdng+gp5SGOcjBwd~4f0^oh8n z*`H^dW~%Vic0MqJhFwU^Gk~!)oW2W9AtbugE-wsys&YN&=3xMFhctp*IHSzbXCV)T zR;Xu5Za+i3^-f@xOt9-8; z(;XGwf}K6swBxb@T$?zpkMD)P0BbQ$dY0O5g zIR%XGHDlo#YKB0h9MU;*Vsd)~_?`+24!L;BB**h^wA5;#mQ24HfjIp`*vP5mK@x;7 z04v7JJWvZ{S4=8AM1E{qB+nHkjY9QTUVaprdciN250}PO(+-k# zzi;iito_twv#8;0Qn@MYFJ>(>B*stp*+L)NWURR(ii6J7TK`#ZN=3h69MJgqJ}}4^ zHX+B_eW(%uUa5;mmZw8UaFA!0_u;Fu)n=pplJNWyv$1xu8HF;0UU(0IB%TSo)+@(| z$eqcG-N}j_f8|YP_Ch`aBPz-mqt@2+2#ZssQ{+Y`E(m-*Hk2371@c2J+^@gCw;wxq zo+q=H?yI1yYbECZ%dMivMBA1rsbGCUTS# z)`iso9!0(H3q?O#TFz+lRYOZvC+6lhFlA7xC zjIoyUlq97Q;35_f`%fJSD~Fk3XshIwZ~R@5wGoc(OxRFJ)I&Jj_`z|b zkktnkr8m<-B~R6q9E2s$$HnpC(z%KN$RO*fJ?J>I`^xLuv|AI4WB8z6>CvMQ*wnVK z7VFja0IWv9FktpfX&FEH$C+sYkYdGWif{Rpm&fE8lQ#+HKNHfIa1};7T@+#7 z*B-NiBDea`^x%iqt-3m1bt8D zZCaal=k^TW!uxR>_6=Kf+}Eb7@w;YeS|l@3WV3Q!t;jSc^ve}AaJg};oF=+Pr{E>G z)%-vw2)M~{aR7Bqlj&cvYd*BLp;Wk#yE_k|a^RwGnUPr)3a~;bV!z;Ej!!}+^SX7> zI7EPX5_*}#Forq;wSpX>ry~3dk!Yyg z3WC;{6{t+dxi%BG&g^r$$h-W9v%U-5}&s3o`Z?@4!;{@>&I_^JQj;kQk23byp8F{35${voBJ{hME{wzxTWCpF{j7=P}OJT_q$jsIf z;^QKj%t|;b>j}%H25pZ?jN4(C&C9E`QnnyP1gtm&g>(e}Xo#rPriu(KopS-5WYy)H zEXd@kJLzJtdd6z)Wog<_9Ms3_ZGP|Wa~BXc289&Wwy3eYsRhVF@fR#s=Ph%+dxGn+ z`ynjRisTm{DT->(;z9?}G_lvriiEH19iBY{{{4?0mQt|zWWxICdf(6ey*v-cUK6%+ zIhywKMUzHd*bH2sZp@ou>t^Tf?v|J5jBlT}N}4&B(O4TzW`QRPY`o^!qogJ6=2(am zSRNXZ`#XmO5rafhqY_>U>^q5x28Vw35S1Ij_>t4dpCc58Bd-&@)nB3=W9Po{``Byf zGf^qL5?4h5ushZD_Y%?sk^LQdgG&Vx9VH8h7#1-L*4v+JG_;)8 ztII`HciJpXE%h+mpJY7kFdX?p#mbO1fW+czGxB&^0~IZ9(CTbDuH+q$Sqb{e-J;48 z+3irIGVZ{pEX+T;%JaOUDfMr42?lTpg?R8$U<2BPSViH1oEQ5CoYtMTFeghXhqTk=zf#Y|*wSZ}u#%8nKJf!xWrV2l-IW42#-n69k zcndG~M-q}(b-2MO_ACaC3M0(w_U4m=QtAdh-X8TQ#^-& zXe>4mngTj8J4_A!ZQpZpUvc&}W2nUyjr7X?qVM<;6LTze*nO!AQ?hoJUCTh-v1=EC z8q)YG8jeXx*^hn6qy@goJ?S)IM^A3yje}*$(1cq($Cvq)eFtuKeZ%wSENO=7;zCP=-RU36qti+s%NMB7jkc*&>ah{ZjHQ0_* z5MG6ub8VnZ13;CPq^)IDTONJ~$V_4;sKY88Q#k+3-~VeXTe)rdL;?j>YAasVx% z5bHaD%7u@5cqaoHlR=`0XbCTdVbKJM2K$s6&e42;eBzJ{ca~IBe0K_4yqYw!`YK7C zif1MUv-Vr922#-?#W&x-!aJIwUD^&}qM1Tk9$b#qgcIjT&jwZ%-T{G0`X~DFNayF0 zazrmI0SYHCeDk78vga1T7Rs8f=0~(jWCFy_LjAi2kCM@@7H4Cu_Uy8G~Xvfv@up@^`$f%>US(GlgWHQ^b3>RFQnP`>9-Y&QX7> z8*@@N=eAu#qV%1Z+@75RBYMAFE-UOD>N51L5}tQ^Eq#xhUmDCRLOiL_YomB?k5Ln` z(%Xm2)_&IesG)@$r@RG)gc%NYO!m!-96fw0vV?^~j4T)TA$?0SP9(8GU!l4#;l6-f;l4o5)5A~OH*&&1?1&A1vY=i2=DOsR zjCN=tAxP8*&xYo_RNV@x4r%cj=Uj}9TqMnzEbXlZHh)L#r+#xTMKHUv8kSFC~8FMfWn`0{!>#GfU!57xf#pW}9*^VvrD zj>1k%8@x5;5aG5Ioc2^c6-P3fa^CL0<8I^}H8~eMW^1qZn?av4&*&kOBq#@oEBi6d zCj}w+&ma~|*O#3Ktk;NZ{FYe-%MH3WYP|WGN%)FTM`lS#&kj;6={=b%V~fEM-A>!c zmTP2X^)>zT`w2`uqOOZs=Ndv|E9IoW{5;8(Ao-Pw=L&`++KrfG8Wu47$jY=Hk_$JB zvT-7lW!(V_CP@OpPdVP|C+Eqa2I-WL)5l+r;E*UjAVo-<2n zs(zs6dD`(}^(T~;7bfRmsZ?Zxcw_|}?DUXSiejcb5hb>%vW0G!>LpW#ki;k>4%k8x ziJ{K33_HsdG(CAbdK4jx-TOl#Cl5~RA2zJ6CXJl)2EcKPmZ_E$|8)6uwT#F{@e0Nx znwppt<{;HNe&k!sKQ`5Em&=QJ)P*H!G6h%`M3f7DiG1j#`vE`|Sv(|u0tT zZG)HJ%4BSfGF};pVI{nZk?xSXfGA-(uwGQ=K5`$4$c+9U_~VmAUn($kS%vv?kSP+O z3?_YakktjNF>|-QO0U@fzyMUQLh}Dk9shU8anAo?i#?41955#U0K z^grr&@bwp}*58W&eJ|jO^uJ|N@%=KBM$EMq&#{vNapszu4F|u+dcS?JqGaVuD~Kbo ztXiemPRIcGFVNj?4m0A?CZh%@kPQWB7oG7Ss}gN!;Kb>$6A(TFtKnGgzdrh~eQF$%cUPj zGe2wVpA4tI`)q`Pw zBDq2@3j$sMOt0GeW@7xfLi?Y)c8^hYVidPN@ngz>w<*g7Ab{|KZ6QE0HFY31&Tcjd z8QG&LK=|?AC6nw%u4q{SK=a+cLf(a_LuI!F;YWEL)~bd9_TlHybUt`cc<4TQ>TxEnrhZ zZba|f-{&1%mRrd;=SW$rH@Ls;;?A#XGw65Fg3}E7uX-)qZ_VG%SJzKZKu< zI4eQ|wWYo_fiaCmg!dc&7U0IV1m2!dtYo~v;h0kq2CPAqXN^TwEq& zmpz`$T5w73Vz;sP(2ZzHl*+U^GGZoAVc1&A(Xiu^69mn59BZs92zM*b>k3qo*QJBW zbAa4Gm6Vg1xVpQ)-LQ7hwNKC*xU6r-%+J(udHNFseo>*@Xbs^BQ<@zr39$>GO z3lr^bSA($nhc0jl78G0paqO%Z(c&y9R7!B*hw5Ss67~`~@*+h?Gr<{%Klg4QEcGKX5OihmDuv3Xyo8@Ix4to$N<}d> z*VhnMcdJ5BOD5H8Sz?f@ft#Z~@dK-dtHLegm$3tjNi+Ab+dFu(mckJgg9;ln2`BaH zPeFo?W0EhxL4GlmF?;oG(HOeG^ISrP; z+Q-z^eXRgcGU9+LTZVGyH>5-8lq1?m4;4U3mG%6{nWyg=RG{P+;pKr(7Oh&=rt5bSf`;Z*&K%01xrMn?{Cd#)vjDtdt-FvXj1xqKc)1*$07lY_?&qNtS2!4SMX%G=RU z^HLRV;hvGq04I@L?K?(^11=Y#q4*4~@>S5k>r_l(Gc2GltJTB zWc`92TUF@e?PoWT8hgy3U0Qy0rb>rUWw{Y;#?X#ZIY#416zHaMZwGa#k(ZSo_`5G2 z-775UDIYu=P0zSnwspz1oo$2ISuUdod-D&=Z8egT$SxwxF3Jl9HSI(co+vc>;^KC&rRt3rsr*tNez2W;`U+z(zF@V$56&V)Cmbx@2%NZ~ok95|pP46Nn$QM1klzY=G2 z+v;t+tKAyq3B3@5miJd95#{br|3c?!Eb0nNdYj*-qptK35OQn-Qx&b$jF8uh*Aj(PLFG zsL&$>1nO#GZ}$6tMes7&bCDR~7mZnc#Ipg&V+2iHwSz&tNv0$_U*PgG+>2S_&M zCcKZi_2$O|y_sOki&qL+=L8N#O6o*gcOX%RAQuIQyk`Z1Fprs`of0UN*?xTQm`g~B zOh^e6=O|OI0!PN9a!dPi$Pt&`j~v>qt)xdVCzZKKt<_)v?kV_f0IFW91Z28|A-Y6s zDr|5piOj^cFr%Z>onU$W(ZF3bTL*NU6x?wN$C-|Kf-_eK)KvK5Cj`CwJhfKK)(E0L zz>GggRq;$46+NGFm^vIg5195~2SDCaJ2buqO5eaxs5{M!aBV>IGWsE>o$ zmdQvhtso&KUfwlNk!fY;f8v@3`(qS_%P+GrMV{#GLOX&WS;8>qs^%$VN-3sQztF}0y!9w>KWLrFXm}$0%YnU`22>YxH5amR zHA|NedV@R8)&=#mAkk#)ulGUD32M78tkxX*CIPk&9xXQG*f&kOba=Qyh#+-i)(`avFxCPmu~M(QEVYf-23O1VZfxN@Q!b zxs74bdE-x$&%X~AwYD4_@3Qru?|VG1R5r`5sBP|9zdfvU5+y{)&g-5F(lw5aSo>|5 zOr$yzSrWr~WeMc!D4+e+j~?YV#ObJ)TjdUMle(tqg}E!MbOb4cmTLnsj)pu-TWal5 zX?KkN$kdGf(875=1%|#HoNComtG1VU2tTuoIIA}tXTdxMQuWTD_t@)^AX)rz;0ic} zGkY&bf$8<5e;l~1vOb4~IEjZisr7*2IB*XYh3!Rvap^2mB&@pRcUn1uW1-H7*0%FyaAUcwNb+?)u3($0~~r%q-ll_Z(b0(#8IU=B)Y&!Kq94Jf>E4zUMOY5 zf_)Y-hj|JyCxZBww_a)Iif{_Tx$`WfuDq|cyswK@AsM>%U70PtXatVlZ8EvqKTn^q zM-H~O0ruD9j8zxWEulqPHtg7|B0l8FO=v(0u5JL7eE>v9848^(ro4gJqxHk(knQ%6 z>CHB-(33AB;iPh;eE>Mep+vi;0B1>zqclD7N@SWyVwx0314!u7(JiPJ^4)Uy&5I&F zOvyqfCB%7@DON%z`65SZMgCwhb&Sk(Z&#hIPsBP1hZ{N}{N^I@ zG&(F-bT0EuRl-l`A}dm*8->(3#datF*R(GH=bBSQPrsPNb|6x_^2l6y%ry0!Vpe1~ z(}+Q?xbsJS-ue|z+Ihzn*H$7{U5`!fa&5Cdczk%}x6$N_o4nrC^UD|^6S3&Bw*iwN z>s1Cg22(-_UcXfS?5hW*u*CakC#aYx%4?js6mI6GZkH~qP$nkvD1K@g?_r$&)S84> zf=CctBJP(CPzGK3boA>|h=yGexhw12YTDQ2Oh!6w?O55Y0!)o3ss;57<~+}&Q>NnS zHt7AV+Pa?GY904AU-JqYMzx$tp^8}{i?J{5dbO*ghgm+PoJ{&+t*{3YE?#}W*!jI@VVUg zooHxPmIg5usyi}P-hQ7F69GE8F5ko@n{gDyLnfO)Nh(Of!<#Q5d$GH$L`(_1CQQuz zmIJQ-VC+yGevdWYYgO!*F5g;sJhLID9zSovv_F2UE4FhH$SzYtSmY) zqhLLPGzJ%D#JgZ!F7-8$Zt?({s=O^*Ob9mCUBE;CPylSU<42QrsIuPZXwo7SCup~q zbP*{(KLX^HrQ;Qm2vyO3lgGZZA%$}9_ncIqQtNV1zvXdwyu zTL^FYq}Z%`m3^(XpNvFh(?%|%VIm__ETB40X+2o_4k}h;p*j<^5{?_mc!N=TrI*t< z*b+${ce;v$oP*5kY9g3oZyb~1@T7UK7TGU__gpr$kLP4yM2GWS?UZ^Ln2n(|$!B!H z22=CikC%WF;>#VB+3D=F$Nzo4ZO!;qrs@RfK0u7IR{O@XeY#PzukU&aN-jY?Bae!O>ek< zgU`^=a?WtEj&`MdSZ}3t4py|q_T66Br0p3Ykq~?&i4EKeEZRa5ROMjH__6>U_sM(K zFj;qL1wq8La4fdKY=Bcf6gcV~o9r&Qdsd$rf=3_vB%mayj8Z{Q;j$cH2_8qtrFy#G zNMCD&+pufC0n&b25xFL6c|#PE3vyx>!P4fU77wAzFe!ij7jfrF`;<2vwdq=Y-&G zRL>w9bn5wca~CEnbyclGHE1lZ*8a8ETg0j%Gd*X(Gs+@MT+#|fVm_|mQ0e=K8N~f| zbl(hzzLkDNaNXr1Lh9@dMydQYyvsV6s_E`bxM{E!EA+G#_6Cao&?0cK^z~q1OHa{p zglk-#>N^S0$;s3b=SWj(F1e7$o{T_zJrR2F3ME2g?{N1G6cn9rA{SVNdQY8=q0Q)b zJyo5d1I;1B_~AQRM^x!UvKjvnKD!hJ0>GYql z?7BBlLexCT7C4iLvl$i<{0EDq#a%ET-0C}p_VES;_DT=p@~z6HFgBMz9Bp>oQcjga zY@PlzjySD>?IN<1D^w1qN*?Xi$Q%veng^NEE~LNTFOW~eT&a#?X2gDOiB;cin24<( zjr}Ed)th=UK2}O72@mJ(OhdS!qj9-=O(AB#Xll>a*ULQD5^t4c*@sb0t zygf|juY06I_UE|IK~x7qjtqrMTjU}^IkZp=yhCuJGCDfkF|V*VxgffkFF2a7WmW&D z;hx%be{O*{#63^bklW9Z7R?bfK`hyEDCY3-?fIQrE zEtvgbo@0hfn{z6uL(5glA?BGBb2DmA#vGV(_W~0Tc;@-Vr1Y^}%CG)w#?e!&3>bvT z#*s|EgiW7lExzYAAGO&U{mZh@IhC^SvI~n6Dv~(&1NO*>*kk|M$a$arQivND`()c5 zBrzZvCUyC58hK+0sQh;xtvhLEkEY3+e-ItV3_Ie#d7~gzw;4jMa-kTzkVA1H*FPja z7N{Z*gdCeT3#0$VXLN&#`R{~8FF$ue#Vlen8--SmJ*;Z_jnS$CPNcr9NtQ(u}wx3LI zfM*0Fd4}X5j@Lx^_oTE~S|n7q^JG4Tuj~V4Lc)C9gX)t~e zBAB$BRS)7jZ_hZ`@-j@VCVy{vgyWgzi+zp3NY=F>FQCarlQFKkP9DcaTR&NAoP z1M7bEFqiC;pO~gz?YtYKFL{#nVb`GD`d1E z(=D0PNTyWUEq2OkEF2`?M_MGugbnEAqQn!iSpP7c`lC;2gWrurfUqXdZ_n|auVn6N ziwD(maVt!p3(xB7V##<5~a-I zsi9=wmt+wSOFY4$ow3p?I1WMcBgJ>@H;+KaZQ5x40T^fILe3MGf`y)STOSF1SRZ&B zON0XEa~#3d&0Z=&Rtwnn8Lg-f?vG=Yv&t>Rh@F1VjQZgWXVXBlA~tLnHEuGo=0mGx z#qILU6t~p;a0*xL+kSW#ALi5&-~s=hC9OrQry zu;zaUvj018ea`=XdF%h*M0MtGpZ$L+)BksT_W!l!{}z5{VPs+cf5PwMDQk{6?BDSF z1FE{70tW8h4`~%PmFV+=j8*r{uo2zmmYiXvf%&ik3F_L%lcpJtAL66Y@VIo61E~at z2tdAfpvRxif`1O`&oaD zxw4rj$z<%zNE>jLf@jLu0``|W3`naZiPNs`yGu$cb~!dmLba8@+p+PR**_AnHyP*N zcpdv_2GJfdA3i+qQIrQ&%c@=!j@*||5{jwRO)SeVnJ2i;YClg|5V$^WS*|Vy@nWON1)oMiyv^@dzG!1o+7xnSZz z2BiXnTKUvtL7WlXlk0Oj*w*xwgf26?V$NfDCb$&tcLHNx{Mf$VdRnZ^4}@+LZ$H%wq6m`kNM7AFpY-+S9K-`xL`?fheheDjHEmwo z(}1%OETq09J~av>TYT>DlyHmhd=R~Tjj+{LiFtp(>McWVK&YUQkz&_VT4IUJ9Yzug zZ0Lkc9y>AnFe`&YanUAtG6ZUYny?*Gg$7u^Be2;g2BFbk9jKv;m z{4|n8%_SlWt?%O}4Y2K4BzUQV)q(Js>3o1K_}$a}g1R43+7VlOmXVRva235ERc=qj&$V`Fg6wo!dJbrBj@uGf4prqS@Q z!Rm|pdQfDHX#zZONTjXbBsN6G_BO#faxUpvr;j{N>vRaSc&G4ZGeNkt4Vjf!4Qm;j zDS!Xf6c`$D&CvekCl**nQ{E$pl?!~JiLpzpTi*QL6man2#6nMkJ+||KhOyYWe7rN* zhHt^)Aw9Zzwk|4M9+?-$;iolXIbO6nXn=*jwHRL38P<>g@!F)mL|8pjst~xAB!wcG z+n*!@09$}YIqilpdfnT%gpF7n)%ci?#OP7KxQ&q&RqPoeOBJc_4y1~=%R`D|&Ji#aIg>rcM#%;SRM*B@#2)Y{3r}?A{`#v zJ~0#TlInGIOkj)q*N|H9N+l*7Crv#UK8T@+Uvp-Pvs%sgP`a`GS9Qx2U5f^XV>ThT zNWcW~E5~{J_Nrh`UfX+(3!ZUAyo(tB*~_unVU^{vjrN&lvf$X-Sj_k&F0R- zxy|z1W#1TL(z!|ykJ3!sK~1xHMoehsBouLZ=mgId|k}%s`j2CnEbr z3m3lwjjTp4Ac#lQ0uWPnL*EVvy&m0pCG_jDL*#76xLO)hsoUIa1%EviF~Dq@#}l34 zj%*bQW%TikqESu#vCcwsSAl={4Xx7xAeR{~t#9fmbtPg{AYry$W@m z^l(`tJ0^>DnGXy_Q)uBhU7N)!o3$&IidoKQE`kpwCa?8IbAqk42v-9ujvLC==@Z7h zdMzSa>n9fKc~qEkEDDeTn0Jxo$$iki`h9m7o}B>{^`T(IM-p1kP-YaoEUK)lML>6jZ;;Rez8HKAP!+cfw4PphM4-glYG5>LsMjFJTYvxx;dd4cuxX%ovvuWzfc^x$i4;VYEuJ`Wh z4YjIK%EajA_U7?9dGx&Aty%y{+J5u2NN52Rc_pACksgCdV^-oN6ZjKMX9!ty%vc?h zf!}d4i>9qs_){BT1ac4ozluf(o#^`*OaoT_{7K}X2JCns6**CsI{xzrg(v8Se{3uh zNUikOs9a{Ffl(G!heCT*%`dYj|_VOq6B+RJj|9@v)+So z*aFws|I7@qHB*Cg01F;ZriY9hL?2*prmZ||r!#Ej_u>#A70Z8+D88?=*Uk$ON!fD{ zk;JA31MWZSe}MP!C*=*xRTUEIUC#FXH9%fm_Q!bSARJPo(X$a6$(7uSK5yt4tM|GO z&ZQrlv9sm;wkvp)>D&<8lX{MJ&}|6#1&Y0p2#6%Xd2@KNoUlY!P`m&EBa)#1?-jfs znL$Zyzj3hInnNnC9~GeBp1!N`J6d*2ul;a>Zu{@Id%tfYiQOI>V#pWFOad$|)QysH zjExh`~K8Nn$6wS7?!U@c*48@lznZ@O%-!|l$q`XchK6$ucFIs?rzti zsx4hv8q3H=Hr7F_EzFJ8WdP+Ei)eZ>TPhJ90uzW*58>ovtuvAr0 zC_Gs%MOb4~_q_37*+d1%di6W}amk+eo&qns1|K{&r+kr~--f~7%;{FSgBv8tB^Ftw zC(FoT!p z^PUO6a{ZCL0khkh=_Om=U>X9jA8$}W0eYy=VAop`jvhSRSV zl+K17pqq|(&DX^WcG;#x?OM;DD>w6eDgK(T%B>lpaI>Rk0In|(QxdG=z$dI>&ex1J z@gh@<4}ji4X(536M0%1}n|-+6dO=l%_=~U(*Gur-lM;wlckhpx%pLe#^!?T0ePC3P zaTEH`cN@AeuU7TWDqZ)zpTUtnQGccNT8x#qT+@P6H>aRl@647o{h3k#ag^S2q~Top z{b^5x9Vh!`s5bVUKaV^0k2IID+Vm+f&W%kWSr5*KD+=HuU%(qTC=?~&zvrM3_AwJq zBO%VCvZt`l11j6D1$4#**zZo+aP2g9sR|@`6d*&?l_u@mUHC0vX9v1qOD)nIxc=xx(9t9xX^aKGq>(qE?dNbM{5xg+N39sYL zWa4B^;7{%NPc(%`ha+Co&_$5xAsZmdv>%Ah{vqF2H-aO=zW*MmBLT2CWhO3XCZ0w@ znooShJc@_utX;MINs7nh8-N|O-mkP1~0m#PhWSMNL zT%|ks?g`zMazD$gPV`q1Smq7}kIrjml{TcJE+#rrxHVZkLtwOI1W*-+TG9@(O4Wcd zL!`PN(3dw{Xskxhq8ph9;aUA zyTc&2;F;;YZtcoo6gsL#EHSgI-+4G60KIZJ-kFPS=ZpC`SXf5IHGgL+ahc9vnk}d# z9~RV#QdDj@3+njeB2&(q@QH1p@qJ30JWT*SkBYz#KZGb$j;i%QOVxG$mE{`B?dx9&VTro zir-kt{{qMHe-1PJ2W0u*9%lHjmHoFM3oG+~wfq}T8FR#GK?`~E45zOu2_{_ssUlIv z@)yIwM4K6jMuS6l*m+I0Ou~}VgV8QKFwjb=vvK){WZ~sEQ1V<*3G2aM(>xIoNyRh7wSI0k26b@l z>3QJb0q$ZE0k5y?(g3cO(3|D#mg5YL4}p0R{StKZXJoxWw179)oBbnqBx+XYbrZus z7>o9nbE3VC=+foks|#zver8;JiRC{S3(oQTQ{7KzhO9crM&{P6Z;VCGjwK#@D5>W9 zX$WaEi6BIixZp1Hd1PSGpNk5p;Gl#e(IgPRs+(-srcWP*rd^lkKc}}DrpRKojch6#U zZ_8czXOL{_OE`wUagVUOo5s{G*rl*%VC-8dT1IzNn6{6;E$$4oK|4~&D)e-vzQd=+ z)HY}lrULy1R4JMxQhcbrm0(`t;4-8OBp}a)fGBj1!T=10>l{kD6_8}WB8IxkTTiMbwBO6vFuWQN}=h&A}@`_sOuh&#!cA*vX^Jp~^`?vK?hdoBWoomrfq zakwk??|!GY+pV2=+n#TedT*EP z&4zDC^aR^}O`&7td@~=XU8|eE=N}Xwi;ymApQ&A52W@RvOK$cNeHFC?Up=;7pRNz5 z=Le@>UzR`mcSw>USltT)0_^hBc9Q(78|bU|^o}BLOuAy6L5r%;WNT<{Im%3E5ywMn(7)zkO>$F@JuSVT&X!`Sp^|F(A0QU(0NrB zzd;qUtAO5+A9K2uZ4|0FbUr`dcki`mHWiti{st$|Wq5acYXv&?Tl%HZ1tlk1ZHS}4 zIMTjKi6^}un6RKF`_{euL$!2&@u<5`UpHGPy_$Vo>B=U_+@7#1vGh5?lB}ACAxlvV zZ?;E_Qz7AngN+Hn##FPxIq;ta8|3Rg&K5cP3d;k>h25^Gegb7|Gv-k8`JtHgr(@lBv*NS;DjjqvXMJ+No^sz=f-*8S z0KVsghmZWnOz-@=?v^dKaj~VV%Hm193np_hV`{)ff3*HbgMi{dc18-VP^N?o6Xm%( zL=|c^ZWVu$MH-4mz7}b|E?rvSFjh5T8jK-uD5Fymj#a~#r9WP$V(TUOHWm;Jj-M!*{y=(-RSV=Uq0&9j zKoBrfPZ)n~$D4N~hQFb!a(l~aKPFgwYxA<(fM8eZW0LD}Km5bR)DJ-MOz9i^AVsso ze{x%knYclzKQyEEC4*!%mA!*GrO6!3giRPPD40t{J(ZTsUT+DgEvDH@KQR3ERL$k? z+8%TFdY|9pRU2GB&0V;1&?AqyYbsZ>5lB%rISw!Tf#(7i#Yjhdzn~646=#=P`Jeh{P=zNgDPzsY!#*k`c_}Vkt60qpGlX3lG$hmXJ#ncC&de73~ zQ2Vh~na4U6r;qZb}zW_9<%Xiw3bw7 zg!N66BoV=5G#rPX7~6pqXC7R!+!?p>F6veLi)eJ{T)myfa-{<>CNB&cEs!@;eBIwf z3qbO%QS#2U{d}M9LIA&qx4W8|zk01kTbNjw9<>{!w`N`!F3;``S(tc9?5Qe~sQ#rgmYImvIY| zS4o)c-3Q>ji&7Hm&LuIvut^^`LZnuo+Y{ggn{Zwi@>sl6N0H}r$6*4payko=Kv!%f zF0@iS1Qc{$h!6J6`0|#w=-4#1iP74wftGxa4aft!=K`KbQL;HjFEcQ42XR=qV!zm_ zW9_8=(oXVowJp{Z0^{Ca*k-eg(C}Ckn#Nirt>d%9amlcE^0#y7SbN$R`KsC6+VDDK zYtGk9_JEmWmYa_w8qAn(Ter-E*VyE_ylNy!-=k2Um{NY1gf|?|I7FLnG2d)u7>ksY z%v8voEV&=4q~Y*tz3AriP-$J zVCRapaeMx8`VV$y<@8E`EH2sxhC8&-J*HZEr!lR69@{B!Lx3mEE7OPuhX}Kxq`Iq- zSBCTsDYb0gu5t9p3AgILuP@}hCYzCAv4{aA7w{cp!nO==o2T8WkbkuuyN}nia#Xb> zua4r>(DkOImH{p2 zk&)>HC;S6May^Opg-z}cfoAo!)soO0x(OG}**i>BeNN0?R+_%djCbM!yCH1Im zyv_+{9-DX>N;Pn;m=6D6RYfs@=e7L;LF z26@pyjE6zV2dXHnARc$kU2DG9@LBq-JW4$@E8lg|Q$-V015n1IHjkz+9ar{v`>s4J!!Jil>B zcK+OYU=rPRx8%GNNE$N_!M(vu26n|*nNTDFKR^|`fzI)gwC?jmTyU+SP_G#Ir^Zb@ zcsv3p($B8M7rF++N5?mhy4Sl-yJ%c&`usXHu5=HB@tb9zfkeoDQzkOE0C7S@`9jrS z15t$YE&gRJWu$xd-Oxq#-$5s2Fa4L)3>b|~f+Olz?od9?+MY2Cg^GhB8ikXz?A8iV zi`)yS<$r9BTJyw?QQ0W7`T;Y4H3>^(Dv15AMGg!?eaOwXo;)OSp7=@Ak2ABad#iF`#fSg z*ilmQMtM6i=8qgnEmo%LJ&0E;vN?&+FVsGe7Ev!DsYr-_5Lr_!!`hMZHY3<{j^OSfD@`W#&mtXHC0D z2E~|<<|={&(#Tqv!b6ZEp^)Ja)wP&S72w^H2Fzn;$8>@6&CQnHk@2QTxMCnTv+c#4 zJ?5;GmU$24t=RDFk9WIKc{JP($~tykF4s!z=NCtl_zRxG8@fW?4~KdfessVTXfC@J zbu71F7et2R~E#?Ubwq(?M(V*>krd zMQdG+j)8igNit$2g3_-KPDTgHKFKN}c_pNzdZHK=7-TIMApcUeZDWdM6p9T zReW9%pt!M8--TRd?gMy3m^>~bhrCm9YiWndsE9)vW{8Tn%SuFY{R#lAlN&t_kg7?g zf56c_JW$xDORS6zfE57zSv1CoshJnzJ#4^fi<*a-+7;6so=Eqbvk5pqZ2~ zN~tWeW<}6JU*zVco$(m!!rH~~mIcQpGO`z>>j@!T)tnCb1p?M8B}q#tz+8x-7_l-f zVHtO%9QlO;*avx&Z~s}h$`IJoE$1>e_lGn;D9@vK8oOiyS3sT1@@E}o`PNWu$A+gN z&+t_Mrleog^$vAQtG0y7Zc;%yIE6O<4rAQlR6 z-@j|oisDq*5{yN})bsd=LHl*_@j+6J11$2Xjx@?&1Q{zru-%PH^Lh zaX6Rg5t=zh&B1F}WZlM^@exp0bpb=)_uh{?c;>>reB#j^`s-f4K}_$i=Q%^yvH!RC zk>A=lvS)u&8C#~@TkcxyD7sn~FZD1}MoT49WyfV^5v}Inm~?V(2n!>g8LXY!gO+-H zxjd!bh)e=b(^#fD)mUGo#2JaXCc(6?0>hySdKkVIp)NapZt++>*PGPZRcoCh#7t2% zK$wo0e7q!NtF*50H2NqUNVj~0kU->n%2TwT6GZ4rcId8pb zE164@CLU^uev|Vk|Gg{ExDz@C>s1aQ7T^m`esJjD;{DB4JuRuExIyI^s7Nfl-?@*8 z4CLAQCGiNcKAwv#Og7I+Qdf%a!_JawL@N6ctIPucrDqtaIH=WSIkJf-D(1d01K43T zFTKOY?i+Tm_frJi^TACNaw8ma`scTZ@;Fc|2aYcojP;$?^Ic7W$m(WwMK8ZSsrN@X z3fAZ7Q(GWTTl>njYwvY;xG#DWs@$q?%5S9Qx2MSm?60tt6?9}6hB?y7w=U0fSD+ym z%%zJ1VDlyer-%>ONgw+$5x#b}oRO>MxQk(as+TLc#xX(lI!}=F88DoBKhQ|d;K#X9 zS(|p69dkZfd&!_gj*L@h+ zH?t8{tF85mjo$iH*^%nO90(%{PwIW`mzk<8y$?)N{vsD&L7~_m8#3smHeOero7hcC z>GbC-lL!{TxF2kZZ}M352+ImxZ9fBJ*jPZ^?rLwrA?X9}o-R|}zpkGTNPYAwg{1T% zcZIxXo~^C97TQSIQ#&msvJ|+;3+DKUf}^u;m=eqi2$@Ltueqf3VDzX>z^um{!6H|c z1^{YA-p=2$RWpVHS&r(-$EMKBirA`dOKc(sBVy8d{2zn+bwuT4JFw!}s&+IPOl1ZY zS(jr?@^odc9hZ&jjQHh9QW2m30LIkx;OPGjF#dNlVmSYqq@ws!$kEPT(9T`!A6Hp6 z76y72LJp?ycb%UyCdL*9|MrZ$fuo77Ga)0}|4V@J{}vPPpVj=gATbLI+kX+lkAK_5 z?hPUhUA>}GW|owh2YDbUN|a^j5bTycRH;S!sJ{UzOovm2&xa>k`@P*ePr)Ysorw<$ zGDLbuSibAFYc0mni#{FwlU90qDDI>%v`Abp8}+x*pa|XGs@%ipUaEoT)sa-jB(s-D zx-vjFCmDiF9SrSlUPTA%z%1|OlIwl%e8NL#Vi9dft|99;9hBWfIm^^J#9Lo@RNxl) zXO`xHc@$|?OjWdRKx)ZT=~r%P4!i8#VS8CBL!(>eW-%oI+M=xHTj zx&xS{u9ZE+KqlcR2aAI_>IXJ@g$HZ?N;j~6Jd0bOu~8X|D1c8EIjycayj^+Zl&cy~ zO;*SQ>ku%LKX-rcZlF`^rSABJWj6J&oW@#oqSM4f6c^fp?~(Au8=Oj(Qtu{_0&kCr zF3n`q@5h?)F3)EH2P_b|DA%TDhIm$JtgR)E5 zIE;~$IIbZT9gp+DK?(T_gKmhBAll6w0yYh@QiCKN5fTPojNUp;i}6S~JdndDgOtSx z7gdT(ESlZ^fCW`D%}6vxc5ZGj*k$0-VC2J$#~e3E;H7-%Hxv0Kp}ViO0xo4CsG1!B z8!|GGfxz#8BNha+uTBBCAN?iIAGD4w9G8s!)j=NKpI$RsfDiX-`bWIP92i}I+N?DQ zzEWWeXL+T#17a~kLceKbpke9$@C`&&Mu?z<)A;d>2o#U?bgSS~^Zq9@J`23Lypb+1 ze0S3>e8ABV`oM2<;cb|Z7Kd(*oEJ|_T@rYX`D74?VvaDnTM>A05f1wN^PyiWSQ~Zc za-TR?)5r0DG$AK?_=UrOtGdZtGSIu(8l;GRISpaeAZ_qh#v}Z+clP+4pv<| z86wMc3~pg0^fT`MOW<+JLO`bA=Pg&dEN{ihg2Eo&W{kgJ@AS1MxQH}d<;lcM@yO8S zts2z?baus#mriD%%Od^us_wIunvXwCBfEV|z||={J$tU$!{k?kHNV@ZY}38yf?MZQ zSNm<>hHD+?dys`GM|4-MX4X5~$IkKF$(dagIQRLkr6O!K3)M4w32+k3ZX< zo_s?mM+#6@Yac*DWp9}_46U4Flm^VH0Zx|fmo8I7E}zEW%k(jYIc!crf*pQ=x(fV< z9Wy%Gb+R}EB)UpW5Wqc1RSxbiIQtbFDU7Jd9Xg!^Zo zbLNbLAf#9v>~(-OZQuoC4SyQXnH^~JLRO-6Q30%EYmPC31au5l^w7MKemi=_4XbU> zdE0?wg9W=2W%?jQ%vtXc;S8ClE~K$}9V}l^6R4m~>ZTya#ii{aV z(olXMRfPmcVLdd(sXwBPE`xROp0rWX1Z|hz=2rWeE&XKx3RF?WV+F{g5a`JIfp^R=-9)<)v+?E4QG{+XiN-6a1Z>^YG=b2X5lqa zuKGqyWm~rkU}Ya;GqTiBo=V_!(5`+@skQ$hQ11N(zJak<&q3_B%9>VjuyR;TugUt+&63N z)yY3XrOMx?>&QBKU$kBM?3m4Ci|RFZu_?nJ1IM{Op{ z3#h7lB{1$R6G0DEY}=>c)79NfjG0Mv7-qpqyu?MPq{?^=h0GT4W?rmQmj%#e&f6C` z^Dn{dwjx(SIkY7=&@$;}&}_e-EOIAeYg1<}VitbAIGf3H@`-Rwp%=JJ7IOP@iPK-? za{GQYZq%RaELB}ywX(iFId)=E#$1LeDL8H@B~L#^CRYd)VN!@y zA>e|Pi6yiZrHxRBbNx&Q{0l=>9XvY;O3#8PgA}mOpBfvz50^o0BctV)wxCNbYG(;s zMf{QAC9(Uy@{kF-u~jA@*!#Y}&c47C`!I=tGC{J=s$Tuuw;fSpEBoA{gF4DI^=Jak z*-v~MsNPiSTs3r@RlK~~!uEg87^^faRI+PrugXT#w=!ascjx5FN}Kaki8n(%U|s_ZH#~U1aJPK|I?`}!e2?rG`O3zxr2Sa zm#6J+p^YLJPZ`Q7A#DVR600+V{uC2q${L~&m0J!o$CCK7bxeps$thPKfE$Kx2iVtw zyi&jZRf&3IKSRn_0*Yqmi1a0}0#79iMDS>G~wF!8{3PPvL}?3P_&le9bj5?;B!H*%xWrtUUGA|cEm z-CK|;0gxAyc3md)cUt{Sd9z%x!GR9w65KBUnsmp<<#Sw{fQY~a`58cpaTQ#INuwT) zS}`2`T*QBn zvwqNwTB1g*q`nC~09HeaUgN@RrWrQGUo5$>Khe=A9p#b^J=ZQmkY5;u!TV5`Aq#}S_6*RM7oo#O?K!*%BL7T&zJLtg^p=nj{S0XD16u~m=x)fiut zvEDBd9)f_rZ++jUfKyGV)iA^sa4#`oj>Q^$gOCpq*$Py8ZmwgHSHH&vbA2G}NXQV@ zszbXQDtzh;EWDd~5jvzuxFl*xj9047JX;c$GlRK**2e^ILxao59q;>lB)P>?>KPL< zX6G#SURo4TZ4jjl4>Hn8rlxlajvu0@whIsGs*IB2kESUoBB-Y@C(ljFkZq>$5i2Y> zC^?3dL~E{;LLX6-bEMl@Coy}XOX10~5#uBncCM#&C?a0Yus_Ik`=sZ%6KUA1DI@Y( zd1%q#>>FHhIaJNps1h0;;fN?dn@u^vp>-KpiB23{thEJ~1VPtjJ$G8)v`PcKmsh>0 zUlWLNC$*Qdbo%=#t306FusMu1_wDH-ULB$fgBX5NpxUitws^s&IK3`gBtZ@E4J>MD zntS3hXBKGcWY1l=20n(t&A(r$0?vw0(2FoW`%mG#^kmN)0~`jGN>#Jeay3P2VEdJc zwCi%xEeFa<4QhllK-R+kiuT}LB9%`UE=aW2d*{rRXm;aM>QMr}(=c5tp*V=EQpz%@ z)dY8~SMS057-8?zN6KMdPx2WCs!>a_2q&ZQl0ZG7TV?0sX&0533*w+Qxt!~4lG2B` zK~dK6_0=MHr3+77Ad#F_S#>4!tq+|%4cDMI_SnU2g|W4t?(&X=ZPT~Q<7@(S9p2Fk z&vA-lkouh0cnxsH#hHSAL?r~8n>Y}LnDv;1Y3NdG!c$9to4ej*_ib>OrqJdzLWHCr zhbLv2qV%BgM-_(U;RAIz$I}w#_ss8=1%*VRST#QQqJ5Trl-8rr@d$bJ@Ct?D32D-n zsu#ktA=xZ8OFIkwZR1ksl@)ef1Jqtm$GH{cweVE)=BGiz{*tEMO*>#oIm_s=M=QTv zXe!!rt43DP(G7JfEw`sf;*LI5${gF{)36$h0OXG?Xe{QunJlh;TXs5#i6byzLLWSJ-un|~Ngfyo#bZlx<&1A(22&Z#|?=bK@w z;ZJ*zaS$a%(biLCP`q7L(%sEFq*}wb& z$9?R~gJA6Gj#i?=yq_)6cTuj{CTKQoLCNJb8~6#|i(LEToc__OlKFZYIs6Sm__}L` zguwDwSv`IPF+Em08%^C$(38_pW{C76e%F%mKo!@9Q^lFI9f?EXLgIC;aVI%4J$eq1 zB*7X@PHO%f54N+0d`6~CMrP}1Q+dX0BuKyx7gjl%q$gJ)YL;w&KhbxlWKY#<0-q*^ z%u+Q8)sYGQu6My~^WZG`Ox0K#?I z*py>;$MHiL2U!T+38S!PT+XLkW`y=q-s{iQahU@G>DisMsq5JTihCM!J}M?lPAsCQ zG!F9(csr)BwA+WL-{Z@x0^Ez*8V*=SImhi`>bmK?Wd;m&7=22xZg`TZAKkw7LO4-v zbkW~a7b3|~^6zSdkz^tI_B+|<_IBeZNxSwsohv7q4gK0VYMZOMJNCva*}eIW34Wt z(@`Zdv3@?SnR_cv8skaM8`7Yi2CtLmgnoc*=$V@2YDkpr`jS)9e3Url(`ZnsplC2X zpX$4_zjdfjb&faFCRSY|{jJEjly~}rOq_B1lqjMxJUVWCbf)#*SC_J6GII_S{uQnR zT1zO+Lf6YP!Mlk-lZ?&B{obya)M!<|YwODV250)$O)nLJ8*M#muDzXJvbO+RJK`+G zE`f?hwWN%gI8{+R;}#qLbL|`l0kcYDzEz${hq;Q3){Y?ob8vv+?P?5q6HS^Vm{8N| z4pBXWz=Z=j09k-Dl8^zucLUA9@ES-U5tBzK{@ZGI8H*a3lp_8t&mqAfj}$?PnHWH1 zO0Z+*=Jaf^haOjvnD94JYAAS3EVtf?>!f4NnPbx%8G_%QMCLZW z%4mn10$CsmSI>mlS1&Yc1a1Id1Il2=rgpDI zVN%;4?hOsPq_zm~553q9b<%nD=a}{^I&_G|T~pQcb9T932Ahz$mG-8|44UgxeB)b9 z+5C?5KTo_Nzplcqn%TzStH%6Nt+d($X`-L(TYi6~ zdwm)tdaO6vs9x_BSzL1-Mohfk&h0*&9}RqcE>MQ`X*pY{m?hT0e4fsORrhB&Fm*=z z=_-yM+FTuLN{i5E=o>j^oUS^792^gO3d)uR$gCvF054|5$4`$9bU6`{usoSpGzB)` zA)_$h;pMU>>mx-E2mkOKyYM8o^(4OZIIY*(RDl*_qV<|Vjj3Q;e$`E#IMJcsL{`}@ zAffobxO>akNP{3*(9AGqW@cs@Gcz+Yvpt6Kn3);J%*@Qp%#3Yj_V{{tb*EctrFYW% z^K?@8pO(71vMMS|9baYy0Z&E%AQp;StvMK724-58(wtIz$Y%d*m~Q{eyofCYHhsph zi#`I^L5S$&B>p2Z>}Y~0@9LCh0nl~=&Pj+C*V*FHAUaO(g|>Hu{Fm)JoSKZ=roUgJ zh=7;MI6qOfpiQ45d6E{Co_iIjl$l7WRcY(r3xkK&g3UBof@pG3|GiL)yo( z#aGR)-KPI{Jb`$HcHbB^GPW|G2R2(MnaZbgsuJ6eXTr7TxR3*{Cpkp9CTq z3UC?1Iu8w>WXhB17V}KhyRnu~L;u%v2%?yb@QuSt$pfDXdv9s!r{6}pT9(1Z=E22e z#L+yB_TDtGzs)wekSPy6hV%@NEcNv2!n7A*8i92=77J60KmRG8dLqojwGf-^1xQ;pjfGphr|XR>%gwknxMi`CK#!d4n2OIR|l(LC(-?R_U+!etVf-R zCB%?U&1ji8WZPgFOlSEV(dZNDr$xqQ-1sLb^ozDQjXW=QJd8y(GnrPrjlVBtR~T** zp-O8mXZg=Ebt$2HyvT3KSJ3XLw5%SA+7121+Ln>lH-cih`2aL{t}wJ_(Qp<^cE+Wx zBW9G^moFQ?ECNCLbuht{y(pY;7FFKWB`5WhmJkjor2MtKQw9{gtm!V)syD zzTnudC8&~4AcA8Xmfo1NbpuNLg&xDM+Mx&Q<1|sHDk$QOHMs&*2~Mc6RPHhgidDI) zHtlJ%xkRZ`?(}&C?9n*jw`cb}A?c1^__q{*QqyuHvBGcbUwH2H!a*7ZEk;#IC63Y1t@7+ zYDpi)4K0TL+Rn$+=@j7|bL|GnhYhi1_*=nQe!+*8xa$G?q)k4C8c1)##zOWZwhD{H zTpf;SR%57Ywv|+4Q$vgzpo_vpWhWkdB9>{~QZ2Pdj;cVqU!*V&u&y2p&^ZBq0(~X9 zXW0}K%3=yaxEYB+Y_SDzdYEPVQT z!Uh9RjY+uXSQi_cHcKVaFYOO{K7*2j+phCqO#+gPc(yy%r-*v{fy=A=xMhairW-wh zYy#0Wd(?2=KV{%N(L4mhj`rS>_)7A$Db)b)J$)SrA1NHKn7Bo4BPT#=NkioExbwlDw}VZSv(0r=eHEzebs_{>SFj=EGGD?XoX+%?H}kOY#ZyPSL^;G31k5CR$5X#t3H;~0T^Mj zrLtZnj5K+?7?^Yp>cR_rJ8Fdqy&PD>>BW;p9EG#TWtkK!!UrAntd%5!>BtEKDws?S(ew)>+0OaM#NafI&KB1x8tfBKMO7yh3F zQ2&;bCpQnWsL{i!(T_wtl0DxbC(SB1aN*ahvugo8i`hn)E3-Fz39JYfu#McKwH@5p zSTR9WfsiW$r}Xv!ii7bKW9(wftw24hZVme!i;Fzq#5?^|BYqj~<+k zfgi4EZToEU%31aK;RN?Ek;|+GykX@-^x=^2^&Ew*MC1vb2BznVnE&qhUg4eb-ET5m zmy?R8Dw!paj(l>DIAf5Siy5P(q57s;zVvHd3MzG87arw*IJrz*53cPvPc(ktri%qi zlcxi_`vmI0rT!l8{PFT#bFW+b!)*b)DR$=xqz0IG3CZVV6BS2~fDy^#`ou$M`isY0 zG1Jpw%57>BXvMgkTX)0<=U$2WuU9!fT#MV_#=FdbsVpIp0oSIhDpW@u(fMQ}rVc$% z=60AKm@2j>GsxF{urP6?B4i*`%D`#7J#JhSVEMRd7E*`)--@*jBvj zTInJ4U1MnSp@p=o<_gp-an%Ez|oMEJyx3`PxC#3I93}yeC8s+(vS5vakR#71?=KWAg}yB&KRuIEf^2S~FC#JFrF z&@WJic?$;9AB?l{yfFAITE&87RMnaXbkkKJxARl~?WTsRb(PT4ihEQ9UUy+`7^;cC z;YaKz&Pl;NkA@$C#k8h~l#$U`gk7Zwwe~bQ##+4v8*v)HfMuQdnh^OnN~L(K-n^6skjyvF8Pbt;<$xvEIErL>HVEUPi}gI&aJYIKJ0ra z3vNQeusQ%|IW^|cHPve;@C~#r8GuW--SmJgyedq#;0=7haS>UHC`E}Vl|~@3=-)td zK#QNNl*D*#pDsEHK1oPmFBcG&lwh>z&qUj(J5Nub>nt(E@_Wdru-)Wt{5qX;>sKqk zUs+$uS}OlNZxlg+O%ucWHSlj4cg4MC%hvqzTdT5$e@uFLo8Q5;ocHD`?%A1P@wGqrdI>6f0tA5UQk@xUiW%3DR%|TCLCbKmaG5()joCY z5N*yG__er?Qz&4NMP%t=+na`E9V0vOwMHXMYe7CC+qY?Q(yt029a?pUsdBxFCX#T3QB#47FXh4X^rC!52@hNviU5;|58vcq+!$SPl+qz*(B>wMqBHW_nFXwi%_Is$%8WB&>!$> zH5mHaHXZva!P$Q07P|qzl0uP8o>p(BtXYMiyYl3@c{})3H~0n9O77J@O#M6du5!cX zOqF-*m)i$7k45Y^dg#`4Hs@fqlcufaBF2?58sSCmb(X9_iW*D34)9$j$_aGN$T$Y- zd0Z3WP^=QDzxy=;Jh`URIz93t6099isVC8>=RlE0=vTpy0@W6_!RP&kr$2vE73pEC^Rpfl$Hpr`v;T0x zlxf`7!qHf%V?wEj`brbcl1A$QH!4t#IV&3Y6Mt+2lj$!LW*!LTBk2`%0tARHg^3Sj zyOIxJfoqk>D4IDj@>v%=wKK%RcK7cGqG??43A{yAW0h5;=gTzX>qDsT`;r4y>Q#4F zTVMdR+xa5h4tm^Rz85yqE%n8s<(N5GnaZ%7jj;)(a@eEsl(q`b%~-K{HoQEnfXk5~ zTP6(e3h$arhSeXW;Kwp(%zASy6I2GvNl~G7qEYj7*^GT=7)crNj)%f54~v3t+)%a~Q6Jkl$M^3@i3)Yd#$-dDePicowhKAW>gNl=48rfKt1XH|4Q=ey&`Of9k9}Y1nNewd zZ}q5>jx6l*^EDlpiviA==7AMBLIIl{g@3Bmltfe;8Z%tn!PR&zX;!vTlwNiJSs}Gf zDOTW>h4kC&?Y*MrWK-tAusJ7)3A0>auI_!qR->_|D5r4cbM^Di|P-^Le z)K{7MEXLTtP`z1cxza@8>^KBhu%5k@tb9aGexe@{q07w4~#<>LFqy2}iA8hf_^ z`Qpo@!{f^xjBN;$nN>J5M^l=WE$Jrh8J&NZhkkiCB}4dEN1RD*p7jm z`G}bTp-4pu*?EH&>Br&yYdz2D?JzzEw)X#=k@I^4 zp<3K_bLX@$MX@NaNa3|7eqvCL+tjsC@8+9jy4A zk!(wflKtekqYVYFqpBT^+G5dB+`j1#hmj+u5*Yv<(cY9bH9O5nwn5Io;>BH;iD$0M zH$hwl2=057e=fZ=mVB2KVv$b9M^)H2j5I|BGmQ;g1s{qa_mZ>j>(Y3%2EF8t&iYBGDkkQ5`+8c5vZ=xQ^HpmWKoV=?tam;o4MvSWf zB~jELO_ZmFXIyYHoFUH_b53NTcbZg_A3Njko9AFG^qKT&*PXTEjOtwxo;!!a5HHPaf zf|?Hd7%6|=y((Lu4Fc-a_NEMsTq-^juQSC&&_TZu>L!0Ra1P+g{4*nBdEv?YCvweY z9~ysYdMcPL^xw}(%EwQZQv%NgJErlLSf6sUZ_tKbd3YPzFS6RSMe6{L?%XC4z#xp3 z6*exM2DCInHDLQ_dwq60>_unO)w?C+d-EJl@U)S_cg7zvPv0FjZ*8Z4l;g9O>(+Tx zpyGFEoguJDWi-KzfeL1s(H9GcRVY1+$WdsI@MEo&>3Mdcczj` z<-*?2ap1&_2h%=-()m6kX*N4>&`C1LI;1ro=+)Awqs^B{uTmZHz7P}f4o4Y9%Z*UV zgy^1d;V5)7GeGhZ5OzdLn7189vOrVSwL*%CXSQfQS)sASk%rrj;xq8IDqQ~KmrPqh zVmG<&0(F1Lv?B=Czu6M5&51CLzTC?RmXsL2=n0C1`2AF0@5>Gji zHUa6a+}wf0X4Gmm0RuO>Fb9wkO|V!TEA0LEBHY+cyTD zl4MkOqOGXOC&%rR;kH|xtUK?tySHcrKLu(<^J1rsr!{$@-8i}28jw{?Z_P{dGqy7R zZuF5(mdVA*VCk%ELn}$S{?n!VM~!sLB^rq`WqZ~^iOHcK_9vl&R7+)?PK$m;^Q#xj z4lP>trH#|_t#}v%63dVxy2Mj(;&~*?8`Nac_z%V#!Q=XvfSHHG zc&@uk$zkr78^=txlO88XTDZ}aQ~47hYLGHzP_1!6keYiKXc>iW>mG`A2{U`0Vd9gU zw!k~j56XST>3Jw}D(fb`(=5L8mcI5n7l4n|&^Ye;gE=WOUoi=}q z%#G>alSNBb1lP7lkMu1TdA%hWI;xV(z|(+UW2PJu+$t> z@l;MM>reh{eB!dxHg>0(aV%^yi#u3|2Ly(%0=;(iCE9oopU+(dZ?BSN)^*3GTcvkc z^>${DL%BDRjd}y;#fL+quA8o1Pn^&f>z6Y>ywSkjMdQRgWs2_Z0yS?&>40Nbd`Uw! znheXw)!^3`s@6XM%kh&7i{fnSwoT`b-EN-g#jo!DX6-rLDM!oAD-$|{Xj>F3x;^!| zVcN4UxPHqx^R){L91o0~?M z@zmrk78*bO=>=2HgG`G4AYO`oc#mMq7rA;-+f>3nsBtD1+(!D%Q5KpjU^`)QjoBabRd)v$a|}>JRQ>q1`8wqmmSXvIg20 z7yqWyqf%zwqIz-|(yYE@b{g;08CJNq7VEmnH#60m>%0#thOP6%KW;E1vm848*M@c- zEct-)=0a|j+t2Xo6v@n4>%Ob@n48-sJ$@c6?Nj;1x_(~%@}{M;FWWGht2CDptB@fC zLDp_Mx}1t#EtoAOa|nD3=2~bhHH*lOaKQ>I83Y@0^liR;UEK~JPGPrRmnmx_T9O;Q zs|hVL?&R5G<*{ZyW4sO4A#Q~XWMt&JKN~2>J>{efwIwjeM)brbJn~(lF9QkI*9Fin z_h=jTxMoOM6X+Uh7#e1f8K%|5Fv~{VafaXHd91HcshZGAyO+GPaT|z7DUK?`w%^0P zw+D}pPQ4^IVlT*-CoIb3L7T^k=TF6Sb5~T#B(1p{3Y!pB9(@ySTGGsd*bENTSfP7; z`x4;VnhH%&k(bj755!mDz)H>$5bR5W1*u3e9Z032b zKW6MZH(s~L%m|OK4syn`#%K(%Gq^@FkV1mP7BeJF#E9fbOse6=%NPGi;H_ZG400ls z#>Kbllf5R1*9$d+lPU=~iiHIrLzIi*T@&K0&!ugFuSu(#rLW=`)Ma45Uy3^JM%6eE zJi;P*P74I*(5+)coVp$WPttudQcXt-wC&%hYvG~>v1XSD^o@um16+a2hKrOr0guw& zbHV_1*{u3=u*w0TyNO;a9>aR6;D{L{Wjsv=+&25|{?Ydi$ zO%h|*JpQfJ@(SExJ1zE^nm};UWVT%YIC}OL3ykvzEG_5$7uIF0; z9$=5QCh}f+)tAu2@xo@ye8_&Uh}khc>&X`P;C1v;7Fc-{`&r2sX4BAyu(itEaQ(O6 zERQRhIhUbW)(Aa$Zv&F_K2NJBsv_TkHJWIoci}!2g5@&GNHJ$62)Ie`{n`Lkn0x@Z zvL3e`K(q~)5^v zZ;wp*Zz5%RbpD<~B1j{xuQW5!EG{TWZ{;tO8Kku?f%t8Iz43VlVChyqRxiJ&wwN!Z zT|+jHb7E+cHyomMr@0NUl9JSD+;}wKYzo|E33<6T2|4jBF9g67N4h{LXF>qouhAbu zuOfRJ_-lHZ;<7$B)Wd1#RY~Vn%f)Fd#yv0+8{fS;j#q1L*~sW;}J}es(o5d|oP!mF3 zgCVf9WZ*$wOc?=cz!+H8fY76w=*)=O-0^_29v&`>gOh+1e`zc7?m&kND}Yc$IVOnY znN{Pb@yX&b;%S; zRS4&)uZqzNIE``%Eg6B7@f4uQz{2$|nK%x>aOrlcTBX{(4@#nPRQRhBtA@rYBst4T41G8~Ptu~G!0hz$LjHol4lOXk?4%(OrnD1vZF+8lMpU7MVS!nMH0ids zrUWc&#qllzW`2~v!vtg>+*|e?&m^NE#Bzb9W`U)sERo&gx5IQ^&@R(|y9T~%b?>@CJ0FP0$ zy;)b&%3JG~gBLla4PHdTb2>F}q6a0vCN5_!H{(0fGoKt5J}y>t=LtJ@aF+CFQDfav z>T2X56@hZ@*B7aZq%^&W?_Wek(Gz53Sp5n?kl4 zcq(X`l{2tNX@X-T@s&f)v)fZ7d56PMUavBObq<#B~?m_)gJfK0P6#J-`~QP z&}&w@z21bb#x%i^^vyM7vJ1IH!}OYeMV4k*cUL`(Zk<;{kY@j=0pN68Q?n%U;WM`Hg`1?# z3gu-zF&0N@u?gpUAO_BF-{#7BX@@>crd)JA&XzuV#M#A-AvCvuaF)h^e_F%N+VAar zpy#I!Vy!su`g8PHzFIa79;;TsgwqwIEyFTi@%sW1Xtwho2u#(N!vG@C|3;y}(v2>)nQ0pWSC(XRb zS#g+Kq9)IAb7CQtADg7sZ35R-| z5B(^EVMka2CS}JgF%X5^oJ2Ajse9kORd9^ht+{G*O11+w8pDH#{F&;*AIP7VY(33< z_t}`pNw05UyBa=R6fQP;##`-@KV&_7NUFV$DzNyTi6!ha+!2^0Fmr)Z?r3St2Y9db zW%51R;;m)^R#H|MQd}5-hk=uo7}*8qXv>AN80d5) z(q{cNZ+-Lcjhsv|Uy^UZ>`<@`1BDgcF<5RR33%$071yPhY13CEyF3rY6@3A2aOM}P z@$eFl1E7V3%N2ynv_Mo>iCAlitNIVO*5>XpEa}}Ee922T9-O28^ZnJM*1L^#)Mrv1 zXY=xHVg9-1pPqShDCzA3g?Z1N_8+|ObH>Eq|B?6opIj_hnE&@}EdGz;eg7kz|7F!7 z2OB5ze|M;mcifZ$I#j%41S`(;+k0?)z^CgI-<>dnn{hT`dLXa!c$rh&1t#Ke;*fv) zS5^v1Q{iNxHY18IZMr0E`)Vye-7gl{BQ#ana>9@2#}o=i )n^!=7TC;z)y=pe< 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�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 b&aXt|SyLg%t;sTwW79;_FVkp4z^u;(OVU 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 literal 0 HcmV?d00001 diff --git a/dmtf/DSP8011_1.0.0a.json b/dmtf/DSP8011_1.0.0a.json new file mode 100644 index 0000000..426fd2e --- /dev/null +++ b/dmtf/DSP8011_1.0.0a.json @@ -0,0 +1,465 @@ +{ + "@Redfish.Copyright": "Copyright © 2014-2015 Distributed Management Task Force, Inc. (DMTF). All rights reserved.", + "@odata.type": "#MessageRegistry.1.0.0.MessageRegistry", + "Id": "Base.1.0.0", + "Name": "Base Message Registry", + "Language": "en", + "Description": "This registry defines the base messages for Redfish", + "RegistryPrefix": "Base", + "RegistryVersion": "1.0.0", + "OwningEntity": "DMTF", + "Messages": { + "Success": { + "Description": "Indicates that all conditions of a successful operation have been met.", + "Message": "Successfully Completed Request", + "Severity": "OK", + "NumberOfArgs": 0, + "Resolution": "None" + }, + "GeneralError": { + "Description": "Indicates that a general error has occurred.", + "Message": "A general error has occurred. See ExtendedInfo for more information.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "See ExtendedInfo for more information." + }, + "Created": { + "Description": "Indicates that all conditions of a successful creation operation have been met.", + "Message": "The resource has been created successfully", + "Severity": "OK", + "NumberOfArgs": 0, + "Resolution": "None" + }, + "PropertyDuplicate": { + "Description": "Indicates that a duplicate property was included in the request body.", + "Message": "The property %1 was duplicated in the request.", + "Severity": "Warning", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Remove the duplicate property from the request body and resubmit the request if the operation failed." + }, + "PropertyUnknown": { + "Description": "Indicates that an unknown property was included in the request body.", + "Message": "The property %1 is not in the list of valid properties for the resource.", + "Severity": "Warning", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Remove the unknown property from the request body and resubmit the request if the operation failed." + }, + "PropertyValueTypeError": { + "Description": "Indicates that a property was given the wrong value type, such as when a number is supplied for a property that requires a string.", + "Message": "The value %1 for the property %2 is of a different type than the property can accept.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Correct the value for the property in the request body and resubmit the request if the operation failed." + }, + "PropertyValueFormatError": { + "Description": "Indicates that a property was given the correct value type but the value of that property was not supported. This includes value size/length exceeded.", + "Message": "The value %1 for the property %2 is of a different format than the property can accept.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Correct the value for the property in the request body and resubmit the request if the operation failed." + }, + "PropertyValueNotInList": { + "Description": "Indicates that a property was given the correct value type but the value of that property was not supported. This values not in an enumeration", + "Message": "The value %1 for the property %2 is not in the list of acceptable values.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Choose a value from the enumeration list that the implementation can support and resubmit the request if the operation failed." + }, + "PropertyNotWritable": { + "Description": "Indicates that a property was given a value in the request body, but the property is a readonly property.", + "Message": "The property %1 is a read only property and cannot be assigned a value.", + "Severity": "Warning", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Remove the property from the request body and resubmit the request if the operation failed." + }, + "PropertyMissing": { + "Description": "Indicates that a required property was not supplied as part of the request.", + "Message": "The property %1 is a required property and must be included in the request.", + "Severity": "Warning", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Ensure that the property is in the request body and has a valid value and resubmit the request if the operation failed." + }, + "MalformedJSON": { + "Description": "Indicates that the request body was malformed JSON. Could be duplicate, syntax error,etc.", + "Message": "The request body submitted was malformed JSON and could not be parsed by the receiving service.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Ensure that the request body is valid JSON and resubmit the request." + }, + "ActionNotSupported": { + "Description": "Indicates that the action supplied with the POST operation is not supported by the resource.", + "Message": "The action %1 is not supported by the resource.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "The action supplied cannot be resubmitted to the implementation. Perhaps the action was invalid, the wrong resource was the target or the implementation documentation may be of assistance." + }, + "ActionParameterMissing": { + "Description": "Indicates that the action requested was missing a parameter that is required to process the action.", + "Message": "The action %1 requires the parameter %2 to be present in the request body.", + "Severity": "Critical", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Supply the action with the required parameter in the request body when the request is resubmitted." + }, + "ActionParameterDuplicate": { + "Description": "Indicates that the action was supplied with a duplicated parameter in the request body.", + "Message": "The action %1 was submitted with more than one value for the parameter %2.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Resubmit the action with only one instance of the parameter in the request body if the operation failed." + }, + "ActionParameterUnknown": { + "Description": "Indicates that an action was submitted but a parameter supplied did not match any of the known parameters.", + "Message": "The action %1 was submitted with with the invalid parameter %2.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Correct the invalid parameter and resubmit the request if the operation failed." + }, + "ActionParameterValueTypeError": { + "Description": "Indicates that a parameter was given the wrong value type, such as when a number is supplied for a parameter that requires a string.", + "Message": "The value %1 for the parameter %2 in the action %3 is of a different type than the parameter can accept.", + "Severity": "Warning", + "NumberOfArgs": 3, + "ParamTypes": [ + "string", + "string", + "string" + ], + "Resolution": "Correct the value for the parameter in the request body and resubmit the request if the operation failed." + }, + "ActionParameterValueFormatError": { + "Description": "Indicates that a parameter was given the correct value type but the value of that parameter was not supported. This includes value size/length exceeded.", + "Message": "The value %1 for the parameter %2 in the action %3 is of a different format than the parameter can accept.", + "Severity": "Warning", + "NumberOfArgs": 3, + "ParamTypes": [ + "string", + "string", + "string" + ], + "Resolution": "Correct the value for the parameter in the request body and resubmit the request if the operation failed." + }, + "ActionParameterNotSupported": { + "Description": "Indicates that the parameter supplied for the action is not supported on the resource.", + "Message": "The parameter %1 for the action %2 is not supported on the target resource.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Remove the parameter supplied and resubmit the request if the operation failed." + }, + "QueryParameterValueTypeError": { + "Description": "Indicates that a query parameter was given the wrong value type, such as when a number is supplied for a query parameter that requires a string.", + "Message": "The value %1 for the query parameter %2 is of a different type than the parameter can accept.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Correct the value for the query parameter in the request and resubmit the request if the operation failed." + }, + "QueryParameterValueFormatError": { + "Description": "Indicates that a query parameter was given the correct value type but the value of that parameter was not supported. This includes value size/length exceeded.", + "Message": "The value %1 for the parameter %2 is of a different format than the parameter can accept.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Correct the value for the query parameter in the request and resubmit the request if the operation failed." + }, + "QueryParameterOutOfRange": { + "Description": "Indicates that a query parameter was supplied that is out of range for the given resource. This can happen with values that are too low or beyond that possible for the supplied resource, such as when a page is requested that is beyond the last page.", + "Message": "The value %1 for the query parameter %2 is out of range %3.", + "Severity": "Warning", + "NumberOfArgs": 3, + "ParamTypes": [ + "string", + "string", + "string" + ], + "Resolution": "Reduce the value for the query parameter to a value that is within range, such as a start or count value that is within bounds of the number of resources in a collection or a page that is within the range of valid pages." + }, + "QueryNotSupportedOnResource": { + "Description": "Indicates that query is not supported on the given resource, such as when a start/count query is attempted on a resource that is not a collection.", + "Message": "Querying is not supported on the requested resource.", + "Severity": "Warning", + "NumberOfArgs": 0, + "Resolution": "Remove the query parameters and resubmit the request if the operation failed." + }, + "QueryNotSupported": { + "Description": "Indicates that query is not supported on the implementation.", + "Message": "Querying is not supported by the implementation.", + "Severity": "Warning", + "NumberOfArgs": 0, + "Resolution": "Remove the query parameters and resubmit the request if the operation failed." + }, + "SessionLimitExceeded": { + "Description": "Indicates that a session establishment has been requested but the operation failed due to the number of simultaneous sessions exceeding the limit of the implementation.", + "Message": "The session establishment failed due to the number of simultaneous sessions exceeding the limit of the implementation.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Reduce the number of other sessions before trying to establish the session or increase the limit of simultaneous sessions (if supported)." + }, + "EventSubscriptionLimitExceeded": { + "Description": "Indicates that a event subscription establishment has been requested but the operation failed due to the number of simultaneous connection exceeding the limit of the implementation.", + "Message": "The event subscription failed due to the number of simultaneous subscriptions exceeding the limit of the implementation.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Reduce the number of other subscriptions before trying to establish the event subscription or increase the limit of simultaneous subscriptions (if supported)." + }, + "ResourceCannotBeDeleted": { + "Description": "Indicates that a delete operation was attempted on a resource that cannot be deleted.", + "Message": "The delete request failed because the resource requested cannot be deleted.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Do not attempt to delete a non-deletable resource." + }, + "ResourceInUse": { + "Description": "Indicates that a change was requested to a resource but the change was rejected due to the resource being in use or transition.", + "Message": "The change to the requested resource failed because the resource is in use or in transition.", + "Severity": "Warning", + "NumberOfArgs": 0, + "Resolution": "Remove the condition and resubmit the request if the operation failed." + }, + "ResourceAlreadyExists": { + "Description": "Indicates that a resource change or creation was attempted but that the operation cannot proceed because the resource already exists.", + "Message": "The requested resource already exists.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Do not repeat the create operation as the resource has already been created." + }, + "CreateFailedMissingReqProperties": { + "Description": "Indicates that a create was attempted on a resource but that properties that are required for the create operation were missing from the request.", + "Message": "The create operation failed because the required property %1 was missing from the request.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Correct the body to include the required property with a valid value and resubmit the request if the operation failed." + }, + "CreateLimitReachedForResource": { + "Description": "Indicates that no more resources can be created on the resource as it has reached its create limit.", + "Message": "The create operation failed because the resource has reached the limit of possible resources.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Either delete resources and resubmit the request if the operation failed or do not resubmit the request." + }, + "ServiceShuttingDown": { + "Description": "Indicates that the operation failed as the service is shutting down, such as when the service reboots.", + "Message": "The operation failed because the service is shutting down and can no longer take incoming requests.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "When the service becomes available, resubmit the request if the operation failed." + }, + "ServiceInUnknownState": { + "Description": "Indicates that the operation failed because the service is in an unknown state and cannot accept additional requests.", + "Message": "The operation failed because the service is in an unknown state and can no longer take incoming requests.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Restart the service and resubmit the request if the operation failed." + }, + "NoValidSession": { + "Description": "Indicates that the operation failed because a valid session is required in order to access any resources.", + "Message": "There is no valid session established with the implementation.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Establish as session before attempting any operations." + }, + "InsufficientPrivilege": { + "Description": "Indicates that the credentials associated with the established session do not have sufficient privileges for the requested operation", + "Message": "There are insufficient privileges for the account or credentials associated with the current session to perform the requested operation.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Either abandon the operation or change the associated access rights and resubmit the request if the operation failed." + }, + "AccountModified": { + "Description": "Indicates that the account was successfully modified.", + "Message": "The account was successfully modifed.", + "Severity": "OK", + "NumberOfArgs": 0, + "Resolution": "No resolution is required." + }, + "AccountNotModified": { + "Description": "Indicates that the modification requested for the account was not successful.", + "Message": "The account modification request failed.", + "Severity": "Warning", + "NumberOfArgs": 0, + "Resolution": "The modification may have failed due to permission issues or issues with the request body." + }, + "AccountRemoved": { + "Description": "Indicates that the account was successfully removed.", + "Message": "The account was successfully removed.", + "Severity": "OK", + "NumberOfArgs": 0, + "Resolution": "No resolution is required." + }, + "AccountForSessionNoLongerExists": { + "Description": "Indicates that the account for the session has been removed, thus the session has been removed as well.", + "Message": "The account for the current session has been removed, thus the current session has been removed as well.", + "Severity": "OK", + "NumberOfArgs": 0, + "Resolution": "Attempt to connect with a valid account." + }, + "InvalidObject": { + "Description": "Indicates that the object in question is invalid according to the implementation. Examples include a firmware update malformed URI.", + "Message": "The object at %1 is invalid.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Either the object is malformed or the URI is not correct. Correct the condition and resubmit the request if it failed." + }, + "InternalError": { + "Description": "Indicates that the request failed for an unknown internal error but that the service is still operational.", + "Message": "The request failed due to an internal service error. The service is still operational.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Resubmit the request. If the problem persists, consider resetting the service." + }, + "UnrecognizedRequestBody": { + "Description": "Indicates that the service encountered an unrecognizable request body that could not even be interpreted as malformed JSON.", + "Message": "The service detected a malformed request body that it was unable to interpret.", + "Severity": "Warning", + "NumberOfArgs": 0, + "Resolution": "Correct the request body and resubmit the request if it failed." + }, + "ResourceMissingAtURI": { + "Description": "Indicates that the operation expected an image or other resource at the provided URI but none was found. Examples of this are in requests that require URIs like Firmware Update.", + "Message": "The resource at the URI %1 was not found.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Place a valid resource at thr URI or correct the URI and resubmit the request." + }, + "ResourceAtUriInUnknownFormat": { + "Description": "Indicates that the URI was valid but the resource or image at that URI was in a format not supported by the service.", + "Message": "The resource at %1 is in a format not recognized by the service.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Place an image or resource or file that is recognized by the service at the URI." + }, + "ResourceAtUriUnauthorized": { + "Description": "Indicates that the attempt to access the resource/file/image at the URI was unauthorized.", + "Message": "While accessing the resource at %1, the service received an authorization error %2.", + "Severity": "Critical", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Ensure that the appropriate access is provided for the service in order for it to access the URI." + }, + "CouldNotEstablishConnection": { + "Description": "Indicates that the attempt to access the resource/file/image at the URI was unsuccessful because a session could not be established.", + "Message": "The service failed to establish a connection with the URI %1.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Ensure that the URI contains a valid and reachable node name, protocol information and other URI components." + }, + "SourceDoesNotSupportProtocol": { + "Description": "Indicates that while attempting to access, connect to or transfer a resource/file/image from another location that the other end of the connection did not support the protocol", + "Message": "The other end of the connection at %1 does not support the specified protocol %2.", + "Severity": "Critical", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Change protocols or URIs. " + }, + "AccessDenied": { + "Description": "Indicates that while attempting to access, connect to or transfer to/from another resource, the service was denied access.", + "Message": "While attempting to establish a connection to %1, the service was denied access.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Attempt to ensure that the URI is correct and that the service has the appropriate credentials." + }, + "ServiceTemporarilyUnavailable": { + "Description": "Indicates the service is temporarily unavailable.", + "Message": "The service is temporarily unavailable. Retry in %1 seconds.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Wait for the indicated retry duration and retry the operation." + }, + "InvalidIndex": { + "Description": "The Index is not valid.", + "Message": "The Index %1 is not a valid offset into the array.", + "Severity": "Warning", + "NumberOfArgs": 1, + "ParamTypes": [ + "number" + ], + "Resolution": "Verify the index value provided is within the bounds of the array." + }, + "PropertyValueModified": { + "Description": "Indicates that a property was given the correct value type but the value of that property was modified. Examples are truncated or rounded values.", + "Message": "The property %1 was assigned the value %2 due to modification by the service.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "No resolution is required." + } + } +} From 173e7798cfdd76dde239fe37bbf68893d95b28a7 Mon Sep 17 00:00:00 2001 From: Uggla Date: Thu, 14 Jan 2016 00:33:53 +0100 Subject: [PATCH 043/224] Use Jinja2 template system to display manager info - Use templating system, so user will be able to customize output. - This could be use later to propose output in various format (html, xml, json). - Undefined EthernetInterfacesCollection in case of failure. So it allows to test definition in the template or elsewhere. --- redfish-client/redfish-client.py | 38 +++++-------------- redfish-client/templates/bla.templates | 32 ++++++++++++++++ .../templates/manager_info.template | 31 +++++++++++++++ redfish/types.py | 5 ++- requirements.txt | 1 + 5 files changed, 76 insertions(+), 31 deletions(-) create mode 100644 redfish-client/templates/bla.templates create mode 100644 redfish-client/templates/manager_info.template diff --git a/redfish-client/redfish-client.py b/redfish-client/redfish-client.py index af2530f..c401e23 100755 --- a/redfish-client/redfish-client.py +++ b/redfish-client/redfish-client.py @@ -39,6 +39,7 @@ import logging import redfish import requests.packages.urllib3 +import jinja2 class ConfigFile(object): @@ -249,35 +250,9 @@ def get_manager_info(manager_name, check_SSL): sys.stderr.write(str(e.advices)) sys.exit(1) - # Display manager information - # TODO : Use a templating system - print('Redfish API version : %s' % remote_mgmt.get_api_version()) - print(remote_mgmt.Root.get_name()) - print('\n') - print('Managers information :') - print('----------------------') - for manager_index in sorted(remote_mgmt.Managers.managers_dict): - manager = remote_mgmt.Managers.managers_dict[manager_index] - print('\nManager id {} :').format(manager_index) - print('UUID : {}').format(manager.get_uuid()) - print('Type : {}').format(manager.get_type()) - print('Firmware version : {}').format(manager.get_firmware_version()) - print('State : {}').format(manager.get_status()) - print manager.get_managed_chassis() - print manager.get_managed_systems() - print('Ethernet interfaces :') - try : - for ethernetinterface_index in sorted(manager.ethernet_interfaces_collection.ethernet_interfaces_dict): - ei = manager.ethernet_interfaces_collection.ethernet_interfaces_dict[ethernetinterface_index] - print('\nEthernet Interface id {} :').format(ethernetinterface_index) - print(ei.get_name()) - print(ei.get_parameter('FQDN')) - print ei.get_ipv4() - print ei.get_ipv6() - except AttributeError: - # We don't have ethernet interfaces - pass - + # Display manager information using jinja2 template + template = jinja2_env.get_template("manager_info.template") + print template.render(r=remote_mgmt) # Main program @@ -348,6 +323,11 @@ def get_manager_info(manager_name, check_SSL): arguments['--conf_file'] = arguments['--conf_file'].replace('~', HOME) conf_file = ConfigFile(arguments['--conf_file']) + + # Initialize Template system (jinja2) + # TODO : set the template file location into cmd line default to /usr/share/python-redfish/templates ? + logger.debug("Initialize template system") + jinja2_env = jinja2.Environment(loader=jinja2.FileSystemLoader("templates")) if arguments['config'] is True: logger.debug("Config commands") diff --git a/redfish-client/templates/bla.templates b/redfish-client/templates/bla.templates new file mode 100644 index 0000000..23b6b61 --- /dev/null +++ b/redfish-client/templates/bla.templates @@ -0,0 +1,32 @@ + #======================================================================= + # print('Redfish API version : %s' % remote_mgmt.get_api_version()) + # print(remote_mgmt.Root.get_name()) + # print('\n') + # print('Managers information :') + # print('----------------------') + # for manager_index in sorted(remote_mgmt.Managers.managers_dict): + # manager = remote_mgmt.Managers.managers_dict[manager_index] + # print('\nManager id {} :').format(manager_index) + # print('UUID : {}').format(manager.get_uuid()) + # print('Type : {}').format(manager.get_type()) + # print('Firmware version : {}').format(manager.get_firmware_version()) + # print('State : {}').format(manager.get_status()) + # print manager.get_managed_chassis() + # print manager.get_managed_systems() + # print('Ethernet interfaces :') + # try : + # for ethernetinterface_index in sorted(manager.ethernet_interfaces_collection.ethernet_interfaces_dict): + # ei = manager.ethernet_interfaces_collection.ethernet_interfaces_dict[ethernetinterface_index] + # print('\nEthernet Interface id {} :').format(ethernetinterface_index) + # print(ei.get_name()) + # print(ei.get_parameter('FQDN')) + # print ei.get_ipv4() + # print ei.get_ipv6() + # except AttributeError: + # # We don't have ethernet interfaces + # pass + #======================================================================= + + +Redfish API version : remote_mgmt.get_api_version() +remote_mgmt.Root.get_name() \ No newline at end of file diff --git a/redfish-client/templates/manager_info.template b/redfish-client/templates/manager_info.template new file mode 100644 index 0000000..71961ba --- /dev/null +++ b/redfish-client/templates/manager_info.template @@ -0,0 +1,31 @@ +Redfish API version : {{ r.get_api_version() }} +{{ r.Root.get_name() }} + +Managers information : +====================== +{% for manager_index in r.Managers.managers_dict | sort %} +{%- set manager = r.Managers.managers_dict[manager_index] %} +Manager id {{ manager_index }}: +UUID : {{ manager.get_uuid() }} +Type : {{ manager.get_type() }} +Firmware version : {{ manager.get_firmware_version() }} +State : {{ manager.get_status() }} +Ethernet Interface : +{%- if manager.ethernet_interfaces_collection %} +{%- for ethernetinterface_index in manager.ethernet_interfaces_collection.ethernet_interfaces_dict | sort %} +{%- set ei = manager.ethernet_interfaces_collection.ethernet_interfaces_dict[ethernetinterface_index] %} + Ethernet Interface id {{ ethernetinterface_index }} : + {{ ei.get_name() }} + FQDN : {{ ei.get_fqdn() }} + Address ipv4 : {{ ei.get_ipv4() | join(', ') }} + Address ipv6 : {{ ei.get_ipv6() | join(', ') }} +{%- endfor %} +{%- else %} + This manager has no ethernet interface +{%- endif %} +Managed Chassis : + {{ manager.get_managed_chassis() | join(', ') }} +Managed System : + {{ manager.get_managed_systems() | join(', ') }} +---------------------------- +{% endfor %} \ No newline at end of file diff --git a/redfish/types.py b/redfish/types.py index 3a5bac1..fd6f5f0 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -218,11 +218,12 @@ def __init__(self, url, connection_parameters): # ) except exception.InvalidRedfishContentException: # This is to avoid invalid content from the mockup - pass + self.ethernet_interfaces_collection = None except AttributeError: # This means we don't have EthernetInterfaces - pass + self.ethernet_interfaces_collection = None + def get_firmware_version(self): '''Get firmware version of the manager diff --git a/requirements.txt b/requirements.txt index 8a4779b..01b840b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,3 +6,4 @@ pbr>=0.6,!=0.7,<1.0 #oslo.log>=1.0,<2.0 Babel>=1.3 tortilla>=0.4.1 +Jinja2>=2.7.3 From 7653fb597d32c056dbfb0ec7d1a602ff882fec13 Mon Sep 17 00:00:00 2001 From: Uggla Date: Mon, 18 Jan 2016 10:44:54 +0100 Subject: [PATCH 044/224] Redfish client fixes. - Fix for empty login or password entry. - Remove pprint because it prints stuff to the console even in no debug mode. --- redfish-client/redfish-client.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/redfish-client/redfish-client.py b/redfish-client/redfish-client.py index c401e23..5d011c1 100755 --- a/redfish-client/redfish-client.py +++ b/redfish-client/redfish-client.py @@ -109,10 +109,12 @@ def add_manager(self, manager_name, url, login, password): self.data['Managers'][manager_name] = {} self.data['Managers'][manager_name]['url'] = url - if login is not None: - self.data['Managers'][manager_name]['login'] = login - if password is not None: - self.data['Managers'][manager_name]['password'] = password + if login is None: + login = '' + if password is None: + password = '' + self.data['Managers'][manager_name]['login'] = login + self.data['Managers'][manager_name]['password'] = password def modify_manager(self, manager_name, parameter, parameter_value): '''Modify the manager settings @@ -343,12 +345,12 @@ def get_manager_info(manager_name, check_SSL): arguments[''], arguments[''], arguments['']) - logger.debug(pprint.pprint(conf_file.data)) + logger.debug(conf_file.data) conf_file.save() elif arguments['del'] is True: logger.debug('del command') conf_file.delete_manager(arguments['']) - logger.debug(pprint.pprint(conf_file.data)) + logger.debug(conf_file.data) conf_file.save() elif arguments['modify'] is True: logger.debug('modify command') @@ -368,7 +370,7 @@ def get_manager_info(manager_name, check_SSL): conf_file.modify_manager(arguments[''], 'manager_name', arguments['']) - logger.debug(pprint.pprint(conf_file.data)) + logger.debug(conf_file.data) conf_file.save() if arguments['manager'] is True: logger.debug("Manager commands") From 8697fc3907df261722a98654fd1e84609f2266e7 Mon Sep 17 00:00:00 2001 From: Uggla Date: Mon, 18 Jan 2016 10:58:26 +0100 Subject: [PATCH 045/224] Fix dmtf container - Remove apache pid file. So it allows to restart the mockup after a brutal shutdown of the container. --- dmtf/redfish-setup.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/dmtf/redfish-setup.sh b/dmtf/redfish-setup.sh index 967be07..63a1786 100644 --- a/dmtf/redfish-setup.sh +++ b/dmtf/redfish-setup.sh @@ -1,6 +1,7 @@ #!/bin/bash function start_apache { + [ -f "/run/apache2/apache2.pid" ] && rm "/run/apache2/apache2.pid" echo "Launching apache2 in foreground with /usr/sbin/apache2ctl -DFOREGROUND -k start" /usr/sbin/apache2ctl -DFOREGROUND -k start } From dd66a15e02f46ecc94d5616adc438b55baaee7be Mon Sep 17 00:00:00 2001 From: Uggla Date: Mon, 18 Jan 2016 12:30:07 +0100 Subject: [PATCH 046/224] Improve docker container management - Simplify tagging. - Test removal of old container. --- dmtf/buildImage.sh | 1 - dmtf/redfish-setup.sh | 2 +- dmtf/run-redfish-simulator.sh | 11 ++++++----- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/dmtf/buildImage.sh b/dmtf/buildImage.sh index 633b886..f4a98c0 100755 --- a/dmtf/buildImage.sh +++ b/dmtf/buildImage.sh @@ -3,4 +3,3 @@ # Build and tag images docker rmi redfish-simulator docker build -t "redfish-simulator" . -docker tag -f redfish-simulator:latest localhost:5000/redfish-simulator diff --git a/dmtf/redfish-setup.sh b/dmtf/redfish-setup.sh index 63a1786..ba3f2dd 100644 --- a/dmtf/redfish-setup.sh +++ b/dmtf/redfish-setup.sh @@ -1,7 +1,7 @@ #!/bin/bash function start_apache { - [ -f "/run/apache2/apache2.pid" ] && rm "/run/apache2/apache2.pid" + [ -f "/run/apache2/apache2.pid" ] && rm -f "/run/apache2/apache2.pid" echo "Launching apache2 in foreground with /usr/sbin/apache2ctl -DFOREGROUND -k start" /usr/sbin/apache2ctl -DFOREGROUND -k start } diff --git a/dmtf/run-redfish-simulator.sh b/dmtf/run-redfish-simulator.sh index 78697c6..873e02a 100755 --- a/dmtf/run-redfish-simulator.sh +++ b/dmtf/run-redfish-simulator.sh @@ -1,8 +1,9 @@ #!/bin/bash -# Build the docker container first -docker build -t localhost:5000/redfish-simulator:latest . -# Th -p option needs to be after the run command. No warning is given if before but doesn't work -docker rm "redfish-simulator" -docker run -d -p 8000:80 --name "redfish-simulator" localhost:5000/redfish-simulator:latest +docker ps -a | grep -q "redfish-simulator:latest" +if [ "$?" -eq 0 ]; then + docker rm "redfish-simulator" +fi +# The -p option needs to be after the run command. No warning is given if before but doesn't work +docker run -d -p 8000:80 --name "redfish-simulator" redfish-simulator:latest echo "Launch your browser and load http://localhost:8000/redfish/v1" From eabe105d2fa382bbf87991be41573f7d2bc14e13 Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Sat, 5 Dec 2015 14:23:45 +0100 Subject: [PATCH 047/224] Project-Builder support for python-redfish - Adds python-redfish.spec for pb from previous version - first rpm made using project-builder.org - Adds a changelog file for pb - Now delivers redfish-client under /usr/bin - Fix dependencies needed to invoke redfish-client - Versions can now be used through pb instead of being hardcoded - Prepare deb package build --- .gitignore | 6 +- pbconf/pbfilter/all.pbf | 68 +++++++++ pbconf/pbfilter/deb.pbf | 23 +++ pbconf/pbfilter/debian-3.1.pbf | 11 ++ pbconf/pbfilter/debian-4.0.pbf | 11 ++ pbconf/pbfilter/debian-5.0.pbf | 11 ++ pbconf/pbfilter/debian-6.0.pbf | 11 ++ pbconf/pbfilter/debian-7.0.pbf | 11 ++ pbconf/pbfilter/debian.pbf | 11 ++ pbconf/pbfilter/fedora-1.pbf | 9 ++ pbconf/pbfilter/fedora-2.pbf | 9 ++ pbconf/pbfilter/fedora-3.pbf | 9 ++ pbconf/pbfilter/fedora-4.pbf | 9 ++ pbconf/pbfilter/fedora-5.pbf | 9 ++ pbconf/pbfilter/fedora-6.pbf | 9 ++ pbconf/pbfilter/fedora-7.pbf | 9 ++ pbconf/pbfilter/fedora.pbf | 26 ++++ pbconf/pbfilter/md.pbf | 8 + pbconf/pbfilter/novell.pbf | 8 + pbconf/pbfilter/pkg.pbf | 8 + pbconf/pbfilter/rpm.pbf | 30 ++++ pbconf/pbfilter/ubuntu-6.06.pbf | 11 ++ pbconf/pbfilter/ubuntu-7.04.pbf | 11 ++ pbconf/pbfilter/ubuntu-7.10.pbf | 11 ++ pbconf/pbfilter/ubuntu-8.04.pbf | 11 ++ pbconf/pbfilter/ubuntu-8.10.pbf | 11 ++ pbconf/pbfilter/ubuntu-9.04.pbf | 11 ++ pbconf/pbfilter/ubuntu.pbf | 11 ++ pbconf/python-redfish.pb | 138 ++++++++++++++++++ pbconf/python-redfish/deb/changelog | 1 + pbconf/python-redfish/deb/compat | 1 + pbconf/python-redfish/deb/control | 23 +++ pbconf/python-redfish/deb/copyright | 27 ++++ pbconf/python-redfish/deb/python-redfish.dirs | 0 pbconf/python-redfish/deb/python-redfish.docs | 5 + pbconf/python-redfish/deb/rules | 16 ++ pbconf/python-redfish/pbcl | 30 ++++ pbconf/python-redfish/pkg/depend | 4 + pbconf/python-redfish/pkg/pbbuild | 7 + pbconf/python-redfish/pkg/pkginfo | 13 ++ pbconf/python-redfish/rpm/python-redfish.spec | 43 ++++++ python-redfish.spec | 36 ----- redfish-client/redfish-client.py | 2 +- 43 files changed, 691 insertions(+), 38 deletions(-) create mode 100644 pbconf/pbfilter/all.pbf create mode 100644 pbconf/pbfilter/deb.pbf create mode 100644 pbconf/pbfilter/debian-3.1.pbf create mode 100644 pbconf/pbfilter/debian-4.0.pbf create mode 100644 pbconf/pbfilter/debian-5.0.pbf create mode 100644 pbconf/pbfilter/debian-6.0.pbf create mode 100644 pbconf/pbfilter/debian-7.0.pbf create mode 100644 pbconf/pbfilter/debian.pbf create mode 100644 pbconf/pbfilter/fedora-1.pbf create mode 100644 pbconf/pbfilter/fedora-2.pbf create mode 100644 pbconf/pbfilter/fedora-3.pbf create mode 100644 pbconf/pbfilter/fedora-4.pbf create mode 100644 pbconf/pbfilter/fedora-5.pbf create mode 100644 pbconf/pbfilter/fedora-6.pbf create mode 100644 pbconf/pbfilter/fedora-7.pbf create mode 100644 pbconf/pbfilter/fedora.pbf create mode 100644 pbconf/pbfilter/md.pbf create mode 100644 pbconf/pbfilter/novell.pbf create mode 100644 pbconf/pbfilter/pkg.pbf create mode 100644 pbconf/pbfilter/rpm.pbf create mode 100644 pbconf/pbfilter/ubuntu-6.06.pbf create mode 100644 pbconf/pbfilter/ubuntu-7.04.pbf create mode 100644 pbconf/pbfilter/ubuntu-7.10.pbf create mode 100644 pbconf/pbfilter/ubuntu-8.04.pbf create mode 100644 pbconf/pbfilter/ubuntu-8.10.pbf create mode 100644 pbconf/pbfilter/ubuntu-9.04.pbf create mode 100644 pbconf/pbfilter/ubuntu.pbf create mode 100644 pbconf/python-redfish.pb create mode 100644 pbconf/python-redfish/deb/changelog create mode 100644 pbconf/python-redfish/deb/compat create mode 100644 pbconf/python-redfish/deb/control create mode 100644 pbconf/python-redfish/deb/copyright create mode 100644 pbconf/python-redfish/deb/python-redfish.dirs create mode 100644 pbconf/python-redfish/deb/python-redfish.docs create mode 100644 pbconf/python-redfish/deb/rules create mode 100644 pbconf/python-redfish/pbcl create mode 100644 pbconf/python-redfish/pkg/depend create mode 100644 pbconf/python-redfish/pkg/pbbuild create mode 100644 pbconf/python-redfish/pkg/pkginfo create mode 100644 pbconf/python-redfish/rpm/python-redfish.spec delete mode 100644 python-redfish.spec diff --git a/.gitignore b/.gitignore index 57a8ee7..9c93129 100644 --- a/.gitignore +++ b/.gitignore @@ -27,7 +27,7 @@ var/ # Usually these files are written by a python script from a template # before PyInstaller builds the exe, so as to inject date/other infos into it. *.manifest -*.spec +#*.spec # Installer logs pip-log.txt @@ -55,6 +55,10 @@ docs/_build/ # PyBuilder target/ +# Project-Builder.org +delivery/ +build/ + # Pydev .project .pydevproject diff --git a/pbconf/pbfilter/all.pbf b/pbconf/pbfilter/all.pbf new file mode 100644 index 0000000..f78ebb7 --- /dev/null +++ b/pbconf/pbfilter/all.pbf @@ -0,0 +1,68 @@ +# +# $Id$ +# +# Filter for all files +# +# +# PBREPO is replaced by the root URL to access the repository +filter PBREPO = $pb->{'repo'} + +# PBSRC is replaced by the source package location after the repo +filter PBSRC = src/%{name}-%{version}.tar.gz +# Used if virtual name != real name (perl, ...) +#filter PBSRC = src/%{srcname}-%{version}.tar.gz + +# PBVER is replaced by the version ($pb->{'ver'} in code) +filter PBVER = $pb->{'ver'}$pb->{'extdir'} + +# PBDATE is replaced by the date ($pb->{'date'} in code) +filter PBDATE = $pb->{'date'} + +# PBEXTDIR is replaced by the testdir extension if needed ($pb->{'extdir'} in code) +filter PBEXTDIR = $pb->{'extdir'} + +# PBPATCHSRC is replaced by the patches names if value is yes. Patches are located under the pbpatch dir of the pkg. +#filter PBPATCHSRC = yes + +# PBPATCHCMD is replaced by the patches commands if value is yes +#filter PBPATCHCMD = yes + +# PBMULTISRC is replaced by the sources names if value is yes. Sources are located under the pbsrc dir of the pkg. +#filter PBMULTISRC = yes + +# PBTAG is replaced by the tag ($pb->{'tag'} in code) +filter PBTAG = $pb->{'tag'} + +# PBREV is replaced by the revision ($pb->{'rev'} in code) +filter PBREV = $pb->{'rev'} + +# PBREALPKG is replaced by the package name ($pb->{'realpkg'} in code) +filter PBREALPKG = $pb->{'realpkg'} + +# PBPKG is replaced by the package name ($pb->{'pkg'} in code) +filter PBPKG = $pb->{'pkg'} + +# PBPROJ is replaced by the project name ($pb->{'proj'} in code) +filter PBPROJ = $pb->{'proj'} + +# PBPACKAGER is replaced by the packager name ($pb->{'packager'} in code) +filter PBPACKAGER = $pb->{'packager'} + +# PBDESC contains the description of the package +filter PBDESC = The Redfish API supports dialoging with a Redfish compliant$/system such as defined by http://www.redfishcertification.org +# with a trailing , the variable can be multi-line. +# only the trailing 's will be removed, the leading spaces, +# trailing spaces, and newlines will remain except on the +# last line. You can use dollar slash as a way to introduce carriage +# return (perl syntax). +# You can use transform e.g. in rpm.pbf to adjust spaces + +# PBSUMMARY contains a short single line description of the package +filter PBSUMMARY = Redfish python library + +# PBURL contains the URL of the Web site of the project +filter PBURL = http://github.com/bcornec/python-redfish + +# PBLOG is replaced by the changelog if value is yes +# and should be last as when used we need the %pb hash filled +filter PBLOG = yes diff --git a/pbconf/pbfilter/deb.pbf b/pbconf/pbfilter/deb.pbf new file mode 100644 index 0000000..4d359ac --- /dev/null +++ b/pbconf/pbfilter/deb.pbf @@ -0,0 +1,23 @@ +# +# $Id$ +# +# Filter for debian build +# +# PBGRP is replaced by the group of apps +filter PBGRP = utils + +# PBLIC is replaced by the license of the application +# Cf: http://www.debian.org/legal/licenses/ +filter PBLIC = ASL 2.0 + +# PBDEP is replaced by the list of dependencies +filter PBDEP = python-docopt, python-tortilla + +# PBBDEP is replaced by the list of build dependencies +filter PBBDEP = python-devel, python-setuptools + +# PBSUG is replaced by the list of suggestions +#filter PBSUG = + +# PBREC is replaced by the list of recommandations +#filter PBREC = diff --git a/pbconf/pbfilter/debian-3.1.pbf b/pbconf/pbfilter/debian-3.1.pbf new file mode 100644 index 0000000..b4eaf1d --- /dev/null +++ b/pbconf/pbfilter/debian-3.1.pbf @@ -0,0 +1,11 @@ +# +# $Id$ +# +# Filter for debian build +# +# PBDEBSTD is replaced by the Debian standard version +filter PBDEBSTD = 3.6.1 + +# PBDEBCOMP is replaced by the Debian Compatibility value +filter PBDEBCOMP = 4 + diff --git a/pbconf/pbfilter/debian-4.0.pbf b/pbconf/pbfilter/debian-4.0.pbf new file mode 100644 index 0000000..88f897f --- /dev/null +++ b/pbconf/pbfilter/debian-4.0.pbf @@ -0,0 +1,11 @@ +# +# $Id$ +# +# Filter for debian build +# +# PBDEBSTD is replaced by the Debian standard version +filter PBDEBSTD = 3.6.1 + +# PBDEBCOMP is replaced by the Debian Compatibility value +filter PBDEBCOMP = 5 + diff --git a/pbconf/pbfilter/debian-5.0.pbf b/pbconf/pbfilter/debian-5.0.pbf new file mode 100644 index 0000000..2fa6292 --- /dev/null +++ b/pbconf/pbfilter/debian-5.0.pbf @@ -0,0 +1,11 @@ +# +# $Id$ +# +# Filter for debian build +# +# PBDEBSTD is replaced by the Debian standard version +filter PBDEBSTD = 3.8.0 + +# PBDEBCOMP is replaced by the Debian Compatibility value +filter PBDEBCOMP = 7 + diff --git a/pbconf/pbfilter/debian-6.0.pbf b/pbconf/pbfilter/debian-6.0.pbf new file mode 100644 index 0000000..2fa6292 --- /dev/null +++ b/pbconf/pbfilter/debian-6.0.pbf @@ -0,0 +1,11 @@ +# +# $Id$ +# +# Filter for debian build +# +# PBDEBSTD is replaced by the Debian standard version +filter PBDEBSTD = 3.8.0 + +# PBDEBCOMP is replaced by the Debian Compatibility value +filter PBDEBCOMP = 7 + diff --git a/pbconf/pbfilter/debian-7.0.pbf b/pbconf/pbfilter/debian-7.0.pbf new file mode 100644 index 0000000..f9a8238 --- /dev/null +++ b/pbconf/pbfilter/debian-7.0.pbf @@ -0,0 +1,11 @@ +# +# $Id$ +# +# Filter for debian build +# +# PBDEBSTD is replaced by the Debian standard version +filter PBDEBSTD = 3.9.4 + +# PBDEBCOMP is replaced by the Debian Compatibility value +filter PBDEBCOMP = 9 + diff --git a/pbconf/pbfilter/debian.pbf b/pbconf/pbfilter/debian.pbf new file mode 100644 index 0000000..2fa6292 --- /dev/null +++ b/pbconf/pbfilter/debian.pbf @@ -0,0 +1,11 @@ +# +# $Id$ +# +# Filter for debian build +# +# PBDEBSTD is replaced by the Debian standard version +filter PBDEBSTD = 3.8.0 + +# PBDEBCOMP is replaced by the Debian Compatibility value +filter PBDEBCOMP = 7 + diff --git a/pbconf/pbfilter/fedora-1.pbf b/pbconf/pbfilter/fedora-1.pbf new file mode 100644 index 0000000..67bfb52 --- /dev/null +++ b/pbconf/pbfilter/fedora-1.pbf @@ -0,0 +1,9 @@ +# +# $Id$ +# +# Filter for old fedora build +# + +# PBSUF is replaced by the package suffix ($pb->{'suf'} in code) +filter PBSUF = $pb->{'suf'} + diff --git a/pbconf/pbfilter/fedora-2.pbf b/pbconf/pbfilter/fedora-2.pbf new file mode 100644 index 0000000..67bfb52 --- /dev/null +++ b/pbconf/pbfilter/fedora-2.pbf @@ -0,0 +1,9 @@ +# +# $Id$ +# +# Filter for old fedora build +# + +# PBSUF is replaced by the package suffix ($pb->{'suf'} in code) +filter PBSUF = $pb->{'suf'} + diff --git a/pbconf/pbfilter/fedora-3.pbf b/pbconf/pbfilter/fedora-3.pbf new file mode 100644 index 0000000..67bfb52 --- /dev/null +++ b/pbconf/pbfilter/fedora-3.pbf @@ -0,0 +1,9 @@ +# +# $Id$ +# +# Filter for old fedora build +# + +# PBSUF is replaced by the package suffix ($pb->{'suf'} in code) +filter PBSUF = $pb->{'suf'} + diff --git a/pbconf/pbfilter/fedora-4.pbf b/pbconf/pbfilter/fedora-4.pbf new file mode 100644 index 0000000..67bfb52 --- /dev/null +++ b/pbconf/pbfilter/fedora-4.pbf @@ -0,0 +1,9 @@ +# +# $Id$ +# +# Filter for old fedora build +# + +# PBSUF is replaced by the package suffix ($pb->{'suf'} in code) +filter PBSUF = $pb->{'suf'} + diff --git a/pbconf/pbfilter/fedora-5.pbf b/pbconf/pbfilter/fedora-5.pbf new file mode 100644 index 0000000..67bfb52 --- /dev/null +++ b/pbconf/pbfilter/fedora-5.pbf @@ -0,0 +1,9 @@ +# +# $Id$ +# +# Filter for old fedora build +# + +# PBSUF is replaced by the package suffix ($pb->{'suf'} in code) +filter PBSUF = $pb->{'suf'} + diff --git a/pbconf/pbfilter/fedora-6.pbf b/pbconf/pbfilter/fedora-6.pbf new file mode 100644 index 0000000..67bfb52 --- /dev/null +++ b/pbconf/pbfilter/fedora-6.pbf @@ -0,0 +1,9 @@ +# +# $Id$ +# +# Filter for old fedora build +# + +# PBSUF is replaced by the package suffix ($pb->{'suf'} in code) +filter PBSUF = $pb->{'suf'} + diff --git a/pbconf/pbfilter/fedora-7.pbf b/pbconf/pbfilter/fedora-7.pbf new file mode 100644 index 0000000..67bfb52 --- /dev/null +++ b/pbconf/pbfilter/fedora-7.pbf @@ -0,0 +1,9 @@ +# +# $Id$ +# +# Filter for old fedora build +# + +# PBSUF is replaced by the package suffix ($pb->{'suf'} in code) +filter PBSUF = $pb->{'suf'} + diff --git a/pbconf/pbfilter/fedora.pbf b/pbconf/pbfilter/fedora.pbf new file mode 100644 index 0000000..7c5bf4d --- /dev/null +++ b/pbconf/pbfilter/fedora.pbf @@ -0,0 +1,26 @@ +# +# $Id$ +# +# Filter for rpm build +# + +# PBGRP is replaced by the RPM group of apps +# Cf: http://fedoraproject.org/wiki/RPMGroups +#filter PBGRP = Applications/Archiving + +# PBLIC is replaced by the license of the application +# Cf: http://fedoraproject.org/wiki/Licensing +#filter PBLIC = GPLv2+ + +# PBDEP is replaced by the list of dependencies +#filter PBDEP = + +# PBBDEP is replaced by the list of build dependencies +#filter PBBDEP = + +# PBSUF is replaced by the package suffix ($pb->{'suf'} in code) +filter PBSUF = %{dist} + +# PBOBS is replaced by the Obsolete line +#filter PBOBS = + diff --git a/pbconf/pbfilter/md.pbf b/pbconf/pbfilter/md.pbf new file mode 100644 index 0000000..20fe4a7 --- /dev/null +++ b/pbconf/pbfilter/md.pbf @@ -0,0 +1,8 @@ +# Specific group for Mandriva for python-redfish +# Cf: http://wiki.mandriva.com/en/Development/Packaging/Groups +filter PBGRP = Development/Python + +# PBLIC is replaced by the license of the application +# Cf: http://wiki.mandriva.com/en/Development/Packaging/Licenses +#filter PBLIC = GPL + diff --git a/pbconf/pbfilter/novell.pbf b/pbconf/pbfilter/novell.pbf new file mode 100644 index 0000000..d170299 --- /dev/null +++ b/pbconf/pbfilter/novell.pbf @@ -0,0 +1,8 @@ +# Specific group for SuSE for python-redfish +# Cf: http://en.opensuse.org/SUSE_Package_Conventions/RPM_Groups +#filter PBGRP = Productivity/Archiving/Backup + +# PBLIC is replaced by the license of the application +# Cf: http://en.opensuse.org/Packaging/SUSE_Package_Conventions/RPM_Style#1.6._License_Tag +#filter PBLIC = GPL + diff --git a/pbconf/pbfilter/pkg.pbf b/pbconf/pbfilter/pkg.pbf new file mode 100644 index 0000000..5496d1a --- /dev/null +++ b/pbconf/pbfilter/pkg.pbf @@ -0,0 +1,8 @@ +# +# $Id$ +# +# Filter for pkg build +# +# Solaris package name (VENDOR : 4 letters in uppercase, SOFT : 8 letters in lowercase) +filter PBSOLPKG = SUNWsoftware + diff --git a/pbconf/pbfilter/rpm.pbf b/pbconf/pbfilter/rpm.pbf new file mode 100644 index 0000000..68b0262 --- /dev/null +++ b/pbconf/pbfilter/rpm.pbf @@ -0,0 +1,30 @@ +# +# $Id$ +# +# Filter for rpm build +# + +# PBGRP is replaced by the RPM group of apps +filter PBGRP = Applications/System + +# PBLIC is replaced by the license of the application +filter PBLIC = ASL 2.0 + +# PBDEP is replaced by the list of dependencies +#filter PBDEP = + +# PBBDEP is replaced by the list of build dependencies +filter PBBDEP = python-devel, python-setuptools +filter PBDEP = python-docopt, python-tortilla + +# PBSUF is replaced by the package suffix ($pb->{'suf'} in code) +filter PBSUF = $pb->{'suf'} + +# PBOBS is replaced by the Obsolete line +#filter PBOBS = + +# transform a variable from the key on the right to the key on the left using the perl expression +# after the input key name. Useful for taking multi-line documentation and removing trailing spaces +# or leading spaces. +#transform PBDESC = PBDESC_raw s/\s+\n/\n/go; + diff --git a/pbconf/pbfilter/ubuntu-6.06.pbf b/pbconf/pbfilter/ubuntu-6.06.pbf new file mode 100644 index 0000000..9f8c61f --- /dev/null +++ b/pbconf/pbfilter/ubuntu-6.06.pbf @@ -0,0 +1,11 @@ +# +# $Id$ +# +# Filter for ubuntu build +# +# PBDEBSTD is replaced by the Debian standard version +filter PBDEBSTD = 3.6.2 + +# PBDEBCOMP is replaced by the Debian Compatibility value +filter PBDEBCOMP = 4 + diff --git a/pbconf/pbfilter/ubuntu-7.04.pbf b/pbconf/pbfilter/ubuntu-7.04.pbf new file mode 100644 index 0000000..9f8c61f --- /dev/null +++ b/pbconf/pbfilter/ubuntu-7.04.pbf @@ -0,0 +1,11 @@ +# +# $Id$ +# +# Filter for ubuntu build +# +# PBDEBSTD is replaced by the Debian standard version +filter PBDEBSTD = 3.6.2 + +# PBDEBCOMP is replaced by the Debian Compatibility value +filter PBDEBCOMP = 4 + diff --git a/pbconf/pbfilter/ubuntu-7.10.pbf b/pbconf/pbfilter/ubuntu-7.10.pbf new file mode 100644 index 0000000..9f8c61f --- /dev/null +++ b/pbconf/pbfilter/ubuntu-7.10.pbf @@ -0,0 +1,11 @@ +# +# $Id$ +# +# Filter for ubuntu build +# +# PBDEBSTD is replaced by the Debian standard version +filter PBDEBSTD = 3.6.2 + +# PBDEBCOMP is replaced by the Debian Compatibility value +filter PBDEBCOMP = 4 + diff --git a/pbconf/pbfilter/ubuntu-8.04.pbf b/pbconf/pbfilter/ubuntu-8.04.pbf new file mode 100644 index 0000000..1855642 --- /dev/null +++ b/pbconf/pbfilter/ubuntu-8.04.pbf @@ -0,0 +1,11 @@ +# +# $Id$ +# +# Filter for ubuntu build +# +# PBDEBSTD is replaced by the Debian standard version +filter PBDEBSTD = 3.7.3 + +# PBDEBCOMP is replaced by the Debian Compatibility value +filter PBDEBCOMP = 4 + diff --git a/pbconf/pbfilter/ubuntu-8.10.pbf b/pbconf/pbfilter/ubuntu-8.10.pbf new file mode 100644 index 0000000..1855642 --- /dev/null +++ b/pbconf/pbfilter/ubuntu-8.10.pbf @@ -0,0 +1,11 @@ +# +# $Id$ +# +# Filter for ubuntu build +# +# PBDEBSTD is replaced by the Debian standard version +filter PBDEBSTD = 3.7.3 + +# PBDEBCOMP is replaced by the Debian Compatibility value +filter PBDEBCOMP = 4 + diff --git a/pbconf/pbfilter/ubuntu-9.04.pbf b/pbconf/pbfilter/ubuntu-9.04.pbf new file mode 100644 index 0000000..4f2c95a --- /dev/null +++ b/pbconf/pbfilter/ubuntu-9.04.pbf @@ -0,0 +1,11 @@ +# +# $Id$ +# +# Filter for ubuntu build +# +# PBDEBSTD is replaced by the Debian standard version +filter PBDEBSTD = 3.8.0 + +# PBDEBCOMP is replaced by the Debian Compatibility value +filter PBDEBCOMP = 4 + diff --git a/pbconf/pbfilter/ubuntu.pbf b/pbconf/pbfilter/ubuntu.pbf new file mode 100644 index 0000000..3133ad3 --- /dev/null +++ b/pbconf/pbfilter/ubuntu.pbf @@ -0,0 +1,11 @@ +# +# $Id$ +# +# Filter for ubuntu build +# +# PBDEBSTD is replaced by the Debian standard version +filter PBDEBSTD = 3.8.3 + +# PBDEBCOMP is replaced by the Debian Compatibility value +filter PBDEBCOMP = 7 + diff --git a/pbconf/python-redfish.pb b/pbconf/python-redfish.pb new file mode 100644 index 0000000..48392d9 --- /dev/null +++ b/pbconf/python-redfish.pb @@ -0,0 +1,138 @@ +# +# Project Builder configuration file +# For project python-redfish +# +# $Id$ +# + +# +# What is the project URL +# +#pburl python-redfish = svn://svn.python-redfish.org/python-redfish/devel +#pburl python-redfish = svn://svn+ssh.python-redfish.org/python-redfish/devel +#pburl python-redfish = cvs://cvs.python-redfish.org/python-redfish/devel +#pburl python-redfish = http://www.python-redfish.org/src/python-redfish-devel.tar.gz +#pburl python-redfish = ftp://ftp.python-redfish.org/src/python-redfish-devel.tar.gz +#pburl python-redfish = file:///src/python-redfish-devel.tar.gz +#pburl python-redfish = dir:///src/python-redfish-devel +pburl python-redfish = git+ssh://git@github.com/bcornec/python-redfish.git + +# Repository +pbrepo python-redfish = ftp://ftp.mondorescue.org +pbml python-redfish = python-redfish@mondorescue.org +#pbsmtp python-redfish = localhost +# For distro supporting it, which area is used +#projcomponent python-redfish = main + +# Check whether project is well formed +# when downloading from ftp/http/... +# (containing already a directory with the project-version name) +pbwf python-redfish = 1 + +# Do we check GPG keys +pbgpgcheck python-redfish = 1 + +# +# Packager label +# +pbpackager python-redfish = Bruno Cornec +# + +# For delivery to a machine by SSH (potentially the FTP server) +# Needs hostname, account and directory +# +#sshhost python-redfish = www.python-redfish.org +#sshlogin python-redfish = bill +#sshdir python-redfish = /python-redfish/ftp +#sshport python-redfish = 22 + +# +# For Virtual machines management +# Naming convention to follow: distribution name (as per ProjectBuilder::Distribution) +# followed by '-' and by release number +# followed by '-' and by architecture +# a .vmtype extension will be added to the resulting string +# a QEMU rhel-3-i286 here means that the VM will be named rhel-3-i386.qemu +# +vmlist python-redfish = rhel-6-i386,opensuse-12.3-i386,sles-11-i386,gentoo-nover-i386,debian-8-i386,ubuntu-14.04-i386,ubuntu-15.10-i386,mageia-4-i386,mageia-5-i386,mageia-4-x86_64,mageia-5-x86_64,fedora-22-x86_64,fedora-23-x86_64,rhel-6-x86_64,rhel-7-x86_64,opensuse-12.3-i386,sles-10-x86_64,sles-11-x86_64,sles-12-x86_64,gentoo-nover-x86_64,debian-8-x86_64,ubuntu-14.04-x86_64,ubuntu-15.10-x86_64 + +# +# Valid values for vmtype are +# qemu, (vmware, xen, ... TBD) +#vmtype python-redfish = qemu + +# Hash for VM stuff on vmtype +#vmntp default = pool.ntp.org + +# We suppose we can commmunicate with the VM through SSH +#vmhost python-redfish = localhost +#vmlogin python-redfish = pb +#vmport python-redfish = 2222 + +# Timeout to wait when VM is launched/stopped +#vmtmout default = 120 + +# per VMs needed paramaters +#vmopt python-redfish = -m 384 -daemonize +#vmpath python-redfish = /home/qemu +#vmsize python-redfish = 5G + +# +# For Virtual environment management +# Naming convention to follow: distribution name (as per ProjectBuilder::Distribution) +# followed by '-' and by release number +# followed by '-' and by architecture +# a .vetype extension will be added to the resulting string +# a chroot rhel-3-i286 here means that the VE will be named rhel-3-i386.chroot +# +#velist python-redfish = fedora-7-i386 + +# VE params +vetype python-redfish = docker +#ventp default = pool.ntp.org +#velogin python-redfish = pb +#vepath python-redfish = /var/cache/rpmbootstrap +#rbsconf python-redfish = /etc/mock +#verebuild python-redfish = false + +# +# Global version/tag for the project +# +projver python-redfish = devel +projtag python-redfish = 1 + +# Hash of valid version names + +# Additional repository to add at build time +# addrepo centos-5-x86_64 = http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm,ftp://ftp.project-builder.org/centos/5/pb.repo +# addrepo centos-5-x86_64 = http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm,ftp://ftp.project-builder.org/centos/5/pb.repo +#version python-redfish = devel,stable + +# Is it a test version or a production version +testver python-redfish = true +# Which upper target dir for delivery +delivery python-redfish = test + +# Additional repository to add at build time +# addrepo centos-5-x86_64 = http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm,ftp://ftp.project-builder.org/centos/5/pb.repo +# addrepo centos-4-x86_64 = http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el4.rf.x86_64.rpm,ftp://ftp.project-builder.org/centos/4/pb.repo + +# Adapt to your needs: +# Optional if you need to overwrite the global values above +# +#pkgver python-redfish = stable +#pkgtag python-redfish = 3 +# Hash of default package/package directory +defpkgdir python-redfish = . +# Hash of additional package/package directory +#extpkgdir minor-pkg = dir-minor-pkg + +# List of files per pkg on which to apply filters +# Files are mentioned relatively to pbroot/defpkgdir +filteredfiles python-redfish = redfish-client/redfish-client.py +#supfiles python-redfish = python-redfish.init + +# For perl modules, names are different depending on distro +# Here perl-xxx for RPMs, libxxx-perl for debs, ... +# So the package name is indeed virtual +#namingtype python-redfish = perl diff --git a/pbconf/python-redfish/deb/changelog b/pbconf/python-redfish/deb/changelog new file mode 100644 index 0000000..9320d95 --- /dev/null +++ b/pbconf/python-redfish/deb/changelog @@ -0,0 +1 @@ +PBLOG diff --git a/pbconf/python-redfish/deb/compat b/pbconf/python-redfish/deb/compat new file mode 100644 index 0000000..53f13a4 --- /dev/null +++ b/pbconf/python-redfish/deb/compat @@ -0,0 +1 @@ +PBDEBCOMP diff --git a/pbconf/python-redfish/deb/control b/pbconf/python-redfish/deb/control new file mode 100644 index 0000000..e1c4c74 --- /dev/null +++ b/pbconf/python-redfish/deb/control @@ -0,0 +1,23 @@ +Source: PBPKG +# http://www.debian.org/doc/debian-policy/ch-archive.html#s-subsections +Section: PBGRP +Priority: optional +Maintainer: PBPACKAGER +Build-Depends: debhelper (>= 4.2.20), python-dev (>= 2.7), PBBDEP +Standards-Version: PBDEBSTD +Vcs-Svn: https://github.com/bcornec/PBPROJ +Vcs-Browser: https://github.com/bcornec/PBPROJ +Homepage: PBURL + +Package: PBPKG +Architecture: amd64 i386 ia64 +# http://www.debian.org/doc/debian-policy/ch-archive.html#s-subsections +Section: PBGRP +Priority: optional +Depends: ${shlibs:Depends}, ${misc:Depends}, python (>= 2.7), PBDEP +Recommends: PBREC +Suggests: PBSUG +Description: PBSUMMARY + PBDESC + . + diff --git a/pbconf/python-redfish/deb/copyright b/pbconf/python-redfish/deb/copyright new file mode 100644 index 0000000..ab672db --- /dev/null +++ b/pbconf/python-redfish/deb/copyright @@ -0,0 +1,27 @@ +This package is debianized by PBPACKAGER +`date` + +The current upstream source was downloaded from +PBREPO. + +Upstream Authors: Put their name here + +Copyright: + + This package is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 dated June, 1991. + + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this package; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, + MA 02110-1301, USA. + +On Debian systems, the complete text of the GNU General +Public License can be found in /usr/share/common-licenses/GPL. + diff --git a/pbconf/python-redfish/deb/python-redfish.dirs b/pbconf/python-redfish/deb/python-redfish.dirs new file mode 100644 index 0000000..e69de29 diff --git a/pbconf/python-redfish/deb/python-redfish.docs b/pbconf/python-redfish/deb/python-redfish.docs new file mode 100644 index 0000000..2db6539 --- /dev/null +++ b/pbconf/python-redfish/deb/python-redfish.docs @@ -0,0 +1,5 @@ +INSTALL +COPYING +AUTHORS +NEWS +README diff --git a/pbconf/python-redfish/deb/rules b/pbconf/python-redfish/deb/rules new file mode 100644 index 0000000..6d52ab7 --- /dev/null +++ b/pbconf/python-redfish/deb/rules @@ -0,0 +1,16 @@ +#!/usr/bin/make -f + +export PYBUILD_NAME=PBPKG +export PYBUILD_AFTER_INSTALL_python3=rm -rf {destdir}/usr/bin + +%: + dh $@ --with python2,python3,sphinxdoc --buildsystem=pybuild + +PYPI_DESC = PBSUMMARY +DEB_UPSTREAM_VERSION=$(shell dpkg-parsechangelog | sed -rne 's,^Version: ([^-]+).*,\1,p') + help2man = PYTHONPATH=${CURDIR} help2man -N --version-string=${DEB_UPSTREAM_VERSION} \ + -o $1 -n '$2' $(CURDIR)/debian/PBPKG/usr/bin/$(subst .1,,$1) + +clean: + #rm -f redfish-client.1 + dh $@ --buildsystem=pybuild diff --git a/pbconf/python-redfish/pbcl b/pbconf/python-redfish/pbcl new file mode 100644 index 0000000..1995941 --- /dev/null +++ b/pbconf/python-redfish/pbcl @@ -0,0 +1,30 @@ +# $Id$ + +PYTHON-REDFISH CHANGES + +devel (2050-01-01) +- TBD () + +v0.2 (2015-12-08) +- first rpm made using project-builder.org (Bruno Cornec) +- Update the simple-simulator example (René Ribaud) +- Update redfish-client (René Ribaud) +- Add both UEFI parameters "Continuous" and "Once" as an example (Vincent Misson) +- New function set_parameter and set_parameter_json on Systems Class (Vincent Misson) +- New classes in types.py: Bios & Boot (Vincent Misson) +- New function get_power() and generic function get_parameter(parameter_name) for class Systems (Vincent Misson) +- Create new function: get_serialnumber. Tested with Simulator (v1) + Redfish Proliant 0.9.5 and 1.0 (Vincent Misson) +- Various doc updates (Bruno COrnec, René Ribaud) + +v0.1 (2015-09-09) +- Uses tortilla lib to wrap the REST API (René Ribaud) +- Uses python requests to manage login/logout (René Ribaud) +- Provides 2 functional working examples with Redfish simulator and ProLiant server or Moonshot Server (René Ribaud) +- Remove OpenStack deps as this code has to be usable outside of OpenStack (Bruno Cornec) +- Provides a configuration file to handle credentials and connection URL (René Ribaud) +- Provides a mapping class to handle multiple versions of Redfish (in this version, 0.95.0 for ProLiant and 1.0.0 for mockup) (René Ribaud) +- Provides a first action reset_server to ... reset system The action is commented into simple-proliant.py to not do unexpected reset. (René Ribaud) +- Provides a first retrieving function get_bios_version to get the BIOS version of a system. (René Ribaud) +- Add basic logging capability (René Ribaud) +- Change the documentation to reference Redfish specification. Remove HP and iLO specific references (Samer El-Haj-Mahmoud) +- Initial content and Clean up to meet pep8 and doc strings (Devenanda van der Veen) diff --git a/pbconf/python-redfish/pkg/depend b/pbconf/python-redfish/pkg/depend new file mode 100644 index 0000000..8ef02d8 --- /dev/null +++ b/pbconf/python-redfish/pkg/depend @@ -0,0 +1,4 @@ +# +# $Id$ +# +#P SUNWperl584core Perl 5.8.4 (core) diff --git a/pbconf/python-redfish/pkg/pbbuild b/pbconf/python-redfish/pkg/pbbuild new file mode 100644 index 0000000..95ac4f6 --- /dev/null +++ b/pbconf/python-redfish/pkg/pbbuild @@ -0,0 +1,7 @@ +# +# $Id$ +# +#perl Makefile.PL INSTALLDIRS=vendor +./configure --prefix=/usr +make +make install DESTDIR=\$1 diff --git a/pbconf/python-redfish/pkg/pkginfo b/pbconf/python-redfish/pkg/pkginfo new file mode 100644 index 0000000..d56b330 --- /dev/null +++ b/pbconf/python-redfish/pkg/pkginfo @@ -0,0 +1,13 @@ +# +# $Id$ +# +PKG="PBSOLPKG" +NAME="PBREALPKG" +VERSION="PBVER" +# all or i386 +ARCH="all" +CATEGORY="application" +DESC="PBSUMMARY" +EMAIL="PBPACKAGER" +VENDOR="PBPACKAGER" +HOTLINE="PBURL" diff --git a/pbconf/python-redfish/rpm/python-redfish.spec b/pbconf/python-redfish/rpm/python-redfish.spec new file mode 100644 index 0000000..22e4e5b --- /dev/null +++ b/pbconf/python-redfish/rpm/python-redfish.spec @@ -0,0 +1,43 @@ +# +# $Id$ +# + +Name: PBREALPKG +Version: PBVER +Release: PBTAGPBSUF +Summary: PBSUMMARY + +License: PBLIC +Group: PBGRP +Url: PBURL +Source: PBREPO/PBSRC +Requires: PBDEP +BuildArch: noarch +BuildRequires: PBBDEP + +%description +PBDESC + +%prep +%setup -q + +%build +%{__python} setup.py build + +%install +%{__python} setup.py install -O1 --skip-build --root %{buildroot} +%{__mkdir} -p %{buildroot}/%{_bindir} +install -m 755 redfish-client/redfish-client.py %{buildroot}/%{_bindir}/redfish-client +rm -fr %{buildroot}/%{python_sitelib}/redfish/old + +%files +%doc README.rst examples/[a-z]*.py LICENSE +%dir %{python_sitelib}/redfish +%{_bindir}/redfish-client +%{python_sitelib}/redfish/*.py* +%{python_sitelib}/redfish/tests/*.py* +%{python_sitelib}/python_redfish* + +%changelog +PBLOG + diff --git a/python-redfish.spec b/python-redfish.spec deleted file mode 100644 index e60f04d..0000000 --- a/python-redfish.spec +++ /dev/null @@ -1,36 +0,0 @@ -%global srcname redfish - -Name: python-%{srcname} -Version: 0.1 -Release: %mkrel 1 -Summary: Redfish python library - -Group: Development/Python -License: Apache v2.0 -URL: https://github.com/devananda/%{name} -Source0: %name-%version.tar.gz - -BuildArch: noarch -BuildRequires: python-devel -BuildRequires: python-setuptools - -%description -The Redfish API supports dialoging with a Redfish compliant -system such as defined by http://www.redfishcertification.org - -%prep -%setup -q -n %{name} -#-%{version} - -%build -%{__python} setup.py build - -%install -%{__python} setup.py install -O1 --skip-build --root %{buildroot} - -%files -%doc README.rst examples/*.py -%dir %{python_sitelib}/redfish -%{python_sitelib}/redfish/*.py* -%{python_sitelib}/redfish/tests/*.py* -%{python_sitelib}/python_redfish* diff --git a/redfish-client/redfish-client.py b/redfish-client/redfish-client.py index 5d011c1..4ed5d64 100755 --- a/redfish-client/redfish-client.py +++ b/redfish-client/redfish-client.py @@ -258,7 +258,7 @@ def get_manager_info(manager_name, check_SSL): # Main program - redfishclient_version = "redfish-client 0.1" + redfishclient_version = "redfish-client PBVER" # Parse and manage arguments arguments = docopt.docopt(__doc__, version=redfishclient_version) From 90c7c1900c1599a7c0036a49490007fa0bc07f37 Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Tue, 19 Jan 2016 11:00:55 +0100 Subject: [PATCH 048/224] Package build and delivery improvements - Setup repository delivery on mondorescue.org --- pbconf/python-redfish.pb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pbconf/python-redfish.pb b/pbconf/python-redfish.pb index 48392d9..42a1e60 100644 --- a/pbconf/python-redfish.pb +++ b/pbconf/python-redfish.pb @@ -41,10 +41,11 @@ pbpackager python-redfish = Bruno Cornec # For delivery to a machine by SSH (potentially the FTP server) # Needs hostname, account and directory # -#sshhost python-redfish = www.python-redfish.org -#sshlogin python-redfish = bill -#sshdir python-redfish = /python-redfish/ftp -#sshport python-redfish = 22 +sshhost python-redfish = www.mondorescue.org +sshlogin python-redfish = bruno +sshdir python-redfish = /prj/ftp +sshport python-redfish = 22 +# # # For Virtual machines management From ce7e6da0aad0f3b16507fb1d37fae41d46f9b3e8 Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Tue, 19 Jan 2016 11:04:19 +0100 Subject: [PATCH 049/224] Package build and delivery improvements - Fix #13 (https://github.com/bcornec/python-redfish/issues/13) by adding a dependency on python-jinja2 --- pbconf/pbfilter/deb.pbf | 2 +- pbconf/pbfilter/rpm.pbf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pbconf/pbfilter/deb.pbf b/pbconf/pbfilter/deb.pbf index 4d359ac..44ef950 100644 --- a/pbconf/pbfilter/deb.pbf +++ b/pbconf/pbfilter/deb.pbf @@ -11,7 +11,7 @@ filter PBGRP = utils filter PBLIC = ASL 2.0 # PBDEP is replaced by the list of dependencies -filter PBDEP = python-docopt, python-tortilla +filter PBDEP = python-docopt, python-tortilla, python-jinja2 # PBBDEP is replaced by the list of build dependencies filter PBBDEP = python-devel, python-setuptools diff --git a/pbconf/pbfilter/rpm.pbf b/pbconf/pbfilter/rpm.pbf index 68b0262..655a7e6 100644 --- a/pbconf/pbfilter/rpm.pbf +++ b/pbconf/pbfilter/rpm.pbf @@ -15,7 +15,7 @@ filter PBLIC = ASL 2.0 # PBBDEP is replaced by the list of build dependencies filter PBBDEP = python-devel, python-setuptools -filter PBDEP = python-docopt, python-tortilla +filter PBDEP = python-docopt, python-tortilla, python-jinja2 # PBSUF is replaced by the package suffix ($pb->{'suf'} in code) filter PBSUF = $pb->{'suf'} From 4e1e5039abd8e3cdc463dac1a476bc08835342f7 Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Thu, 21 Jan 2016 18:56:19 +0100 Subject: [PATCH 050/224] Minor fix for redfish-client on help line for insecure --- redfish-client/redfish-client.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redfish-client/redfish-client.py b/redfish-client/redfish-client.py index 4ed5d64..6056d59 100755 --- a/redfish-client/redfish-client.py +++ b/redfish-client/redfish-client.py @@ -20,7 +20,7 @@ -h --help Show this screen. --version Show version. --conf_file FILE Configuration file [default: ~/.redfish.conf] - --insecure Check SSL certificats + --insecure Ignore SSL certificates --debug LEVEL Run in debug mode, LEVEL from 1 to 3 increase verbosity Security warning LEVEL > 1 could reveal password into the logs --debugfile FILE Specify the client debugfile [default: redfish-client.log] From 0c173c7c874c33f687bac0b526458d65cd36790b Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Fri, 22 Jan 2016 01:51:23 +0100 Subject: [PATCH 051/224] Fix deb package build dependencies --- pbconf/pbfilter/deb.pbf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pbconf/pbfilter/deb.pbf b/pbconf/pbfilter/deb.pbf index 44ef950..c2c9c43 100644 --- a/pbconf/pbfilter/deb.pbf +++ b/pbconf/pbfilter/deb.pbf @@ -14,7 +14,7 @@ filter PBLIC = ASL 2.0 filter PBDEP = python-docopt, python-tortilla, python-jinja2 # PBBDEP is replaced by the list of build dependencies -filter PBBDEP = python-devel, python-setuptools +filter PBBDEP = python-dev, python-setuptools, python-pbr # PBSUG is replaced by the list of suggestions #filter PBSUG = From c34d85fbc51b58cbdac15f9a8f5c9754fd2be5ca Mon Sep 17 00:00:00 2001 From: Uggla Date: Thu, 11 Feb 2016 16:12:56 +0100 Subject: [PATCH 052/224] Documentation update - Put in place sphinx mechanism to build documentation. Most of the documentation is generated from python docstrings. - redfish-client.py usage is a bit modified to display a decent documentation. - A link rfclient.py to redfish-client.py was created to allow sphinx parsing. The '-' char is not allowed for module and so sphinx autodoc module. - Note : Copyright may need to be reviewed as well as main.py. --- README.rst | 5 +- doc/Makefile | 177 ++++++++++ doc/source/classesdoc.rst | 9 + doc/source/conf.py | 329 ++++++++++++++++-- doc/source/index.rst | 1 + doc/source/python-redfish_classes/config.rst | 6 + .../python-redfish_classes/exception.rst | 6 + doc/source/python-redfish_classes/main.rst | 6 + doc/source/python-redfish_classes/mapping.rst | 6 + doc/source/python-redfish_classes/types.rst | 6 + doc/source/python-redfish_lib.rst | 8 + doc/source/redfish-client.rst | 7 + redfish-client/redfish-client.py | 84 ++--- redfish-client/rfclient.py | 1 + redfish/config.py | 6 +- redfish/types.py | 8 +- requirements.txt | 1 + 17 files changed, 577 insertions(+), 89 deletions(-) create mode 100644 doc/Makefile create mode 100644 doc/source/classesdoc.rst mode change 100755 => 100644 doc/source/conf.py create mode 100644 doc/source/python-redfish_classes/config.rst create mode 100644 doc/source/python-redfish_classes/exception.rst create mode 100644 doc/source/python-redfish_classes/main.rst create mode 100644 doc/source/python-redfish_classes/mapping.rst create mode 100644 doc/source/python-redfish_classes/types.rst create mode 100644 doc/source/python-redfish_lib.rst create mode 100644 doc/source/redfish-client.rst create mode 120000 redfish-client/rfclient.py diff --git a/README.rst b/README.rst index 7855714..3491806 100644 --- a/README.rst +++ b/README.rst @@ -45,15 +45,13 @@ Developer setup --------------- To initialize a local development environment (eg, so you can run unit tests) -you should run the following commands:: +you should run the following commands Contacts -------- Distribution list : python-redfish@mondorescue.org - - Further References ------------------ @@ -62,3 +60,4 @@ The data model documentation can be found here: The overall protocol documentation can be found here: http://www.redfishspecification.org/ + diff --git a/doc/Makefile b/doc/Makefile new file mode 100644 index 0000000..e4c5e88 --- /dev/null +++ b/doc/Makefile @@ -0,0 +1,177 @@ +# Makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +PAPER = +BUILDDIR = build + +# User-friendly check for sphinx-build +ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) +$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) +endif + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source +# the i18n builder cannot share the environment and doctrees with the others +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source + +.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext + +help: + @echo "Please use \`make ' where is one of" + @echo " html to make standalone HTML files" + @echo " dirhtml to make HTML files named index.html in directories" + @echo " singlehtml to make a single large HTML file" + @echo " pickle to make pickle files" + @echo " json to make JSON files" + @echo " htmlhelp to make HTML files and a HTML help project" + @echo " qthelp to make HTML files and a qthelp project" + @echo " devhelp to make HTML files and a Devhelp project" + @echo " epub to make an epub" + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" + @echo " latexpdf to make LaTeX files and run them through pdflatex" + @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" + @echo " text to make text files" + @echo " man to make manual pages" + @echo " texinfo to make Texinfo files" + @echo " info to make Texinfo files and run them through makeinfo" + @echo " gettext to make PO message catalogs" + @echo " changes to make an overview of all changed/added/deprecated items" + @echo " xml to make Docutils-native XML files" + @echo " pseudoxml to make pseudoxml-XML files for display purposes" + @echo " linkcheck to check all external links for integrity" + @echo " doctest to run all doctests embedded in the documentation (if enabled)" + +clean: + rm -rf $(BUILDDIR)/* + +html: + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." + +dirhtml: + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." + +singlehtml: + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml + @echo + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." + +pickle: + $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle + @echo + @echo "Build finished; now you can process the pickle files." + +json: + $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json + @echo + @echo "Build finished; now you can process the JSON files." + +htmlhelp: + $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp + @echo + @echo "Build finished; now you can run HTML Help Workshop with the" \ + ".hhp project file in $(BUILDDIR)/htmlhelp." + +qthelp: + $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp + @echo + @echo "Build finished; now you can run "qcollectiongenerator" with the" \ + ".qhcp project file in $(BUILDDIR)/qthelp, like this:" + @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/python-redfish.qhcp" + @echo "To view the help file:" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/python-redfish.qhc" + +devhelp: + $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp + @echo + @echo "Build finished." + @echo "To view the help file:" + @echo "# mkdir -p $$HOME/.local/share/devhelp/python-redfish" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/python-redfish" + @echo "# devhelp" + +epub: + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub + @echo + @echo "Build finished. The epub file is in $(BUILDDIR)/epub." + +latex: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo + @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." + @echo "Run \`make' in that directory to run these through (pdf)latex" \ + "(use \`make latexpdf' here to do that automatically)." + +latexpdf: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through pdflatex..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +latexpdfja: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through platex and dvipdfmx..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +text: + $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text + @echo + @echo "Build finished. The text files are in $(BUILDDIR)/text." + +man: + $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man + @echo + @echo "Build finished. The manual pages are in $(BUILDDIR)/man." + +texinfo: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo + @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." + @echo "Run \`make' in that directory to run these through makeinfo" \ + "(use \`make info' here to do that automatically)." + +info: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo "Running Texinfo files through makeinfo..." + make -C $(BUILDDIR)/texinfo info + @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." + +gettext: + $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale + @echo + @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." + +changes: + $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes + @echo + @echo "The overview file is in $(BUILDDIR)/changes." + +linkcheck: + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck + @echo + @echo "Link check complete; look for any errors in the above output " \ + "or in $(BUILDDIR)/linkcheck/output.txt." + +doctest: + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest + @echo "Testing of doctests in the sources finished, look at the " \ + "results in $(BUILDDIR)/doctest/output.txt." + +xml: + $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml + @echo + @echo "Build finished. The XML files are in $(BUILDDIR)/xml." + +pseudoxml: + $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml + @echo + @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." diff --git a/doc/source/classesdoc.rst b/doc/source/classesdoc.rst new file mode 100644 index 0000000..b209587 --- /dev/null +++ b/doc/source/classesdoc.rst @@ -0,0 +1,9 @@ +===================== +Classes documentation +===================== + +.. toctree:: + :maxdepth: 2 + + python-redfish_lib + redfish-client diff --git a/doc/source/conf.py b/doc/source/conf.py old mode 100755 new mode 100644 index 512d1fa..c0e4fc1 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -1,75 +1,332 @@ # -*- coding: utf-8 -*- -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# python-redfish documentation build configuration file, created by +# sphinx-quickstart on Wed Feb 10 19:41:20 2016. # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. +# This file is execfile()d with the current directory set to its +# containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. -import os import sys +import os +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. sys.path.insert(0, os.path.abspath('../..')) -# -- General configuration ---------------------------------------------------- +sys.path.insert(0, os.path.abspath('../../redfish-client')) + +# -- General configuration ------------------------------------------------ + +# If your documentation needs a minimal Sphinx version, state it here. +#needs_sphinx = '1.0' # Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones. +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. extensions = [ 'sphinx.ext.autodoc', - #'sphinx.ext.intersphinx', - 'oslosphinx' + 'sphinx.ext.viewcode', ] -# autodoc generation is a bit aggressive and a nuisance when doing heavy -# text edit cycles. -# execute "export SPHINX_DEBUG=1" in your terminal to disable +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] # The suffix of source filenames. source_suffix = '.rst' +# The encoding of source files. +#source_encoding = 'utf-8-sig' + # The master toctree document. master_doc = 'index' # General information about the project. project = u'python-redfish' -copyright = u'2013, OpenStack Foundation' +copyright = u'2016, Bruno Cornec, Vincent Misson, René Ribaud' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +version = '0.4' +# The full version, including alpha/beta/rc tags. +release = '0.4' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +#language = None + +# There are two options for replacing |today|: either, you set today to some +# non-false value, then it is used: +#today = '' +# Else, today_fmt is used as the format for a strftime call. +#today_fmt = '%B %d, %Y' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +exclude_patterns = [] + +# The reST default role (used for this markup: `text`) to use for all +# documents. +#default_role = None # If true, '()' will be appended to :func: etc. cross-reference text. -add_function_parentheses = True +#add_function_parentheses = True # If true, the current module name will be prepended to all description # unit titles (such as .. function::). -add_module_names = True +#add_module_names = True + +# If true, sectionauthor and moduleauthor directives will be shown in the +# output. They are ignored by default. +#show_authors = False # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' -# -- Options for HTML output -------------------------------------------------- +# A list of ignored prefixes for module index sorting. +#modindex_common_prefix = [] + +# If true, keep warnings as "system message" paragraphs in the built documents. +#keep_warnings = False + + +# -- Options for HTML output ---------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +html_theme = 'default' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +#html_theme_options = {} + +# Add any paths that contain custom themes here, relative to this directory. +#html_theme_path = [] + +# The name for this set of Sphinx documents. If None, it defaults to +# " v documentation". +#html_title = None -# The theme to use for HTML and HTML Help pages. Major themes that come with -# Sphinx are currently 'default' and 'sphinxdoc'. -# html_theme_path = ["."] -# html_theme = '_theme' -# html_static_path = ['static'] +# A shorter title for the navigation bar. Default is the same as html_title. +#html_short_title = None + +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. +#html_logo = None + +# The name of an image file (within the static path) to use as favicon of the +# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# pixels large. +#html_favicon = None + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# Add any extra paths that contain custom files (such as robots.txt or +# .htaccess) here, relative to this directory. These files are copied +# directly to the root of the documentation. +#html_extra_path = [] + +# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, +# using the given strftime format. +#html_last_updated_fmt = '%b %d, %Y' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +#html_use_smartypants = True + +# Custom sidebar templates, maps document names to template names. +#html_sidebars = {} + +# Additional templates that should be rendered to pages, maps page names to +# template names. +#html_additional_pages = {} + +# If false, no module index is generated. +#html_domain_indices = True + +# If false, no index is generated. +#html_use_index = True + +# If true, the index is split into individual pages for each letter. +#html_split_index = False + +# If true, links to the reST sources are added to the pages. +#html_show_sourcelink = True + +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. +#html_show_sphinx = True + +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. +#html_show_copyright = True + +# If true, an OpenSearch description file will be output, and all pages will +# contain a tag referring to it. The value of this option must be the +# base URL from which the finished HTML is served. +#html_use_opensearch = '' + +# This is the file name suffix for HTML files (e.g. ".xhtml"). +#html_file_suffix = None # Output file base name for HTML help builder. -htmlhelp_basename = '%sdoc' % project +htmlhelp_basename = 'python-redfishdoc' + + +# -- Options for LaTeX output --------------------------------------------- + +latex_elements = { +# The paper size ('letterpaper' or 'a4paper'). +#'papersize': 'letterpaper', + +# The font size ('10pt', '11pt' or '12pt'). +#'pointsize': '10pt', + +# Additional stuff for the LaTeX preamble. +#'preamble': '', +} # Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, author, documentclass -# [howto/manual]). +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). latex_documents = [ - ('index', - '%s.tex' % project, - u'%s Documentation' % project, - u'OpenStack Foundation', 'manual'), + ('index', 'python-redfish.tex', u'python-redfish Documentation', + u'Bruno Cornec, Vincent Misson, René Ribaud', 'manual'), +] + +# The name of an image file (relative to this directory) to place at the top of +# the title page. +#latex_logo = None + +# For "manual" documents, if this is true, then toplevel headings are parts, +# not chapters. +#latex_use_parts = False + +# If true, show page references after internal links. +#latex_show_pagerefs = False + +# If true, show URL addresses after external links. +#latex_show_urls = False + +# Documents to append as an appendix to all manuals. +#latex_appendices = [] + +# If false, no module index is generated. +#latex_domain_indices = True + + +# -- Options for manual page output --------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + ('index', 'python-redfish', u'python-redfish Documentation', + [u'Bruno Cornec, Vincent Misson, René Ribaud'], 1) +] + +# If true, show URL addresses after external links. +#man_show_urls = False + + +# -- Options for Texinfo output ------------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + ('index', 'python-redfish', u'python-redfish Documentation', + u'Bruno Cornec, Vincent Misson, René Ribaud', 'python-redfish', 'One line description of project.', + 'Miscellaneous'), ] -# Example configuration for intersphinx: refer to the Python standard library. -#intersphinx_mapping = {'http://docs.python.org/': None} +# Documents to append as an appendix to all manuals. +#texinfo_appendices = [] + +# If false, no module index is generated. +#texinfo_domain_indices = True + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +#texinfo_show_urls = 'footnote' + +# If true, do not generate a @detailmenu in the "Top" node's menu. +#texinfo_no_detailmenu = False + + +# -- Options for Epub output ---------------------------------------------- + +# Bibliographic Dublin Core info. +epub_title = u'python-redfish' +epub_author = u'Bruno Cornec, Vincent Misson, René Ribaud' +epub_publisher = u'Bruno Cornec, Vincent Misson, René Ribaud' +epub_copyright = u'2016, Bruno Cornec, Vincent Misson, René Ribaud' + +# The basename for the epub file. It defaults to the project name. +#epub_basename = u'python-redfish' + +# The HTML theme for the epub output. Since the default themes are not optimized +# for small screen space, using the same theme for HTML and epub output is +# usually not wise. This defaults to 'epub', a theme designed to save visual +# space. +#epub_theme = 'epub' + +# The language of the text. It defaults to the language option +# or en if the language is not set. +#epub_language = '' + +# The scheme of the identifier. Typical schemes are ISBN or URL. +#epub_scheme = '' + +# The unique identifier of the text. This can be a ISBN number +# or the project homepage. +#epub_identifier = '' + +# A unique identification for the text. +#epub_uid = '' + +# A tuple containing the cover image and cover page html template filenames. +#epub_cover = () + +# A sequence of (type, uri, title) tuples for the guide element of content.opf. +#epub_guide = () + +# HTML files that should be inserted before the pages created by sphinx. +# The format is a list of tuples containing the path and title. +#epub_pre_files = [] + +# HTML files shat should be inserted after the pages created by sphinx. +# The format is a list of tuples containing the path and title. +#epub_post_files = [] + +# A list of files that should not be packed into the epub file. +epub_exclude_files = ['search.html'] + +# The depth of the table of contents in toc.ncx. +#epub_tocdepth = 3 + +# Allow duplicate toc entries. +#epub_tocdup = True + +# Choose between 'default' and 'includehidden'. +#epub_tocscope = 'default' + +# Fix unsupported image types using the PIL. +#epub_fix_images = False + +# Scale large images. +#epub_max_image_width = 0 + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +#epub_show_urls = 'inline' + +# If false, no index is generated. +#epub_use_index = True diff --git a/doc/source/index.rst b/doc/source/index.rst index c623c94..af8520f 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -15,6 +15,7 @@ Contents: installation usage contributing + classesdoc Indices and tables ================== diff --git a/doc/source/python-redfish_classes/config.rst b/doc/source/python-redfish_classes/config.rst new file mode 100644 index 0000000..b704fdd --- /dev/null +++ b/doc/source/python-redfish_classes/config.rst @@ -0,0 +1,6 @@ +============ +config class +============ + +.. automodule:: redfish.config + :members: diff --git a/doc/source/python-redfish_classes/exception.rst b/doc/source/python-redfish_classes/exception.rst new file mode 100644 index 0000000..80dc554 --- /dev/null +++ b/doc/source/python-redfish_classes/exception.rst @@ -0,0 +1,6 @@ +=============== +exception class +=============== + +.. automodule:: redfish.exception + :members: diff --git a/doc/source/python-redfish_classes/main.rst b/doc/source/python-redfish_classes/main.rst new file mode 100644 index 0000000..2a6e1c3 --- /dev/null +++ b/doc/source/python-redfish_classes/main.rst @@ -0,0 +1,6 @@ +========== +main class +========== + +.. automodule:: redfish.main + :members: diff --git a/doc/source/python-redfish_classes/mapping.rst b/doc/source/python-redfish_classes/mapping.rst new file mode 100644 index 0000000..251252b --- /dev/null +++ b/doc/source/python-redfish_classes/mapping.rst @@ -0,0 +1,6 @@ +============= +mapping class +============= + +.. automodule:: redfish.mapping + :members: diff --git a/doc/source/python-redfish_classes/types.rst b/doc/source/python-redfish_classes/types.rst new file mode 100644 index 0000000..9191577 --- /dev/null +++ b/doc/source/python-redfish_classes/types.rst @@ -0,0 +1,6 @@ +=========== +types class +=========== + +.. automodule:: redfish.types + :members: diff --git a/doc/source/python-redfish_lib.rst b/doc/source/python-redfish_lib.rst new file mode 100644 index 0000000..4de9220 --- /dev/null +++ b/doc/source/python-redfish_lib.rst @@ -0,0 +1,8 @@ +====================== +python-redfish classes +====================== + +.. toctree:: + :glob: + + python-redfish_classes/* diff --git a/doc/source/redfish-client.rst b/doc/source/redfish-client.rst new file mode 100644 index 0000000..50547f9 --- /dev/null +++ b/doc/source/redfish-client.rst @@ -0,0 +1,7 @@ +====================== +redfish-client classes +====================== + +.. automodule:: rfclient + :members: + diff --git a/redfish-client/redfish-client.py b/redfish-client/redfish-client.py index 6056d59..25ed9fc 100755 --- a/redfish-client/redfish-client.py +++ b/redfish-client/redfish-client.py @@ -3,32 +3,32 @@ # coding=utf-8 ''' -redfish-client - -Usage: - redfish-client.py [options] config add [] [] - redfish-client.py [options] config del - redfish-client.py [options] config modify (manager_name | url | login | password) - redfish-client.py [options] config show - redfish-client.py [options] config showall - redfish-client.py [options] manager getinfo [] - redfish-client.py (-h | --help) - redfish-client.py --version - - -Options: - -h --help Show this screen. - --version Show version. - --conf_file FILE Configuration file [default: ~/.redfish.conf] - --insecure Ignore SSL certificates - --debug LEVEL Run in debug mode, LEVEL from 1 to 3 increase verbosity - Security warning LEVEL > 1 could reveal password into the logs - --debugfile FILE Specify the client debugfile [default: redfish-client.log] - --libdebugfile FILE Specify python-redfish library log file [default: /var/log/python-redfish/python-redfish.log] - -config commands : manage the configuration file. -manager commands : manage the manager (Ligh out management). If - is not provided use the 'default' entry +redfish-client :: + + Usage: + redfish-client.py [options] config add [] [] + redfish-client.py [options] config del + redfish-client.py [options] config modify (manager_name | url | login | password) + redfish-client.py [options] config show + redfish-client.py [options] config showall + redfish-client.py [options] manager getinfo [] + redfish-client.py (-h | --help) + redfish-client.py --version + + + Options: + -h --help Show this screen. + --version Show version. + --conf_file FILE Configuration file [default: ~/.redfish.conf] + --insecure Ignore SSL certificates + --debug LEVEL Run in debug mode, LEVEL from 1 to 3 increase verbosity + Security warning LEVEL > 1 could reveal password into the logs + --debugfile FILE Specify the client debugfile [default: redfish-client.log] + --libdebugfile FILE Specify python-redfish library log file [default: /var/log/python-redfish/python-redfish.log] + + config commands : manage the configuration file. + manager commands : manage the manager (Ligh out management). If + is not provided use the 'default' entry ''' import os @@ -52,7 +52,7 @@ def __init__(self, config_file): :param config_file: File name of the configuration file default: ~/.redfish.conf - :type str + :type config-file: str :returns: Nothing ''' @@ -84,7 +84,7 @@ def check_manager(self, manager_name): '''Check if the manager exists in configuration file :param manager_name: Name of the manager - :type str + :type manager_name: str ''' try: @@ -97,13 +97,13 @@ def add_manager(self, manager_name, url, login, password): '''Add a manager to the configuration file :param manager_name: Name of the manager - :type str + :type manager_name: str :param url: Url of the manager - :type str + :type url: str :param login: Login of the manager - :type str + :type login: str :param password: Password of the manager - :type str + :type password: str ''' @@ -119,12 +119,12 @@ def add_manager(self, manager_name, url, login, password): def modify_manager(self, manager_name, parameter, parameter_value): '''Modify the manager settings - :param manager name: Name of the manager - :type str + :param manager_name: Name of the manager + :type manager_name: str :param parameter: url | login | password - :type str + :type url: str :param parameter_value: Value of the parameter - :type str + :type parameter_value: str :returns: Nothing ''' @@ -157,8 +157,8 @@ def modify_manager(self, manager_name, parameter, parameter_value): def delete_manager(self, manager_name): '''Delete manager - :param manager name: Name of the manager - :type str + :param manager_name: Name of the manager + :type manager_name: str :returns: Nothing ''' @@ -172,7 +172,7 @@ def get_managers(self): '''Get manager configured :returns: Managers - :type list + :type returns: list ''' managers = [] @@ -184,9 +184,9 @@ def get_manager_info(self, manager): '''Show manager info (url, login, password) :param manager: Name of the manager - :type str + :type manager: str :returns: info containing url, login, password - :type dict + :type returns: dict ''' info = {} @@ -214,7 +214,7 @@ def show_manager(all=False): '''Display manager info :param all: Add login and password info - :type bool + :type all: bool :returns: Nothing ''' diff --git a/redfish-client/rfclient.py b/redfish-client/rfclient.py new file mode 120000 index 0000000..338810b --- /dev/null +++ b/redfish-client/rfclient.py @@ -0,0 +1 @@ +redfish-client.py \ No newline at end of file diff --git a/redfish/config.py b/redfish/config.py index 0799aeb..6ddcccc 100644 --- a/redfish/config.py +++ b/redfish/config.py @@ -19,12 +19,12 @@ def initialize_logger(REDFISH_LOGFILE, '''Initialize a global logger to track application behaviour :param redfish_logfile: Log filename - :type str + :type redfish_logfile: str :param screen_logger_level: Console log level (logging.DEBUG, logging.ERROR, ..) or nolog - :type logging constant or string + :type screen_logger_level: logging constant or string :param file_logger_level: File log level - :type logging constant + :type file_logger_level: logging constant :returns: logging object ''' diff --git a/redfish/types.py b/redfish/types.py index fd6f5f0..ecdd477 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -54,12 +54,10 @@ def __init__(self, url, connection_parameters): def get_link_url(self, link_type): '''Need to be explained. - :param redfish_logfile: redfish log - :type str - :returns: True - + :param parameter_name: name of the parameter + :returns: string -- parameter value ''' - self.links=[] + self.links = [] # Manage standard < 1.0 if float(mapping.redfish_version) < 1.00: diff --git a/requirements.txt b/requirements.txt index 01b840b..a6fc6e4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,3 +7,4 @@ pbr>=0.6,!=0.7,<1.0 Babel>=1.3 tortilla>=0.4.1 Jinja2>=2.7.3 +Sphinx>=1.2.3 From 2bfff304ed25857acbc9217bfb2acd8bfc85ece4 Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Fri, 12 Feb 2016 15:50:34 +0100 Subject: [PATCH 053/224] Improved build for deb - Add dependencies for deb build (NOTE: the mandatory python-tortilla package doesn't exist in Ubuntu or Debian for now) - reduce setup.cfg in deliveries and fix OpenSTack related content --- pbconf/pbfilter/deb.pbf | 2 +- pbconf/pbfilter/rpm.pbf | 2 +- pbconf/python-redfish/deb/control | 1 + pbconf/python-redfish/deb/rules | 5 +---- setup.cfg | 28 ++++++++++++++-------------- 5 files changed, 18 insertions(+), 20 deletions(-) diff --git a/pbconf/pbfilter/deb.pbf b/pbconf/pbfilter/deb.pbf index c2c9c43..880e913 100644 --- a/pbconf/pbfilter/deb.pbf +++ b/pbconf/pbfilter/deb.pbf @@ -14,7 +14,7 @@ filter PBLIC = ASL 2.0 filter PBDEP = python-docopt, python-tortilla, python-jinja2 # PBBDEP is replaced by the list of build dependencies -filter PBBDEP = python-dev, python-setuptools, python-pbr +filter PBBDEP = python-dev, python-setuptools, python-pbr, python-tortilla, python-jinja2, python-sphinx # PBSUG is replaced by the list of suggestions #filter PBSUG = diff --git a/pbconf/pbfilter/rpm.pbf b/pbconf/pbfilter/rpm.pbf index 655a7e6..76d0d6f 100644 --- a/pbconf/pbfilter/rpm.pbf +++ b/pbconf/pbfilter/rpm.pbf @@ -14,7 +14,7 @@ filter PBLIC = ASL 2.0 #filter PBDEP = # PBBDEP is replaced by the list of build dependencies -filter PBBDEP = python-devel, python-setuptools +filter PBBDEP = python-devel, python-setuptools, python-pbr, python-sphinx filter PBDEP = python-docopt, python-tortilla, python-jinja2 # PBSUF is replaced by the package suffix ($pb->{'suf'} in code) diff --git a/pbconf/python-redfish/deb/control b/pbconf/python-redfish/deb/control index e1c4c74..e0f8e8f 100644 --- a/pbconf/python-redfish/deb/control +++ b/pbconf/python-redfish/deb/control @@ -4,6 +4,7 @@ Section: PBGRP Priority: optional Maintainer: PBPACKAGER Build-Depends: debhelper (>= 4.2.20), python-dev (>= 2.7), PBBDEP +X-Python-Version: >= 2.7 Standards-Version: PBDEBSTD Vcs-Svn: https://github.com/bcornec/PBPROJ Vcs-Browser: https://github.com/bcornec/PBPROJ diff --git a/pbconf/python-redfish/deb/rules b/pbconf/python-redfish/deb/rules index 6d52ab7..035b57c 100644 --- a/pbconf/python-redfish/deb/rules +++ b/pbconf/python-redfish/deb/rules @@ -5,12 +5,9 @@ export PYBUILD_AFTER_INSTALL_python3=rm -rf {destdir}/usr/bin %: dh $@ --with python2,python3,sphinxdoc --buildsystem=pybuild + #dh $@ --with python2,python3 --buildsystem=python_distutils PYPI_DESC = PBSUMMARY DEB_UPSTREAM_VERSION=$(shell dpkg-parsechangelog | sed -rne 's,^Version: ([^-]+).*,\1,p') help2man = PYTHONPATH=${CURDIR} help2man -N --version-string=${DEB_UPSTREAM_VERSION} \ -o $1 -n '$2' $(CURDIR)/debian/PBPKG/usr/bin/$(subst .1,,$1) - -clean: - #rm -f redfish-client.1 - dh $@ --buildsystem=pybuild diff --git a/setup.cfg b/setup.cfg index d2858c6..0482d17 100644 --- a/setup.cfg +++ b/setup.cfg @@ -4,10 +4,10 @@ summary = Reference implementation of Redfish standard client. description-file = README.rst author = Redfish dev team -author-email = python-redfish@lists.mondorescue.org -home-page = http://www.openstack.org/ +author-email = python-redfish@mondorescue.org +home-page = http://github.com/bcornec/python-redfish classifier = - Environment :: OpenStack + #Environment :: OpenStack Intended Audience :: Information Technology Intended Audience :: System Administrators License :: OSI Approved :: Apache Software License @@ -32,16 +32,16 @@ all_files = 1 [upload_sphinx] upload-dir = doc/build/html -[compile_catalog] -directory = redfish/locale -domain = python-redfish +#[compile_catalog] +#directory = redfish/locale +#domain = python-redfish -[update_catalog] -domain = python-redfish -output_dir = redfish/locale -input_file = redfish/locale/python-redfish.pot +#[update_catalog] +#domain = python-redfish +#output_dir = redfish/locale +#input_file = redfish/locale/python-redfish.pot -[extract_messages] -keywords = _ gettext ngettext l_ lazy_gettext -mapping_file = babel.cfg -output_file = redfish/locale/python-redfish.pot +#[extract_messages] +#keywords = _ gettext ngettext l_ lazy_gettext +#mapping_file = babel.cfg +#output_file = redfish/locale/python-redfish.pot From a2cafc9802458783634d10344ddc6b8752ac57f4 Mon Sep 17 00:00:00 2001 From: Uggla Date: Thu, 11 Feb 2016 22:18:38 +0100 Subject: [PATCH 054/224] Change SystemCollection from list to dict - Change systems_list to systems_dict[""] . The systems_dict will contain system objects, is the redfish as reported inside url. --- examples/simple-proliant.py | 46 ++++++++++++++++++------------------ examples/simple-simulator.py | 4 ++-- redfish/main.py | 2 -- redfish/types.py | 9 +++---- 4 files changed, 30 insertions(+), 31 deletions(-) diff --git a/examples/simple-proliant.py b/examples/simple-proliant.py index 468527b..451b7a1 100644 --- a/examples/simple-proliant.py +++ b/examples/simple-proliant.py @@ -43,48 +43,48 @@ print ("Redfish API version : %s \n" % remote_mgmt.get_api_version()) # Uncomment following line to reset the blade !!! -# remote_mgmt.Systems.systems_list[0].reset_system() +# remote_mgmt.Systems.systems_dict["1"].reset_system() # TODO : create an attribute to link the managed system directly -# and avoid systems_list[0] +# and avoid systems_dict["1"] # --> will be something like : -# remote_mgmt.Systems.systems_list[0] = remote_mgmt.Systems.managed_system +# remote_mgmt.Systems.systems_dict["1"] = remote_mgmt.Systems.managed_system -print("Bios version : {}\n".format(remote_mgmt.Systems.systems_list[0].get_bios_version())) -print("Serial Number : {}\n".format(remote_mgmt.Systems.systems_list[0].get_serial_number())) -print("Power State : {}\n".format(remote_mgmt.Systems.systems_list[0].get_power())) -print("Parameter 'SystemType' : {}\n".format(remote_mgmt.Systems.systems_list[0].get_parameter("SystemType"))) +print("Bios version : {}\n".format(remote_mgmt.Systems.systems_dict["1"].get_bios_version())) +print("Serial Number : {}\n".format(remote_mgmt.Systems.systems_dict["1"].get_serial_number())) +print("Power State : {}\n".format(remote_mgmt.Systems.systems_dict["1"].get_power())) +print("Parameter 'SystemType' : {}\n".format(remote_mgmt.Systems.systems_dict["1"].get_parameter("SystemType"))) -print("Get bios parameters : {}\n".format(remote_mgmt.Systems.systems_list[0].bios.get_parameters())) -print("Get boot parameters : {}\n".format(remote_mgmt.Systems.systems_list[0].bios.boot.get_parameters())) +print("Get bios parameters : {}\n".format(remote_mgmt.Systems.systems_dict["1"].bios.get_parameters())) +print("Get boot parameters : {}\n".format(remote_mgmt.Systems.systems_dict["1"].bios.boot.get_parameters())) -#print("Get bios parameter 'AdminPhone' : {}\n".format(remote_mgmt.Systems.systems_list[0].bios.get_parameter("AdminPhone"))) -#print("Set bios parameter 'AdminPhone' to '' : {}\n".format(remote_mgmt.Systems.systems_list[0].bios.set_parameter("AdminPhone",""))) +#print("Get bios parameter 'AdminPhone' : {}\n".format(remote_mgmt.Systems.systems_dict["1"].bios.get_parameter("AdminPhone"))) +#print("Set bios parameter 'AdminPhone' to '' : {}\n".format(remote_mgmt.Systems.systems_dict["1"].bios.set_parameter("AdminPhone",""))) #Boot server with script -#remote_mgmt.Systems.systems_list[0].bios.set_parameter("Dhcpv4","Enabled") +#remote_mgmt.Systems.systems_dict["1"].bios.set_parameter("Dhcpv4","Enabled") -remote_mgmt.Systems.systems_list[0].bios.set_parameter("PreBootNetwork", "Auto") -remote_mgmt.Systems.systems_list[0].bios.set_parameter("UefiShellStartup", "Enabled") -remote_mgmt.Systems.systems_list[0].bios.set_parameter("UefiShellStartupLocation", "NetworkLocation") -remote_mgmt.Systems.systems_list[0].bios.set_parameter("UefiShellStartupUrl", "http://10.3.222.88/deploy/startup.nsh") +remote_mgmt.Systems.systems_dict["1"].bios.set_parameter("PreBootNetwork", "Auto") +remote_mgmt.Systems.systems_dict["1"].bios.set_parameter("UefiShellStartup", "Enabled") +remote_mgmt.Systems.systems_dict["1"].bios.set_parameter("UefiShellStartupLocation", "NetworkLocation") +remote_mgmt.Systems.systems_dict["1"].bios.set_parameter("UefiShellStartupUrl", "http://10.3.222.88/deploy/startup.nsh") -#remote_mgmt.Systems.systems_list[0].set_parameter_json('{"Boot": {"BootSourceOverrideTarget": "UefiShell"}}') -# remote_mgmt.Systems.systems_list[0].set_parameter_json('{"Boot": {"BootSourceOverrideEnabled" : "Continuous"}}') -#remote_mgmt.Systems.systems_list[0].set_parameter_json('{"Boot": {"BootSourceOverrideEnabled" : "Once"}}') +#remote_mgmt.Systems.systems_dict["1"].set_parameter_json('{"Boot": {"BootSourceOverrideTarget": "UefiShell"}}') +# remote_mgmt.Systems.systems_dict["1"].set_parameter_json('{"Boot": {"BootSourceOverrideEnabled" : "Continuous"}}') +#remote_mgmt.Systems.systems_dict["1"].set_parameter_json('{"Boot": {"BootSourceOverrideEnabled" : "Once"}}') -mySystem = remote_mgmt.Systems.systems_list[0] +mySystem = remote_mgmt.Systems.systems_dict["1"] mySystem.set_boot_source_override("None","Disabled") #Uncomment the next line to reset the server #mySystem.reset_system() -print("Get manager firmware version : {}\n".format(remote_mgmt.Managers.managers_list[0].get_firmware_version())) -print("Get system Bios version : {}\n".format(remote_mgmt.Systems.systems_list[0].get_bios_version())) +print("Get manager firmware version : {}\n".format(remote_mgmt.Managers.managers_dict["1"].get_firmware_version())) +print("Get system Bios version : {}\n".format(remote_mgmt.Systems.systems_dict["1"].get_bios_version())) #Reset of the system is required to apply the changes -#remote_mgmt.Systems.systems_list[0].reset_system() +#remote_mgmt.Systems.systems_dict["1"].reset_system() remote_mgmt.logout() diff --git a/examples/simple-simulator.py b/examples/simple-simulator.py index b9db1af..df44ca5 100644 --- a/examples/simple-simulator.py +++ b/examples/simple-simulator.py @@ -43,7 +43,7 @@ print("Redfish API version : {} \n".format(remote_mgmt.get_api_version())) print("UUID : {} \n".format(remote_mgmt.Root.get_api_UUID())) print("System 1 :\n") -print("Bios version : {}\n".format(remote_mgmt.Systems.systems_list[0].get_bios_version())) +print("Bios version : {}\n".format(remote_mgmt.Systems.systems_dict["1"].get_bios_version())) print("System 2 :\n") -print("Bios version : {}\n".format(remote_mgmt.Systems.systems_list[1].get_parameter("SerialNumber"))) +print("Bios version : {}\n".format(remote_mgmt.Systems.systems_dict["2"].get_parameter("SerialNumber"))) #print remoteMgmt.get_api_link_to_server() diff --git a/redfish/main.py b/redfish/main.py index 3a28cf0..98c0205 100644 --- a/redfish/main.py +++ b/redfish/main.py @@ -247,8 +247,6 @@ def __init__(self, self.connection_parameters ) - #for system in self.Systems.systems_list: - #config.logger.debug(system.data.links.ManagedBy) # self.Chassis # self.EventService diff --git a/redfish/types.py b/redfish/types.py index ecdd477..2097454 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -428,11 +428,12 @@ class SystemsCollection(BaseCollection): '''Class to manage redfish SystemsCollection data.''' def __init__(self, url, connection_parameters): super(SystemsCollection, self).__init__(url, connection_parameters) - - self.systems_list = [] - + + self.systems_dict = {} + for link in self.links: - self.systems_list.append(Systems(link, connection_parameters)) + index = re.search(r'Systems/(\w+)', link) + self.systems_dict[index.group(1)] = Systems(link, connection_parameters) class Bios(Base): From 0841a6f5cc4987e0b0bb469ac79902310b19f9ed Mon Sep 17 00:00:00 2001 From: Uggla Date: Thu, 11 Feb 2016 22:33:34 +0100 Subject: [PATCH 055/224] Fix #17 - redfish-client manager now prints the MAC address. --- redfish-client/templates/manager_info.template | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/redfish-client/templates/manager_info.template b/redfish-client/templates/manager_info.template index 71961ba..d3f0d22 100644 --- a/redfish-client/templates/manager_info.template +++ b/redfish-client/templates/manager_info.template @@ -1,4 +1,4 @@ -Redfish API version : {{ r.get_api_version() }} +Redfish API version : {{ r.get_api_version() }} {{ r.Root.get_name() }} Managers information : @@ -17,11 +17,12 @@ Ethernet Interface : Ethernet Interface id {{ ethernetinterface_index }} : {{ ei.get_name() }} FQDN : {{ ei.get_fqdn() }} + Mac address : {{ ei.get_mac() }} Address ipv4 : {{ ei.get_ipv4() | join(', ') }} Address ipv6 : {{ ei.get_ipv6() | join(', ') }} {%- endfor %} {%- else %} - This manager has no ethernet interface + This manager has no ethernet interface {%- endif %} Managed Chassis : {{ manager.get_managed_chassis() | join(', ') }} From 89ae5f7d761bb097976ba135bf47ede90bc71e45 Mon Sep 17 00:00:00 2001 From: Uggla Date: Fri, 12 Feb 2016 09:10:38 +0100 Subject: [PATCH 056/224] Add reset method for manager --- redfish/types.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/redfish/types.py b/redfish/types.py index 2097454..2196520 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -303,6 +303,27 @@ def get_managed_systems(self): except AttributeError: return "Not available" + def reset(self): + '''Reset the manager. + + :returns: string -- http response of POST request + + ''' + # Craft the request + link = getattr(self.data.Actions, "#Manager.Reset") + link = link.target + + reset_url = urljoin(self.url, link) + + response = requests.post( + reset_url, + verify=self.connection_parameters.verify_cert, + headers={'x-auth-token': self.connection_parameters.auth_token, + 'Content-type': 'application/json'}) + # TODO : treat response. + return response + + class ManagersCollection(BaseCollection): '''Class to manage redfish ManagersCollection data.''' def __init__(self, url, connection_parameters): From e699acf32821c7ab3c9422c309fd764b5f2d7e7b Mon Sep 17 00:00:00 2001 From: Uggla Date: Fri, 12 Feb 2016 09:11:05 +0100 Subject: [PATCH 057/224] Some PEP8 cleanup --- redfish/types.py | 66 +++++++++++++++++++++++------------------------- 1 file changed, 32 insertions(+), 34 deletions(-) diff --git a/redfish/types.py b/redfish/types.py index 2196520..babc5d0 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -23,7 +23,7 @@ def __init__(self, url, connection_parameters): self.api_url = tortilla.wrap(url, debug=config.TORTILLADEBUG) try: - if connection_parameters.auth_token == None: + if connection_parameters.auth_token is None: self.data = self.api_url.get(verify=connection_parameters.verify_cert) else: self.data = self.api_url.get(verify=connection_parameters.verify_cert, @@ -63,11 +63,11 @@ def get_link_url(self, link_type): if float(mapping.redfish_version) < 1.00: links = getattr(self.data, mapping.redfish_mapper.map_links()) if link_type in links: - return urljoin(self.url, links[link_type][mapping.redfish_mapper.map_links_ref()]) + return urljoin(self.url, links[link_type][mapping.redfish_mapper.map_links_ref()]) else: links = getattr(self.data, link_type) link = getattr(links, mapping.redfish_mapper.map_links_ref()) - return urljoin(self.url, link) + return urljoin(self.url, link) @property def url(self): @@ -120,7 +120,7 @@ def set_parameter(self, parameter_name, value): headers={'x-auth-token': self.connection_parameters.auth_token}, data=action) return response - + def get_name(self): '''Get root name @@ -138,8 +138,7 @@ class BaseCollection(Base): def __init__(self, url, connection_parameters): super(BaseCollection, self).__init__(url, connection_parameters) - self.links=[] - + self.links = [] #linksmembers = self.data.Links.Members #linksmembers = self.data.links.Member @@ -153,7 +152,6 @@ def __init__(self, url, connection_parameters): #self.links.append(getattr(link,'href')) self.links.append(urljoin(self.url, getattr(link, mapping.redfish_mapper.map_links_ref()))) - config.logger.debug(self.links) @@ -189,7 +187,7 @@ def get_api_link_to_server(self): :returns: string -- path ''' - return getattr(self.root.Links.Systems, '@odata.id') + return getattr(self.root.Links.Systems, '@odata.id') class SessionService(Base): @@ -204,10 +202,10 @@ def __init__(self, url, connection_parameters): try: # New proliant firmware now respects Redfish v1.00, so seems to correct below statement # TODO : better handle exception and if possible support old firmware ? - self.ethernet_interfaces_collection = EthernetInterfacesCollection( - self.get_link_url('EthernetInterfaces'), - connection_parameters - ) + self.ethernet_interfaces_collection = \ + EthernetInterfacesCollection( + self.get_link_url('EthernetInterfaces'), + connection_parameters) # Works on proliant, need to treat 095 vs 0.96 differences #self.ethernet_interfaces_collection = EthernetInterfacesCollection( @@ -217,11 +215,10 @@ def __init__(self, url, connection_parameters): except exception.InvalidRedfishContentException: # This is to avoid invalid content from the mockup self.ethernet_interfaces_collection = None - + except AttributeError: # This means we don't have EthernetInterfaces self.ethernet_interfaces_collection = None - def get_firmware_version(self): '''Get firmware version of the manager @@ -257,7 +254,7 @@ def get_uuid(self): return self.data.UUID except AttributeError: return "Not available" - + def get_status(self): '''Get manager status @@ -277,7 +274,7 @@ def get_managed_chassis(self): ''' chassis_list = [] links = getattr(self.data, mapping.redfish_mapper.map_links(self.data)) - + try: for chassis in links.ManagerForChassis: result = re.search(r'Chassis/(\w+)', chassis[mapping.redfish_mapper.map_links_ref(chassis)]) @@ -294,11 +291,11 @@ def get_managed_systems(self): ''' systems_list = [] links = getattr(self.data, mapping.redfish_mapper.map_links(self.data)) - + try: for systems in links.ManagerForServers: result = re.search(r'Systems/(\w+)', systems[mapping.redfish_mapper.map_links_ref(systems)]) - systems_list.append(result.group(1)) + systems_list.append(result.group(1)) return systems_list except AttributeError: return "Not available" @@ -365,7 +362,7 @@ def reset_system(self): data=action ) #TODO : treat response. - return response + return response def get_bios_version(self): '''Get bios version of the system. @@ -449,9 +446,9 @@ class SystemsCollection(BaseCollection): '''Class to manage redfish SystemsCollection data.''' def __init__(self, url, connection_parameters): super(SystemsCollection, self).__init__(url, connection_parameters) - + self.systems_dict = {} - + for link in self.links: index = re.search(r'Systems/(\w+)', link) self.systems_dict[index.group(1)] = Systems(link, connection_parameters) @@ -473,7 +470,8 @@ def __init__(self, url, connection_parameters): class EthernetInterfacesCollection(BaseCollection): '''Class to manage redfish EthernetInterfacesColkection data.''' def __init__(self, url, connection_parameters): - super(EthernetInterfacesCollection, self).__init__(url, connection_parameters) + super(EthernetInterfacesCollection, + self).__init__(url, connection_parameters) self.ethernet_interfaces_dict = {} @@ -482,7 +480,8 @@ def __init__(self, url, connection_parameters): # Check more than 1 hour for this bug.... grrr.... for link in self.links: index = re.search(r'EthernetInterfaces/(\w+)', link) - self.ethernet_interfaces_dict[index.group(1)] = EthernetInterfaces(link, connection_parameters) + self.ethernet_interfaces_dict[index.group(1)] = \ + EthernetInterfaces(link, connection_parameters) class EthernetInterfaces(Base): @@ -508,40 +507,39 @@ def get_fqdn(self): return self.data.FQDN except AttributeError: return "Not available" - def get_ipv4(self): '''Get EthernetInterface ipv4 address - + :returns: list -- interface ip addresses or "Not available" - + ''' - + ipaddresses = [] - + try: for ip_settings in self.data.IPv4Addresses: address = ip_settings['Address'] ipaddresses.append(address) - + return ipaddresses except AttributeError: return "Not available" def get_ipv6(self): '''Get EthernetInterface ipv6 address - + :returns: list -- interface ip addresses or "Not available" - + ''' - + ipaddresses = [] - + try: for ip_settings in self.data.IPv6Addresses: address = ip_settings['Address'] ipaddresses.append(address) - + return ipaddresses except AttributeError: return "Not available" From 63b26e084090e0e2db683cde82e165fd60a17aec Mon Sep 17 00:00:00 2001 From: Uggla Date: Fri, 12 Feb 2016 11:46:36 +0100 Subject: [PATCH 058/224] Use PBVER instead of hardcoded version --- doc/source/conf.py | 6 +++--- pbconf/python-redfish.pb | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/source/conf.py b/doc/source/conf.py index c0e4fc1..c8de491 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -48,16 +48,16 @@ # General information about the project. project = u'python-redfish' -copyright = u'2016, Bruno Cornec, Vincent Misson, René Ribaud' +copyright = u'2015, Bruno Cornec, Vincent Misson, René Ribaud' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The short X.Y version. -version = '0.4' +version = 'PBVER' # The full version, including alpha/beta/rc tags. -release = '0.4' +release = 'PBVER' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/pbconf/python-redfish.pb b/pbconf/python-redfish.pb index 42a1e60..6a8d804 100644 --- a/pbconf/python-redfish.pb +++ b/pbconf/python-redfish.pb @@ -130,7 +130,7 @@ defpkgdir python-redfish = . # List of files per pkg on which to apply filters # Files are mentioned relatively to pbroot/defpkgdir -filteredfiles python-redfish = redfish-client/redfish-client.py +filteredfiles python-redfish = redfish-client/redfish-client.py,doc/source/conf.py #supfiles python-redfish = python-redfish.init # For perl modules, names are different depending on distro From 4f8403b251bf4a4f4044b9bf218f10311da06686 Mon Sep 17 00:00:00 2001 From: Uggla Date: Fri, 12 Feb 2016 15:57:28 +0100 Subject: [PATCH 059/224] Pypi distribution - Modify sources to allow Pypi distribution --- redfish-client/templates/bla.templates | 32 ---- redfish/__init__.py | 5 +- redfish/old/functions.py | 49 ------ redfish/old/types.py | 197 ------------------------- setup.cfg | 15 +- 5 files changed, 12 insertions(+), 286 deletions(-) delete mode 100644 redfish-client/templates/bla.templates delete mode 100644 redfish/old/functions.py delete mode 100644 redfish/old/types.py diff --git a/redfish-client/templates/bla.templates b/redfish-client/templates/bla.templates deleted file mode 100644 index 23b6b61..0000000 --- a/redfish-client/templates/bla.templates +++ /dev/null @@ -1,32 +0,0 @@ - #======================================================================= - # print('Redfish API version : %s' % remote_mgmt.get_api_version()) - # print(remote_mgmt.Root.get_name()) - # print('\n') - # print('Managers information :') - # print('----------------------') - # for manager_index in sorted(remote_mgmt.Managers.managers_dict): - # manager = remote_mgmt.Managers.managers_dict[manager_index] - # print('\nManager id {} :').format(manager_index) - # print('UUID : {}').format(manager.get_uuid()) - # print('Type : {}').format(manager.get_type()) - # print('Firmware version : {}').format(manager.get_firmware_version()) - # print('State : {}').format(manager.get_status()) - # print manager.get_managed_chassis() - # print manager.get_managed_systems() - # print('Ethernet interfaces :') - # try : - # for ethernetinterface_index in sorted(manager.ethernet_interfaces_collection.ethernet_interfaces_dict): - # ei = manager.ethernet_interfaces_collection.ethernet_interfaces_dict[ethernetinterface_index] - # print('\nEthernet Interface id {} :').format(ethernetinterface_index) - # print(ei.get_name()) - # print(ei.get_parameter('FQDN')) - # print ei.get_ipv4() - # print ei.get_ipv6() - # except AttributeError: - # # We don't have ethernet interfaces - # pass - #======================================================================= - - -Redfish API version : remote_mgmt.get_api_version() -remote_mgmt.Root.get_name() \ No newline at end of file diff --git a/redfish/__init__.py b/redfish/__init__.py index b1e8444..f24eeae 100644 --- a/redfish/__init__.py +++ b/redfish/__init__.py @@ -12,11 +12,10 @@ # License for the specific language governing permissions and limitations # under the License. -#import pbr.version +import pbr.version from redfish.main import * #import redfish.types -#__version__ = pbr.version.VersionInfo( -# 'redfish').version_string() +__version__ = pbr.version.VersionInfo('redfish').version_string() diff --git a/redfish/old/functions.py b/redfish/old/functions.py deleted file mode 100644 index 1de1031..0000000 --- a/redfish/old/functions.py +++ /dev/null @@ -1,49 +0,0 @@ - - # Copyright 2014 Hewlett-Packard Development Company, L.P. - # - # Licensed under the Apache License, Version 2.0 (the "License"); you may - # not use this file except in compliance with the License. You may obtain - # a copy of the License at - # - # http://www.apache.org/licenses/LICENSE-2.0 - # - # Unless required by applicable law or agreed to in writing, software - # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - # License for the specific language governing permissions and limitations - # under the License. - - -""" - -Provides functions for using the Redfish RESTful API. - -""" - -import collections -import json -import sys -from redfish import connection - -class RedfishOperation(connection.RedfishConnection): - - def reset_server(self): - (status, headers, system) = self.rest_get('/redfish/v1/Systems', None) - - memberuri = system['links']['Member'][0]['href'] - # verify expected type - # hint: don't limit to version 0 here as we will rev to 1.0 at some point hopefully with minimal changes - # assert(connection.get_type(system) == 'ComputerSystem.0' or connection.get_type(system) == 'ComputerSystem.1') - - # verify it supports POST - # assert(connection.operation_allowed(headers, 'POST')) - - action = dict() - action['Action'] = 'Reset' - action['ResetType'] = 'ForceRestart' - - # perform the POST action - print('POST ' + json.dumps(action) + ' to ' + memberuri) - (status, headers, response) = self.rest_post(memberuri, None, action) - print('POST response = ' + str(status)) - connection.print_extended_error(response) diff --git a/redfish/old/types.py b/redfish/old/types.py deleted file mode 100644 index ede311f..0000000 --- a/redfish/old/types.py +++ /dev/null @@ -1,197 +0,0 @@ -# Copyright 2014 Hewlett-Packard Development Company, L.P. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - - -""" -Redfish Resource Types -""" - -import base64 -import gzip -import hashlib -import httplib -import json -import ssl -import StringIO -import sys -import urllib2 -from urlparse import urlparse - -#from oslo_log import log as logging -from redfish import exception - -#LOG = logging.getLogger('redfish') - - -class Base(object): - def __init__(self, obj, connection=None): - self._conn = connection - """handle to the redfish connection""" - - self._attrs = [] - """list of discovered attributes""" - - self._links = [] - """list of linked resources""" - - # parse the individual resources, appending them to - # the list of object attributes - for k in obj.keys(): - ref = k.lower() - if ref in ["links", "oem", "items"]: - continue - setattr(self, ref, obj[k]) - self._attrs.append(ref) - - # make sure the required attributes are present - if not getattr(self, 'name', False): - raise ObjectLoadException( - "Failed to load object. Reason: could not determine name.") - if not getattr(self, 'type', False): - raise ObjectLoadException( - "Failed to load object. Reason: could not determine type.") - - if getattr(self, 'serviceversion', False): - self.type = self.type.replace('.' + self.serviceversion, '') - else: - # TODO: use a regex here to strip and store the version - # instead of assuming it is 7 chars long - self.type = self.type[:-7] - - # Lastly, parse the 'links' resource. - # Note that this may have different nested structure, depending on - # what type of resource this is, or what vendor it is. - # subclasses may follow this by parsing other resources / collections - self._parse_links(obj) - - def _parse_links(self, obj): - """Map linked resources to getter functions - - The root resource returns a dict of links to top-level resources - """ - def getter(connection, href): - def _get(): - return connection.rest_get(href, {}) - return _get - - for k in obj['links']: - ref = "get_" + k.lower() - self._links.append(ref) - href = obj['links'][k]['href'] - setattr(self, ref, getter(self._conn, href)) - - def __repr__(self): - """Return this object's _attrs as a dict""" - res = {} - for a in self._attrs: - res[a] = getattr(self, a) - return res - - def __str__(self): - """Return the string representation of this object's _attrs""" - return json.dumps(self.__repr__()) - - -class BaseCollection(Base): - """Base class for collection types""" - def __init__(self, obj, connection=None): - super(BaseCollection, self).__init__(obj, connection=connection) - self._parse_items(obj) - self._attrs.append('items') - - def _parse_links(self, obj): - """links are special on a chassis; dont parse them""" - pass - - def _parse_items(self, obj): - """Map linked items to getter methods - - The chassis resource returns a list of items and corresponding - link data in a separate entity. - """ - def getter(connection, href): - def _get(): - return connection.rest_get(href, {}) - return _get - - self.items = [] - self._item_getters = [] - - if 'links' in obj and 'Member' in obj['links']: - # NOTE: this assumes the lists are ordered the same - counter = 0 - for item in obj['links']['Member']: - self.items.append(obj['Items'][counter]) - self._item_getters.append( - getter(self._conn, item['href'])) - counter+=1 - elif 'Items' in obj: - # TODO: find an example of this format and make sure it works - for item in obj['Items']: - if 'links' in item and 'self' in item['links']: - href = item['links']['self']['href'] - self.items.append(item) - - # TODO: implement paging support - # if 'links' in obj and 'NextPage' in obj['links']: - # next_page = THIS_URI + '?page=' + str(obj['links']['NextPage']['page']) - # do something with next_page URI - - def __iter__(self): - for getter in self._item_getters: - yield getter() - - -class Root(Base): - """Root '/' resource class""" - def _parse_links(self, obj): - """Map linked resources to getter functions - - The root resource returns a dict of links to top-level resources - - TODO: continue implementing customizations for top-level resources - - """ - mapping = { - 'Systems': Systems, - 'Chassis': Chassis, - 'Managers': Base, - 'Schemas': Base, - 'Registries': Base, - 'Tasks': Base, - 'AccountService': Base, - 'Sessions': Base, - 'EventService': Base, - } - - def getter(connection, href, type): - def _get(): - return mapping[type](connection.rest_get(href, {}), self._conn) - return _get - - for k in obj['links']: - ref = "get_" + k.lower() - self._links.append(ref) - href = obj['links'][k]['href'] - setattr(self, ref, getter(self._conn, href, k)) - - -class Chassis(BaseCollection): - """Chassis resource class""" - def __len__(self): - return len(self.items) - - -class Systems(Base): - pass diff --git a/setup.cfg b/setup.cfg index 0482d17..266b6df 100644 --- a/setup.cfg +++ b/setup.cfg @@ -4,10 +4,10 @@ summary = Reference implementation of Redfish standard client. description-file = README.rst author = Redfish dev team +<<<<<<< HEAD author-email = python-redfish@mondorescue.org -home-page = http://github.com/bcornec/python-redfish +home-page = https://github.com/uggla/python-redfish/tree/devel classifier = - #Environment :: OpenStack Intended Audience :: Information Technology Intended Audience :: System Administrators License :: OSI Approved :: Apache Software License @@ -15,14 +15,19 @@ classifier = Programming Language :: Python Programming Language :: Python :: 2 Programming Language :: Python :: 2.7 - Programming Language :: Python :: 2.6 Programming Language :: Python :: 3 - Programming Language :: Python :: 3.3 Programming Language :: Python :: 3.4 [files] packages = - redfish + redfish + +scripts = + redfish-client/redfish-client.py + +data_files = + usr/share/redfish-client/templates = redfish-client/templates/* + [build_sphinx] source-dir = doc/source From a3bcfd1266e3a5c9958a594377fb9cdc3e068366 Mon Sep 17 00:00:00 2001 From: Uggla Date: Sat, 13 Feb 2016 12:34:10 +0100 Subject: [PATCH 060/224] Add license and classifier --- setup.cfg | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/setup.cfg b/setup.cfg index 266b6df..34337ba 100644 --- a/setup.cfg +++ b/setup.cfg @@ -7,16 +7,19 @@ author = Redfish dev team <<<<<<< HEAD author-email = python-redfish@mondorescue.org home-page = https://github.com/uggla/python-redfish/tree/devel +license = Apache-2 classifier = - Intended Audience :: Information Technology - Intended Audience :: System Administrators - License :: OSI Approved :: Apache Software License - Operating System :: POSIX :: Linux - Programming Language :: Python - Programming Language :: Python :: 2 - Programming Language :: Python :: 2.7 - Programming Language :: Python :: 3 - Programming Language :: Python :: 3.4 + Development Status :: 4 - Beta + Environment :: Console + Intended Audience :: Information Technology + Intended Audience :: System Administrators + License :: OSI Approved :: Apache Software License + Operating System :: POSIX :: Linux + Programming Language :: Python + Programming Language :: Python :: 2 + Programming Language :: Python :: 2.7 + Programming Language :: Python :: 3 + Programming Language :: Python :: 3.4 [files] packages = From 175a4c00c2484493fb70c3574ea0a300bbfccfc3 Mon Sep 17 00:00:00 2001 From: Uggla Date: Sat, 13 Feb 2016 13:54:58 +0100 Subject: [PATCH 061/224] Manage templates - Add a master conf file to specify templates location. - Add conf files into package. - Improve client code to support installation with or without virtual env. --- redfish-client/etc/redfish-client.conf | 2 ++ redfish-client/redfish-client.py | 45 ++++++++++++++++++++++---- setup.cfg | 1 + 3 files changed, 41 insertions(+), 7 deletions(-) create mode 100644 redfish-client/etc/redfish-client.conf diff --git a/redfish-client/etc/redfish-client.conf b/redfish-client/etc/redfish-client.conf new file mode 100644 index 0000000..89cd47b --- /dev/null +++ b/redfish-client/etc/redfish-client.conf @@ -0,0 +1,2 @@ +[redfish-client] +templates_path = /usr/share/redfish-client/templates diff --git a/redfish-client/redfish-client.py b/redfish-client/redfish-client.py index 25ed9fc..d7a509e 100755 --- a/redfish-client/redfish-client.py +++ b/redfish-client/redfish-client.py @@ -37,10 +37,10 @@ import pprint import docopt import logging -import redfish -import requests.packages.urllib3 +import ConfigParser import jinja2 - +import requests.packages.urllib3 +import redfish class ConfigFile(object): '''redfisht-client configuration file management''' @@ -253,7 +253,13 @@ def get_manager_info(manager_name, check_SSL): sys.exit(1) # Display manager information using jinja2 template - template = jinja2_env.get_template("manager_info.template") + try: + template = jinja2_env.get_template("manager_info.template") + except jinja2.exceptions.TemplateNotFound as e: + print('Template "{}" not found in {}.'.format(e.message, jinja2_env.loader.searchpath[0])) + logger.debug('Template "%s" not found in %s.' % (e.message, jinja2_env.loader.searchpath[0])) + sys.exit(1) + print template.render(r=remote_mgmt) @@ -314,23 +320,48 @@ def get_manager_info(manager_name, check_SSL): logger.info("Arguments parsed") logger.debug(arguments) - # Get $HOME environment. + # Get $HOME and $VIRTUAL_ENV environment variables. HOME = os.getenv('HOME') + VIRTUAL_ENV = os.getenv('VIRTUAL_ENV') if not HOME: print('$HOME environment variable not set, please check your system') logger.error('$HOME environment variable not set') sys.exit(1) logger.debug("Home directory : %s" % HOME) + + if VIRTUAL_ENV: + logger.debug("Virtual env : %s" % VIRTUAL_ENV) + + # Load master conf file + config = ConfigParser.ConfigParser(allow_no_value=True) + logger.debug("Read master configuration file") + master_conf_file_path = "/etc/redfish-client.conf" + + if VIRTUAL_ENV: + logger.debug("Read master configuration file from virtual environment") + master_conf_file_path = VIRTUAL_ENV + master_conf_file_path + + if not os.path.isfile(master_conf_file_path): + print('Master configuration file not found at {}.'.format(master_conf_file_path)) + logger.error('Master configuration file not found at %s.' % master_conf_file_path) + sys.exit(1) + + config.read(master_conf_file_path) arguments['--conf_file'] = arguments['--conf_file'].replace('~', HOME) conf_file = ConfigFile(arguments['--conf_file']) # Initialize Template system (jinja2) # TODO : set the template file location into cmd line default to /usr/share/python-redfish/templates ? + templates_path = config.get("redfish-client", "templates_path") logger.debug("Initialize template system") - jinja2_env = jinja2.Environment(loader=jinja2.FileSystemLoader("templates")) - + if VIRTUAL_ENV: + logger.debug("Read templates file from virtual environment") + templates_path = VIRTUAL_ENV + templates_path + jinja2_env = jinja2.Environment(loader=jinja2.FileSystemLoader(templates_path)) + + # Check cmd line parameters if arguments['config'] is True: logger.debug("Config commands") if arguments['show'] is True: diff --git a/setup.cfg b/setup.cfg index 34337ba..a04f1e1 100644 --- a/setup.cfg +++ b/setup.cfg @@ -30,6 +30,7 @@ scripts = data_files = usr/share/redfish-client/templates = redfish-client/templates/* + etc/ = redfish-client/etc/* [build_sphinx] From 4f78c401aa4667c559d5a0c7264a56126c655736 Mon Sep 17 00:00:00 2001 From: Uggla Date: Sat, 13 Feb 2016 14:09:59 +0100 Subject: [PATCH 062/224] Adding missing dependencies - Add docopt - Add simplejson --- requirements.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/requirements.txt b/requirements.txt index a6fc6e4..6eecbba 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,3 +8,5 @@ Babel>=1.3 tortilla>=0.4.1 Jinja2>=2.7.3 Sphinx>=1.2.3 +docopt>=0.6.2 +simplejson>=3.8.1 From f0c943994764a8d295f6241b659430d507ea55b9 Mon Sep 17 00:00:00 2001 From: Uggla Date: Sat, 13 Feb 2016 14:26:34 +0100 Subject: [PATCH 063/224] Add advices to connection failure --- redfish/exception.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/redfish/exception.py b/redfish/exception.py index 5152f80..d54feff 100644 --- a/redfish/exception.py +++ b/redfish/exception.py @@ -15,8 +15,13 @@ def __init__(self, message, **kwargs): class ConnectionFailureException(RedfishException): def __init__(self, message, **kwargs): super(ConnectionFailureException, self).__init__(message, **kwargs) - self.advices = '1- Check if the url is the correct one\n' + \ - '2- Check if your device is answering on the network\n' + self.advices = \ + '1- Check if the url is the correct one\n' + \ + '2- Check if your device is answering on the network\n' + \ + '3- Check if your device has a valid trusted certificat\n' + \ + ' You can use openssl to validate it using the command :\n' + \ + ' openssl s_client -showcerts -connect :443\n' + \ + '4- Use option "--insecure" to connect without checking certificate\n' class InvalidRedfishContentException(RedfishException): From 59f5007787b87a37b5e5669a75d39d1d7e88e0e9 Mon Sep 17 00:00:00 2001 From: Uggla Date: Sat, 13 Feb 2016 18:57:28 +0100 Subject: [PATCH 064/224] Fix pbr if running without git or sdist --- redfish/__init__.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/redfish/__init__.py b/redfish/__init__.py index f24eeae..ce09d8f 100644 --- a/redfish/__init__.py +++ b/redfish/__init__.py @@ -17,5 +17,10 @@ from redfish.main import * #import redfish.types - -__version__ = pbr.version.VersionInfo('redfish').version_string() +try: + __version__ = pbr.version.VersionInfo('redfish').version_string() +except Exception, e: + if "Versioning for this project requires either an sdist tarball" in e.message: + pass + else: + raise From f25f4fad627e4aea693b4d928c0b6f5d524b5ec7 Mon Sep 17 00:00:00 2001 From: Uggla Date: Sat, 13 Feb 2016 19:48:53 +0100 Subject: [PATCH 065/224] Major documentation update --- CONTRIBUTING.rst | 17 +-- README.rst | 29 ++++- doc/source/develsetup.rst | 8 ++ doc/source/help.rst | 12 ++ doc/source/images/simulator.jpg | Bin 0 -> 162607 bytes doc/source/index.rst | 4 +- doc/source/installation.rst | 221 +++++++++++++++++++++++++++++++- doc/source/usage.rst | 23 +++- examples/redfish.conf | 2 +- examples/walk-chassis.py | 58 --------- 10 files changed, 286 insertions(+), 88 deletions(-) create mode 100644 doc/source/develsetup.rst create mode 100644 doc/source/help.rst create mode 100644 doc/source/images/simulator.jpg delete mode 100644 examples/walk-chassis.py diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 9b46494..e9d2b2d 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -1,16 +1,5 @@ -If you would like to contribute to the development of OpenStack, -you must follow the steps in this page: +If you would like to contribute to the development of this project. - http://docs.openstack.org/infra/manual/developers.html +Submit your pull request and issues to https://github.com/uggla/python-redfish . -Once those steps have been completed, changes to OpenStack -should be submitted for review via the Gerrit tool, following -the workflow documented at: - - http://docs.openstack.org/infra/manual/developers.html#development-workflow - -Pull requests submitted through GitHub will be ignored. - -Bugs should be filed on Launchpad, not GitHub: - - https://bugs.launchpad.net/python-redfish +You can also share and discuss on the mailing list as well. diff --git a/README.rst b/README.rst index 3491806..f770807 100644 --- a/README.rst +++ b/README.rst @@ -41,23 +41,38 @@ are discouraged due to security. Python requirements are listed in requirements.txt; additional requirements for running the unit test suite are listed in test-requirements.txt. -Developer setup +Get the sources --------------- -To initialize a local development environment (eg, so you can run unit tests) -you should run the following commands +The sources are available on github and can be retrieve using:: + + git clone https://github.com/uggla/python-redfish + +As python redefish is currently in heavy development we recommend to checkout the devel branch using:: + + cd python-redfish + git checkout devel + +Installation +------------ + +Please refer to the following link. + +http://pythonhosted.org/python-redfish/installation.html Contacts -------- -Distribution list : python-redfish@mondorescue.org +Distribution list: python-redfish@mondorescue.org Further References ------------------ +The specification can be found here : + http://www.dmtf.org/sites/default/files/standards/documents/DSP0266_1.0.1.pdf + The data model documentation can be found here: - http://www.redfishspecification.org/redfish-data-model-and-schema/ + http://redfish.dmtf.org/schemas/ The overall protocol documentation can be found here: - http://www.redfishspecification.org/ - + http://www.dmtf.org/standards/redfish diff --git a/doc/source/develsetup.rst b/doc/source/develsetup.rst new file mode 100644 index 0000000..551a3fd --- /dev/null +++ b/doc/source/develsetup.rst @@ -0,0 +1,8 @@ +=============== +Developer setup +=============== + +#. Follow `get the sources `_ section to retrieve the sources. +#. Follow `using pip and virtualenv `_ section to create your environment. + +You can start hacking the code now. diff --git a/doc/source/help.rst b/doc/source/help.rst new file mode 100644 index 0000000..e229349 --- /dev/null +++ b/doc/source/help.rst @@ -0,0 +1,12 @@ +============= +Help required +============= + +We need help on the following topic: + +- debian/ubuntu dependencies packaging. +- python3 testing. +- installation on distributions which are not Fedora or Mageia. +- documentation. + +Any contribution will be welcomed. diff --git a/doc/source/images/simulator.jpg b/doc/source/images/simulator.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6a47144c3693661389bca08f8fddaffe318a5e9f GIT binary patch literal 162607 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 I`f0Dd;vN^?kLAkOFsQ7B2;v`<8IP?S?yrP#p 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

c#~0x}lLXgSUz&EyWj!WQ6uG%6MfK8O zA<)toc@aYPnC!%6+!qhcOG;(u&%P9tMl9iuIss!-Za3}X=LT+@uN%h^DYgaIgN^x{ z+U|Fx`8zO@C>fYX!ur#+im^AG7>i4NE{|U-`EJv z`T^P|-wZ9YLD^Vvxv~ykJPnClcs`qA?0%M#Mtx0*l7}>kb0Jec@uZSm0E>?N1pmcI zirdti(dl&FDXwz2skTu|$l1pWZvqkUPU}U%komltDWYhF)4;UWCD?qXPj$|Drr~_D z?Xt^zy=i;zYAVpSUd1B|=HXa@!^!(LR~ILHms3jgz;Os&%)mzKtFJ4cJ`Jw#6;cd* ze7ePGkhf;0+=i?oRL0;#+~j(3urFRv`9RS_67T7{w;54V(_`oB!}X?2`h;bWwnt9r z^83)h$A^xjA~p~C+a)f<)?U4MLwm?>LO0cEa3U!gtjRNXwD#okppf^e4z!!|-Ig~4 zFC{HJabHO`S`6;`781C_(mQ(dUS78CoeVA#HeRoEok+U+qo#>~=6lFheKrfq;2fYcBdd{lW&DB>p(Bpw9T)sBm%)`JiT=T>$) zlFUrxRikhxc^)?6P_F&>1IP16P1 zq1J=aYY|JN?4dJEctY-17V^i{=M~FixDb1gFu`P!YL60HMGH~h6!)-uXOkt#ZDBq< zVb87-FnFzUWOfR^Gu|#U2Nn0;O^%_TfYSrxPBtKD0?!Y_0`;_3l{?$SYQ~}W9nJ;Q zdj+q|PSEncZ*vAqvRG}69) zw+lK?iTXt5N8DgqvEJpSk5(KUSnoD5bYDrMRl~^`VTTFVm8xw><&wwup;V+(*X3m9 zk+PL_!L7bIRZk!k@{KE6`oewl}bmdHnwNbu`)AAG)jUDd^ zqiD>I&AQg<&+V7f+qR8*W?T1CzXZT35!Jnk5}LE(AP=v+i=nJE&1t0O#gi?Hb!RsZ z&P|*~=gvqp1LPg{iGFj;-Kp2|IvPnhF;y*()KodH@1Z*OsVAwZl+5k*SB-79Xi&_& zd&nPD*(;O~RlmEMX5F}{n#h7545u;j5bpDoq&T>L_R>Q5knPC|f|>Bd#GGi4AHC^N zk8*55{9M9BN?_^I&wF%*W-Ol+(;U)%2SCzQsAfx98x} zTI&+Zojxoq^QbTtKeUZs9(OkyrtuW~e!PoICWm1P3e(mqZ(KJCtMsARAXJh> zXarpRVZmZK!_79E@G8G)}cqp5S|0=$K8HdZmbFGRx zbi+M5I8<6r4yz)w=L#wAnN)zI?GW*lVY# z(xkVnseRlnHp@egY;h%Qrh!+=sE)@$I53Xq`ncvBf?Va_i-wC@{ zmg=t-L9jDcr@^{iKcb1{S#q!ay;)S=`|~}bqJ6y+FBz!RFds)9ILNBy0&2?H7>@qr zT*`#`2&q9lwsg(w^f$`ab7`hz%MQZS;kZE~<3KIUFLHB1WLf)}tH z*n`hHlf-2QXoE`-9*8a~T`Ay&IpQ&K{!cv%7fj(z;AVdFaB!KWG;FQFCBQ5#w zq$Youf%_v%xe=84n>7Iejn+&|z>Wu0*uO;r0`xc-SpYSdoAJ1xiR8z90@O5qzfXR{ zA%Ceu+&Y5)vm|?=GGMM<^_?#v6O`H+-Gjdi8lCScYv`_fP>6w3T3A5$@x;>4IIM#( zh~B5+olRAiol?R3TvA2xkIw8(Tu^c7S6tD16N6{>SvVwjFTPrQ{gjb~y>B^sydXwT z=O2C`o!oy*n3Bq6!zWSLxVfpcKcxsk>gWaxc@Wo<5eje{aLr~3*(B*@U-C+eTe{Nj z?eI&nUt3rx5aW;J{Vfmv7E-3j4(kg6S3YdNM`+*led_dKA^VOT@B>0z<`~f+M1DROp7-ackgIV}> z6KP2%%9^^o1_tDzN%haT;rgi2Vk%6b^dbqEr0XpCcSQO~!(%c#$@M}B7-LPKbMo&9L7=r$Fk%*&bGA=PYLg=Ha3jS$Pkgbg1Fao+;$Nd z`g%uU5Pz8JhgZ z^#sok5446356_!47F{n^F3p-m)Y;pzi`@0x5f+2R4!b3-K=C!o7saNX^~>X0&z}fA z>a#2DrMIb=&@h&p!NteeQi@Zsi-?!eD3Vg#Fe%6_S2k%@(M_KxuCVE7!ph#~V8qGZ zXv9%AGp@Mmp*46RCddE_exuy*OlN;w;{_>Rz)oN9{kcHRc1+MJq{Xo0i<8xGjqn%H zGtIU|h0bJ0_q^Uij?$5L7``1pAy>k0XMUJo7Ak~na<36e=l$82#BM^*tQHfUkb2yB z1MwNm6q4Q(SMSHzrR&#l>=@ZkJ3-`7!6f&k3rmr+iE8f|;EuppJA=9pcc%o&H5VOo zbK6GyTLkG;f=TDO!bi8>Dk-(|;z-~J9UWrqg6SnD&YoF;vk}(uP&1%8R&|m|bs^q- z@WZ0R^>1|=*AZfvNU+csy zfq6XBfSDNkx=BX7vMZnJoN^#zLogoa>4z&-;^9iF)^6%LBUtfgTEVLKR5IBIu~hGI zTFMFy)6WFoTQEs5uu8B*DmRqbmtFHp8kK#q&SG>$P{SU)9=J;!LA{uj+QH|AtcMky z1vkKM{2nB^9#7C&&j9wRPM)$Q9)%$rcgjU0 z6%kP|Ap}K={OR^g@=FM)>Q)5wLIe=rjPnDw!-828HDgQGL z`jyi}hS=c!899o0nW4Ffp zRUR>?FvW9js-oN{`6SYZcnRU2U#t0j+@&rB{kE}ObBTSN2y#Vu<)+)*Q%oVhTtYx+ zaR;KSf31r8YGX0~EJ9PRD7dUo8drjkK2b!hOUv&h^-*k$cY?lGiU>rMeOTY9$m8>e z5t)xK#_*xF#j9lox*iU&d8K+WOJgTLds5oGuU-^@8l3@xkD8`48gFM%#3qD}Lf`AX z(&~zw$y}XZiD~gJ^LNHts`L9SU(r3nUyXo(h-#+d2+27Ljch6OjCZtuXftO11#++E z89!dIdym;6rb~TUwd8w#h}{;Stn~U9g-#qzE8T}dQk?eY37KOEDp{82r+zQ1F6!G{ z{kB-wUnnZ_J>aa3s21?uLU|TWAgZPh^D*cSOZ9wb&HyfL3S4lla^A*aGrc^IE79~K z58$iEka_Okt?*U%GU>bxak1?R(lNJ~Y|F*blnK2?e(mJ}RrIb4j?rbtiz6`iWBiSD{?RL!2-)%=7te>QFiaMmL4w_*0-=!uaMWYm~eaEuC12i zVKbbg(DclHHD=lrT>LcjL5@?HlPFn!hA}7r zg4_O#0NrAi8i#+s;GO8fEPz=N3kN`jZVM-X_&gvK0+etVS$-;#Z%QD) z_B;Qfgmb&he;vuM?#|y6#$R{rZPoK;R^Zni3t|H#9e-k0 z;2(GFZwTYxk!TQbW`EqVASOW2ip zxJoPuwp#c>{;T(b)RQ9qtFZ&I3R{h;Bi7Daf#JSL@DnvIyxETl69+z0KT=I^P(tym zr0KUnDR??GXIAjQzoIU1+_^dtXK`4eN$D#*4{`jI90SF|i9x?G4(q&br6|V9ppiy5 zWt{zS8VmRKpnYdW!uoc0z$-P?eYr-n3eRHZq$8D1&>8q3VG{H4`a@ybS7rl7v20~K z!}0JzRM^t#=jde_AMyP&wBeLh-dh(i_Q@6G$c9SmD}gv=OR^;UAGBNAdLhX39~q2_ zk0F&vCo1%h_peQQ7=L{DVRL0|+^lOWer08AZF8^RPM|K+rf}tBuT6u4X2RonEL0xsqr& zmFFi0qoPrYl_d(Kg}g8i#ueRNNys3YAuEHbnfSzoc<#>_@*mXDKcx$mjo&Bx%=>&U zkP$6Q0jMOHkhivAkK)PaL7||iwZ}>_fPE-%LS90XeBr5%uxcLPcwo5VSH*4cG9x6V znLcf8%jb!UnIJFz!=28$XB}0-fsZ*cUj{x}WE2&bgvLm{uknT@P7Yi7ffBR`+Q!r6 zSi#oK!cVW+wAhA6M?-vrSWH9LM>x2mha(u|1dE`Ss`^#s(7v`S>g*rM9$k&cA8cN3 zO=2jp7IzD{NSI0qQXyu?4nTI9PR|cL;S5VoW%x7zMt|~xd}rd^z`CnR8|J;ib3M)s z#A>AH*bh8-$JVP~$N1vevwFJvTuq+GVFf0NH!VS?1i+UlZ8BwJ_OvuS;^ZC}Im%dW zci*AdE{6jrz_+lqhkto2_L)JY<4U(*$=hW_K<}LE@JUAKHPVEeqVhmlg9_&H?$kYP z%CMJy`dQKV%fq48>9$JGiezBD10qzay8U^&9+Z$B6}pX@yp{~bbd+$Y-O8H5kLDX^ z#R1(-`s`LefaRVRiH|r4^#n5qQmf=`WePnvJz-(0{Y5#`9l>F3L+S+S&^!~PhB1~@ zX)*cESvIAUJDF>XYS{XbHXC_aLicwwpBvf6+X@u-Q8HstwMB@U7k4OrTvP^y7x zj#|X1=^}Z2@s#3~e4C6$w`tI#%h&nkL55}re%!#+#=|uVef@2w#x_|}T;sX~{!Z8@ zk75rHlE!5a^Sf=_7q1~!;l{LrnKTWB@1`I6QMB`AhVVZde(^aDFd7D@nh$5MLUOM7 zJ!2e6vV1O43awlNk&^d84ks(9n+qG#ad(6Jk@Q{R*SPpSZ=v)TgcQp}DB~xNJF$kO z*gjAm!?759RT`EH~ zzF_*gdrLv^90qa{z2h$cYV8E^~i8n?vMayL0ER z9!V?}hc`P_DsO@gQoPd#jZ~@bXDvqM<&N#~aqyI1=7ocbHfx|2Ii5p>w77y7P(xEY&nZ8|5vrI}f?FUOCf~Jb^Ou%dS zyR4Cv<38y~Y7sL#($J_-Iv+>VeEtd{zlkWh*sLhII6mGRd2u&5S+m!GZgsP{wr>hV zh^b)N6a0wm!^~+)MjNVxTMZ^ws-u)^rqt^=x&$=kSLf@#cSI_=<%Esi`#yy)^7fKL zV*FwUDUW;

nia;GVS5C>6HWjw=tFzgecNZDN=#^0B}+i&?aie_Jh)`laE7-obv- zp!Qq6HoHb@ZpQ30dW(GJ=}%sfckgA>qdaUWg0QuZlIZ!u%{sVLO2`|>$(I&ZFs36p zNZ}1eUKeh-Q!vw)qo$bvdzg?L30jLSn7zWkW5d&w7u9X)tWecY1d%#2I%d)Yk*L$O zVD5^L=x2tKf0~ivy{D7fvSrUi=b0JqgAF|Kr;ry&pW0Br+PotPB3NQJ_dn8A zZmJj^f*-ecpRSAZim?gz@_cr8G0nK65>^mBEc=lTc4;xB6;it+;kuNOfK5Oj4Z*;( zoiCo*Rw!Cr9W^ykwo!|e17!YV&a9s=@w+YPJq&H^&?Ua=`8l+491)Xey;61JZ-*6% zHRW}2M=|D`XdinjxrQPerj}lrP~?bol`v-^=V76?PlIMCU>{AD{zdmo*=a`))g5R* z-n`bw<*@U0?y0z^??aF$LNlk4@}+7QqN$rr=tnN@^MMv<{*1BSek|X>7bbT0--sdJ zFu)%`&40#NZyKZie=yeXntFga*f-|-ZM5_U{C@kAAAW@&(GUQ>7&!pbS{9)7>lPv2 z5C}HF3>T1szp>c*_l)x&Wct4a`PY#!1Avr;36M7dN^;*K0RdGw4xr8g%(ebpB;X$q zA}}fZJ6v|VOn(yzFwo1$1~lf~AVjtso(C)gz=i=)`WuAE@e^wT{$bV^;PAhX0;`cBxHJATo+=s+DEqBf zvjgtN1BA8{2z;|LBSH?F@#)1mYFR!yr_~uT10sH>EmLtH9Qe^A-{@oH7rYMD;Q=kQ zmvxPcbv|=Q9xQOrKo|y_qHI7Yj`Y2P>Ng&C*W)qLr|5?dQ$BK1(ARh@8OMfxbVNH` z)t8CF+(56>C+1fs(}~o=*B-=9Kp5%CoeBTI@$fSOFF4rNM^b!G!HE+xmPK%H@2bY} zNq&Qh(wy@`gXKNX&g)|$Nrpw&$F7_t-GhV3+1CqCK4f2Cus0-VUR5`pPny<}&BSJu zK?$pe)eoaSCRTajhC`97)jn9I@L>>kZS@@T{$ree{^U$%GU}rJaY(czh{kalgQ1z6 zsC%Oc%gs*^pF0(PDIjoBeC=k={fJW!`YGO<*g|mC62sa1&v_izqCzHhDu>W}_)@aS zBO!8bi_pGS0h^+_ri%l3W+yo`Fl$k?x}B$(u7f!k)1q;)_JMXFlqx|2#CQtcCQ0_xzN0MDR62oBRdbAopJ%*iU>QnlXLww~a zU@sw}7$yQG9TbxL3WWn5S{cy^=PCgu^f=UjxvM*QFFY5V7LX~S@=-42p}4_2SfWxa zZ8;6`4C(97jgh7W`|#FmIuMw-ig|&k=S|n_+}E|PwXTiVHk`>x?@2ACn+p)3dTM91 z)Nq*F-d5`~gW~Nuk}d2chhyf&91DoUws4%EjgnO1ll$hYTCL#1Hf%uISpeb_X1p!O>#t?c&t9LwI+`h(!F0MiO zD^!+CXx^O&o`?iTTwG;+JJ>ONQpL?>Ot43g2^WF~Oloj<8%|xK>jir<+=apR2_i+- z=5pP^=fh8D%bzaxFV{cNO9dBTjM-*u?ly6AM}f;|*)wx!q@u>I*yVPVDBnEAXg-3^ z+Wvef$R(i|0r@aGk(`Q&bKM`3acbL(x`su4DiXEAPYPzy%r)#Bi<@-prHLAeZK(7l zN?Lv3SZyCkK_A4lqoFa<}%B<`d167kj3;`O7^IA8wc zvBM#byRB8kX+qIwBS1mywb-xA?Qc7s<`ip!ckb`u!!d3y9H_o?77(Z%U{-3{i@CL^KV1uwQkL_!m=#9Xv7RJlx7^5PDC(x!e-sSX5qe(o)Uax&yV-T>mUVj)ZL3p@rGY%&} zsFKpafuz6X>8guARPOSjaI|eu^VkS(9v`ke6lz%yisj^MKp-nK5(Ma+Oj2`B3@cpG z)R4}`TO_!{oqA?U%DskDmgRl!&KK!y`3b{{kNpC^rXpWQq6UZI%r!Jb1XyrC@4R7n z)cGbLCScLhamil#WHaUfS|X=7ZgV*^yJpO5Z8p81IY}MI{KHh|mD96@F}E)Z2Ac3v zgC2OYBZA~qlr+mxg@|vXGMX$umiZUulhG2$@kiDgc+^Mp=XfoxQfMv z$m$zs7nw>%Dx%7Iic~6aC$kPbYo;r6(y$0Hk3`k{{Ml;fZSD+O@$OY&5_JKpzAFmb z%X&&bUWD;`nN#hUOJbs#&tHk2gr3LfG7OKRy)`6qSQ3YZW-Z3?FK>(jdOJ+oBEGH& z^rD>XOwUF*>Csd3D1OTEGTY}H3nSPHrQcCdYU>WJeNU+?7F|H_oZ)GH>fCmuVDMIC zgt#L#Q|0_Z5ufqu*ZhzT1&2((Oa7)2MMe6nQ)z|cF<;`8cUkXa6sPG@)pJsOk_W&9EHmVW|GUzknn(hR0yF5{~cf+bL z+aC3JhESfjV9{1V8dbq773_K`kGF#OP64a73UKS9v-4cV(Fb7+MH_ecK6I(!3z2`is}1zMKm)p+Xd%Ao;JGdMe9z;td~4775kCKYf)xy)X28D* z&Co^G$4k(;f?;?0z%T z{_k1VcgpvDP5vOG4v;orPk)c(7e)cR-@joL4JyLLbJY(TPl`9v*IQpxnYuB#)spK5 z@g7>l`#)fK9n$juY$-!X71vJ)( z7y5*OdNY|MJV6sX10Hr%+r9w%{0^rY-eYC*R%P&Vv#H?O&*Pfnf*(^%r|<~ zOGBP|)O67JYuiURuUCT}`OP3Qo+to&wZL%`sfuE!?NGhL%;$l6OdV zzhExj_dTJ(4(VU+uJU?5Lb-AfZQG*mdS=B0#}C7NEcO6G;X|qs36s-xa8sAH8CdOl z9+j`dZl&mndVp`M8?5z?S@aWY6>y5zh{~6)HpDMX%aXoLitx09?T3p>kM2+x$I*1&$t*}SK$Mhc6SYVElEqP$mjOYJD599nfxCh-q(?- zuUo#XPi(vQc-iZeyvX-@JPd)U&1Y9fny|&=sh~pSi9%$#$ocYH>amC1`t^0Avy5eF zz;NRAJ&%eFSPlX>*b?d8R{njIXNr!3XYUl3r^7yFMzlfqzHLLK2KgXz#4MjHkr$|sFt-- zy6f&eA<9QpdMVaCo$Zmlln{n_?Tlg773Q$P5}bE?r_n!;VN92BY&5hyYW3Mdeh+rF zbsGI@hfB}&mN9we<#Q!475&|T=7>AuuXSzGu$Yymnf;#9H_Oqg=7bpy&ERjy@1(?y za$k*w4-1Z%I*;0>JGATJ>X++KvLec8vyp(yREh8GwrQ2*wy@Yd>y}i=K228dg?x|+ zN+dBw6svvLTo2j!@{Bzsz@7vyR96%G-NW&)5Z>4o?5iQf2^$U`c3F+4@2@qSdm1V~w3N-@7nZ5sg~;~g(-FcZS}~w3aEG>| z)~{Q=rr)4H%NQ#=Lyn2PtoCb+9(Oo`Y*@m3XU zN1~jmGSGRmZ9eK1j(&1j4|KtKb69~?sZp}+UUjt9196(c_F)5IbQyk9I^$1I&YTVw z8Zd;Ep~|to@~S|aCoVeM+g^TJKS_S#a`nEBA=&kctCIElV$xf)>4Nk5gk4`&ymRS9 z=|nh(S06gYb6ETkh-`G|7b4RNT7Gz$5AbOy6xEkw}rFp62pa&2tI zE0fvjQaxV%*PC~Zbh{Ma>7~QS>{SQ~*1zBu?=aCV+BS*x&xy?W0@_KXb`HxGgeuId1>6sXcM(94po38b* zq4``>R1Arf>Jm+|=??V+8?zgVjl4~T?$kmC3`rag*z;1f&{@vKa@uDeG4cg6VNtYsA@ zgju)cl5ow_LLF+!dWTR9VxDg9;yRNzFy|1FJ>z}37CoJ&I+bu2o7dK=PJe|e2S zo*My#k(X7J=n#XL=p~pQGz$@elpmZ>SA{MwNIX`eGsK$i`K*cMT{8?`CrpK|KKM!JG=C_0BT-R7p%d+w2~PMYbcHD9_0vbG#H~j-4TuQxcor zHQ5|!F(x^Vry|xtZSgw~kUd)*KaJ;fD%jNDk~;RSNvzQOXctV6cvVG`{VKN9d(&#c zCI(hfZq;PxDSg@G97SJX`T{dlrR3zjlOV3rLJ_q7P?dxosaCLx=ZF%icR-|lbfR4I zg~Qr;x3a-kpGWb1vK%{-IFR@iflSy>Pan2;EW1M~NwBxiN3o7P*CKHAln*Qb2Z^|_ znZK$>cUv>$MpQ$Gu>Mdd9U_ilpJZaTlgJr)7_N87t9@Z{%|D;O!f|XAXqzOpUp`>#RJn z9ZDKOjqVvbJYJ!VA)>8LY7?9!-OH@fFj;cP z8UN$!dVC?LbMqakb}ifoTLlj7FAoJ;!~~y91$?R2N=Zz%4=L0BA#*&ZdN43hy@YCfV36c_E5?(TNDlpTiB- zLq;!_L2|TvrLI2f7-_K~uk}*$3_~MwEloDB+-|NZisX{*gX@bt4x`Hn1-nr;Ft5A% z!?nTJ=TX&-B~WBuCSK7c%3OKku+5JyIWE~YE>ZkAd=53Fd&{0^HmPnmRdYO|{Q@)? z51H(SF7*;KJe%Dn7ELN=Asf94DJwN+>r!zbjuE|g|Ns_9)V@bRXeHTBoF$Y zU9Ya>gQDU21fVXL>-ywRHs~y&Ea)C>&5&3^_1R*IN!AciehxfqY-b33mCKbOO4QSs z+DZ{TGTn7}*^SC{{9|M6d>3>S5co zqGro(H|U;aFWKsbum9j@`^V@kc>;qo2gG^Ok49$&-W(rUw*@dQW?!k~4jII&>r;`4 zOWVKodOMP6N1V~(mqniQ%4$4TJh73f(vmD6;$HU&ZORNQ)){gOa)JAwaiUvfb<2rB zAh!SGL^pWr2Q>JfaiVW|?EihE+xM(A;Pv{A|9qz&Ea30_2p|o&ya@cAAKgrt-!!`2 zv~Jy8fi|OW*IQf(eEoeY=mwzQe*ceCLAP)D!;<_^h5$@`>Dk$VSsXx7^BaA+QH}=$ z?b(Uh0Lc6^^yOyw1_g^-wukQ{RI6I6SK#wbk?YnR=knEvnzS(a#%=@R#&JRfl z@bCQ>SZ+`GUq^ClKylNU$qby?+a$!z7#UFGWCiBQfGzYh)c>E>f;Vo@_V19e?vYVFu)+0aFezpoQ{1MZ^poB6c>wr5-T3`>9BN zYzF+39s8S1;xCDr8$<4!zJPxy^^Plx2G6k~G!7Q;Gu2c(NHGvoGJ+}{sfI|W=PY1n z#N9}t{8FA?y9oD2QL2K@H*%>)`W*EA27`$z48aTD%Ue`2(#y#&&as^Oh{iVR&D&18 zMx#epmoo&PNj4>w%aCPcKqr6RC}3%8+sh`x1nEa=I-OcLtbYh@Ya_}&d!sS#Fiy8< z_liYHN+jM_AP_Gc(R3;z#WU#)@1oU{xar*tk~tjeGa3iRAWKe6NYkoTdlBCayE4&aNyD8%O13`tUg3X6*9i*b^3nWfn7tj4mWgLP>qTlh-j zvox@c3tqT^46O^0jZ%qNO@tbH(k1$N8;h2cn$wH*OW;1J8&lo)#T8feQ`#R!UMy*I zvx=Rf=0=}XnDF&ap3ev|xo=g`bPbz)-$?6Jh|ogy6z}68xp5%7BZWv>q4KETN3vBT zyps`n$52^vgcig0S!yfcUG$l5sSfGg4rIfN%0|U^4H10~(Pm>sr2Dagex-xf9VW>&q&MY0GOL5XnktY@Ca77js zaQLG!+WUvJO#dVo<>mAr`sq7agYg!2YW1(s|j<@w1hvPs+RNvon| zTBy8Br7FZqOhX^#>GV5u9;`>?n{p>6Y0xk|tMN5xM~LO_a6p}>FygI;)oBSkd=tKarw_FZEmVd&IWMk=?HVz7MYxC4I?R(;+e(iflCdjwMoAahjS z;#Wy3s&zXXICT~nQzczu`0b}y?AxMIx?tq7POKIeq>a=iZ+5)x{HM8 zk15jK9UGj0ty7ZunkKg9MSeUyUa1chKNr{A>h&xAoEUCYj0^@ZPqrlEGEp#IL76qt z3E^z>!K33L!r6B#uP?7o&&(+Bnw&Pu5b@gjtt%BgYgE46Yviq`I?4#}_GugVd?v6S zppI1_-D3BmS7pMyiieY_ti?~fep1*14#Lb|{+f<~6~64`^G>b3&5<5&fsz7?#@(ih zm#zJFA1%M)e_*uF7>FlahYB5VQ|ospPCzcvWQnToI~CmSnsrxtROf5|3OvCcw zMTlDPLa&}T=nCl;vDL;G8hy3*AE!Umx$czT+m9pA?#Jmrp%w||agSbt6SJx15t^ru zEK-Xsu(n^&3vW*oGghR(RI%`HBZr)gd-teHKrk{8rwo!X`uuSFx#@~ecx!o_rl@Hk zvLt2@`X{&jz-3K81My`7xFLuq5Y|<6*$W>McZfMc(qnmTreQ{Ca;mBqYgJiaiV;jO z-fJSnAM%n$&3LCqY4zNBIFkG2(tEdX;icBWkdo^9=0U4;K{p|?w^b|wO@0@?@ljNI zP@h1?{sKbbpYdiR>wkbcE`;>g>p6FBV^;Vxu zv$0ar##}+3UNui-;IcWZ7v)EqmB4`_khB&deGjHsNAM{RdC=mR=jZ6DV$_Z%z`>eV z!lfyl>7-dtpWGaQ`zgE7YHR6DwUa?zR)|NE+3-%0cG9dOgYSjjFe@A$3KqKd+WX}0 zt9gE37gNW^v)Ys69#BBr=hL0go+I$}<0pOUUkm791lTq}rVl8FDPFLq9YA{N5xv~) zR8_R(o|~kWcbVlYQ{A!dt+M7u*GA{gN5-uJlYSbn_MQEKMLa0j=N~f>7jnz=|ImG53tN8efDcwff zrNT~XB-y3@#~+s^pR|xFQI%RiC(xLET%AEVS@69xNo}7@a#vLe0@hcM`5oxKCM%kt z=*rc$Lz6OU>kOrRlQ5GE>zQDuSbe(ZHqjZiN%K3$@@o4wm8kvniD7VGxS|{4ELi+L z!aMpVv@@)5VYT%?OAOq8vfm&eCJvV06ifer(EhW;0N`hKiyLHgEzPVgv~?|sfsr~v zGgGVE>&?8$EfWWT1>hJA_y_|p{#O!!fZoFmcV@W(bhp>Te(*P!VGS0ez9I0PteGfq=|6+7~w#$2a!NOg{mO|EX|#`^)@w zB+P)fGr+lk)Wffl0HlSH4dBfGT_oTeR{i6e{5^eQW&u`!88F!RzeoV33r3EcRr;^i zg!%VwCoH!&^l#RL1IRCcfb`R^k$`{^D$vb@%TGu01APL<)PA=nw_ECOBDtw+-}GVv zGL+vcr_AgCRk*380>hL)S2_I$`o#K&!}$Zb{go;JzJk9*@|`MxfvK*as^R`qBsa(E z@7CnT6$d!t%xr+W;_cZ1cs`Jg;UH!PI#z$??EDjHxjoo_6A7>sw`sc@1)bYK0CLU3 z3Xm=)pm+CYvUdL%$e*yM8!G-U*i)kNyxA-}s_Tj7i;q+d_v7%xNbNW1v{WZPXqY~U zb5>2EM9uCenMRiwX}H`oV}D34lcr{``Y?!c;C16V8~D`_Sntwa*UkK*N+LP0WEpwD z3c|sevuIZ_p{A2{+7zYPGs5XIf=-wsP*4IDt3Xpq3@}YWhv+Z!nvINl8~bwS!6dCE zQYlN}sgG?XD%4XAgMO+`U9EA3yC4Z-^$$Ccpmt8!5KL1=;lA?2YLU2%$PB{|Gf%oa z%oH^hPOg=9Ooz0VG@UeH2VyOPit%*PGCjZa&l`@msPMy@?JDk7T)uEVS{z^Q42OGA zvxdG$uBcX_LP?H%I{5}(ca`u9dS1u6#ER-_b;x;jY5Jl|v25a8z64dp7q0!P=EcM? zzm@C>7e(&~f?bxR=ntj-YDk7#9Ooc&fd|fM2z$0k`DrJm@~YDY0=>`S^(B^9C^vjX z_E{&(ssflil0aGARdQnHPebcdvassed=v-riwz#h7&oL%lWb5ICLr6AAi7`^eaarB zY34_f$T@sXV*f~vw0Pv|D_Id9tl{OWfs7ZF8Xm9^3QR`0JO$iEJm|a-6Ym6RlnDdZ z2JyY)u+>OT!lJmWW?S}B$DhGKiJ{%OPkaDU(JQVIp7NHJoc1<^)+)3$@BF(dnvz`k{*^?1P*&$v#6Sx zX%Zz}+bLhWTpmdhnYy^1nDz>3cl*X3J`|9;t1=}@-yjp^8KxmGgFc?ZiApV$U74z~ zgxm=uPb3lfYJEj3M-Ux$HZ9Ls+L<8DAKuj6KJp=G+0-2S15&a{10cS^Xxo^9uDVI? zg|F@IFKwauNo5?dbYSM0=RVB1qKyvhJ}!FcB)Q^RUD&!Rbz`g&$9q=qL3J3WJrX!Z z(Kzdph%t9D2-bQl()}T(kWL9ezu6El;1(4R@HZJw_0tKV>tQQZGBcoqih6e((EqG2 z^8?Hfuk3McoW>lI!)n}XR~gyN#QdlC@EeCslc>BR&E605QdfxRBuHzA`c?FFL4NRi zVImXHPSJ!RZl47$!i6*QC7`C^oG+y-q?-#yokd~1eN)jK;lRlBk;c;Q|qOGzzNhn<}K z66+9VrmTc{iwjqps4)WQ2&(K*JE^7Y{W8vfV@dC}LG>Y^W2 z*#n&5b4S07a0Ljd`nF4_K}w;R+im!jm7=+Zw)mHL+2o?h>>#N}|OXj=|p36EO$$eJTSP79I-V@`3L=|K z=ypw~)NHaW{XARbZL*Y7{?NhKv)fMWpipZWWRmqDAY8l|SGc+NUj+T6J7+%jL`x_k z?`*wA%Nqn{p2z1vq%B~yC40SMU$e`jrK#2VU{}kAb$o=Q*-_P6IOlfhe$(dCd~fT1 zb6#^z%#6GoAd-ScyJ*+8%ERN~;l`E0eRpx{>VETGvg(nG>y6~Avu+hN8A-#vGPA2h zMh(g&jr^q6P%k1W=s1@x(fon@rsOm+#_XcB_q9`+PPuOq1O=&H$_Rn?cxW+RO1f|2 zu!S`uH4DZYB(RJIFNnyQ!($K2Fh*EHBcKo48txpZ(-EB5uccSC!|z?E1b%o+(IdKD zcNk%ABdoCLL0l$CI?_zlpyicy;;O_JE`|0QG0V3E^csSARFph!0E!*q;zkQJ|6=Z5 z1dV(5bWPq=;8d6LLUAvv6cpcEz#K#@F5HupR4=9<9yTmg1<(kKPSz_mFz+kxDwkG7 z7!|ZBW$lS&-;4+H34ui9kmk-nv||QRm4V0_l_nU4E&JQOJ>>=RnC9SI$)T`ruINO_ zd_B~SSLfG^wTC9PO%6Y2prxDsSihHnzEPOA7p|@x)KKUf-7j%scK8UIpqy~|Sw>XY zE}GVr&zpU12gfs|cA3K0i8PN#Gwqc39X=)_E++JawOPXFLuP(s+fqzvLSgG*@f!QG zU0Eqk7zCCChQpL7_8O*##M+YZdZDC)5EIGRunt>AUp@-_t42hHf;S%aDV7%vw(V<_ z!M9TGDx8~f*-*}j)X)&UF9tZ@fD70j;7PBTKOGcKRXas_M zP^ARxEsfbyyN$GIEFMd zKzPh`ZHOGoO)0g{J+m><-IB1>l6OXE1j7q2cDQ!S<5ct85uKO4xV zh%O)ECA`w&nHTUPn!>-Mn$Ixk38Mj8>ly!1gZ>u``M*(3=3l3pf7Imyetvc{d_rn} zi-H2`XFn+APYMc{|MPqesK5Sr{7FGso+;>`=+*OE{~K8Snd@f;!1bSK^(TO529%5b zPtodA@c$(e0CV|4bphRX&y`(3WeQ-L@hp*L`L*iQpQ!|(s`O{d`MiApIg%&CcX}o! zwm;A-K)L2onmo)Bqmv&BS4 zlp;SUhgladF$Y{xbK$lA$LLLTzL>|=sAZzWxVd5jjD~jvV+X09IRR*G5lIQS7qVX( zUNgU86qrcNPSO0J+mu(dxLiugj37kLxk*waG%5CN?2B%8U*b<;3H}r*a0$RfujtS$ zU{Z+k5#db4rhpe9^O;`Myp$9ZL}Fx9!Gakse_<3&osWyz5@!51j}p9lMno0Xmm>x# z1}cYxztoGZ3A@ZQbV!6e#PNK|KQDN;09ah^``3JM=$Cjv6jKOQ_~mwNLsF#WK#nrLVibyu>H-azzT_ILVP$Wo-$eeVYv}fM8rGEEfH0=cM4HV!xm8^c_6lwWX!emCezN87Z`$w0qY3o9@;$Vb+mid=EyLQ3=xM_X4E+k~GmWxqU4`68rVY!x2pU zg#sZ=A$Q2L%fV65*nR1`aEF&c*a8y??t-Fh1Ebkrk&Ym&vN%HkgG!{;%t-eY`>2}W zhs(jtIQ)NdmsVj|~pQN2se;L{Z&7sv)B z2rPZK81;Vi@V>WWRnvXt@IdXfcy;zxfqCbMm3HL&Ykj*A@*E&SiflsV7A^BiTOA3C zoMZ-kF6SF!Nw9-ZqMAyVZ~2HHx?b^rAmostTmF<-n!0jvg2QaiIS;c?6=3|`tD~P) zJX@rA#7D!*O(QQ*266oie@E;1K#PYdFnZFp-9`Pby@H446Rg7BB4KZb;x&@Y)MUM!f-R+i7KSL5%nNn!MS)K%cI zMEU4?Q3cjAl>HEGlc)C~1`h4OMhqFs;+27ntId5?=Q8Id@JHEHGU5CW&Qa5$;Ap_R zKKB)w61my5>1SAlvJgGGq>oMQdr`VgIt$-6kZkq~LMV+gL}g~=2f{~GBIN`3sr1gr za2)4$QU_f*Jm-&D#z|qEl<{>`yiY4T@X5+?nYB;K3yH;h)fXPdfD{qljC?$BO_PvO zWvXxIQlhnoBmdZtm=z@!n4x#VA-C)#Cxw=wUdU9zaXZFgc}wGf)wnmG6~UXVTU62| zx%3|Kr1^dAJKI?kF*S25a70v6e)88w;Da(mI=+D=VC$Cwlh2(_>i$xnWPWscvGR~kao=A2riO8Yo$Afi)j{f3 zPc!XZ&C>FHTbri2&NU6}?JS2|I8%zl6|wS}n}<_<=TW_Iwll3lO!#q~bEmm>8|9~r zt6n z(4elPK^GL3xr1QMgZVE(7*_DJ9oRwpo{;*)7okkG6sPM!pB1B;1j%y<+k8$4Ri|-C zNqQf-|L)pUuL+C29>E=aIb1!Wz(c5YN5 z8Sc*;9iO)3a!q*gBsFM@q)iAL&*8?a>?QN|RM>Cn;Ow7r}3iMq-sGr|e&xH=q)}-$>=PQ3TI_+gf8%xd0E8I-3 zpW#ncJuYog)h>EQdw89)w^~2n@Zp&I0ueLt6XQI6I(Gkz2g7Hg!GjqLnFIy=a|+fz zjioFgiSbRrJN=NBwpib(iCowd=h*|;`sOAfC zO6nYF6|@BDdFO(Sz_`^y34yd;2g}qEYbW+fc6yhe+Fp(kPiWbk&LVWdk1xak+(0KQ^2ZI7i98b&h6SV&8V9@7f`#X^UWM)4j0YH0NKz)u5kO}{#NS+Yb z?~wpp7ylV5{&!08k2PTe=pmoi{fpr3`RM$eHKG5xJ9Mmo zDi%G!S@22j^($-gS6z3kPrLUslHX7(pi~4{$G=3aqbh1vYAgtzbCnZ%s@iCp<9OAU zFGP2Yuh^JwED6Ql_n4@2bRUhcSq;6lbrx6yx&kYHrj*eSyrO48dHSTyLXC?x{?Jh=J-I zUsbut_${q=thI5MlurSMm3Yp#@h>2XnXhGJV0YX-*e`l=uC()Tao<<9-&-)O#WvxC z*7Kp~zDI(g4S7w*vWR97myt&=Oi^C*3Cw*=PDL-DO<*6%i-+IGkIUC?z^H3SKVRYX z@;XTR*q61Cv8DDEz9|XJPr^{?Q?kq}Z?-l#Ks(?ckJBQZ%vvC?q_RG|CeP}E9P*f! zMIuW?ZdchL8G$DfjgDreQii2|2+V{q>bg4fg~q%QX%PgeWs1fZ&FDQglxm^H3T z>k%`lDCt_D3Q4PMBu8IT6O@JaGS?SL;kyfpkI%c$Y%jgK(pAQ!1oYN9* z+b;8%?REp2P%Y(^)(Dd}%mS1CrGm<^(b}k+^|72b zeed%@Ax$TPX6Lz{Km{tb!@M7HZ!gU0Nr4^Gtq`}X-bgC-P%6<(&ZrA2D=BJYnvK3( z;LsP^7USkv`p!M&I<^RM<_`o$(2Vvi?>=Ibi=gZ3@(W0mvB|$ujF*LAy{xrfO9d{W z$4~IhfJHOH)6%gHOP9u|PVt}V^l{cawc206mS6C87lr!Ze3Z1$JEsJeYx|kSw7TZ4 z&F6Q4+_%gswTTj_^VbyZ{@D`?ydSIR3AhKkVV4HAO0Uq1Z;D_7MFQ&hBV<5@l!lkQ zyt&aW8Xv!WNkd&{R)rA?3$d4pckH}wMpG!2r-Ul&#Alw^%kdB+oVdE}kC;4fD^7z+ zOw8@sh0022)e~GrQ%|db77M_$em@v;zK|T2$V;Axv^Xvx5g>@67I?uwMEIVTY(QBj zeJUbuPIy{jrZp(&R{Hp;h`#;du$WBRn}!jjY^?DDvfOw3GiNi6pNJ`rMnoR6Ehd&U zPl|PcdBcpsxiR5>m*$b3o_^1|^XE3$h^if=+p8V7g2cD0=#_W-&RUfjuj7VX6|(my zirUL4XV{{eBdOY__tGs}GiIekz-iTYRTDcqZ=J8c+uz(wH&)_2Y^Yo+Cwp#o)HsZn;rhp?%B|aKu z;AzL7E!Q`{FxWBWRANwSF`Y3Q3ujNV$F{g;B4rq?d0W68U!hC4ArkR#AlB9iFXeOYIJ)1(V)`)J}bnmTg9Z7{~&9sTg6Xytl{otG`X~k*$ZCzE4Y#nF9?2 za*MLu_k(LNKkSu9)b;!=x`|*2rxptyUhwU8a!vr03;nBWKS8Hlmu08vtbsQ#eGxlF zr>07z(mQa3V?obyQrqw!BL*0C2PUArsit)pZ8r=UEI*mbjFI2u3YUNdVh6V~#y3=e z1>`nYFCEQz!&fy_a)N8`VDtNh?DJLPH@wuRH)AvrJwGmvDQ{{JDyc<>6v}=FQ!zpP zNhH9bVVN&K4F3ZqUlMpKyGES4=_)I=MMaDg)5Wj{O$NH+p7pSwU|-8CMB4P7H~Nv0 z-6gljven^Z=Z5bFI-%3w><#gjC2ZATQp}WMV(7trIw;tmxhZ#|8=ZdpP$yx@kvN6H z>AjPK993HQ4Izru)WDpABGKHi4c!gq%*#y6GOuI4ARawHqkfOS71LK4Y98wVWnBLp zHMY!yCMISTQnp|yJR}iaE;KEFK<>dI47IKZr4m1>hrB~@kaC_T>OD$jnC8_vw|tLf zxO4&8X4Bw)=E>*n8-9Nn>sVo4+hLn3>?OYj&wkI#B-jonwaP&2Usx_Ew%gaOd;!2;-P`#+21Y5D#}B=i6WKUP3G`yY|eKS|r@ z{tqMhmqYj`%@hOulPx-cFwg;*+H)jNZGH5tfKkKrfaLnGMDkaolUV;dXZ-z~&^>v^ z|7myV0BLrBxa)u2oqzG4em=y1V|VDD9Jv3qJ9GdEB*2*ee~skHW%AFToj-8K-}%uq z@&8MHRIVx>waEzgu@Qx6+1Coz#X)z6Q8Lm6aDM-icob7-5ujRpQvmA+D_) zXRNG?i#?-r-puU+ye;|cowlKB7#i_JdI_ylO5d`by6#aO7z0ZA%jEK8lb#gaYs*nE zI+}5W`&cJ<{-e@>a2G_r_w($NUVl5>`>2?C(a^sURXE<^dGl~MeYUeRm?`~{pz;&J@QHqb>8#Nj=l#Rp{n@ly zx3L6o`?eU)K+pHX!YCXsw};y8I?t2tD%=8VPZYKRz60&CR)H+9$IsK#IJ)(qcc>%E z(2Rgty1i$&Q2=|qL#1vE=G$=EjM~-#A=5i;V*C_icLIAyh~fF=z83IQ<)$tSB0_gu z!H=mKc&tiirl8D3^XqSf5m|IBxIA6v5AW`d^dU^iEcUm`<5p(Z+(BC!1IN5XQF)>p z2}rhrZ}=_A>tGA5%wniQxZvF{4V56ck8h!*)U+>n2X6V7wCy&NLnvN3U1dm#y{F=s z^t}owYmX7un{*@wh2l1GxVr~gMLx%{8(<34;3e7Kv_eJBq{tQP)W^$gx(fvF~6dhPB9!@k^@z7FSBd_77xf`#o)I;H;gB}I93$vcWc zr*>YtRD(+k$kufx_|`!Im_~GHWJajqPeP?{L7Kfo4dp;wM$AlS0vvgKqgxH4=pftn zigg8+PxPv8lXSg1fdbeHxKd(U^~%cZ7jnYKtutA{<7{HJcDUy^45$b zO_%rg5-UhdywDe}rD03iIWzsx5#}kD+ywHh7il#I1?KeXQ|rT4lU2|MFBp0TqYI{T zDUx&XRcskXWnXw|#+JM|EQs17kQf6aJVCg3I{0Qv<3g|xHA$^F5GTN(Ft4>FqB+JA zvbdSbwVg`Gy2*6iFnzSGW`OiDK1Da+4RY&&R%E8x`9@p6dSoRGo&b+joq^6=>eMiu zzCewYPqth_H7Xr)$_rEZ%(Ymp#;jDm8+BYE8e)-G46w{-4w$484Yrty$ONtJsumUT zu{5rYn(8h}<>1G1)_x`>CIu@O)Rg3xy9)9Zl%!(BH*^lBx_W+o6ybuo6rNin0vC8A z*aAa+hSbBUq1}f*z1|FnxWr(Q;9Z~(YPvD>AJnq6nxh3{j45C+mG`*rJ9s57Yx{Yp z#;r>RqM&a&4h>lpEmmqytE0zg$EO_XFp(bXb4&Ya>LrtSU^N#eISxB=)6Kx*qYn*Z zTUC08)0bDMsaulDPCkr8I80LY<1)x^HO7InX0A zgELnW@z6-!18m4gw5d+AYmL8R#8eo#ey(hMh}ZMwE6rCOOT&6$k+An(f&Rb|jscFr z8$Ebcv-M72YgQpW6v{*g(VD6@&gI(pOh2u3=e#Qs^=XgE!$yUkoRW&SflAebe}6WX z-{hX!9}TPlL|*?+Dl?ARCWUd7*Dd}fzEQlQx=Kzk#drzru(Q$Y8i?R!2XS{t0=b%p z1K^r^z7d+*W*};q_uJO6*5eDa5R7WIKqv8^{Bb?dypLZ(brp2?4XRYXqjBn}qNSqG zfwqtlgkn4$me@5))ADef@2qiBZF44#y|3#r6$(AJYv<=n`j+Rah8-@}+@ct?C`I1y~16znr(oXF#D=g)q#p^H)QdRfI2#<^q|qNO$Bc6+*v|mP&{M%O&g6GehI=w zWpi!n9bBC)lY5Qkh=#uT2Ze46M-u*Eof_wnx?YX+{^g>JnXj^1bVs!>)tn=!me)-B z7C%C7x;4@#yT#3=&}a;w#|qs(+OCw75JaLjI%|h9)qSK?)N}d1o>bx6@>PzdqcK#^ zBNO?o7_r|YqM~1BmZx}znOaXFWA|wA$aC~cdQO6OLQO@Jqku+N1XSM1j;!NW$;fOZ zz(PIT1pV3;9tFHCF7KNpn96nSi@kIbp=S$@p5?Gf{S84xHm2 zZo3@6QFlnQc=IZ!*vx1v2wc;?Ze0ew#fjbT6$E#rNn80Ssmv$(tP#jj$?2gf0{1D# zxm{j1w4aKu#|qPhr&k`ZAya4^l;S>d51=ZXDocNhUa z2ETG*|0$Axp>hBVjlV_t836|MKh6mt09JsXJ}x7`Y~hy%$Njh!{Va(x{L4TvfJpIg zMFOxz{Vfu}ZG;{$wC~9&<^MF2-){N8*XI9}eE9vG&;!ObKaV!}{j>8lE$x3lC;#H@ z@Z+}opU(*cz@dee4xnuW%!B_qWC8GzVPgRJ(9#3$FuxMX&sl^&cjsT+NSFb}v%l}o zPs;y%BmNsD(RdZf_sh($+X0kcFV>IWcRi?txI(TmZ>2ZmOYw5L#Gnm*WO}uR+U+sQ z3(**bS|jsT&Xq6TxF;_-y=&0B*u31`PH0JQ>_#$o`R{VT4!W>2se{&FO;Nc#Xr{)J zyN8)s<|l7*A-^T}d$AgyzvWe>wsn;O(;)$8e}z6!9h;jgRC;BL_iA8iU%ko|_iRQ= z1}59#BO9iO1lAf3Wy#9oMt2IG=L!AOy~8$a3!)SOaHqLt&1Dbwthu4V3X(N|Vx zntSey2l|hGB##v7ORD*`>k9UkW^U;^c@CxM=`Q7;nsrq7M$9ePgIxwRGQwFYC&hQ{qvW)kk0j#D`$nu^TbIxlF5&__{C+?CX$mME2IlU=>@4 z0aZW@QM#tP>)XTUlZ}!nb}XC6+t00DTC1Gu867;Uk1onbE{%?HmjvOX6~~?(cV}BG z(_7gHAP@>TX>{Gl-E&&po_8nb&GC$$CqVOXq_LgB{up(ytw-KW-lPuFBudX(zTMY& zF^A5m#eIKyezdXUg!53L|F&lk4YTY6_S?g6SY<`l{mIeX2cS%+XLlw1U2>sfE{dv0 z>;CdY0=R0J$vt)7&Obv2Y)mgfAyY3~oIwTp=0K{K^Ocqrm2T~LO}4Oj4?cd{zw-tp z=b5B8bJD2IqJrim*C|4VAsk$1!!!@`WQ#`lgK?!;9sBu^Z4PJ3knjCe?e!f$mk4W^ zfT@dIm7pGnc;ZL;-}^Iw<&P#mQ0+6BF{Act097%&-+TzNg;h6Y{Y*|O}T<0wibAz!0GXI(YTS&rh5CK4K zH3k-$&dUKvfh&B@`18c#OIyJKuV1PAxfA+*nCt|#zDWjlV20j;1gA5arj$kuaNJ%K zkX*VEts$upe>hRm20G_AAl;c{h-GL&;Vz}1A)Xp2L^^P;3^U=)I5Dl}Fl>&33mZ3| z?pw%cZ?3slaDnPWoAlCn*Np*cq|G+q^9hw|k}6|)M&i_X$To`moz%Em&fXU)Gi4W^ z1sV}GxW`v+YPCd6W$@<44UbJJ#B-U{Q9N7_dXKIy-!Hr*t+Ed7XDr=PcV5|p2zcKS ziwx~47ZTj3TU*4M!KcUy0@yoS=2xZr5-@@pUtYN#tRx4w2K;4m26CItAyOyTZydN|=16!`kt1w|$l< zJ-Eir$@qS(0O+gX^z6AVOg+VVpJx6eT}6z1V$$-vj3T6h2n!`2pN;xF+a}~4wPiH? z9otsKbdAAyblSI~ek6%s(vnyb_6^|BQR5>KCK20E{6Hr-hhQdReutxl>YkN5f}9s+w@$;nNBjKFNd-2Tf}tJCU)B^0-e?gVET_Xjvm?``{(eKz;lD@YR7vmM3QQ-)IpqT(+eXzoYTRQSun8;BK3c*cMa zAuuPx;w4mLd=!-5VjIFzaC7n`flCP^qhxy3Dn5A2`Ky6!llZ~Z_ep{q-u-1ou?3T? z37y*s$nN!yOu~pX-nEuaV2Vv$h-@l}!)4NMl!1Yc)J{q!_mcO!^MMH_+S$$D?JD?{ zjh@|02xZx4=REM(1y6tdsE$x-`lW6G){3|yh*OJm4JXM?WIt_6Z`FZKmqh0tqkVM5 zca(c1HHsPuC*Y9z-QxERi6SxGLHo#l(q6J!<&`~q9rReLIl;@s_bh$-V+5ujB`+f1 zRH`Y+ZdYGo_w-7SD}}{ZUYmxWQswoiHE^b!YLxPy5LJAgg6mQ?Ea!${!e@N2#G-Nv z63?n)Jp9^R_8%4L6z%&$xB@3(a5T=A3 zf(Q3}r^Bml!CNzU%L?7=Vx8?%$Mt=#-qpcAYdjT|cEwwCu)`Z|t+EjzkUT4qSjtnO z^?Wj^idB}vW;NjGSRfJV$EL4Zi;5isBIR;R@Adim%TVW`2ISIPBXtzhonu)%E0S zUi#|Js;XHW%w^k46C3D|cp~!@%WE~gGNjWVJ>Hy3a(Z*)&5w$d4{B%~3(T_Lq1RR# zPPeUi<@NFip_QaYkAKtLSc@4PGY(B77tXM>5B8ho6~f@lPMphf$mOcqkw>6ve%SPX zL$H6Kh$oEmR9yQ<74lzj>HkEqf8ds1BiO%Mg=7X)ou0@uGr+X($KwxD%}o1Ds{aW5 zf4uZR1G?X#H_ z>6Wje7PZv?IPZM4wTqVFs-?OPnN9w#e1ACBG;DNRoh@{Ib z>D-9>VJ9rgQ^aRzOFfCWg)XAi&oW7sX#gHP3wUl$T%a-6qoa@ZU=aU1Lu~=p-ddhr zjEJtkIgw#XyazkAqRNAjLjD!^M zQ}$ie6X60PCQ-R~Ob8s`Akv-v^*H%?u)Di~2Kj3du%2Hw8THLuFB>hS!_Y9nScGy? zc;aQusbpn5v-HBg9PKun9g3W7#||1n)oxM=o1k!ShQqQb!%_M+OaPV_oslpiB`3W_FvX|v`EkjWZpTX4FDCqm`gmS@lv^;wL)pT zv%cQ8qM`BX^t`&r)Ox%<$gH5@(MUjf!*@k^ZjB{+IC4F@k$B9L!q6@K7S$u`tsU3- z-S>mej=S%fl{^opwQL_#j17oW`9Fb_5#zKuQQV)Mc<(I@?+eTEr9^zbhvNjZAKO60 z;?BvfghsIQKj{kC6}Q)c44XhXx5wAPH|CnOWc{4(>DZJ5-6zP&;3b@Q44qCuZg*55KwUG0-p_v zEpoZSFo-N2wMb()Gi@N;Sz(-3uqVsm)M45SL)w z#e~D-?mUl+JTs2-EC8hqk8 zA(R&hZ$5FeTD(45Y!H@p>moDAsuWnum}os=ueUe?v=Ykv+9+ySY#l)k;%KamE+~3+ zl0(Tdwo3INLSvQ+KONJR059z^9X>Nx%{Q!;{W}%GJ#9C{rwDV%$d&JlP=a&h2YjQn zx+3TmWd{YBEjyx@q<1-m^8`B((19~(T_}>#r16f4*ev{!v!xKCuRGKtM8)PHGE3k= z+hE9fWT3@6;fs0VLR!Iqq60x#J5tT;#Z9VH%zSi%`!2^)9PfNmAhg=a<+$|GCkwCN zg?Tm17*0@DXns}n6&RaH6TeGdx!>ev&55rz@yjl)tN-@G7Nr~Y;GDNzQSEDl`hin? zk#$xj=E)3d!UH~7!fK<^;XU0}-7p2{*$H1~vK?Ra%r@;@(ggz%(YN`bY+n)rzn;qY zY$KF>{&aLyNMCecQu-@1+uqYb^Vsi6eJW|o>ePAQ9Xb>zM+u8`B}Qg*$2ztJkG!Lp zU#~gC^|(eSvrUa95AYBTzuHrby(a;EV~M(njZY+bi=ZO|MmLJtY)YZe-tyul$Qp+2 zHFg}7!p$l^i}9G~1}=@ap{bHh*vD+-OA`Ln<=cj$`%v(p@@bPTHuQRE48=wyc`gm% z>|I-mBXpe=#WBW6I#L5t>nbIxQ+!$Wp7*o zTi-MT@MhhhE!=E0k-V%29zk&Wp*?qAX3qAj48rFAw@Hmi4e!Ch!B|8GwCr-BEQpaV zhwNH!3UbX>3BGk~WrGwad969tx9_9T#?9)CHq!Z%Kw7ORyjd0W4Vz7}?~+5-n^2&U zk5If}P3f4PTTAx!-6$+{F)he)6Ou(xnPe;O*3Mwz-W}z9zvWCz>CfAjyw>5d?m`nW z?RTFtB1D}32vdcf!pEu`=C|`^|;1kZDPL<)Sa_Oy9^Q9Hkod| zM~C}d+g1{yP`~BP)Qpu-dRMO0u>wQki$tT>+^48P%n{;+)=Q$~B-T2g79f^Z4ArdX zPSsv#=Cg3yAupMticgo+)4Xohx(l>F0-kA0rRAOAFjynt)y}TkGS?h`(3hT&5JKguzp(H9S-heIf7Am2S2eHMu0 zmhtVq%5)!tm82OrC_{NWTlbCOGTVx+@^w`b8Q)HAZ>&cLA4SJfS*rteaiO!NeXvC< z5tybVb5^V5-1L+x^sL5l_P)h-2lXpfoK!0;eMXVqTG;+nzM=c50?6TB5^zG9a{uH( zrRc#oSOyMhh1n6oCR#^$FTV%mMDg(WY}ZEkJko!560b>v6eLtsNXz1ytY71Y*$-zO ziAJ|*DD2pv8A1nVkJs7I-oNutq+|-(DLi9uu%Nn7+?^-2sI@3H$iOI>ZUtLnHOWlU z597sBwl9f|=;wAXq%u9@=AKPjc5KExYbJE^&RX=}DHT*QNi=_3Ni>pYKv0*?Zc@i{ z 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�(M`skRm&nPH@ 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

D2$Fp8c0j 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 F{SS2nwJ87q literal 0 HcmV?d00001 diff --git a/dmtf/DSP0266_1.0.4.pdf b/dmtf/DSP0266_1.0.4.pdf new file mode 100644 index 0000000000000000000000000000000000000000..58a876ddd46dc286b09c3be47f9e63746575d781 GIT binary patch literal 460107 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 z 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 z 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�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 E515d_=>Px# literal 0 HcmV?d00001 diff --git a/dmtf/DSP2043_1.0.0.zip b/dmtf/DSP2043_1.0.0.zip new file mode 100644 index 0000000000000000000000000000000000000000..247ba36469dae277b2270efffbae86976250fecc GIT binary patch literal 227399 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 literal 0 HcmV?d00001 diff --git a/doc/source/index.rst b/doc/source/index.rst index af8520f..3897497 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -14,8 +14,10 @@ Contents: readme installation usage - contributing + develsetup classesdoc + contributing + help Indices and tables ================== diff --git a/doc/source/installation.rst b/doc/source/installation.rst index 41ac939..2ea059d 100644 --- a/doc/source/installation.rst +++ b/doc/source/installation.rst @@ -2,11 +2,222 @@ Installation ============ -At the command line:: +Using pip +--------- +Use:: - $ pip install python-redfish + sudo pip install python-redfish -Or, if you have virtualenvwrapper installed:: +Pip will install : + +1. The library and all dependencies into your site-packages directory +2. Redfish client master conf file into /etc/redfish_client.conf +3. Data file (templates) into /usr/share/redfish-client/templates + +Point 2 and 3 above need root access to your system. If you don't have root +access on your system, please follow `Using pip and virtualenv`_ section. + + +Using pip and virtualenv +------------------------ + +1. Install virtualenv and virtualenvwrapper: + + Fedora 22:: + + dnf install python-virtualenv.noarch python-virtualenvwrapper.noarch + + Ubuntu 15.04:: + + apt-get install python-virtualenv virtualenvwrapper + +2. Source virtualenvwrapper.sh:: + + . /usr/bin/virtualenvwrapper.sh + + or:: + + . /usr/share/virtualenvwrapper/virtualenvwrapper.sh + +3. Create a redfish virtual environement:: + + mkvirtualenv redfish + +4. Install using pip:: + + pip install python-virtualenv + + All files are installed under your virtualenv. + +Using the sources +----------------- + +#. Follow `get the sources `_ section to retrieve the sources. +#. Install from the source using:: + + python setup.py install + + +Using rpm package +----------------- + +There is currently no oficial packages for distributions. +However part of the sources there is a mechanism to buil rpm or deb packages for distributions. + +The mechanism is based on `project builder `_ tool. + +#. Follow `get the sources `_ section to retrieve the sources. +#. Download project builder for your distribution from ftp://ftp.project-builder.org. +#. Clone the project to your own github account. +#. Create a .pbrc with the following containt:: + + [uggla@ugglalaptop ~]$ cat .pbrc + pbdefdir python-redfish = $ENV{'HOME'}/workspace + pbconfdir python-redfish = $ENV{'HOME'}/workspace/python-redfish/pbconf + pbconfurl python-redfish = git+ssh://git@github.com:uggla/python-redfish.git + pburl python-redfish = git+ssh://git@github.com:uggla/python-redfish.git +#. Build the project:: + + pb -p python-redfish sbx2pkg + +#. All packages (srpm/rpm) should be available into the build directory, then install the package using rpm:: + + rpm -Uvh python-redfish/build/RPMS/python-redfish-devel20160213182552.rpm + + +#. Follow `get the sources `_ section to retrieve the sources. + +Using deb package +----------------- + +This installation in yet possible due to missing deb package dependencies. We are working on it. + +In the meantime we recommend to use `Using pip`_ or `Using pip and virtualenv`_. + +===================================== +Host configuration file configuration +===================================== + +#. Verify redfish-client is working correclty:: + + redfish-client.py -h + +#. Create a default entry to use the mockup:: + + redfish-client.py config add default default http://localhost:8000/redfish/v1 + +#. Verify the entry is correctly registered:: + + redfish-client.py config showall + +=================== +Mockup installation +=================== + +#. Follow `get the sources `_ section to retrieve the sources. +#. Install docker using your distribution packages or the docker `procedure `_ (docker provide more recent packages for ubuntu):: + + dnf install docker + systemctl enable docker.service + systemctl start docker.service + systemctl status docker.service + +#. Jump into the dmtf directory. +#. Run ./buildImage.sh and ./run-redfish-simulator.sh +#. Check that a container is running and listening on port 8000:: + + (pypi)[uggla@ugglalaptop dmtf]$ docker ps + CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES + 9943ff1d4d93 redfish-simulator:latest "/bin/sh -c /tmp/redf" 3 weeks ago Up 2 days 0.0.0.0:8000->80/tcp redfish-simulator +#. Try to connect using a navigator to http://localhost:8000 the following screen should apear. + + .. image:: images/simulator.jpg + +Note : in the above screenshot, firefox JSON-handle extension is used. If you want the same presentation install the extension and refresh the page. + +========================== +Testing against the mockup +========================== + +#. Follow `Host configuration file configuration`_ and `Mockup installation`_ section. +#. Run the following command:: + + redfish-client.py manager getinfo + +The result should be like this:: + + (pypi)[uggla@ugglalaptop dmtf]$ redfish-client.py manager getinfo + Gathering data from manager, please wait... + + Redfish API version : 1.00 + Root Service + + Managers information : + ====================== + + Manager id 1: + UUID : 00000000-0000-0000-0000-000000000000 + Type : BMC + Firmware version : 1.00 + State : Enabled + Ethernet Interface : + This manager has no ethernet interface + Managed Chassis : + 1 + Managed System : + 1 + ---------------------------- + + Manager id 2: + UUID : 00000000-0000-0000-0000-000000000000 + Type : EnclosureManager + Firmware version : Not available + State : Enabled + Ethernet Interface : + This manager has no ethernet interface + Managed Chassis : + Enc1 + Managed System : + 2 + ---------------------------- + + Manager id 3: + UUID : 00000000-0000-0000-0000-000000000000 + Type : EnclosureManager + Firmware version : Not available + State : Enabled + Ethernet Interface : + This manager has no ethernet interface + Managed Chassis : + Enc1 + Managed System : + 2 + ---------------------------- + + + +============================ +Building local documentation +============================ + +Building the html documentation locally + + +#. Follow `get the sources `_ section to retrieve the sources. +#. Jump in the doc directory:: + + cd doc +#. Build the html documentation:: + + make html + + +If you want to build the documentation in pdf. + +#. Get texlive full distribution, ex on Fedora:: + + dnf install texlive-scheme-full.noarch +#. Build the documentation:: + + make latexpdf - $ mkvirtualenv python-redfish - $ pip install python-redfish diff --git a/doc/source/usage.rst b/doc/source/usage.rst index e4b8cce..9661c40 100644 --- a/doc/source/usage.rst +++ b/doc/source/usage.rst @@ -2,6 +2,25 @@ Usage ======== -To use python-redfish in a project:: +Example using the mockup +------------------------ + +example/simple-simulator.py provide a simple library usage to interact with the +redfish mockup. + +Example using a proliant +------------------------ + +example/simple-proliant.py provide a simple library usage to interact with a HP +proliant BL460C G9 server. However this example should work on any server supplier following redfish +standard. + +refish-client usage +------------------- + +The clint usage can be display using:: + + redfish-client.py -h + +This is also available at http://pythonhosted.org/python-redfish/redfish-client.html . - import redfish diff --git a/examples/redfish.conf b/examples/redfish.conf index 80347c8..24cd951 100644 --- a/examples/redfish.conf +++ b/examples/redfish.conf @@ -1,5 +1,5 @@ { - "Nodes": { + "Managers": { "default": { "url": "", "login": "", diff --git a/examples/walk-chassis.py b/examples/walk-chassis.py deleted file mode 100644 index 22781ba..0000000 --- a/examples/walk-chassis.py +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/env python - -#import logging -import sys -#from oslo_config import cfg -#from oslo_log import log as logging - -import redfish - -# Sets up basic logging for this module -#log_root = logging.getLogger('redfish') -#log_root.addHandler(logging.StreamHandler(sys.stdout)) -#log_root.setLevel(logging.DEBUG) - -#CONF = cfg.CONF -#logging.set_defaults(['redfish=DEBUG']) -#logging.register_options(CONF) -#logging.setup(CONF, "redfish") - -# Connect to a redfish API endpoint -host = 'http://localhost' -user_name = '' -password = '' - -# This returns a RedfishConnection object, which implements -# the low-level HTTP methods like GET, PUT, etc -connection = redfish.server.connect(host, user_name, password) - -# From this connection, we can get the Root resource. -# Note that the root resource is somewhat special - you create it from -# the connection, but you create other resources from the root resource. -# (You don't strictly have to do this, but it's simpler.) -root = connection.get_root() - -print("\n") -print("ROOT CONTROLLER") -print("===============") -print(root) - - -# The Root class has well-defined top-level resources, such as -# chassis, systems, managers, sessions, etc... -chassis = root.get_chassis() - -print("\n") -print("CHASSIS DATA") -print("============") -print(chassis) -print("\n") -print("WALKING CHASSIS") -print("\n") -print("CHASSIS contains %d items" % len(chassis)) -print("\n") -for item in chassis: - print("SYSTEM") - print("======") - print(item) - print("\n") From 30bf8a4b8bdab0dd153c24ab5937da7588a500af Mon Sep 17 00:00:00 2001 From: Uggla Date: Sat, 13 Feb 2016 21:19:35 +0100 Subject: [PATCH 066/224] Remove invalid remaining line after resolving conflict --- setup.cfg | 1 - 1 file changed, 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index a04f1e1..162a4f3 100644 --- a/setup.cfg +++ b/setup.cfg @@ -4,7 +4,6 @@ summary = Reference implementation of Redfish standard client. description-file = README.rst author = Redfish dev team -<<<<<<< HEAD author-email = python-redfish@mondorescue.org home-page = https://github.com/uggla/python-redfish/tree/devel license = Apache-2 From 8f6d519a6270960b5d9cb6939c02bf17295c1095 Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Mon, 15 Feb 2016 02:06:24 +0100 Subject: [PATCH 067/224] - doc management in .spec - Build documentation (pdf and singlehtml) - Install documentation (that should become a separate script to be called) - Adds files generated in the list of files managed by rpm --- pbconf/python-redfish/rpm/python-redfish.spec | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/pbconf/python-redfish/rpm/python-redfish.spec b/pbconf/python-redfish/rpm/python-redfish.spec index 22e4e5b..5ae762b 100644 --- a/pbconf/python-redfish/rpm/python-redfish.spec +++ b/pbconf/python-redfish/rpm/python-redfish.spec @@ -23,21 +23,39 @@ PBDESC %build %{__python} setup.py build +# Deal with doc +cd doc +make man +make singlehtml +make latexpdf %install %{__python} setup.py install -O1 --skip-build --root %{buildroot} +# This will go in a separate script later on to share with other distros %{__mkdir} -p %{buildroot}/%{_bindir} install -m 755 redfish-client/redfish-client.py %{buildroot}/%{_bindir}/redfish-client rm -fr %{buildroot}/%{python_sitelib}/redfish/old +for i in 1; do + mkdir -p %{buildroot}/%{_mandir}/man$i + install -m 644 doc/build/man/*.$i %{buildroot}/%{_mandir}/man$i +done +install -d 755 %{buildroot}/%{_docdir}/%{name}/html/_static +install -m 644 doc/build/singlehtml/*.html %{buildroot}/%{_docdir}/%{name}/html +install -m 644 doc/build/singlehtml/_static/* %{buildroot}/%{_docdir}/%{name}/html/_static + %files %doc README.rst examples/[a-z]*.py LICENSE +%doc doc/build/latex/*.pdf %dir %{python_sitelib}/redfish +%dir %{_docdir}/%{name}/html +%{_docdir}/%{name}/html/*.html +%dir %{_docdir}/%{name}/html/_static +%{_docdir}/%{name}/html/_static/* %{_bindir}/redfish-client %{python_sitelib}/redfish/*.py* %{python_sitelib}/redfish/tests/*.py* %{python_sitelib}/python_redfish* - +%{_mandir}/man1/* %changelog PBLOG - From 3334c6eda560f464c948246eace04886f0e02fad Mon Sep 17 00:00:00 2001 From: Uggla Date: Mon, 15 Feb 2016 18:12:28 +0100 Subject: [PATCH 068/224] Fix most of the comments reported in #22 - Except the ones related to path. --- CONTRIBUTING.rst | 2 +- README.rst | 26 +++++++++++--------------- dmtf/README.rst | 22 ++++++++++++++++++---- doc/source/conf.py | 2 +- doc/source/further_ref.rst | 3 +++ doc/source/installation.rst | 12 ++++++++---- doc/source/usage.rst | 8 ++++---- 7 files changed, 46 insertions(+), 29 deletions(-) create mode 100644 doc/source/further_ref.rst diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index e9d2b2d..f7e62ed 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -1,5 +1,5 @@ If you would like to contribute to the development of this project. -Submit your pull request and issues to https://github.com/uggla/python-redfish . +Submit your pull request and issues to https://github.com/bcornec/python-redfish. You can also share and discuss on the mailing list as well. diff --git a/README.rst b/README.rst index f770807..4b4cf50 100644 --- a/README.rst +++ b/README.rst @@ -20,14 +20,17 @@ Project Structure This project follows the same convention as OpenStack projects, eg. using pbr for build and test automation:: - doc/ # documentation - doc/source # the doc source files live here - doc/build/html # output of building any docs will go here + doc/ # Documentation + doc/source # The doc source files live here + doc/build/html # Output of building any docs will go here dmtf # Reference documents and mockup provided by the DMTF - examples/ # any sample code using this library, eg. for education + examples/ # Any sample code using this library, eg. for education # should be put here - redfish/ # the redfish library - redfish/tests/ # python unit test suite + pbconf # Project builder file to build rpm/deb packages for + # distributions + redfish/ # The redfish library itself + redfish/tests/ # Python redfish unit test suite + redfish-client # Client tool to manage redfish devices Requirements ------------ @@ -44,7 +47,7 @@ running the unit test suite are listed in test-requirements.txt. Get the sources --------------- -The sources are available on github and can be retrieve using:: +The sources are available on github and can be retrieved using:: git clone https://github.com/uggla/python-redfish @@ -68,11 +71,4 @@ Distribution list: python-redfish@mondorescue.org Further References ------------------ -The specification can be found here : - http://www.dmtf.org/sites/default/files/standards/documents/DSP0266_1.0.1.pdf - -The data model documentation can be found here: - http://redfish.dmtf.org/schemas/ - -The overall protocol documentation can be found here: - http://www.dmtf.org/standards/redfish +Please look at `dmtf/README.rst `_ file. diff --git a/dmtf/README.rst b/dmtf/README.rst index f113fb3..b44713b 100644 --- a/dmtf/README.rst +++ b/dmtf/README.rst @@ -1,12 +1,26 @@ DMTF Redfish specification -------------------------- -This directory contains the current references from the DMTF on the Redfish -specification (1.0.0 at the time of the writing) -In order to ease test, the DMTF has published a mockup environment to simulate -a Redfish based system so it is possible to write programs without real Redfish +This directory contains the current references from the DMTF on the Redfish +specification (1.0.1 at the time of the writing) + +The overall protocol documentation can be found online at: + http://www.dmtf.org/standards/redfish + +The specification can be found locally in DSP0266_1.0.1.pdf or online at: + http://www.dmtf.org/sites/default/files/standards/documents/DSP0266_1.0.1.pdf + +The data model documentation can be found locally in DSP8010_1.0.0.zip or online at: + http://redfish.dmtf.org/schemas/ + + +In order to ease test, the DMTF has published a mockup environment to simulate +a Redfish based system so it is possible to write programs without real Redfish compliant hardware platform. +Note: Mockup release is still 0.99.0a and so not aligned with specification realease +number. + Docker container ---------------- diff --git a/doc/source/conf.py b/doc/source/conf.py index c8de491..30e45db 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -48,7 +48,7 @@ # General information about the project. project = u'python-redfish' -copyright = u'2015, Bruno Cornec, Vincent Misson, René Ribaud' +copyright = u'2015-2016, Bruno Cornec, Vincent Misson, René Ribaud' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the diff --git a/doc/source/further_ref.rst b/doc/source/further_ref.rst new file mode 100644 index 0000000..e0b2466 --- /dev/null +++ b/doc/source/further_ref.rst @@ -0,0 +1,3 @@ +:orphan: + +.. include:: ../../dmtf/README.rst diff --git a/doc/source/installation.rst b/doc/source/installation.rst index 2ea059d..27dbfd4 100644 --- a/doc/source/installation.rst +++ b/doc/source/installation.rst @@ -25,7 +25,7 @@ Using pip and virtualenv Fedora 22:: - dnf install python-virtualenv.noarch python-virtualenvwrapper.noarch + dnf install python-virtualenv python-virtualenvwrapper Ubuntu 15.04:: @@ -69,7 +69,7 @@ The mechanism is based on `project builder `_ t #. Follow `get the sources `_ section to retrieve the sources. #. Download project builder for your distribution from ftp://ftp.project-builder.org. #. Clone the project to your own github account. -#. Create a .pbrc with the following containt:: +#. Create a .pbrc with the following content, replace "/wokspace/python/redfish" and "uggla" with your own directory and account:: [uggla@ugglalaptop ~]$ cat .pbrc pbdefdir python-redfish = $ENV{'HOME'}/workspace @@ -80,6 +80,10 @@ The mechanism is based on `project builder `_ t pb -p python-redfish sbx2pkg + or:: + + pb -p python-redfish sbx2pkg2ins + #. All packages (srpm/rpm) should be available into the build directory, then install the package using rpm:: rpm -Uvh python-redfish/build/RPMS/python-redfish-devel20160213182552.rpm @@ -90,7 +94,7 @@ The mechanism is based on `project builder `_ t Using deb package ----------------- -This installation in yet possible due to missing deb package dependencies. We are working on it. +This installation in not yet possible due to missing deb package dependencies. We are working on it. In the meantime we recommend to use `Using pip`_ or `Using pip and virtualenv`_. @@ -216,7 +220,7 @@ If you want to build the documentation in pdf. #. Get texlive full distribution, ex on Fedora:: - dnf install texlive-scheme-full.noarch + dnf install texlive-scheme-full #. Build the documentation:: make latexpdf diff --git a/doc/source/usage.rst b/doc/source/usage.rst index 9661c40..1c0e083 100644 --- a/doc/source/usage.rst +++ b/doc/source/usage.rst @@ -13,12 +13,12 @@ Example using a proliant example/simple-proliant.py provide a simple library usage to interact with a HP proliant BL460C G9 server. However this example should work on any server supplier following redfish -standard. +standard. -refish-client usage -------------------- +redfish-client usage +-------------------- -The clint usage can be display using:: +The client usage can be display using:: redfish-client.py -h From 562999c6334d10db668ac9c21dc1d1274943b92a Mon Sep 17 00:00:00 2001 From: Uggla Date: Fri, 19 Feb 2016 18:33:56 +0100 Subject: [PATCH 069/224] Rename client from redfish-client.py to redfish-client --- doc/source/installation.rst | 10 +++++----- doc/source/usage.rst | 2 +- pbconf/python-redfish.pb | 2 +- pbconf/python-redfish/rpm/python-redfish.spec | 1 - .../{redfish-client.py => redfish-client} | 16 ++++++++-------- setup.cfg | 2 +- 6 files changed, 16 insertions(+), 17 deletions(-) rename redfish-client/{redfish-client.py => redfish-client} (97%) diff --git a/doc/source/installation.rst b/doc/source/installation.rst index 27dbfd4..2418b56 100644 --- a/doc/source/installation.rst +++ b/doc/source/installation.rst @@ -104,15 +104,15 @@ Host configuration file configuration #. Verify redfish-client is working correclty:: - redfish-client.py -h + redfish-client -h #. Create a default entry to use the mockup:: - redfish-client.py config add default default http://localhost:8000/redfish/v1 + redfish-client config add default default http://localhost:8000/redfish/v1 #. Verify the entry is correctly registered:: - redfish-client.py config showall + redfish-client config showall =================== Mockup installation @@ -146,11 +146,11 @@ Testing against the mockup #. Follow `Host configuration file configuration`_ and `Mockup installation`_ section. #. Run the following command:: - redfish-client.py manager getinfo + redfish-client manager getinfo The result should be like this:: - (pypi)[uggla@ugglalaptop dmtf]$ redfish-client.py manager getinfo + (pypi)[uggla@ugglalaptop dmtf]$ redfish-client manager getinfo Gathering data from manager, please wait... Redfish API version : 1.00 diff --git a/doc/source/usage.rst b/doc/source/usage.rst index 1c0e083..9bc79e3 100644 --- a/doc/source/usage.rst +++ b/doc/source/usage.rst @@ -20,7 +20,7 @@ redfish-client usage The client usage can be display using:: - redfish-client.py -h + redfish-client -h This is also available at http://pythonhosted.org/python-redfish/redfish-client.html . diff --git a/pbconf/python-redfish.pb b/pbconf/python-redfish.pb index 6a8d804..e08000c 100644 --- a/pbconf/python-redfish.pb +++ b/pbconf/python-redfish.pb @@ -130,7 +130,7 @@ defpkgdir python-redfish = . # List of files per pkg on which to apply filters # Files are mentioned relatively to pbroot/defpkgdir -filteredfiles python-redfish = redfish-client/redfish-client.py,doc/source/conf.py +filteredfiles python-redfish = redfish-client/redfish-client,doc/source/conf.py #supfiles python-redfish = python-redfish.init # For perl modules, names are different depending on distro diff --git a/pbconf/python-redfish/rpm/python-redfish.spec b/pbconf/python-redfish/rpm/python-redfish.spec index 5ae762b..1138605 100644 --- a/pbconf/python-redfish/rpm/python-redfish.spec +++ b/pbconf/python-redfish/rpm/python-redfish.spec @@ -33,7 +33,6 @@ make latexpdf %{__python} setup.py install -O1 --skip-build --root %{buildroot} # This will go in a separate script later on to share with other distros %{__mkdir} -p %{buildroot}/%{_bindir} -install -m 755 redfish-client/redfish-client.py %{buildroot}/%{_bindir}/redfish-client rm -fr %{buildroot}/%{python_sitelib}/redfish/old for i in 1; do diff --git a/redfish-client/redfish-client.py b/redfish-client/redfish-client similarity index 97% rename from redfish-client/redfish-client.py rename to redfish-client/redfish-client index d7a509e..377758f 100755 --- a/redfish-client/redfish-client.py +++ b/redfish-client/redfish-client @@ -6,14 +6,14 @@ redfish-client :: Usage: - redfish-client.py [options] config add [] [] - redfish-client.py [options] config del - redfish-client.py [options] config modify (manager_name | url | login | password) - redfish-client.py [options] config show - redfish-client.py [options] config showall - redfish-client.py [options] manager getinfo [] - redfish-client.py (-h | --help) - redfish-client.py --version + redfish-client [options] config add [] [] + redfish-client [options] config del + redfish-client [options] config modify (manager_name | url | login | password) + redfish-client [options] config show + redfish-client [options] config showall + redfish-client [options] manager getinfo [] + redfish-client (-h | --help) + redfish-client --version Options: diff --git a/setup.cfg b/setup.cfg index 162a4f3..08fbfd6 100644 --- a/setup.cfg +++ b/setup.cfg @@ -25,7 +25,7 @@ packages = redfish scripts = - redfish-client/redfish-client.py + redfish-client/redfish-client data_files = usr/share/redfish-client/templates = redfish-client/templates/* From fb73eac0f5a721504440b640fab065e976dbe1c0 Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Fri, 19 Feb 2016 20:06:48 +0100 Subject: [PATCH 070/224] Improve package build system - Adds new dependencies for rpm & deb packages - Remove install of client done in the new setup.py --- pbconf/pbfilter/deb.pbf | 2 +- pbconf/pbfilter/rpm.pbf | 2 +- pbconf/python-redfish/rpm/python-redfish.spec | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/pbconf/pbfilter/deb.pbf b/pbconf/pbfilter/deb.pbf index 880e913..5972692 100644 --- a/pbconf/pbfilter/deb.pbf +++ b/pbconf/pbfilter/deb.pbf @@ -11,7 +11,7 @@ filter PBGRP = utils filter PBLIC = ASL 2.0 # PBDEP is replaced by the list of dependencies -filter PBDEP = python-docopt, python-tortilla, python-jinja2 +filter PBDEP = python-docopt, python-tortilla, python-jinja2, python-pbr, python-docopt, python-simplejson # PBBDEP is replaced by the list of build dependencies filter PBBDEP = python-dev, python-setuptools, python-pbr, python-tortilla, python-jinja2, python-sphinx diff --git a/pbconf/pbfilter/rpm.pbf b/pbconf/pbfilter/rpm.pbf index 76d0d6f..5fd5749 100644 --- a/pbconf/pbfilter/rpm.pbf +++ b/pbconf/pbfilter/rpm.pbf @@ -15,7 +15,7 @@ filter PBLIC = ASL 2.0 # PBBDEP is replaced by the list of build dependencies filter PBBDEP = python-devel, python-setuptools, python-pbr, python-sphinx -filter PBDEP = python-docopt, python-tortilla, python-jinja2 +filter PBDEP = python-docopt, python-tortilla, python-jinja2, python-pbr, python-docopt, python-simplejson # PBSUF is replaced by the package suffix ($pb->{'suf'} in code) filter PBSUF = $pb->{'suf'} diff --git a/pbconf/python-redfish/rpm/python-redfish.spec b/pbconf/python-redfish/rpm/python-redfish.spec index 1138605..8e99eea 100644 --- a/pbconf/python-redfish/rpm/python-redfish.spec +++ b/pbconf/python-redfish/rpm/python-redfish.spec @@ -32,7 +32,6 @@ make latexpdf %install %{__python} setup.py install -O1 --skip-build --root %{buildroot} # This will go in a separate script later on to share with other distros -%{__mkdir} -p %{buildroot}/%{_bindir} rm -fr %{buildroot}/%{python_sitelib}/redfish/old for i in 1; do From 92bcc48f97de2a66d5d2f9d8e5f6ef1c75e96708 Mon Sep 17 00:00:00 2001 From: Uggla Date: Sat, 27 Feb 2016 10:21:03 +0100 Subject: [PATCH 071/224] Fix installation of data_files 1- Get target prefix 2- if prefix == '/usr' --> Force configuration file location to /etc 3- else --> set file location relative to the prefix ex : prefix/bin, prefix/share, prefix/etc 4- Update conf file content with the template path location 5- Update script file content with version and configuration file location --- redfish-client/etc/redfish-client.conf | 2 +- redfish/__init__.py | 2 +- requirements.txt | 4 +- setup.cfg | 7 +- setup.py | 203 ++++++++++++++++++++++++- 5 files changed, 204 insertions(+), 14 deletions(-) diff --git a/redfish-client/etc/redfish-client.conf b/redfish-client/etc/redfish-client.conf index 89cd47b..b00df1e 100644 --- a/redfish-client/etc/redfish-client.conf +++ b/redfish-client/etc/redfish-client.conf @@ -1,2 +1,2 @@ [redfish-client] -templates_path = /usr/share/redfish-client/templates +templates_path = PBTEMPLATEPATH diff --git a/redfish/__init__.py b/redfish/__init__.py index ce09d8f..0a6657b 100644 --- a/redfish/__init__.py +++ b/redfish/__init__.py @@ -18,7 +18,7 @@ #import redfish.types try: - __version__ = pbr.version.VersionInfo('redfish').version_string() + __version__ = pbr.version.VersionInfo('redfish').release_string() except Exception, e: if "Versioning for this project requires either an sdist tarball" in e.message: pass diff --git a/requirements.txt b/requirements.txt index 6eecbba..fec375e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,9 +2,7 @@ # of appearance. Changing the order has an impact on the overall integration # process, which may cause wedges in the gate later. -pbr>=0.6,!=0.7,<1.0 -#oslo.log>=1.0,<2.0 -Babel>=1.3 +pbr>=0.8 tortilla>=0.4.1 Jinja2>=2.7.3 Sphinx>=1.2.3 diff --git a/setup.cfg b/setup.cfg index 08fbfd6..3ceb164 100644 --- a/setup.cfg +++ b/setup.cfg @@ -27,10 +27,9 @@ packages = scripts = redfish-client/redfish-client -data_files = - usr/share/redfish-client/templates = redfish-client/templates/* - etc/ = redfish-client/etc/* - +[data_files_helper] +conf = 'redfish-client/etc/redfish-client.conf', 'etc' +templates = 'redfish-client/templates/*', 'share/redfish-client/templates' [build_sphinx] source-dir = doc/source diff --git a/setup.py b/setup.py index 7363757..ee366de 100755 --- a/setup.py +++ b/setup.py @@ -1,21 +1,28 @@ #!/usr/bin/env python -# Copyright (c) 2013 Hewlett-Packard Development Company, L.P. -# -# Licensed under the Apache License, Version 2.0 (the "License"); +# Licensed under the Apache License, Version 2.0 (the 'License'); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, +# distributed under the License is distributed on an 'AS IS' BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. # THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT +import os +import sys +import fileinput +import re +import pprint +import distutils +import ConfigParser import setuptools +from setuptools import Distribution +from setuptools.command.install import install # In python < 2.7.4, a lazy loading of package `pbr` will break # setuptools if some other modules registered functions in `atexit`. @@ -25,6 +32,192 @@ except ImportError: pass + +class OnlyGetScriptPath(install): + '''Extend setuptools install class and replace run method to go through + setuptool installation and retrieve the script path + ''' + def run(self): + # does not call install.run() by design + self.distribution.install_scripts = self.install_scripts + + +class DataFilesHelper(): + '''Class to help manage data files''' + def __init__(self): + '''Read setup.cfg and build the required data''' + self.data = {} + self.setupstruc = [] + config = ConfigParser.ConfigParser() + config.read('setup.cfg') + for datafile in config.options('data_files_helper'): + src, dst = config.get('data_files_helper', datafile).split(',') + src = self.refinesrc(src) + dst = self.refinedst(dst) + self.data[datafile] = {'src': src, + 'dst': dst, + 'fdst': self.calculatedst(src, dst)} + self.update_setupstruc(src, dst) + try: + # Create an entry for scripts if available + src = config.get('files', 'scripts').split('\n') + src = [self.refinesrc(file)[0] for file in src if file] + self.data['script'] = {'src': src, + 'dst': 'bin', + 'fdst': self.calculatedst(src, 'bin')} + except ConfigParser.NoOptionError: + pass + pp = pprint.PrettyPrinter(indent=4) + pp.pprint(self.data) + + def trim(self, string): + string = string.strip() + string = string.strip("'") + string = string.strip('"') + return(string) + + def refinesrc(self, file): + '''Refine source: + Expend source file if needed + + :param file: source files + :type file: string + :returns: source files refined + :rtype: list + ''' + file = self.trim(file) + if(file.endswith('/*')): + return(self.getfiles(file.replace('/*', ''))) + else: + return([file]) + + def refinedst(self, file): + '''Refine destination: + Check if destination needs an exception + + :param file: destination + :type path: string + :returns: destination refined + :rtype: string + ''' + file = self.trim(file) + if('etc' in file and self.getprefix() == '/usr'): + return('/etc') + else: + return(file) + + def calculatedst(self, src, dst): + '''Calculate the full destination path accordind to source and + destination + + :param src: source files + :type path: list + :param dst: destination path + :type path: string + :returns: files with full destination + :rtype: list + ''' + destination = [] + for file in src: + if(dst.startswith('/')): + destination.append(os.path.join(dst, + os.path.basename(file))) + else: + destination.append(os.path.join(self.getprefix(), + dst, + os.path.basename(file))) + return(destination) + + def getfiles(self, path): + '''Retrieve file list within a directory + + :param path: directory path + :type path: string + :returns: file list + :rtype: list + ''' + for root, dirs, files in os.walk(path): + file_list = [os.path.join(root, file) for file in files] + return(file_list) + + def getprefix(self): + '''Retrieve setup tool calculated prefix + + :returns: prefix + :rtype: string + ''' + dist = Distribution({'cmdclass': {'install': OnlyGetScriptPath}}) + dist.dry_run = True # not sure if necessary, but to be safe + dist.parse_config_files() + try: + dist.parse_command_line() + except distutils.errors.DistutilsArgError: + pass + command = dist.get_command_obj('install') + command.ensure_finalized() + command.run() + prefix = dist.install_scripts.replace('/bin', '') + return prefix + + def update_setupstruc(self, src, dst): + '''Create/update structure for setuptools.setup() + like the following example. + + [('etc/', ['redfish-client/etc/redfish-client.conf']), + ('share/redfish-client/templates', + ['redfish-client/templates/manager_info.template', + 'redfish-client/templates/bla.template'])] + ''' + self.setupstruc.append((dst, src)) + + def getsetupstruc(self): + '''Retrieve setup structure compatible with setuptools.setup() + This is only to encapsulatate setupstruc property + + :returns: datafiles source and destination + :rtype: setuptools structure + ''' + return(self.setupstruc) + + +########################################## +# Functions +########################################## +def replaceAll(file, searchExp, replaceExp): + for line in fileinput.input(file, inplace=1): + if searchExp in line: + line = line.replace(searchExp, replaceExp) + sys.stdout.write(line) + + +def getversion(): + with open("python_redfish.egg-info/PKG-INFO", "r") as f: + output = f.read() + s = re.search(r'\nVersion:\s+(\S+)', output) + return(s.group(1)) + +########################################## +# START +########################################## + +datafiles = DataFilesHelper() + +# Install software setuptools.setup( setup_requires=['pbr'], - pbr=True) + pbr=True, + data_files=datafiles.getsetupstruc()) + + +if('install' in sys.argv): + # Update conf files + for file in datafiles.data['conf']['fdst']: + print('Update : {}'.format(file)) + replaceAll(file, 'PBTEMPLATEPATH', + os.path.dirname(datafiles.data['templates']['fdst'][0])) + # Update script files + for file in datafiles.data['script']['fdst']: + print('Update : {}'.format(file)) + replaceAll(file, 'PBCONFFILE', datafiles.data['conf']['fdst'][0]) + replaceAll(file, 'PBVER', getversion()) + From 60b6a8f77c10ea0dd732461bd46e5b5c77e8cf0f Mon Sep 17 00:00:00 2001 From: Uggla Date: Sat, 27 Feb 2016 10:21:58 +0100 Subject: [PATCH 072/224] Update documentation --- doc/source/installation.rst | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/doc/source/installation.rst b/doc/source/installation.rst index 2418b56..f39d78b 100644 --- a/doc/source/installation.rst +++ b/doc/source/installation.rst @@ -10,9 +10,11 @@ Use:: Pip will install : -1. The library and all dependencies into your site-packages directory -2. Redfish client master conf file into /etc/redfish_client.conf -3. Data file (templates) into /usr/share/redfish-client/templates +1. The library and all dependencies into prefix/lib/pythonX.Y/site-packages directory +2. Redfish client master conf file into prefix/etc/redfish_client.conf + Unless if prefix = '/usr', in that case force configuration file to be in /etc + +3. Data file (templates) into prefix/share/redfish-client/templates Point 2 and 3 above need root access to your system. If you don't have root access on your system, please follow `Using pip and virtualenv`_ section. @@ -55,7 +57,7 @@ Using the sources #. Follow `get the sources `_ section to retrieve the sources. #. Install from the source using:: - python setup.py install + python setup.py install --prefix="/usr/local" Using rpm package From 68f114dc711c8ecb470cec3b6c6d4ec25e103911 Mon Sep 17 00:00:00 2001 From: Uggla Date: Sat, 27 Feb 2016 18:15:09 +0100 Subject: [PATCH 073/224] Correct link --- redfish-client/rfclient.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redfish-client/rfclient.py b/redfish-client/rfclient.py index 338810b..f76cad2 120000 --- a/redfish-client/rfclient.py +++ b/redfish-client/rfclient.py @@ -1 +1 @@ -redfish-client.py \ No newline at end of file +redfish-client \ No newline at end of file From 3404767cdcbd6b4ad17dd5484bb79636daa96c3f Mon Sep 17 00:00:00 2001 From: Uggla Date: Sat, 27 Feb 2016 21:01:43 +0100 Subject: [PATCH 074/224] Review options for configuration files - Add --config or -c to specify the configuration file location. - Change --conf_file to --inventory or -i to manage managers. - Configuration file and version are macros replaced by installation process - Fix almost all PEP8 issues --- redfish-client/redfish-client | 150 +++++++++++++++++----------------- 1 file changed, 77 insertions(+), 73 deletions(-) diff --git a/redfish-client/redfish-client b/redfish-client/redfish-client index 377758f..98e5c77 100755 --- a/redfish-client/redfish-client +++ b/redfish-client/redfish-client @@ -17,14 +17,15 @@ redfish-client :: Options: - -h --help Show this screen. - --version Show version. - --conf_file FILE Configuration file [default: ~/.redfish.conf] - --insecure Ignore SSL certificates - --debug LEVEL Run in debug mode, LEVEL from 1 to 3 increase verbosity - Security warning LEVEL > 1 could reveal password into the logs - --debugfile FILE Specify the client debugfile [default: redfish-client.log] - --libdebugfile FILE Specify python-redfish library log file [default: /var/log/python-redfish/python-redfish.log] + -h --help Show this screen. + --version Show version. + -c --config FILE Configuration file + -i --inventory FILE Configuration file [default: $HOME/.redfish.conf] + --insecure Ignore SSL certificates + --debug LEVEL Run in debug mode, LEVEL from 1 to 3 increase verbosity + Security warning LEVEL > 1 could reveal password into the logs + --debugfile FILE Specify the client debugfile [default: redfish-client.log] + --libdebugfile FILE Specify python-redfish library log file [default: /var/log/python-redfish/python-redfish.log] config commands : manage the configuration file. manager commands : manage the manager (Ligh out management). If @@ -42,24 +43,25 @@ import jinja2 import requests.packages.urllib3 import redfish -class ConfigFile(object): - '''redfisht-client configuration file management''' - def __init__(self, config_file): - '''Initialize the configuration file + +class InventoryFile(object): + '''redfisht-client inventory file management''' + def __init__(self, inventory_file): + '''Initialize the inventory file Open and load configuration file data. If the file does not exist create an empty one ready to receive data - :param config_file: File name of the configuration file + :param inventory_file: File name of the configuration file default: ~/.redfish.conf :type config-file: str :returns: Nothing ''' - self._config_file = config_file + self._inventory_file = inventory_file # read json file try: - with open(self._config_file) as json_data: + with open(self._inventory_file) as json_data: self.data = json.load(json_data) json_data.close() except (ValueError, IOError): @@ -68,7 +70,7 @@ class ConfigFile(object): def save(self): '''Save the configuration file data''' try: - with open(self._config_file, 'w') as json_data: + with open(self._inventory_file, 'w') as json_data: json.dump(self.data, json_data) json_data.close() except IOError as e: @@ -141,7 +143,8 @@ class ConfigFile(object): self.manager_incorect(e) elif parameter == 'password': try: - self.data['Managers'][manager_name]['password'] = parameter_value + self.data['Managers'][manager_name]['password'] \ + = parameter_value except KeyError as e: self.manager_incorect(e) elif parameter == 'manager_name': @@ -209,7 +212,6 @@ class RedfishClientException(Exception): if __name__ == '__main__': '''Main application redfish-client''' # Functions - def show_manager(all=False): '''Display manager info @@ -219,16 +221,19 @@ if __name__ == '__main__': ''' print('Managers configured :') - for manager in conf_file.get_managers(): - print(manager) - if all is True: - info = conf_file.get_manager_info(manager) - print('\tUrl : {}'.format(info['url'])) - print('\tLogin : {}'.format(info['login'])) - print('\tPassword : {}'.format(info['password'])) + if(not inventory.get_managers()): + print("None") + else: + for manager in inventory.get_managers(): + print(manager) + if all is True: + info = inventory.get_manager_info(manager) + print('\tUrl : {}'.format(info['url'])) + print('\tLogin : {}'.format(info['login'])) + print('\tPassword : {}'.format(info['password'])) def get_manager_info(manager_name, check_SSL): - connection_parameters = conf_file.get_manager_info(manager_name) + connection_parameters = inventory.get_manager_info(manager_name) if not connection_parameters['login']: simulator = True enforceSSL = False @@ -252,18 +257,21 @@ if __name__ == '__main__': sys.stderr.write(str(e.advices)) sys.exit(1) - # Display manager information using jinja2 template + # Display manager information using jinja2 template try: template = jinja2_env.get_template("manager_info.template") except jinja2.exceptions.TemplateNotFound as e: - print('Template "{}" not found in {}.'.format(e.message, jinja2_env.loader.searchpath[0])) - logger.debug('Template "%s" not found in %s.' % (e.message, jinja2_env.loader.searchpath[0])) + print('Template "{}" not found in {}.' + .format(e.message, jinja2_env.loader.searchpath[0])) + logger.debug('Template "%s" not found in %s.' + % (e.message, jinja2_env.loader.searchpath[0])) sys.exit(1) - - print template.render(r=remote_mgmt) + print template.render(r=remote_mgmt) + ################################################################# # Main program + ################################################################# redfishclient_version = "redfish-client PBVER" # Parse and manage arguments @@ -320,47 +328,43 @@ if __name__ == '__main__': logger.info("Arguments parsed") logger.debug(arguments) - # Get $HOME and $VIRTUAL_ENV environment variables. + # Get $HOME environment variables. HOME = os.getenv('HOME') - VIRTUAL_ENV = os.getenv('VIRTUAL_ENV') - if not HOME: + if(not HOME): print('$HOME environment variable not set, please check your system') logger.error('$HOME environment variable not set') sys.exit(1) logger.debug("Home directory : %s" % HOME) - - if VIRTUAL_ENV: - logger.debug("Virtual env : %s" % VIRTUAL_ENV) - - # Load master conf file + + # Load config config = ConfigParser.ConfigParser(allow_no_value=True) - logger.debug("Read master configuration file") - master_conf_file_path = "/etc/redfish-client.conf" - - if VIRTUAL_ENV: - logger.debug("Read master configuration file from virtual environment") - master_conf_file_path = VIRTUAL_ENV + master_conf_file_path - - if not os.path.isfile(master_conf_file_path): - print('Master configuration file not found at {}.'.format(master_conf_file_path)) - logger.error('Master configuration file not found at %s.' % master_conf_file_path) + logger.debug("Read configuration file") + configfile = 'PBCONFFILE' + + if(arguments['--config']): + configfile = [arguments['--config']] + logger.debug("Overwrite configuration specified by user at %s" + % configfile) + + if(os.path.isfile(configfile)): + logger.debug('Configuration found at %s.' % configfile) + config.read(configfile) + else: + print('Configuration file not found at {}.'.format(configfile)) + logger.error('Configuration file not found at %s.' % configfile) sys.exit(1) - - config.read(master_conf_file_path) - arguments['--conf_file'] = arguments['--conf_file'].replace('~', HOME) - conf_file = ConfigFile(arguments['--conf_file']) - + arguments['--inventory'] = arguments['--inventory'].replace('~', HOME) + arguments['--inventory'] = arguments['--inventory'].replace('$HOME', HOME) + inventory = InventoryFile(arguments['--inventory']) + # Initialize Template system (jinja2) - # TODO : set the template file location into cmd line default to /usr/share/python-redfish/templates ? templates_path = config.get("redfish-client", "templates_path") logger.debug("Initialize template system") - if VIRTUAL_ENV: - logger.debug("Read templates file from virtual environment") - templates_path = VIRTUAL_ENV + templates_path - jinja2_env = jinja2.Environment(loader=jinja2.FileSystemLoader(templates_path)) - + jinja2_env = jinja2.Environment( + loader=jinja2.FileSystemLoader(templates_path)) + # Check cmd line parameters if arguments['config'] is True: logger.debug("Config commands") @@ -372,37 +376,37 @@ if __name__ == '__main__': show_manager(True) elif arguments['add'] is True: logger.debug('add command') - conf_file.add_manager(arguments[''], + inventory.add_manager(arguments[''], arguments[''], arguments[''], arguments['']) - logger.debug(conf_file.data) - conf_file.save() + logger.debug(inventory.data) + inventory.save() elif arguments['del'] is True: logger.debug('del command') - conf_file.delete_manager(arguments['']) - logger.debug(conf_file.data) - conf_file.save() + inventory.delete_manager(arguments['']) + logger.debug(inventory.data) + inventory.save() elif arguments['modify'] is True: logger.debug('modify command') if arguments['url'] is not False: - conf_file.modify_manager(arguments[''], + inventory.modify_manager(arguments[''], 'url', arguments['']) elif arguments['login'] is not False: - conf_file.modify_manager(arguments[''], + inventory.modify_manager(arguments[''], 'login', arguments['']) elif arguments['password'] is not False: - conf_file.modify_manager(arguments[''], + inventory.modify_manager(arguments[''], 'password', arguments['']) elif arguments['manager_name'] is not False: - conf_file.modify_manager(arguments[''], + inventory.modify_manager(arguments[''], 'manager_name', arguments['']) - logger.debug(conf_file.data) - conf_file.save() + logger.debug(inventory.data) + inventory.save() if arguments['manager'] is True: logger.debug("Manager commands") if arguments['getinfo'] is True: @@ -413,7 +417,7 @@ if __name__ == '__main__': else: manager_name = arguments[''] # Check if the default section is available in our conf file - conf_file.check_manager(manager_name) + inventory.check_manager(manager_name) if arguments['--insecure'] is True: get_manager_info(manager_name, False) else: From 096d58f25e4ed6d1bc62c744a01ff838e1e604b1 Mon Sep 17 00:00:00 2001 From: Uggla Date: Fri, 4 Mar 2016 11:59:08 +0100 Subject: [PATCH 075/224] Introduce client testing This is a first implementation probably a bit raw. So it needs improvement. Tests require: - docker available on host. - docker credentials to the user who is running the tests. Current tests: - Check docker socket - Check docker can be used by api. - Check source installation on Ubuntu, Debian, Fedora. - Check pip installation in Fedora. - Check if client can show an empty configuration. - Check client version format (basic). --- redfish-client/tests/Dockerfile.debian | 13 ++++ redfish-client/tests/Dockerfile.fedora | 11 +++ redfish-client/tests/Dockerfile.fedorapip | 7 ++ redfish-client/tests/Dockerfile.ubuntu | 13 ++++ redfish-client/tests/test_client.py | 89 +++++++++++++++++++++++ test-requirements.txt | 14 +--- 6 files changed, 137 insertions(+), 10 deletions(-) create mode 100644 redfish-client/tests/Dockerfile.debian create mode 100644 redfish-client/tests/Dockerfile.fedora create mode 100644 redfish-client/tests/Dockerfile.fedorapip create mode 100644 redfish-client/tests/Dockerfile.ubuntu create mode 100644 redfish-client/tests/test_client.py diff --git a/redfish-client/tests/Dockerfile.debian b/redfish-client/tests/Dockerfile.debian new file mode 100644 index 0000000..bb09658 --- /dev/null +++ b/redfish-client/tests/Dockerfile.debian @@ -0,0 +1,13 @@ +FROM debian:jessie +ENV DEBIAN_FRONTEND noninteractive +RUN apt-get update && \ +apt-get install -y apt-utils && \ +apt-get install -y python-pip +COPY python-redfish.src.tar.gz /python-redfish.src.tar.gz +RUN mkdir /var/log/python-redfish +RUN tar xvvf python-redfish.src.tar.gz +RUN cd python-redfish* && \ +pip install -r requirements.txt && \ +python setup.py install +CMD ["/bin/bash"] + diff --git a/redfish-client/tests/Dockerfile.fedora b/redfish-client/tests/Dockerfile.fedora new file mode 100644 index 0000000..4770d9f --- /dev/null +++ b/redfish-client/tests/Dockerfile.fedora @@ -0,0 +1,11 @@ +FROM fedora:23 +RUN dnf install -y python-pip && \ +dnf install -y git && \ +dnf install -y tar +COPY python-redfish.src.tar.gz /python-redfish.src.tar.gz +RUN mkdir /var/log/python-redfish +RUN tar xvvf python-redfish.src.tar.gz +RUN cd python-redfish* && \ +pip install -r requirements.txt && \ +python setup.py install +CMD ["/bin/bash"] diff --git a/redfish-client/tests/Dockerfile.fedorapip b/redfish-client/tests/Dockerfile.fedorapip new file mode 100644 index 0000000..dfb0cad --- /dev/null +++ b/redfish-client/tests/Dockerfile.fedorapip @@ -0,0 +1,7 @@ +FROM fedora:23 +RUN dnf install -y python-pip && \ +dnf install -y git +RUN mkdir /var/log/python-redfish +RUN pip install python-redfish +CMD ["/bin/bash"] + diff --git a/redfish-client/tests/Dockerfile.ubuntu b/redfish-client/tests/Dockerfile.ubuntu new file mode 100644 index 0000000..c77091c --- /dev/null +++ b/redfish-client/tests/Dockerfile.ubuntu @@ -0,0 +1,13 @@ +FROM ubuntu:wily +ENV DEBIAN_FRONTEND noninteractive +RUN apt-get update && \ +apt-get install -y apt-utils && \ +apt-get install -y python-pip +COPY python-redfish.src.tar.gz /python-redfish.src.tar.gz +RUN mkdir /var/log/python-redfish +RUN tar xvvf python-redfish.src.tar.gz +RUN cd python-redfish* && \ +pip install -r requirements.txt && \ +python setup.py install +CMD ["/bin/bash"] + diff --git a/redfish-client/tests/test_client.py b/redfish-client/tests/test_client.py new file mode 100644 index 0000000..7cd157d --- /dev/null +++ b/redfish-client/tests/test_client.py @@ -0,0 +1,89 @@ +# coding=utf-8 +import os +import stat +import subprocess +import re +from docker import Client +from path import Path + + +class DockerTest(): + def __init__(self): + self.cli = Client(base_url='unix://var/run/docker.sock') + + def build(self, dockerfile): + dockerfile = Path(dockerfile) + tag = 'rf' + dockerfile.basename().replace('Dockerfile.', '') + dockerfile.copy('redfish-client/tests/Dockerfile') + response = [line for line in self.cli.build( + path='redfish-client/tests', + tag=tag, + rm=True)] + return(response) + + def run(self, image, command): + container = self.cli.create_container(image=image, + command=command, + tty=True, + stdin_open=True) + self.cli.start(container=container.get('Id')) + self.cli.wait(container=container.get('Id')) + response = self.cli.logs(container=container.get('Id'), + stdout=True) + return(response) + + +def test_dockersocket(): + mode = os.stat('/var/run/docker.sock').st_mode + isSocket = stat.S_ISSOCK(mode) + assert isSocket, 'Make sure docker services are running' + + +def test_docker(): + cli = Client(base_url='unix://var/run/docker.sock') + response = cli.containers() + assert isinstance(response, list), 'Ensure you have sufficiant' + \ + 'credentials to use docker with' + \ + 'your current user' + + +def test_sources(): + output = subprocess.check_output(["python", "setup.py", "sdist"]) + search = re.search(r"removing '(\S+)'", output) + filename = Path('dist/' + search.group(1) + '.tar.gz') + filename.copy('redfish-client/tests/python-redfish.src.tar.gz') + assert Path('redfish-client/tests/python-redfish.src.tar.gz').isfile() + + +def test_dockerbuild(): + docker = DockerTest() + dockerfiles = ('redfish-client/tests/Dockerfile.ubuntu', + 'redfish-client/tests/Dockerfile.debian', + 'redfish-client/tests/Dockerfile.fedora', + 'redfish-client/tests/Dockerfile.fedorapip') + for dockerfile in dockerfiles: + print('Testing : {}'.format(dockerfile)) + response = docker.build(dockerfile) + status = response.pop() + assert 'Successfully built' in status + + +def test_install(): + docker = DockerTest() + images = ('rfubuntu', 'rfdebian', 'rffedora', 'rffedorapip') + for img in images: + print('Testing : {}'.format(img)) + response = docker.run(img, 'redfish-client config showall') + print(response) + assert ('Managers configured' in response and 'None' in response) + + +def test_versionformat(): + docker = DockerTest() + images = ('rfubuntu', 'rfdebian', 'rffedora', 'rffedorapip') + for img in images: + print('Testing : {}'.format(img)) + response = docker.run(img, 'redfish-client --version') + print(response) + assert (re.match('redfish-client \d+\.\d+', response)) + diff --git a/test-requirements.txt b/test-requirements.txt index 1da9f7e..2dd9159 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -2,14 +2,8 @@ # of appearance. Changing the order has an impact on the overall integration # process, which may cause wedges in the gate later. -hacking<0.11,>=0.10.0 - +pytest>=2.6.4 coverage>=3.6 -discover -python-subunit>=0.0.18 -sphinx>=1.1.2,!=1.2.0,!=1.3b1,<1.3 -#oslosphinx>=2.2.0 # Apache-2.0 -#oslotest>=1.2.0 # Apache-2.0 -testrepository>=0.0.18 -testscenarios>=0.4 -testtools>=0.9.36,!=1.2.0 +mock>=1.0.1 +docker-py>=1.1.0 +path.py>=5.2 From bf69f3b642d06e55d21ac6cb5809a808136041d4 Mon Sep 17 00:00:00 2001 From: Uggla Date: Fri, 4 Mar 2016 12:00:36 +0100 Subject: [PATCH 076/224] Ignore files produced by tests --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 9c93129..6ec79a6 100644 --- a/.gitignore +++ b/.gitignore @@ -41,6 +41,8 @@ htmlcov/ .cache nosetests.xml coverage.xml +redfish-client/tests/Dockerfile +redfish-client/tests/python-redfish.src.tar.gz # Translations *.mo From 23d2b0956213cdeb72f653398d053d12175e8e80 Mon Sep 17 00:00:00 2001 From: Uggla Date: Fri, 4 Mar 2016 14:21:12 +0100 Subject: [PATCH 077/224] Add documentation about tests --- doc/source/index.rst | 1 + doc/source/installation.rst | 2 +- doc/source/testing.rst | 25 +++++++++++++++++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 doc/source/testing.rst diff --git a/doc/source/index.rst b/doc/source/index.rst index 3897497..15abfa7 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -15,6 +15,7 @@ Contents: installation usage develsetup + testing classesdoc contributing help diff --git a/doc/source/installation.rst b/doc/source/installation.rst index f39d78b..2698e3f 100644 --- a/doc/source/installation.rst +++ b/doc/source/installation.rst @@ -47,7 +47,7 @@ Using pip and virtualenv 4. Install using pip:: - pip install python-virtualenv + pip install python-redfish All files are installed under your virtualenv. diff --git a/doc/source/testing.rst b/doc/source/testing.rst new file mode 100644 index 0000000..ac94b45 --- /dev/null +++ b/doc/source/testing.rst @@ -0,0 +1,25 @@ +============= +Running tests +============= + + +redfish module tests +-------------------- + +Tests are not functional for the redfish module yet. + +refish-client tests +------------------- + +#. Create your development environment following `Developer setup `_. +#. Install docker using the `procedure `_. +#. Ensure you can use docker with your current user. +#. Jump into redfish-python directory containing the sources. +#. Install required modules for testings:: + + pip install -t test-requirements.txt + +#. Run the test:: + + py.test redfish-client + From 6d3beeb823a8e78871789f412c96f28d220fcf3e Mon Sep 17 00:00:00 2001 From: Uggla Date: Fri, 4 Mar 2016 14:39:05 +0100 Subject: [PATCH 078/224] Avoid command line parsing error in getprefix() Several setup command line options like --help, raise an AttributeError exception --> just pass as in that case command line options are not useful to determine prefix. --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index ee366de..cc591e5 100755 --- a/setup.py +++ b/setup.py @@ -151,7 +151,7 @@ def getprefix(self): dist.parse_config_files() try: dist.parse_command_line() - except distutils.errors.DistutilsArgError: + except (distutils.errors.DistutilsArgError, AttributeError): pass command = dist.get_command_obj('install') command.ensure_finalized() From 9a5e41798020def0ca9ac223d748e7afabcc12d0 Mon Sep 17 00:00:00 2001 From: Uggla Date: Sat, 13 Feb 2016 22:54:21 +0100 Subject: [PATCH 079/224] Improve logging - Check log directory existence and provide intruction to create it. - Client log is in the log dir now. - Improve error messages. --- redfish-client/redfish-client | 10 ++++++---- redfish/config.py | 13 ++++++++++++- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/redfish-client/redfish-client b/redfish-client/redfish-client index 98e5c77..6ca2303 100755 --- a/redfish-client/redfish-client +++ b/redfish-client/redfish-client @@ -24,7 +24,7 @@ redfish-client :: --insecure Ignore SSL certificates --debug LEVEL Run in debug mode, LEVEL from 1 to 3 increase verbosity Security warning LEVEL > 1 could reveal password into the logs - --debugfile FILE Specify the client debugfile [default: redfish-client.log] + --debugfile FILE Specify the client debugfile [default: /var/log/python-redfish/redfish-client.log] --libdebugfile FILE Specify python-redfish library log file [default: /var/log/python-redfish/python-redfish.log] config commands : manage the configuration file. @@ -253,6 +253,7 @@ if __name__ == '__main__': enforceSSL=enforceSSL ) except redfish.exception.RedfishException as e: + logger.error(str(e.message)) sys.stderr.write(str(e.message)) sys.stderr.write(str(e.advices)) sys.exit(1) @@ -263,7 +264,7 @@ if __name__ == '__main__': except jinja2.exceptions.TemplateNotFound as e: print('Template "{}" not found in {}.' .format(e.message, jinja2_env.loader.searchpath[0])) - logger.debug('Template "%s" not found in %s.' + logger.error('Template "%s" not found in %s.' % (e.message, jinja2_env.loader.searchpath[0])) sys.exit(1) @@ -332,7 +333,8 @@ if __name__ == '__main__': HOME = os.getenv('HOME') if(not HOME): - print('$HOME environment variable not set, please check your system') + print('ERROR: $HOME environment variable not set,' + + 'please check your system') logger.error('$HOME environment variable not set') sys.exit(1) logger.debug("Home directory : %s" % HOME) @@ -423,5 +425,5 @@ if __name__ == '__main__': else: get_manager_info(manager_name, True) - logger.info("Client session teminated") + logger.info("Client session terminated") sys.exit(0) diff --git a/redfish/config.py b/redfish/config.py index 6ddcccc..b4429ed 100644 --- a/redfish/config.py +++ b/redfish/config.py @@ -1,6 +1,9 @@ # coding=utf-8 import logging +import sys +import os +import getpass from logging.handlers import RotatingFileHandler # Global variable definition @@ -34,7 +37,15 @@ def initialize_logger(REDFISH_LOGFILE, formatter = logging.Formatter( '%(asctime)s :: %(levelname)s :: %(message)s' ) - file_handler = RotatingFileHandler(REDFISH_LOGFILE, 'a', 1000000, 1) + try: + file_handler = RotatingFileHandler(REDFISH_LOGFILE, 'a', 1000000, 1) + except IOError: + print('ERROR: {} does not exist or is not writeable.\n'.format(REDFISH_LOGFILE)) + print('1- Try to create directory {}'.format(os.path.dirname(REDFISH_LOGFILE))) + print(' using: sudo mkdir -p {}'.format(os.path.dirname(REDFISH_LOGFILE))) + print('2- Try to get the {} ownership'.format(os.path.dirname(REDFISH_LOGFILE))) + print(' using: sudo chown {} {}'.format(getpass.getuser(), os.path.dirname(REDFISH_LOGFILE))) + sys.exit(1) # First logger to file file_handler.setLevel(FILE_LOGGER_LEVEL) From a5002437f0505bb6a057f251e875b9683586382c Mon Sep 17 00:00:00 2001 From: Uggla Date: Sat, 5 Mar 2016 15:31:11 +0100 Subject: [PATCH 080/224] Fix config file option set as a list instead of str --- redfish-client/redfish-client | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redfish-client/redfish-client b/redfish-client/redfish-client index 6ca2303..917892e 100755 --- a/redfish-client/redfish-client +++ b/redfish-client/redfish-client @@ -345,7 +345,7 @@ if __name__ == '__main__': configfile = 'PBCONFFILE' if(arguments['--config']): - configfile = [arguments['--config']] + configfile = arguments['--config'] logger.debug("Overwrite configuration specified by user at %s" % configfile) From 909467555552aa3ed155d2fc889b3ade01f3caa9 Mon Sep 17 00:00:00 2001 From: Uggla Date: Sun, 14 Feb 2016 19:30:49 +0100 Subject: [PATCH 081/224] Manage python3 compatibility - Use future module to allow python2/3 compatibility. - New dependencies added future and configparser. --- examples/__init__.py | 9 ++++++++- examples/simple-proliant.py | 7 +++++++ examples/simple-simulator.py | 6 ++++++ redfish-client/redfish-client | 16 +++++++++++---- redfish-client/tests/test_client.py | 9 ++++++++- redfish/__init__.py | 9 +++++++-- redfish/config.py | 6 ++++++ redfish/exception.py | 9 ++++++++- redfish/main.py | 30 ++++++++++++++++++----------- redfish/mapping.py | 7 +++++++ redfish/types.py | 15 +++++++++++---- requirements.txt | 4 ++++ setup.py | 15 +++++++++++---- 13 files changed, 114 insertions(+), 28 deletions(-) diff --git a/examples/__init__.py b/examples/__init__.py index acef755..13c5e6a 100644 --- a/examples/__init__.py +++ b/examples/__init__.py @@ -1 +1,8 @@ -__author__ = 'deva' +# coding=utf-8 +from __future__ import unicode_literals +from __future__ import print_function +from __future__ import division +from __future__ import absolute_import +from future import standard_library +standard_library.install_aliases() +__author__ = 'uggla' diff --git a/examples/simple-proliant.py b/examples/simple-proliant.py index 451b7a1..a2f2a54 100644 --- a/examples/simple-proliant.py +++ b/examples/simple-proliant.py @@ -1,6 +1,13 @@ # coding=utf-8 """ Simple example to use python-redfish on HP Proliant servers """ +from __future__ import unicode_literals +from __future__ import print_function +from __future__ import division +from __future__ import absolute_import +from future import standard_library +standard_library.install_aliases() +from builtins import str import os import sys diff --git a/examples/simple-simulator.py b/examples/simple-simulator.py index df44ca5..3e73387 100644 --- a/examples/simple-simulator.py +++ b/examples/simple-simulator.py @@ -1,6 +1,12 @@ # coding=utf-8 """ Simple example to use python-redfish with DMTF simulator """ +from __future__ import unicode_literals +from __future__ import print_function +from __future__ import division +from __future__ import absolute_import +from future import standard_library +standard_library.install_aliases() import os import sys diff --git a/redfish-client/redfish-client b/redfish-client/redfish-client index 917892e..c6d1ddb 100755 --- a/redfish-client/redfish-client +++ b/redfish-client/redfish-client @@ -28,9 +28,17 @@ redfish-client :: --libdebugfile FILE Specify python-redfish library log file [default: /var/log/python-redfish/python-redfish.log] config commands : manage the configuration file. - manager commands : manage the manager (Ligh out management). If + manager commands : manage the manager (Light out management). If is not provided use the 'default' entry ''' +from __future__ import unicode_literals +from __future__ import print_function +from __future__ import division +from __future__ import absolute_import +from future import standard_library +standard_library.install_aliases() +from builtins import str +from builtins import object import os import sys @@ -38,7 +46,7 @@ import json import pprint import docopt import logging -import ConfigParser +import configparser import jinja2 import requests.packages.urllib3 import redfish @@ -268,7 +276,7 @@ if __name__ == '__main__': % (e.message, jinja2_env.loader.searchpath[0])) sys.exit(1) - print template.render(r=remote_mgmt) + print(template.render(r=remote_mgmt)) ################################################################# # Main program @@ -340,7 +348,7 @@ if __name__ == '__main__': logger.debug("Home directory : %s" % HOME) # Load config - config = ConfigParser.ConfigParser(allow_no_value=True) + config = configparser.ConfigParser(allow_no_value=True) logger.debug("Read configuration file") configfile = 'PBCONFFILE' diff --git a/redfish-client/tests/test_client.py b/redfish-client/tests/test_client.py index 7cd157d..428bb1d 100644 --- a/redfish-client/tests/test_client.py +++ b/redfish-client/tests/test_client.py @@ -1,3 +1,10 @@ +from __future__ import unicode_literals +from __future__ import print_function +from __future__ import division +from __future__ import absolute_import +from future import standard_library +standard_library.install_aliases() +from builtins import object # coding=utf-8 import os import stat @@ -7,7 +14,7 @@ from path import Path -class DockerTest(): +class DockerTest(object): def __init__(self): self.cli = Client(base_url='unix://var/run/docker.sock') diff --git a/redfish/__init__.py b/redfish/__init__.py index 0a6657b..abe39c8 100644 --- a/redfish/__init__.py +++ b/redfish/__init__.py @@ -12,14 +12,19 @@ # License for the specific language governing permissions and limitations # under the License. +from __future__ import unicode_literals +from __future__ import print_function +from __future__ import division +from __future__ import absolute_import +from future import standard_library +standard_library.install_aliases() import pbr.version from redfish.main import * -#import redfish.types try: __version__ = pbr.version.VersionInfo('redfish').release_string() -except Exception, e: +except Exception as e: if "Versioning for this project requires either an sdist tarball" in e.message: pass else: diff --git a/redfish/config.py b/redfish/config.py index b4429ed..9f2b7f1 100644 --- a/redfish/config.py +++ b/redfish/config.py @@ -1,5 +1,11 @@ # coding=utf-8 +from __future__ import unicode_literals +from __future__ import print_function +from __future__ import division +from __future__ import absolute_import +from future import standard_library +standard_library.install_aliases() import logging import sys import os diff --git a/redfish/exception.py b/redfish/exception.py index d54feff..bb09b86 100644 --- a/redfish/exception.py +++ b/redfish/exception.py @@ -1,6 +1,13 @@ # -*- coding: utf-8 -*- -import config +from __future__ import unicode_literals +from __future__ import print_function +from __future__ import division +from __future__ import absolute_import +from future import standard_library +standard_library.install_aliases() +from builtins import str +from . import config class RedfishException(Exception): diff --git a/redfish/main.py b/redfish/main.py index 98c0205..bf96712 100644 --- a/redfish/main.py +++ b/redfish/main.py @@ -1,3 +1,5 @@ +# coding=utf-8 +# # Copyright 2014 Hewlett-Packard Development Company, L.P. # # Licensed under the Apache License, Version 2.0 (the "License"); you may @@ -114,17 +116,23 @@ * headers the service returns """ +from __future__ import unicode_literals +from __future__ import print_function +from __future__ import division +from __future__ import absolute_import +from future import standard_library +standard_library.install_aliases() +from builtins import object -# coding=utf-8 import json -from urlparse import urlparse +from urllib.parse import urlparse import requests -import config -import types -import mapping -import exception +from . import config +from . import types +from . import mapping +from . import exception """Function to wrap RedfishConnection""" @@ -196,13 +204,13 @@ def __init__(self, # Verify cert if self.connection_parameters.verify_cert is False: config.logger.info("Certificat is not checked, " + - "this is insecure and can allow" + - " a man in the middle attack") + "this is insecure and can allow" + + " a man in the middle attack") - config.logger.debug("Root url : %s", self.connection_parameters.rooturl) + config.logger.debug("Root url : %s", + self.connection_parameters.rooturl) self.Root = types.Root(self.connection_parameters.rooturl, - self.connection_parameters - ) + self.connection_parameters) #self.api_url = tortilla.wrap(self.connection_parameters.rooturl, # debug=TORTILLADEBUG) #self.root = self.api_url.get(verify=self.connection_parameters.verify_cert) diff --git a/redfish/mapping.py b/redfish/mapping.py index f999cd2..db116ab 100644 --- a/redfish/mapping.py +++ b/redfish/mapping.py @@ -1,4 +1,11 @@ # coding=utf-8 +from __future__ import unicode_literals +from __future__ import print_function +from __future__ import division +from __future__ import absolute_import +from future import standard_library +standard_library.install_aliases() +from builtins import object redfish_mapper = None redfish_version = None diff --git a/redfish/types.py b/redfish/types.py index babc5d0..8777398 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -1,14 +1,21 @@ # coding=utf-8 +from __future__ import unicode_literals +from __future__ import print_function +from __future__ import division +from __future__ import absolute_import +from future import standard_library +standard_library.install_aliases() +from builtins import object import pprint import re -from urlparse import urljoin +from urllib.parse import urljoin import requests import simplejson import tortilla -import config -import mapping -import exception +from . import config +from . import mapping +from . import exception # Global variable diff --git a/requirements.txt b/requirements.txt index fec375e..dcd8264 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,3 +8,7 @@ Jinja2>=2.7.3 Sphinx>=1.2.3 docopt>=0.6.2 simplejson>=3.8.1 + +# Python3 compat +future>=0.15.2 +configparser>=3.3.0 diff --git a/setup.py b/setup.py index cc591e5..94994dd 100755 --- a/setup.py +++ b/setup.py @@ -1,3 +1,10 @@ +from __future__ import unicode_literals +from __future__ import print_function +from __future__ import division +from __future__ import absolute_import +from future import standard_library +standard_library.install_aliases() +from builtins import object #!/usr/bin/env python # Licensed under the Apache License, Version 2.0 (the 'License'); # you may not use this file except in compliance with the License. @@ -19,7 +26,7 @@ import re import pprint import distutils -import ConfigParser +import configparser import setuptools from setuptools import Distribution from setuptools.command.install import install @@ -42,13 +49,13 @@ def run(self): self.distribution.install_scripts = self.install_scripts -class DataFilesHelper(): +class DataFilesHelper(object): '''Class to help manage data files''' def __init__(self): '''Read setup.cfg and build the required data''' self.data = {} self.setupstruc = [] - config = ConfigParser.ConfigParser() + config = configparser.ConfigParser() config.read('setup.cfg') for datafile in config.options('data_files_helper'): src, dst = config.get('data_files_helper', datafile).split(',') @@ -65,7 +72,7 @@ def __init__(self): self.data['script'] = {'src': src, 'dst': 'bin', 'fdst': self.calculatedst(src, 'bin')} - except ConfigParser.NoOptionError: + except configparser.NoOptionError: pass pp = pprint.PrettyPrinter(indent=4) pp.pprint(self.data) From 7c33c819235c53cb23510387306648c7a1030f80 Mon Sep 17 00:00:00 2001 From: Uggla Date: Mon, 15 Feb 2016 11:14:17 +0100 Subject: [PATCH 082/224] Python3 requirements, remove configparser module. - configparser is a backported module for python2 and is a python 3 buildin module. --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index dcd8264..14b281f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,4 +11,4 @@ simplejson>=3.8.1 # Python3 compat future>=0.15.2 -configparser>=3.3.0 +configparser>=3.3.0; python_version < '3' From d09a63a4c69f724cf24f93a185f109c2d927dc90 Mon Sep 17 00:00:00 2001 From: Uggla Date: Mon, 15 Feb 2016 17:02:35 +0100 Subject: [PATCH 083/224] Review connection error handling due to python3 backports - Inclusion on future module might have changed some exception behaviors. So code changed following python2/3 tests. --- redfish/exception.py | 10 ---------- redfish/types.py | 23 +++++++++-------------- 2 files changed, 9 insertions(+), 24 deletions(-) diff --git a/redfish/exception.py b/redfish/exception.py index bb09b86..84b67cf 100644 --- a/redfish/exception.py +++ b/redfish/exception.py @@ -39,16 +39,6 @@ def __init__(self, message, **kwargs): ' Most of the time you are not pointing to the rest API\n' -class NonTrustedCertificatException(RedfishException): - def __init__(self, message, **kwargs): - super(NonTrustedCertificatException, self).__init__(message, **kwargs) - self.advices = \ - '1- Check if the url is the correct one\n' + \ - '2- Check if your device has a valid trusted certificat\n' + \ - ' You can use openssl to validate it using the command :\n' + \ - ' openssl s_client -showcerts -connect :443\n' - - class AuthenticationFailureException(RedfishException): def __init__(self, message, **kwargs): super(AuthenticationFailureException, self).__init__(message, **kwargs) diff --git a/redfish/types.py b/redfish/types.py index 8777398..478ab53 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -13,6 +13,7 @@ import requests import simplejson import tortilla +import ssl from . import config from . import mapping from . import exception @@ -31,15 +32,17 @@ def __init__(self, url, connection_parameters): try: if connection_parameters.auth_token is None: - self.data = self.api_url.get(verify=connection_parameters.verify_cert) + self.data = self.api_url.get( + verify=connection_parameters.verify_cert) else: - self.data = self.api_url.get(verify=connection_parameters.verify_cert, - headers={'x-auth-token': connection_parameters.auth_token} - ) - except requests.ConnectionError as e: + self.data = self.api_url.get( + verify=connection_parameters.verify_cert, + headers={ + 'x-auth-token': connection_parameters.auth_token}) + except (requests.ConnectionError, ssl.SSLError) as e: # Log and transmit the exception. config.logger.info('Raise a RedfishException to upper level') - msg = 'Connection error : {}\n'.format(e.message) + msg = 'Connection error : {}\n'.format(e) raise exception.ConnectionFailureException(msg) except simplejson.scanner.JSONDecodeError as e: # Log and transmit the exception. @@ -48,14 +51,6 @@ def __init__(self, url, connection_parameters): 'Ivalid content : Content does not appear to be a valid ' + \ 'Redfish json\n' raise exception.InvalidRedfishContentException(msg) - except TypeError as e: - # This happen connecting to a manager using non trusted - # SSL certificats. - # The exception is not what could be expected in such case but this - # is the one provided by Tortilla. - config.logger.info('Raise a RedfishException to upper level') - msg = 'Connection error\n' - raise exception.NonTrustedCertificatException(msg) config.logger.debug(self.data) def get_link_url(self, link_type): From 66cb53df4ec0c8df5a577c4018951767af814d87 Mon Sep 17 00:00:00 2001 From: Uggla Date: Sat, 5 Mar 2016 18:54:34 +0100 Subject: [PATCH 084/224] Add tests to validate python-redfish is working with python3 - Update setuptools within dockerfiles to support requirements.txt syntax. - Check that tests can be run with Python2 and 3. --- redfish-client/tests/Dockerfile.debian | 3 +++ redfish-client/tests/Dockerfile.fedora | 1 - redfish-client/tests/Dockerfile.fedorap3 | 11 +++++++++++ redfish-client/tests/Dockerfile.fedorapip | 3 +-- redfish-client/tests/Dockerfile.ubuntu | 3 +++ redfish-client/tests/test_client.py | 16 ++++++++++------ redfish/__init__.py | 3 ++- 7 files changed, 30 insertions(+), 10 deletions(-) create mode 100644 redfish-client/tests/Dockerfile.fedorap3 diff --git a/redfish-client/tests/Dockerfile.debian b/redfish-client/tests/Dockerfile.debian index bb09658..e5c01fc 100644 --- a/redfish-client/tests/Dockerfile.debian +++ b/redfish-client/tests/Dockerfile.debian @@ -6,6 +6,9 @@ apt-get install -y python-pip COPY python-redfish.src.tar.gz /python-redfish.src.tar.gz RUN mkdir /var/log/python-redfish RUN tar xvvf python-redfish.src.tar.gz +# Need a really recent version of setuptools to support +# configparser>=3.3.0; python_version < '3' in requirements.txt +RUN pip install --upgrade setuptools RUN cd python-redfish* && \ pip install -r requirements.txt && \ python setup.py install diff --git a/redfish-client/tests/Dockerfile.fedora b/redfish-client/tests/Dockerfile.fedora index 4770d9f..b28b8dd 100644 --- a/redfish-client/tests/Dockerfile.fedora +++ b/redfish-client/tests/Dockerfile.fedora @@ -1,6 +1,5 @@ FROM fedora:23 RUN dnf install -y python-pip && \ -dnf install -y git && \ dnf install -y tar COPY python-redfish.src.tar.gz /python-redfish.src.tar.gz RUN mkdir /var/log/python-redfish diff --git a/redfish-client/tests/Dockerfile.fedorap3 b/redfish-client/tests/Dockerfile.fedorap3 new file mode 100644 index 0000000..f2fbc89 --- /dev/null +++ b/redfish-client/tests/Dockerfile.fedorap3 @@ -0,0 +1,11 @@ +FROM fedora:23 +RUN dnf install -y python3-pip && \ +dnf install -y tar +COPY python-redfish.src.tar.gz /python-redfish.src.tar.gz +RUN mkdir /var/log/python-redfish +RUN tar xvvf python-redfish.src.tar.gz +RUN cd python-redfish* && \ +pip3 install -r requirements.txt && \ +python3 setup.py install +CMD ["/bin/bash"] + diff --git a/redfish-client/tests/Dockerfile.fedorapip b/redfish-client/tests/Dockerfile.fedorapip index dfb0cad..4d29b63 100644 --- a/redfish-client/tests/Dockerfile.fedorapip +++ b/redfish-client/tests/Dockerfile.fedorapip @@ -1,6 +1,5 @@ FROM fedora:23 -RUN dnf install -y python-pip && \ -dnf install -y git +RUN dnf install -y python-pip RUN mkdir /var/log/python-redfish RUN pip install python-redfish CMD ["/bin/bash"] diff --git a/redfish-client/tests/Dockerfile.ubuntu b/redfish-client/tests/Dockerfile.ubuntu index c77091c..1b9e542 100644 --- a/redfish-client/tests/Dockerfile.ubuntu +++ b/redfish-client/tests/Dockerfile.ubuntu @@ -6,6 +6,9 @@ apt-get install -y python-pip COPY python-redfish.src.tar.gz /python-redfish.src.tar.gz RUN mkdir /var/log/python-redfish RUN tar xvvf python-redfish.src.tar.gz +# Need a really recent version of setuptools to support +# configparser>=3.3.0; python_version < '3' in requirements.txt +RUN pip install --upgrade setuptools RUN cd python-redfish* && \ pip install -r requirements.txt && \ python setup.py install diff --git a/redfish-client/tests/test_client.py b/redfish-client/tests/test_client.py index 428bb1d..1f41752 100644 --- a/redfish-client/tests/test_client.py +++ b/redfish-client/tests/test_client.py @@ -37,7 +37,7 @@ def run(self, image, command): self.cli.wait(container=container.get('Id')) response = self.cli.logs(container=container.get('Id'), stdout=True) - return(response) + return(response.decode('utf8')) def test_dockersocket(): @@ -56,7 +56,7 @@ def test_docker(): def test_sources(): output = subprocess.check_output(["python", "setup.py", "sdist"]) - search = re.search(r"removing '(\S+)'", output) + search = re.search(r"removing '(\S+)'", str(output)) filename = Path('dist/' + search.group(1) + '.tar.gz') filename.copy('redfish-client/tests/python-redfish.src.tar.gz') assert Path('redfish-client/tests/python-redfish.src.tar.gz').isfile() @@ -64,20 +64,23 @@ def test_sources(): def test_dockerbuild(): docker = DockerTest() + # Warning : Image tag is derived from file name, do not use uppercase !!! dockerfiles = ('redfish-client/tests/Dockerfile.ubuntu', 'redfish-client/tests/Dockerfile.debian', 'redfish-client/tests/Dockerfile.fedora', + 'redfish-client/tests/Dockerfile.fedorap3', 'redfish-client/tests/Dockerfile.fedorapip') for dockerfile in dockerfiles: print('Testing : {}'.format(dockerfile)) response = docker.build(dockerfile) - status = response.pop() + status = str(response.pop()) assert 'Successfully built' in status def test_install(): docker = DockerTest() - images = ('rfubuntu', 'rfdebian', 'rffedora', 'rffedorapip') + images = ('rfubuntu', 'rfdebian', + 'rffedora', 'rffedorap3', 'rffedorapip') for img in images: print('Testing : {}'.format(img)) response = docker.run(img, 'redfish-client config showall') @@ -87,10 +90,11 @@ def test_install(): def test_versionformat(): docker = DockerTest() - images = ('rfubuntu', 'rfdebian', 'rffedora', 'rffedorapip') + images = ('rfubuntu', 'rfdebian', + 'rffedora', 'rffedorap3', 'rffedorapip') for img in images: print('Testing : {}'.format(img)) response = docker.run(img, 'redfish-client --version') print(response) - assert (re.match('redfish-client \d+\.\d+', response)) + assert (re.match(r'redfish-client \d+\.\d+', response)) diff --git a/redfish/__init__.py b/redfish/__init__.py index abe39c8..2b57f55 100644 --- a/redfish/__init__.py +++ b/redfish/__init__.py @@ -25,7 +25,8 @@ try: __version__ = pbr.version.VersionInfo('redfish').release_string() except Exception as e: - if "Versioning for this project requires either an sdist tarball" in e.message: + if "Versioning for this project requires either an sdist tarball" \ + in e.args[0]: pass else: raise From 351547b0517484a8cb50d27dee8d7c5a1fa1ea25 Mon Sep 17 00:00:00 2001 From: Uggla Date: Mon, 15 Feb 2016 17:16:16 +0100 Subject: [PATCH 085/224] Update documentation - Add python3 release. - Add a FAQ. - Various minor updates. --- README.rst | 14 +++++++++++--- doc/source/faq.rst | 11 +++++++++++ doc/source/index.rst | 1 + doc/source/testing.rst | 4 ++++ 4 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 doc/source/faq.rst diff --git a/README.rst b/README.rst index 4b4cf50..cb69f58 100644 --- a/README.rst +++ b/README.rst @@ -9,10 +9,15 @@ NOTE:: DRAFT - WORK IN PROGRESS - The current Redfish specification revision is 1.0.0 - Note that the mockup - is still at version 0.99.0a and may not reflect what the standard provides + The current Redfish specification revision is 1.0.0 - Note that the mockup + is still at version 0.99.0a and may not reflect what the standard provides fully +Documentation +------------- + +The full documentation is available at +http://pythonhosted.org/python-redfish/installation.html Project Structure ------------------- @@ -35,7 +40,7 @@ for build and test automation:: Requirements ------------ -To use the enclosed examples, you will need Python 2.7 +To use the enclosed examples, you will need Python 2.7 or Python 3.4 (https://www.python.org/downloads/). Note that Python 2.7.9 enforces greater SSL verification requiring server certificates be installed. Parameters to relax the requirements are available in the library, but these configurations @@ -44,6 +49,9 @@ are discouraged due to security. Python requirements are listed in requirements.txt; additional requirements for running the unit test suite are listed in test-requirements.txt. +Note: The program was tested with Python 2.7.10 and 3.4.2 however it might work +as well with all Python 3 releases. + Get the sources --------------- diff --git a/doc/source/faq.rst b/doc/source/faq.rst new file mode 100644 index 0000000..8e53b2a --- /dev/null +++ b/doc/source/faq.rst @@ -0,0 +1,11 @@ +=== +FAQ +=== + +- Q1 : error in setup command: Invalid environment marker: (python_version < '3') + + This error is caused by old setuptools revisions that do not understant "python_version < '3'". + Upgrade setuptools using:: + + pip install --upgrade setuptools + diff --git a/doc/source/index.rst b/doc/source/index.rst index 15abfa7..2de689e 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -18,6 +18,7 @@ Contents: testing classesdoc contributing + faq help Indices and tables diff --git a/doc/source/testing.rst b/doc/source/testing.rst index ac94b45..dd0d90c 100644 --- a/doc/source/testing.rst +++ b/doc/source/testing.rst @@ -15,6 +15,10 @@ refish-client tests #. Install docker using the `procedure `_. #. Ensure you can use docker with your current user. #. Jump into redfish-python directory containing the sources. +#. Depending of your distribution, you may have to upgrade setuptools:: + + pip install --upgrade setuptools + #. Install required modules for testings:: pip install -t test-requirements.txt From c422e152f3046efa90bd282f3cf3754fabd0d2fe Mon Sep 17 00:00:00 2001 From: Uggla Date: Mon, 7 Mar 2016 21:25:40 +0100 Subject: [PATCH 086/224] Fix setup.py - Setup needs future module, install future using pip if not available. --- setup.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/setup.py b/setup.py index 94994dd..db4d2c5 100755 --- a/setup.py +++ b/setup.py @@ -1,10 +1,3 @@ -from __future__ import unicode_literals -from __future__ import print_function -from __future__ import division -from __future__ import absolute_import -from future import standard_library -standard_library.install_aliases() -from builtins import object #!/usr/bin/env python # Licensed under the Apache License, Version 2.0 (the 'License'); # you may not use this file except in compliance with the License. @@ -20,11 +13,23 @@ # limitations under the License. # THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT +from __future__ import unicode_literals +from __future__ import print_function +from __future__ import division +from __future__ import absolute_import import os import sys import fileinput import re import pprint +from subprocess import check_call +try: + from future import standard_library +except ImportError: + check_call(["pip", "install", "future"]) + from future import standard_library +standard_library.install_aliases() +from builtins import object import distutils import configparser import setuptools From 51c09bfd2607967dc78c4fd440df6d0be40e7f02 Mon Sep 17 00:00:00 2001 From: Uggla Date: Tue, 8 Mar 2016 11:06:07 +0100 Subject: [PATCH 087/224] Remove containers used by tests --- redfish-client/tests/test_client.py | 1 + 1 file changed, 1 insertion(+) diff --git a/redfish-client/tests/test_client.py b/redfish-client/tests/test_client.py index 1f41752..d3da332 100644 --- a/redfish-client/tests/test_client.py +++ b/redfish-client/tests/test_client.py @@ -37,6 +37,7 @@ def run(self, image, command): self.cli.wait(container=container.get('Id')) response = self.cli.logs(container=container.get('Id'), stdout=True) + self.cli.remove_container(container=container.get('Id')) return(response.decode('utf8')) From d94b5d485090829591bb78de80eb71d7410dba6a Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Sat, 5 Mar 2016 09:53:51 +0100 Subject: [PATCH 088/224] Improve rpm package generation - Filter install.sh for PB macros - adds doc to spec file --- install.sh | 17 +++++++++++++ pbconf/python-redfish.pb | 2 +- pbconf/python-redfish/rpm/python-redfish.spec | 24 +++++++------------ 3 files changed, 26 insertions(+), 17 deletions(-) create mode 100755 install.sh diff --git a/install.sh b/install.sh new file mode 100755 index 0000000..1662ee0 --- /dev/null +++ b/install.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +# Syntax: install.sh + +export rootdir=$1 +export sitelib=$2 +export prefix=$3 +python setup.py install --skip-build --root $rootdir +rm -rf $rootdir/$sitelib/redfish/old + +for i in 1; do + mkdir -p $rootdir/$prefix/man/man$i + install -m 644 doc/build/man/*.$i $rootdir/$prefix/man/man$i +done +install -d 755 $rootdir/$prefix/doc/PBPKG/html/_static +install -m 644 doc/build/singlehtml/*.html $rootdir/$prefix/doc/PBPKG/html +install -m 644 doc/build/singlehtml/_static/* $rootdir/$prefix/doc/PBPKG/html/_static diff --git a/pbconf/python-redfish.pb b/pbconf/python-redfish.pb index e08000c..c5130cf 100644 --- a/pbconf/python-redfish.pb +++ b/pbconf/python-redfish.pb @@ -130,7 +130,7 @@ defpkgdir python-redfish = . # List of files per pkg on which to apply filters # Files are mentioned relatively to pbroot/defpkgdir -filteredfiles python-redfish = redfish-client/redfish-client,doc/source/conf.py +filteredfiles python-redfish = redfish-client/redfish-client,doc/source/conf.py,install.sh #supfiles python-redfish = python-redfish.init # For perl modules, names are different depending on distro diff --git a/pbconf/python-redfish/rpm/python-redfish.spec b/pbconf/python-redfish/rpm/python-redfish.spec index 8e99eea..fe99377 100644 --- a/pbconf/python-redfish/rpm/python-redfish.spec +++ b/pbconf/python-redfish/rpm/python-redfish.spec @@ -30,27 +30,19 @@ make singlehtml make latexpdf %install -%{__python} setup.py install -O1 --skip-build --root %{buildroot} -# This will go in a separate script later on to share with other distros -rm -fr %{buildroot}/%{python_sitelib}/redfish/old - -for i in 1; do - mkdir -p %{buildroot}/%{_mandir}/man$i - install -m 644 doc/build/man/*.$i %{buildroot}/%{_mandir}/man$i -done -install -d 755 %{buildroot}/%{_docdir}/%{name}/html/_static -install -m 644 doc/build/singlehtml/*.html %{buildroot}/%{_docdir}/%{name}/html -install -m 644 doc/build/singlehtml/_static/* %{buildroot}/%{_docdir}/%{name}/html/_static +./install.sh %{buildroot} %{python_sitelib} %{_prefix} %files %doc README.rst examples/[a-z]*.py LICENSE %doc doc/build/latex/*.pdf -%dir %{python_sitelib}/redfish -%dir %{_docdir}/%{name}/html -%{_docdir}/%{name}/html/*.html -%dir %{_docdir}/%{name}/html/_static -%{_docdir}/%{name}/html/_static/* +%doc %{_docdir}/%{name}/html +%doc %{_docdir}/%{name}/html/*.html +%doc %{_docdir}/%{name}/html/_static +%doc %{_docdir}/%{name}/html/_static/* %{_bindir}/redfish-client +# add conf file +# add template +%dir %{python_sitelib}/redfish %{python_sitelib}/redfish/*.py* %{python_sitelib}/redfish/tests/*.py* %{python_sitelib}/python_redfish* From a6799130e803ba09d271722128515c20d883b1e2 Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Mon, 7 Mar 2016 19:22:58 +0100 Subject: [PATCH 089/224] Adapt rpm package build to new setup.py - Review install script to use the --prefix option, install doc in the corerct place (/usr/share/doc) and fix the wrong placement of the conf file for now - Declare new macros (which are not used yet BTW) - Fix the spec file for new loactions - Adds urllib3 to python dependencies --- install.sh | 17 +++++++++++------ pbconf/pbfilter/all.pbf | 3 +++ pbconf/python-redfish.pb | 2 +- pbconf/python-redfish/rpm/python-redfish.spec | 9 +++------ requirements.txt | 1 + 5 files changed, 19 insertions(+), 13 deletions(-) diff --git a/install.sh b/install.sh index 1662ee0..7d4c71e 100755 --- a/install.sh +++ b/install.sh @@ -1,17 +1,22 @@ #!/bin/bash # Syntax: install.sh +set -x export rootdir=$1 export sitelib=$2 export prefix=$3 -python setup.py install --skip-build --root $rootdir +#python setup.py install --skip-build --prefix=$prefix +python setup.py install --skip-build --root=$rootdir --prefix=$prefix rm -rf $rootdir/$sitelib/redfish/old for i in 1; do - mkdir -p $rootdir/$prefix/man/man$i - install -m 644 doc/build/man/*.$i $rootdir/$prefix/man/man$i + mkdir -p $rootdir/$prefix/share/man/man$i + install -m 644 doc/build/man/*.$i $rootdir/$prefix/share/man/man$i done -install -d 755 $rootdir/$prefix/doc/PBPKG/html/_static -install -m 644 doc/build/singlehtml/*.html $rootdir/$prefix/doc/PBPKG/html -install -m 644 doc/build/singlehtml/_static/* $rootdir/$prefix/doc/PBPKG/html/_static +install -d 755 $rootdir/$prefix/share/doc/PBPKG/html/_static +install -m 644 doc/build/singlehtml/*.html $rootdir/$prefix/share/doc/PBPKG/html +install -m 644 doc/build/singlehtml/_static/* $rootdir/$prefix/share/doc/PBPKG/html/_static +# Hardcoded for now to solve the delivery of the conf file still not correct with setup.py +mkdir -p $rootdir/etc +mv $rootdir/$prefix/etc/redfish-client.conf $rootdir/etc/redfish-client.conf diff --git a/pbconf/pbfilter/all.pbf b/pbconf/pbfilter/all.pbf index f78ebb7..8e9647e 100644 --- a/pbconf/pbfilter/all.pbf +++ b/pbconf/pbfilter/all.pbf @@ -66,3 +66,6 @@ filter PBURL = http://github.com/bcornec/python-redfish # PBLOG is replaced by the changelog if value is yes # and should be last as when used we need the %pb hash filled filter PBLOG = yes + +filter PBCONFFILE = /etc/redfish-client.conf +filter PBTEMPLATEPATH = /usr/share/redfish-client/templates diff --git a/pbconf/python-redfish.pb b/pbconf/python-redfish.pb index c5130cf..cef7744 100644 --- a/pbconf/python-redfish.pb +++ b/pbconf/python-redfish.pb @@ -130,7 +130,7 @@ defpkgdir python-redfish = . # List of files per pkg on which to apply filters # Files are mentioned relatively to pbroot/defpkgdir -filteredfiles python-redfish = redfish-client/redfish-client,doc/source/conf.py,install.sh +filteredfiles python-redfish = redfish-client/redfish-client,doc/source/conf.py,setup.py,./redfish-client/etc/redfish-client.conf,install.sh #supfiles python-redfish = python-redfish.init # For perl modules, names are different depending on distro diff --git a/pbconf/python-redfish/rpm/python-redfish.spec b/pbconf/python-redfish/rpm/python-redfish.spec index fe99377..a50760c 100644 --- a/pbconf/python-redfish/rpm/python-redfish.spec +++ b/pbconf/python-redfish/rpm/python-redfish.spec @@ -35,13 +35,10 @@ make latexpdf %files %doc README.rst examples/[a-z]*.py LICENSE %doc doc/build/latex/*.pdf -%doc %{_docdir}/%{name}/html -%doc %{_docdir}/%{name}/html/*.html -%doc %{_docdir}/%{name}/html/_static -%doc %{_docdir}/%{name}/html/_static/* %{_bindir}/redfish-client -# add conf file -# add template +%dir %{_datadir}/redfish-client +%{_datadir}/redfish-client/templates/* +%config(noreplace) %{_sysconfdir}/redfish-client.conf %dir %{python_sitelib}/redfish %{python_sitelib}/redfish/*.py* %{python_sitelib}/redfish/tests/*.py* diff --git a/requirements.txt b/requirements.txt index 14b281f..80aba9a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,6 +8,7 @@ Jinja2>=2.7.3 Sphinx>=1.2.3 docopt>=0.6.2 simplejson>=3.8.1 +urllib3>=1.9 # Python3 compat future>=0.15.2 From ac776e5fb5923823484e449f9e955e6ce2e68ce7 Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Thu, 17 Mar 2016 01:16:52 +0100 Subject: [PATCH 090/224] remove setup.py from pb processing --- pbconf/python-redfish.pb | 2 +- requirements.txt | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/pbconf/python-redfish.pb b/pbconf/python-redfish.pb index cef7744..3824a9e 100644 --- a/pbconf/python-redfish.pb +++ b/pbconf/python-redfish.pb @@ -130,7 +130,7 @@ defpkgdir python-redfish = . # List of files per pkg on which to apply filters # Files are mentioned relatively to pbroot/defpkgdir -filteredfiles python-redfish = redfish-client/redfish-client,doc/source/conf.py,setup.py,./redfish-client/etc/redfish-client.conf,install.sh +filteredfiles python-redfish = redfish-client/redfish-client,doc/source/conf.py,redfish-client/etc/redfish-client.conf,install.sh #supfiles python-redfish = python-redfish.init # For perl modules, names are different depending on distro diff --git a/requirements.txt b/requirements.txt index 80aba9a..14b281f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,7 +8,6 @@ Jinja2>=2.7.3 Sphinx>=1.2.3 docopt>=0.6.2 simplejson>=3.8.1 -urllib3>=1.9 # Python3 compat future>=0.15.2 From 30565317cc173cd0dfe38113c4141121c288cea5 Mon Sep 17 00:00:00 2001 From: Uggla Date: Sun, 20 Mar 2016 19:01:51 +0100 Subject: [PATCH 091/224] Fix invalid login using redfish url. - Login using https:///redfish/v1 raised an error, which was not the case using https:///rest/v1. This was due to a '/' appended to the Sessions url ending to a '//' in the target url. Fix by using urlparse.urljoin to fix that issue. --- redfish/main.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/redfish/main.py b/redfish/main.py index bf96712..9b69d1b 100644 --- a/redfish/main.py +++ b/redfish/main.py @@ -127,7 +127,7 @@ import json -from urllib.parse import urlparse +from urllib.parse import urlparse, urljoin import requests from . import config from . import types @@ -289,7 +289,7 @@ def login(self): # Handle login with redfish 1.00, url must be : # /rest/v1/SessionService/Sessions as specified by the specification if float(mapping.redfish_version) >= 1.00: - url += '/Sessions' + url = urljoin(url, "Sessions") # Craft request body and header requestBody = {"UserName": self.connection_parameters.user_name , "Password": self.connection_parameters.password} From d1c8ff941aba7f5f85ad22d747d727a52bf87c18 Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Fri, 1 Apr 2016 18:19:26 +0200 Subject: [PATCH 092/224] - RPM build needs python-future --- pbconf/pbfilter/rpm.pbf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pbconf/pbfilter/rpm.pbf b/pbconf/pbfilter/rpm.pbf index 5fd5749..22655a0 100644 --- a/pbconf/pbfilter/rpm.pbf +++ b/pbconf/pbfilter/rpm.pbf @@ -14,8 +14,8 @@ filter PBLIC = ASL 2.0 #filter PBDEP = # PBBDEP is replaced by the list of build dependencies -filter PBBDEP = python-devel, python-setuptools, python-pbr, python-sphinx -filter PBDEP = python-docopt, python-tortilla, python-jinja2, python-pbr, python-docopt, python-simplejson +filter PBBDEP = python-devel, python-setuptools, python-pbr, python-sphinx, python-future +filter PBDEP = python-docopt, python-tortilla, python-jinja2, python-pbr, python-simplejson # PBSUF is replaced by the package suffix ($pb->{'suf'} in code) filter PBSUF = $pb->{'suf'} From 993f3f2825f15a146943f729b3a7ee8ddd6bae60 Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Sat, 2 Apr 2016 01:24:20 +0200 Subject: [PATCH 093/224] Precise python modules versions needed for RPM build --- pbconf/pbfilter/rpm.pbf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pbconf/pbfilter/rpm.pbf b/pbconf/pbfilter/rpm.pbf index 22655a0..6075b8e 100644 --- a/pbconf/pbfilter/rpm.pbf +++ b/pbconf/pbfilter/rpm.pbf @@ -14,8 +14,8 @@ filter PBLIC = ASL 2.0 #filter PBDEP = # PBBDEP is replaced by the list of build dependencies -filter PBBDEP = python-devel, python-setuptools, python-pbr, python-sphinx, python-future -filter PBDEP = python-docopt, python-tortilla, python-jinja2, python-pbr, python-simplejson +filter PBBDEP = python-devel,python-setuptools,python-pbr >= 0.8,python-sphinx >= 1.3.1,python-future >= 0.15.2 +filter PBDEP = python-docopt >= 0.6.2,python-tortilla >= 0.4.1,python-jinja2 >= 2.7.3,python-pbr >= 0.8,python-simplejson >= 3.8.1 # PBSUF is replaced by the package suffix ($pb->{'suf'} in code) filter PBSUF = $pb->{'suf'} From 04e55914437dc64eea3c22656324646aebe3192b Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Sat, 2 Apr 2016 02:03:07 +0200 Subject: [PATCH 094/224] Fix RPM build for 0.3 - Adds entry for management of /var/log/python-redfish by the RPM (not used I think it shouldn't be handled that way) - python-requests >= 2.9.1 is a mandatory installation dep - Removal for now of the python3 compatible line causing problems with setuptools --- install.sh | 11 +++++++++-- pbconf/pbfilter/rpm.pbf | 2 +- pbconf/python-redfish/rpm/python-redfish.spec | 6 ++++-- requirements.txt | 3 ++- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/install.sh b/install.sh index 7d4c71e..82770e1 100755 --- a/install.sh +++ b/install.sh @@ -1,22 +1,29 @@ #!/bin/bash -# Syntax: install.sh +# Syntax: install.sh set -x export rootdir=$1 export sitelib=$2 export prefix=$3 -#python setup.py install --skip-build --prefix=$prefix +#export varlog=$4 + python setup.py install --skip-build --root=$rootdir --prefix=$prefix rm -rf $rootdir/$sitelib/redfish/old +# Documentation installation for i in 1; do mkdir -p $rootdir/$prefix/share/man/man$i install -m 644 doc/build/man/*.$i $rootdir/$prefix/share/man/man$i done + install -d 755 $rootdir/$prefix/share/doc/PBPKG/html/_static install -m 644 doc/build/singlehtml/*.html $rootdir/$prefix/share/doc/PBPKG/html install -m 644 doc/build/singlehtml/_static/* $rootdir/$prefix/share/doc/PBPKG/html/_static + # Hardcoded for now to solve the delivery of the conf file still not correct with setup.py mkdir -p $rootdir/etc mv $rootdir/$prefix/etc/redfish-client.conf $rootdir/etc/redfish-client.conf + +# Log files management +#mkdir -p $rootdir/$varlog/PBPKG diff --git a/pbconf/pbfilter/rpm.pbf b/pbconf/pbfilter/rpm.pbf index 6075b8e..8083890 100644 --- a/pbconf/pbfilter/rpm.pbf +++ b/pbconf/pbfilter/rpm.pbf @@ -15,7 +15,7 @@ filter PBLIC = ASL 2.0 # PBBDEP is replaced by the list of build dependencies filter PBBDEP = python-devel,python-setuptools,python-pbr >= 0.8,python-sphinx >= 1.3.1,python-future >= 0.15.2 -filter PBDEP = python-docopt >= 0.6.2,python-tortilla >= 0.4.1,python-jinja2 >= 2.7.3,python-pbr >= 0.8,python-simplejson >= 3.8.1 +filter PBDEP = python-docopt >= 0.6.2,python-tortilla >= 0.4.1,python-jinja2 >= 2.7.3,python-pbr >= 0.8,python-simplejson >= 3.8.1,python-requests >= 2.9.1 # PBSUF is replaced by the package suffix ($pb->{'suf'} in code) filter PBSUF = $pb->{'suf'} diff --git a/pbconf/python-redfish/rpm/python-redfish.spec b/pbconf/python-redfish/rpm/python-redfish.spec index a50760c..6011042 100644 --- a/pbconf/python-redfish/rpm/python-redfish.spec +++ b/pbconf/python-redfish/rpm/python-redfish.spec @@ -23,14 +23,15 @@ PBDESC %build %{__python} setup.py build -# Deal with doc + +# Build minimal documentation cd doc make man make singlehtml make latexpdf %install -./install.sh %{buildroot} %{python_sitelib} %{_prefix} +./install.sh %{buildroot} %{python_sitelib} %{_prefix} #%{_logdir} %files %doc README.rst examples/[a-z]*.py LICENSE @@ -44,5 +45,6 @@ make latexpdf %{python_sitelib}/redfish/tests/*.py* %{python_sitelib}/python_redfish* %{_mandir}/man1/* +#%{_logdir}/PBREALPKG %changelog PBLOG diff --git a/requirements.txt b/requirements.txt index 14b281f..d38b06a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,7 +8,8 @@ Jinja2>=2.7.3 Sphinx>=1.2.3 docopt>=0.6.2 simplejson>=3.8.1 +requests>=2.9.1 # Python3 compat future>=0.15.2 -configparser>=3.3.0; python_version < '3' +#configparser>=3.3.0; python_version < '3' From ec19ebaf569dce23f10df1630ddf53c12fcdcc28 Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Sat, 2 Apr 2016 15:00:47 +0200 Subject: [PATCH 095/224] Fix @hp.com addresses --- dmtf/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dmtf/Dockerfile b/dmtf/Dockerfile index fa32aab..b8164f8 100644 --- a/dmtf/Dockerfile +++ b/dmtf/Dockerfile @@ -1,7 +1,7 @@ # Invoke with docker run -p 8000:80 # Then use by browsing http://localhost:8000 FROM ubuntu:15.04 -MAINTAINER bruno.cornec@hp.com +MAINTAINER bruno.cornec@hpe.com ENV DEBIAN_FRONTEND noninterative # Install deps for Redfish mockup RUN apt-get update From f876aa6711e03632b8bcf68378e7a83b3279675a Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Mon, 4 Apr 2016 19:35:03 +0200 Subject: [PATCH 096/224] New version of PR #38 - Put back python funny syntax in requirements.txt - Create a PB macro (for now in all.pbf) to alter the requirements.txt to remove the funny python syntax --- pbconf/pbfilter/all.pbf | 1 + pbconf/python-redfish/rpm/python-redfish.spec | 2 ++ requirements.txt | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/pbconf/pbfilter/all.pbf b/pbconf/pbfilter/all.pbf index 8e9647e..45f42d8 100644 --- a/pbconf/pbfilter/all.pbf +++ b/pbconf/pbfilter/all.pbf @@ -69,3 +69,4 @@ filter PBLOG = yes filter PBCONFFILE = /etc/redfish-client.conf filter PBTEMPLATEPATH = /usr/share/redfish-client/templates +filter PBPYTHON3FILTER = perl -pi -e "s|configparser>=3.3.0; python_version < '3'|configparser>=3.3.0|" requirements.txt diff --git a/pbconf/python-redfish/rpm/python-redfish.spec b/pbconf/python-redfish/rpm/python-redfish.spec index 6011042..0307058 100644 --- a/pbconf/python-redfish/rpm/python-redfish.spec +++ b/pbconf/python-redfish/rpm/python-redfish.spec @@ -22,6 +22,8 @@ PBDESC %setup -q %build +# Fix for now as long as setuptools isn't more recent in distributions +PBPYTHON3FILTER %{__python} setup.py build # Build minimal documentation diff --git a/requirements.txt b/requirements.txt index d38b06a..8130bed 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,4 +12,4 @@ requests>=2.9.1 # Python3 compat future>=0.15.2 -#configparser>=3.3.0; python_version < '3' +configparser>=3.3.0; python_version < '3' From 554672a012ca5a799e45c32321ab98b764f7bc2e Mon Sep 17 00:00:00 2001 From: Uggla Date: Mon, 4 Apr 2016 20:19:01 +0200 Subject: [PATCH 097/224] Fix rpm spec - Decrease sphinx version. - Include documentation in rpm. --- pbconf/pbfilter/rpm.pbf | 2 +- pbconf/python-redfish/rpm/python-redfish.spec | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/pbconf/pbfilter/rpm.pbf b/pbconf/pbfilter/rpm.pbf index 8083890..a7611d1 100644 --- a/pbconf/pbfilter/rpm.pbf +++ b/pbconf/pbfilter/rpm.pbf @@ -14,7 +14,7 @@ filter PBLIC = ASL 2.0 #filter PBDEP = # PBBDEP is replaced by the list of build dependencies -filter PBBDEP = python-devel,python-setuptools,python-pbr >= 0.8,python-sphinx >= 1.3.1,python-future >= 0.15.2 +filter PBBDEP = python-devel,python-setuptools,python-pbr >= 0.8,python-sphinx >= 1.2.3,python-future >= 0.15.2 filter PBDEP = python-docopt >= 0.6.2,python-tortilla >= 0.4.1,python-jinja2 >= 2.7.3,python-pbr >= 0.8,python-simplejson >= 3.8.1,python-requests >= 2.9.1 # PBSUF is replaced by the package suffix ($pb->{'suf'} in code) diff --git a/pbconf/python-redfish/rpm/python-redfish.spec b/pbconf/python-redfish/rpm/python-redfish.spec index 0307058..63aa93a 100644 --- a/pbconf/python-redfish/rpm/python-redfish.spec +++ b/pbconf/python-redfish/rpm/python-redfish.spec @@ -47,6 +47,8 @@ make latexpdf %{python_sitelib}/redfish/tests/*.py* %{python_sitelib}/python_redfish* %{_mandir}/man1/* +%{_docdir}/PBREALPKG/html/_static/* +%{_docdir}/PBREALPKG/html/index.html #%{_logdir}/PBREALPKG %changelog PBLOG From 65c8ac92e10f29025ff506e1c70998384691d0dc Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Sat, 2 Apr 2016 03:07:41 +0200 Subject: [PATCH 098/224] Fix #39 with new log files management - Default location for log files is now under the HOME directory of the user instead of /var/log - Create that default .redfish dir if not already existing - Adapt error messages --- redfish-client/redfish-client | 4 ++-- redfish/config.py | 26 ++++++++++++++++++++------ 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/redfish-client/redfish-client b/redfish-client/redfish-client index c6d1ddb..fffd91e 100755 --- a/redfish-client/redfish-client +++ b/redfish-client/redfish-client @@ -24,8 +24,8 @@ redfish-client :: --insecure Ignore SSL certificates --debug LEVEL Run in debug mode, LEVEL from 1 to 3 increase verbosity Security warning LEVEL > 1 could reveal password into the logs - --debugfile FILE Specify the client debugfile [default: /var/log/python-redfish/redfish-client.log] - --libdebugfile FILE Specify python-redfish library log file [default: /var/log/python-redfish/python-redfish.log] + --debugfile FILE Specify the client debugfile [default: $HOME/.redfish/redfish-client.log] + --libdebugfile FILE Specify python-redfish library log file [default: $HOME/.redfish/python-redfish.log] config commands : manage the configuration file. manager commands : manage the manager (Light out management). If diff --git a/redfish/config.py b/redfish/config.py index 9f2b7f1..6fd9b8c 100644 --- a/redfish/config.py +++ b/redfish/config.py @@ -16,7 +16,22 @@ logger = None TORTILLADEBUG = True -REDFISH_LOGFILE = "/var/log/python-redfish/python-redfish.log" +HOME = os.getenv('HOME') +if HOME == '': + print("$HOME environment variable not set, please check your system") + sys.exit(1) + +REDFISH_HOME = HOME + "/.redfish" +if not os.path.exists(REDFISH_HOME): + try: + os.mkdir(REDFISH_HOME) + except IOError: + print('ERROR: can\'t create {}.\n'.format(REDFISH_HOME)) + print(' Try to create directory {}'.format(os.path.dirname(REDFISH_LOGFILE))) + print(' using: mkdir -p {}'.format(os.path.dirname(REDFISH_LOGFILE))) + sys.exit(1) + +REDFISH_LOGFILE = REDFISH_HOME + "/python-redfish.log" CONSOLE_LOGGER_LEVEL = logging.DEBUG FILE_LOGGER_LEVEL = logging.DEBUG @@ -43,14 +58,13 @@ def initialize_logger(REDFISH_LOGFILE, formatter = logging.Formatter( '%(asctime)s :: %(levelname)s :: %(message)s' ) + f = open(os.path.expandvars(REDFISH_LOGFILE), 'w') + f.close() + try: - file_handler = RotatingFileHandler(REDFISH_LOGFILE, 'a', 1000000, 1) + file_handler = RotatingFileHandler(os.path.expandvars(REDFISH_LOGFILE), 'a', 1000000, 1) except IOError: print('ERROR: {} does not exist or is not writeable.\n'.format(REDFISH_LOGFILE)) - print('1- Try to create directory {}'.format(os.path.dirname(REDFISH_LOGFILE))) - print(' using: sudo mkdir -p {}'.format(os.path.dirname(REDFISH_LOGFILE))) - print('2- Try to get the {} ownership'.format(os.path.dirname(REDFISH_LOGFILE))) - print(' using: sudo chown {} {}'.format(getpass.getuser(), os.path.dirname(REDFISH_LOGFILE))) sys.exit(1) # First logger to file From 0ae2d44bbc2a81aab153b8053ef2602c9ded4722 Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Sat, 2 Apr 2016 03:29:15 +0200 Subject: [PATCH 099/224] Fix #40 by using the .redfish dir for inventory change references to .redfish.conf into .redfish.inventory --- examples/simple-proliant.py | 2 +- examples/simple-simulator.py | 2 +- redfish-client/redfish-client | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/simple-proliant.py b/examples/simple-proliant.py index a2f2a54..806b4d9 100644 --- a/examples/simple-proliant.py +++ b/examples/simple-proliant.py @@ -23,7 +23,7 @@ sys.exit(1) try: - with open(HOME + "/.redfish.conf") as json_data: + with open(HOME + "/.redfish/inventory") as json_data: config = json.load(json_data) json_data.close() except IOError as e: diff --git a/examples/simple-simulator.py b/examples/simple-simulator.py index 3e73387..b431d67 100644 --- a/examples/simple-simulator.py +++ b/examples/simple-simulator.py @@ -21,7 +21,7 @@ sys.exit(1) try: - with open(HOME + "/.redfish.conf") as json_data: + with open(HOME + "/.redfish/inventory") as json_data: config = json.load(json_data) json_data.close() except IOError as e: diff --git a/redfish-client/redfish-client b/redfish-client/redfish-client index fffd91e..ac4d327 100755 --- a/redfish-client/redfish-client +++ b/redfish-client/redfish-client @@ -20,7 +20,7 @@ redfish-client :: -h --help Show this screen. --version Show version. -c --config FILE Configuration file - -i --inventory FILE Configuration file [default: $HOME/.redfish.conf] + -i --inventory FILE Configuration file [default: $HOME/.redfish/inventory] --insecure Ignore SSL certificates --debug LEVEL Run in debug mode, LEVEL from 1 to 3 increase verbosity Security warning LEVEL > 1 could reveal password into the logs @@ -61,7 +61,7 @@ class InventoryFile(object): If the file does not exist create an empty one ready to receive data :param inventory_file: File name of the configuration file - default: ~/.redfish.conf + default: ~/.redfish/inventory :type config-file: str :returns: Nothing From 8aa83c50ee3be7d42002e86c8674e0ad832ef09b Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Mon, 4 Apr 2016 21:24:06 +0200 Subject: [PATCH 100/224] Improve #39 - manage variable expanion for logfiles - improve inventory handling - remove now useless checks for HOME --- redfish-client/redfish-client | 13 +------------ redfish/config.py | 15 +++++++++------ 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/redfish-client/redfish-client b/redfish-client/redfish-client index ac4d327..bcc34eb 100755 --- a/redfish-client/redfish-client +++ b/redfish-client/redfish-client @@ -337,16 +337,6 @@ if __name__ == '__main__': logger.info("Arguments parsed") logger.debug(arguments) - # Get $HOME environment variables. - HOME = os.getenv('HOME') - - if(not HOME): - print('ERROR: $HOME environment variable not set,' + - 'please check your system') - logger.error('$HOME environment variable not set') - sys.exit(1) - logger.debug("Home directory : %s" % HOME) - # Load config config = configparser.ConfigParser(allow_no_value=True) logger.debug("Read configuration file") @@ -365,8 +355,7 @@ if __name__ == '__main__': logger.error('Configuration file not found at %s.' % configfile) sys.exit(1) - arguments['--inventory'] = arguments['--inventory'].replace('~', HOME) - arguments['--inventory'] = arguments['--inventory'].replace('$HOME', HOME) + arguments['--inventory'] = os.path.expandvars(arguments['--inventory']) inventory = InventoryFile(arguments['--inventory']) # Initialize Template system (jinja2) diff --git a/redfish/config.py b/redfish/config.py index 6fd9b8c..33391e4 100644 --- a/redfish/config.py +++ b/redfish/config.py @@ -5,23 +5,26 @@ from __future__ import division from __future__ import absolute_import from future import standard_library -standard_library.install_aliases() import logging import sys import os import getpass from logging.handlers import RotatingFileHandler +standard_library.install_aliases() # Global variable definition logger = None TORTILLADEBUG = True HOME = os.getenv('HOME') -if HOME == '': +if HOME is None: print("$HOME environment variable not set, please check your system") sys.exit(1) +if HOME == '': + print("$HOME environment is set, but empty, please check your system") + sys.exit(1) -REDFISH_HOME = HOME + "/.redfish" +REDFISH_HOME = os.path.join(HOME, ".redfish") if not os.path.exists(REDFISH_HOME): try: os.mkdir(REDFISH_HOME) @@ -31,7 +34,7 @@ print(' using: mkdir -p {}'.format(os.path.dirname(REDFISH_LOGFILE))) sys.exit(1) -REDFISH_LOGFILE = REDFISH_HOME + "/python-redfish.log" +REDFISH_LOGFILE = os.path.join(REDFISH_HOME, "python-redfish.log") CONSOLE_LOGGER_LEVEL = logging.DEBUG FILE_LOGGER_LEVEL = logging.DEBUG @@ -58,13 +61,13 @@ def initialize_logger(REDFISH_LOGFILE, formatter = logging.Formatter( '%(asctime)s :: %(levelname)s :: %(message)s' ) - f = open(os.path.expandvars(REDFISH_LOGFILE), 'w') - f.close() try: file_handler = RotatingFileHandler(os.path.expandvars(REDFISH_LOGFILE), 'a', 1000000, 1) except IOError: print('ERROR: {} does not exist or is not writeable.\n'.format(REDFISH_LOGFILE)) + print(' Try to create directory {}'.format(os.path.dirname(REDFISH_LOGFILE))) + print(' using: mkdir -p {}'.format(os.path.dirname(REDFISH_LOGFILE))) sys.exit(1) # First logger to file From 3b1847163cce573c1891bd4fd02befbfffb03107 Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Mon, 4 Apr 2016 22:00:41 +0200 Subject: [PATCH 101/224] DMTF mockup now runs in a 15.10 Ubuntu ctn --- dmtf/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dmtf/Dockerfile b/dmtf/Dockerfile index b8164f8..f44de54 100644 --- a/dmtf/Dockerfile +++ b/dmtf/Dockerfile @@ -1,6 +1,6 @@ # Invoke with docker run -p 8000:80 # Then use by browsing http://localhost:8000 -FROM ubuntu:15.04 +FROM ubuntu:15.10 MAINTAINER bruno.cornec@hpe.com ENV DEBIAN_FRONTEND noninterative # Install deps for Redfish mockup From 846952810a74500de6d5765325cb09b1989747d0 Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Mon, 4 Apr 2016 22:09:40 +0200 Subject: [PATCH 102/224] Remove remaining openstack refs not used --- .coveragerc | 7 ------- .gitreview | 4 ---- openstack-common.conf | 6 ------ tox.ini | 2 +- 4 files changed, 1 insertion(+), 18 deletions(-) delete mode 100644 .coveragerc delete mode 100644 .gitreview delete mode 100644 openstack-common.conf diff --git a/.coveragerc b/.coveragerc deleted file mode 100644 index 26af733..0000000 --- a/.coveragerc +++ /dev/null @@ -1,7 +0,0 @@ -[run] -branch = True -source = redfish -omit = redfish/tests/*,redfish/openstack/* - -[report] -ignore-errors = True diff --git a/.gitreview b/.gitreview deleted file mode 100644 index 57dbaaa..0000000 --- a/.gitreview +++ /dev/null @@ -1,4 +0,0 @@ -[gerrit] -host=review.openstack.org -port=29418 -project=stackforge/python-redfish.git diff --git a/openstack-common.conf b/openstack-common.conf deleted file mode 100644 index ca18656..0000000 --- a/openstack-common.conf +++ /dev/null @@ -1,6 +0,0 @@ -[DEFAULT] - -# The list of modules to copy from oslo-incubator.git - -# The base module to hold the copy of openstack.common -base=redfish diff --git a/tox.ini b/tox.ini index bb9524b..b804ac9 100644 --- a/tox.ini +++ b/tox.ini @@ -35,4 +35,4 @@ commands = oslo_debug_helper {posargs} show-source = True ignore = E123,E125 builtins = _ -exclude = .venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build +exclude = .venv,.git,.tox,dist,doc,*lib/python*,*egg,build From 844b2e898b06790789d8920574d4916ce3f489a0 Mon Sep 17 00:00:00 2001 From: Uggla Date: Mon, 4 Apr 2016 22:30:46 +0200 Subject: [PATCH 103/224] Fix #16, use standard redfish headers - Manager header into ConnectionParameters class. - Fix all header requests into main. - Fix all header requests into types.py. - PEP8 fixes. --- redfish/main.py | 62 ++++++++++++++++++++++++++++++------------------ redfish/types.py | 62 ++++++++++++++++++++++++++---------------------- 2 files changed, 72 insertions(+), 52 deletions(-) diff --git a/redfish/main.py b/redfish/main.py index 9b69d1b..094d10a 100644 --- a/redfish/main.py +++ b/redfish/main.py @@ -124,10 +124,9 @@ standard_library.install_aliases() from builtins import object - - import json -from urllib.parse import urlparse, urljoin +import socket +from urllib.parse import urlparse, urljoin, urlunparse import requests from . import config from . import types @@ -207,13 +206,13 @@ def __init__(self, "this is insecure and can allow" + " a man in the middle attack") + # Show redfish standard headers + config.logger.debug(self.connection_parameters.headers) + config.logger.debug("Root url : %s", self.connection_parameters.rooturl) self.Root = types.Root(self.connection_parameters.rooturl, self.connection_parameters) - #self.api_url = tortilla.wrap(self.connection_parameters.rooturl, - # debug=TORTILLADEBUG) - #self.root = self.api_url.get(verify=self.connection_parameters.verify_cert) config.logger.info("API Version : %s", self.get_api_version()) mapping.redfish_version = self.get_api_version() @@ -292,9 +291,10 @@ def login(self): url = urljoin(url, "Sessions") # Craft request body and header - requestBody = {"UserName": self.connection_parameters.user_name , "Password": self.connection_parameters.password} + requestBody = {"UserName": self.connection_parameters.user_name, + "Password": self.connection_parameters.password} config.logger.debug(requestBody) - header = {'Content-type': 'application/json'} + headers = self.connection_parameters.headers # ======================================================================= # Tortilla seems not able to provide the header of a post request answer. # However this is required by redfish standard to get X-Auth-Token. @@ -305,24 +305,28 @@ def login(self): # sessions = sessionsUrl.post(verify=self.verify_cert, data=requestBody) auth = requests.post(url, data=json.dumps(requestBody), - headers=header, - verify=self.connection_parameters.verify_cert - ) + headers=headers, + verify=self.connection_parameters.verify_cert) # ======================================================================= # TODO : Manage exception with a class. # ======================================================================= if auth.status_code != 201: try: - answer=auth.json() - except ValueError as e: + answer = auth.json() + except ValueError: answer = "" - raise exception.AuthenticationFailureException("Login request return an invalid status code ", code=auth.status_code, queryAnswer=answer) + raise exception.AuthenticationFailureException( + "Login request return an invalid status code ", + code=auth.status_code, queryAnswer=answer) - self.connection_parameters.auth_token = auth.headers.get("x-auth-token") + self.connection_parameters.auth_token = auth.headers.get( + "x-auth-token") self.connection_parameters.user_uri = auth.headers.get("location") - config.logger.debug("x-auth-token : %s", self.connection_parameters.auth_token) - config.logger.debug("user session : %s", self.connection_parameters.user_uri) + config.logger.debug("x-auth-token : %s", + self.connection_parameters.auth_token) + config.logger.debug("user session : %s", + self.connection_parameters.user_uri) return True def logout(self): @@ -330,13 +334,11 @@ def logout(self): url = self.connection_parameters.user_uri # Craft request header - header = {"Content-type": "application/json", - "x-auth-token": self.connection_parameters.auth_token - } + headers = self.connection_parameters.headers - logout = requests.delete(url, headers=header, - verify=self.connection_parameters.verify_cert - ) + logout = requests.delete(url, + headers=headers, + verify=self.connection_parameters.verify_cert) if logout.status_code == 200: config.logger.info("Logout successful") @@ -406,3 +408,17 @@ def user_uri(self): @user_uri.setter def user_uri(self, user_uri): self.__user_uri = user_uri + + @property + def headers(self): + # Host header is set by request or tortilla + url = urlparse(self.__rooturl) + origin = urlunparse((url.scheme, url.netloc, '', '', '', '')) + headers = {'OData-Version': '4.0', + 'Content-type': 'application/json', + 'Accept': 'application/json', + 'Origin': origin, + 'User-Agent': 'python-redfish'} + if self.auth_token: + headers.update({'x-auth-token': self.auth_token}) + return headers diff --git a/redfish/types.py b/redfish/types.py index 478ab53..28372aa 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -4,7 +4,6 @@ from __future__ import division from __future__ import absolute_import from future import standard_library -standard_library.install_aliases() from builtins import object import pprint @@ -17,6 +16,7 @@ from . import config from . import mapping from . import exception +standard_library.install_aliases() # Global variable @@ -30,15 +30,12 @@ def __init__(self, url, connection_parameters): self.url = url self.api_url = tortilla.wrap(url, debug=config.TORTILLADEBUG) + config.logger.debug(connection_parameters.headers) + try: - if connection_parameters.auth_token is None: - self.data = self.api_url.get( - verify=connection_parameters.verify_cert) - else: - self.data = self.api_url.get( - verify=connection_parameters.verify_cert, - headers={ - 'x-auth-token': connection_parameters.auth_token}) + self.data = self.api_url.get( + verify=connection_parameters.verify_cert, + headers=connection_parameters.headers) except (requests.ConnectionError, ssl.SSLError) as e: # Log and transmit the exception. config.logger.info('Raise a RedfishException to upper level') @@ -119,7 +116,7 @@ def set_parameter(self, parameter_name, value): config.logger.debug(self.api_url) response = self.api_url.patch( verify=self.connection_parameters.verify_cert, - headers={'x-auth-token': self.connection_parameters.auth_token}, + headers=self.connection_parameters.headers, data=action) return response @@ -317,8 +314,7 @@ def reset(self): response = requests.post( reset_url, verify=self.connection_parameters.verify_cert, - headers={'x-auth-token': self.connection_parameters.auth_token, - 'Content-type': 'application/json'}) + headers=self.connection_parameters.headers) # TODO : treat response. return response @@ -357,13 +353,13 @@ def reset_system(self): action['Action'] = 'Reset' action['ResetType'] = 'ForceRestart' - #Debug the url and perform the POST action - #print self.api_url - response = self.api_url.post(verify=self.connection_parameters.verify_cert, - headers={'x-auth-token': self.connection_parameters.auth_token}, - data=action - ) - #TODO : treat response. + # Debug the url and perform the POST action + # print self.api_url + response = self.api_url.post( + verify=self.connection_parameters.verify_cert, + headers=self.connection_parameters.headers, + data=action) + # TODO : treat response. return response def get_bios_version(self): @@ -377,7 +373,8 @@ def get_bios_version(self): return self.data.Bios.Current.VersionString except: # Returned by mockup. - # Hopefully this kind of discrepencies will be fixed with Redfish 1.0 (August) + # Hopefully this kind of discrepencies will be fixed with + # Redfish 1.0 (August) return self.data.BiosVersion def get_serial_number(self): @@ -391,7 +388,8 @@ def get_serial_number(self): return self.data.SerialNumber except: # Returned by mockup. - # Hopefully this kind of discrepencies will be fixed with Redfish 1.0 (August) + # Hopefully this kind of discrepencies will be fixed with + # Redfish 1.0 (August) return '' def get_power(self): @@ -413,11 +411,12 @@ def set_parameter_json(self, value): ''' # perform the POST action - #print self.api_url.url() - response = requests.patch(self.api_url.url(), - verify=self.connection_parameters.verify_cert, - headers={'x-auth-token': self.connection_parameters.auth_token, 'Content-type': 'application/json'}, - data=value) + # print self.api_url.url() + response = requests.patch( + self.api_url.url(), + verify=self.connection_parameters.verify_cert, + headers=self.connection_parameters.headers, + data=value) return response.reason def set_boot_source_override(self, target, enabled): @@ -441,7 +440,9 @@ def set_boot_source_override(self, target, enabled): "Continuous" :returns: string -- http response of PATCH request ''' - return self.set_parameter_json('{"Boot": {"BootSourceOverrideTarget": "'+target+'"},{"BootSourceOverrideEnabled" : "'+enabled+'"}}') + return self.set_parameter_json( + '{"Boot": {"BootSourceOverrideTarget": "' + + target + '"},{"BootSourceOverrideEnabled" : "' + enabled + '"}}') class SystemsCollection(BaseCollection): @@ -477,8 +478,11 @@ def __init__(self, url, connection_parameters): self.ethernet_interfaces_dict = {} - # Url returned by the mock up is wrong /redfish/v1/Managers/EthernetInterfaces/1 returns a 404. --> this is not true anymore (2016/01/03) - # The correct one should be /redfish/v1/Managers/1/EthernetInterfaces/1 --> correct by mockup return invalid content (not json) + # Url returned by the mock up is wrong + # /redfish/v1/Managers/EthernetInterfaces/1 returns a 404. + # --> this is not true anymore (2016/01/03) + # The correct one should be /redfish/v1/Managers/1/EthernetInterfaces/1 + # --> correct by mockup return invalid content (not json) # Check more than 1 hour for this bug.... grrr.... for link in self.links: index = re.search(r'EthernetInterfaces/(\w+)', link) From d160d93130cc4ba4a3f77760d86193c6464c0354 Mon Sep 17 00:00:00 2001 From: Uggla Date: Sun, 3 Apr 2016 18:03:41 +0200 Subject: [PATCH 104/224] Fix #49, tox can be used by user - Allow user to use tox - Docker is required ! --- .coveragerc | 8 ++++++++ test-requirements.txt | 1 + tox.ini | 16 +++++----------- 3 files changed, 14 insertions(+), 11 deletions(-) create mode 100644 .coveragerc diff --git a/.coveragerc b/.coveragerc new file mode 100644 index 0000000..d4ee344 --- /dev/null +++ b/.coveragerc @@ -0,0 +1,8 @@ +[run] +branch = True +source = redfish + redfish-client +omit = redfish/tests/*,redfish-client/tests/* + +[report] +#ignore-errors = True diff --git a/test-requirements.txt b/test-requirements.txt index 2dd9159..ba8c272 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -7,3 +7,4 @@ coverage>=3.6 mock>=1.0.1 docker-py>=1.1.0 path.py>=5.2 +testrepository>=0.0.20 diff --git a/tox.ini b/tox.ini index b804ac9..c7cabd6 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ [tox] minversion = 1.6 -envlist = py33,py34,py26,py27,pypy,pep8 +envlist = py34,py27,docs skipsdist = True [testenv] @@ -12,26 +12,20 @@ setenv = VIRTUAL_ENV={envdir} deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt commands = - bash -c "TESTS_DIR=./redfish/tests python setup.py testr --slowest --testr-args='{posargs}'" + py.test redfish-client +# bash -c "TESTS_DIR=./redfish/tests python setup.py testr --slowest --testr-args='{posargs}'" [testenv:pep8] commands = flake8 -[testenv:venv] -commands = {posargs} - -[testenv:cover] -commands = python setup.py testr --coverage --testr-args='{posargs}' +#[testenv:cover] +#commands = python setup.py testr --coverage --testr-args='{posargs}' [testenv:docs] commands = python setup.py build_sphinx -[testenv:debug] -commands = oslo_debug_helper {posargs} - [flake8] # E123, E125 skipped as they are invalid PEP-8. - show-source = True ignore = E123,E125 builtins = _ From 971ba98172682052b512aaa79d8b60d685d31944 Mon Sep 17 00:00:00 2001 From: Uggla Date: Mon, 4 Apr 2016 17:07:46 +0200 Subject: [PATCH 105/224] Add Dockerfile for centos --- redfish-client/tests/Dockerfile.centos | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 redfish-client/tests/Dockerfile.centos diff --git a/redfish-client/tests/Dockerfile.centos b/redfish-client/tests/Dockerfile.centos new file mode 100644 index 0000000..1814310 --- /dev/null +++ b/redfish-client/tests/Dockerfile.centos @@ -0,0 +1,12 @@ +FROM centos:7 +RUN yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm && \ +yum install -y python-pip +COPY python-redfish.src.tar.gz /python-redfish.src.tar.gz +RUN mkdir /var/log/python-redfish +RUN tar xvvf python-redfish.src.tar.gz +RUN pip install --upgrade pip +RUN pip install --upgrade setuptools +RUN cd python-redfish* && \ +pip install -r requirements.txt && \ +python setup.py install +CMD ["/bin/bash"] From 484cf8dddd9c9375e95fb88ce914058b916c4630 Mon Sep 17 00:00:00 2001 From: Uggla Date: Mon, 4 Apr 2016 18:08:35 +0200 Subject: [PATCH 106/224] Add tests on centos --- redfish-client/tests/test_client.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/redfish-client/tests/test_client.py b/redfish-client/tests/test_client.py index d3da332..156cebb 100644 --- a/redfish-client/tests/test_client.py +++ b/redfish-client/tests/test_client.py @@ -1,17 +1,18 @@ +# coding=utf-8 + from __future__ import unicode_literals from __future__ import print_function from __future__ import division from __future__ import absolute_import from future import standard_library -standard_library.install_aliases() from builtins import object -# coding=utf-8 import os import stat import subprocess import re from docker import Client from path import Path +standard_library.install_aliases() class DockerTest(object): @@ -68,6 +69,7 @@ def test_dockerbuild(): # Warning : Image tag is derived from file name, do not use uppercase !!! dockerfiles = ('redfish-client/tests/Dockerfile.ubuntu', 'redfish-client/tests/Dockerfile.debian', + 'redfish-client/tests/Dockerfile.centos', 'redfish-client/tests/Dockerfile.fedora', 'redfish-client/tests/Dockerfile.fedorap3', 'redfish-client/tests/Dockerfile.fedorapip') @@ -80,7 +82,7 @@ def test_dockerbuild(): def test_install(): docker = DockerTest() - images = ('rfubuntu', 'rfdebian', + images = ('rfubuntu', 'rfdebian', 'rfcentos', 'rffedora', 'rffedorap3', 'rffedorapip') for img in images: print('Testing : {}'.format(img)) @@ -91,7 +93,7 @@ def test_install(): def test_versionformat(): docker = DockerTest() - images = ('rfubuntu', 'rfdebian', + images = ('rfubuntu', 'rfdebian', 'rfcentos', 'rffedora', 'rffedorap3', 'rffedorapip') for img in images: print('Testing : {}'.format(img)) From 0480f72fdad8f75ff845beb4678b878817c44ed3 Mon Sep 17 00:00:00 2001 From: Uggla Date: Tue, 5 Apr 2016 19:20:11 +0200 Subject: [PATCH 107/224] Fix for Moonshot platform - Fix to not crash although Moonshot Redfish is 0.95 even with firmware 1.41 --- redfish/types.py | 1 + 1 file changed, 1 insertion(+) diff --git a/redfish/types.py b/redfish/types.py index 478ab53..db73eb2 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -66,6 +66,7 @@ def get_link_url(self, link_type): links = getattr(self.data, mapping.redfish_mapper.map_links()) if link_type in links: return urljoin(self.url, links[link_type][mapping.redfish_mapper.map_links_ref()]) + raise AttributeError else: links = getattr(self.data, link_type) link = getattr(links, mapping.redfish_mapper.map_links_ref()) From 4970bde8ac6d64da8efb04cda2837263369e1ac3 Mon Sep 17 00:00:00 2001 From: Uggla Date: Tue, 5 Apr 2016 19:42:41 +0200 Subject: [PATCH 108/224] Update testing doc with tox --- doc/source/testing.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/source/testing.rst b/doc/source/testing.rst index dd0d90c..947b1b6 100644 --- a/doc/source/testing.rst +++ b/doc/source/testing.rst @@ -25,5 +25,9 @@ refish-client tests #. Run the test:: + tox + + or:: + py.test redfish-client From b9771c00a57a9c49cddf772a65e393d08314326a Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Tue, 5 Apr 2016 04:13:00 +0200 Subject: [PATCH 109/224] Fix #43 by providing python3 pkgs - Adds python3 package build in .spec - Adds a doc package to host html and pdf - Keeps man pages common --- install.sh | 42 ++++++----- pbconf/pbfilter/rpm.pbf | 7 +- pbconf/python-redfish/rpm/python-redfish.spec | 69 ++++++++++++++++--- 3 files changed, 90 insertions(+), 28 deletions(-) diff --git a/install.sh b/install.sh index 82770e1..b0a8ef8 100755 --- a/install.sh +++ b/install.sh @@ -1,29 +1,37 @@ #!/bin/bash -# Syntax: install.sh +# Syntax: install.sh set -x -export rootdir=$1 -export sitelib=$2 -export prefix=$3 -#export varlog=$4 +export python=$1 +export rootdir=$2 +export sitelib=$3 +export prefix=$4 +export pkg=$5 -python setup.py install --skip-build --root=$rootdir --prefix=$prefix -rm -rf $rootdir/$sitelib/redfish/old +# Documentation installation only +if [ $python = "doc" ]; then + install -d 755 $rootdir/$prefix/share/doc/$5/html/_static + install -m 644 doc/build/singlehtml/*.html $rootdir/$prefix/share/doc/$5/html + install -m 644 doc/build/singlehtml/_static/* $rootdir/$prefix/share/doc/$5/html/_static + install -m 644 doc/build/latex/*.pdf $rootdir/$prefix/share/doc/$5/ + exit 0 +fi -# Documentation installation -for i in 1; do - mkdir -p $rootdir/$prefix/share/man/man$i - install -m 644 doc/build/man/*.$i $rootdir/$prefix/share/man/man$i -done +pyver=`$python --version 2>&1 | perl -p -e 's|.* ([2-3])\..*|$1|'` +$python setup.py install --skip-build --root=$rootdir --prefix=$prefix -install -d 755 $rootdir/$prefix/share/doc/PBPKG/html/_static -install -m 644 doc/build/singlehtml/*.html $rootdir/$prefix/share/doc/PBPKG/html -install -m 644 doc/build/singlehtml/_static/* $rootdir/$prefix/share/doc/PBPKG/html/_static +rm -rf $rootdir/$sitelib/redfish/old # Hardcoded for now to solve the delivery of the conf file still not correct with setup.py mkdir -p $rootdir/etc mv $rootdir/$prefix/etc/redfish-client.conf $rootdir/etc/redfish-client.conf -# Log files management -#mkdir -p $rootdir/$varlog/PBPKG +# Man pages installation +for i in 1; do + mkdir -p $rootdir/$prefix/share/man/man$i + for e in `ls doc/build/man/*.$i`; do + ne=`echo $e | perl -p -e 's|.*/([^/]*)\.'$i'|$1-py'$pyver.$i'|'` + install -m 644 $e $rootdir/$prefix/share/man/man$i/$ne + done +done diff --git a/pbconf/pbfilter/rpm.pbf b/pbconf/pbfilter/rpm.pbf index a7611d1..8f23a90 100644 --- a/pbconf/pbfilter/rpm.pbf +++ b/pbconf/pbfilter/rpm.pbf @@ -14,8 +14,11 @@ filter PBLIC = ASL 2.0 #filter PBDEP = # PBBDEP is replaced by the list of build dependencies -filter PBBDEP = python-devel,python-setuptools,python-pbr >= 0.8,python-sphinx >= 1.2.3,python-future >= 0.15.2 -filter PBDEP = python-docopt >= 0.6.2,python-tortilla >= 0.4.1,python-jinja2 >= 2.7.3,python-pbr >= 0.8,python-simplejson >= 3.8.1,python-requests >= 2.9.1 +filter PBPYTHON2BDEP = python-devel,python-setuptools,python-pbr >= 0.8,python-sphinx >= 1.2.3,python-future >= 0.15.2 +filter PBPYTHON2DEP = python-docopt >= 0.6.2,python-tortilla >= 0.4.1,python-jinja2 >= 2.7.3,python-pbr >= 0.8,python-simplejson >= 3.8.1,python-requests >= 2.9.1,python-configparser >= 3.3.0 +filter PBPYTHON3BDEP = python3-devel,python3-setuptools,python3-pbr >= 0.8,python3-sphinx >= 1.2.3,python-future >= 0.15.2 +filter PBPYTHON3DEP = python3-docopt >= 0.6.2,python3-tortilla >= 0.4.1,python3-jinja2 >= 2.7.3,python3-pbr >= 0.8,python3-simplejson >= 3.8.1,python3-requests >= 2.9.1 +filter PBPYTHON3PKG = python3-redfish # PBSUF is replaced by the package suffix ($pb->{'suf'} in code) filter PBSUF = $pb->{'suf'} diff --git a/pbconf/python-redfish/rpm/python-redfish.spec b/pbconf/python-redfish/rpm/python-redfish.spec index 63aa93a..8c9d963 100644 --- a/pbconf/python-redfish/rpm/python-redfish.spec +++ b/pbconf/python-redfish/rpm/python-redfish.spec @@ -11,21 +11,47 @@ License: PBLIC Group: PBGRP Url: PBURL Source: PBREPO/PBSRC -Requires: PBDEP +Requires: PBPYTHON2DEP BuildArch: noarch -BuildRequires: PBBDEP +BuildRequires: PBPYTHON2BDEP %description PBDESC +Python2 version. + +%package -n PBPYTHON3PKG +Summary: %{summary} / Python 3 library +BuildRequires: PBPYTHON3BDEP +Requires: PBPYTHON3DEP + +%package -n PBREALPKG-doc +Summary: %{summary} / Documentation +BuildRequires: PBPYTHON3BDEP +Requires: PBPYTHON3DEP + +%description -n PBPYTHON3PKG +PBDESC +Python3 version. + +%description -n PBREALPKG-doc +PBDESC +Documentation %prep %setup -q - -%build # Fix for now as long as setuptools isn't more recent in distributions PBPYTHON3FILTER -%{__python} setup.py build +cp -a . %{py3dir} + +%build +pushd %{py3dir} +%{__python3} setup.py build +# Build minimal documentation +cd doc +make man +popd +%{__python} setup.py build # Build minimal documentation cd doc make man @@ -33,11 +59,21 @@ make singlehtml make latexpdf %install -./install.sh %{buildroot} %{python_sitelib} %{_prefix} #%{_logdir} +./install.sh %{__python} %{buildroot} %{python_sitelib} %{_prefix} PBPKG + +./install.sh doc %{buildroot} %{python_sitelib} %{_prefix} PBPKG + +for i in `ls %{buildroot}/%{_mandir}/man1/*-py2.1*`; do + j=`echo $i | perl -p -e 's|-py2||'` + cp -a $i $j +done + +pushd %{py3dir} +./install.sh %{__python3} %{buildroot} %{python3_sitelib} %{_prefix} PBPYTHON3PKG +popd %files %doc README.rst examples/[a-z]*.py LICENSE -%doc doc/build/latex/*.pdf %{_bindir}/redfish-client %dir %{_datadir}/redfish-client %{_datadir}/redfish-client/templates/* @@ -46,9 +82,24 @@ make latexpdf %{python_sitelib}/redfish/*.py* %{python_sitelib}/redfish/tests/*.py* %{python_sitelib}/python_redfish* -%{_mandir}/man1/* +# Needs improvement to host all .1 man pages but not the py3 ones +%{_mandir}/man1/PBREALPKG.1* +%{_mandir}/man1/*-py2.1* + +%files -n PBPYTHON3PKG +%doc README.rst examples/[a-z]*.py LICENSE +%dir %{python3_sitelib}/redfish +%{python3_sitelib}/redfish/*.py* +%{python3_sitelib}/redfish/__pycache__/*.py* +%{python3_sitelib}/redfish/tests/*.py* +%{python3_sitelib}/redfish/tests/__pycache__/*.py* +%{python3_sitelib}/python_redfish* +%{_mandir}/man1/*-py3.1* + +%files -n PBREALPKG-doc %{_docdir}/PBREALPKG/html/_static/* %{_docdir}/PBREALPKG/html/index.html -#%{_logdir}/PBREALPKG +%{_docdir}/PBREALPKG/*.pdf + %changelog PBLOG From e9985e6de127badc82131b801778c34ce7881c9c Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Wed, 6 Apr 2016 01:49:42 +0200 Subject: [PATCH 110/224] python3-future was missing --- pbconf/pbfilter/rpm.pbf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pbconf/pbfilter/rpm.pbf b/pbconf/pbfilter/rpm.pbf index 8f23a90..78d8c9d 100644 --- a/pbconf/pbfilter/rpm.pbf +++ b/pbconf/pbfilter/rpm.pbf @@ -16,7 +16,7 @@ filter PBLIC = ASL 2.0 # PBBDEP is replaced by the list of build dependencies filter PBPYTHON2BDEP = python-devel,python-setuptools,python-pbr >= 0.8,python-sphinx >= 1.2.3,python-future >= 0.15.2 filter PBPYTHON2DEP = python-docopt >= 0.6.2,python-tortilla >= 0.4.1,python-jinja2 >= 2.7.3,python-pbr >= 0.8,python-simplejson >= 3.8.1,python-requests >= 2.9.1,python-configparser >= 3.3.0 -filter PBPYTHON3BDEP = python3-devel,python3-setuptools,python3-pbr >= 0.8,python3-sphinx >= 1.2.3,python-future >= 0.15.2 +filter PBPYTHON3BDEP = python3-devel,python3-setuptools,python3-pbr >= 0.8,python3-sphinx >= 1.2.3,python3-future >= 0.15.2 filter PBPYTHON3DEP = python3-docopt >= 0.6.2,python3-tortilla >= 0.4.1,python3-jinja2 >= 2.7.3,python3-pbr >= 0.8,python3-simplejson >= 3.8.1,python3-requests >= 2.9.1 filter PBPYTHON3PKG = python3-redfish From 34056eb00af667e6a66f69ff9a66946be8072906 Mon Sep 17 00:00:00 2001 From: Uggla Date: Wed, 17 Feb 2016 19:08:30 +0100 Subject: [PATCH 111/224] Factorise redfish connection for client --- redfish-client/redfish-client | 66 +++++++++++++++++++---------------- 1 file changed, 35 insertions(+), 31 deletions(-) diff --git a/redfish-client/redfish-client b/redfish-client/redfish-client index bcc34eb..74f73b0 100755 --- a/redfish-client/redfish-client +++ b/redfish-client/redfish-client @@ -87,7 +87,7 @@ class InventoryFile(object): def manager_incorect(self, exception): ''' Log and exit if manager name is incorect''' - logger.error('Incorect manager name : %s' % exception.args) + logger.error('Incorrect manager name : %s' % exception.args) sys.exit(1) def check_manager(self, manager_name): @@ -220,6 +220,27 @@ class RedfishClientException(Exception): if __name__ == '__main__': '''Main application redfish-client''' # Functions + def get_redfish_data(connection_parameters, check_SSL): + if not connection_parameters['login']: + simulator = True + enforceSSL = False + else: + simulator = False + enforceSSL = True + try: + redfish_data = redfish.connect(connection_parameters['url'], + connection_parameters['login'], + connection_parameters['password'], + verify_cert=check_SSL, + simulator=simulator, + enforceSSL=enforceSSL) + return(redfish_data) + except redfish.exception.RedfishException as e: + logger.error(str(e.message)) + sys.stderr.write(str(e.message)) + sys.stderr.write(str(e.advices)) + sys.exit(1) + def show_manager(all=False): '''Display manager info @@ -240,32 +261,7 @@ if __name__ == '__main__': print('\tLogin : {}'.format(info['login'])) print('\tPassword : {}'.format(info['password'])) - def get_manager_info(manager_name, check_SSL): - connection_parameters = inventory.get_manager_info(manager_name) - if not connection_parameters['login']: - simulator = True - enforceSSL = False - else: - simulator = False - enforceSSL = True - try: - print('Gathering data from manager, please wait...\n') - # TODO : Add a rotating star showing program is running ? - # Could be a nice exercice for learning python. :) - logger.info('Gathering data from manager') - remote_mgmt = redfish.connect(connection_parameters['url'], - connection_parameters['login'], - connection_parameters['password'], - verify_cert=check_SSL, - simulator=simulator, - enforceSSL=enforceSSL - ) - except redfish.exception.RedfishException as e: - logger.error(str(e.message)) - sys.stderr.write(str(e.message)) - sys.stderr.write(str(e.advices)) - sys.exit(1) - + def display_manager_info(redfish_data): # Display manager information using jinja2 template try: template = jinja2_env.get_template("manager_info.template") @@ -276,7 +272,7 @@ if __name__ == '__main__': % (e.message, jinja2_env.loader.searchpath[0])) sys.exit(1) - print(template.render(r=remote_mgmt)) + print(template.render(r=redfish_data)) ################################################################# # Main program @@ -406,7 +402,7 @@ if __name__ == '__main__': arguments['']) logger.debug(inventory.data) inventory.save() - if arguments['manager'] is True: + elif arguments['manager'] is True: logger.debug("Manager commands") if arguments['getinfo'] is True: logger.debug('getinfo command') @@ -417,10 +413,18 @@ if __name__ == '__main__': manager_name = arguments[''] # Check if the default section is available in our conf file inventory.check_manager(manager_name) + connection_parameters = inventory.get_manager_info(manager_name) + + print('Gathering data from manager, please wait...\n') + # TODO : Add a rotating star showing program is running ? + # Could be a nice exercice for learning python. :) + logger.info('Gathering data from manager') + if arguments['--insecure'] is True: - get_manager_info(manager_name, False) + redfish_data = get_redfish_data(connection_parameters, False) else: - get_manager_info(manager_name, True) + redfish_data = get_redfish_data(connection_parameters, True) + display_manager_info(redfish_data) logger.info("Client session terminated") sys.exit(0) From 333a6b297ede0448f711473d71879d528a155769 Mon Sep 17 00:00:00 2001 From: Uggla Date: Wed, 17 Feb 2016 19:57:24 +0100 Subject: [PATCH 112/224] Prepare to introduce system and chassis getinfo --- redfish-client/redfish-client | 60 +++++++++++++++++++++-------------- 1 file changed, 36 insertions(+), 24 deletions(-) diff --git a/redfish-client/redfish-client b/redfish-client/redfish-client index 74f73b0..d42f2a2 100755 --- a/redfish-client/redfish-client +++ b/redfish-client/redfish-client @@ -12,6 +12,7 @@ redfish-client :: redfish-client [options] config show redfish-client [options] config showall redfish-client [options] manager getinfo [] + redfish-client [options] system getinfo [] redfish-client (-h | --help) redfish-client --version @@ -263,8 +264,15 @@ if __name__ == '__main__': def display_manager_info(redfish_data): # Display manager information using jinja2 template + render_template("manager_info.template") + + def display_system_info(redfish_data): + # Display system information using jinja2 template + render_template("system_info.template") + + def render_template(template): try: - template = jinja2_env.get_template("manager_info.template") + template = jinja2_env.get_template(template) except jinja2.exceptions.TemplateNotFound as e: print('Template "{}" not found in {}.' .format(e.message, jinja2_env.loader.searchpath[0])) @@ -402,29 +410,33 @@ if __name__ == '__main__': arguments['']) logger.debug(inventory.data) inventory.save() - elif arguments['manager'] is True: - logger.debug("Manager commands") - if arguments['getinfo'] is True: - logger.debug('getinfo command') - # If manager is not defined set it to 'default' - if not arguments['']: - manager_name = 'default' - else: - manager_name = arguments[''] - # Check if the default section is available in our conf file - inventory.check_manager(manager_name) - connection_parameters = inventory.get_manager_info(manager_name) - - print('Gathering data from manager, please wait...\n') - # TODO : Add a rotating star showing program is running ? - # Could be a nice exercice for learning python. :) - logger.info('Gathering data from manager') - - if arguments['--insecure'] is True: - redfish_data = get_redfish_data(connection_parameters, False) - else: - redfish_data = get_redfish_data(connection_parameters, True) + elif arguments['getinfo'] is True: + logger.debug('getinfo command') + # If manager is not defined set it to 'default' + if not arguments['']: + manager_name = 'default' + else: + manager_name = arguments[''] + # Check if the default section is available in our conf file + inventory.check_manager(manager_name) + connection_parameters = inventory.get_manager_info(manager_name) + + print('Gathering data from manager, please wait...\n') + # TODO : Add a rotating star showing program is running ? + # Could be a nice exercice for learning python. :) + logger.info('Gathering data from manager') + + if arguments['--insecure'] is True: + redfish_data = get_redfish_data(connection_parameters, False) + else: + redfish_data = get_redfish_data(connection_parameters, True) + if arguments['manager'] is True: + logger.debug("Manager commands") display_manager_info(redfish_data) - + elif arguments['system'] is True: + logger.debug("system commands") + display_system_info(redfish_data) + elif arguments['chassis'] is True: + pass logger.info("Client session terminated") sys.exit(0) From ebf968b4a4e06b0cdfc8899808ca4166eb6efa24 Mon Sep 17 00:00:00 2001 From: Uggla Date: Fri, 19 Feb 2016 18:24:03 +0100 Subject: [PATCH 113/224] Add system template --- redfish-client/templates/system_info.template | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 redfish-client/templates/system_info.template diff --git a/redfish-client/templates/system_info.template b/redfish-client/templates/system_info.template new file mode 100644 index 0000000..f80a8e8 --- /dev/null +++ b/redfish-client/templates/system_info.template @@ -0,0 +1,34 @@ +Redfish API version : {{ r.get_api_version() }} +{{ r.Root.get_name() }} + +Systems information : +===================== +{% for system_index in r.Systems.systems_dict | sort %} +{%- set system = r.Systems.systems_dict[system_index] %} +System id {{ system_index }}: +UUID : {{ system.get_uuid() }} +Type : {{ system.get_type() }} +Bios version : {{ system.get_bios_version() }} +State : {{ system.get_status() }} +{# +Ethernet Interface : +{%- if system.ethernet_interfaces_collection %} +{%- for ethernetinterface_index in system.ethernet_interfaces_collection.ethernet_interfaces_dict | sort %} +{%- set ei = system.ethernet_interfaces_collection.ethernet_interfaces_dict[ethernetinterface_index] %} + Ethernet Interface id {{ ethernetinterface_index }} : + {{ ei.get_name() }} + FQDN : {{ ei.get_fqdn() }} + Mac address : {{ ei.get_mac() }} + Address ipv4 : {{ ei.get_ipv4() | join(', ') }} + Address ipv6 : {{ ei.get_ipv6() | join(', ') }} +{%- endfor %} +{%- else %} + This system has no ethernet interface +{%- endif %} +Managed Chassis : + {{ system.get_managed_chassis() | join(', ') }} +Managed System : + {{ system.get_managed_systems() | join(', ') }} +---------------------------- +#} +{% endfor %} \ No newline at end of file From 983720d444d0388912fd1fa0238756fae8cd5660 Mon Sep 17 00:00:00 2001 From: Uggla Date: Mon, 7 Mar 2016 18:46:21 +0100 Subject: [PATCH 114/224] Introduce Device class to factorize common methods - Factorize common methods between System, Chassis, Manager. --- examples/simple-simulator.py | 9 +-- redfish/types.py | 118 +++++++++++++++++------------------ 2 files changed, 63 insertions(+), 64 deletions(-) diff --git a/examples/simple-simulator.py b/examples/simple-simulator.py index b431d67..3fd9e3a 100644 --- a/examples/simple-simulator.py +++ b/examples/simple-simulator.py @@ -6,12 +6,12 @@ from __future__ import division from __future__ import absolute_import from future import standard_library -standard_library.install_aliases() import os import sys import json import redfish +standard_library.install_aliases() # Get $HOME environment. HOME = os.getenv('HOME') @@ -49,7 +49,8 @@ print("Redfish API version : {} \n".format(remote_mgmt.get_api_version())) print("UUID : {} \n".format(remote_mgmt.Root.get_api_UUID())) print("System 1 :\n") -print("Bios version : {}\n".format(remote_mgmt.Systems.systems_dict["1"].get_bios_version())) +print("Bios version : {}\n".format( + remote_mgmt.Systems.systems_dict["1"].get_bios_version())) print("System 2 :\n") -print("Bios version : {}\n".format(remote_mgmt.Systems.systems_dict["2"].get_parameter("SerialNumber"))) -#print remoteMgmt.get_api_link_to_server() +print("Bios version : {}\n".format( + remote_mgmt.Systems.systems_dict["2"].get_parameter("SerialNumber"))) diff --git a/redfish/types.py b/redfish/types.py index 48ea32a..9c8aebe 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -18,6 +18,8 @@ from . import exception standard_library.install_aliases() +standard_library.install_aliases() + # Global variable @@ -155,12 +157,54 @@ def __init__(self, url, connection_parameters): config.logger.debug(self.links) +class Device(Base): + '''Abstract class to add common methods between devices + (Chassis, Servers, System). + ''' + def get_uuid(self): + '''Get device uuid + + :returns: device uuid or "Not available" + :rtype: string + + ''' + try: + return self.data.UUID + except AttributeError: + return "Not available" + + def get_status(self): + '''Get device status + + :returns: device status or "Not available" + :rtype: string + + ''' + try: + return self.data.Status.State + except AttributeError: + return "Not available" + + def get_type(self): + '''Get device type + + :returns: device type or "Not available" + :rtype: string + + ''' + try: + return self.data.SystemType + except AttributeError: + return "Not available" + + class Root(Base): '''Class to manage redfish Root data.''' def get_api_version(self): '''Return api version. - :returns: string -- version + :returns: api version + :rtype: string :raises: AttributeError ''' @@ -174,28 +218,21 @@ def get_api_version(self): return(version) def get_api_UUID(self): - '''Return UUID version. + '''Return api UUID. - :returns: string -- UUID + :returns: api UUID + :rtype: string ''' return self.data.UUID - def get_api_link_to_server(self): - '''Return api link to server. - - :returns: string -- path - - ''' - return getattr(self.root.Links.Systems, '@odata.id') - class SessionService(Base): '''Class to manage redfish SessionService data.''' pass -class Managers(Base): +class Managers(Device): '''Class to manage redfish Managers.''' def __init__(self, url, connection_parameters): super(Managers, self).__init__(url, connection_parameters) @@ -233,39 +270,6 @@ def get_firmware_version(self): # This is the case with the mockup for manager 2 and 3 return "Not available" - def get_type(self): - '''Get manager type - - :returns: string -- manager type or "Not available" - - ''' - try: - return self.data.ManagerType - except AttributeError: - return "Not available" - - def get_uuid(self): - '''Get manager type - - :returns: string -- manager uuid or "Not available" - - ''' - try: - return self.data.UUID - except AttributeError: - return "Not available" - - def get_status(self): - '''Get manager status - - :returns: string -- manager status or "Not available" - - ''' - try: - return self.data.Status.State - except AttributeError: - return "Not available" - def get_managed_chassis(self): '''Get managed chassis ids by the manager @@ -331,7 +335,7 @@ def __init__(self, url, connection_parameters): self.managers_dict[index.group(1)] = Managers(link, connection_parameters) -class Systems(Base): +class Systems(Device): '''Class to manage redfish Systems data.''' # TODO : Need to discuss with Bruno the required method. # Also to check with the ironic driver requirement. @@ -366,32 +370,26 @@ def reset_system(self): def get_bios_version(self): '''Get bios version of the system. - :returns: string -- bios version + :returns: bios version or "Not available" + :rtype: string ''' try: - # Returned by proliant - return self.data.Bios.Current.VersionString - except: - # Returned by mockup. - # Hopefully this kind of discrepencies will be fixed with - # Redfish 1.0 (August) return self.data.BiosVersion + except AttributeError: + return "Not available" def get_serial_number(self): '''Get serial number of the system. - :returns: string -- serial number + :returns: serial number or "Not available" + :rtype: string ''' try: - # Returned by proliant return self.data.SerialNumber - except: - # Returned by mockup. - # Hopefully this kind of discrepencies will be fixed with - # Redfish 1.0 (August) - return '' + except AttributeError: + return "Not available" def get_power(self): '''Get power status of the system. From 25a5f1228770364b605b70b29ea0bf0da6c46d86 Mon Sep 17 00:00:00 2001 From: Uggla Date: Sun, 20 Mar 2016 22:16:44 +0100 Subject: [PATCH 115/224] Improve systems class and template - Add new functions. --- redfish-client/templates/system_info.template | 9 + redfish/types.py | 169 ++++++++++++++++-- 2 files changed, 164 insertions(+), 14 deletions(-) diff --git a/redfish-client/templates/system_info.template b/redfish-client/templates/system_info.template index f80a8e8..60a8cfe 100644 --- a/redfish-client/templates/system_info.template +++ b/redfish-client/templates/system_info.template @@ -8,8 +8,17 @@ Systems information : System id {{ system_index }}: UUID : {{ system.get_uuid() }} Type : {{ system.get_type() }} +Manufacturer : {{ system.get_manufacturer() }} +Model : {{ system.get_model() }} +SKU : {{ system.get_sku() }} +Serial : {{ system.get_serial_number() }} +Hostname : {{ system.get_hostname() }} Bios version : {{ system.get_bios_version() }} State : {{ system.get_status() }} +Power : {{ system.get_power() }} +Description : {{ system.get_description() }} +Chassis : {{ system.get_chassis() | join(', ') }} +Managers : {{ system.get_managers() | join(', ') }} {# Ethernet Interface : {%- if system.ethernet_interfaces_collection %} diff --git a/redfish/types.py b/redfish/types.py index 9c8aebe..99df185 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -177,11 +177,11 @@ def get_status(self): '''Get device status :returns: device status or "Not available" - :rtype: string + :rtype: dict ''' try: - return self.data.Status.State + return self.data.Status except AttributeError: return "Not available" @@ -197,6 +197,78 @@ def get_type(self): except AttributeError: return "Not available" + def get_model(self): + '''Get device model + + :returns: device model or "Not available" + :rtype: string + + ''' + try: + return self.data.Model + except AttributeError: + return "Not available" + + def get_manufacturer(self): + '''Get device manufacturer + + :returns: device manufacturer or "Not available" + :rtype: string + + ''' + try: + return self.data.Manufacturer + except AttributeError: + return "Not available" + + def get_serial_number(self): + '''Get serial number of the device. + + :returns: serial number or "Not available" + :rtype: string + + ''' + try: + return self.data.SerialNumber + except AttributeError: + return "Not available" + + def get_asset_tag(self): + '''Get asset tag of the device. + + :returns: asset tag or "Not available" + :rtype: string + + ''' + try: + return self.data.AssetTag + except AttributeError: + return "Not available" + + def get_sku(self): + '''Get sku number of the device. + + :returns: sku number or "Not available" + :rtype: string + + ''' + try: + return self.data.SKU + except AttributeError: + return "Not available" + + def get_part_number(self): + '''Get part number of the device. + + :returns: part number or "Not available" + :rtype: string + + ''' + try: + return self.data.PartNumber + except AttributeError: + return "Not available" + class Root(Base): '''Class to manage redfish Root data.''' @@ -273,7 +345,8 @@ def get_firmware_version(self): def get_managed_chassis(self): '''Get managed chassis ids by the manager - :returns: list -- chassis ids or "Not available" + :returns: chassis ids or "Not available" + :rtype: list ''' chassis_list = [] @@ -290,7 +363,8 @@ def get_managed_chassis(self): def get_managed_systems(self): '''Get managed systems ids by the manager - :returns: list -- chassis ids or "Not available" + :returns: systems ids or "Not available" + :rtype: list ''' systems_list = [] @@ -298,7 +372,9 @@ def get_managed_systems(self): try: for systems in links.ManagerForServers: - result = re.search(r'Systems/(\w+)', systems[mapping.redfish_mapper.map_links_ref(systems)]) + result = re.search( + r'Systems/(\w+)', + systems[mapping.redfish_mapper.map_links_ref(systems)]) systems_list.append(result.group(1)) return systems_list except AttributeError: @@ -370,7 +446,7 @@ def reset_system(self): def get_bios_version(self): '''Get bios version of the system. - :returns: bios version or "Not available" + :returns: bios version or "Not available" :rtype: string ''' @@ -379,28 +455,93 @@ def get_bios_version(self): except AttributeError: return "Not available" - def get_serial_number(self): - '''Get serial number of the system. + def get_hostname(self): + '''Get hostname of the system. - :returns: serial number or "Not available" + :returns: hostname or "Not available" :rtype: string ''' try: - return self.data.SerialNumber + return self.data.HostName + except AttributeError: + return "Not available" + + def get_indicatorled(self): + '''Get indicatorled of the system. + + :returns: indicatorled status or "Not available" + :rtype: string + + ''' + try: + return self.data.IndicatorLED except AttributeError: return "Not available" def get_power(self): '''Get power status of the system. - :returns: string -- power status or NULL if there is an issue + :returns: system power state or "Not available" + :rtype: string ''' try: - return self.data.Power - except: - return '' + return self.data.PowerState + except AttributeError: + return "Not available" + + def get_description(self): + '''Get description of the system. + + :returns: system description or "Not available" + :rtype: string + + ''' + try: + return self.data.Description + except AttributeError: + return "Not available" + + def get_chassis(self): + '''Get chassis ids used by the system + + :returns: chassis ids or "Not available" + :rtype: list + + ''' + chassis_list = [] + links = getattr(self.data, mapping.redfish_mapper.map_links(self.data)) + + try: + for chassis in links.Chassis: + result = re.search( + r'Chassis/(\w+)', + chassis[mapping.redfish_mapper.map_links_ref(chassis)]) + chassis_list.append(result.group(1)) + return chassis_list + except AttributeError: + return "Not available" + + def get_managers(self): + '''Get manager ids used by the system + + :returns: managers ids or "Not available" + :rtype: list + + ''' + managers_list = [] + links = getattr(self.data, mapping.redfish_mapper.map_links(self.data)) + + try: + for manager in links.ManagedBy: + result = re.search( + r'Managers/(\w+)', + manager[mapping.redfish_mapper.map_links_ref(manager)]) + managers_list.append(result.group(1)) + return managers_list + except AttributeError: + return "Not available" def set_parameter_json(self, value): '''Generic function to set any system parameter using json structure From cf12504b66bbacf31c69d08c6744bc509a4a98f2 Mon Sep 17 00:00:00 2001 From: Uggla Date: Sun, 20 Mar 2016 23:32:31 +0100 Subject: [PATCH 116/224] Add ProcessorsCollection and Processors classes --- redfish-client/templates/system_info.template | 26 +++-- redfish/types.py | 106 ++++++++++++++++++ 2 files changed, 124 insertions(+), 8 deletions(-) diff --git a/redfish-client/templates/system_info.template b/redfish-client/templates/system_info.template index 60a8cfe..07d8e47 100644 --- a/redfish-client/templates/system_info.template +++ b/redfish-client/templates/system_info.template @@ -14,12 +14,27 @@ SKU : {{ system.get_sku() }} Serial : {{ system.get_serial_number() }} Hostname : {{ system.get_hostname() }} Bios version : {{ system.get_bios_version() }} -State : {{ system.get_status() }} +CPU number : {{ system.get_cpucount() }} +CPU model : {{ system.get_cpumodel() }} + +{%- if system.processors_collection %} +CPU details : + {%- for cpu_index in system.processors_collection.processors_dict | sort %} + {%- set cpu = system.processors_collection.processors_dict[cpu_index] %} + Processor id {{ cpu_index }} : + Speed : {{ cpu.get_speed() }} + Cores : {{ cpu.get_cores() }} + Threads : {{ cpu.get_threads() }} + {% endfor %} +{%- endif %} +Available memory : {{ system.get_memory() }} +Status : State : {{ system.get_status().Health }} / Health : {{ system.get_status().Health }} Power : {{ system.get_power() }} Description : {{ system.get_description() }} Chassis : {{ system.get_chassis() | join(', ') }} Managers : {{ system.get_managers() | join(', ') }} -{# +IndicatorLED : {{ system.get_indicatorled() }} + Ethernet Interface : {%- if system.ethernet_interfaces_collection %} {%- for ethernetinterface_index in system.ethernet_interfaces_collection.ethernet_interfaces_dict | sort %} @@ -34,10 +49,5 @@ Ethernet Interface : {%- else %} This system has no ethernet interface {%- endif %} -Managed Chassis : - {{ system.get_managed_chassis() | join(', ') }} -Managed System : - {{ system.get_managed_systems() | join(', ') }} ----------------------------- -#} +-------------------------------------------------------------------------------- {% endfor %} \ No newline at end of file diff --git a/redfish/types.py b/redfish/types.py index 99df185..84e9f85 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -423,6 +423,24 @@ def __init__(self, url, connection_parameters): except: pass + try: + self.ethernet_interfaces_collection = \ + EthernetInterfacesCollection( + self.get_link_url('EthernetInterfaces'), + connection_parameters) + except AttributeError: + # This means we don't have EthernetInterfaces + self.ethernet_interfaces_collection = None + + try: + self.processors_collection = \ + ProcessorsCollection( + self.get_link_url('Processors'), + connection_parameters) + except AttributeError: + # This means we don't have Processors detailed data + self.processors_collection = None + def reset_system(self): '''Force reset of the system. @@ -503,6 +521,42 @@ def get_description(self): except AttributeError: return "Not available" + def get_cpucount(self): + '''Get the number of cpu in the system. + + :returns: number of cpu or "Not available" + :rtype: string + + ''' + try: + return self.data.ProcessorSummary.Count + except AttributeError: + return "Not available" + + def get_cpumodel(self): + '''Get the cpu model available in the system. + + :returns: cpu model or "Not available" + :rtype: string + + ''' + try: + return self.data.ProcessorSummary.Model + except AttributeError: + return "Not available" + + def get_memory(self): + '''Get the memory available in the system. + + :returns: memory available or "Not available" + :rtype: string + + ''' + try: + return self.data.MemorySummary.TotalSystemMemoryGiB + except AttributeError: + return "Not available" + def get_chassis(self): '''Get chassis ids used by the system @@ -690,3 +744,55 @@ def get_ipv6(self): except AttributeError: return "Not available" + +class ProcessorsCollection(BaseCollection): + '''Class to manage redfish ProcessorsColkection data.''' + def __init__(self, url, connection_parameters): + super(ProcessorsCollection, + self).__init__(url, connection_parameters) + + self.processors_dict = {} + + for link in self.links: + index = re.search(r'Processors/(\w+)', link) + self.processors_dict[index.group(1)] = \ + Processors(link, connection_parameters) + + +class Processors(Base): + '''Class to manage redfish Processors.''' + def get_speed(self): + '''Get processor speed + + :returns: processor speed or "Not available" + :rtype: string + + ''' + try: + return self.data.MaxSpeedMHz + except AttributeError: + return "Not available" + + def get_cores(self): + '''Get processor cores number + + :returns: cores number or "Not available" + :rtype: string + + ''' + try: + return self.data.TotalCores + except AttributeError: + return "Not available" + + def get_threads(self): + '''Get processor threads number + + :returns: threads number or "Not available" + :rtype: string + + ''' + try: + return self.data.TotalThreads + except AttributeError: + return "Not available" From 3a60af5373f2c1b0f90d08f542f6eae40cd466b0 Mon Sep 17 00:00:00 2001 From: Uggla Date: Thu, 31 Mar 2016 22:47:10 +0200 Subject: [PATCH 117/224] Add SimpleStorageCollection and SimpleStorage classes --- .../templates/manager_info.template | 2 +- redfish-client/templates/system_info.template | 15 ++++++ redfish/types.py | 52 ++++++++++++++++++- 3 files changed, 67 insertions(+), 2 deletions(-) diff --git a/redfish-client/templates/manager_info.template b/redfish-client/templates/manager_info.template index d3f0d22..fb409f0 100644 --- a/redfish-client/templates/manager_info.template +++ b/redfish-client/templates/manager_info.template @@ -9,7 +9,7 @@ Manager id {{ manager_index }}: UUID : {{ manager.get_uuid() }} Type : {{ manager.get_type() }} Firmware version : {{ manager.get_firmware_version() }} -State : {{ manager.get_status() }} +Status : State : {{ manager.get_status().Health }} / Health : {{ manager.get_status().Health }} Ethernet Interface : {%- if manager.ethernet_interfaces_collection %} {%- for ethernetinterface_index in manager.ethernet_interfaces_collection.ethernet_interfaces_dict | sort %} diff --git a/redfish-client/templates/system_info.template b/redfish-client/templates/system_info.template index 07d8e47..3fe739b 100644 --- a/redfish-client/templates/system_info.template +++ b/redfish-client/templates/system_info.template @@ -49,5 +49,20 @@ Ethernet Interface : {%- else %} This system has no ethernet interface {%- endif %} + +Simple Storage : +{%- if system.simple_storage_collection %} +{%- for simplestorage_index in system.simple_storage_collection.simple_storage_dict | sort %} +{%- set ss = system.simple_storage_collection.simple_storage_dict[simplestorage_index] %} + Simple Storage id {{ simplestorage_index }} : + {{ ss.get_name() }} + Status : State : {{ system.get_status().Health }} / Health : {{ system.get_status().Health }} + {%- for dev in ss.get_devices() %} + Device id {{ loop.index }} : {{ dev.Name }} {{ dev.Manufacturer }} {{ dev.Model }} + {%- endfor %} +{%- endfor %} +{%- else %} + This system has no simple storage +{%- endif %} -------------------------------------------------------------------------------- {% endfor %} \ No newline at end of file diff --git a/redfish/types.py b/redfish/types.py index 84e9f85..e8157a7 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -441,6 +441,15 @@ def __init__(self, url, connection_parameters): # This means we don't have Processors detailed data self.processors_collection = None + try: + self.simple_storage_collection = \ + SimpleStorageCollection( + self.get_link_url('SimpleStorage'), + connection_parameters) + except AttributeError: + # This means we don't have Processors detailed data + self.simple_storage_collection = None + def reset_system(self): '''Force reset of the system. @@ -746,7 +755,7 @@ def get_ipv6(self): class ProcessorsCollection(BaseCollection): - '''Class to manage redfish ProcessorsColkection data.''' + '''Class to manage redfish ProcessorsCollection data.''' def __init__(self, url, connection_parameters): super(ProcessorsCollection, self).__init__(url, connection_parameters) @@ -796,3 +805,44 @@ def get_threads(self): return self.data.TotalThreads except AttributeError: return "Not available" + + +class SimpleStorageCollection(BaseCollection): + '''Class to manage redfish SimpleStorageCollection data.''' + def __init__(self, url, connection_parameters): + super(SimpleStorageCollection, + self).__init__(url, connection_parameters) + + self.simple_storage_dict = {} + + for link in self.links: + index = re.search(r'SimpleStorage/(\w+)', link) + self.simple_storage_dict[index.group(1)] = \ + SimpleStorage(link, connection_parameters) + + +class SimpleStorage(Base): + '''Class to manage redfish SimpleStorage''' + def get_status(self): + '''Get storage status + + :returns: storage status or "Not available" + :rtype: dict + + ''' + try: + return self.data.Status + except AttributeError: + return "Not available" + + def get_devices(self): + '''Get storage devices + + :returns: storage devices or "Not available" + :rtype: list of dict + + ''' + try: + return self.data.Devices + except AttributeError: + return "Not available" From 14314c99ab830e0d876b249876d2f4884d00e5f7 Mon Sep 17 00:00:00 2001 From: Uggla Date: Thu, 31 Mar 2016 23:28:59 +0200 Subject: [PATCH 118/224] Add ChassisCollection, Chassis classes and chassis template --- redfish-client/redfish-client | 8 ++- .../templates/chassis_info.template | 72 +++++++++++++++++++ redfish-client/templates/system_info.template | 2 +- redfish/main.py | 4 +- redfish/types.py | 39 ++++++++++ 5 files changed, 122 insertions(+), 3 deletions(-) create mode 100644 redfish-client/templates/chassis_info.template diff --git a/redfish-client/redfish-client b/redfish-client/redfish-client index d42f2a2..038120f 100755 --- a/redfish-client/redfish-client +++ b/redfish-client/redfish-client @@ -12,6 +12,7 @@ redfish-client :: redfish-client [options] config show redfish-client [options] config showall redfish-client [options] manager getinfo [] + redfish-client [options] chassis getinfo [] redfish-client [options] system getinfo [] redfish-client (-h | --help) redfish-client --version @@ -266,6 +267,10 @@ if __name__ == '__main__': # Display manager information using jinja2 template render_template("manager_info.template") + def display_chassis_info(redfish_data): + # Display system information using jinja2 template + render_template("chassis_info.template") + def display_system_info(redfish_data): # Display system information using jinja2 template render_template("system_info.template") @@ -437,6 +442,7 @@ if __name__ == '__main__': logger.debug("system commands") display_system_info(redfish_data) elif arguments['chassis'] is True: - pass + logger.debug("chassis commands") + display_chassis_info(redfish_data) logger.info("Client session terminated") sys.exit(0) diff --git a/redfish-client/templates/chassis_info.template b/redfish-client/templates/chassis_info.template new file mode 100644 index 0000000..704e70f --- /dev/null +++ b/redfish-client/templates/chassis_info.template @@ -0,0 +1,72 @@ +Redfish API version : {{ r.get_api_version() }} +{{ r.Root.get_name() }} + +Chassis information : +===================== +{% for chassis_index in r.Chassis.chassis_dict | sort %} +{%- set chassis = r.Chassis.chassis_dict[chassis_index] %} +Chassis id {{ chassis_index }}: +Manufacturer : {{ chassis.get_manufacturer() }} +Model : {{ chassis.get_model() }} +Chassis Type : {{ chassis.get_chassis_type() }} +PartNumber : {{ chassis.get_part_number() }} +SKU : {{ chassis.get_sku() }} +Serial : {{ chassis.get_serial_number() }} +AssetTag : {{ chassis.get_asset_tag() }} +Status : State : {{ chassis.get_status().Health }} / Health : {{ chassis.get_status().Health }} +{# +Hostname : {{ system.get_hostname() }} +Bios version : {{ system.get_bios_version() }} +CPU number : {{ system.get_cpucount() }} +CPU model : {{ system.get_cpumodel() }} + +{%- if system.processors_collection %} +CPU details : + {%- for cpu_index in system.processors_collection.processors_dict | sort %} + {%- set cpu = system.processors_collection.processors_dict[cpu_index] %} + Processor id {{ cpu_index }} : + Speed : {{ cpu.get_speed() }} + Cores : {{ cpu.get_cores() }} + Threads : {{ cpu.get_threads() }} + {% endfor %} +{%- endif %} +Available memory : {{ system.get_memory() }} +Status : State : {{ system.get_status().Health }} / Health : {{ system.get_status().Health }} +Power : {{ system.get_power() }} +Description : {{ system.get_description() }} +Chassis : {{ system.get_chassis() | join(', ') }} +Managers : {{ system.get_managers() | join(', ') }} +IndicatorLED : {{ system.get_indicatorled() }} + +Ethernet Interface : +{%- if system.ethernet_interfaces_collection %} +{%- for ethernetinterface_index in system.ethernet_interfaces_collection.ethernet_interfaces_dict | sort %} +{%- set ei = system.ethernet_interfaces_collection.ethernet_interfaces_dict[ethernetinterface_index] %} + Ethernet Interface id {{ ethernetinterface_index }} : + {{ ei.get_name() }} + FQDN : {{ ei.get_fqdn() }} + Mac address : {{ ei.get_mac() }} + Address ipv4 : {{ ei.get_ipv4() | join(', ') }} + Address ipv6 : {{ ei.get_ipv6() | join(', ') }} +{%- endfor %} +{%- else %} + This system has no ethernet interface +{%- endif %} + +Simple Storage : +{%- if system.simple_storage_collection %} +{%- for simplestorage_index in system.simple_storage_collection.simple_storage_dict | sort %} +{%- set ss = system.simple_storage_collection.simple_storage_dict[simplestorage_index] %} + Simple Storage id {{ simplestorage_index }} : + {{ ss.get_name() }} + Status : State : {{ system.get_status().Health }} / Health : {{ system.get_status().Health }} + {%- for dev in ss.get_devices() %} + Device id {{ loop.index }} : {{ dev.Name }} {{ dev.Manufacturer }} {{ dev.Model }} + {%- endfor %} +{%- endfor %} +{%- else %} + This system has no simple storage +{%- endif %} +-------------------------------------------------------------------------------- +#} +{% endfor %} \ No newline at end of file diff --git a/redfish-client/templates/system_info.template b/redfish-client/templates/system_info.template index 3fe739b..6e40a63 100644 --- a/redfish-client/templates/system_info.template +++ b/redfish-client/templates/system_info.template @@ -27,7 +27,7 @@ CPU details : Threads : {{ cpu.get_threads() }} {% endfor %} {%- endif %} -Available memory : {{ system.get_memory() }} +Available memory : {{ system.get_memory() }} GB Status : State : {{ system.get_status().Health }} / Health : {{ system.get_status().Health }} Power : {{ system.get_power() }} Description : {{ system.get_description() }} diff --git a/redfish/main.py b/redfish/main.py index 094d10a..0890567 100644 --- a/redfish/main.py +++ b/redfish/main.py @@ -254,7 +254,9 @@ def __init__(self, self.connection_parameters ) -# self.Chassis + self.Chassis = types.ChassisCollection(self.Root.get_link_url("Chassis"), + self.connection_parameters + ) # self.EventService # self.AccountService diff --git a/redfish/types.py b/redfish/types.py index e8157a7..54f3023 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -846,3 +846,42 @@ def get_devices(self): return self.data.Devices except AttributeError: return "Not available" + + +class ChassisCollection(BaseCollection): + '''Class to manage redfish ChassisCollection data.''' + def __init__(self, url, connection_parameters): + super(ChassisCollection, self).__init__(url, connection_parameters) + + self.chassis_dict = {} + + for link in self.links: + index = re.search(r'Chassis/(\w+)', link) + self.chassis_dict[index.group(1)] = Chassis(link, connection_parameters) + + +class Chassis(Device): + '''Class to manage redfish Chassis data.''' + def __init__(self, url, connection_parameters): + '''Class constructor''' + super(Chassis, self).__init__(url, connection_parameters) + +# try: +# self.ethernet_interfaces_collection = \ +# EthernetInterfacesCollection( +# self.get_link_url('EthernetInterfaces'), +# connection_parameters) +# except AttributeError: +# # This means we don't have EthernetInterfaces +# self.ethernet_interfaces_collection = None + def get_chassis_type(self): + '''Get chassis type + + :returns: chassis type or "Not available" + :rtype: string + + ''' + try: + return self.data.ChassisType + except AttributeError: + return "Not available" From 6b4450565ec14ba7ffabed0e4a7b8c4a5c38f8ed Mon Sep 17 00:00:00 2001 From: Uggla Date: Sun, 3 Apr 2016 19:12:52 +0200 Subject: [PATCH 119/224] Fix #53, handle MacAddress and MACAddress keys - Proliant firmware uses MacAddress but the standard is MACAddress. --- redfish/types.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/redfish/types.py b/redfish/types.py index 54f3023..d13ab0f 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -702,9 +702,13 @@ def get_mac(self): ''' try: + # Proliant firmware seems to not follow redfish systax return self.data.MacAddress except AttributeError: - return "Not available" + try: + return self.data.MACAddress + except AttributeError: + return "Not available" def get_fqdn(self): '''Get EthernetInterface fqdn From a287469ff2d524bcea63dead403b6e3316d74eb1 Mon Sep 17 00:00:00 2001 From: Uggla Date: Sun, 3 Apr 2016 21:39:29 +0200 Subject: [PATCH 120/224] Sort inventory entries diplayed with showall --- redfish-client/redfish-client | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redfish-client/redfish-client b/redfish-client/redfish-client index 038120f..cd88f02 100755 --- a/redfish-client/redfish-client +++ b/redfish-client/redfish-client @@ -255,7 +255,7 @@ if __name__ == '__main__': if(not inventory.get_managers()): print("None") else: - for manager in inventory.get_managers(): + for manager in sorted(inventory.get_managers()): print(manager) if all is True: info = inventory.get_manager_info(manager) From d940d11af4ad6267298fa1937d19c281df18a64d Mon Sep 17 00:00:00 2001 From: Uggla Date: Mon, 4 Apr 2016 00:05:10 +0200 Subject: [PATCH 121/224] Add Thermal, Power classes and review get_type() --- .../templates/chassis_info.template | 21 +++- redfish/types.py | 98 +++++++++++++++---- 2 files changed, 97 insertions(+), 22 deletions(-) diff --git a/redfish-client/templates/chassis_info.template b/redfish-client/templates/chassis_info.template index 704e70f..28acd89 100644 --- a/redfish-client/templates/chassis_info.template +++ b/redfish-client/templates/chassis_info.template @@ -8,12 +8,31 @@ Chassis information : Chassis id {{ chassis_index }}: Manufacturer : {{ chassis.get_manufacturer() }} Model : {{ chassis.get_model() }} -Chassis Type : {{ chassis.get_chassis_type() }} +Chassis Type : {{ chassis.get_type() }} PartNumber : {{ chassis.get_part_number() }} SKU : {{ chassis.get_sku() }} Serial : {{ chassis.get_serial_number() }} AssetTag : {{ chassis.get_asset_tag() }} Status : State : {{ chassis.get_status().Health }} / Health : {{ chassis.get_status().Health }} +{%- if chassis.thermal %} +Temperatures : +{%- if chassis.thermal.get_temperatures() == 'Not available' %} + Not available +{%- else %} +{%- for sensor, temp in chassis.thermal.get_temperatures().items() | sort %} + {{ sensor }} : {{ temp }} +{%- endfor %} +{%- endif %} +Fans : +{%- if chassis.thermal.get_fans() == 'Not available' %} + Not available +{%- else %} +{%- for fan, rpm in chassis.thermal.get_fans().items() | sort %} + {{ fan }} : {{ rpm }} +{%- endfor %} +{%- endif %} +{%- endif %} + {# Hostname : {{ system.get_hostname() }} Bios version : {{ system.get_bios_version() }} diff --git a/redfish/types.py b/redfish/types.py index d13ab0f..304117f 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -185,18 +185,6 @@ def get_status(self): except AttributeError: return "Not available" - def get_type(self): - '''Get device type - - :returns: device type or "Not available" - :rtype: string - - ''' - try: - return self.data.SystemType - except AttributeError: - return "Not available" - def get_model(self): '''Get device model @@ -329,6 +317,18 @@ def __init__(self, url, connection_parameters): # This means we don't have EthernetInterfaces self.ethernet_interfaces_collection = None + def get_type(self): + '''Get manager type + + :returns: manager type or "Not available" + :rtype: string + + ''' + try: + return self.data.ManagerType + except AttributeError: + return "Not available" + def get_firmware_version(self): '''Get firmware version of the manager @@ -566,6 +566,18 @@ def get_memory(self): except AttributeError: return "Not available" + def get_type(self): + '''Get system type + + :returns: system type or "Not available" + :rtype: string + + ''' + try: + return self.data.SystemType + except AttributeError: + return "Not available" + def get_chassis(self): '''Get chassis ids used by the system @@ -870,15 +882,19 @@ def __init__(self, url, connection_parameters): '''Class constructor''' super(Chassis, self).__init__(url, connection_parameters) -# try: -# self.ethernet_interfaces_collection = \ -# EthernetInterfacesCollection( -# self.get_link_url('EthernetInterfaces'), -# connection_parameters) -# except AttributeError: -# # This means we don't have EthernetInterfaces -# self.ethernet_interfaces_collection = None - def get_chassis_type(self): + try: + self.thermal = Thermal(self.get_link_url('Thermal'), + connection_parameters) + except AttributeError: + self.thermal = None + + try: + self.power = Power(self.get_link_url('Power'), + connection_parameters) + except AttributeError: + self.Power = None + + def get_type(self): '''Get chassis type :returns: chassis type or "Not available" @@ -889,3 +905,43 @@ def get_chassis_type(self): return self.data.ChassisType except AttributeError: return "Not available" + + +class Thermal(Base): + '''Class to manage redfish Thermal data.''' + def get_temperatures(self): + '''Get chassis sensors name and temparature + + :returns: chassis sensor and temperature + :rtype: dict + + ''' + temperatures = {} + + try: + for sensor in self.data.Temperatures: + temperatures[sensor.Name] = sensor.ReadingCelsius + return temperatures + except AttributeError: + return "Not available" + + def get_fans(self): + '''Get chassis fan name and rpm + + :returns: chassis fan and rpm + :rtype: dict + + ''' + fans = {} + + try: + for fan in self.data.Fans: + fans[fan.FanName] = fan.ReadingRPM + return fans + except AttributeError: + return "Not available" + + +class Power(Base): + '''Class to manage redfish Power data.''' + pass From 45fdc2819e8a69814ccdd3163766bf1851634023 Mon Sep 17 00:00:00 2001 From: Uggla Date: Wed, 6 Apr 2016 11:38:10 +0200 Subject: [PATCH 122/224] Remove socket module finally not needed --- redfish/main.py | 1 - 1 file changed, 1 deletion(-) diff --git a/redfish/main.py b/redfish/main.py index 0890567..a080129 100644 --- a/redfish/main.py +++ b/redfish/main.py @@ -125,7 +125,6 @@ from builtins import object import json -import socket from urllib.parse import urlparse, urljoin, urlunparse import requests from . import config From 92d4aa880a17772b0be29661db0b138f88d9c13d Mon Sep 17 00:00:00 2001 From: Uggla Date: Wed, 6 Apr 2016 13:46:58 +0200 Subject: [PATCH 123/224] Improve debug readability - Pretty print data returned, so humans can read them. - Cosmetic fixes. --- redfish/main.py | 3 --- redfish/types.py | 9 +++++++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/redfish/main.py b/redfish/main.py index a080129..9bdf5f0 100644 --- a/redfish/main.py +++ b/redfish/main.py @@ -205,9 +205,6 @@ def __init__(self, "this is insecure and can allow" + " a man in the middle attack") - # Show redfish standard headers - config.logger.debug(self.connection_parameters.headers) - config.logger.debug("Root url : %s", self.connection_parameters.rooturl) self.Root = types.Root(self.connection_parameters.rooturl, diff --git a/redfish/types.py b/redfish/types.py index 304117f..0ee1b35 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -32,7 +32,12 @@ def __init__(self, url, connection_parameters): self.url = url self.api_url = tortilla.wrap(url, debug=config.TORTILLADEBUG) - config.logger.debug(connection_parameters.headers) + config.logger.debug( + "------------------------------------------------------------") + config.logger.debug("Url: %s" % url) + config.logger.debug("Header: %s" % connection_parameters.headers) + config.logger.debug( + "------------------------------------------------------------") try: self.data = self.api_url.get( @@ -50,7 +55,7 @@ def __init__(self, url, connection_parameters): 'Ivalid content : Content does not appear to be a valid ' + \ 'Redfish json\n' raise exception.InvalidRedfishContentException(msg) - config.logger.debug(self.data) + config.logger.debug(pprint.PrettyPrinter(indent=4).pformat(self.data)) def get_link_url(self, link_type): '''Need to be explained. From 2f40ce5d24b087d2002c1a3fe5dc5c5bc3d43078 Mon Sep 17 00:00:00 2001 From: Uggla Date: Wed, 6 Apr 2016 15:20:35 +0200 Subject: [PATCH 124/224] PEP8 fixes --- examples/simple-proliant.py | 85 ++++++++++++++++++++--------------- redfish-client/redfish-client | 2 +- redfish/__init__.py | 2 +- redfish/config.py | 22 +++++---- redfish/exception.py | 5 ++- redfish/main.py | 62 +++++++++++++------------ redfish/mapping.py | 15 ++++--- redfish/types.py | 57 ++++++++++++++--------- 8 files changed, 140 insertions(+), 110 deletions(-) diff --git a/examples/simple-proliant.py b/examples/simple-proliant.py index 806b4d9..cf9fcfb 100644 --- a/examples/simple-proliant.py +++ b/examples/simple-proliant.py @@ -6,13 +6,13 @@ from __future__ import division from __future__ import absolute_import from future import standard_library -standard_library.install_aliases() from builtins import str import os import sys import json import redfish +standard_library.install_aliases() # Get $HOME environment. @@ -52,46 +52,57 @@ # Uncomment following line to reset the blade !!! # remote_mgmt.Systems.systems_dict["1"].reset_system() -# TODO : create an attribute to link the managed system directly -# and avoid systems_dict["1"] -# --> will be something like : -# remote_mgmt.Systems.systems_dict["1"] = remote_mgmt.Systems.managed_system - -print("Bios version : {}\n".format(remote_mgmt.Systems.systems_dict["1"].get_bios_version())) -print("Serial Number : {}\n".format(remote_mgmt.Systems.systems_dict["1"].get_serial_number())) -print("Power State : {}\n".format(remote_mgmt.Systems.systems_dict["1"].get_power())) -print("Parameter 'SystemType' : {}\n".format(remote_mgmt.Systems.systems_dict["1"].get_parameter("SystemType"))) - -print("Get bios parameters : {}\n".format(remote_mgmt.Systems.systems_dict["1"].bios.get_parameters())) -print("Get boot parameters : {}\n".format(remote_mgmt.Systems.systems_dict["1"].bios.boot.get_parameters())) - - -#print("Get bios parameter 'AdminPhone' : {}\n".format(remote_mgmt.Systems.systems_dict["1"].bios.get_parameter("AdminPhone"))) -#print("Set bios parameter 'AdminPhone' to '' : {}\n".format(remote_mgmt.Systems.systems_dict["1"].bios.set_parameter("AdminPhone",""))) - - -#Boot server with script -#remote_mgmt.Systems.systems_dict["1"].bios.set_parameter("Dhcpv4","Enabled") - -remote_mgmt.Systems.systems_dict["1"].bios.set_parameter("PreBootNetwork", "Auto") -remote_mgmt.Systems.systems_dict["1"].bios.set_parameter("UefiShellStartup", "Enabled") -remote_mgmt.Systems.systems_dict["1"].bios.set_parameter("UefiShellStartupLocation", "NetworkLocation") -remote_mgmt.Systems.systems_dict["1"].bios.set_parameter("UefiShellStartupUrl", "http://10.3.222.88/deploy/startup.nsh") - -#remote_mgmt.Systems.systems_dict["1"].set_parameter_json('{"Boot": {"BootSourceOverrideTarget": "UefiShell"}}') -# remote_mgmt.Systems.systems_dict["1"].set_parameter_json('{"Boot": {"BootSourceOverrideEnabled" : "Continuous"}}') -#remote_mgmt.Systems.systems_dict["1"].set_parameter_json('{"Boot": {"BootSourceOverrideEnabled" : "Once"}}') +print("Bios version : {}\n".format( + remote_mgmt.Systems.systems_dict["1"].get_bios_version())) +print("Serial Number : {}\n".format( + remote_mgmt.Systems.systems_dict["1"].get_serial_number())) +print("Power State : {}\n".format( + remote_mgmt.Systems.systems_dict["1"].get_power())) +print("Parameter 'SystemType' : {}\n".format( + remote_mgmt.Systems.systems_dict["1"].get_parameter("SystemType"))) + +print("Get bios parameters : {}\n".format( + remote_mgmt.Systems.systems_dict["1"].bios.get_parameters())) +print("Get boot parameters : {}\n".format( + remote_mgmt.Systems.systems_dict["1"].bios.boot.get_parameters())) + +# print("Get bios parameter 'AdminPhone' : {}\n".format( +# remote_mgmt.Systems.systems_dict["1"].bios.get_parameter("AdminPhone"))) +# print("Set bios parameter 'AdminPhone' to '' : {}\n".format( +# remote_mgmt.Systems.systems_dict["1"].bios.set_parameter("AdminPhone",""))) + + +# Boot server with script +# remote_mgmt.Systems.systems_dict["1"].bios.set_parameter("Dhcpv4","Enabled") + +remote_mgmt.Systems.systems_dict["1"].bios.set_parameter( + "PreBootNetwork", "Auto") +remote_mgmt.Systems.systems_dict["1"].bios.set_parameter( + "UefiShellStartup", "Enabled") +remote_mgmt.Systems.systems_dict["1"].bios.set_parameter( + "UefiShellStartupLocation", "NetworkLocation") +remote_mgmt.Systems.systems_dict["1"].bios.set_parameter( + "UefiShellStartupUrl", "http://10.3.222.88/deploy/startup.nsh") + +# remote_mgmt.Systems.systems_dict["1"].set_parameter_json( +# '{"Boot": {"BootSourceOverrideTarget": "UefiShell"}}') +# remote_mgmt.Systems.systems_dict["1"].set_parameter_json( +# '{"Boot": {"BootSourceOverrideEnabled" : "Continuous"}}') +# remote_mgmt.Systems.systems_dict["1"].set_parameter_json( +# '{"Boot": {"BootSourceOverrideEnabled" : "Once"}}') mySystem = remote_mgmt.Systems.systems_dict["1"] -mySystem.set_boot_source_override("None","Disabled") -#Uncomment the next line to reset the server -#mySystem.reset_system() +mySystem.set_boot_source_override("None", "Disabled") +# Uncomment the next line to reset the server +# mySystem.reset_system() -print("Get manager firmware version : {}\n".format(remote_mgmt.Managers.managers_dict["1"].get_firmware_version())) -print("Get system Bios version : {}\n".format(remote_mgmt.Systems.systems_dict["1"].get_bios_version())) +print("Get manager firmware version : {}\n".format( + remote_mgmt.Managers.managers_dict["1"].get_firmware_version())) +print("Get system Bios version : {}\n".format( + remote_mgmt.Systems.systems_dict["1"].get_bios_version())) -#Reset of the system is required to apply the changes -#remote_mgmt.Systems.systems_dict["1"].reset_system() +# Reset of the system is required to apply the changes +# remote_mgmt.Systems.systems_dict["1"].reset_system() remote_mgmt.logout() diff --git a/redfish-client/redfish-client b/redfish-client/redfish-client index cd88f02..951a849 100755 --- a/redfish-client/redfish-client +++ b/redfish-client/redfish-client @@ -38,7 +38,6 @@ from __future__ import print_function from __future__ import division from __future__ import absolute_import from future import standard_library -standard_library.install_aliases() from builtins import str from builtins import object @@ -52,6 +51,7 @@ import configparser import jinja2 import requests.packages.urllib3 import redfish +standard_library.install_aliases() class InventoryFile(object): diff --git a/redfish/__init__.py b/redfish/__init__.py index 2b57f55..724f97e 100644 --- a/redfish/__init__.py +++ b/redfish/__init__.py @@ -17,10 +17,10 @@ from __future__ import division from __future__ import absolute_import from future import standard_library -standard_library.install_aliases() import pbr.version from redfish.main import * +standard_library.install_aliases() try: __version__ = pbr.version.VersionInfo('redfish').release_string() diff --git a/redfish/config.py b/redfish/config.py index 33391e4..ccd9dc7 100644 --- a/redfish/config.py +++ b/redfish/config.py @@ -8,7 +8,6 @@ import logging import sys import os -import getpass from logging.handlers import RotatingFileHandler standard_library.install_aliases() @@ -30,8 +29,10 @@ os.mkdir(REDFISH_HOME) except IOError: print('ERROR: can\'t create {}.\n'.format(REDFISH_HOME)) - print(' Try to create directory {}'.format(os.path.dirname(REDFISH_LOGFILE))) - print(' using: mkdir -p {}'.format(os.path.dirname(REDFISH_LOGFILE))) + print(' Try to create directory {}'.format( + os.path.dirname(REDFISH_LOGFILE))) + print(' using: mkdir -p {}'.format( + os.path.dirname(REDFISH_LOGFILE))) sys.exit(1) REDFISH_LOGFILE = os.path.join(REDFISH_HOME, "python-redfish.log") @@ -59,15 +60,18 @@ def initialize_logger(REDFISH_LOGFILE, logger = logging.getLogger(logger_name) logger.setLevel(logging.DEBUG) formatter = logging.Formatter( - '%(asctime)s :: %(levelname)s :: %(message)s' - ) + '%(asctime)s :: %(levelname)s :: %(message)s') try: - file_handler = RotatingFileHandler(os.path.expandvars(REDFISH_LOGFILE), 'a', 1000000, 1) + file_handler = RotatingFileHandler( + os.path.expandvars(REDFISH_LOGFILE), 'a', 1000000, 1) except IOError: - print('ERROR: {} does not exist or is not writeable.\n'.format(REDFISH_LOGFILE)) - print(' Try to create directory {}'.format(os.path.dirname(REDFISH_LOGFILE))) - print(' using: mkdir -p {}'.format(os.path.dirname(REDFISH_LOGFILE))) + print('ERROR: {} does not exist or is not writeable.\n'.format( + REDFISH_LOGFILE)) + print(' Try to create directory {}'.format(os.path.dirname( + REDFISH_LOGFILE))) + print(' using: mkdir -p {}'.format(os.path.dirname( + REDFISH_LOGFILE))) sys.exit(1) # First logger to file diff --git a/redfish/exception.py b/redfish/exception.py index 84b67cf..59e2016 100644 --- a/redfish/exception.py +++ b/redfish/exception.py @@ -5,9 +5,9 @@ from __future__ import division from __future__ import absolute_import from future import standard_library -standard_library.install_aliases() from builtins import str from . import config +standard_library.install_aliases() class RedfishException(Exception): @@ -28,7 +28,8 @@ def __init__(self, message, **kwargs): '3- Check if your device has a valid trusted certificat\n' + \ ' You can use openssl to validate it using the command :\n' + \ ' openssl s_client -showcerts -connect :443\n' + \ - '4- Use option "--insecure" to connect without checking certificate\n' + '4- Use option "--insecure" to connect without checking' + \ + ' certificate\n' class InvalidRedfishContentException(RedfishException): diff --git a/redfish/main.py b/redfish/main.py index 9bdf5f0..9b8267d 100644 --- a/redfish/main.py +++ b/redfish/main.py @@ -29,8 +29,9 @@ A URI should be treated by the client as opaque, and thus should not be attempted to be understood or deconstructed by the client. Only specific top level URIs (any URI in this sample code) may be assumed, and even these may be -absent based upon the implementation (e.g. there might be no /redfish/v1/Systems -collection on something that doesn't have compute nodes.) +absent based upon the implementation +(e.g. there might be no /redfish/v1/Systems collection on something +that doesn't have compute nodes.) The other URIs must be discovered dynamically by following href links. This is because the API will eventually be implemented on a system that breaks any @@ -141,8 +142,7 @@ def connect( password, simulator=False, enforceSSL=True, - verify_cert=True - ): + verify_cert=True): return RedfishConnection( url, @@ -214,8 +214,10 @@ def __init__(self, mapping.redfish_version = self.get_api_version() mapping.redfish_root_name = self.Root.get_name() - # Instantiate a global mapping object to handle Redfish version variation - mapping.redfish_mapper = mapping.RedfishVersionMapping(self.get_api_version(), self.Root.get_name()) + # Instantiate a global mapping object to handle + # Redfish version variation + mapping.redfish_mapper = mapping.RedfishVersionMapping( + self.get_api_version(), self.Root.get_name()) # Now we need to login otherwise we are not allowed to extract data if self.__simulator is False: @@ -225,9 +227,8 @@ def __init__(self, config.logger.info("Login successful") except "Error getting token": config.logger.error("Login fail, fail to get auth token") - raise exception.AuthenticationFailureException("Fail to get an auth token.") - - + raise exception.AuthenticationFailureException( + "Fail to get an auth token.") # Structure change with mockup 1.0.0, there is no links # section anymore. @@ -237,30 +238,25 @@ def __init__(self, # Types self.SessionService = types.SessionService( - self.Root.get_link_url( - mapping.redfish_mapper.map_sessionservice()), - self.connection_parameters - ) + self.Root.get_link_url( + mapping.redfish_mapper.map_sessionservice()), + self.connection_parameters) - self.Managers = types.ManagersCollection(self.Root.get_link_url("Managers"), - self.connection_parameters - ) + self.Managers = types.ManagersCollection( + self.Root.get_link_url("Managers"), + self.connection_parameters) - self.Systems = types.SystemsCollection(self.Root.get_link_url("Systems"), - self.connection_parameters - ) + self.Systems = types.SystemsCollection( + self.Root.get_link_url("Systems"), + self.connection_parameters) - self.Chassis = types.ChassisCollection(self.Root.get_link_url("Chassis"), - self.connection_parameters - ) + self.Chassis = types.ChassisCollection( + self.Root.get_link_url("Chassis"), self.connection_parameters) # self.EventService # self.AccountService # self.Tasks - - - # ======================================================================== # systemCollectionLink = getattr(self.root.Links.Systems,"@odata.id") # self.systemCollection = self.apiUrl.redfish.v1.Systems.get() @@ -280,8 +276,7 @@ def get_api_version(self): def login(self): # Craft full url url = self.Root.get_link_url( - mapping.redfish_mapper.map_sessionservice() - ) + mapping.redfish_mapper.map_sessionservice()) # Handle login with redfish 1.00, url must be : # /rest/v1/SessionService/Sessions as specified by the specification @@ -293,14 +288,17 @@ def login(self): "Password": self.connection_parameters.password} config.logger.debug(requestBody) headers = self.connection_parameters.headers - # ======================================================================= - # Tortilla seems not able to provide the header of a post request answer. + # ==================================================================== + # Tortilla seems not able to provide the header of a post request + # answer. # However this is required by redfish standard to get X-Auth-Token. # So jump to "requests" library to get the required token. # TODO : Patch tortilla to handle this case. - # ======================================================================= - # sessionsUrl = tortilla.wrap("https://10.3.222.104/rest/v1/Sessions", debug=TORTILLADEBUG) - # sessions = sessionsUrl.post(verify=self.verify_cert, data=requestBody) + # ==================================================================== + # sessionsUrl = tortilla.wrap( + # "https://10.3.222.104/rest/v1/Sessions", debug=TORTILLADEBUG) + # sessions = sessionsUrl.post( + # verify=self.verify_cert, data=requestBody) auth = requests.post(url, data=json.dumps(requestBody), headers=headers, diff --git a/redfish/mapping.py b/redfish/mapping.py index db116ab..d0906dd 100644 --- a/redfish/mapping.py +++ b/redfish/mapping.py @@ -4,13 +4,14 @@ from __future__ import division from __future__ import absolute_import from future import standard_library -standard_library.install_aliases() from builtins import object +standard_library.install_aliases() redfish_mapper = None redfish_version = None redfish_root_name = None + class RedfishVersionMapping(object): '''Implements basic url path mapping beetween Redfish versions.''' @@ -24,7 +25,7 @@ def map_sessionservice(self): return 'SessionService' def map_links(self, data_dict=None): - if data_dict == None: + if data_dict is None: if self.__version == '0.95': return 'links' else: @@ -39,7 +40,7 @@ def map_links(self, data_dict=None): return 'Links' def map_links_ref(self, data_dict=None): - if data_dict == None: + if data_dict is None: if self.__version == '0.95': return 'href' else: @@ -49,11 +50,11 @@ def map_links_ref(self, data_dict=None): try: data_dict.href return 'href' - except AttributeError: - pass + except AttributeError: + pass return '@odata.id' - + def map_members(self): if self.__version == '0.95': return 'Member' - return 'Members' \ No newline at end of file + return 'Members' diff --git a/redfish/types.py b/redfish/types.py index 0ee1b35..3a5b4fc 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -28,7 +28,7 @@ class Base(object): def __init__(self, url, connection_parameters): '''Class constructor''' global TORTILLADEBUG - self.connection_parameters = connection_parameters # Uggly hack to check + self.connection_parameters = connection_parameters # Uggly hack self.url = url self.api_url = tortilla.wrap(url, debug=config.TORTILLADEBUG) @@ -69,7 +69,9 @@ def get_link_url(self, link_type): if float(mapping.redfish_version) < 1.00: links = getattr(self.data, mapping.redfish_mapper.map_links()) if link_type in links: - return urljoin(self.url, links[link_type][mapping.redfish_mapper.map_links_ref()]) + return urljoin( + self.url, + links[link_type][mapping.redfish_mapper.map_links_ref()]) raise AttributeError else: links = getattr(self.data, link_type) @@ -147,17 +149,22 @@ def __init__(self, url, connection_parameters): self.links = [] - #linksmembers = self.data.Links.Members - #linksmembers = self.data.links.Member + # linksmembers = self.data.Links.Members + # linksmembers = self.data.links.Member if float(mapping.redfish_version) < 1.00: - linksmembers = getattr(self.data, mapping.redfish_mapper.map_links()) - linksmembers = getattr(linksmembers, mapping.redfish_mapper.map_members()) + linksmembers = getattr( + self.data, mapping.redfish_mapper.map_links()) + linksmembers = getattr( + linksmembers, mapping.redfish_mapper.map_members()) else: - linksmembers = getattr(self.data, mapping.redfish_mapper.map_members()) + linksmembers = getattr( + self.data, mapping.redfish_mapper.map_members()) for link in linksmembers: - #self.links.append(getattr(link,'@odata.id')) - #self.links.append(getattr(link,'href')) - self.links.append(urljoin(self.url, getattr(link, mapping.redfish_mapper.map_links_ref()))) + # self.links.append(getattr(link,'@odata.id')) + # self.links.append(getattr(link,'href')) + self.links.append(urljoin( + self.url, getattr( + link, mapping.redfish_mapper.map_links_ref()))) config.logger.debug(self.links) @@ -302,18 +309,20 @@ class Managers(Device): def __init__(self, url, connection_parameters): super(Managers, self).__init__(url, connection_parameters) try: - # New proliant firmware now respects Redfish v1.00, so seems to correct below statement - # TODO : better handle exception and if possible support old firmware ? + # New proliant firmware now respects Redfish v1.00, so seems to + # correct below statement + # TODO : better handle exception and if possible support + # old firmware ? self.ethernet_interfaces_collection = \ EthernetInterfacesCollection( self.get_link_url('EthernetInterfaces'), connection_parameters) # Works on proliant, need to treat 095 vs 0.96 differences - #self.ethernet_interfaces_collection = EthernetInterfacesCollection( - # self.get_link_url('EthernetNICs'), - # connection_parameters - # ) + # self.ethernet_interfaces_collection = \ + # EthernetInterfacesCollection( + # self.get_link_url('EthernetNICs'), + # connection_parameters) except exception.InvalidRedfishContentException: # This is to avoid invalid content from the mockup self.ethernet_interfaces_collection = None @@ -359,7 +368,9 @@ def get_managed_chassis(self): try: for chassis in links.ManagerForChassis: - result = re.search(r'Chassis/(\w+)', chassis[mapping.redfish_mapper.map_links_ref(chassis)]) + result = re.search( + r'Chassis/(\w+)', + chassis[mapping.redfish_mapper.map_links_ref(chassis)]) chassis_list.append(result.group(1)) return chassis_list except AttributeError: @@ -413,7 +424,8 @@ def __init__(self, url, connection_parameters): self.managers_dict = {} for link in self.links: index = re.search(r'Managers/(\w+)', link) - self.managers_dict[index.group(1)] = Managers(link, connection_parameters) + self.managers_dict[index.group(1)] = Managers( + link, connection_parameters) class Systems(Device): @@ -674,14 +686,16 @@ def __init__(self, url, connection_parameters): for link in self.links: index = re.search(r'Systems/(\w+)', link) - self.systems_dict[index.group(1)] = Systems(link, connection_parameters) + self.systems_dict[index.group(1)] = Systems( + link, connection_parameters) class Bios(Base): '''Class to manage redfish Bios data.''' def __init__(self, url, connection_parameters): super(Bios, self).__init__(url, connection_parameters) - self.boot = Boot(re.findall('.+/Bios', url)[0] + '/Boot/Settings', connection_parameters) + self.boot = Boot(re.findall('.+/Bios', url)[0] + + '/Boot/Settings', connection_parameters) class Boot(Base): @@ -878,7 +892,8 @@ def __init__(self, url, connection_parameters): for link in self.links: index = re.search(r'Chassis/(\w+)', link) - self.chassis_dict[index.group(1)] = Chassis(link, connection_parameters) + self.chassis_dict[index.group(1)] = Chassis( + link, connection_parameters) class Chassis(Device): From dae27b4a7252190b4f071eb5aacfa1a37668509d Mon Sep 17 00:00:00 2001 From: Uggla Date: Wed, 6 Apr 2016 15:33:26 +0200 Subject: [PATCH 125/224] Fix missing home message --- redfish/config.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/redfish/config.py b/redfish/config.py index ccd9dc7..ffc9aee 100644 --- a/redfish/config.py +++ b/redfish/config.py @@ -29,10 +29,8 @@ os.mkdir(REDFISH_HOME) except IOError: print('ERROR: can\'t create {}.\n'.format(REDFISH_HOME)) - print(' Try to create directory {}'.format( - os.path.dirname(REDFISH_LOGFILE))) - print(' using: mkdir -p {}'.format( - os.path.dirname(REDFISH_LOGFILE))) + print(' Try to create directory {}'.format(REDFISH_HOME)) + print(' using: mkdir -p {}'.format(REDFISH_HOME)) sys.exit(1) REDFISH_LOGFILE = os.path.join(REDFISH_HOME, "python-redfish.log") From f1dfdf4b7b2338017d11cf78574e8c7bba044fb1 Mon Sep 17 00:00:00 2001 From: Uggla Date: Wed, 6 Apr 2016 15:50:57 +0200 Subject: [PATCH 126/224] Nicer import --- redfish/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redfish/__init__.py b/redfish/__init__.py index 724f97e..ec1f05c 100644 --- a/redfish/__init__.py +++ b/redfish/__init__.py @@ -19,7 +19,7 @@ from future import standard_library import pbr.version -from redfish.main import * +from redfish.main import connect standard_library.install_aliases() try: From c85f2a56f0af7ebe5fb61107acea3b931739470b Mon Sep 17 00:00:00 2001 From: Uggla Date: Wed, 6 Apr 2016 19:25:55 +0200 Subject: [PATCH 127/224] Remove not working tests --- redfish/tests/__init__.py | 0 redfish/tests/base.py | 23 ------- redfish/tests/test_redfish.py | 122 ---------------------------------- 3 files changed, 145 deletions(-) delete mode 100644 redfish/tests/__init__.py delete mode 100644 redfish/tests/base.py delete mode 100644 redfish/tests/test_redfish.py diff --git a/redfish/tests/__init__.py b/redfish/tests/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/redfish/tests/base.py b/redfish/tests/base.py deleted file mode 100644 index 1c30cdb..0000000 --- a/redfish/tests/base.py +++ /dev/null @@ -1,23 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright 2010-2011 OpenStack Foundation -# Copyright (c) 2013 Hewlett-Packard Development Company, L.P. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -from oslotest import base - - -class TestCase(base.BaseTestCase): - - """Test case base class for all unit tests.""" diff --git a/redfish/tests/test_redfish.py b/redfish/tests/test_redfish.py deleted file mode 100644 index b70b43b..0000000 --- a/redfish/tests/test_redfish.py +++ /dev/null @@ -1,122 +0,0 @@ -# -*- coding: utf-8 -*- - -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -""" -test_redfish ----------------------------------- - -Tests for `redfish` module. -""" - -import fixtures -import httplib -import json -import mock -import ssl - -from redfish.tests import base -from redfish import server -from redfish import types - - -def get_fake_params(host=None, user=None, pword=None): - if not host: - host = 'https://127.0.0.1' - if not user: - user = 'admin' - if not pword: - pword = 'password' - return (host, user, pword) - - -def get_response(): - class _response(object): - status = 200 - def read(self): - return '{"foo": "bar"}' - def getheaders(self): - return [('Fake-Header', 'fake value')] - return _response() - - -class TestException(Exception): - pass - - -class TestRedfishConnection(base.TestCase): - - def setUp(self): - super(TestRedfishConnection, self).setUp() - self.log_fixture = self.useFixture(fixtures.FakeLogger()) - self.con_mock = mock.MagicMock() - self.con_mock.getresponse = get_response - - self.http_mock = mock.patch.object(httplib, 'HTTPConnection').start() - self.http_mock.return_value = self.con_mock - self.https_mock = mock.patch.object(httplib, 'HTTPSConnection').start() - self.https_mock.return_value = self.con_mock - self.addCleanup(self.http_mock.stop) - self.addCleanup(self.https_mock.stop) - - def test_create_ok(self): - con = server.RedfishConnection(*get_fake_params()) - self.assertEqual(1, self.https_mock.call_count) - self.assertEqual(0, self.http_mock.call_count) - - def test_create_calls_https_connect(self): - self.https_mock.side_effect = TestException() - self.assertRaises(TestException, - server.RedfishConnection, - *get_fake_params(host='https://fake')) - - def test_create_calls_http_connect(self): - self.http_mock.side_effect = TestException() - self.assertRaises(TestException, - server.RedfishConnection, - *get_fake_params(host='http://fake')) - - # TODO: add test for unknown connection schema (eg, ftp://) - -# FIXME: ssl module has no attribute 'SSLContext' -# NOTE: skip this test if sys.version_info (major, minor) != (2, 7) and micro < 9 -# @mock.patch.object(ssl, 'SSLContext') -# def test_insecure_ssl(self, ssl_mock): -# ssl_mock.return_value = mock.Mock() -# con = connection.RedfishConnection(*get_fake_params) -# ssl_mock.assert_called_once_with(ssl.PROTOCOL_TLSv1) - - def test_get_ok(self): - con = server.RedfishConnection(*get_fake_params()) - res = con.rest_get('/v1/test/', '') - self.assertEqual(200, con.status) - # Headers ae lower cased when returned - self.assertIn('fake-header', con.headers.keys()) - self.assertIn('foo', res.keys()) - self.con_mock.request.assert_called_with( - 'GET', '/v1/test/', body='null', headers=mock.ANY) - - # TODO: add test for redirects - - # TODO: add test for collections - - # TODO: add test for gzip'd body - - def test_post_ok(self): - body = '{"fake": "body"}' - json_body = json.dumps(body) - con = server.RedfishConnection(*get_fake_params()) - res = con.rest_post('/v1/test/', '', body) - self.assertEqual(200, con.status) - self.con_mock.request.assert_called_with( - 'POST', '/v1/test/', body=json_body, headers=mock.ANY) From dbf6a0a53058306f92025602730e76e881915f02 Mon Sep 17 00:00:00 2001 From: Uggla Date: Wed, 6 Apr 2016 20:30:08 +0200 Subject: [PATCH 128/224] Update doc --- README.rst | 12 +++-- doc/source/installation.rst | 97 +++++++++++++++++++++++-------------- doc/source/testing.rst | 6 +-- 3 files changed, 71 insertions(+), 44 deletions(-) diff --git a/README.rst b/README.rst index cb69f58..b8f3d2b 100644 --- a/README.rst +++ b/README.rst @@ -1,13 +1,13 @@ python-redfish ============== -This repository will be used to house the Redfish python library, a reference +This repository will be used to house the python-redfish library, a reference implementation to enable Python developers to communicate with the Redfish API (http://www.dmtf.org/standards/redfish). NOTE:: - DRAFT - WORK IN PROGRESS + STATUS: Work in progress, ready for proof of concept. The current Redfish specification revision is 1.0.0 - Note that the mockup is still at version 0.99.0a and may not reflect what the standard provides @@ -34,7 +34,7 @@ for build and test automation:: pbconf # Project builder file to build rpm/deb packages for # distributions redfish/ # The redfish library itself - redfish/tests/ # Python redfish unit test suite + redfish/tests/ # python-redfish unit test suite redfish-client # Client tool to manage redfish devices Requirements @@ -49,6 +49,8 @@ are discouraged due to security. Python requirements are listed in requirements.txt; additional requirements for running the unit test suite are listed in test-requirements.txt. +Note: Running tests requires Docker engine. + Note: The program was tested with Python 2.7.10 and 3.4.2 however it might work as well with all Python 3 releases. @@ -57,9 +59,9 @@ Get the sources The sources are available on github and can be retrieved using:: - git clone https://github.com/uggla/python-redfish + git clone https://github.com/bcornec/python-redfish -As python redefish is currently in heavy development we recommend to checkout the devel branch using:: +As python-redfish is currently in heavy development we recommend to checkout the devel branch using:: cd python-redfish git checkout devel diff --git a/doc/source/installation.rst b/doc/source/installation.rst index 2698e3f..c2040ed 100644 --- a/doc/source/installation.rst +++ b/doc/source/installation.rst @@ -2,22 +2,36 @@ Installation ============ -Using pip ---------- -Use:: +The following instructions are ordered by ease of use, and our project recommendations. - sudo pip install python-redfish -Pip will install : +Using rpm packages +------------------ -1. The library and all dependencies into prefix/lib/pythonX.Y/site-packages directory -2. Redfish client master conf file into prefix/etc/redfish_client.conf - Unless if prefix = '/usr', in that case force configuration file to be in /etc +There is currently no official Linux distribution packages. -3. Data file (templates) into prefix/share/redfish-client/templates +The upstream project provides packages for a limited set of Linux distributions. -Point 2 and 3 above need root access to your system. If you don't have root -access on your system, please follow `Using pip and virtualenv`_ section. +There are available at ftp://ftp.project-builder.org + +As an example for Fedora 23 use the following: + +As root get the repo file:: + + cd /etc/yum.repos.d && wget ftp://ftp.project-builder.org/fedora/23/x86_64/python-redfish.repo + +Install using dnf:: + + dnf install python-redfish + + +.. + Using deb package + ----------------- + + This installation in not yet possible due to missing deb package dependencies. We are working on it. + + In the meantime we recommend to use `Using pip`_ or `Using pip and virtualenv`_. Using pip and virtualenv @@ -51,29 +65,47 @@ Using pip and virtualenv All files are installed under your virtualenv. -Using the sources + +Using pip +--------- +Use:: + + sudo pip install python-redfish + +Pip will install : + +1. The library and all dependencies into prefix/lib/pythonX.Y/site-packages directory +2. redfish-client conf file into prefix/etc/redfish-client.conf. + If prefix = '/usr' then force the configuration file to be in /etc + +3. Data files (templates) into prefix/share/redfish-client/templates + +Point 2 and 3 above need root access to your system. If you don't have root +access on your system, please follow `Using pip and virtualenv`_ section. + + +Using source code ----------------- -#. Follow `get the sources `_ section to retrieve the sources. -#. Install from the source using:: +#. Follow `get the source code `_ section to retrieve it. +#. Install from the source code using:: python setup.py install --prefix="/usr/local" -Using rpm package ------------------ +Building your own rpm packages +------------------------------ -There is currently no oficial packages for distributions. -However part of the sources there is a mechanism to buil rpm or deb packages for distributions. +Inside the project tree there is a mechanism to build rpm packages for distributions. The mechanism is based on `project builder `_ tool. -#. Follow `get the sources `_ section to retrieve the sources. +#. Follow `get the source code `_ section to retrieve it. #. Download project builder for your distribution from ftp://ftp.project-builder.org. #. Clone the project to your own github account. -#. Create a .pbrc with the following content, replace "/wokspace/python/redfish" and "uggla" with your own directory and account:: +#. Create a .pbrc with the following content, replace "/workspace/python/redfish" and "uggla" with your own directory and account:: - [uggla@ugglalaptop ~]$ cat .pbrc + $ cat .pbrc pbdefdir python-redfish = $ENV{'HOME'}/workspace pbconfdir python-redfish = $ENV{'HOME'}/workspace/python-redfish/pbconf pbconfurl python-redfish = git+ssh://git@github.com:uggla/python-redfish.git @@ -91,18 +123,9 @@ The mechanism is based on `project builder `_ t rpm -Uvh python-redfish/build/RPMS/python-redfish-devel20160213182552.rpm -#. Follow `get the sources `_ section to retrieve the sources. - -Using deb package ------------------ - -This installation in not yet possible due to missing deb package dependencies. We are working on it. - -In the meantime we recommend to use `Using pip`_ or `Using pip and virtualenv`_. - -===================================== -Host configuration file configuration -===================================== +============================ +Inventory file configuration +============================ #. Verify redfish-client is working correclty:: @@ -116,12 +139,14 @@ Host configuration file configuration redfish-client config showall +Note: The inventory file is created in $HOME/.redfish + =================== Mockup installation =================== -#. Follow `get the sources `_ section to retrieve the sources. -#. Install docker using your distribution packages or the docker `procedure `_ (docker provide more recent packages for ubuntu):: +#. Follow `get the source code `_ section to retrieve it. +#. Install docker using your distribution packages or the docker `procedure `_ (docker provides more recent packages):: dnf install docker systemctl enable docker.service @@ -132,7 +157,7 @@ Mockup installation #. Run ./buildImage.sh and ./run-redfish-simulator.sh #. Check that a container is running and listening on port 8000:: - (pypi)[uggla@ugglalaptop dmtf]$ docker ps + $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9943ff1d4d93 redfish-simulator:latest "/bin/sh -c /tmp/redf" 3 weeks ago Up 2 days 0.0.0.0:8000->80/tcp redfish-simulator #. Try to connect using a navigator to http://localhost:8000 the following screen should apear. diff --git a/doc/source/testing.rst b/doc/source/testing.rst index 947b1b6..040d829 100644 --- a/doc/source/testing.rst +++ b/doc/source/testing.rst @@ -8,13 +8,13 @@ redfish module tests Tests are not functional for the redfish module yet. -refish-client tests -------------------- +redfish-client tests +-------------------- #. Create your development environment following `Developer setup `_. #. Install docker using the `procedure `_. #. Ensure you can use docker with your current user. -#. Jump into redfish-python directory containing the sources. +#. Jump into python-redfish directory containing the sources. #. Depending of your distribution, you may have to upgrade setuptools:: pip install --upgrade setuptools From 2b3c0824858b8ed113a8ba9fa2287ca07e634e4d Mon Sep 17 00:00:00 2001 From: Uggla Date: Thu, 7 Apr 2016 15:26:35 +0200 Subject: [PATCH 129/224] Update doc again --- CONTRIBUTING.rst | 2 +- README.rst | 12 ++++++------ doc/source/develsetup.rst | 2 +- doc/source/help.rst | 1 - doc/source/installation.rst | 31 ++++++++++++++++--------------- doc/source/testing.rst | 2 +- doc/source/usage.rst | 6 +++--- 7 files changed, 28 insertions(+), 28 deletions(-) diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index f7e62ed..1e21a5d 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -2,4 +2,4 @@ If you would like to contribute to the development of this project. Submit your pull request and issues to https://github.com/bcornec/python-redfish. -You can also share and discuss on the mailing list as well. +You can also share and discuss on the mailing list as well at http://mondorescue.org/sympa/arc/python-redfish. diff --git a/README.rst b/README.rst index b8f3d2b..4aba520 100644 --- a/README.rst +++ b/README.rst @@ -1,5 +1,5 @@ -python-redfish -============== +The python-redfish project +========================== This repository will be used to house the python-redfish library, a reference implementation to enable Python developers to communicate with the Redfish API @@ -20,7 +20,7 @@ The full documentation is available at http://pythonhosted.org/python-redfish/installation.html Project Structure -------------------- +----------------- This project follows the same convention as OpenStack projects, eg. using pbr for build and test automation:: @@ -54,10 +54,10 @@ Note: Running tests requires Docker engine. Note: The program was tested with Python 2.7.10 and 3.4.2 however it might work as well with all Python 3 releases. -Get the sources ---------------- +Get the source code +------------------- -The sources are available on github and can be retrieved using:: +The source code is available on github and can be retrieved using:: git clone https://github.com/bcornec/python-redfish diff --git a/doc/source/develsetup.rst b/doc/source/develsetup.rst index 551a3fd..64d9dcb 100644 --- a/doc/source/develsetup.rst +++ b/doc/source/develsetup.rst @@ -2,7 +2,7 @@ Developer setup =============== -#. Follow `get the sources `_ section to retrieve the sources. +#. Follow `get the source code `_ section to retrieve the sources. #. Follow `using pip and virtualenv `_ section to create your environment. You can start hacking the code now. diff --git a/doc/source/help.rst b/doc/source/help.rst index e229349..db643ab 100644 --- a/doc/source/help.rst +++ b/doc/source/help.rst @@ -5,7 +5,6 @@ Help required We need help on the following topic: - debian/ubuntu dependencies packaging. -- python3 testing. - installation on distributions which are not Fedora or Mageia. - documentation. diff --git a/doc/source/installation.rst b/doc/source/installation.rst index c2040ed..4c7440d 100644 --- a/doc/source/installation.rst +++ b/doc/source/installation.rst @@ -16,13 +16,13 @@ There are available at ftp://ftp.project-builder.org As an example for Fedora 23 use the following: -As root get the repo file:: +1. As root get the repo file:: - cd /etc/yum.repos.d && wget ftp://ftp.project-builder.org/fedora/23/x86_64/python-redfish.repo + cd /etc/yum.repos.d && wget ftp://ftp.project-builder.org/fedora/23/x86_64/python-redfish.repo -Install using dnf:: +2. Install using dnf:: - dnf install python-redfish + dnf install python-redfish .. @@ -87,7 +87,7 @@ access on your system, please follow `Using pip and virtualenv`_ section. Using source code ----------------- -#. Follow `get the source code `_ section to retrieve it. +#. Follow `get the source code `_ section to retrieve it. #. Install from the source code using:: python setup.py install --prefix="/usr/local" @@ -100,7 +100,7 @@ Inside the project tree there is a mechanism to build rpm packages for distribut The mechanism is based on `project builder `_ tool. -#. Follow `get the source code `_ section to retrieve it. +#. Follow `get the source code `_ section to retrieve it. #. Download project builder for your distribution from ftp://ftp.project-builder.org. #. Clone the project to your own github account. #. Create a .pbrc with the following content, replace "/workspace/python/redfish" and "uggla" with your own directory and account:: @@ -114,10 +114,9 @@ The mechanism is based on `project builder `_ t pb -p python-redfish sbx2pkg - or:: + or:: pb -p python-redfish sbx2pkg2ins - #. All packages (srpm/rpm) should be available into the build directory, then install the package using rpm:: rpm -Uvh python-redfish/build/RPMS/python-redfish-devel20160213182552.rpm @@ -145,8 +144,10 @@ Note: The inventory file is created in $HOME/.redfish Mockup installation =================== -#. Follow `get the source code `_ section to retrieve it. -#. Install docker using your distribution packages or the docker `procedure `_ (docker provides more recent packages):: +#. Follow `get the source code `_ section to retrieve it. +#. Install docker using your distribution packages or the docker `procedure `_ (docker provides more recent packages): + +As an example for Fedora 23 use the following:: dnf install docker systemctl enable docker.service @@ -170,14 +171,14 @@ Note : in the above screenshot, firefox JSON-handle extension is used. If you wa Testing against the mockup ========================== -#. Follow `Host configuration file configuration`_ and `Mockup installation`_ section. +#. Follow `Inventory file configuration`_ and `Mockup installation`_ section. #. Run the following command:: redfish-client manager getinfo The result should be like this:: - (pypi)[uggla@ugglalaptop dmtf]$ redfish-client manager getinfo + $ redfish-client manager getinfo Gathering data from manager, please wait... Redfish API version : 1.00 @@ -231,10 +232,10 @@ The result should be like this:: Building local documentation ============================ -Building the html documentation locally +Building the html documentation locally. -#. Follow `get the sources `_ section to retrieve the sources. +#. Follow `get the source code `_ section to retrieve it. #. Jump in the doc directory:: cd doc @@ -245,7 +246,7 @@ Building the html documentation locally If you want to build the documentation in pdf. -#. Get texlive full distribution, ex on Fedora:: +#. Get texlive full distribution, e.g. on Fedora 23:: dnf install texlive-scheme-full #. Build the documentation:: diff --git a/doc/source/testing.rst b/doc/source/testing.rst index 040d829..e8f2788 100644 --- a/doc/source/testing.rst +++ b/doc/source/testing.rst @@ -14,7 +14,7 @@ redfish-client tests #. Create your development environment following `Developer setup `_. #. Install docker using the `procedure `_. #. Ensure you can use docker with your current user. -#. Jump into python-redfish directory containing the sources. +#. Jump into the python-redfish directory containing the source code. #. Depending of your distribution, you may have to upgrade setuptools:: pip install --upgrade setuptools diff --git a/doc/source/usage.rst b/doc/source/usage.rst index 9bc79e3..1f8d19f 100644 --- a/doc/source/usage.rst +++ b/doc/source/usage.rst @@ -11,8 +11,8 @@ redfish mockup. Example using a proliant ------------------------ -example/simple-proliant.py provide a simple library usage to interact with a HP -proliant BL460C G9 server. However this example should work on any server supplier following redfish +example/simple-proliant.py provide a simple library usage to interact with a HPE +ProLiant BL460C G9 server. However this example should work on any server supplier following redfish standard. redfish-client usage @@ -22,5 +22,5 @@ The client usage can be display using:: redfish-client -h -This is also available at http://pythonhosted.org/python-redfish/redfish-client.html . +This is also available at http://pythonhosted.org/python-redfish/redfish-client.html. From 2727988114ed7fef0cfc3df167ac0eda387ecff2 Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Fri, 8 Apr 2016 02:42:15 +0200 Subject: [PATCH 130/224] Fix rpm build because of the removal of tests --- pbconf/python-redfish/rpm/python-redfish.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pbconf/python-redfish/rpm/python-redfish.spec b/pbconf/python-redfish/rpm/python-redfish.spec index 8c9d963..89185a9 100644 --- a/pbconf/python-redfish/rpm/python-redfish.spec +++ b/pbconf/python-redfish/rpm/python-redfish.spec @@ -80,7 +80,7 @@ popd %config(noreplace) %{_sysconfdir}/redfish-client.conf %dir %{python_sitelib}/redfish %{python_sitelib}/redfish/*.py* -%{python_sitelib}/redfish/tests/*.py* +#%{python_sitelib}/redfish/tests/*.py* %{python_sitelib}/python_redfish* # Needs improvement to host all .1 man pages but not the py3 ones %{_mandir}/man1/PBREALPKG.1* @@ -91,8 +91,8 @@ popd %dir %{python3_sitelib}/redfish %{python3_sitelib}/redfish/*.py* %{python3_sitelib}/redfish/__pycache__/*.py* -%{python3_sitelib}/redfish/tests/*.py* -%{python3_sitelib}/redfish/tests/__pycache__/*.py* +#%{python3_sitelib}/redfish/tests/*.py* +#%{python3_sitelib}/redfish/tests/__pycache__/*.py* %{python3_sitelib}/python_redfish* %{_mandir}/man1/*-py3.1* From 8db813dc6d5201b80680fb78978004dfbf98f6c1 Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Fri, 8 Apr 2016 02:47:42 +0200 Subject: [PATCH 131/224] Update python-redfish.pb for 0.3 release --- pbconf/python-redfish.pb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pbconf/python-redfish.pb b/pbconf/python-redfish.pb index 3824a9e..4f0df50 100644 --- a/pbconf/python-redfish.pb +++ b/pbconf/python-redfish.pb @@ -99,7 +99,7 @@ vetype python-redfish = docker # # Global version/tag for the project # -projver python-redfish = devel +projver python-redfish = 0.3 projtag python-redfish = 1 # Hash of valid version names @@ -110,9 +110,9 @@ projtag python-redfish = 1 #version python-redfish = devel,stable # Is it a test version or a production version -testver python-redfish = true +#testver python-redfish = true # Which upper target dir for delivery -delivery python-redfish = test +delivery python-redfish = # Additional repository to add at build time # addrepo centos-5-x86_64 = http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm,ftp://ftp.project-builder.org/centos/5/pb.repo From 81826e6027c8a6afbbc8b0bf55001fedc8e439ff Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Thu, 28 Apr 2016 19:58:29 +0200 Subject: [PATCH 132/224] - pbr is now not needed anymore to build packages pbr is called by project-builder.org directly through the sdist target of the setup.py script This requires a new version of project-builder.org --- pbconf/pbfilter/rpm.pbf | 8 ++++---- pbconf/python-redfish.pb | 6 ++---- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/pbconf/pbfilter/rpm.pbf b/pbconf/pbfilter/rpm.pbf index 78d8c9d..b01ef59 100644 --- a/pbconf/pbfilter/rpm.pbf +++ b/pbconf/pbfilter/rpm.pbf @@ -14,10 +14,10 @@ filter PBLIC = ASL 2.0 #filter PBDEP = # PBBDEP is replaced by the list of build dependencies -filter PBPYTHON2BDEP = python-devel,python-setuptools,python-pbr >= 0.8,python-sphinx >= 1.2.3,python-future >= 0.15.2 -filter PBPYTHON2DEP = python-docopt >= 0.6.2,python-tortilla >= 0.4.1,python-jinja2 >= 2.7.3,python-pbr >= 0.8,python-simplejson >= 3.8.1,python-requests >= 2.9.1,python-configparser >= 3.3.0 -filter PBPYTHON3BDEP = python3-devel,python3-setuptools,python3-pbr >= 0.8,python3-sphinx >= 1.2.3,python3-future >= 0.15.2 -filter PBPYTHON3DEP = python3-docopt >= 0.6.2,python3-tortilla >= 0.4.1,python3-jinja2 >= 2.7.3,python3-pbr >= 0.8,python3-simplejson >= 3.8.1,python3-requests >= 2.9.1 +filter PBPYTHON2BDEP = python-devel,python-setuptools,python-sphinx >= 1.2.3,python-future >= 0.15.2 +filter PBPYTHON2DEP = python-docopt >= 0.6.2,python-tortilla >= 0.4.1,python-jinja2 >= 2.7.3,python-simplejson >= 3.8.1,python-requests >= 2.9.1,python-configparser >= 3.3.0 +filter PBPYTHON3BDEP = python3-devel,python3-setuptools,python3-sphinx >= 1.2.3,python3-future >= 0.15.2 +filter PBPYTHON3DEP = python3-docopt >= 0.6.2,python3-tortilla >= 0.4.1,python3-jinja2 >= 2.7.3,python3-simplejson >= 3.8.1,python3-requests >= 2.9.1 filter PBPYTHON3PKG = python3-redfish # PBSUF is replaced by the package suffix ($pb->{'suf'} in code) diff --git a/pbconf/python-redfish.pb b/pbconf/python-redfish.pb index 3824a9e..b032b89 100644 --- a/pbconf/python-redfish.pb +++ b/pbconf/python-redfish.pb @@ -133,7 +133,5 @@ defpkgdir python-redfish = . filteredfiles python-redfish = redfish-client/redfish-client,doc/source/conf.py,redfish-client/etc/redfish-client.conf,install.sh #supfiles python-redfish = python-redfish.init -# For perl modules, names are different depending on distro -# Here perl-xxx for RPMs, libxxx-perl for debs, ... -# So the package name is indeed virtual -#namingtype python-redfish = perl +# We use pbr to generate sources +pbpbr python-redfish = 1 From 8560e6c230786928346c50529536919e7fcefc6c Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Sat, 30 Apr 2016 01:02:52 +0200 Subject: [PATCH 133/224] Fix rpm build - Working rpm build For mageia 5 and Fedora 23 - Review mageia 5 and Fedora 23 dependencies and upload missing one on ftp server - pbr not used in package build anymore, called by pb in 0.14.1 version. Fully standalone version after sbx2build - Fix doc production and man pages - update gitignore for latest pb version - Remove useless pb filters - Will become real 0.3 (no code change, just build infra) --- .gitignore | 11 +++++++--- doc/source/faq.rst | 2 +- install.sh | 10 ++++----- pbconf/pbfilter/debian-3.1.pbf | 11 ---------- pbconf/pbfilter/debian-4.0.pbf | 11 ---------- pbconf/pbfilter/debian-5.0.pbf | 11 ---------- pbconf/pbfilter/debian-6.0.pbf | 11 ---------- pbconf/pbfilter/debian-7.0.pbf | 11 ---------- pbconf/pbfilter/fedora-1.pbf | 9 -------- pbconf/pbfilter/fedora-2.pbf | 9 -------- pbconf/pbfilter/fedora-3.pbf | 9 -------- pbconf/pbfilter/fedora-4.pbf | 9 -------- pbconf/pbfilter/fedora-5.pbf | 9 -------- pbconf/pbfilter/fedora-6.pbf | 9 -------- pbconf/pbfilter/fedora-7.pbf | 9 -------- pbconf/pbfilter/fedora.pbf | 2 ++ pbconf/pbfilter/md.pbf | 2 ++ pbconf/pbfilter/rpm.pbf | 4 ++-- pbconf/pbfilter/ubuntu-6.06.pbf | 11 ---------- pbconf/pbfilter/ubuntu-7.04.pbf | 11 ---------- pbconf/pbfilter/ubuntu-7.10.pbf | 11 ---------- pbconf/pbfilter/ubuntu-8.04.pbf | 11 ---------- pbconf/pbfilter/ubuntu-8.10.pbf | 11 ---------- pbconf/pbfilter/ubuntu-9.04.pbf | 11 ---------- pbconf/python-redfish/rpm/python-redfish.spec | 21 ++++++++++--------- 25 files changed, 31 insertions(+), 205 deletions(-) delete mode 100644 pbconf/pbfilter/debian-3.1.pbf delete mode 100644 pbconf/pbfilter/debian-4.0.pbf delete mode 100644 pbconf/pbfilter/debian-5.0.pbf delete mode 100644 pbconf/pbfilter/debian-6.0.pbf delete mode 100644 pbconf/pbfilter/debian-7.0.pbf delete mode 100644 pbconf/pbfilter/fedora-1.pbf delete mode 100644 pbconf/pbfilter/fedora-2.pbf delete mode 100644 pbconf/pbfilter/fedora-3.pbf delete mode 100644 pbconf/pbfilter/fedora-4.pbf delete mode 100644 pbconf/pbfilter/fedora-5.pbf delete mode 100644 pbconf/pbfilter/fedora-6.pbf delete mode 100644 pbconf/pbfilter/fedora-7.pbf delete mode 100644 pbconf/pbfilter/ubuntu-6.06.pbf delete mode 100644 pbconf/pbfilter/ubuntu-7.04.pbf delete mode 100644 pbconf/pbfilter/ubuntu-7.10.pbf delete mode 100644 pbconf/pbfilter/ubuntu-8.04.pbf delete mode 100644 pbconf/pbfilter/ubuntu-8.10.pbf delete mode 100644 pbconf/pbfilter/ubuntu-9.04.pbf diff --git a/.gitignore b/.gitignore index 6ec79a6..30fe283 100644 --- a/.gitignore +++ b/.gitignore @@ -22,6 +22,8 @@ var/ *.egg-info/ .installed.cfg *.egg +AUTHORS +ChangeLog # PyInstaller # Usually these files are written by a python script from a template @@ -57,9 +59,12 @@ docs/_build/ # PyBuilder target/ -# Project-Builder.org -delivery/ -build/ +# Project-Builder.org 0.14.1 +pbdelivery/ +pbbuild/ + +# ctags +tags # Pydev .project diff --git a/doc/source/faq.rst b/doc/source/faq.rst index 8e53b2a..3067024 100644 --- a/doc/source/faq.rst +++ b/doc/source/faq.rst @@ -4,7 +4,7 @@ FAQ - Q1 : error in setup command: Invalid environment marker: (python_version < '3') - This error is caused by old setuptools revisions that do not understant "python_version < '3'". + This error is caused by an old setuptools version that does not understand "python_version < '3'". Upgrade setuptools using:: pip install --upgrade setuptools diff --git a/install.sh b/install.sh index b0a8ef8..dffc4d9 100755 --- a/install.sh +++ b/install.sh @@ -11,17 +11,17 @@ export pkg=$5 # Documentation installation only if [ $python = "doc" ]; then - install -d 755 $rootdir/$prefix/share/doc/$5/html/_static - install -m 644 doc/build/singlehtml/*.html $rootdir/$prefix/share/doc/$5/html - install -m 644 doc/build/singlehtml/_static/* $rootdir/$prefix/share/doc/$5/html/_static - install -m 644 doc/build/latex/*.pdf $rootdir/$prefix/share/doc/$5/ + install -d 755 $rootdir/$prefix/share/doc/$5/manual/html/_static + install -m 644 doc/build/singlehtml/*.html $rootdir/$prefix/share/doc/$5/manual/html + install -m 644 doc/build/singlehtml/_static/* $rootdir/$prefix/share/doc/$5/manual/html/_static + install -m 644 doc/build/latex/*.pdf $rootdir/$prefix/share/doc/$5/manual/ exit 0 fi pyver=`$python --version 2>&1 | perl -p -e 's|.* ([2-3])\..*|$1|'` $python setup.py install --skip-build --root=$rootdir --prefix=$prefix -rm -rf $rootdir/$sitelib/redfish/old +rm -rf $rootdir/$sitelib/redfish/old $rootdir/$prefix/share/doc/$5/html $rootdir/$prefix/share/doc/$5/*.pdf # Hardcoded for now to solve the delivery of the conf file still not correct with setup.py mkdir -p $rootdir/etc diff --git a/pbconf/pbfilter/debian-3.1.pbf b/pbconf/pbfilter/debian-3.1.pbf deleted file mode 100644 index b4eaf1d..0000000 --- a/pbconf/pbfilter/debian-3.1.pbf +++ /dev/null @@ -1,11 +0,0 @@ -# -# $Id$ -# -# Filter for debian build -# -# PBDEBSTD is replaced by the Debian standard version -filter PBDEBSTD = 3.6.1 - -# PBDEBCOMP is replaced by the Debian Compatibility value -filter PBDEBCOMP = 4 - diff --git a/pbconf/pbfilter/debian-4.0.pbf b/pbconf/pbfilter/debian-4.0.pbf deleted file mode 100644 index 88f897f..0000000 --- a/pbconf/pbfilter/debian-4.0.pbf +++ /dev/null @@ -1,11 +0,0 @@ -# -# $Id$ -# -# Filter for debian build -# -# PBDEBSTD is replaced by the Debian standard version -filter PBDEBSTD = 3.6.1 - -# PBDEBCOMP is replaced by the Debian Compatibility value -filter PBDEBCOMP = 5 - diff --git a/pbconf/pbfilter/debian-5.0.pbf b/pbconf/pbfilter/debian-5.0.pbf deleted file mode 100644 index 2fa6292..0000000 --- a/pbconf/pbfilter/debian-5.0.pbf +++ /dev/null @@ -1,11 +0,0 @@ -# -# $Id$ -# -# Filter for debian build -# -# PBDEBSTD is replaced by the Debian standard version -filter PBDEBSTD = 3.8.0 - -# PBDEBCOMP is replaced by the Debian Compatibility value -filter PBDEBCOMP = 7 - diff --git a/pbconf/pbfilter/debian-6.0.pbf b/pbconf/pbfilter/debian-6.0.pbf deleted file mode 100644 index 2fa6292..0000000 --- a/pbconf/pbfilter/debian-6.0.pbf +++ /dev/null @@ -1,11 +0,0 @@ -# -# $Id$ -# -# Filter for debian build -# -# PBDEBSTD is replaced by the Debian standard version -filter PBDEBSTD = 3.8.0 - -# PBDEBCOMP is replaced by the Debian Compatibility value -filter PBDEBCOMP = 7 - diff --git a/pbconf/pbfilter/debian-7.0.pbf b/pbconf/pbfilter/debian-7.0.pbf deleted file mode 100644 index f9a8238..0000000 --- a/pbconf/pbfilter/debian-7.0.pbf +++ /dev/null @@ -1,11 +0,0 @@ -# -# $Id$ -# -# Filter for debian build -# -# PBDEBSTD is replaced by the Debian standard version -filter PBDEBSTD = 3.9.4 - -# PBDEBCOMP is replaced by the Debian Compatibility value -filter PBDEBCOMP = 9 - diff --git a/pbconf/pbfilter/fedora-1.pbf b/pbconf/pbfilter/fedora-1.pbf deleted file mode 100644 index 67bfb52..0000000 --- a/pbconf/pbfilter/fedora-1.pbf +++ /dev/null @@ -1,9 +0,0 @@ -# -# $Id$ -# -# Filter for old fedora build -# - -# PBSUF is replaced by the package suffix ($pb->{'suf'} in code) -filter PBSUF = $pb->{'suf'} - diff --git a/pbconf/pbfilter/fedora-2.pbf b/pbconf/pbfilter/fedora-2.pbf deleted file mode 100644 index 67bfb52..0000000 --- a/pbconf/pbfilter/fedora-2.pbf +++ /dev/null @@ -1,9 +0,0 @@ -# -# $Id$ -# -# Filter for old fedora build -# - -# PBSUF is replaced by the package suffix ($pb->{'suf'} in code) -filter PBSUF = $pb->{'suf'} - diff --git a/pbconf/pbfilter/fedora-3.pbf b/pbconf/pbfilter/fedora-3.pbf deleted file mode 100644 index 67bfb52..0000000 --- a/pbconf/pbfilter/fedora-3.pbf +++ /dev/null @@ -1,9 +0,0 @@ -# -# $Id$ -# -# Filter for old fedora build -# - -# PBSUF is replaced by the package suffix ($pb->{'suf'} in code) -filter PBSUF = $pb->{'suf'} - diff --git a/pbconf/pbfilter/fedora-4.pbf b/pbconf/pbfilter/fedora-4.pbf deleted file mode 100644 index 67bfb52..0000000 --- a/pbconf/pbfilter/fedora-4.pbf +++ /dev/null @@ -1,9 +0,0 @@ -# -# $Id$ -# -# Filter for old fedora build -# - -# PBSUF is replaced by the package suffix ($pb->{'suf'} in code) -filter PBSUF = $pb->{'suf'} - diff --git a/pbconf/pbfilter/fedora-5.pbf b/pbconf/pbfilter/fedora-5.pbf deleted file mode 100644 index 67bfb52..0000000 --- a/pbconf/pbfilter/fedora-5.pbf +++ /dev/null @@ -1,9 +0,0 @@ -# -# $Id$ -# -# Filter for old fedora build -# - -# PBSUF is replaced by the package suffix ($pb->{'suf'} in code) -filter PBSUF = $pb->{'suf'} - diff --git a/pbconf/pbfilter/fedora-6.pbf b/pbconf/pbfilter/fedora-6.pbf deleted file mode 100644 index 67bfb52..0000000 --- a/pbconf/pbfilter/fedora-6.pbf +++ /dev/null @@ -1,9 +0,0 @@ -# -# $Id$ -# -# Filter for old fedora build -# - -# PBSUF is replaced by the package suffix ($pb->{'suf'} in code) -filter PBSUF = $pb->{'suf'} - diff --git a/pbconf/pbfilter/fedora-7.pbf b/pbconf/pbfilter/fedora-7.pbf deleted file mode 100644 index 67bfb52..0000000 --- a/pbconf/pbfilter/fedora-7.pbf +++ /dev/null @@ -1,9 +0,0 @@ -# -# $Id$ -# -# Filter for old fedora build -# - -# PBSUF is replaced by the package suffix ($pb->{'suf'} in code) -filter PBSUF = $pb->{'suf'} - diff --git a/pbconf/pbfilter/fedora.pbf b/pbconf/pbfilter/fedora.pbf index 7c5bf4d..8fc50ec 100644 --- a/pbconf/pbfilter/fedora.pbf +++ b/pbconf/pbfilter/fedora.pbf @@ -24,3 +24,5 @@ filter PBSUF = %{dist} # PBOBS is replaced by the Obsolete line #filter PBOBS = +filter PB2PYTHON2BDEP = texlive-multirow,texlive-upquote,texlive-wrapfig,texlive-threepartttble,texlive-titlesec +filter PB2PYTHON3BDEP = texlive-multirow,texlive-upquote,texlive-wrapfig,texlive-threepartttble,texlive-titlesec diff --git a/pbconf/pbfilter/md.pbf b/pbconf/pbfilter/md.pbf index 20fe4a7..bb66d29 100644 --- a/pbconf/pbfilter/md.pbf +++ b/pbconf/pbfilter/md.pbf @@ -6,3 +6,5 @@ filter PBGRP = Development/Python # Cf: http://wiki.mandriva.com/en/Development/Packaging/Licenses #filter PBLIC = GPL +filter PB2PYTHON2BDEP = python-pkg-resources >= 18, texlive-dist +filter PB2PYTHON3BDEP = python3-pkg-resources >= 18, texlive-dist diff --git a/pbconf/pbfilter/rpm.pbf b/pbconf/pbfilter/rpm.pbf index b01ef59..e1ebdff 100644 --- a/pbconf/pbfilter/rpm.pbf +++ b/pbconf/pbfilter/rpm.pbf @@ -14,9 +14,9 @@ filter PBLIC = ASL 2.0 #filter PBDEP = # PBBDEP is replaced by the list of build dependencies -filter PBPYTHON2BDEP = python-devel,python-setuptools,python-sphinx >= 1.2.3,python-future >= 0.15.2 +filter PBPYTHON2BDEP = python-devel,python-setuptools >= 18,python-sphinx >= 1.2.3,python-future >= 0.15.2,python-docopt >= 0.6.2,python-requests >= 2.9.1,python-simplejson >= 3.8.1,python-configparser >= 3.3.0,texlive,python-sphinx_rtd_theme filter PBPYTHON2DEP = python-docopt >= 0.6.2,python-tortilla >= 0.4.1,python-jinja2 >= 2.7.3,python-simplejson >= 3.8.1,python-requests >= 2.9.1,python-configparser >= 3.3.0 -filter PBPYTHON3BDEP = python3-devel,python3-setuptools,python3-sphinx >= 1.2.3,python3-future >= 0.15.2 +filter PBPYTHON3BDEP = python3-devel,python3-setuptools >= 18,python3-sphinx >= 1.2.3,python3-future >= 0.15.2,python3-docopt >= 0.6.2,python3-requests >= 2.9.1,python3-simplejson >= 3.8.1,texlive,python3-sphinx_rtd_theme filter PBPYTHON3DEP = python3-docopt >= 0.6.2,python3-tortilla >= 0.4.1,python3-jinja2 >= 2.7.3,python3-simplejson >= 3.8.1,python3-requests >= 2.9.1 filter PBPYTHON3PKG = python3-redfish diff --git a/pbconf/pbfilter/ubuntu-6.06.pbf b/pbconf/pbfilter/ubuntu-6.06.pbf deleted file mode 100644 index 9f8c61f..0000000 --- a/pbconf/pbfilter/ubuntu-6.06.pbf +++ /dev/null @@ -1,11 +0,0 @@ -# -# $Id$ -# -# Filter for ubuntu build -# -# PBDEBSTD is replaced by the Debian standard version -filter PBDEBSTD = 3.6.2 - -# PBDEBCOMP is replaced by the Debian Compatibility value -filter PBDEBCOMP = 4 - diff --git a/pbconf/pbfilter/ubuntu-7.04.pbf b/pbconf/pbfilter/ubuntu-7.04.pbf deleted file mode 100644 index 9f8c61f..0000000 --- a/pbconf/pbfilter/ubuntu-7.04.pbf +++ /dev/null @@ -1,11 +0,0 @@ -# -# $Id$ -# -# Filter for ubuntu build -# -# PBDEBSTD is replaced by the Debian standard version -filter PBDEBSTD = 3.6.2 - -# PBDEBCOMP is replaced by the Debian Compatibility value -filter PBDEBCOMP = 4 - diff --git a/pbconf/pbfilter/ubuntu-7.10.pbf b/pbconf/pbfilter/ubuntu-7.10.pbf deleted file mode 100644 index 9f8c61f..0000000 --- a/pbconf/pbfilter/ubuntu-7.10.pbf +++ /dev/null @@ -1,11 +0,0 @@ -# -# $Id$ -# -# Filter for ubuntu build -# -# PBDEBSTD is replaced by the Debian standard version -filter PBDEBSTD = 3.6.2 - -# PBDEBCOMP is replaced by the Debian Compatibility value -filter PBDEBCOMP = 4 - diff --git a/pbconf/pbfilter/ubuntu-8.04.pbf b/pbconf/pbfilter/ubuntu-8.04.pbf deleted file mode 100644 index 1855642..0000000 --- a/pbconf/pbfilter/ubuntu-8.04.pbf +++ /dev/null @@ -1,11 +0,0 @@ -# -# $Id$ -# -# Filter for ubuntu build -# -# PBDEBSTD is replaced by the Debian standard version -filter PBDEBSTD = 3.7.3 - -# PBDEBCOMP is replaced by the Debian Compatibility value -filter PBDEBCOMP = 4 - diff --git a/pbconf/pbfilter/ubuntu-8.10.pbf b/pbconf/pbfilter/ubuntu-8.10.pbf deleted file mode 100644 index 1855642..0000000 --- a/pbconf/pbfilter/ubuntu-8.10.pbf +++ /dev/null @@ -1,11 +0,0 @@ -# -# $Id$ -# -# Filter for ubuntu build -# -# PBDEBSTD is replaced by the Debian standard version -filter PBDEBSTD = 3.7.3 - -# PBDEBCOMP is replaced by the Debian Compatibility value -filter PBDEBCOMP = 4 - diff --git a/pbconf/pbfilter/ubuntu-9.04.pbf b/pbconf/pbfilter/ubuntu-9.04.pbf deleted file mode 100644 index 4f2c95a..0000000 --- a/pbconf/pbfilter/ubuntu-9.04.pbf +++ /dev/null @@ -1,11 +0,0 @@ -# -# $Id$ -# -# Filter for ubuntu build -# -# PBDEBSTD is replaced by the Debian standard version -filter PBDEBSTD = 3.8.0 - -# PBDEBCOMP is replaced by the Debian Compatibility value -filter PBDEBCOMP = 4 - diff --git a/pbconf/python-redfish/rpm/python-redfish.spec b/pbconf/python-redfish/rpm/python-redfish.spec index 89185a9..498c8ed 100644 --- a/pbconf/python-redfish/rpm/python-redfish.spec +++ b/pbconf/python-redfish/rpm/python-redfish.spec @@ -13,7 +13,7 @@ Url: PBURL Source: PBREPO/PBSRC Requires: PBPYTHON2DEP BuildArch: noarch -BuildRequires: PBPYTHON2BDEP +BuildRequires: PBPYTHON2BDEP, PB2PYTHON2BDEP %description PBDESC @@ -21,12 +21,12 @@ Python2 version. %package -n PBPYTHON3PKG Summary: %{summary} / Python 3 library -BuildRequires: PBPYTHON3BDEP +BuildRequires: PBPYTHON3BDEP, PB2PYTHON3BDEP Requires: PBPYTHON3DEP %package -n PBREALPKG-doc Summary: %{summary} / Documentation -BuildRequires: PBPYTHON3BDEP +BuildRequires: PBPYTHON3BDEP, PB2PYTHON3BDEP Requires: PBPYTHON3DEP %description -n PBPYTHON3PKG @@ -42,6 +42,8 @@ Documentation # Fix for now as long as setuptools isn't more recent in distributions PBPYTHON3FILTER cp -a . %{py3dir} +# python3 doesn't provide configparser at all +(cd %{py3dir} ; perl -pi -e "s|configparser>=3.3.0||" requirements.txt) %build pushd %{py3dir} @@ -74,32 +76,31 @@ popd %files %doc README.rst examples/[a-z]*.py LICENSE +%exclude %{_docdir}/PBREALPKG/html +%exclude %{_docdir}/PBREALPKG/*.pdf %{_bindir}/redfish-client %dir %{_datadir}/redfish-client %{_datadir}/redfish-client/templates/* %config(noreplace) %{_sysconfdir}/redfish-client.conf %dir %{python_sitelib}/redfish %{python_sitelib}/redfish/*.py* -#%{python_sitelib}/redfish/tests/*.py* %{python_sitelib}/python_redfish* # Needs improvement to host all .1 man pages but not the py3 ones %{_mandir}/man1/PBREALPKG.1* %{_mandir}/man1/*-py2.1* %files -n PBPYTHON3PKG -%doc README.rst examples/[a-z]*.py LICENSE +%doc README.rst examples/[a-z]*.py LICENSE AUTHORS ChangeLog %dir %{python3_sitelib}/redfish %{python3_sitelib}/redfish/*.py* %{python3_sitelib}/redfish/__pycache__/*.py* -#%{python3_sitelib}/redfish/tests/*.py* -#%{python3_sitelib}/redfish/tests/__pycache__/*.py* %{python3_sitelib}/python_redfish* %{_mandir}/man1/*-py3.1* %files -n PBREALPKG-doc -%{_docdir}/PBREALPKG/html/_static/* -%{_docdir}/PBREALPKG/html/index.html -%{_docdir}/PBREALPKG/*.pdf +%{_docdir}/PBREALPKG/manual/html/_static/* +%{_docdir}/PBREALPKG/manual/html/index.html +%{_docdir}/PBREALPKG/manual/*.pdf %changelog PBLOG From 78c830ef5b990528e50ebd26afb690afde087276 Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Sat, 30 Apr 2016 01:37:54 +0200 Subject: [PATCH 134/224] Last remaining rpm fix ! --- pbconf/pbfilter/fedora.pbf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pbconf/pbfilter/fedora.pbf b/pbconf/pbfilter/fedora.pbf index 8fc50ec..884d26a 100644 --- a/pbconf/pbfilter/fedora.pbf +++ b/pbconf/pbfilter/fedora.pbf @@ -24,5 +24,5 @@ filter PBSUF = %{dist} # PBOBS is replaced by the Obsolete line #filter PBOBS = -filter PB2PYTHON2BDEP = texlive-multirow,texlive-upquote,texlive-wrapfig,texlive-threepartttble,texlive-titlesec -filter PB2PYTHON3BDEP = texlive-multirow,texlive-upquote,texlive-wrapfig,texlive-threepartttble,texlive-titlesec +filter PB2PYTHON2BDEP = texlive-multirow,texlive-upquote,texlive-wrapfig,texlive-threeparttable,texlive-titlesec +filter PB2PYTHON3BDEP = texlive-multirow,texlive-upquote,texlive-wrapfig,texlive-threeparttable,texlive-titlesec From 564a48235db600856b14a089f7cad929fab1a726 Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Sat, 30 Apr 2016 02:07:50 +0200 Subject: [PATCH 135/224] Setup smtp relay for announces --- pbconf/python-redfish.pb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pbconf/python-redfish.pb b/pbconf/python-redfish.pb index b032b89..eb28716 100644 --- a/pbconf/python-redfish.pb +++ b/pbconf/python-redfish.pb @@ -20,7 +20,7 @@ pburl python-redfish = git+ssh://git@github.com/bcornec/python-redfish.git # Repository pbrepo python-redfish = ftp://ftp.mondorescue.org pbml python-redfish = python-redfish@mondorescue.org -#pbsmtp python-redfish = localhost +pbsmtp python-redfish = localhost # For distro supporting it, which area is used #projcomponent python-redfish = main From 5dd6b91f12c8027b946a764b91161dcd100e6c58 Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Sat, 30 Apr 2016 02:11:22 +0200 Subject: [PATCH 136/224] Adds the announces DB for pb --- pbconf/announces3.sql | Bin 0 -> 5120 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 pbconf/announces3.sql diff --git a/pbconf/announces3.sql b/pbconf/announces3.sql new file mode 100644 index 0000000000000000000000000000000000000000..1a0f34a704ec60ed224aa0db62829cd18630cb2d GIT binary patch literal 5120 zcmeHKQBT`25Kh{%NtJl!k)zTi5Hv27R?`%+1)4#%Qo7J>s-_8<)NR9>IK(Ne4}0K= zxBbk$?|Cmfx3oYRY;@D6O*uJ^o%qh@?|k;%{>zFRF=+A7qY>nll%lH2GXO6G70AI^55Otl4r!2ToWhT<$|o z%Y!Sx=chnVsN0oL>Lf7IX+1FN9R|S#f5fOKM|Nls^daJx3y5&k1+R-X=mT#71)rTV z5sl};Zxb5e%ot5;P5JPUOSoshLQGOZ|hLI~EH$NeS` znQ(ec<6%2v-1>~t6I@2dn4Wj6mqbzUUg$7zc#~=AF%bH2)4nN}>N^{m)m-jT2DYq9rDm2& z>(Q$Zem{S-I4t+w^)dt(G}<`Bi91ghk>Q>#DS(8qG$53uMI_^qo-7PH>=4n z3YM5+1Y!jKcLZkD Date: Fri, 13 Jan 2017 00:36:50 +0800 Subject: [PATCH 137/224] Fix wrong payload in set boot source The vaild boot source parameter is: '{"Boot": {"BootSourceOverrideTarget": "Pxe", "BootSourceOverrideEnabled" : "Once"}}' not: '{"Boot": {"BootSourceOverrideTarget": "Pxe"}, {"BootSourceOverrideEnabled" : "Once"}}' Change-Id: I319376f818b532a1511248a9f17ecd0a41540e88 --- redfish/types.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redfish/types.py b/redfish/types.py index 3a5b4fc..27e3b8d 100644 --- a/redfish/types.py +++ b/redfish/types.py @@ -674,7 +674,7 @@ def set_boot_source_override(self, target, enabled): ''' return self.set_parameter_json( '{"Boot": {"BootSourceOverrideTarget": "' + - target + '"},{"BootSourceOverrideEnabled" : "' + enabled + '"}}') + target + '", "BootSourceOverrideEnabled" : "' + enabled + '"}}') class SystemsCollection(BaseCollection): From 98ec299fa62d8ba1e920df2243ca7117d366cc74 Mon Sep 17 00:00:00 2001 From: Yufei Date: Fri, 13 Jan 2017 01:24:38 +0800 Subject: [PATCH 138/224] Avoid TypeError after _replace when user post a str url function geturl will rasie a TypeError if we specify a str url and replace the scheme value with a unicode value. In order to work with both string redfish url and unicode redfish url, we need to convert the "https" to the scheme's type. This bug canbe reproduced with: from __future__ import unicode_literals from __future__ import print_function from __future__ import division from __future__ import absolute_import from future import standard_library standard_library.install_aliases() from builtins import object import json from urllib.parse import urlparse, urljoin, urlunparse url=urlparse(unicode("http://127.0.0.1")) url._replace(scheme="https").geturl() url=urlparse(str("http://127.0.0.1")) url._replace(scheme="https").geturl() Change-Id: I1aa0f173a7b843c2bdf3eba8425ff794778b74da --- redfish/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redfish/main.py b/redfish/main.py index 9b8267d..33fc02c 100644 --- a/redfish/main.py +++ b/redfish/main.py @@ -196,7 +196,7 @@ def __init__(self, # Enforce ssl if self.connection_parameters.enforceSSL is True: config.logger.debug("Enforcing SSL") - rooturl = rooturl._replace(scheme="https") + rooturl = rooturl._replace(scheme=type(rooturl.scheme)("https")) self.connection_parameters.rooturl = rooturl.geturl() # Verify cert From 139044083a0b5ee490e43e83595de0c9c9fc1ed0 Mon Sep 17 00:00:00 2001 From: Uggla Date: Wed, 14 Dec 2016 17:29:18 +0100 Subject: [PATCH 139/224] Fix jenkins tests to allow commits - Do not pass tests on redfish-client Currently tests are using a local docker container. We remove them to allow jenkins tests to pass. - Move programme usage in a separate file to get rid of pep8 issue. - Fix tox venv usage - Add flake8 test dependency Change-Id: I12f3a567f3ff83c34c3832a544ef547372857161 --- .../{tests => local-checks}/Dockerfile.centos | 0 .../{tests => local-checks}/Dockerfile.debian | 0 .../{tests => local-checks}/Dockerfile.fedora | 0 .../Dockerfile.fedorap3 | 0 .../Dockerfile.fedorapip | 0 .../{tests => local-checks}/Dockerfile.ubuntu | 0 .../check_client.py} | 1 - redfish-client/redfish-client | 45 ++++++------------- redfish-client/usage.txt | 29 ++++++++++++ redfish/__init__.py | 2 +- redfish/main.py | 2 +- redfish/tests/test_redfish.py | 13 ++++++ setup.cfg | 1 + setup.py | 4 +- test-requirements.txt | 1 + tox.ini | 11 +++-- 16 files changed, 68 insertions(+), 41 deletions(-) rename redfish-client/{tests => local-checks}/Dockerfile.centos (100%) rename redfish-client/{tests => local-checks}/Dockerfile.debian (100%) rename redfish-client/{tests => local-checks}/Dockerfile.fedora (100%) rename redfish-client/{tests => local-checks}/Dockerfile.fedorap3 (100%) rename redfish-client/{tests => local-checks}/Dockerfile.fedorapip (100%) rename redfish-client/{tests => local-checks}/Dockerfile.ubuntu (100%) rename redfish-client/{tests/test_client.py => local-checks/check_client.py} (99%) create mode 100644 redfish-client/usage.txt create mode 100644 redfish/tests/test_redfish.py diff --git a/redfish-client/tests/Dockerfile.centos b/redfish-client/local-checks/Dockerfile.centos similarity index 100% rename from redfish-client/tests/Dockerfile.centos rename to redfish-client/local-checks/Dockerfile.centos diff --git a/redfish-client/tests/Dockerfile.debian b/redfish-client/local-checks/Dockerfile.debian similarity index 100% rename from redfish-client/tests/Dockerfile.debian rename to redfish-client/local-checks/Dockerfile.debian diff --git a/redfish-client/tests/Dockerfile.fedora b/redfish-client/local-checks/Dockerfile.fedora similarity index 100% rename from redfish-client/tests/Dockerfile.fedora rename to redfish-client/local-checks/Dockerfile.fedora diff --git a/redfish-client/tests/Dockerfile.fedorap3 b/redfish-client/local-checks/Dockerfile.fedorap3 similarity index 100% rename from redfish-client/tests/Dockerfile.fedorap3 rename to redfish-client/local-checks/Dockerfile.fedorap3 diff --git a/redfish-client/tests/Dockerfile.fedorapip b/redfish-client/local-checks/Dockerfile.fedorapip similarity index 100% rename from redfish-client/tests/Dockerfile.fedorapip rename to redfish-client/local-checks/Dockerfile.fedorapip diff --git a/redfish-client/tests/Dockerfile.ubuntu b/redfish-client/local-checks/Dockerfile.ubuntu similarity index 100% rename from redfish-client/tests/Dockerfile.ubuntu rename to redfish-client/local-checks/Dockerfile.ubuntu diff --git a/redfish-client/tests/test_client.py b/redfish-client/local-checks/check_client.py similarity index 99% rename from redfish-client/tests/test_client.py rename to redfish-client/local-checks/check_client.py index 156cebb..9a4ba15 100644 --- a/redfish-client/tests/test_client.py +++ b/redfish-client/local-checks/check_client.py @@ -100,4 +100,3 @@ def test_versionformat(): response = docker.run(img, 'redfish-client --version') print(response) assert (re.match(r'redfish-client \d+\.\d+', response)) - diff --git a/redfish-client/redfish-client b/redfish-client/redfish-client index 951a849..e17ade8 100755 --- a/redfish-client/redfish-client +++ b/redfish-client/redfish-client @@ -1,37 +1,10 @@ #!/usr/bin/python # coding=utf-8 - ''' -redfish-client :: - - Usage: - redfish-client [options] config add [] [] - redfish-client [options] config del - redfish-client [options] config modify (manager_name | url | login | password) - redfish-client [options] config show - redfish-client [options] config showall - redfish-client [options] manager getinfo [] - redfish-client [options] chassis getinfo [] - redfish-client [options] system getinfo [] - redfish-client (-h | --help) - redfish-client --version - - - Options: - -h --help Show this screen. - --version Show version. - -c --config FILE Configuration file - -i --inventory FILE Configuration file [default: $HOME/.redfish/inventory] - --insecure Ignore SSL certificates - --debug LEVEL Run in debug mode, LEVEL from 1 to 3 increase verbosity - Security warning LEVEL > 1 could reveal password into the logs - --debugfile FILE Specify the client debugfile [default: $HOME/.redfish/redfish-client.log] - --libdebugfile FILE Specify python-redfish library log file [default: $HOME/.redfish/python-redfish.log] - - config commands : manage the configuration file. - manager commands : manage the manager (Light out management). If - is not provided use the 'default' entry +redfish-client +This is a client using the python-redfish library to retrieve and perform +action on redfish compatible systems. ''' from __future__ import unicode_literals from __future__ import print_function @@ -44,7 +17,6 @@ from builtins import object import os import sys import json -import pprint import docopt import logging import configparser @@ -293,7 +265,16 @@ if __name__ == '__main__': redfishclient_version = "redfish-client PBVER" # Parse and manage arguments - arguments = docopt.docopt(__doc__, version=redfishclient_version) + try: + usagefp = os.path.dirname(sys.argv[0]) + "/usage.txt" + with open(usagefp) as usagefile: + usage = usagefile.read() + usagefile.close() + except (ValueError, IOError): + print("Usage file {} cannot be found.".format(usagefp)) + sys.exit(1) + + arguments = docopt.docopt(usage, version=redfishclient_version) # Check debuging options # Debugging LEVEL : diff --git a/redfish-client/usage.txt b/redfish-client/usage.txt new file mode 100644 index 0000000..762d6d8 --- /dev/null +++ b/redfish-client/usage.txt @@ -0,0 +1,29 @@ +redfish-client :: + +Usage: + redfish-client [options] config add [] [] + redfish-client [options] config del + redfish-client [options] config modify (manager_name | url | login | password) + redfish-client [options] config show + redfish-client [options] config showall + redfish-client [options] manager getinfo [] + redfish-client [options] chassis getinfo [] + redfish-client [options] system getinfo [] + redfish-client (-h | --help) + redfish-client --version + + +Options: + -h --help Show this screen. + --version Show version. + -c --config FILE Configuration file + -i --inventory FILE Configuration file [default: $HOME/.redfish/inventory] + --insecure Ignore SSL certificates + --debug LEVEL Run in debug mode, LEVEL from 1 to 3 increase verbosity + Security warning LEVEL > 1 could reveal password into the logs + --debugfile FILE Specify the client debugfile [default: $HOME/.redfish/redfish-client.log] + --libdebugfile FILE Specify python-redfish library log file [default: $HOME/.redfish/python-redfish.log] + +config commands : manage the configuration file. +manager commands : manage the manager (Light out management). If + is not provided use the 'default' entry diff --git a/redfish/__init__.py b/redfish/__init__.py index ec1f05c..1eff4f2 100644 --- a/redfish/__init__.py +++ b/redfish/__init__.py @@ -19,7 +19,7 @@ from future import standard_library import pbr.version -from redfish.main import connect +from redfish.main import connect # noqa: F401 standard_library.install_aliases() try: diff --git a/redfish/main.py b/redfish/main.py index 9b8267d..7dd448d 100644 --- a/redfish/main.py +++ b/redfish/main.py @@ -122,7 +122,6 @@ from __future__ import division from __future__ import absolute_import from future import standard_library -standard_library.install_aliases() from builtins import object import json @@ -132,6 +131,7 @@ from . import types from . import mapping from . import exception +standard_library.install_aliases() """Function to wrap RedfishConnection""" diff --git a/redfish/tests/test_redfish.py b/redfish/tests/test_redfish.py new file mode 100644 index 0000000..8ff2c65 --- /dev/null +++ b/redfish/tests/test_redfish.py @@ -0,0 +1,13 @@ +# coding=utf-8 + +from __future__ import unicode_literals +from __future__ import print_function +from __future__ import division +from __future__ import absolute_import +from future import standard_library +standard_library.install_aliases() + + +def test_fake(): + print('This is a fake test') + assert (1 == 1) diff --git a/setup.cfg b/setup.cfg index 3ceb164..627d633 100644 --- a/setup.cfg +++ b/setup.cfg @@ -26,6 +26,7 @@ packages = scripts = redfish-client/redfish-client + redfish-client/usage.txt [data_files_helper] conf = 'redfish-client/etc/redfish-client.conf', 'etc' diff --git a/setup.py b/setup.py index db4d2c5..d2a416b 100755 --- a/setup.py +++ b/setup.py @@ -28,13 +28,13 @@ except ImportError: check_call(["pip", "install", "future"]) from future import standard_library -standard_library.install_aliases() from builtins import object import distutils import configparser import setuptools from setuptools import Distribution from setuptools.command.install import install +standard_library.install_aliases() # In python < 2.7.4, a lazy loading of package `pbr` will break # setuptools if some other modules registered functions in `atexit`. @@ -208,6 +208,7 @@ def getversion(): s = re.search(r'\nVersion:\s+(\S+)', output) return(s.group(1)) + ########################################## # START ########################################## @@ -232,4 +233,3 @@ def getversion(): print('Update : {}'.format(file)) replaceAll(file, 'PBCONFFILE', datafiles.data['conf']['fdst'][0]) replaceAll(file, 'PBVER', getversion()) - diff --git a/test-requirements.txt b/test-requirements.txt index ba8c272..9ba4b3c 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -8,3 +8,4 @@ mock>=1.0.1 docker-py>=1.1.0 path.py>=5.2 testrepository>=0.0.20 +flake8<2.6.0,>=2.5.4 # MIT diff --git a/tox.ini b/tox.ini index c7cabd6..fb6d14c 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ [tox] minversion = 1.6 -envlist = py34,py27,docs +envlist = py35,py27,docs skipsdist = True [testenv] @@ -11,9 +11,7 @@ setenv = VIRTUAL_ENV={envdir} LANGUAGE=en_US deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt -commands = - py.test redfish-client -# bash -c "TESTS_DIR=./redfish/tests python setup.py testr --slowest --testr-args='{posargs}'" +commands = py.test [testenv:pep8] commands = flake8 @@ -22,6 +20,7 @@ commands = flake8 #commands = python setup.py testr --coverage --testr-args='{posargs}' [testenv:docs] +envdir = {toxworkdir}/venv commands = python setup.py build_sphinx [flake8] @@ -30,3 +29,7 @@ show-source = True ignore = E123,E125 builtins = _ exclude = .venv,.git,.tox,dist,doc,*lib/python*,*egg,build + +[testenv:venv] +setenv = PYTHONHASHSEED=0 +commands = {posargs} From 9a7c65d942728a5f85b80e9cfd05cca221ad256d Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Tue, 10 May 2016 16:15:43 +0200 Subject: [PATCH 140/224] Update docs for Redfish - Added 1.0.2 - Added 1.0.3 (2016-07-14) - Added 1.0.4 (2016-08-30) - Add the new mockup v1.0.0 - Add the new API schema 2016.2 - Add Moonshot Data Model ref in dmtf directory Change-Id: I0a7cb127d5fb9324e50164eff786e54411c0e7aa --- dmtf/DSP0266_1.0.2.pdf | Bin 0 -> 400649 bytes dmtf/DSP0266_1.0.3.pdf | Bin 0 -> 456789 bytes dmtf/DSP0266_1.0.4.pdf | Bin 0 -> 460107 bytes dmtf/DSP2043_1.0.0.zip | Bin 0 -> 227399 bytes dmtf/DSP8010_2016.1a.zip | Bin 0 -> 1075184 bytes dmtf/DSP8010_2016.2.zip | Bin 0 -> 596839 bytes dmtf/moonshot_data_model_reference.html | 29185 ++++++++++++++++++++++ 7 files changed, 29185 insertions(+) create mode 100644 dmtf/DSP0266_1.0.2.pdf create mode 100644 dmtf/DSP0266_1.0.3.pdf create mode 100644 dmtf/DSP0266_1.0.4.pdf create mode 100644 dmtf/DSP2043_1.0.0.zip create mode 100644 dmtf/DSP8010_2016.1a.zip create mode 100644 dmtf/DSP8010_2016.2.zip create mode 100644 dmtf/moonshot_data_model_reference.html diff --git a/dmtf/DSP0266_1.0.2.pdf b/dmtf/DSP0266_1.0.2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0917ffd64b13920244d0a2693ef205c4a3e68382 GIT binary patch literal 400649 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