diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index 05949e3c6..4b26b256f 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.6", "3.7", "3.8", "3.9", "3.10"] + python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"] steps: - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} diff --git a/.gitignore b/.gitignore index 007a8f627..5b076e97a 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,4 @@ __pycache__ /pyTenable.egg-info Jenkinsfile /ex_*.py +.idea diff --git a/CHANGELOG.md b/CHANGELOG.md index 42d810210..4d4d11812 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,82 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.4.12] + +### Added +- Support for Python 3.11 + +### Fixed +- `tsc.analysis.scan(1)` not honoring Scan ID with Tenable.sc 6.0.0. +- pyTenable crashes when pagination key with a null value is in the HTTP response in Tenable.io v3 APIs. + +[1.4.12]: https://github.com/tenable/pyTenable/compare/1.4.11...1.4.12 + +## [1.4.11] + +### Added +- Support for Scan UUID (`last_scan_id`) filter for assets exports. + +[1.4.11]: https://github.com/tenable/pyTenable/compare/1.4.10...1.4.11 + +## [1.4.10] + +### Added +- Support for `scan_uuid` filter for vulnerability exports. + +### Fixed +- Bug in `tenable/io/scanners.py` that invoked the `/settings/{}` endpoint instead of the correct `/scanners/{}` endpoint. +- Error in the documentation of the `sc.scans.edit()` method. The property - `policy` was renamed to `policy_id`. +- tests module getting into the pypi package. Now, the module will no longer be part of pypi package. + +### Removed +- `plugin_id` param from the `sc.scans.create()` method as it is no longer supported by Tenable.sc. +- Python 3.6 references from all documentation. +- `search_host_audit()` method from `io/v3/explore/findings`. + +[1.4.10]: https://github.com/tenable/pyTenable/compare/1.4.9...1.4.10 + +## [1.4.9] +### Added + +- Support for initiating exports (and getting the export UUID). +- Support for Tenable.ot plugins, events, more support for asset details. + +### Fixed + +- Bug in `tio.scans.results()` fixed to pass `history_id` and `history_uuid`. + +### Changed + +- Refactored Tenable.ot session client. + +### Removed + +- Support for Python Version 3.6. + + + [1.4.9]: https://github.com/tenable/pyTenable/compare/1.4.8...1.4.9 + +## [1.4.8] +### Added + +- Support for Role Based Access Control endpoints. +- Support for specifying Agent UUIDs instead of numeric IDs for bulk group addition. + +[1.4.8]: https://github.com/tenable/pyTenable/compare/1.4.7...1.4.8 + +## [1.4.7] +### Added + +- Added support for querying v3 Findings for Hosts, Cloud Resources, Web Applications and Host Audits modules. #592 #595 +- Added support for querying v3 Assets data for Hosts, Cloud Resources, and Web Applications modules. #592 #594 + +### Fixed + +- Fixed Tenable.io - Tags example #590 +- Fixed Nessus import issue #589 + +[1.4.7]: https://github.com/tenable/pyTenable/compare/1.4.6...1.4.7 ## [1.4.6] ### Added diff --git a/README.rst b/README.rst index 45b7eff1c..9f7c848eb 100644 --- a/README.rst +++ b/README.rst @@ -5,7 +5,7 @@ Welcome to pyTenable's documentation! :target: https://github.com/tenable/pyTenable/actions .. image:: https://img.shields.io/pypi/v/pytenable.svg :target: https://pypi.org/project/pyTenable/ -.. image:: https://img.shields.io/badge/python-3.6%203.7%203.8%203.9-blue +.. image:: https://img.shields.io/badge/python-3.7%203.8%203.9%203.10%203.11-blue :target: https://pypi.org/project/pyTenable/ .. image:: https://img.shields.io/pypi/dm/pytenable :target: https://github.com/tenable/pytenable diff --git a/docs/api/io/v3/access_control.rst b/docs/api/io/v3/access_control.rst new file mode 100644 index 000000000..8eaca192e --- /dev/null +++ b/docs/api/io/v3/access_control.rst @@ -0,0 +1 @@ +.. automodule:: tenable.io.v3.access_control \ No newline at end of file diff --git a/docs/api/io/v3/explore/assets.rst b/docs/api/io/v3/explore/assets.rst new file mode 100644 index 000000000..401975491 --- /dev/null +++ b/docs/api/io/v3/explore/assets.rst @@ -0,0 +1 @@ +.. automodule:: tenable.io.v3.explore.assets.api diff --git a/docs/api/io/v3/explore/findings.rst b/docs/api/io/v3/explore/findings.rst new file mode 100644 index 000000000..99810d963 --- /dev/null +++ b/docs/api/io/v3/explore/findings.rst @@ -0,0 +1 @@ +.. automodule:: tenable.io.v3.explore.findings.api diff --git a/docs/api/io/v3/explore/index.rst b/docs/api/io/v3/explore/index.rst new file mode 100644 index 000000000..6e4278521 --- /dev/null +++ b/docs/api/io/v3/explore/index.rst @@ -0,0 +1 @@ +.. automodule:: tenable.io.v3.explore diff --git a/docs/api/io/v3/index.rst b/docs/api/io/v3/index.rst new file mode 100644 index 000000000..397aaadbf --- /dev/null +++ b/docs/api/io/v3/index.rst @@ -0,0 +1 @@ +.. automodule:: tenable.io.v3 diff --git a/docs/api/ot/events.rst b/docs/api/ot/events.rst new file mode 100644 index 000000000..530cbb8ac --- /dev/null +++ b/docs/api/ot/events.rst @@ -0,0 +1 @@ +.. automodule:: tenable.ot.events \ No newline at end of file diff --git a/docs/api/ot/graphql.rst b/docs/api/ot/graphql.rst new file mode 100644 index 000000000..582167552 --- /dev/null +++ b/docs/api/ot/graphql.rst @@ -0,0 +1 @@ +.. automodule:: tenable.ot.graphql diff --git a/docs/api/ot/index.rst b/docs/api/ot/index.rst index 87c071dd8..bf9c21413 100644 --- a/docs/api/ot/index.rst +++ b/docs/api/ot/index.rst @@ -1 +1,10 @@ -.. automodule:: tenable.ot.session +Tenable.ot +========== +.. toctree:: + :hidden: + :glob: + + graphql + schema + +.. automodule:: tenable.ot diff --git a/docs/api/ot/plugins.rst b/docs/api/ot/plugins.rst new file mode 100644 index 000000000..a355edbb5 --- /dev/null +++ b/docs/api/ot/plugins.rst @@ -0,0 +1 @@ +.. automodule:: tenable.ot.plugins diff --git a/docs/api/ot/schema.rst b/docs/api/ot/schema.rst new file mode 100644 index 000000000..ec2b12f86 --- /dev/null +++ b/docs/api/ot/schema.rst @@ -0,0 +1,3 @@ +Schema +====== +.. automodule:: tenable.ot.schema \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index f5a8c47b5..2ba551130 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,9 +1,9 @@ dataclasses>=0.8;python_version=="3.6" requests>=2.26 python-dateutil>=2.6 -semver>=2.8.1 +semver>=2.10.0 restfly>=1.4.5 -marshmallow>=3.6 +marshmallow>=3.8 python-box>=4.0 defusedxml>=0.5.0 urllib3>=1.26.5 diff --git a/setup.py b/setup.py index cdc8d4c88..940f30aec 100644 --- a/setup.py +++ b/setup.py @@ -1,50 +1,48 @@ from setuptools import setup, find_packages import os -with open('tenable/version.py', 'r') as vfile: +with open("tenable/version.py", "r") as vfile: exec(vfile.read()) try: long_description = open( - os.path.join( - os.path.abspath(os.path.dirname(__file__)), - 'README.rst')).read() + os.path.join(os.path.abspath(os.path.dirname(__file__)), "README.rst") + ).read() except: - long_description = 'Please refer to https://pytenable.readthedocs.io' - print('! could not read README.rst file.') + long_description = "Please refer to https://pytenable.readthedocs.io" + print("! could not read README.rst file.") setup( - name='pyTenable', + name="pyTenable", version=version, # noqa - description=('Python library to interface into Tenable\'s ' - 'products and applications' - ), - author='Tenable, Inc.', + description=( + "Python library to interface into Tenable's " "products and applications" + ), + author="Tenable, Inc.", long_description=long_description, - author_email='smcgrath@tenable.com', - url='https://github.com/tenable/pytenable', - license='MIT', + author_email="smcgrath@tenable.com", + url="https://github.com/tenable/pytenable", + license="MIT", classifiers=[ - 'Development Status :: 5 - Production/Stable', - 'Intended Audience :: Developers', - 'Topic :: Software Development', - 'Topic :: Software Development :: Libraries', - 'Topic :: Software Development :: Libraries :: Application Frameworks', - 'License :: OSI Approved :: MIT License', - 'Programming Language :: Python :: 3.6', - 'Programming Language :: Python :: 3.7', - 'Programming Language :: Python :: 3.8', - 'Programming Language :: Python :: 3.9', - 'Programming Language :: Python :: 3.10', + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "Topic :: Software Development", + "Topic :: Software Development :: Libraries", + "Topic :: Software Development :: Libraries :: Application Frameworks", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", ], - keywords='tenable tenable_io securitycenter containersecurity', - packages=find_packages(exclude=['docs', 'tests']), + keywords="tenable tenable_io securitycenter containersecurity", + packages=find_packages(exclude=["docs", "tests", "tests.*"]), install_requires=[ 'requests>=2.26', 'python-dateutil>=2.6', - 'semver>=2.8.1', + 'semver>=2.10.0', 'restfly>=1.4.5', - 'marshmallow>=3.6', + 'marshmallow>=3.8', 'python-box>=4.0', 'defusedxml>=0.5.0', 'urllib3>=1.26.5', diff --git a/sonar-project.properties b/sonar-project.properties index 7ad3eb400..83ef9d983 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -2,5 +2,5 @@ sonar.projectKey=tenable_pyTenable sonar.organization=tenable sonar.sources=tenable sonar.tests=tests -sonar.python.version=3.6, 3.7, 3.8, 3.9, 3.10 +sonar.python.version=3.7, 3.8, 3.9, 3.10 sonar.python.coverage.reportPaths=cov/coverage.xml diff --git a/tenable/__init__.py b/tenable/__init__.py index 26fa6e57f..2495a797f 100644 --- a/tenable/__init__.py +++ b/tenable/__init__.py @@ -23,7 +23,7 @@ .. note:: pyTenable version 1.2 is the first release to drop support for Python - versions less than 3.6. If you are still using any of these deprecated + versions less than 3.7. If you are still using any of these deprecated python versions the 1.1 release will still work, however is no longer being actively developed or maintained. diff --git a/tenable/io/__init__.py b/tenable/io/__init__.py index 552bb5f9b..85134e84d 100644 --- a/tenable/io/__init__.py +++ b/tenable/io/__init__.py @@ -40,10 +40,13 @@ tags target_groups users + v3/index workbenches ''' -from typing import Dict, List, Optional +from typing import Dict, Optional + from requests import Response + from tenable.base.platform import APIPlatform from .access_groups import AccessGroupsAPI from .access_groups_v2 import AccessGroupsV2API @@ -66,15 +69,16 @@ from .permissions import PermissionsAPI from .plugins import PluginsAPI from .policies import PoliciesAPI +from .remediation_scans import RemediationScansAPI from .scanner_groups import ScannerGroupsAPI from .scanners import ScannersAPI from .scans import ScansAPI -from .remediation_scans import RemediationScansAPI from .server import ServerAPI from .session import SessionAPI from .tags import TagsAPI from .target_groups import TargetGroupsAPI from .users import UsersAPI +from .v3 import Version3API from .workbenches import WorkbenchesAPI @@ -429,3 +433,12 @@ def workbenches(self): :doc:`Tenable.io Workbenches APIs `. ''' return WorkbenchesAPI(self) + + @property + def v3(self): + ''' + The interface object for the + :doc:`Tenable.io v3 APIs `. + ''' + return Version3API(self) + diff --git a/tenable/io/agent_groups.py b/tenable/io/agent_groups.py index 15ed89412..9d2188ceb 100644 --- a/tenable/io/agent_groups.py +++ b/tenable/io/agent_groups.py @@ -23,7 +23,7 @@ def add_agent(self, group_id, *agent_ids, **kw): Args: group_id (int): The id of the group - *agent_ids (int): The id of the agent + *agent_ids (int): The id or uuid of the agent. If passing multiple, they must all be either numeric id or uuid. scanner_id (int, optional): The id of the scanner Returns: @@ -40,17 +40,24 @@ def add_agent(self, group_id, *agent_ids, **kw): Adding multiple agents: >>> tio.agent_groups.add_agent(1, 1, 2, 3) + + Adding multiple agents by uuid: + + >>> tio.agent_groups.add_agent(1, 'uuid-1', 'uuid-2', 'uuid-3') ''' scanner_id = 1 if 'scanner_id' in kw: scanner_id = kw['scanner_id'] + # we can handle either ids or uuids as the list of items. + useUuids = len(agent_ids) > 0 and isinstance(agent_ids[0], str) + if len(agent_ids) <= 1: # if there is only 1 agent id, we will perform a singular add. self._api.put('scanners/{}/agent-groups/{}/agents/{}'.format( self._check('scanner_id', scanner_id, int), self._check('group_id', group_id, int), - self._check('agent_id', agent_ids[0], int) + self._check('agent_id', agent_ids[0], 'uuid' if useUuids else int) )) else: # If there are many agent_ids, then we will want to perform a bulk @@ -59,7 +66,7 @@ def add_agent(self, group_id, *agent_ids, **kw): 'scanners/{}/agent-groups/{}/agents/_bulk/add'.format( self._check('scanner_id', scanner_id, int), self._check('group_id', group_id, int)), - json={'items': [self._check('agent_id', i, int) for i in agent_ids]}).json() + json={'items': [self._check('agent_id', i, 'uuid' if useUuids else int) for i in agent_ids]}).json() def configure(self, group_id, name, scanner_id=1): ''' @@ -173,7 +180,7 @@ def delete_agent(self, group_id, *agent_ids, **kw): self._check('group_id', group_id, int)), json={'items': [self._check('agent_ids', i, int) for i in agent_ids]}).json() - def details(self, group_id, scanner_id=1, *filters, **kw): + def details(self, group_id, *filters, **kw): ''' Retrieve the details about the specified agent group. diff --git a/tenable/io/base/schemas/filters/base.py b/tenable/io/base/schemas/filters/base.py index b8a3fa4ea..3d91e5a99 100644 --- a/tenable/io/base/schemas/filters/base.py +++ b/tenable/io/base/schemas/filters/base.py @@ -1,6 +1,5 @@ from typing import Optional, Dict, List from marshmallow import Schema, ValidationError -from tenable.io.base.session import TenableIO import re @@ -14,7 +13,7 @@ class BaseFilterSchema(Schema): @classmethod def populate_filters(cls, - tio: TenableIO, + tio, path: str, envelope: str = 'filters', force: bool = False, diff --git a/tenable/io/exports/api.py b/tenable/io/exports/api.py index 013b863f6..bb308f505 100644 --- a/tenable/io/exports/api.py +++ b/tenable/io/exports/api.py @@ -156,6 +156,45 @@ def jobs(self, ''' return self._api.get(f'{export_type}/export/status', box=True).exports + def initiate_export(self, + export_type: Literal['vulns', 'assets', 'compliance'], + **kwargs): + """ + Initiate an export job of the specified export type, and return the export UUID. + + This method accepts the key-value arguments supported by the methods assets(), vulns(), and compliance() + for the matching export_type. For example, when the export_type is "assets", this function will only support the + kwargs supported by the assets() method; if export_type is "vulns", the method will accept only those + supported by the vulns() method, and so forth. + + Args: + export_type (str): + The datatype of export to get the jobs for. + + Examples: + + Initiating an assets export with no extra params. + + >>> export_uuid = tio.exports.initiate_export("assets") + + Initiating a vulns export with the params supported by vulns() + + >>> export_uuid = tio.exports.initiate_export("vulns", timeout=10) + """ + + # Setting the schema for the specified export type. + if export_type == "vulns": + schema = VulnExportSchema() + elif export_type == "assets": + schema = AssetExportSchema() + elif export_type == "compliance": + schema = ComplianceExportSchema() + + payload = schema.dump(schema.load(kwargs)) + + # Initiating the export and returning the returned export UUID. + return self._api.post(f'{export_type}/export', json=payload, box=True).export_uuid + def _export(self, export_type: Literal['vulns', 'assets', 'compliance'], schema: Schema, @@ -200,6 +239,8 @@ def assets(self, **kwargs) -> Union[ExportsIterator, UUID]: :devportal:`API Documentation ` Args: + last_scan_id (str, optional): + Scan uuid of the scan to be exported. created_at (int, optional): Assets created after this timestamp will be returned. deleted_at (int, optional): @@ -356,6 +397,8 @@ def vulns(self, **kwargs) -> Union[ExportsIterator, UUID]: Only return findings from the specified plugin ids. plugin_type (str, optional): Only return findings with the specified plugin type. + scan_uuid (uuid, optional): + Only return findings with the specified scan UUID. severity (list[str], optional): Only return findings with the specified severities. state (list[str], optional): diff --git a/tenable/io/exports/iterator.py b/tenable/io/exports/iterator.py index 6ad399d54..440eb08e8 100644 --- a/tenable/io/exports/iterator.py +++ b/tenable/io/exports/iterator.py @@ -1,14 +1,15 @@ ''' As exports are asynchronous, pyTenable by default will return an iterator to handle the state tracking, data chunking, and presentation of the data in order -to reduce the amount of boilerplate code that would otherwise hacve to be -created. These iterators support both serial iteration as well as threaded +to reduce the amount of boilerplate code that would otherwise have to be +created. These iterators support both serial iteration and threaded handling of data depending on how the data is accessed. .. autoclass:: ExportsIterator :members: ''' import time +from copy import copy from concurrent.futures import ThreadPoolExecutor from typing import Optional, List, Dict, Any from box import Box @@ -224,17 +225,16 @@ def run_threaded(self, Examples: - A simple example is to simply download the chunks and write them - to disk. + A simple example to download the chunks and write them to disk. - >>> def write_chunk(data: List[Dict], + >>> def write_chunk(data, ... export_uuid: str, ... export_type: str, ... export_chunk_id: int ... ): ... fn = f'{export_type}-{export_uuid}-{export_chunk_id}.json' ... with open(fn, 'w') as fobj: - ... json.dump(data, fn) + ... json.dump(data, fobj) >>> >>> export = tio.exports.vulns() >>> export.run_threaded(write_chunk, num_threads=4) @@ -256,6 +256,22 @@ def run_threaded(self, 'operations.') ) + def thread_job(chunk_id: int): + kw = copy(kwargs) + kw['data'] = self._api.exports.download_chunk(self.type, + self.uuid, + chunk_id + ) + kw['export_uuid'] = self.uuid + kw['export_type'] = self.type + kw['export_chunk_id'] = chunk_id + self._log.debug( + (f'{self.type} export {self.uuid} chunk {chunk_id} ' + 'has been downloaded and the data has been handed ' + 'off to the specified function' + )) + return func(**kw) + # initiate the thread pool and get the show on the road. with ThreadPoolExecutor(max_workers=num_threads) as executor: jobs = [] @@ -273,16 +289,6 @@ def run_threaded(self, num_chunks = range(len(self.chunks)) for _ in num_chunks: chunk_id = self.chunks.pop(0) - kwargs['data'] = self._api.exports.download_chunk( - self.type, self.uuid, chunk_id) - kwargs['export_uuid'] = self.uuid - kwargs['export_type'] = self.type - kwargs['export_chunk_id'] = chunk_id - self._log.debug( - (f'{self.type} export {self.uuid} chunk {chunk_id} ' - 'has been downloaded and the data has been handed ' - 'off to the specified function' - )) - jobs.append(executor.submit(func, **kwargs)) + jobs.append(executor.submit(thread_job, chunk_id)) self.processed.append(chunk_id) return jobs diff --git a/tenable/io/exports/schema.py b/tenable/io/exports/schema.py index d706d7e1f..0d7a75769 100644 --- a/tenable/io/exports/schema.py +++ b/tenable/io/exports/schema.py @@ -24,6 +24,7 @@ class AssetExportSchema(Schema): Asset Export API Schema ''' # Temporal fields + last_scan_id = fields.Str() created_at = fields.Int() deleted_at = fields.Int() first_scan_time = fields.Int() @@ -84,6 +85,7 @@ class VulnExportSchema(Schema): severity = fields.List(LowerCase(fields.Str())) state = fields.List(LowerCase(fields.Str())) vpr_score = fields.Nested(VPRSchema()) + scan_uuid = fields.Str() # Asset fields tags = fields.List(fields.Tuple((fields.Str(), fields.Str()))) diff --git a/tenable/io/scanners.py b/tenable/io/scanners.py index 4474c910f..416041d1c 100644 --- a/tenable/io/scanners.py +++ b/tenable/io/scanners.py @@ -13,6 +13,9 @@ ''' from .base import TIOEndpoint +SCANNERS_ = 'scanners/{}' + + class ScannersAPI(TIOEndpoint): def linking_key(self): @@ -108,7 +111,7 @@ def delete(self, id): Examples: >>> tio.scanners.delete(1) ''' - self._api.delete('scanners/{}'.format(self._check('id', id, int))) + self._api.delete(SCANNERS_.format(self._check('id', id, int))) def details(self, id): ''' @@ -128,7 +131,7 @@ def details(self, id): >>> scanner = tio.scanners.details(1) >>> pprint(scanner) ''' - return self._api.get('scanners/{}'.format( + return self._api.get(SCANNERS_.format( self._check('id', id, int))).json() def edit(self, id, **kwargs): @@ -179,8 +182,8 @@ def edit(self, id, **kwargs): and self._check('aws_update_interval', kwargs['aws_update_interval'], int)): payload['aws_update_interval'] = kwargs['aws_update_interval'] - self._api.put('settings/{}'.format(self._check('id', id, int)), - json=payload) + self._api.put(SCANNERS_.format(self._check('id', id, int)), + json=payload) def get_aws_targets(self, id): ''' diff --git a/tenable/io/scans.py b/tenable/io/scans.py index d6d61c62e..c21ee4598 100644 --- a/tenable/io/scans.py +++ b/tenable/io/scans.py @@ -824,7 +824,7 @@ def results(self, scan_id, history_id=None, history_uuid=None): scan_id (int or uuid): The unique identifier for the scan. history_id (int, optional): The unique identifier for the instance of the scan. - history_uuid (uuid, optional): + history_uuid (uuid, optional) The UUID for the instance of the scan. Returns: @@ -834,11 +834,16 @@ def results(self, scan_id, history_id=None, history_uuid=None): Examples: Retrieve the latest results: - >>> results = tio.scans.results(1) + >>> results = tio.scans.results(419) + + Retrieve a specific instance of the result set using history_id: + + >>> results = tio.scans.results(419, history_id=15184619) - Retrieve a specific instance of the result set: + Retrieve a specific instance of the result set using history_uuid: + + >>> results = tio.scans.results(419, history_uuid="123e4567-e89b-12d3-a456-426614174000") - >>> results = tio.scans.results(1, 1) ''' params = dict() @@ -846,8 +851,7 @@ def results(self, scan_id, history_id=None, history_uuid=None): params['history_id'] = self._check('history_id', history_id, int) if history_uuid: - params['history_uuid'] = self._check( - 'history_uuid', history_uuid, 'scanner-uuid') + params['history_id'] = self._check('history_uuid', history_uuid, "uuid") return self._api.get('scans/{}'.format( scan_id), params=params).json() diff --git a/tenable/io/tags.py b/tenable/io/tags.py index 726f7b92e..30acfc593 100644 --- a/tenable/io/tags.py +++ b/tenable/io/tags.py @@ -160,7 +160,7 @@ def create(self, category, value, description=None, category_description=None, for automatically applying the tag to asset. Examples: - - ``('distro', 'match', ['win', 'linux'])`` + - ``('operating_system', 'match', ['Linux'])`` - ``('name', 'nmatch', 'home')`` Note that multiple values can be passed in list of string format @@ -200,7 +200,7 @@ def create(self, category, value, description=None, category_description=None, and apply to assets dynamically: >>> tio.tags.create('Location', 'San Francisco', - ... filters=[('distro', 'match', ['win', 'linux'])]) + ... filters=[('operating_system', 'match', ['Linux'])]) Creating a new Tag value in the existing Location Category and set permissions for users: @@ -396,7 +396,7 @@ def edit(self, tag_value_uuid, value=None, description=None, filters=None, filte for automatically applying the tag to asset. Examples:: - - ``('distro', 'match', ['win', 'linux'])`` + - ``('operating_system', 'match', ['Linux'])`` - ``('name', 'nmatch', 'home')`` Note that multiple values can be passed in list of string format diff --git a/tenable/io/v3/__init__.py b/tenable/io/v3/__init__.py new file mode 100644 index 000000000..333c59ccc --- /dev/null +++ b/tenable/io/v3/__init__.py @@ -0,0 +1,44 @@ +""" +Version3 API +============ + +The following sub-package allows for interaction with the Tenable.io - Version3API + +Methods available on ``tio.v3``: + +.. rst-class:: hide-signature +.. autoclass:: Version3API + :members: + +.. toctree:: + :hidden: + :glob: + + explore/index + access_control +""" +from tenable.base.endpoint import APIEndpoint +from tenable.io.v3.access_control import AccessControlAPI +from tenable.io.v3.explore import Explore + + +class Version3API(APIEndpoint): + """ + This will contain property for all resources/app under Tenable.io - V3. + """ + + @property + def explore(self): + """ + The interface object for the + :doc:`Tenable.io v3 explore ` + """ + return Explore(self._api) + + @property + def access_control(self): + """ + The interface object for the + :doc:`Tenable.io v3 access control ` + """ + return AccessControlAPI(self._api) diff --git a/tenable/io/v3/access_control.py b/tenable/io/v3/access_control.py new file mode 100644 index 000000000..ed2ae9e8b --- /dev/null +++ b/tenable/io/v3/access_control.py @@ -0,0 +1,212 @@ +""" +Access-Control +============== + +The following methods allow for interaction into the Tenable.io API endpoints. + +Methods available on ``tio.v3.access_control``: + +.. rst-class:: hide-signature +.. autoclass:: AccessControlAPI + :members: +""" +from tenable.io.base import TIOEndpoint + + +class AccessControlAPI(TIOEndpoint): + _path = 'api/v3/access-control' + ''' + This will contain methods related to AccessControl -> Access control V3 API endpoints. + ''' + + def details(self, uuid): + """ + Retrieves the details of the specified permission. + + :devportal:`access-control: details ` + Args: + uuid (str): + the uuid of the permission to retrieve + + Returns: + :obj:`dict`: + The resource record for the specified permission + + Examples: + Get specific permission details: + >>> tio.v3.access_control.details('4f948c22-ae2c-4d0b-bab4-0fc1088a85bd') + ... + """ + return self._api.get(f'{self._path}/permissions/' + uuid).json() + + def get_user_permission(self, user_uuid): + """ + Retrieves user permission details + + :devportal:`access-control: user permission ` + + Args: + user_uuid (str): + the uuid of the user to retrieve + + Returns: + :obj:`dict`: + The resource record for the user permissions + Examples: + Get specific user permission details: + >>> tio.v3.access_control.get_user_permission('4f948c22-ae2c-4d0b-bab4-0fc1088a85bd') + """ + return self._api.get(f'{self._path}/permissions/users/' + user_uuid).json() + + def get_user_group_permission(self, user_group_uuid): + """ + Retrieves user group permission details + + :devportal:`access-control : user group permission ` + + Args: + user_group_uuid (str): + the uuid of the user-group to retrieve + + Returns: + :obj:`dict`: + The resource record for the user-group permission + + Examples: + Get specific user-group permission details: + >>> tio.v3.access_control.get_user_group_permission('4f948c22-ae2c-4d0b-bab4-0fc1088a85bd') + """ + return self._api.get(f'{self._path}/permissions/user-groups/' + user_group_uuid).json() + + def get_current_user_permission(self): + """ + Retrieves current user permission details + + :devportal:`access-control : current user permission ` + + + Returns: + :obj:`dict`: + The resource record for the current user permission. + + Examples: + Get specific user-group permission details: + >>> tio.v3.access_control.get_current_user_permission('4f948c22-ae2c-4d0b-bab4-0fc1088a85bd') + + """ + return self._api.get(f'{self._path}/permissions/users/me').json() + + def delete(self, permission_uuid): + """ + Delete the specified permission + + :devportal:`access-control: delete ` + + Args: + permission_uuid (str): + the uuid of the permission to remove + + Returns: + :obj:`dict`: + + Examples: + delete permission: + >>> tio.v3.access_control.delete('4f948c22-ae2c-4d0b-bab4-0fc1088a85bd') + """ + return self._api.delete(f'{self._path}/permissions/' + permission_uuid).json() + + def create(self, permission): + """ + Creates a new permission + + :devportal:`access-control: create ` + + Args: + permission(dict): + the permission details object that needs to be created, + Returns: + :obj:`dict`: + The resource record for the new permission. + + Example:: + create permission: + >>> payload = { + ... "actions": ["CanView","CanEdit"], + ... "objects": [ + ... { + ... "type": "Tag", + ... "uuid": "10bd7477-2961-402c-92fb-d7f6a8dc9399", + ... "name": "TGG,DE" + ... } + ... ], + ... "subjects": [ + ... { + ... "name": "dummy_user@tenable.com", + ... "type": "User", + ... "uuid": "4f948c212-ae2c-4d0b-bab4-0fc1088a85bd" + ... } + ... ], + ... "name": "permission name" + ... } + ... + ... tio.v3.access_control.create(payload) + """ + return self._api.post(f'{self._path}/permissions/', json=permission).json() + + def update(self, permission_uuid, permission): + """ + update permission + + :devportal:`access-control : update ` + + Args: + permission_uuid(str): + permission uuid to be updated + + permission(dict): + the permission details object that needs to be updated, + permission details object example : + + Returns: + :obj:`None`: Update successfully requested. + + Example: + update permission: + >>> payload = { + ... "actions": ["CanView","CanEdit"], + ... "objects": [ + ... { + ... "type": "Tag", + ... "uuid": "10bd7477-2961-402c-92fb-d7f6a8dc9399", + ... "name": "TGG,DE" + ... } + ... ], + ... "subjects": [ + ... { + ... "name": "dummy_user@tenable.com", + ... "type": "User", + ... "uuid": "4f948c212-ae2c-4d0b-bab4-0fc1088a85bd" + ... } + ... ], + ... "name": "permission name" + ... } + ... + ... permission_uuid_val = "212-ae2c-4d0b-bab4-0fc1088a85bd" + ... + ... tio.v3.access_control.update(permission_uuid_val, payload) + """ + self._api.put(f'{self._path}/permissions/' + permission_uuid, json=permission) + + def list(self) -> list: + """ + Returns a list of permissions in your container. + + Returns: + :obj:`list`: + List of permissions. + + Examples: + >>> for permission in tio.access_control.list(): + ... pprint(permission) + """ + return self._api.get(f"{self._path}/permissions").json()["permissions"] diff --git a/tenable/io/v3/base/__init__.py b/tenable/io/v3/base/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tenable/io/v3/base/endpoints/__init__.py b/tenable/io/v3/base/endpoints/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tenable/io/v3/base/endpoints/explore.py b/tenable/io/v3/base/endpoints/explore.py new file mode 100644 index 000000000..e3544ac0d --- /dev/null +++ b/tenable/io/v3/base/endpoints/explore.py @@ -0,0 +1,130 @@ +''' +Base explore class for V3 endpoints +''' +from enum import Enum +from typing import Union + +from requests import Response + +from tenable.base.endpoint import APIEndpoint +from tenable.io.v3.base.iterators.explore_iterator import (ExploreIterator, + SearchIterator) + +from tenable.io.v3.base.schema.explore.search import (SearchSchemaV3, + SortType) + + +class ExploreBaseEndpoint(APIEndpoint): + _conv_json = False + _sort_type = SortType + + def _search(self, + *, + resource: str, + api_path: str, + sort_type: Enum = _sort_type.default, + return_resp: bool = False, + iterator_cls: ExploreIterator = SearchIterator, + schema_cls: SearchSchemaV3 = SearchSchemaV3, + **kwargs + ) -> Union[Response, ExploreIterator]: + ''' + Initiate a search + + Args: + resource (str): + The json key to fetch the data from response + api_path (str): + API path for search endpoint + sort_type (enum): + Select format of sort expected by API. All the + supported formats are present in SortType Enumeration Class. + fields (list, optional): + The list of field names to return from the Tenable API. + Example: + >>> ['field1', 'field2'] + sort (list[tuple], optional): + sort is a list of tuples in the form of + ('FIELD', 'ORDER'). + It describes how to sort the data + that is to be returned. + Examples: + >>> [('field_name_1', 'asc'), + ... ('field_name_2', 'desc')] + filter (tuple, dict, optional): + A nestable filter object detailing how to filter the results + down to the desired subset. + Examples: + >>> ('or', ('and', ('test', 'oper', '1'), + ... ('test', 'oper', '2') + ... ), + ... 'and', ('test', 'oper', 3) + ... ) + >>> { + ... 'or': [{ + ... 'and': [{ + ... 'value': '1', + ... 'operator': 'oper', + ... 'property': '1' + ... }, + ... { + ... 'value': '2', + ... 'operator': 'oper', + ... 'property': '2' + ... } + ... ] + ... }], + ... 'and': [{ + ... 'value': '3', + ... 'operator': 'oper', + ... 'property': 3 + ... }] + ... } + limit (int, optional): + Number of objects to be returned in each request. + Default and maximum limit is 200. + next (str, optional): + The pagination token to use when requesting the next page of + results. This token is presented in the previous response. + return_resp (bool, optional): + If set to true, will override the default behavior to return + a requests.Response Object to the user. + return_csv (bool, optional): + If set to true, it will return the CSV response or + iterable (based on return_resp flag). Iterator returns all + rows in text/csv format for each call with row headers. + iterator_cls: + If specified, will override the default iterator class that + will be used for instantiating the iterator. + schema_cls: + If specified, will override the default Search schema class + that will be used for validation. + + :Returns: + - Iterable: + The iterable that handles the pagination for the job. + - requests.Response: + If ``return_resp`` is set to ``True``, then a response + object is returned instead of an iterable. + + ''' + schema = schema_cls( + context={'sort_type': sort_type}) + return_csv = kwargs.pop('return_csv', False) + payload = schema.dump(schema.load(kwargs)) + + if return_resp: + headers = {} + if return_csv: + headers = {'Accept': 'text/csv'} + return self._api.post( + api_path, + json=payload, + headers=headers + ) + return iterator_cls( + self._api, + _path=api_path, + _resource=resource, + _payload=payload + ) diff --git a/tenable/io/v3/base/iterators/__init__.py b/tenable/io/v3/base/iterators/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tenable/io/v3/base/iterators/explore_iterator.py b/tenable/io/v3/base/iterators/explore_iterator.py new file mode 100644 index 000000000..20c5dc20a --- /dev/null +++ b/tenable/io/v3/base/iterators/explore_iterator.py @@ -0,0 +1,101 @@ +''' +Iterator for search V3 endpoints +''' +from copy import copy +from typing import Dict + +from requests import Response + +from tenable.io.v3.base.iterators.iterator import APIResultIterator + + +class ExploreIterator(APIResultIterator): + ''' + Base Iterator for explore V3 endpoints + ''' + _path: str = None + _next_token: str = None + _resource: str = None + _payload: Dict = {} + _headers: Dict = {} + + def _construct_headers(self) -> Dict: + ''' + Constructs the headers for API calls + ''' + return copy(self._headers) + + def _construct_payload(self) -> Dict: + ''' + Constructs the payload for the API + ''' + payload = copy(self._payload) + if self._next_token: + payload['next'] = self._next_token + return payload + + def _process_response(self, response: Response) -> None: + ''' + Processes the API response + ''' + pass + + def _get_page(self) -> None: + ''' + Request the next page of data + ''' + payload = self._construct_payload() + headers = self._construct_headers() + + # This is to stop the iteration in case of csv_iterator + # for infinite loop. + if self.num_pages >= 1 and self._next_token is None: + raise StopIteration() + resp = self._api.post(self._path, + json=payload, + headers=headers + ) + self._next_token = resp.headers.get('X-Continuation-Token') + self._process_response(resp) + + +class SearchIterator(ExploreIterator): + ''' + Search Iterator for explore V3 endpoints + ''' + + def _process_response(self, response: Response) -> None: + ''' + Process the API Response + ''' + body = response.json() + # Pagination value can be null in JSON response, we need to make sure + # a dict is returned + pagination = body.get('pagination') or {} + self.page = body[self._resource] + self.total = pagination.get('total') + self._next_token = pagination.get('next') + + +class CSVChunkIterator(ExploreIterator): + ''' + CSV Iterator for explore V3 endpoints + ''' + _headers = {'Accept': 'text/csv'} + row_headers: str = None + + def _process_response(self, response: Response) -> None: + ''' + Process the API Response + ''' + if not self.row_headers: + self.row_headers, _, data = response.text.partition('\n') + self.page = [data] + else: + self.page = [response.text] + + def __getitem__(self, key: int) -> str: + ''' + Returns the specified item + ''' + return '\n'.join([self.row_headers, self.page[key]]) diff --git a/tenable/io/v3/base/iterators/iterator.py b/tenable/io/v3/base/iterators/iterator.py new file mode 100644 index 000000000..29188d26a --- /dev/null +++ b/tenable/io/v3/base/iterators/iterator.py @@ -0,0 +1,16 @@ +''' +Version 3 classes +================= +This class is a iterator for version 3 API call + +.. autoclass:: APIResultIterator + :members: +''' +from restfly.iterator import APIIterator + + +class APIResultIterator(APIIterator): + ''' + Iterator class for version 3 API + ''' + pass diff --git a/tenable/io/v3/base/schema/__init__.py b/tenable/io/v3/base/schema/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tenable/io/v3/base/schema/explore/__init__.py b/tenable/io/v3/base/schema/explore/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tenable/io/v3/base/schema/explore/filters.py b/tenable/io/v3/base/schema/explore/filters.py new file mode 100644 index 000000000..c16d8a05c --- /dev/null +++ b/tenable/io/v3/base/schema/explore/filters.py @@ -0,0 +1,148 @@ +''' +Base explore filter schema for V3 endpoints +''' +from typing import Dict, Tuple, Union + +from marshmallow import Schema, ValidationError, fields +from marshmallow.decorators import pre_load + + +class FilterSchemaV3(Schema): + ''' + Schema supporting both the Filter and FilterGroups for V3 endpoints + ''' + + property = fields.Str() + operator = fields.Str() + value = fields.Raw() + and_ = fields.List(fields.Nested('FilterSchemaV3'), data_key='and') + or_ = fields.List(fields.Nested('FilterSchemaV3'), data_key='or') + + @pre_load(pass_many=False) + def validate_and_transform(self, data, **kwargs): # noqa: PLW0613 + ''' + Handles schema validation and data transform based on the data presented. + ''' + if ( # noqa: PLR1705 + isinstance(data, dict) and ('and' in data or 'or' in data) + ) or (isinstance(data, tuple) and data[0] in ['and', 'or']): + # We need to check to see if the data dictionary + # is a group of filters. To do so we will check to see + # if the following conditions are met: + # + # 1. The data obj is a dictionary and has either an 'and' key + # or an 'or' key. + # 2. The data obj is a tuple and the first element is a string + # with a value of 'and' or 'or' + # + # If either condition is met, then we will pass the data obj + # to the filter_group_transform method for validation + # and transformation + return self.filter_group_transform(data) + elif ( + isinstance(data, dict) + and ( + 'property' in data # noqa: PLR0916 + and 'operator' in data + and 'value' in data + ) + ) or (isinstance(data, tuple) and len(data) == 3): + return self.filter_tuple_expansion(data) + else: + raise ValidationError('Invalid Filter definition') + + def filter_group_transform( + self, data: Union[Tuple, Dict]) -> Dict: # noqa: PLR0201 + ''' + Handles expanding a tuple definition of a filter group into the + dictionary equivalent. + + Example: + + >>> f = ('or', ('and', ('test', 'oper', '1'), + ... ('test', 'oper', '2') + ... ), + ... 'and', ('test', 'oper', 3) + ... ) + >>> filter.dump(filter.load(f)) + {'or': [ + {'and': [ + {'value': '1', 'operator': 'oper', 'property': '1'}, + {'value': '2', 'operator': 'oper', 'property': '2'} + ] + }], + 'and': [ + {'value': '3', 'operator': 'oper', 'property': 3} + ] + } + ''' + if isinstance(data, tuple): + # if the data object is a tuple, then we will need to pass it to + # the tuple -> dict transformer. + return self.filter_group_tuple_expansion(data) + else: + # pass the data object right through if it's not a tuple and rely + # on the schema to validate the data object. + return data + + def filter_group_tuple_expansion(self, data: Tuple) -> Dict: + ''' + Transforms a logical group tuple into a logical group dictionary. + + ''' + resp = {} + oper = None + errors = {} + for element in data: + # If the element is either 'and' or 'or' and doesn't already exist + # within the response dict, then we will store the operator and + # create the list within the response to store this logical + # grouping. + if ( + isinstance(element, str) + and element in ['and', 'or'] + and not resp.get(element) + ): + resp[element] = [] + oper = element + # if the element is a logical condition that we have already seen + # before, we should assume that this is a malformed tuple and log + # the error into the errors dict. + elif ( + isinstance(element, str) + and element in ['and', 'or'] + and resp.get(element) + ): + errors[element] = [ + ( + f'attempted to use logical condition {element}\ + multiple times' + ) + ] + # If there is no stored operator, when we will log a 'NoneOper' + # validation error. + elif oper is None: + errors['NoneOper'] = ['No valid logical condition detected'] + # If none of the above conditions have been met, then we can safely + # assume that the element is a filter and we should append it to + # the current logical grouping. + else: + resp[oper].append(element) + if errors: + raise ValidationError(errors) + return resp + + def filter_tuple_expansion(self, data) -> Dict: # noqa: PLR0201 + ''' + Handles expanding a tuple definition of a filter into the dictionary + equivalent. + + Example: + + >>> f = ('filter', 'oper', 'value') + >>> filter.dump(filter.load(f)) + {'property': 'filter', 'operator': 'oper', 'value': 'value'} + ''' + if isinstance(data, tuple): + return {'property': data[0], 'operator': data[1], 'value': data[2]} + return data diff --git a/tenable/io/v3/base/schema/explore/search.py b/tenable/io/v3/base/schema/explore/search.py new file mode 100644 index 000000000..0f11940d6 --- /dev/null +++ b/tenable/io/v3/base/schema/explore/search.py @@ -0,0 +1,62 @@ +''' +Base explore search schema for V3 endpoints +''' +from enum import Enum + +from marshmallow import Schema, fields, post_dump, pre_load +from marshmallow import validate as v + +from tenable.io.v3.base.schema.explore.filters import FilterSchemaV3 + + +class SortType(Enum): + ''' + Enum class for different types of sort + ''' + default = 'Sort format: {FIELD:ORDER}' + property_based = 'Sort format: {"property": FIELD, "order": ORDER}' + name_based = 'Sort format: {"name": FIELD, "order": ORDER}' + + +class SortSchemaV3(Schema): + ''' + Schema for the sorting sub-object + ''' + property = fields.Str() + order = fields.Str(validate=v.OneOf(['asc', 'desc'])) + + @pre_load(pass_many=True) + def transform_data(self, data, **kwargs): + if isinstance(data, tuple) and len(data) == 2: + property = data[0] + order = data[1] + return dict(property=property, order=order) + return data + + @post_dump(pass_many=True) + def transform_request_data(self, data, **kwargs): + if ( + not self.context.get("sort_type") + or self.context.get("sort_type") == SortType.default + ): + return { + data['property']: data['order'] + } + elif self.context.get('sort_type') == SortType.name_based: + return { + 'name': data['property'], + 'order': data['order'] + } + elif self.context.get('sort_type') == SortType.property_based: + return data + + +class SearchSchemaV3(Schema): + ''' + Schema supporting the search request + ''' + fields_ = fields.List(fields.Str(), allow_none=True, data_key='fields') + filter = fields.Nested(FilterSchemaV3, allow_none=True) + limit = fields.Int(dump_default=200) + next = fields.Str(allow_none=True) + sort = fields.List(fields.Nested(SortSchemaV3), allow_none=True) diff --git a/tenable/io/v3/explore/__init__.py b/tenable/io/v3/explore/__init__.py new file mode 100644 index 000000000..e85daccd7 --- /dev/null +++ b/tenable/io/v3/explore/__init__.py @@ -0,0 +1,46 @@ +''' +Explore +======= + +The following API's are available for interaction under Explore platform. + +Methods available on ``tio.v3.explore``: + + +.. rst-class:: hide-signature +.. autoclass:: Explore + :members: + +.. toctree:: + :hidden: + :glob: + + assets + findings + +''' +from tenable.io.v3.base.endpoints.explore import ExploreBaseEndpoint +from tenable.io.v3.explore.assets.api import AssetsAPI +from tenable.io.v3.explore.findings.api import FindingsAPI + + +class Explore(ExploreBaseEndpoint): + ''' + This class will contain property for all resources under Explore i.e. assets, findings etc. + ''' + + @property + def assets(self): + """ + The interface object for the Assets APIs + :doc:`Tenable.io v3 explore assets APIs `. + """ + return AssetsAPI(self._api) + + @property + def findings(self): + """ + The interface object for the Findings APIs + :doc:`Tenable.io v3 explore findings APIs `. + """ + return FindingsAPI(self._api) diff --git a/tenable/io/v3/explore/assets/__init__.py b/tenable/io/v3/explore/assets/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tenable/io/v3/explore/assets/api.py b/tenable/io/v3/explore/assets/api.py new file mode 100644 index 000000000..9db2cba48 --- /dev/null +++ b/tenable/io/v3/explore/assets/api.py @@ -0,0 +1,323 @@ +''' +Assets V3 endpoints +=================== + +The following methods allow for interaction into the Tenable.io +:devportal:`assets ` API endpoints. + +Methods available on ``tio.v3.explore.assets``: + +.. rst-class:: hide-signature +.. autoclass:: AssetsAPI + :members: +''' +from typing import Union + +from requests import Response + +from tenable.io.v3.base.endpoints.explore import ExploreBaseEndpoint +from tenable.io.v3.base.iterators.explore_iterator import (CSVChunkIterator, SearchIterator) + + +class AssetsAPI(ExploreBaseEndpoint): + ''' + This will contain methods related to Explore -> Assets V3 API endpoints. + ''' + _path = 'api/v3/assets' + _conv_json = True + + def search_webapp(self, **kw) -> Union[SearchIterator, CSVChunkIterator, Response]: + ''' + Retrieves the WAS assets. + + Args: + filter (tuple, dict, optional): + A nestable filter object detailing how to filter the results + down to the desired subset. + Examples: + >>> ('or', ('and', ('test', 'oper', '1'), + ... ('test', 'oper', '2') + ... ), + ... 'and', ('test', 'oper', 3) + ... ) + >>> { + ... 'or': [{ + ... 'and': [{ + ... 'value': '1', + ... 'operator': 'oper', + ... 'property': '1' + ... }, + ... { + ... 'value': '2', + ... 'operator': 'oper', + ... 'property': '2' + ... } + ... ] + ... }], + ... 'and': [{ + ... 'value': '3', + ... 'operator': 'oper', + ... 'property': 3 + ... }] + ... } + sort (list[tuple], optional): + sort is a list of tuples in the form of + ('FIELD', 'ORDER'). + It describes how to sort the data + that is to be returned. + Examples: + >>> [('field_name_1', 'asc'), + ... ('field_name_2', 'desc')] + limit (int, optional): + Number of objects to be returned in each request. + Default and max_limit is 200. + next (str, optional): + The pagination token to use when requesting the next page of + results. This token is presented in the previous response. + return_resp (bool, optional): + If set to true, will override the default behavior to return + a requests.Response Object to the user. + return_csv (bool, optional): + If set to true, it will return the CSV response or + iterable (based on return_resp flag). Iterator returns all + rows in text/csv format for each call with row headers. + Returns: + Iterable: + The iterable that handles the pagination for the job. + requests.Response: + If ``return_resp`` is set to ``True``, then a response + object is returned instead of an iterable. + + Examples: + >>> tio.v3.assets.search_webapp(filter=('netbios_name', 'eq', 'SCCM'), + ... limit=2, sort=[('last_observed', 'asc')]) + ''' + iclass = SearchIterator + if kw.get('return_csv', False): + iclass = CSVChunkIterator + return super()._search(resource='assets', + iterator_cls=iclass, + api_path=f'{self._path}/webapp/search', + **kw) + + def search_host(self, **kw) -> Union[SearchIterator, CSVChunkIterator, Response]: + ''' + Retrieves the host assets. + + Args: + filter (tuple, dict, optional): + A nestable filter object detailing how to filter the results + down to the desired subset. + Examples: + >>> ('or', ('and', ('test', 'oper', '1'), + ... ('test', 'oper', '2') + ... ), + ... 'and', ('test', 'oper', 3) + ... ) + >>> { + ... 'or': [{ + ... 'and': [{ + ... 'value': '1', + ... 'operator': 'oper', + ... 'property': '1' + ... }, + ... { + ... 'value': '2', + ... 'operator': 'oper', + ... 'property': '2' + ... } + ... ] + ... }], + ... 'and': [{ + ... 'value': '3', + ... 'operator': 'oper', + ... 'property': 3 + ... }] + ... } + sort (list[tuple], optional): + sort is a list of tuples in the form of + ('FIELD', 'ORDER'). + It describes how to sort the data + that is to be returned. + Examples: + >>> [('field_name_1', 'asc'), + ... ('field_name_2', 'desc')] + limit (int, optional): + Number of objects to be returned in each request. + Default and max_limit is 200. + next (str, optional): + The pagination token to use when requesting the next page of + results. This token is presented in the previous response. + return_resp (bool, optional): + If set to true, will override the default behavior to return + a requests.Response Object to the user. + return_csv (bool, optional): + If set to true, it will return the CSV response or + iterable (based on return_resp flag). Iterator returns all + rows in text/csv format for each call with row headers. + Returns: + Iterable: + The iterable that handles the pagination for the job. + requests.Response: + If ``return_resp`` is set to ``True``, then a response + object is returned instead of an iterable. + + Examples: + >>> tio.v3.assets.search_host(filter=('netbios_name', 'eq', 'SCCM'), + ... limit=2, sort=[('last_observed', 'asc')]) + ''' + iclass = SearchIterator + if kw.get('return_csv', False): + iclass = CSVChunkIterator + return super()._search(resource='assets', + iterator_cls=iclass, + api_path=f'{self._path}/host/search', + **kw) + + def search_cloud_resource(self, **kw) -> Union[SearchIterator, CSVChunkIterator, Response]: + ''' + Retrieves the cloud resource assets. + + Args: + filter (tuple, dict, optional): + A nestable filter object detailing how to filter the results + down to the desired subset. + Examples: + >>> ('or', ('and', ('test', 'oper', '1'), + ... ('test', 'oper', '2') + ... ), + ... 'and', ('test', 'oper', 3) + ... ) + >>> { + ... 'or': [{ + ... 'and': [{ + ... 'value': '1', + ... 'operator': 'oper', + ... 'property': '1' + ... }, + ... { + ... 'value': '2', + ... 'operator': 'oper', + ... 'property': '2' + ... } + ... ] + ... }], + ... 'and': [{ + ... 'value': '3', + ... 'operator': 'oper', + ... 'property': 3 + ... }] + ... } + sort (list[tuple], optional): + sort is a list of tuples in the form of + ('FIELD', 'ORDER'). + It describes how to sort the data + that is to be returned. + Examples: + >>> [('field_name_1', 'asc'), + ... ('field_name_2', 'desc')] + limit (int, optional): + Number of objects to be returned in each request. + Default and max_limit is 200. + next (str, optional): + The pagination token to use when requesting the next page of + results. This token is presented in the previous response. + return_resp (bool, optional): + If set to true, will override the default behavior to return + a requests.Response Object to the user. + return_csv (bool, optional): + If set to true, it will return the CSV response or + iterable (based on return_resp flag). Iterator returns all + rows in text/csv format for each call with row headers. + Returns: + Iterable: + The iterable that handles the pagination for the job. + requests.Response: + If ``return_resp`` is set to ``True``, then a response + object is returned instead of an iterable. + + Examples: + >>> tio.v3.assets.search_cloud_resource(filter=('netbios_name', 'eq', 'SCCM'), + ... limit=2, sort=[('last_observed', 'asc')]) + ''' + iclass = SearchIterator + if kw.get('return_csv', False): + iclass = CSVChunkIterator + return super()._search(resource='assets', + iterator_cls=iclass, + api_path=f'{self._path}/cloud_resource/search', + **kw) + + def search_all(self, **kw) -> Union[SearchIterator, CSVChunkIterator, Response]: + ''' + Retrieves all the assets. + + Args: + filter (tuple, dict, optional): + A nestable filter object detailing how to filter the results + down to the desired subset. + Examples: + >>> ('or', ('and', ('test', 'oper', '1'), + ... ('test', 'oper', '2') + ... ), + ... 'and', ('test', 'oper', 3) + ... ) + >>> { + ... 'or': [{ + ... 'and': [{ + ... 'value': '1', + ... 'operator': 'oper', + ... 'property': '1' + ... }, + ... { + ... 'value': '2', + ... 'operator': 'oper', + ... 'property': '2' + ... } + ... ] + ... }], + ... 'and': [{ + ... 'value': '3', + ... 'operator': 'oper', + ... 'property': 3 + ... }] + ... } + sort (list[tuple], optional): + sort is a list of tuples in the form of + ('FIELD', 'ORDER'). + It describes how to sort the data + that is to be returned. + Examples: + >>> [('field_name_1', 'asc'), + ... ('field_name_2', 'desc')] + limit (int, optional): + Number of objects to be returned in each request. + Default and max_limit is 200. + next (str, optional): + The pagination token to use when requesting the next page of + results. This token is presented in the previous response. + return_resp (bool, optional): + If set to true, will override the default behavior to return + a requests.Response Object to the user. + return_csv (bool, optional): + If set to true, it will return the CSV response or + iterable (based on return_resp flag). Iterator returns all + rows in text/csv format for each call with row headers. + Returns: + Iterable: + The iterable that handles the pagination for the job. + requests.Response: + If ``return_resp`` is set to ``True``, then a response + object is returned instead of an iterable. + + Examples: + >>> tio.v3.assets.search_all(filter=('netbios_name', 'eq', 'SCCM'), + ... limit=2, sort=[('last_observed', 'asc')]) + ''' + iclass = SearchIterator + if kw.get('return_csv', False): + iclass = CSVChunkIterator + return super()._search(resource='assets', + iterator_cls=iclass, + api_path=f'{self._path}/search', + **kw) diff --git a/tenable/io/v3/explore/findings/__init__.py b/tenable/io/v3/explore/findings/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tenable/io/v3/explore/findings/api.py b/tenable/io/v3/explore/findings/api.py new file mode 100644 index 000000000..03444857e --- /dev/null +++ b/tenable/io/v3/explore/findings/api.py @@ -0,0 +1,262 @@ +''' +Findings V3 endpoints +===================== + +The following methods allow for interaction into the Tenable.io +:devportal:`findings ` API. + +Methods available on ``tio.v3.explore.findings``: + +.. rst-class:: hide-signature +.. autoclass:: FindingsAPI + :members: +''' +from typing import Union + +from requests import Response + +from tenable.io.v3.base.endpoints.explore import ExploreBaseEndpoint +from tenable.io.v3.base.iterators.explore_iterator import (CSVChunkIterator, + SearchIterator) + + +class FindingsAPI(ExploreBaseEndpoint): + ''' + API class containing all the methods related to Findings. + ''' + _path = 'api/v3/findings/vulnerabilities' + _conv_json = True + + def search_webapp(self, + **kw + ) -> Union[SearchIterator, CSVChunkIterator, Response]: + ''' + Search and retrieve the WAS Vulnerabilities based on supported conditions. + Args: + fields (list, optional): + The list of field names to return from the Tenable API. + Example: + >>> ['field1', 'field2'] + filter (tuple, dict, optional): + A nestable filter object detailing how to filter the results + down to the desired subset. + Examples: + >>> ('or', ('and', ('test', 'oper', '1'), + ... ('test', 'oper', '2') + ... ), + ... 'and', ('test', 'oper', 3) + ... ) + >>> { + ... 'or': [{ + ... 'and': [{ + ... 'value': '1', + ... 'operator': 'oper', + ... 'property': '1' + ... }, + ... { + ... 'value': '2', + ... 'operator': 'oper', + ... 'property': '2' + ... } + ... ] + ... }], + ... 'and': [{ + ... 'value': '3', + ... 'operator': 'oper', + ... 'property': 3 + ... }] + ... } + sort (list[tuple], optional): + A list of dictionaries describing how to sort the data + that is to be returned. + Examples: + >>> [('field_name_1', 'asc'), + ... ('field_name_2', 'desc')] + limit (int, optional): + Number of objects to be returned in each request. + Default and max_limit is 200. + next (str, optional): + The pagination token to use when requesting the next page of + results. This token is presented in the previous response. + return_resp (bool, optional): + If set to true, will override the default behavior to return + a requests.Response Object as is to the user. + return_csv (bool, optional): + If set to true, it will return the CSV response or + iterable (based on return_resp flag). Iterator returns all + rows in text/csv format for each call with row headers. + Returns: + Iterable: + The iterable that handles the pagination for the job. + requests.Response: + If ``return_resp`` is set to ``True``, then a response + object is returned instead of an iterable. + Examples: + >>> tio.v3.explore.findings.search_webapp( + ... fields=['finding_id'], limit=2) + ''' + iclass = SearchIterator + if kw.get('return_csv', False): + iclass = CSVChunkIterator + return super()._search(iterator_cls=iclass, + sort_type=self._sort_type.property_based, + resource='findings', + api_path=f'{self._path}/webapp/search', + **kw + ) + + def search_cloud_resource(self, + **kw + ) -> Union[SearchIterator, CSVChunkIterator, Response]: + ''' + Search and retrieve the Cloud Resource Vulnerabilities based on supported conditions. + Args: + fields (list, optional): + The list of field names to return from the Tenable API. + Example: + >>> ['field1', 'field2'] + filter (tuple, dict, optional): + A nestable filter object detailing how to filter the results + down to the desired subset. + Examples: + >>> ('or', ('and', ('test', 'oper', '1'), + ... ('test', 'oper', '2') + ... ), + ... 'and', ('test', 'oper', 3) + ... ) + >>> { + ... 'or': [{ + ... 'and': [{ + ... 'value': '1', + ... 'operator': 'oper', + ... 'property': '1' + ... }, + ... { + ... 'value': '2', + ... 'operator': 'oper', + ... 'property': '2' + ... } + ... ] + ... }], + ... 'and': [{ + ... 'value': '3', + ... 'operator': 'oper', + ... 'property': 3 + ... }] + ... } + sort (list[tuple], optional): + A list of dictionaries describing how to sort the data + that is to be returned. + Examples: + >>> [('field_name_1', 'asc'), + ... ('field_name_2', 'desc')] + limit (int, optional): + Number of objects to be returned in each request. + Default and max_limit is 200. + next (str, optional): + The pagination token to use when requesting the next page of + results. This token is presented in the previous response. + return_resp (bool, optional): + If set to true, will override the default behavior to return + a requests.Response Object as is to the user. + return_csv (bool, optional): + If set to true, it will return the CSV response or + iterable (based on return_resp flag). Iterator returns all + rows in text/csv format for each call with row headers. + Returns: + Iterable: + The iterable that handles the pagination for the job. + requests.Response: + If ``return_resp`` is set to ``True``, then a response + object is returned instead of an iterable. + Examples: + >>> tio.v3.explore.findings.search_cloud_resource( + ... fields=['risk_factor_num','last_found_time'], limit=2) + ''' + iclass = SearchIterator + if kw.get('return_csv', False): + iclass = CSVChunkIterator + return super()._search(iterator_cls=iclass, + sort_type=self._sort_type.property_based, + resource='findings', + api_path=f'{self._path}/cloud_resource/search', + **kw + ) + + def search_host(self, + **kw + ) -> Union[SearchIterator, CSVChunkIterator, Response]: + ''' + Search and retrieve the Host Vulnerabilities based on supported conditions. + Args: + fields (list, optional): + The list of field names to return from the Tenable API. + Example: + >>> ['field1', 'field2'] + filter (tuple, dict, optional): + A nestable filter object detailing how to filter the results + down to the desired subset. + Examples: + >>> ('or', ('and', ('test', 'oper', '1'), + ... ('test', 'oper', '2') + ... ), + ... 'and', ('test', 'oper', 3) + ... ) + >>> { + ... 'or': [{ + ... 'and': [{ + ... 'value': '1', + ... 'operator': 'oper', + ... 'property': '1' + ... }, + ... { + ... 'value': '2', + ... 'operator': 'oper', + ... 'property': '2' + ... } + ... ] + ... }], + ... 'and': [{ + ... 'value': '3', + ... 'operator': 'oper', + ... 'property': 3 + ... }] + ... } + sort (list[tuple], optional): + A list of dictionaries describing how to sort the data + that is to be returned. + Examples: + >>> [('field_name_1', 'asc'), + ... ('field_name_2', 'desc')] + limit (int, optional): + Number of objects to be returned in each request. + Default and max_limit is 200. + next (str, optional): + The pagination token to use when requesting the next page of + results. This token is presented in the previous response. + return_resp (bool, optional): + If set to true, will override the default behavior to return + a requests.Response Object as is to the user. + return_csv (bool, optional): + If set to true, it will return the CSV response or + iterable (based on return_resp flag). Iterator returns all + rows in text/csv format for each call with row headers. + Returns: + Iterable: + The iterable that handles the pagination for the job. + requests.Response: + If ``return_resp`` is set to ``True``, then a response + object is returned instead of an iterable. + Examples: + >>> tio.v3.explore.findings.search_host( + ... fields=['finding_id'], limit=2) + ''' + iclass = SearchIterator + if kw.get('return_csv', False): + iclass = CSVChunkIterator + return super()._search(iterator_cls=iclass, + sort_type=self._sort_type.property_based, + resource='findings', + api_path=f'{self._path}/host/search', + **kw + ) diff --git a/tenable/nessus/iterators/__init__.py b/tenable/nessus/iterators/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tenable/ot/__init__.py b/tenable/ot/__init__.py index b68e74044..60f231bc8 100644 --- a/tenable/ot/__init__.py +++ b/tenable/ot/__init__.py @@ -1,4 +1,20 @@ -''' -Tenable.ot Base Package -''' +""" +Tenable.ot base package +======================= + +This package covers the Tenable.ad interface. + +.. autoclass:: TenableOT + :members: + + +.. toctree:: + :hidden: + :glob: + + assets + events + plugins +""" + from .session import TenableOT diff --git a/tenable/ot/api.py b/tenable/ot/api.py new file mode 100644 index 000000000..d6a149742 --- /dev/null +++ b/tenable/ot/api.py @@ -0,0 +1,52 @@ +""" +OT API Base +====== + +Methods described in this section relate to the OT API Base class. + +.. rst-class:: hide-signature +.. autoclass:: OTAPIBase + :members: +""" +from typing import List, Optional + +from tenable.base.endpoint import APIEndpoint +from tenable.ot.graphql.definitions import GraphObject +from tenable.ot.graphql.iterators import OTGraphIterator + + +class OTAPIBase(APIEndpoint): + query = None + schema_class = None + + def list( + self, + query: str, + query_filter: Optional[dict] = None, + search: Optional[str] = None, + sort: Optional[List[dict]] = None, + start_at: Optional[str] = None, + limit: Optional[int] = 200, + **kwargs + ) -> OTGraphIterator: + if sort is None: + sort = [] + + query_variables = { + "search": search, + "sort": sort, + "startAt": start_at, + "limit": limit, + } + + if query_filter is not None: + query_variables["filter"] = query_filter + + graph_obj = GraphObject( + object_name=self._path, + query=query, + resp_schema=self.schema_class, + query_variables=query_variables, + ) + + return OTGraphIterator(api=self._api, graph_object=graph_obj, **kwargs) diff --git a/tenable/ot/assets.py b/tenable/ot/assets.py index ee6801bb8..f40f100cb 100644 --- a/tenable/ot/assets.py +++ b/tenable/ot/assets.py @@ -1,44 +1,45 @@ -''' +""" Assets ====== -Methods described in this section relate to the the assets API. +Methods described in this section relate to the assets API. These methods can be accessed at ``TenableOT.assets``. .. rst-class:: hide-signature .. autoclass:: AssetsAPI :members: -''' +""" from typing import List, Optional -from tenable.base.endpoint import APIEndpoint -from tenable.ot.graphql.assets import ( - ASSETS_QUERY, - ASSETS_QUERY_OBJECT_NAME, - AssetsSchema -) -from tenable.ot.graphql.definitions import GraphObject + +from tenable.ot.api import OTAPIBase from tenable.ot.graphql.iterators import OTGraphIterator +from tenable.ot.graphql.query import ASSETS_QUERY +from tenable.ot.graphql.schema.assets import AssetsSchema -class AssetsAPI(APIEndpoint): - _path = 'assets' +class AssetsAPI(OTAPIBase): + _path = "assets" + query = ASSETS_QUERY + schema_class = AssetsSchema - def list(self, - filter: Optional[dict] = None, - search: Optional[str] = None, - sort: Optional[List[dict]] = None, - start_at: Optional[str] = None, - limit: Optional[int] = 200, - **kwargs): - ''' + def list( + self, + query_filter: Optional[dict] = None, + search: Optional[str] = None, + sort: Optional[List[dict]] = None, + start_at: Optional[str] = None, + limit: Optional[int] = 200, + **kwargs, + ) -> OTGraphIterator: + """ Retrieves a list of assets via the GraphQL API. Args: - filter(dict, optional): + query_filter(dict, optional): A document as defined by Tenable.ot online documentation. search(str, optional): A search string to further limit the response. - sort(list[dict], optional): + sort(List[dict], optional): A list of order documents, each of which must contain both the ``field`` and ``direction`` keys and may also contain the optional ``function`` key. Default sort is by descending id @@ -58,24 +59,44 @@ def list(self, Example: >>> for asset in tot.assets.list(limit=500): print(asset) - ''' + """ if not sort: - sort = [{'field': 'id', 'direction': 'DescNullLast'}] - - query_variables = { - 'search': search, - 'sort': sort, - 'startAt': start_at, - 'limit': limit - } - if filter: - query_variables['filter'] = filter + sort = [{"field": "id", "direction": "DescNullLast"}] - graph_obj = GraphObject( - object_name=ASSETS_QUERY_OBJECT_NAME, + return super().list( query=ASSETS_QUERY, - resp_schema=AssetsSchema, - query_variables=query_variables + query_filter=query_filter, + search=search, + sort=sort, + start_at=start_at, + limit=limit, + **kwargs, ) - return OTGraphIterator(self._api, graph_obj, **kwargs) + def asset( + self, + asset_id: int, + **kwargs, + ) -> OTGraphIterator: + """ + Retrieve a specific asset by ID. + + Args: + asset_id (int): + + Returns: + :obj:`OTGraphIterator`: + An iterator object handling data pagination. + Example: + >>> tot.plugins.plugin(1) + + """ + return super().list( + query_filter={ + "field": "id", + "op": "Equal", + "values": asset_id, + }, + query=ASSETS_QUERY, + **kwargs, + ) diff --git a/tenable/ot/events.py b/tenable/ot/events.py new file mode 100644 index 000000000..253a052ee --- /dev/null +++ b/tenable/ot/events.py @@ -0,0 +1,73 @@ +""" +Events +====== + +Methods described in this section relate to the events API. +These methods can be accessed at ``TenableOT.events``. + +.. rst-class:: hide-signature +.. autoclass:: EventsAPI + :members: +""" +from typing import List, Optional + +from tenable.ot.api import OTAPIBase +from tenable.ot.graphql.iterators import OTGraphIterator +from tenable.ot.graphql.query import EVENTS_QUERY +from tenable.ot.graphql.schema.events import EventsSchema + + +class EventsAPI(OTAPIBase): + _path = "events" + schema_class = EventsSchema + + def list( + self, + query_filter: Optional[dict] = None, + search: Optional[str] = None, + sort: Optional[List[dict]] = None, + start_at: Optional[str] = None, + limit: Optional[int] = 200, + **kwargs + ) -> OTGraphIterator: + """ + Retrieves a list of events via the GraphQL API. + + Args: + query_filter(dict, optional): + A document as defined by Tenable.ot online documentation. + search(str, optional): + A search string to further limit the response. + sort(List[dict], optional): + A list of order documents, each of which must contain both the + ``field`` and ``direction`` keys and may also contain the + optional ``function`` key. Default sort is by descending id + order. Please refer to Tenable.ot online documentation for more + information. + start_at(str, optional): + The cursor to start the scan from (the default is an empty + cursor). + limit(int, optional): + Max number of objects that get retrieved per page (the default + is 200). + + Returns: + :obj:`OTGraphIterator`: + An iterator object that will handle pagination of the data. + + Example: + >>> for event in tot.events.list(limit=500): + print(event) + """ + if not sort: + sort = [{"field": "eventId", "direction": "DescNullLast"}] + + return super().list( + query=EVENTS_QUERY, + query_filter=query_filter, + search=search, + sort=sort, + start_at=start_at, + limit=limit, + **kwargs + ) diff --git a/tenable/ot/graphql/assets.py b/tenable/ot/graphql/assets.py deleted file mode 100644 index 2eca43503..000000000 --- a/tenable/ot/graphql/assets.py +++ /dev/null @@ -1,282 +0,0 @@ -''' -Assets GraphQL API. -For each class, please refer to the Tenable.ot documentation website for a -detailed explanation of the fields. -''' -from dataclasses import dataclass -from typing import List -from marshmallow import fields -from marshmallow.decorators import post_load -from marshmallow.schema import Schema - -ASSETS_QUERY_OBJECT_NAME = 'assets' -ASSETS_QUERY = ''' -query assets($filter: AssetExpressionsParams, $search: String, -$sort: [AssetSortParams!]!, $limit: Int, $startAt: String) { - assets(filter: $filter, search: $search, sort: $sort, first: $limit, - after: $startAt){ - pageInfo{ - endCursor - } - nodes{ - id - slot - name - type - risk{ - unresolvedEvents - totalRisk - } - criticality - ips{ - nodes - } - macs{ - nodes - } - category - vendor - family - model - firmwareVersion - os - runStatus - purdueLevel - firstSeen - lastSeen - location - backplane{ - id - name - size - } - description - segments{ - nodes{ - id - name - type - key - systemName - vlan - description - assetType - subnet - } - } - } - } -} -''' - - -class RiskSchema(Schema): - ''' - Schema for retrieving asset's risk information. - ''' - unresolved_events = fields.Int(required=True, data_key="unresolvedEvents") - total_risk = fields.Float(required=True, data_key="totalRisk") - - @post_load - def to_object(self, data, **kwargs): - '''This method turns the schema into its corresponding object.''' - return Risk(**data) - - -class IpsSchema(Schema): - ''' - Schema for retrieving a list of IP addresses. - ''' - nodes = fields.List(fields.Str()) - - @post_load - def get_nodes(self, data, **kwargs): - '''This method returns the list inside 'nodes' instead of an - element.''' - return data['nodes'] - - -class MacsSchema(Schema): - ''' - Schema for retrieving a list of MAC addresses. - ''' - nodes = fields.List(fields.Str()) - - @post_load - def get_nodes(self, data, **kwargs): - '''This method returns the list inside 'nodes' instead of an - element.''' - return data['nodes'] - - -class BackplaneSchema(Schema): - ''' - Schema for retrieving backplane information. - ''' - id = fields.Str(required=True) - name = fields.Str(required=True) - size = fields.Int(required=True) - - @post_load - def to_object(self, data, **kwargs): - '''This method turns the schema into its corresponding object.''' - return Backplane(**data) - - -class SegmentSchema(Schema): - ''' - Schema for retrieving segment information. - ''' - id = fields.Str(required=True) - name = fields.Str(required=True) - type = fields.Str(required=True) - key = fields.Str(required=True) - system_name = fields.Str(allow_none=True, data_key="systemName") - vlan = fields.Str(allow_none=True) - description = fields.Str(allow_none=True) - asset_type = fields.Str(allow_none=True, data_key="assetType") - subnet = fields.Str(allow_none=True) - - @post_load - def to_object(self, data, **kwargs): - '''This method turns the schema into its corresponding object.''' - return Segment(**data) - - -class SegmentsSchema(Schema): - ''' - Schema for retrieving a list of segments. - ''' - nodes = fields.List(fields.Nested(SegmentSchema)) - - @post_load - def get_nodes(self, data, **kwargs): - '''This method returns the list inside 'nodes' instead of an - element.''' - return data['nodes'] - - -class AssetSchema(Schema): - ''' - Schema for retrieving asset information. - ''' - id = fields.Str(required=True) - slot = fields.Int(allow_none=True) - name = fields.Str(required=True) - type = fields.Str(required=True) - risk = fields.Nested(RiskSchema, required=True) - criticality = fields.Str(required=True) - ips = fields.Nested(IpsSchema, allow_none=True) - macs = fields.Nested(MacsSchema, allow_none=True) - category = fields.Str(required=True) - vendor = fields.Str(allow_none=True) - family = fields.Str(allow_none=True) - model = fields.Str(allow_none=True) - firmware_version = fields.Str(allow_none=True, data_key="firmwareVersion") - os = fields.Str(allow_none=True) - run_status = fields.Str(allow_none=True, data_key="runStatus") - purdue_level = fields.Str(required=True, data_key="purdueLevel") - first_seen = fields.Str(allow_none=True, data_key="firstSeen") - last_seen = fields.Str(allow_none=True, data_key="lastSeen") - location = fields.Str(allow_none=True) - backplane = fields.Nested(BackplaneSchema, allow_none=True) - description = fields.Str(allow_none=True) - segments = fields.Nested(SegmentsSchema, allow_none=True) - - @post_load - def to_object(self, data, **kwargs): - '''This method turns the schema into its corresponding object.''' - return Asset(**data) - - -class AssetsSchema(Schema): - ''' - Schema for retrieving a list of assets. - ''' - nodes = fields.List(fields.Nested(AssetSchema)) - - @post_load - def get_nodes(self, data, **kwargs): - '''This method returns the list inside 'nodes' instead of an - element.''' - return data['nodes'] - - -@dataclass -class Risk: - ''' - This class holds the risk information. - ''' - unresolved_events: int - total_risk: float - - -@dataclass -class Ips: - ''' - This class holds a list of IP addresses. - ''' - ips: List[str] - - -@dataclass -class Macs: - ''' - This class holds a list of MAC addresses. - ''' - macs: List[str] - - -@dataclass -class Backplane: - ''' - This class holds a backplane's information. - ''' - id: str - name: str - size: str - - -@dataclass -class Segment: - ''' - This class holds a segment's information. - ''' - id: str - name: str - type: str - key: str - system_name: str = None - vlan: str = None - description: str = None - asset_type: str = None - subnet: str = None - - -@dataclass -class Asset: - ''' - This class holds Tenable.ot asset information. - ''' - id: str - name: str - type: str - risk: Risk - criticality: str - category: str - purdue_level: str - slot: int = None - ips: Ips = None - macs: Macs = None - vendor: str = None - family: str = None - model: str = None - firmware_version: str = None - os: str = None - run_status: str = None - first_seen: str = None - last_seen: str = None - location: str = None - backplane: Backplane = None - description: str = None - segments: List[Segment] = None diff --git a/tenable/ot/graphql/definitions.py b/tenable/ot/graphql/definitions.py index 662f9bfcc..44c60f71f 100644 --- a/tenable/ot/graphql/definitions.py +++ b/tenable/ot/graphql/definitions.py @@ -1,59 +1,33 @@ -''' +""" GraphQL definitions file. -''' +""" +import re from dataclasses import dataclass -from typing import List +from typing import List, Optional + from marshmallow import fields from marshmallow.decorators import post_load from marshmallow.schema import Schema -class GraphObject(): - ''' +class GraphObject: + """ A class wrapper for the GraphQL query. This class can be further wrapped with other GraphObject classes that add more functionality to the original query. - ''' + """ def __init__(self, object_name, query, resp_schema, query_variables): - self._object_name = object_name - self._query = query - self._resp_schema = resp_schema - self._query_variables = query_variables - - @property - def object_name(self): - ''' - The name of the GraphQL object that appears in the query. - ''' - return self._object_name - - @property - def query(self): - ''' - The GraphQL query. - ''' - return self._query - - @property - def resp_schema(self): - ''' - The expected response schema from the query. - ''' - return self._resp_schema - - @property - def query_variables(self): - ''' - The variables to pass to the query on call. - ''' - return self._query_variables + self.object_name = object_name + self.query = query + self.resp_schema = resp_schema + self.query_variables = query_variables class GraphqlParsingError(Exception): - ''' + """ An error that's returned when a problem occurs parsing the Graphql response - ''' + """ def __init__(self, message): self.message = message @@ -63,77 +37,102 @@ def __str__(self): return self.message -class LocationSchema(Schema): - ''' - Schema for GraphQL location part of the error. - ''' - line = fields.Int(required=True) - column = fields.Int(required=True) - - @post_load - def to_object(self, data, **kwargs): - '''This method turns the schema into its corresponding object.''' - return Location(**data) +class SchemaBase(Schema): + dataclass = None + snake_case_regex1 = re.compile("(.)([A-Z][a-z]+)") + snake_case_regex2 = re.compile("([a-z0-9])([A-Z])") + def __init__(self, *args, **kwargs): + super(SchemaBase, self).__init__(*args, **kwargs) -class ExtensionsSchema(Schema): - ''' - Schema for GraphQL extensions part of the error. - ''' - code = fields.Str() + def camel_to_snake(self, name): + name = self.snake_case_regex1.sub(r"\1_\2", name) + return self.snake_case_regex2.sub(r"\1_\2", name).lower() @post_load - def to_object(self, data, **kwargs): - '''This method turns the schema into its corresponding object.''' - return Extensions(**data) + def to_object(self, data: dict, *_args, **_kwargs): + """This method turns the schema into its corresponding object.""" + if self.dataclass is None: + raise ValueError(f"dataclass must be set for {type(self)}") + if not isinstance(data, dict): + raise ValueError("data must be of type dict") + normalized_data = { + self.camel_to_snake(key): value for key, value in data.items() + } + return self.dataclass(**normalized_data) -class GraphqlErrorSchema(Schema): - ''' - Schema for GraphQL error. - ''' - message = fields.Str(required=True) - locations = fields.List(fields.Nested(LocationSchema)) - path = fields.List(fields.Str()) - extensions = fields.Nested(ExtensionsSchema) - @post_load - def to_object(self, data, **kwargs): - '''This method turns the schema into its corresponding object.''' - return GraphqlError(**data) +class NodesSchema(SchemaBase): + def __iter__(self): + yield from self.nodes @dataclass -class Location(): - ''' +class Location: + """ This class holds the location part of the error. - ''' + """ + line: int column: int @dataclass -class Extensions(): - ''' +class Extension: + """ This class holds the extensions part of the error. - ''' - code: str = None + """ + + code: Optional[str] = None @dataclass class GraphqlError(Exception): - ''' + """ This class holds a GraphQL error. - ''' + """ + message: str - locations: List[Location] = None - path: List[str] = None - extensions: Extensions = None + locations: Optional[List[Location]] = None + path: Optional[List[str]] = None + extensions: Optional[Extension] = None def __str__(self): - return '{ret_code}: {message} ({location}), path {path}'.format( - ret_code=self.extensions.code, - message=self.message, - location=self.locations[0], - path=self.path - ) + return f"{self.extensions.code}: {self.message} ({self.locations[0]}), path {self.path}" + + +class LocationSchema(SchemaBase): + """ + Schema for GraphQL location part of the error. + """ + + dataclass = Location + + line = fields.Int(required=True) + column = fields.Int(required=True) + + +class ExtensionsSchema(SchemaBase): + """ + Schema for GraphQL extensions part of the error. + """ + + dataclass = Extension + code = fields.Str() + + +class GraphqlErrorSchema(Schema): + """ + Schema for GraphQL error. + """ + + message = fields.Str(required=True) + path = fields.List(fields.Str()) + locations = fields.List(fields.Nested(LocationSchema), allow_none=True) + extensions = fields.Nested(ExtensionsSchema, allow_none=True) + + @post_load + def to_object(self, data, **_kwargs): + """This method turns the schema into its corresponding object.""" + return GraphqlError(**data) diff --git a/tenable/ot/graphql/iterators.py b/tenable/ot/graphql/iterators.py index 6a9056b32..efdb78ab6 100644 --- a/tenable/ot/graphql/iterators.py +++ b/tenable/ot/graphql/iterators.py @@ -1,51 +1,81 @@ -''' +""" GraphQL Tenable.ot API iterator. -''' +""" +import json +import typing +from typing import Type + from marshmallow.utils import EXCLUDE from restfly.iterator import APIIterator + from tenable.ot.graphql.definitions import ( GraphqlErrorSchema, - GraphqlParsingError + GraphqlParsingError, + GraphObject, + NodesSchema, ) +if typing.TYPE_CHECKING: + from tenable.ot.session import TenableOT + class OTGraphIterator(APIIterator): - ''' - Iterator class over Tenable.ot GraphQL connetions. - ''' + """ + Iterator class over Tenable.ot GraphQL connections. + """ - def __init__(self, api, graph_object, **kwargs): + def __init__( + self, + api: "Type[TenableOT]", + graph_object: GraphObject, + **kwargs, + ): self._graph_object = graph_object - super().__init__(api, **kwargs) + self.api = api + super().__init__( + api=api, + **kwargs, + ) - def _get_page(self): - ''' + def _get_page(self) -> Type[NodesSchema]: + """ Retrieves the next page of data. - ''' + """ graph_full_object = { - 'query': self._graph_object.query, - 'variables': self._graph_object.query_variables + "query": self._graph_object.query, + "variables": json.dumps(self._graph_object.query_variables), } + graphql_response_object = self._perform_request(graph_full_object) - resp = self._api.graphql(**graph_full_object) - if 'error' in resp: + self.page = self._graph_object.resp_schema().load( + graphql_response_object, unknown=EXCLUDE + ) + if graphql_response_object.get("pageInfo"): + self._graph_object.query_variables["startAt"] = graphql_response_object[ + "pageInfo" + ].get("endCursor", None) + + return self.page + + def _perform_request( + self, + graph_full_object: dict, + ) -> dict: + resp = self.api.graphql(**graph_full_object) + if "error" in resp: errors = GraphqlErrorSchema(many=True).load( - resp['error']['errors'], unknown=EXCLUDE) + resp["error"].get("errors", None), unknown=EXCLUDE + ) raise errors[0] - if 'data' not in resp: + if "data" not in resp: raise GraphqlParsingError( - 'graphql data field was not returned but no error occurred') + "graphql data field was not returned but no error occurred" + ) - connection_object = resp['data'][self._graph_object.object_name] - if connection_object is None: + graphql_response_object = resp["data"][self._graph_object.object_name] + if graphql_response_object is None: raise GraphqlParsingError( - f'user requested object {self._graph_object.object_name}' + - ' was not returned') - - self.page = self._graph_object.resp_schema().load( - connection_object, unknown=EXCLUDE) + f"user requested object {self._graph_object.object_name} was not returned" + ) - self._graph_object.query_variables['startAt'] = connection_object[ - 'pageInfo'].get('endCursor', None) - - return self.page + return graphql_response_object diff --git a/tenable/ot/graphql/query.py b/tenable/ot/graphql/query.py new file mode 100644 index 000000000..280b5278b --- /dev/null +++ b/tenable/ot/graphql/query.py @@ -0,0 +1,438 @@ +""" +OT GraphQL API Queries. +For each class, please refer to the Tenable.ot documentation website for a +detailed explanation of the fields. +""" + +""" +GraphQL query for Tenable.OT assets. +""" +ASSETS_QUERY = """ +query assets( + $filter: AssetExpressionsParams + $search: String + $sort: [AssetSortParams!]! + $limit: Int + $startAt: String +) { + assets( + filter: $filter + search: $search + sort: $sort + first: $limit + after: $startAt + ) { + pageInfo { + endCursor + } + nodes { + category + criticality + customField1 + customField2 + customField3 + customField4 + customField5 + customField6 + customField7 + customField8 + customField9 + customField10 + description + details + family + firmwareVersion + firstSeen + hidden + id + ips { + nodes + } + lastSeen + lastUpdate + location + macs { + nodes + } + model + name + os + osDetails { + name + architecture + hotFixes { + nodes { + name + installDate + description + } + } + version + } + purdueLevel + runStatus + runStatusTime + serial + slot + superType + type + vendor + risk { + unresolvedEvents + totalRisk + } + ips { + nodes + } + macs { + nodes + } + backplane { + id + name + size + } + segments { + nodes { + id + name + type + key + systemName + vlan + description + assetType + subnet + } + } + revisions { + nodes { + id + firstSeen + lastSeen + ordinal + isBase + } + } + plugins { + nodes { + id + name + source + family + severity + vprScore + comment + owner + totalAffectedAssets + } + } + } + } +} +""" + +""" +GraphQL query for Tenable.OT plugins. +""" +PLUGINS_QUERY = """ +query plugins( + $filter: PluginExpressionsParams + $search: String + $sort: [PluginSortParams!]! + $limit: Int + $startAt: String +) { + plugins( + filter: $filter + search: $search + sort: $sort + first: $limit + after: $startAt + ) { + pageInfo { + endCursor + } + nodes { + id + name + source + family + severity + vprScore + comment + owner + totalAffectedAssets + affectedAssets { + nodes { + id + name + } + } + } + } +} +""" + +""" +GraphQL query for Tenable.OT plugins with additional details from NNM. +""" +PLUGINS_DETAILS_QUERY = """ +query plugins( + $filter: PluginExpressionsParams + $search: String + $sort: [PluginSortParams!]! + $limit: Int + $startAt: String +) { + plugins( + filter: $filter + search: $search + sort: $sort + first: $limit + after: $startAt + ) { + pageInfo { + endCursor + } + nodes { + id + name + source + family + severity + vprScore + comment + owner + totalAffectedAssets + details { + id + name + source + family + description + solution + seeAlso + pluginType + pluginPubDate + pluginModDate + vulnPubDate + vulnModDate + refs { + name + value + url + } + cpe + cvssVector + cvssV3Vector + cvssBaseScore + cvssV3BaseScore + cvssV3TemporalScore + cvssTemporalScore + cvssV3TemporalVector + cvssImpactScore + } + affectedAssets { + nodes { + id + name + } + } + } + } +} +""" + +""" +GraphQL query for Tenable.OT events +""" +EVENTS_QUERY = """ +query events( + $filter: EventsExpressionsParams, + $search: String, + $sort: [EventsSortParams!]!, + $limit: Int, + $startAt: String +){ + events( + filter: $filter, + search: $search, + sort: $sort, + first: $limit, + after: $startAt + ){ + pageInfo{ + endCursor + } + nodes{ + id + eventType { + type + group + description + schema + category + family + canCapture + actions + exclusion + } + srcIP + dstIP + protocolRaw + policy { + id + index + title + level + disabled + archived + schema + continuous + snapshot + system + key + eventTypeDetails { + type + group + description + schema + category + family + canCapture + actions + exclusion + } + disableAfterHit + actions{ + nodes{ + aid + type + } + } + paused + srcAssetGroup{ + group{ + id + } + negate + } + dstAssetGroup{ + group{ + id + } + negate + } + schedule{ + group{ + id + } + negate + } + protocolGroup{ + group{ + id + } + negate + } + portGroup{ + group{ + id + name + } + negate + } + tagGroup{ + group{ + id + name + } + negate + } + valueGroup{ + group{ + id + } + negate + } + ruleGroup{ + group{ + id + name + } + negate + } + exclusions{ + nodes{ + id + } + } + aggregatedEventsCount{ + last24h + last7d + last30d + } + } + time + srcMac + dstMac + completion + protocolNiceName + resolved + resolvedTs + hitId + severity + category + comment + logId + resolvedUser + type + srcAssets{ + nodes{ + name + id + } + } + srcInterface{ + id + lastSeen + firstSeen + mac + ips { + nodes{ + ip + } + } + dnsNames{ + nodes + } + family + directAsset { + id + } + } + srcNames{ + nodes + } + dstAssets{ + nodes{ + name + id + } + } + dstInterface{ + id + } + dstNames{ + nodes + } + hasDetails + payloadSize + protocol + port + continuous + } + } +} +""" diff --git a/tenable/ot/graphql/schema/__init__.py b/tenable/ot/graphql/schema/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tenable/ot/graphql/schema/assets.py b/tenable/ot/graphql/schema/assets.py new file mode 100644 index 000000000..6515905c1 --- /dev/null +++ b/tenable/ot/graphql/schema/assets.py @@ -0,0 +1,187 @@ +from marshmallow import fields + +from tenable.ot.graphql.definitions import NodesSchema, SchemaBase +from tenable.ot.graphql.schema.plugins import PluginsSchema +from tenable.ot.schema.assets import ( + Risk, + Backplane, + Segment, + Asset, + Assets, + Revision, + Revisions, + Segments, + OSDetails, + HotFixes, + Hotfix, +) +from tenable.ot.schema.base import NodesList + + +class RiskSchema(SchemaBase): + """ + Schema for retrieving asset's risk information. + """ + + dataclass = Risk + + unresolved_events = fields.Int(required=True, data_key="unresolvedEvents") + total_risk = fields.Float(required=True, data_key="totalRisk") + + +class IpsSchema(NodesSchema): + """ + Schema for retrieving a list of IP addresses. + """ + + dataclass = NodesList + + nodes = fields.List(fields.String()) + + +class MacsSchema(NodesSchema): + """ + Schema for retrieving a list of MAC addresses. + """ + + dataclass = NodesList + + nodes = fields.List(fields.String()) + + +class BackplaneSchema(SchemaBase): + """ + Schema for retrieving backplane information. + """ + + dataclass = Backplane + + id = fields.String(required=True) + name = fields.String(required=True) + size = fields.Int(required=True) + + +class SegmentSchema(SchemaBase): + """ + Schema for retrieving segment information. + """ + + dataclass = Segment + + id = fields.UUID(required=True) + name = fields.String(required=True) + type = fields.String(required=True) + key = fields.String(required=True) + system_name = fields.String(allow_none=True, data_key="systemName") + vlan = fields.String(allow_none=True) + description = fields.String(allow_none=True) + asset_type = fields.String(allow_none=True, data_key="assetType") + subnet = fields.String(allow_none=True) + + +class HotfixSchema(SchemaBase): + dataclass = Hotfix + + name = fields.String(required=True) + install_date = fields.DateTime(required=True, data_key="installDate") + description = fields.String(required=True) + + +class HotfixesSchema(NodesSchema): + dataclass = HotFixes + nodes = fields.Nested(HotfixSchema, many=True) + + +class OSSchema(SchemaBase): + dataclass = OSDetails + name = fields.String(allow_none=True) + architecture = fields.String(allow_none=True) + version = fields.String(allow_none=True) + hot_fixes = fields.Nested(HotfixesSchema, data_key="hotFixes") + + +class SegmentsSchema(NodesSchema): + """ + Schema for retrieving a list of segments. + """ + + dataclass = Segments + + nodes = fields.List(fields.Nested(SegmentSchema)) + + +class RevisionSchema(SchemaBase): + dataclass = Revision + + id = fields.UUID(required=True) + first_seen = fields.DateTime(required=True, data_key="firstSeen") + last_seen = fields.DateTime(required=True, data_key="lastSeen") + ordinal = fields.Integer(required=True) + is_base = fields.Boolean(required=True, data_key="isBase") + + +class RevisionsSchema(NodesSchema): + dataclass = Revisions + + nodes = fields.List(fields.Nested(RevisionSchema)) + + +class AssetSchema(SchemaBase): + """ + Schema for retrieving asset information. + """ + + dataclass = Asset + + backplane = fields.Nested(BackplaneSchema, allow_none=True) + category = fields.String(required=True) + criticality = fields.String(required=True) + custom_field1 = fields.String(allow_none=True, data_key="customField1") + custom_field2 = fields.String(allow_none=True, data_key="customField2") + custom_field3 = fields.String(allow_none=True, data_key="customField3") + custom_field4 = fields.String(allow_none=True, data_key="customField4") + custom_field5 = fields.String(allow_none=True, data_key="customField5") + custom_field6 = fields.String(allow_none=True, data_key="customField6") + custom_field7 = fields.String(allow_none=True, data_key="customField7") + custom_field8 = fields.String(allow_none=True, data_key="customField8") + custom_field9 = fields.String(allow_none=True, data_key="customField9") + custom_field10 = fields.String(allow_none=True, data_key="customField10") + description = fields.String(allow_none=True) + details = fields.Dict(required=True) + family = fields.String(allow_none=True) + firmware_version = fields.String(allow_none=True, data_key="firmwareVersion") + first_seen = fields.DateTime(allow_none=True, data_key="firstSeen") + hidden = fields.Boolean(required=True) + id = fields.UUID(required=True) + ips = fields.Nested(IpsSchema, allow_none=True) + last_seen = fields.DateTime(allow_none=True, data_key="lastSeen") + last_update = fields.String(required=True, data_key="lastUpdate") + location = fields.String(allow_none=True) + macs = fields.Nested(MacsSchema, allow_none=True) + model = fields.String(allow_none=True) + name = fields.String(required=True) + os = fields.String(allow_none=True) + os_details = fields.Nested(OSSchema, allow_none=True, data_key="osDetails") + purdue_level = fields.String(required=True, data_key="purdueLevel") + risk = fields.Nested(RiskSchema, required=True) + revisions = fields.Nested(RevisionsSchema, allow_none=True) + run_status = fields.String(required=True, data_key="runStatus") + run_status_time = fields.DateTime(required=True, data_key="runStatusTime") + segments = fields.Nested(SegmentsSchema, allow_none=True) + serial = fields.String(allow_none=True) + slot = fields.Integer(allow_none=True) + super_type = fields.String(required=True, data_key="superType") + type = fields.String(required=True) + vendor = fields.String(allow_none=True) + plugins = fields.Nested(PluginsSchema) + attack_vector = fields.String(data_key="attackVector") + + +class AssetsSchema(NodesSchema): + """ + Schema for retrieving a list of assets. + """ + + dataclass = Assets + + nodes = fields.List(fields.Nested(AssetSchema)) diff --git a/tenable/ot/graphql/schema/events.py b/tenable/ot/graphql/schema/events.py new file mode 100644 index 000000000..cdfd164f5 --- /dev/null +++ b/tenable/ot/graphql/schema/events.py @@ -0,0 +1,264 @@ +from marshmallow import fields + +from tenable.ot.graphql.definitions import NodesSchema, SchemaBase +from tenable.ot.graphql.schema.assets import Asset +from tenable.ot.schema.assets import NetworkInterface +from tenable.ot.schema.base import NodesList, AssetInfoList, AssetInfo +from tenable.ot.schema.events import ( + Event, + EventTypeDetails, + Group, + ConnectionPart, + EventCount, + Policy, + GroupMember, + Events, + StationSlot, + RackSlot, + ActionList, + Action, + ID, + IDList, +) + + +class IDSchema(SchemaBase): + dataclass = ID + id = fields.UUID(required=True) + + +class IDListSchema(SchemaBase): + dataclass = IDList + nodes = fields.Nested(IDSchema, required=True, many=True) + + +class ActionSchema(SchemaBase): + dataclass = Action + aid = fields.UUID(required=True) + type = fields.String(required=True) + + +class ActionListSchema(SchemaBase): + dataclass = ActionList + nodes = fields.Nested(ActionSchema, required=True, many=True) + + +class NameListSchema(SchemaBase): + dataclass = NodesList + + nodes = fields.List(fields.String(required=True), required=True) + + +class RackSlotSchema(SchemaBase): + """ + Schema for retrieving rack slots. + """ + + dataclass = RackSlot + + rack = fields.Integer(required=True) + slot = fields.Integer(required=True) + + +class StationSlotSchema(SchemaBase): + """ + Schema for retrieving station slots. + """ + + dataclass = StationSlot + + station = fields.Integer(required=True) + slot = fields.Integer(required=True) + + +class ConnectionPartSchema(SchemaBase): + """ + Schema for retrieving connection parts. + """ + + dataclass = ConnectionPart + + connection_type = fields.Integer(required=True) + backplane_port = fields.Integer(allow_none=True) + tsap_addr = fields.Integer(allow_none=True) + cip_ip = fields.IPv4(allow_none=True) + control_net_addr = fields.Integer(allow_none=True) + abb_ac_800_position = fields.Integer(allow_none=True) + abb_rtu_500_position = fields.Integer(allow_none=True) + bacnet_instance_id = fields.Integer(allow_none=True) + roc_slot = fields.Integer(allow_none=True) + melsec_slot = fields.Integer(allow_none=True) + toyopuc_addr = fields.Nested(RackSlotSchema) + concept_addr = fields.Nested(RackSlotSchema) + bachmann_slot = fields.Nested(StationSlotSchema) + s_7_plus_addr = fields.Nested(RackSlotSchema) + s_7_addr = fields.Nested(RackSlotSchema) + ge_pac_addr = fields.Nested(RackSlotSchema) + + +class GroupSchema(SchemaBase): + dataclass = Group + + id = fields.UUID(required=True) + name = fields.String(allow_none=True) + type = fields.String(allow_none=True) + archived = fields.Boolean(allow_none=True) + system = fields.Boolean(allow_none=True) + key = fields.String(allow_none=True) + + +class EventTypeDetailsSchema(SchemaBase): + dataclass = EventTypeDetails + + type = fields.String(required=True) + group = fields.String(required=True) + description = fields.String(required=True) + schema = fields.String(required=True) + category = fields.String(required=True) + family = fields.String(allow_none=True) + can_capture = fields.Boolean(required=True, data_key="canCapture") + actions = fields.List(fields.String(required=True), required=True) + exclusion = fields.String(required=True) + + +class GroupMemberSchema(SchemaBase): + dataclass = GroupMember + + group = fields.Nested(GroupSchema, required=True) + negate = fields.Boolean(required=True) + + +class ProtocolPolicyGroupSchema(SchemaBase): + id = fields.UUID(required=True) + name = fields.String(required=True) + disabled = fields.Boolean(required=True) + archived = fields.Boolean(allow_none=True) + + +class EventCountSchema(SchemaBase): + dataclass = EventCount + + last_24h = fields.Integer(required=True, data_key="last24h") + last_7d = fields.Integer(required=True, data_key="last7d") + last_30d = fields.Integer(required=True, data_key="last30d") + + +class PolicySchema(SchemaBase): + dataclass = Policy + + id = fields.UUID(required=True) + index = fields.Integer(required=True) + title = fields.String(required=True) + level = fields.String(required=True) + disabled = fields.Boolean(required=True) + archived = fields.Boolean(allow_none=True) + schema = fields.String(required=True) + continuous = fields.Boolean(required=True) + snapshot = fields.Boolean() + system = fields.Boolean(allow_none=True) + key = fields.String(required=True) + event_type_details = fields.Nested( + EventTypeDetailsSchema, required=True, data_key="eventTypeDetails" + ) + disable_after_hit = fields.Boolean(required=True, data_key="disableAfterHit") + actions = fields.Nested(ActionListSchema, required=True) + paused = fields.Boolean(required=True) + src_asset_group = fields.List( + fields.Nested(GroupMemberSchema, required=True, many=True), + data_key="srcAssetGroup", + ) + dst_asset_group = fields.List( + fields.Nested(GroupMemberSchema, required=True, many=True), + data_key="dstAssetGroup", + ) + schedule = fields.Nested(GroupMemberSchema, allow_none=True) + protocol_group = fields.Nested( + GroupMemberSchema, allow_none=True, data_key="protocolGroup" + ) + port_group = fields.Nested(GroupMemberSchema, allow_none=True, data_key="portGroup") + tag_group = fields.Nested(GroupMemberSchema, allow_none=True, data_key="tagGroup") + value_group = fields.Nested( + GroupMemberSchema, allow_none=True, data_key="valueGroup" + ) + rule_group = fields.Nested(GroupMemberSchema, allow_none=True, data_key="ruleGroup") + exclusions = fields.Nested(IDListSchema) + aggregated_events_count = fields.Nested( + EventCountSchema, required=True, data_key="aggregatedEventsCount" + ) + + +class NetworkInterfaceSchema(SchemaBase): + dataclass = NetworkInterface + id = fields.UUID(required=True) + last_seen = fields.DateTime(allow_none=True, data_key="lastSeen") + first_seen = fields.DateTime(allow_none=True, data_key="firstSeen") + mac = fields.String(allow_none=True) + + ips = fields.IPv4(required=True) + family = fields.String(required=True) + direct_asset = fields.Nested(Asset, allow_none=True, data_key="directAsset") + + +class AssetInfoSchema(SchemaBase): + dataclass = AssetInfo + + id = fields.UUID(required=True) + name = fields.String(required=True) + + +class AssetListSchema(SchemaBase): + dataclass = AssetInfoList + + nodes = fields.Nested(AssetInfoSchema, many=True, required=True) + + +class EventSchema(SchemaBase): + """ + Schema for retrieving events. + """ + + dataclass = Event + + id = fields.UUID(required=True) + event_type = fields.Nested( + EventTypeDetailsSchema, required=True, data_key="eventType" + ) + src_ip = fields.IPv4(allow_none=True, data_key="srcIP") + dst_ip = fields.IPv4(allow_none=True, data_key="dstIP") + protocol_raw = fields.String(required=True, data_key="protocolRaw") + policy = fields.Nested(PolicySchema, required=True) + time = fields.DateTime(required=True) + src_mac = fields.String(allow_none=True, data_key="srcMac") + dst_mac = fields.String(allow_none=True, data_key="dstMac") + completion = fields.String(required=True) + protocol_nice_name = fields.String(allow_none=True, data_key="protocolNiceName") + resolved = fields.Boolean(required=True) + resolved_ts = fields.DateTime(allow_none=True, data_key="resolvedTs") + severity = fields.String(required=True) + category = fields.String(required=True) + comment = fields.String(allow_none=True) + hit_id = fields.UUID(required=True, data_key="hitId") + log_id = fields.Float(required=True, data_key="logId") + resolved_user = fields.String(allow_none=True, data_key="resolvedUser") + type = fields.String(required=True) + src_assets = fields.Nested(AssetListSchema, required=True, data_key="srcAssets") + src_interface = fields.Nested( + NetworkInterfaceSchema, allow_none=True, data_key="srcInterface" + ) + src_names = fields.Nested(NameListSchema, required=True, data_key="srcNames") + dst_assets = fields.Nested(AssetListSchema, required=True, data_key="dstAssets") + dst_interface = fields.Nested( + NetworkInterfaceSchema, allow_none=True, data_key="dstInterface" + ) + dst_names = fields.Nested(NameListSchema, required=True, data_key="dstNames") + has_details = fields.Boolean(required=True, data_key="hasDetails") + payload_size = fields.Integer(required=True, data_key="payloadSize") + protocol = fields.String(required=True) + port = fields.Integer(allow_none=True) + details = fields.Dict(allow_none=True) + continuous = fields.Boolean(required=True) + + +class EventsSchema(NodesSchema): + dataclass = Events + nodes = fields.List(fields.Nested(EventSchema), required=True) diff --git a/tenable/ot/graphql/schema/plugins.py b/tenable/ot/graphql/schema/plugins.py new file mode 100644 index 000000000..f75130848 --- /dev/null +++ b/tenable/ot/graphql/schema/plugins.py @@ -0,0 +1,69 @@ +from marshmallow import fields + +from tenable.ot.graphql.definitions import NodesSchema, SchemaBase +from tenable.ot.schema.plugins import PluginDetails, Plugin, Plugins, PluginRef + + +class PluginRefSchema(SchemaBase): + dataclass = PluginRef + + name = fields.String(required=True) + value = fields.String(required=True) + url = fields.String(required=True) + + +class PluginDetailsSchema(SchemaBase): + dataclass = PluginDetails + + id = fields.Integer(required=True) + name = fields.String(required=True) + source = fields.String(required=True) + family = fields.String(required=True) + description = fields.String(required=True) + solution = fields.String(required=True) + see_also = fields.List( + fields.String(required=True), required=True, data_key="seeAlso" + ) + plugin_type = fields.String(allow_none=True, data_key="pluginType") + plugin_pub_date = fields.DateTime(allow_none=True, data_key="pluginPubDate") + plugin_mod_date = fields.DateTime(allow_none=True, data_key="pluginModDate") + vuln_pub_date = fields.DateTime(allow_none=True, data_key="vulnPubDate") + vuln_mod_date = fields.DateTime(allow_none=True, data_key="vulnModDate") + refs = fields.List(fields.Nested(PluginRefSchema, required=True), required=True) + cpe = fields.String(allow_none=True) + cvss_vector = fields.String(allow_none=True, data_key="cvssVector") + cvss_v3_vector = fields.String(allow_none=True, data_key="cvssV3Vector") + cvss_base_score = fields.String(allow_none=True, data_key="cvssBaseScore") + cvss_v3_basescore = fields.String(allow_none=True, data_key="cvssV3BaseScore") + cvss_v3_temporal_score = fields.String( + allow_none=True, data_key="cvssV3TemporalScore" + ) + cvss_temporal_score = fields.String(allow_none=True, data_key="cvssTemporalScore") + cvss_v3_temporal_vector = fields.String( + allow_none=True, data_key="cvssV3TemporalVector" + ) + cvss_impact_score = fields.String(allow_none=True, data_key="cvssImpactScore") + + +class PluginSchema(SchemaBase): + dataclass = Plugin + + comment = fields.String(allow_none=True) + family = fields.String(required=True) + id = fields.Integer(required=True) + name = fields.String(required=True) + owner = fields.String(allow_none=True) + severity = fields.String(required=True) + source = fields.String(required=True) + total_affected_assets = fields.Integer( + required=True, data_key="totalAffectedAssets" + ) + vpr_score = fields.Float(allow_none=True, data_key="vprScore") + affected_assets = fields.Nested("AssetListSchema", data_key="affectedAssets") + details = fields.Nested(PluginDetailsSchema, required=False) + + +class PluginsSchema(NodesSchema): + dataclass = Plugins + + nodes = fields.List(fields.Nested(PluginSchema)) diff --git a/tenable/ot/plugins.py b/tenable/ot/plugins.py new file mode 100644 index 000000000..73800c5b3 --- /dev/null +++ b/tenable/ot/plugins.py @@ -0,0 +1,104 @@ +""" +Plugins +======= + +Methods described in this section relate to the plugins API. +These methods can be accessed at ``TenableOT.plugins``. + +.. rst-class:: hide-signature +.. autoclass:: PluginsAPI + :members: +""" +from typing import List, Optional + +from tenable.ot.api import OTAPIBase +from tenable.ot.graphql.iterators import OTGraphIterator +from tenable.ot.graphql.query import PLUGINS_QUERY, PLUGINS_DETAILS_QUERY +from tenable.ot.graphql.schema.plugins import PluginsSchema + + +class PluginsAPI(OTAPIBase): + _path = "plugins" + schema_class = PluginsSchema + + def list( + self, + query: str = PLUGINS_QUERY, + query_filter: Optional[dict] = None, + search: Optional[str] = None, + sort: Optional[List[dict]] = None, + start_at: Optional[str] = None, + limit: Optional[int] = 200, + **kwargs, + ) -> OTGraphIterator: + """ + Retrieves a list of plugins via the GraphQL API. + + Args: + query(str): + A GraphQL query . + query_filter(dict, optional): + A document as defined by Tenable.ot online documentation. + search(str, optional): + A search string to further limit the response. + sort(List[dict], optional): + A list of order documents, each of which must contain both the + ``field`` and ``direction`` keys and may also contain the + optional ``function`` key. Default sort is by descending id + order. Please refer to Tenable.ot online documentation for more + information. + start_at(str, optional): + The cursor to start the scan from (the default is an empty + cursor). + limit(int, optional): + Max number of objects that get retrieved per page (the default + is 200). + + Returns: + :obj:`OTGraphIterator`: + An iterator object that will handle pagination of the data. + + Example: + >>> for plugin in tot.plugins.list(limit=500): + print(plugin) + """ + if not sort: + sort = [{"field": "id", "direction": "DescNullLast"}] + + return super().list( + query=query, + query_filter=query_filter, + search=search, + sort=sort, + start_at=start_at, + limit=limit, + **kwargs, + ) + + def plugin( + self, + plugin_id: int, + **kwargs, + ) -> OTGraphIterator: + """ + Retrieve a specific plugin with additionals details by ID. + + Args: + plugin_id (int): + + Returns: + :obj:`OTGraphIterator`: + An iterator object handling data pagination. + Example: + >>> tot.plugins.plugin(1) + + """ + return super().list( + query_filter={ + "field": "id", + "op": "Equal", + "values": plugin_id, + }, + query=PLUGINS_DETAILS_QUERY, + **kwargs, + ) diff --git a/tenable/ot/schema/__init__.py b/tenable/ot/schema/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tenable/ot/schema/assets.py b/tenable/ot/schema/assets.py new file mode 100644 index 000000000..254d09059 --- /dev/null +++ b/tenable/ot/schema/assets.py @@ -0,0 +1,159 @@ +import datetime +import typing +import uuid +from typing import List, Optional + +from dataclasses import dataclass + +from tenable.ot.schema.base import NodesList +from tenable.ot.schema.plugins import Plugin, Plugins + + +@dataclass +class Risk: + """ + This class holds the risk information. + """ + + unresolved_events: int + total_risk: float + + +@dataclass +class Backplane: + """ + This class holds a backplane's information. + """ + + id: uuid.UUID + name: str + size: str + + +@dataclass +class Segment: + """ + This class holds a segment's information. + """ + + id: uuid.UUID + name: str + type: str + key: str + system_name: Optional[str] = None + vlan: Optional[str] = None + description: Optional[str] = None + asset_type: Optional[str] = None + subnet: Optional[str] = None + + +@dataclass +class Segments(NodesList): + nodes: List[Segment] + + +@dataclass +class Revision: + """ + This class holds a revision's information. + """ + + first_seen: datetime.datetime + id: uuid.UUID + is_base: bool + last_seen: datetime.datetime + ordinal: int + + +@dataclass +class Revisions: + nodes: List[Revision] + + +@dataclass +class Hotfix: + name: str + install_date: datetime + description: str + + +@dataclass +class HotFixes: + nodes: typing.List[Hotfix] + + +@dataclass +class OSDetails: + name: str + architecture: str + version: Optional[str] + hot_fixes: HotFixes + + +@dataclass +class Asset: + """ + This class holds asset information. + """ + + category: str + criticality: str + details: dict + first_seen: datetime.datetime + hidden: bool + id: uuid.UUID + ips: NodesList + last_seen: datetime.datetime + last_update: str + macs: NodesList + name: str + plugins: Plugins + purdue_level: str + revisions: Revisions + risk: Risk + run_status: str + run_status_time: datetime.datetime + segments: Segments + super_type: str + type: str + backplane: Optional[Backplane] = None + custom_field1: Optional[str] = None + custom_field2: Optional[str] = None + custom_field3: Optional[str] = None + custom_field4: Optional[str] = None + custom_field5: Optional[str] = None + custom_field6: Optional[str] = None + custom_field7: Optional[str] = None + custom_field8: Optional[str] = None + custom_field9: Optional[str] = None + custom_field10: Optional[str] = None + description: Optional[str] = None + family: Optional[str] = None + firmware_version: Optional[str] = None + location: Optional[str] = None + model: Optional[str] = None + os: Optional[str] = None + os_details: Optional[OSDetails] = None + serial: Optional[str] = None + slot: Optional[int] = None + vendor: Optional[str] = None + + +@dataclass +class Assets(NodesList): + nodes: List[Asset] + + +@dataclass +class NetworkInterface: + """ + This class holds a network interface's information. + """ + + direct_asset: Asset + family: str + first_seen: datetime.datetime + id: uuid.UUID + ips: str + last_seen: datetime.datetime + mac: str diff --git a/tenable/ot/schema/base.py b/tenable/ot/schema/base.py new file mode 100644 index 000000000..b6927ec57 --- /dev/null +++ b/tenable/ot/schema/base.py @@ -0,0 +1,34 @@ +import uuid +from dataclasses import dataclass +from typing import List + + +@dataclass +class AssetInfo: + id: uuid.UUID + name: str + + +@dataclass +class NodesList: + nodes: List[str] + + def __iter__(self): + yield from self.nodes + + def __len__(self): + return len(self.nodes) + + def __getitem__(self, index): + return self.nodes[index] + + +@dataclass +class AssetInfo: + id: uuid.UUID + name: str + + +@dataclass +class AssetInfoList(NodesList): + nodes: List[AssetInfo] diff --git a/tenable/ot/schema/events.py b/tenable/ot/schema/events.py new file mode 100644 index 000000000..aa34b2916 --- /dev/null +++ b/tenable/ot/schema/events.py @@ -0,0 +1,198 @@ +import datetime +import ipaddress +import typing +import uuid +from dataclasses import dataclass +from typing import List, Optional + +from tenable.ot.schema.assets import NetworkInterface +from tenable.ot.schema.base import NodesList, AssetInfoList + + +@dataclass +class ID: + id: uuid.UUID + + +@dataclass +class IDList: + nodes: List[ID] + + +@dataclass +class Action: + aid: uuid.UUID + type: str + + +@dataclass +class Action: + aid: uuid.UUID + type: str + + +@dataclass +class ActionList: + nodes: List[Action] + + +@dataclass +class Group: + id: uuid.UUID + name: Optional[str] = None + type: Optional[str] = None + archived: Optional[bool] = None + system: Optional[bool] = None + key: Optional[str] = None + + +@dataclass +class GroupMember: + group: Group + negate: bool + + +@dataclass +class GroupMember: + group: Group + negate: bool + + +@dataclass +class EventTypeDetails: + type: str + group: str + description: str + schema: str + category: str + can_capture: bool + actions: List[str] + exclusion: str + family: Optional[str] = None + + +@dataclass +class EventCount: + last_24h: int + last_7d: int + last_30d: int + + +@dataclass +class Policy: + """ + This class holds a policy's information. + """ + + id: uuid.UUID + index: int + title: str + level: str + disabled: bool + archived: bool + schema: str + continuous: bool + snapshot: bool + system: bool + key: str + event_type_details: EventTypeDetails + disable_after_hit: bool + actions: ActionList + paused: bool + src_asset_group: List[List[GroupMember]] + dst_asset_group: List[List[GroupMember]] + schedule: GroupMember + exclusions: IDList + aggregated_events_count: EventCount + protocol_group: GroupMember + port_group: Optional[List[GroupMember]] = None + tag_group: Optional[List[GroupMember]] = None + value_group: Optional[List[GroupMember]] = None + rule_group: Optional[List[GroupMember]] = None + + +@dataclass +class Event: + """ + Schema for retrieving events. + """ + + category: str + completion: str + continuous: bool + dst_assets: AssetInfoList + dst_ip: ipaddress.IPv4Address + dst_names: NodesList + event_type: EventTypeDetails + has_details: bool + hit_id: uuid.UUID + id: uuid.UUID + log_id: float + payload_size: int + policy: Policy + port: int + protocol: str + protocol_raw: str + resolved: bool + severity: str + src_assets: AssetInfoList + src_ip: ipaddress.IPv4Address + src_names: NodesList + time: datetime.datetime + type: str + comment: Optional[str] = None + dst_interface: Optional[List[NetworkInterface]] = None + dst_mac: Optional[str] = None + protocol_nice_name: Optional[str] = None + resolved_ts: Optional[datetime.datetime] = None + resolved_user: Optional[str] = None + src_interface: Optional[List[NetworkInterface]] = None + src_mac: Optional[str] = None + + +@dataclass +class Events(NodesList): + nodes: List[Event] + + +@dataclass +class RackSlot: + rack: int + slot: int + + +@dataclass +class StationSlot: + """ + Schema for retrieving station slots. + """ + + station: int + slot: int + + +@dataclass +class ConnectionPart: + connection_type: int + backplane_port: int + tsap_addr: int + cip_ip: str + control_net_addr: int + abb_ac_800_position: int + abb_rtu_500_position: int + bacnet_instance_id: int + roc_slot: int + melsec_slot: int + toyopuc_addr: RackSlot + concept_addr: RackSlot + bachmann_slot: StationSlot + s_7_plus_addr: RackSlot + s_7_addr: RackSlot + ge_pac_addr: RackSlot + + +@dataclass +class EventCount: + last_24h: int + last_7d: int + last_30d: int diff --git a/tenable/ot/schema/plugins.py b/tenable/ot/schema/plugins.py new file mode 100644 index 000000000..d434fc348 --- /dev/null +++ b/tenable/ot/schema/plugins.py @@ -0,0 +1,60 @@ +import datetime +from dataclasses import dataclass +from typing import List, Optional + +from tenable.ot.schema.base import AssetInfoList, NodesList + + +@dataclass +class PluginRef: + name: str + value: str + url: str + + +@dataclass +class PluginDetails: + id: int + name: str + source: str + family: str + description: str + cpe: Optional[str] = None + cvss_base_score: Optional[str] = None + cvss_impact_score: Optional[str] = None + cvss_temporal_score: Optional[str] = None + cvss_v3_basescore: Optional[str] = None + cvss_v3_temporal_score: Optional[str] = None + cvss_v3_temporal_vector: Optional[str] = None + cvss_v3_vector: Optional[str] = None + cvss_vector: Optional[str] = None + plugin_mod_date: Optional[datetime.datetime] = None + plugin_pub_date: Optional[datetime.datetime] = None + plugin_type: Optional[str] = None + refs: Optional[List[PluginRef]] = None + see_also: Optional[List[str]] = None + solution: Optional[str] = None + vuln_mod_date: Optional[datetime.datetime] = None + vuln_pub_date: Optional[datetime.datetime] = None + + +@dataclass +class Plugin: + family: str + id: int + name: str + + source: str + severity: str + total_affected_assets: int + + comment: Optional[str] = None + vpr_score: Optional[float] = None + owner: Optional[str] = None + details: Optional[PluginDetails] = None + affected_assets: Optional[AssetInfoList] = None + + +@dataclass +class Plugins(NodesList): + nodes: List[Plugin] diff --git a/tenable/ot/session.py b/tenable/ot/session.py index c7fe93728..13ee4fe88 100644 --- a/tenable/ot/session.py +++ b/tenable/ot/session.py @@ -1,4 +1,4 @@ -''' +""" Tenable.ot ========== @@ -13,17 +13,22 @@ :glob: assets -''' + events + plugins +""" import os import warnings + from tenable.base.platform import APIPlatform from tenable.ot.assets import AssetsAPI +from tenable.ot.events import EventsAPI +from tenable.ot.plugins import PluginsAPI class TenableOT(APIPlatform): - ''' + """ The Tenable.ot object is the primary interaction point for users to - interface with Tenable.io via the pyTenable library. All of the API + interface with Tenable.OT via the pyTenable library. All the API endpoint classes that have been written will be grafted onto this class. Args: @@ -33,7 +38,7 @@ class TenableOT(APIPlatform): ``TOT_API_KEY`` to acquire the key. url (str, optional): The base URL used to connect to the Tenable.ot application. If a - url isn't specified, then the library will attempt to read the + URL isn't specified, then the library will attempt to read the environment variable ``TOT_URL`` to acquire the URL. **kwargs: @@ -45,12 +50,12 @@ class TenableOT(APIPlatform): Basic Example: >>> from tenable.ot import TenableOT - >>> ot = TenableOT(secret_key='SECRET_KEY', + >>> ot = TenableOT(api_key='SECRET_KEY', .. url='https://ot.example.com') Example with proper identification: - >>> ot = TenableOT(secret_key='SECRET_KEY', + >>> ot = TenableOT(api_key='SECRET_KEY', ... url='https://ot.example.com', ... vendor='Company Name', ... product='My Awesome Widget', @@ -60,32 +65,30 @@ class TenableOT(APIPlatform): the connection parameters: >>> ot = TenableOT(vendor='Company', product='Widget', build='1.0.0') - ''' - _env_base = 'TOT' + """ + + _env_base = "TOT" _ssl_verify = False _conv_json = True def _session_auth(self, **kwargs): # noqa: PLW0221,PLW0613 - msg = 'Session Auth isn\'t supported with the Tenable.ot APIs' + msg = "Session Auth isn't supported with the Tenable.ot APIs" warnings.warn(msg) self._log.warning(msg) def _key_auth(self, api_key, **kwargs): # noqa: PLW0221,PLW0613 - self._session.headers.update({ - 'X-APIKeys': f'key={api_key}' - }) - self._auth_mech = 'keys' + self._session.headers.update({"X-APIKeys": f"key={api_key}"}) + self._auth_mech = "keys" def _authenticate(self, **kwargs): - kwargs['_key_auth_dict'] = kwargs.get('_key_auth_dict', { - 'api_key': kwargs.get('api_key', - os.getenv(f'{self._env_base}_API_KEY') - ) - }) + kwargs["_key_auth_dict"] = kwargs.get( + "_key_auth_dict", + {"api_key": kwargs.get("api_key", os.getenv(f"{self._env_base}_API_KEY"))}, + ) super()._authenticate(**kwargs) def graphql(self, **kwargs): - ''' + """ GraphQL Endpoint This singular method exposes the GraphQL API to the library. As all @@ -111,13 +114,29 @@ def graphql(self, **kwargs): ... } ... } ... \'\'\') - ''' - return self.post('graphql', json=kwargs) + """ + return self.post("graphql", json=kwargs) @property def assets(self): - ''' + """ The interface object for the :doc:`Tenable.ot Assets APIs `. - ''' + """ return AssetsAPI(self) + + @property + def events(self): + """ + The interface object for the + :doc:`Tenable.ot Events APIs `. + """ + return EventsAPI(self) + + @property + def plugins(self): + """ + The interface object for the + :doc:`Tenable.ot Plugins APIs `. + """ + return PluginsAPI(self) diff --git a/tenable/sc/analysis.py b/tenable/sc/analysis.py index 0af670fbb..7a1c9793e 100644 --- a/tenable/sc/analysis.py +++ b/tenable/sc/analysis.py @@ -176,6 +176,9 @@ def _analysis(self, *filters, **kw): pages = self._check('pages', kw['pages'], int) if payload.get('sourceType') in ['individual']: + payload['query']['scanID'] = self._check( + 'scan_id', kw.get('scan_id'), int + ) payload['query']['view'] = self._check( 'view', kw.get('view', 'all'), str, choices=['all', 'new', 'patched'], default='all') diff --git a/tenable/sc/credentials.py b/tenable/sc/credentials.py index 1d6b703f1..b6d490cb5 100644 --- a/tenable/sc/credentials.py +++ b/tenable/sc/credentials.py @@ -298,7 +298,7 @@ def _constructor(self, **kw): kw['privilegeEscalation'] = self._check('privilege_escalation', kw['privilege_escalation'], str, choices=[ 'none', 'su', 'sudo', 'su+sudo', - 'dzdo', 'pbrun', 'cisco', '.k5login']) + 'dzdo', 'pbrun', "Cisco 'enable'", '.k5login']) del(kw['privilege_escalation']) ### KERBEROS AUTHTYPE @@ -496,7 +496,7 @@ def create(self, name, cred_type, auth_type, **kw): The fileobject containing the SSH private key. privilege_escalation (str, optional): The type of privilege escalation to perform once authenticated. - Valid values are ``.k5login``, ``cisco``, ``dzdo``, ``none``, + Valid values are ``.k5login``, ``Cisco 'enable'``, ``dzdo``, ``none``, ``pbrun``, ``su``, ``su+sudo``, ``sudo``. If left unspecified, the default is ``none``. public_key (file, optional): @@ -796,7 +796,7 @@ def edit(self, id, **kw): The fileobject containing the SSH private key. privilege_escalation (str, optional): The type of privilege escalation to perform once authenticated. - Valid values are ``.k5login``, ``cisco``, ``dzdo``, ``none``, + Valid values are ``.k5login``, ``Cisco 'enable'``, ``dzdo``, ``none``, ``pbrun``, ``su``, ``su+sudo``, ``sudo``. If left unspecified, the default is ``none``. public_key (file, optional): diff --git a/tenable/sc/scans.py b/tenable/sc/scans.py index 4c661fd39..596029e9b 100644 --- a/tenable/sc/scans.py +++ b/tenable/sc/scans.py @@ -163,23 +163,7 @@ def _constructor(self, **kw): for i in self._check('creds', kw['creds'], list)] del(kw['creds']) - # Lastly, we need to handle the scan types automatically... - if 'plugin_id' in kw and 'policy_id' in kw: - # if both are specified, something is wrong here and we should throw - # an exception. - raise UnexpectedValueError( - 'specify either a plugin_id or a policy_id for a scan, not both.') - - elif 'plugin_id' in kw: - # If just the plugin_id is specified, then we are safe to assume - # that this is a plugin-based scan. set the pluginID attribute as - # the API would expect and remove the snake cased variant that was - # inputted. - kw['type'] = 'plugin' - kw['pluginID'] = self._check('plugin_id', kw['plugin_id'], int) - del(kw['plugin_id']) - - elif 'policy_id' in kw: + if 'policy_id' in kw: # If just the policy_id is specified, then we are safe to assume # that this is a policy-based scan. set the policy id attribute # within the policy document as the API would expect and remove the @@ -249,8 +233,6 @@ def create(self, name, repo, **kw): The default is ``3600`` seconds. policy_id (int, optional): The policy id to use for a policy-based scan. - plugin_id (int, optional): - The plugin id to use for a plugin-based scan. reports (list, optional): What reports should be run upon completion of the scan? Each report dictionary requires an id for the report definition and @@ -297,8 +279,6 @@ def create(self, name, repo, **kw): # which of the values is defined. if 'policy_id' in kw: kw['type'] = 'policy' - elif 'plugin_id' in kw: - kw['type'] = 'plugin' scan = self._constructor(**kw) return self._api.post('scan', json=scan).json()['response'] @@ -355,9 +335,9 @@ def edit(self, id, **kw): The maximum amount of time that the scan may run in seconds. ``0`` or less for unlimited. name (str, optional): The name of the scan. - policy (int, optional): + policy_id (int, optional): The policy id to use for a policy-based scan. - plugin (int, optional): + plugin_id (int, optional): The plugin id to use for a plugin-based scan. reports (list, optional): What reports should be run upon completion of the scan? Each diff --git a/tenable/version.py b/tenable/version.py index d062f30e2..25ddeaa99 100644 --- a/tenable/version.py +++ b/tenable/version.py @@ -1,2 +1,2 @@ -version = '1.4.6' +version = '1.4.12' version_info = tuple(int(d) for d in version.split("-")[0].split(".")) diff --git a/tests/io/cassettes/test_access_group_edit_success.yaml b/tests/io/cassettes/test_access_group_edit_success.yaml index 58a9ce83a..ca4c1d0e2 100644 --- a/tests/io/cassettes/test_access_group_edit_success.yaml +++ b/tests/io/cassettes/test_access_group_edit_success.yaml @@ -9,8 +9,8 @@ interactions: Connection: - keep-alive User-Agent: - - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.3.0 - (pyTenable/1.3.0; Python/3.8.6; Windows/AMD64) + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.9.7; Windows/AMD64) X-APIKeys: - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY method: GET @@ -18,28 +18,56 @@ interactions: response: body: string: !!binary | - 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 headers: Cache-Control: - no-store @@ -50,7 +78,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Fri, 18 Jun 2021 10:26:48 GMT + - Tue, 17 May 2022 10:03:53 GMT Expect-CT: - enforce, max-age=86400 Pragma: @@ -63,13 +91,15 @@ interactions: Transfer-Encoding: - chunked Vary: - - accept-encoding + - origin,accept-encoding X-Content-Type-Options: - nosniff + X-Frame-Options: + - DENY X-Gateway-Site-ID: - - nginx-router-c3gdt-ap-southeast-1-prod + - nginx-router-d5jw8-ap-southeast-1-prod X-Request-Uuid: - - 07424427acc5d7f8d280bab9d7919c91 + - a0495cdd4f9235603436da431c811e3d X-XSS-Protection: - 1; mode=block status: @@ -77,7 +107,8 @@ interactions: message: OK - request: body: '{"rules": [{"operator": "eq", "terms": ["192.168.0.0/24"], "type": "ipv4"}], - "principals": [], "name": "Example", "all_users": false}' + "principals": [], "name": "9ece3680-6620-4e14-9a7a-ab732588dd10", "all_users": + false}' headers: Accept: - '*/*' @@ -86,38 +117,32 @@ interactions: Connection: - keep-alive Content-Length: - - '133' + - '162' Content-Type: - application/json Cookie: - nginx-cloud-site-id=us-2b User-Agent: - - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.3.0 - (pyTenable/1.3.0; Python/3.8.6; Windows/AMD64) + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.9.7; Windows/AMD64) X-APIKeys: - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY method: POST uri: https://cloud.tenable.com/access-groups response: body: - string: !!binary | - H4sIAAAAAAAAA6WRT0/DMAzFv0vOS4nTNGt7QkIT4gKIcQJNldO6qFL/0aQT07TvjjeGBjckjn5+ - L7Z/2Yty6AM2PU3FPDeVyEWV2hiMiiVVWSINYiYziJeSbAbOVmXsDImFKCfCQFWBgTNaaZDKSkif - QeXa5omKlIUX9s1j9SffabayNsV6mUmX1laaLCGZKi4NkKIaXczbsLfHjti9+sBubI/LYNsW6D0F - L/IaW09f0uxpuihbLpqhFzkshA8YZm6Jx6eHm9V6fXd/y89Mc0ssvu5F2I3HCc24NawPI00YhokV - euc60NQdfQIyHYFNI77iShuxOWwuYNzumyigrhQoLQGcYqJE0ilTy6U2qnbWJmDqH6T+EzyTGXeB - enQtFYF8OHG4PitROXTi15Z/zozTUJL3Tf9WMJCS+lBwg38gcF4dPgEmD0E7TAIAAA== + string: '{"container_uuid":"f2fd9517-3876-47f8-aa7f-70dfe1b40ec6","created_at":"2022-05-17T10:03:54.771Z","updated_at":"2022-05-17T10:03:54.771Z","id":"42899c94-bad4-441b-b6dd-db1dcf8014f6","name":"9ece3680-6620-4e14-9a7a-ab732588dd10","all_assets":false,"all_users":false,"version":1,"status":"PROCESSING","rules":[{"type":"ipv4","operator":"eq","terms":["192.168.0.0/24"]}],"created_by_uuid":"e1b94c27-9dca-4367-b75f-ea6c37deaa0f","updated_by_uuid":"e1b94c27-9dca-4367-b75f-ea6c37deaa0f","updated_by_name":"triage_musikaar@tenable.com","created_by_name":"triage_musikaar@tenable.com","processing_percent_complete":0}' headers: Cache-Control: - no-store Connection: - keep-alive - Content-Encoding: - - gzip + Content-Length: + - '609' Content-Type: - application/json; charset=utf-8 Date: - - Fri, 18 Jun 2021 10:26:50 GMT + - Tue, 17 May 2022 10:03:55 GMT Expect-CT: - enforce, max-age=86400 Pragma: @@ -127,16 +152,16 @@ interactions: - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure Strict-Transport-Security: - max-age=63072000; includeSubDomains - Transfer-Encoding: - - chunked Vary: - - accept-encoding + - origin X-Content-Type-Options: - nosniff + X-Frame-Options: + - DENY X-Gateway-Site-ID: - - nginx-router-c3gdt-ap-southeast-1-prod + - nginx-router-d5jw8-ap-southeast-1-prod X-Request-Uuid: - - 1d889b8ab0ca97e32760da2f4cf3f97a + - 98d766a007b99c61915e31780a1fd2f1 X-XSS-Protection: - 1; mode=block status: @@ -154,32 +179,28 @@ interactions: Cookie: - nginx-cloud-site-id=us-2b User-Agent: - - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.3.0 - (pyTenable/1.3.0; Python/3.8.6; Windows/AMD64) + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.9.7; Windows/AMD64) X-APIKeys: - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY method: GET - uri: https://cloud.tenable.com/access-groups/0668af79-b8f6-495e-8079-41e0efab3aa9 + uri: https://cloud.tenable.com/access-groups/42899c94-bad4-441b-b6dd-db1dcf8014f6 response: body: - string: !!binary | - H4sIAAAAAAAAA6WRT0/DMAzFv0vOS7HTLGt7QoLdQHDYCTRVSeuiSv1Hkk5M07473hga3JA4+vm9 - 2P7lIKpxiLYdyJfz3NaiEHVmUtSQSqrzpdTW5jLHdCXJ5OhMXaVOk1iIypONVJc2ckaBQglGYrZB - KJQplpCAwRf2zVP9J995NhiT2WaVS5c1Rup8STIDLjUSUGNdytuwd7A9sXv9YfupOy1ju660IVAM - omhsF+hLmgP5q7Ljoh0HUeBChGjjzC1x9/T4/LDerO/5FT93xNrrQcT9dBrQTjvN+jiRt3H0rNA7 - 15F8f/IJzFWCJkv4iBulxfa4vXJx+2+gaFUNCEoiOmCgRNKBbuRKaWicMUvUzQ9Q/wlewEz7SIN1 - HZWRQjxjuL0oSTX24teWf85MfqwohHZ4KxlIRUMsucEfEDmPAMdPl9Koak0CAAA= + string: '{"container_uuid":"f2fd9517-3876-47f8-aa7f-70dfe1b40ec6","created_at":"2022-05-17T10:03:54.771Z","updated_at":"2022-05-17T10:03:54.771Z","id":"42899c94-bad4-441b-b6dd-db1dcf8014f6","name":"9ece3680-6620-4e14-9a7a-ab732588dd10","all_assets":false,"all_users":false,"version":1,"status":"PROCESSING","rules":[{"type":"ipv4","operator":"eq","terms":["192.168.0.0/24"]}],"created_by_uuid":"e1b94c27-9dca-4367-b75f-ea6c37deaa0f","updated_by_uuid":"e1b94c27-9dca-4367-b75f-ea6c37deaa0f","updated_by_name":"triage_musikaar@tenable.com","created_by_name":"triage_musikaar@tenable.com","processing_percent_complete":0}' headers: + Accept-Ranges: + - bytes Cache-Control: - no-store Connection: - keep-alive - Content-Encoding: - - gzip + Content-Length: + - '609' Content-Type: - application/json; charset=utf-8 Date: - - Fri, 18 Jun 2021 10:26:51 GMT + - Tue, 17 May 2022 10:03:56 GMT Expect-CT: - enforce, max-age=86400 Pragma: @@ -189,24 +210,25 @@ interactions: - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure Strict-Transport-Security: - max-age=63072000; includeSubDomains - Transfer-Encoding: - - chunked Vary: - - accept-encoding + - origin X-Content-Type-Options: - nosniff + X-Frame-Options: + - DENY X-Gateway-Site-ID: - - nginx-router-c3gdt-ap-southeast-1-prod + - nginx-router-d5jw8-ap-southeast-1-prod X-Request-Uuid: - - aef09553bb7f32b9436de3412176b4ff + - ab2804cdccb0f305983ab5988d497e40 X-XSS-Protection: - 1; mode=block status: code: 200 message: OK - request: - body: '{"name": "Updated", "all_users": false, "all_assets": false, "rules": [{"type": - "ipv4", "operator": "eq", "terms": ["192.168.0.0/24"]}]}' + body: '{"name": "561bec0b-f170-4433-bb78-884b8361f396", "all_users": false, "all_assets": + false, "rules": [{"operator": "eq", "terms": ["Windows NT"], "type": "operating_system"}], + "principals": [{"type": "group", "principal_id": "c037612b-9c5c-40a7-afbd-0e776915c9cd"}]}' headers: Accept: - '*/*' @@ -215,38 +237,34 @@ interactions: Connection: - keep-alive Content-Length: - - '136' + - '264' Content-Type: - application/json Cookie: - nginx-cloud-site-id=us-2b User-Agent: - - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.3.0 - (pyTenable/1.3.0; Python/3.8.6; Windows/AMD64) + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.9.7; Windows/AMD64) X-APIKeys: - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY method: PUT - uri: https://cloud.tenable.com/access-groups/0668af79-b8f6-495e-8079-41e0efab3aa9 + uri: https://cloud.tenable.com/access-groups/42899c94-bad4-441b-b6dd-db1dcf8014f6 response: body: - string: !!binary | - H4sIAAAAAAAAA6WQW0vEMBCF/0ueN3WSpunlSRARX1RcfVGkJM1UCt22JunCsux/d/Yiqy8i+Dhn - zpnLt2XNOETTDejree4cq5grdCoUpBxdmXFlTMlLkeYcdSmsdk1qFbIFazyaiK42kTISpOCguSie - BFRSVxkkoMUL+ebJ/eaTicph7zvsBq0L0+Ylt0WruSoz5AVQqQQCtsamdA15B7NCcj8fR5Ng+r42 - IWAMrGpNH/AozQH9WVlT0Y0Dq+SChWjiTC328Hh/db1c3t7d0Bg/90ji65bFzbTf0E1rRfo4oTdx - 9KTgB9UR/WrvY6KUidBFQt9eSMXedm9nMHbzRVQY6UCA5EJYIKKI3IJqeS4VtFbrTKj2G6n/BE9k - pk3Ewdge64ghHjhcnpSkGVfsx5V/zkx+bDCEbnivCUiDQ6ypMfUYKQ+7T4XblfNMAgAA + string: '{"container_uuid":"f2fd9517-3876-47f8-aa7f-70dfe1b40ec6","created_at":"2022-05-17T10:03:54.771Z","updated_at":"2022-05-17T10:03:57.166Z","id":"42899c94-bad4-441b-b6dd-db1dcf8014f6","name":"561bec0b-f170-4433-bb78-884b8361f396","all_assets":false,"all_users":false,"version":2,"status":"PROCESSING","rules":[{"type":"operating_system","operator":"eq","terms":["Windows + NT"]}],"principals":[{"type":"group","principal_id":"c037612b-9c5c-40a7-afbd-0e776915c9cd","principal_name":"VM + Scan Manager"}],"created_by_uuid":"e1b94c27-9dca-4367-b75f-ea6c37deaa0f","updated_by_uuid":"e1b94c27-9dca-4367-b75f-ea6c37deaa0f","updated_by_name":"triage_musikaar@tenable.com","created_by_name":"triage_musikaar@tenable.com","processing_percent_complete":0}' headers: Cache-Control: - no-store Connection: - keep-alive - Content-Encoding: - - gzip + Content-Length: + - '738' Content-Type: - application/json; charset=utf-8 Date: - - Fri, 18 Jun 2021 10:26:52 GMT + - Tue, 17 May 2022 10:03:57 GMT Expect-CT: - enforce, max-age=86400 Pragma: @@ -256,16 +274,16 @@ interactions: - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure Strict-Transport-Security: - max-age=63072000; includeSubDomains - Transfer-Encoding: - - chunked Vary: - - accept-encoding + - origin X-Content-Type-Options: - nosniff + X-Frame-Options: + - DENY X-Gateway-Site-ID: - - nginx-router-c3gdt-ap-southeast-1-prod + - nginx-router-d5jw8-ap-southeast-1-prod X-Request-Uuid: - - 8f1f35390bccd5687a817c5ade7fab3f + - 2c6535eff511332beb6ba9930fcc2d85 X-XSS-Protection: - 1; mode=block status: @@ -285,12 +303,12 @@ interactions: Cookie: - nginx-cloud-site-id=us-2b User-Agent: - - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.3.0 - (pyTenable/1.3.0; Python/3.8.6; Windows/AMD64) + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.9.7; Windows/AMD64) X-APIKeys: - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY method: DELETE - uri: https://cloud.tenable.com/access-groups/0668af79-b8f6-495e-8079-41e0efab3aa9 + uri: https://cloud.tenable.com/access-groups/42899c94-bad4-441b-b6dd-db1dcf8014f6 response: body: string: '' @@ -304,7 +322,7 @@ interactions: Content-Type: - application/octet-stream Date: - - Fri, 18 Jun 2021 10:26:53 GMT + - Tue, 17 May 2022 10:03:58 GMT Expect-CT: - enforce, max-age=86400 Pragma: @@ -314,12 +332,16 @@ interactions: - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure Strict-Transport-Security: - max-age=63072000; includeSubDomains + Vary: + - origin X-Content-Type-Options: - nosniff + X-Frame-Options: + - DENY X-Gateway-Site-ID: - - nginx-router-c3gdt-ap-southeast-1-prod + - nginx-router-d5jw8-ap-southeast-1-prod X-Request-Uuid: - - 4fc6cbad4a8ce65d5cc58088e61e1edd + - e5dc0080f30d5eccf92287d9fa659154 X-XSS-Protection: - 1; mode=block status: diff --git a/tests/io/cassettes/test_access_group_v2_edit_rules_success.yaml b/tests/io/cassettes/test_access_group_v2_edit_rules_success.yaml new file mode 100644 index 000000000..9a45349ab --- /dev/null +++ b/tests/io/cassettes/test_access_group_v2_edit_rules_success.yaml @@ -0,0 +1,261 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.1; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/v2/access-groups/filters + response: + body: + string: !!binary | + H4sIAAAAAAAAA6WU30/CMBDH/5Wm8UHjwBef9oYhGhIFlRgeGCylPbBJWUfbORey/922g6hjiz/2 + 1PZ6d5/v9cftcc4Fo0SxeM1BMI3DOU7IFnCAqQJigMWrIj5YspR9sywCvObCgHJheyxTUMRIv8Kw + swFbYuirc6MyMUoKHO6xKVLAIQZrKHAZVLTwCLVMRlYC4oN5QCloje6UzFI0drYyqJGcpp5VYaP9 + dPM5tSIa4W7T1/tFwLE4Yhpk3BNt0INk3EaxUwl/LbZ+kD8A0U3RnXl6nXXmJE9ANYJ+BVCZgD7J + dUwolVnSdIzP1gX10GA2RYPKCY2GHYnrHUvaUbdPw3FHAE/frtsBo0e7+8/LcUk38G7X58t5FOVR + NIsivbg8u6hrqJLzZBPrQhvYtuuZHD3RtPLs/HBSxRPKUyL6Le/mRYNCV8gP/qPi0ibWUhmX1Y3e + u7XB+B/X3m389knrKcsP8OhcELwEAAA= + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Mon, 23 May 2022 04:38:18 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-orlc5-ap-southeast-1-prod + X-Request-Uuid: + - e8907849da749da1f896cdc8afb2ef29 + X-XSS-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.1; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/v2/access-groups?limit=50&offset=0 + response: + body: + string: !!binary | + H4sIAAAAAAAAA+1Wy27bMBD8lYBnU+BTJHWqkRq9JG0BGz00CITlyxAqS4ZEtwgC/3tpJ03sIE3a + Ikguva3IWXF3ZrTUNQLnwjjWy6HfrEdUXVwj13cJmi4M9WbTeFShyKI3kirMtSqxUFFjABWxIj4G + agUJrkQT5IYAKfgaUs5hhBFMSkzkgrKKkYrpolTia8Zt1v4IRzExmJkFMRXJOF7IUu5w+7OpElyL + IDG3SmHBuMaGSIGppMCkKz1wmrEdrEJGT9v2ZDqOIY15Ddq2hpuHKg2bMEHfwzA2fYcqRidoTJA2 + eQudfjr/fDZbzN7vcg7YqNPVev/Ss7ODqu3VL1py60Y4prDxDrDgpcJWyYgDlI4rHwBIPE68rTIN + DSxDvdqMzTeA4V0KHdg2FK5fHdB4jx+vxhR2W+uh35XXdMt6HQYXulTnnHUbUoZRQraTl1PvThVV + UVpxWnCjn1TvAW5/thFWCM4VDnJHkc9QI7zDkqlArIrKKnOv3un8gWoR2vFQtr9R7Xz6cfphVk/n + 89lifkzrP+v32sI/jX8rN8hKikJw8qQbdCXLStBCEXbnBm80eK8ZtjoaLCiLWPPA85iwgoGkxoM9 + dAOmz/ih/O+HN/IDy4MdM7KgvOIkj+1CPu6H3+FuzoZSkQh5rMugsRDgsWVaYx41UAbRUH80HTA7 + uTiFbu6gm5zk4EsTfly+5NKrjh+rNLeScmxUaTPzzGFNaGZLM6G8i9oz/ajd/jDxWTtcZgwsmw7S + vrtr1MeYG0cVmaC2WTU5kjlMfYIWVSI33w9p/4dwq0jm6u6y7Qcfht03HkaHtpfb7U+3of1wWggA + AA== + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Mon, 23 May 2022 04:38:20 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-orlc5-ap-southeast-1-prod + X-Request-Uuid: + - 2d499315c2a7356472cbb0ee128682b7 + X-XSS-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.1; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/v2/access-groups/94b44337-e5ca-4d09-94dc-527e0b7f7b79 + response: + body: + string: '{"container_uuid":"f2fd9517-3876-47f8-aa7f-70dfe1b40ec6","created_at":"2021-09-29T07:11:31.398Z","updated_at":"2021-09-29T07:11:31.398Z","id":"94b44337-e5ca-4d09-94dc-527e0b7f7b79","name":"CS","all_assets":false,"version":1,"status":"COMPLETED","access_group_type":"MANAGE_ASSETS","rules":[{"type":"tag_uuid","operator":"set-has","terms":["24ec0790-eb18-4c9c-b787-9c1164a9c1b9"]}],"principals":[{"type":"all_users","principal_id":"00000000-0000-0000-0000-000000000000","principal_name":"All + Users","permissions":[]}],"created_by_uuid":"e1b94c27-9dca-4367-b75f-ea6c37deaa0f","updated_by_uuid":"e1b94c27-9dca-4367-b75f-ea6c37deaa0f","updated_by_name":"triage_musikaar@tenable.com","created_by_name":"triage_musikaar@tenable.com","processing_percent_complete":100}' + headers: + Accept-Ranges: + - bytes + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Length: + - '761' + Content-Type: + - application/json; charset=utf-8 + Date: + - Mon, 23 May 2022 04:38:21 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-orlc5-ap-southeast-1-prod + X-Request-Uuid: + - e1b16db93beb07f8887ef3be178a2d93 + X-XSS-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: '{"name": "CS", "all_users": false, "all_assets": false, "rules": [{"operator": + "starts", "terms": ["demoHostname", "demo2"], "type": "hostname"}], "principals": + [{"type": "group", "principal_id": "00000000-0000-0000-0000-000000000000", "permissions": + ["CAN_SCAN", "CAN_VIEW"]}], "access_group_type": "MANAGE_ASSETS"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '316' + Content-Type: + - application/json + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.1; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: PUT + uri: https://cloud.tenable.com/v2/access-groups/94b44337-e5ca-4d09-94dc-527e0b7f7b79 + response: + body: + string: '{"container_uuid":"f2fd9517-3876-47f8-aa7f-70dfe1b40ec6","created_at":"2021-09-29T07:11:31.398Z","updated_at":"2022-05-23T04:38:22.477Z","id":"94b44337-e5ca-4d09-94dc-527e0b7f7b79","name":"CS","all_assets":false,"version":2,"status":"PROCESSING","access_group_type":"MANAGE_ASSETS","rules":[{"type":"hostname","operator":"starts","terms":["demoHostname","demo2"]}],"principals":[{"type":"group","principal_id":"00000000-0000-0000-0000-000000000000","principal_name":"All + Users","permissions":["CAN_SCAN","CAN_VIEW"]},{"type":"all_users","principal_id":"00000000-0000-0000-0000-000000000000","principal_name":"All + Users","permissions":[]}],"created_by_uuid":"e1b94c27-9dca-4367-b75f-ea6c37deaa0f","updated_by_uuid":"e1b94c27-9dca-4367-b75f-ea6c37deaa0f","updated_by_name":"triage_musikaar@tenable.com","created_by_name":"triage_musikaar@tenable.com","processing_percent_complete":0}' + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Length: + - '881' + Content-Type: + - application/json; charset=utf-8 + Date: + - Mon, 23 May 2022 04:38:23 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-orlc5-ap-southeast-1-prod + X-Request-Uuid: + - 0fe2ee2196970675fe834ae48cae50cb + X-XSS-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/cassettes/test_agentgroups_details_agentgroup_notfounderror.yaml b/tests/io/cassettes/test_agentgroups_details_agentgroup_notfounderror.yaml new file mode 100644 index 000000000..047142288 --- /dev/null +++ b/tests/io/cassettes/test_agentgroups_details_agentgroup_notfounderror.yaml @@ -0,0 +1,125 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.1; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/filters/scans/agents + response: + body: + string: !!binary | + H4sIAAAAAAAAA81WW2+bMBT+KwjtYZeEcjWQt6iZom5NWilt1a7qkAsOs+QAM87aLsp/nzE3Q9I1 + 0/rQPJAjvuPvfOcc+5iN+oBJFEIaBUuMSJSro1s1TCkKfiGa4zRRB2qEc0ZTbsQ0XWc5N3DGHwlc + If6XEciWKV1xM2eQrXP1bqAuMWF8PSfblH6jPilFMIL3BAUVfNUgaYYoZKlYra4gC3/wl4QVEdFP + /hSPpAZiVsQL04RLJOpo0xJTFKNHznyt3WjfuCd7yopAiHs+CQElrH1Ut9tBI7NJti9wUgN79VV6 + XpBScihzzqi8R1qsKSh3h48eGAL7w8ESmzb0Jc7Q6h5RJV0q08Klr7UsHH92VVZBI5pmUfpQdIBw + mXLr5mlSdBpH6mhoSEKOF8o45mIVw3Mq3PANC1iSj1CijGvYArbnSvAqDox2qafrEpblgVljLnCA + 3l0HCZFXykHn6KFSVheicDN11zI8yW38tSZwPODIBI7pNKE9E/h+N7QlBzYljKGcBbEUs2C2bdmD + Yhjzg7CqHWzbAr2KmDK9XPAchk0hPdu3epEV02E/agegu16/JlOayVnJtZgcD21dB3pTcMt0vD6/ + yExp5AHfdd29PrIH6OyYoeXbhtOKBJbMMP0i101O/aKorOG1+fH94Op9B9H0aaf+vuN1Nk5bwqLp + MrRYlOu7DbRt2/R3Gti2wTDkBE/TEBLlatau1l1/eycfXzE8+0f35FwZRxFFef7sqR3847AxfFMz + gKcZmnHwaCGQF5GTJihke1Seclg5LuE9wzqCDA3FpBZW3FhCvbB2x8+O7hv+O5rNjiaTVnaxVtxP + kvTvt/rQv/v0bjeBPIRcYvRcAosGfmvqqyu1r3pevn6dbXHx+fri4P0gXe59Uect9DrCakL5ejzF + yfrx8JsxI+sYJ8ESoSjAz/b/XHgpl1nRl7ewCzb29qg0zNbo7ozq02o3o0UN/NdVr54lBItL/my5 + rKyTBDMMCf6Nk1jtTLD1em9xLy9PJgcK2SkYFLd1Rfy3ZnOePKWsICn+BcnLX65i5vaGW29U7H7O + 9nYTL8EfU5ZPfS4LAAA= + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 20 May 2022 05:37:38 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-dkrsa-ap-southeast-1-prod + X-Request-Uuid: + - d7e4d0d97a6fc9ade9177605ecd583ae + X-XSS-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.1; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/scanners/1/agent-groups/1?sort=name%3Aasc%2Cdescription%3Adesc + response: + body: + string: '{"error":"AgentGroup not found."}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Length: + - '33' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 20 May 2022 05:37:39 GMT + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-dkrsa-ap-southeast-1-prod + X-Request-Uuid: + - 0d2a0791805d975783f45f1e00ced09c + X-XSS-Protection: + - 1; mode=block + status: + code: 404 + message: Not Found +version: 1 diff --git a/tests/io/cassettes/test_agentgroups_details_scanner_id_typeerror.yaml b/tests/io/cassettes/test_agentgroups_details_scanner_id_typeerror.yaml new file mode 100644 index 000000000..95dc4ef9e --- /dev/null +++ b/tests/io/cassettes/test_agentgroups_details_scanner_id_typeerror.yaml @@ -0,0 +1,73 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.1; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/filters/scans/agents + response: + body: + string: !!binary | + H4sIAAAAAAAAA81WW2+bMBT+KwjtYZeEcjWQt6iZom5NWilt1a7qkAsOs+QAM87aLsp/nzE3Q9I1 + 0/rQPJAjvuPvfOcc+5iN+oBJFEIaBUuMSJSro1s1TCkKfiGa4zRRB2qEc0ZTbsQ0XWc5N3DGHwlc + If6XEciWKV1xM2eQrXP1bqAuMWF8PSfblH6jPilFMIL3BAUVfNUgaYYoZKlYra4gC3/wl4QVEdFP + /hSPpAZiVsQL04RLJOpo0xJTFKNHznyt3WjfuCd7yopAiHs+CQElrH1Ut9tBI7NJti9wUgN79VV6 + XpBScihzzqi8R1qsKSh3h48eGAL7w8ESmzb0Jc7Q6h5RJV0q08Klr7UsHH92VVZBI5pmUfpQdIBw + mXLr5mlSdBpH6mhoSEKOF8o45mIVw3Mq3PANC1iSj1CijGvYArbnSvAqDox2qafrEpblgVljLnCA + 3l0HCZFXykHn6KFSVheicDN11zI8yW38tSZwPODIBI7pNKE9E/h+N7QlBzYljKGcBbEUs2C2bdmD + Yhjzg7CqHWzbAr2KmDK9XPAchk0hPdu3epEV02E/agegu16/JlOayVnJtZgcD21dB3pTcMt0vD6/ + yExp5AHfdd29PrIH6OyYoeXbhtOKBJbMMP0i101O/aKorOG1+fH94Op9B9H0aaf+vuN1Nk5bwqLp + MrRYlOu7DbRt2/R3Gti2wTDkBE/TEBLlatau1l1/eycfXzE8+0f35FwZRxFFef7sqR3847AxfFMz + gKcZmnHwaCGQF5GTJihke1Seclg5LuE9wzqCDA3FpBZW3FhCvbB2x8+O7hv+O5rNjiaTVnaxVtxP + kvTvt/rQv/v0bjeBPIRcYvRcAosGfmvqqyu1r3pevn6dbXHx+fri4P0gXe59Uect9DrCakL5ejzF + yfrx8JsxI+sYJ8ESoSjAz/b/XHgpl1nRl7ewCzb29qg0zNbo7ozq02o3o0UN/NdVr54lBItL/my5 + rKyTBDMMCf6Nk1jtTLD1em9xLy9PJgcK2SkYFLd1Rfy3ZnOePKWsICn+BcnLX65i5vaGW29U7H7O + 9nYTL8EfU5ZPfS4LAAA= + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 20 May 2022 05:37:44 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-dkrsa-ap-southeast-1-prod + X-Request-Uuid: + - 08ed25326d66a196b1fd046c0bfbde08 + X-XSS-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/cassettes/test_block_while_running.yaml b/tests/io/cassettes/test_block_while_running.yaml new file mode 100644 index 000000000..951193dcf --- /dev/null +++ b/tests/io/cassettes/test_block_while_running.yaml @@ -0,0 +1,594 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.1; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/scans/583 + response: + body: + string: !!binary | + H4sIAAAAAAAAA8S9a3Mjx5U2+FcQ/WHDE9Og837p8EasRtbszFiytZLsnTf2fUORVzbcJEEDZKvb + E7O/fZ9TAMgsEFkFouVYyRZBsBLIyso853nO9b/erO7q+s27/3qz/uWubN68e/OwWYXr8vPt43b1 + IYTN//FQ7kK8KVdpffvm7Zu7cFtw0bch/hQ21+Vh+2MKd/T++ueH4Y0372q42Za3b+r6JpfNz6v8 + 5p12/O2btL572Kxvnv7+uMVf78vmdrXdrtZ32zfvuHBv32zT+5Ifb8rPj4809I2pviT8syw552U2 + 2S9zsmnpUrU6Spl5tt5kzkRKygbFFGOYT8mrh5/Dzc36l5KfvnKLueImf97dxN3jzc3bN/frm1X6 + fPht+z5saMDut3X8a0kP+1uQb988hOv9XW4Pl4R0g9f/z3+9Gd0Je3tYzt1VebW9vwmfR1/cvt7d + 6+7186uHz/e01rnU8Hjz8Oa/3x59y7Be++/hx19y3nOcvmj/CAqPXiVhlz6nsFTS2GW0ui5LMEna + XEJg9c1u4oIpK619mjs95Df//b+ePsora7PlfsmYEcvgWVwyLO2y1Oy1LEopp1TJLAhXvEzG6CLx + 0duH8PCIO36zur1fbx7whHYP8+fd1+yX6+jJ3DwcHtbPmMbTqt6n1RJDl4/3N+vw9O7wafiaDTYw + N1xq67jHY3xY3Ra8fXs/fnu1/Tls0vvVR/rch80jNtemrO5y+bS6ux7tt5/LXR6PfR+2H+LTNfgt + PGKzPmzC6ubFTt3P6HmO9ObwifTWf2P4avuw3nwetuD+9bBfOfdcWDp3wwb5efRw0qaEB+yhn3N4 + KOPJ3YTtw8+367yqq9S75sueZfvITj/XnQDYDMeo9xRfPADaZHfrh0Kn8X/R07iFCBjuYEvS7e7x + 9uf0kf5qNNbm7fDG+/WW9ovkbPf7YVDJ+2u180rt/oYZhkR/2Q8SWh9/Cx7Bx8eb4WS+ffMx3DzS + CXAiF26EY7oUz1i2xkGksYTX3DjrcMf7T+Sjz8PQ35e4CneL33/71VJIxZZi8W6x/dvN6qHIxaZc + b8ogCBaP9/SI3i3+fH+9CbksHt6XRai10GwXmPQHnPDt1SA+9tNT4nl+TOeCjVGFjNZaZwzjSjpu + SgqxWB4m5re+L3c//vnHbxY/lvS4WT18xhRoKpjmLyV+WD2I64cPcvGbw3VLgVte4k7+6d3hytFc + 20En590sazBecayld5rZyhnzWOEUnLNeK8PixLT/HB/vHh4X3Fwxtfj2px8Xv11wd3j9bnGzirdb + +voFfWvZhLi6oXv7zZ9//ONSMWOWvDP/p5HsMP3R7N3z7HX1IjObpfAsMGlFldFHKDjGSpCxPM/e + Hc/+63L38KcfF2430025Xy9+8/U3P2KLMMHeSaNdf3bD1eEu447Xm8X954f36zu5PPzh5JIb2WyV + KKGMQ43OYy9LK7HcCjtF+ggN7+rzrGnUyWnb3bS32/diNG3PdX/adPXbw4tlLh/LzfNdPL29TtvT + tyAZa+6B1lswKbnJWWeWYuSKaWuLsEEb09wDm7iH2wDFmWN7D4oJ07mHk9PSz5NKgDCimuJLxgau + kBjKcZ6rtqVKHcrEZv73O8jQm5vFdz9yt2S8c1piFCoXybwRNWRZsy1ZG25r8BG4iU18wQ//9s23 + h8eWNuuE7fbDvz3fsxX957a7vH1Swzv7J3haMj3PGavBWXEM6M5yUbzOHDcQuYm1qGr885xFb1H+ + 8C+ScWad6ywL9KGRIgoZUjAMZ89FI0RRXkllnJOXCpHhNWf009N77xbhnvTbaYmieVei7I7ocj/6 + xcndv39aVppmKYGVszMiWyYKtywbF1iwuPtsohB1YimPxM324/Xo4CrL/IS8ocvfPr06cXR37z+s + 1zedw2v8820ILVgGCEnMqYzzkjiTyUFqGmVzirm5jRn58+n25kj++Fed3UZ/RpuFECwVHWuCVs8l + SpclyyEYrdu1nTm7urNJhRLQa174gIcoVTbWRKtEDJrjMFs18QX7mza46bTelMeHFZb5cNvcvmNG + q85tP19/cgFsA3Cge7nTIQvHWa7cRx9ErbxAzBTtm6dij+f33QoCYbuuD4v/G9h5/ct28ftSgW7L + ZvHNTfk4XLZY18X3m9XH1U25Lou/jA/Q13/5ZniAS86NXPxvi+Z3Syjjm4HNLMLjw/oWn5b2WGm7 + eFjvXw53TcB6Ue6uV3dlUbEx6b1NoRnc0akDBwg3v4AY0jG+2ePi7dXiB0x2Qx/1h7v1LzclY37/ + ErZl8dUGX4WvFZqEDx8+klj25nZ/R3eL9+tfaODHslnVz/i+8LD47rvvv1mADSxiKQdQl3vCkSeV + sRmsV4El6RgegjTJgwwXV1Qr0NXESdiWh8f75w3h3kmhesd5d+0pXNPsVcIH0gkeE7anB1AwNioc + URN5YqAFZ4JdxfWSY351UwrRBXz5HmC+Huu2J0lKb6XAHJWH5FMAMZCExqQcWZVsSgtOQN37NTYF + 9sERzLWqh2gOA+ammyKHBoSaFkVI46CVguM1MKjD6rSckiyN1F6lx1bSMc96GntuPrYUiQMtstbF + OMikKnQVwBI8ADvZqeWb0ZaCPcPvb1d3j58WH8rmDqrilL40wvb15Un893wLOUYZbA684PFDjFb8 + NMp7VmNigIAX7oBBHR9vAM+6KmV3/ex6J8G1rpGBnQVurGayCp6j8lJLNcnM/rXk9SYshB325w1Y + 1eI3dMCXTgJV5tRnCfurT53zlgokrB7Uj4rCexuzli5aDRBbagBUy+5MKpDuV2P64llvYsOlp6bV + zMolADgoSJ8Dy95ylaxMsXhCeUXXKa7dqMrbzyDZIzXJXU9N7q49jREa1uGIkpbKUlUV/NoWX5X2 + HE9RF5kUf56YnpjY3XbbCmsB8tuZFl05B1yEijF55ZhkMgdAqJQTlAjm5pXIYWqxJs4CiexNvj8+ + DJzL3pk9jJg7DlqCtClpIQRNEBLKxSqjswM5MFXHdAbQAh/gUns3hlrNc6oKGkwbxjWtTQAtgEYN + KgWlpTfmLJ5UbuoeaO15EvfvBPf2NSKrwe6uMhz+GKAAFK/YPbz67A1LXPviR6B34qDlu+1t2P7t + +axx7GotO3M6XP2E1PdvLCcQYXMMAUyh7AWLOtrEAUeEKcJFD5CWSs35sp31qWxS2S7Ti63FVE/Q + Pg2ZRQYVKMBx4aMqCkhbSuiHUDTQApeJTeGWKb1wf3QO9NKJ7j647xwB2ezPWJ0TRptSbIm0xtDC + UMss2RLA4/S5xkS5w1fXw8Vps7p/+BKI1VgyPGnWiIOjmQkmWGsMNq7GI2LS5zRlyRhNUO8mGEEL + /JdMTTZGN4igyKuMCUIjMpeqD9BZOUQIJ1cmrSwjcOrVMLebAah8wdxGRljhRJCBqyoYYwmwNCqV + JIBWdixOWTNHqn6zTvfb5d31XtuDf+UCvNhlec8DTmnWZoJZlWhFqNwKkbQLKibusAWlrgYazJ4x + QbOj3qt8J4bp2aXAp4bscpgwIQyXz7COHK2P2kRdJcgHg/aXXlmVIeo5i/lcoETCbbl7qrvlM0QO + VAxd7d+MmFk/EoZYQaM5dApgPSSNAWtmnJnMdZJnW2AeVrWODDBG9ma3v/rt4cUJ88vw9oT1pTW4 + MxO9r1bjMCtlq4Bk14LRCVKQRlMi8kk1goe/T+u7urp+Vo72nRCuR5WeB7xtXuNG4uM1Mernm2n+ + ev3wYfZuXDKVa56hkULKOPySOxdiAZtOMkyCn5EsUHovC+Jt+HQLaZXjF4mrRtRDJkkbK1CjLNjY + QYGvArxjf9OBuxCeYaJ35eHhphxrUcEnDLn7IXNTLpp7nbCt8Y+qXAgbizKAGdjqFTdz5qKCTAyL + urexQ8Ff8S9Z1MZsIjh4qncgsgqykScsq9YueZ+LMRBll3uNNtvPd2nEV1dlu2eswosuY92NOyng + GhDooRQ84AhXOdhSRWbV1+CMjiUHXcJ55p69Nfl+dT+yCDjdc8g1A2ZEsLcl+6STKcabAD2LvSot + dBqzAFJmypL+JB3+zz/+6btvWu8CB0x9lVW2sUoCGeO+XDUEQQSFiCgngJwLsLTMYupJz7o1ScAc + HR/VPT7PQ07OuTVvFwESVgKHRDUx12ikCy4IpkLiqnUK+gmSeDBGHHiif8eV6YLOCUtEo70M9JXH + BgSxjx4iLlTsRV8ApjIIkrzQbPJxdTteRiAC19uKdPEsQwRRk0XEVDMQqFGsMHKnFWFrUCC4Z8gf + rJmChttZH1eQectpyTNc8zSv/3n3P+/+dW8/Xt9kkE6yPufV9mGzio+D7fc3eF0e0vt/eourVltC + YLjm9tnwW1efcLurO7IND+59/k5fSczon6H1/KMcfcnJb4iP24eyeeUX6KWiL+DskfeEZzROp2Rk + 1DlJU8ns7HVgLIMhC22mYNbTGT/szudDrlnXgzRrwXAazyr4mKJVPnAG0gG2EaRlWYDIf7HrhQO0 + lcwTkLgE9lFeWsNzyQrvpWim9v2IzTB5QAnb7fsvUWWNSjBQATFDZtQAhq1jMJFIlkng2IZPWgdb + l+5f78v18uFxE9cjewUIyYUPxYEWiMB9ZCA0mvwRKRWI3GrBZjyfojLPZhrgKsuU7nyFtUlrqRzo + SJZOihrLEKAWLQe/1lOyvf0Ky4xkoyffkEVWZGEFGjaT8C0cuozCY1KUoQQbL7Rh1HqL9X5hwRCs + Z4nZD5hDXt47q2tg3ifOXc05ZU4aGdJZAzlOSb6zTfPDa87oEHO+JCPxabQDjXuxfd5pbGZy5Ubr + oGJwvoMAj2MCSjyaPOXrfNrUT6aug4zh75joOmMuMXW1EQTa8ViYiFzaDMXDU8AmDE5iayod+cUo + ff2wwXx2L8SLECoxAdbHI+eOawWALBAeEJrCKOEKmZKsYaYKHWo428kwyHWxJ854VEXX5FnXBba/ + fIY1W+5t8oA+IgaefDbQOzZoXrULZLM5z/aJpfjlto7dDKp34HYXv93/PEGZ6V0KwZvdGqQ4sIVN + ytljNYHksvGSgdfxoNKkgH5xJhtX6CmXGBeTQWmHseY0im8WXJMd0VnLRUja4PHbKCoTWpMTyucp + GN+aebCfb55sKMmbwnACe34duvbUvBpkzLWByM/W1Sogl0uo4DySK8GwPbSM88jYtUvYmk98V9E9 + Xf709A/vTAUwNYupOJMca0fWxsKSAYnXKjqIZ86Kt2dxovJxfbOHdS0v6sLkuTnZYEpgMjieozPQ + oKCTypsUfAjF6C9QFLtIp+HnTkkcQpd6egJkZz7u6WTQUyfiCUK+0SSx1qgiUIGD6nYlZAhnWbh3 + Lugg2wCJF3vmK3w8ZiOu1NWnxe+Gn8osvnu8eVjd34xjUHA7DX5bL/ZDD9B6P5QkB+5xM0bWLXOB + qCxaKwONHUzlwkECJ+5FFlyG2GwV1fNc2sF3Hn8Iv2C5QkprPK3ttmw+rlLBO2l9s97k4cWQhrFM + GFZIU1znW/rv3fq2LNd3N6u7sjwMx/vgKu15eS0l541yr0QfXU0C2twncm6XVKysjrPgvJ/SlU/n + YR8X0BwG5roG0NMzso0/RUL72Vo5lr86JaMC/gipSoOZAfw3KO+FX/ZPm0AxPv8RPoYFlDi/slfs + Z+E5HYErR6/d7jXn+GUXDHjFNf1h8e9NMNDvV9t0s94+biCXDlFQ/wHmQMBl8fX3f8a9fXV/f/N5 + d2v3oHP3GwpRx92BRg5PepNXd9e0++gSjH0Mm8+78ftJfg14sUrhZvH9MGa/ViF/XG3Xm889hoGF + iKZIY7DE1SooY4ElkopHrhVXUxbIp+d1uxpCPnP5OT3cjGmf66ng8Zg5lz+Yvo+V6ZAIMXpvco05 + 8yhAh5L7FQUaDten7U1PmnGjplQwjcTjP3k3jdWqYCOCPQloDMZCsloki9VK3GZfi5hitGPAUz6t + xm4C1o2631/99vDiBObZvb3u+VHbPeOZCeQyt2DOFRKNMQMGmCnwoUbXOijNxB0MpqHGgmV4z0bQ + tQu1e0RWxrBLeFTB56QlsGPG6c6Fhex8wypexKo880XhKcfAdGwjDpItRZDeCv3imIG6j0P0Xy0W + WGoK7DW2u224jaEN8eDQA714vOHaOSsBKyoVUIYM/FRAyB0F6GWugEZMdHxK5ja3bpjivGckiTVq + 513UUcbIBWgzoC6PCewta5YuNA5+WN1R0NKY97iu8tldfno1GvgjpTIsAJAqZkQho0nVsTqID2Od + 5VOB0I3lQHsnrO/sBIjKXGUB7C+mFl6t5ga7T2lVAgeL/SKBNAiiP9Ga/PhtRxBJO8kFttsb6KMr + dpRAcdMIp74LUKqiDQMbq1g5BVRuvFKsFmZNrV8CHndWhneLH9f1YQi0/R5qrmyG2zpFeJSexY7b + /Uct758+6u0Thjzxx+cFOfHHZVrf3p5hKI+8MGGZL8JqyoVLlVUpNFMgLN7Yc+IzyAJtnB0MhpC7 + t2rOBL276B9rg1ZXzi/FzgJtf30LtLryYun29mfVk2W2OCLPBioRkI2DplI6C4hMTcaXPBUA9oRH + 0uP9toUh0plXoccWO0IGWFXI3uUtB3CEEAEWzdpCs+jWIf5CqzxNZ/uYm3waMlR1Jdxw6fMexW9T + NLS1DRplZXIMyIIFsGaZmcm6Cm84mJ+fCnt5pqGfgDZH69bnzcO1b3c/jrHE7k3K+lx1wEQbjCct + 1AlP1ZgKiQOhG0pRImaoFu5aCsd7qVr7mJP/5HxM+rsRY7uL3+5/Ho59Kyvp7fMSmKxOivIprVbK + cwhNlw0HrKshCWMn+c4JA9Df8d1dJt0X+XMSS1uTvSV/nsteVWyWGpnSPMZCmPac9BUABG2U16Ms + KzOy6lIMXQQdh8KALqwmSShFYZURWZvm4M7lDe4T0Fpc+ysnoLUuAOFFjDpJ7bNOPGaLZwlqiFeO + yUlhfoFR/fd7Q3THqO7dxUb1iHNkK9gQMHCS5CWoyYEsgSJxnuSUK6M18f5yXQ5R5MKXGPE53Qj3 + 4dqTxl3RLDCOs+Yc0FSGhDNpiw3FCQpsYNJk02YOTZEF6OibUWCr7Fp3Z835JrCUtXDAhRJzSiIV + XrgHONQulwuDbq4TBMFxJKgVvUnuLp+barY+ChxQgGzlvHQ+eA6FWK0lh1U996neYbJb2mY7a21i + PGgvY491HC6fMdxzAz5AaXEu42YKd7qqGGIKItvi9Zl0qA1PbZOUbJcUtSNmn3VSktLHFRZPQT6Z + 4IHXIvBEKgUs4ULeQolzIef13faEm68373bU7LwZmIvICcsLksXIXRMDB5PlgdugLuVb+2oKL7NY + evjoacRpPdgqclFCUcBIXHiVgwrQ61wFSmFLuJtmxmIq5/pE9KO8PJvJRUEB3xwbUwIfYR5GRceS + DkCXeTIUbATVqR4AJkerdpPD/Rxaf7ruHwvYB8Oz+udct9dLvcPt6tfH7cO32N23yD18F+MF961U + oDxrFsGJbbQlO1+LIj+Tqc4G5hpA9KLqwRH7HvvtW4IfmAVsCdnppFP1A+gqKSZuKGltyoE8cTjy + +/Qio8W5XlDVcPUcOAyCqiaIKBULwNJKZ6uLipqsTBz44sKMg0EVHudHuG4iWtl0YBBv9XQ1ZNbT + JZpUgByYkjo7VYvMwclYG0lp5sMP2+P72tif9vhCIwM4GO+FDMqFLEM2SRlMTZY6GQMyCs2xu1iv + JtLxSyL6G6FnyQwAmae91kUHsqJXx63DrGuNacq1cJYd6Nlosr0L97mDG8ENurhxN24msLN6hd3p + wbwB3XwyxVkmgBIUThY49xma3J6uVKLZVMQxXf328OKYRe4f1mTdksZ7bLKMshQhDLSjzMJVUSkw + VNoc7HQoaBsptasZ0FLgV9YMaAt+MMuYEtzI6CXziQnHigxAn9GoFBpJKHoJgbZDbbsJlF9MbVvw + KVlIGeJeh6yoBhjEGRbZZyj1pN2UkbNj+2DvmO66KF5n+2h3b/aiZu4pczbVIC0YEB450/Tw1CSF + O0pbeQjbO75HyaVSymQpacKKsLt+5nBhCzqwjQqhlSKrnKVYKgeQk94mYOfzYPJxbh+lVDjZ2waH + q08rqHZy0RnQPK9TSEQcvVdcBGakJFeKbay9kz5pMMGH8ulh5ETm3dkdrj79YBvxGjzUp3YaoBdK + NMVopAK5cExDBfgiJ8RrO7nVeGKgo72J9dwL7alIXhabveaVQy95H5gGJcN2sdgtk7FUU+yRwF+4 + Pa4wYJeyi32fh5yesm4LIhnDa5YJMjFGRWW/tGPRQjJlZq04y8t75JXnHltCv0qzN7JRU/A7SCh+ + AJU78FxmLDSo1NIFcMmJCX3/+NNP/2PxuwW7svy8eI3diAOeHcadDtYYxUhp44dErphxIMCYa0qk + JCkReTIHc+opb8L9+9VDEcdPWdsu2X0aMntasg8+K180pItTLBJqk6pyI5gNJov502Ke0gtH/klr + u6kFu4tPG6caq77IuVCIXOFAFYlLTqGs2EIgBJA0tUHsU1kPxzXFBqdx10R9uPr0urVu3ZhS8BAL + ljIxbMxVBaOBIhzD/8SFdGLv5h0/Z8PdPy1+8yP96evN59c7fdvHDTUHfqWA1bjLIQojrFTceaou + p6I4y1Nyfff40Caxu3eS9ROFZkyQwhhnlXbGpqJTrNLpaFWpAGTVOzcFwVo93Jggq/BUQUH58FoT + 5ChrCaJZWclxfBmQmA7WDYk3OBjcf1E0nNtZda+x1cQVO134S/kpT+1+6HLsqj28G1cdb2Sb7TaY + XKTdu2mlTtZEA3ARjQcYnsoaO9yeam5p5la3n7cP5TafulXpZd98jRu6D7fLw/CTj6who8aqarIm + eastRJmLoQgNtRtygho7y531ZEkaZTy8ymgsW6CUvHAKkstqnyG2XDBUSS5wKt3AL0wVIG6+/B9f + ffft8ttVpJ8vUs5sd8Ivhs7dQmW64AaM9DhTDihAlMpARFJhiic7pXNHmVPSPxnDttubc2xhdNnF + prCyLQcr1XbxPnwsvQynK37Fbpb8/x0MYfxVhrDXfAfPS3Yyi8q31Mk7LSmUQnDodunAS0BCQ7TS + 1Mia3TIRjCQ5FSkZhaA0KhVKSuVsU2VOFQMhWRwPhVKlnBI2NdJ2Kmyewky++c8fxt422UN1+6vf + Hl4cc/bD26R6Zz2/PjvrCwE/lyzT3qeUi406UjysDlMm7ueScj/8/vvFD19/cygSR3WKLSMd+y/4 + kj+Uco+Xj3dpUzLueRVuKBb9fUkfcIPPH0K2T6oEF7aUjU5F0Kge3RB6WbZDYbdDzOZ/fv92IRiT + w3/d24V9O9w8/bL4YWwUbSt64NylZCyXjMqPugIVLYWsFrSLSdzvGU5ueljvHx7ul/dhsyWa0OT2 + 2m5mUTviNKBoFKVyAnuK4AR56LiGYGMusSB4UsyUs+riHKX+DTJXvgpQtEFnXkYNfOiiiN6Awthi + WE2OisGAFl4oc2/Xf1/d3ITlUGhp7K7zdoBn3/7pp3/rha02g+e87pSxl7J3XoSK505FgKPyWMpK + 1aDkFK5sve7May3HoZiy+RYfoBarjlwnr6GJbMiSWICggtRiZAx/UZqxyZs4sLvGw8q622q2qBmQ + H2lLXqwJ2VPcrqU0S5uEwS/nxhso8nl2nbjK8kqVh3SsXoWQmUwcPBwrbqezNtv0QMfwQZ3n55NK + UehsNE6ujLiXKFhljFIORNVT26/5CqkUAGy33JXzFE6WQmA5KYp4SsIFoTg0RbzUzQfx+7fHVfpA + Ze1fJl9PmA6fR81Wfyo8A6MVrESw1osoRSjVRtyJ07kN25krEn2Xh/Tqkb9vKvNtP+Bt8/pUtej9 + X85L8LNG0tGshbKhPHgq7smBOivQBOkna1k9lz35GN6vRgk83L7KdNysLpQDy+DKlFrGMnepqBIp + VTXgBCU+JYm/yutYFr9fXa+wARff5BW9v1387n9fqCtNaQrcWcH72Qlfff/jvwi23MctPKe8nP7Y + 59i+w2dLJk8bV3SbPpw59wzcSCsjpS8SOxNQQOMsQ2a20WpTrqZdTsvePD68+PQh7i3ev118Wm+u + l5/I2L35uMTo47c+lm04Sn0ZtJW91FklQHSdo8r/AdxXFAg+PENJFJhRIZ3Xm8uHUMFeduXFoYKc + QadICM8E0EiVE0DOoZmoHBVe8qn0gwsinr7aZxn9uE9S6kQ+8cuD26qWOkdGTh4ZfUnQfy5QnXZH + rhc7ZQd5ZX3v+PfVvejcAZsgv7txrXiKfxdLsJXZewuMPBkqJ+srwBiwvWNayYq7hYadrMYwoR8G + SnbzsnyjMD25exgxK0gDnoBOzgLLC8A17GEbXDZAv94XNmU2bU2QuIQaX4wLdIp+mkQzYM5cAihp + OMs6i5ggS3NwgjKLoq2BS630vOgZZjikWLU2Uu77coOuPWXxaB0xxmSK2FMyQNprb1XMQVC2eQlS + hpYNTTpiYti+H3theA/EDZfOxiEpwG1eqRYhMBz4gQaYYcV76YBcJnP1W5vergDSzqjHpOKM42zm + 11dLak6GTcrGCv1IDYp0dAawl4lgZNE0tXMj47b3lB5JcH7475A0sP5wt/+N4MN+2go8CM8mvM7l + oVq+W4WIIWeVdXEF8Cl6r6sPrGY3CoScDJfbW2ybwrXa9qK39hc/zWzxx/VwSXgYrtuXH3/6++I2 + fF7crR8WUPWr290Eys1ngjarm8GAUjfr22HofsiCfPPbFTUkGuTb6gEfstps1pu+mrQlVhMlhFoC + E5YZ6hKIS4qsQ7D1wpiYfP/h+oVTpVvmfLh6XpbZ4DU2lfciS2u5FSmFFGSOZG95Vd+Id1Qz/n2n + M8SE4miOaNcPIKI1NpIrzWIc0J335F6OnAxN+tIQx53Z7v0Ld2TXNnQYMKvSDC8VwlaApmEtmYvQ + aZAuOAEpgzeeGdMj3FNRPmov8SuVjqsmU1lbiJZMVWESCxaqQeUM4WK9PgOY7v1UH9ebuBp50cAz + Jypg7q/vhGk1D1syw7NhZEXQ4KQlcmkot80p7VSbQz5lWKTYf8s7+BC7yQeqtskoHgAvghFDpc3q + K9bkXJHP3x0sv3v5CYKLZx15jxQ9D5jzDigvqTo0L1xrA77PeMExKhFcTVCE2JenqH2/M2P1wq1e + GabfCBVichQCKMAWDJWVITuWkdqC1Yky6fdu1RZ/98t9+Hn7uOtUcXfwlyUlEy8Fe6O7xkfjZhKv + U05aFGgq6vwRE3BcgUQsQnjQBW+mtltbl3r96fN1uRuXGOgm9B+unrUfWytxOrOxDjhAJVFF5SIU + qFSW5aQFaOBb7iTf4j3zyHDp3M6sOJI5cas19axhAO2QdY56rzEVS+slmqphcvCStUZ5/TrPVYuU + iF5H7rFGBhpNMqsjhC8zMUWhzK+c4XIqb/WpqYPpl8icuwuuIvMs6sR4juA+FbIE6qIKrhRww1mV + 0P5YHn5Zbz58F+7wTZtxi6uLbZ0h4MzZwqk7BnaeNQnzKVpzp3DW+TnRZ7sTfTy7nQc84eFBaMYe + WH4xbiZpw0NsWj20oKucYUtEVqvlVWu8ZV5XsOhUKYV3+/ITHZZsJ9pgdXlSe+i5kiI6yheUUtSa + qZxK1EbVXIOLX7CZD4nXf1nd9pKuWd+VPxfvpKqmim28sqo0xaja4oULGvfhQvHNss+Egqbrzbpt + 5+OHhp8T2XG76+d2sQla8KSrrsYL8iZULiWW2YFbUaz9eRZ7NbQH6VUlKiEkPC+Wqfp+tMWAeuMh + ppJE5pNOgQvk0EPYdLPs+lKIRj3ZafDLcpdmdIYF2anEk/XGV1kqUKOjJiWVEnZqFJOFnEd9K5QQ + 4/WTo4gfloxzdF6jSKZ6LqCgPdFgDkLSljt6kUr3067n7xPS/3pXGeh3C33F7RXrBtItfvPTH388 + tNsa24Q7H3mwCe8/+KQxuFk5ibvIqQytL7LVIPNRuCQAOYwJZlKwt7bgu8f7pmkdNU7hrhvmubt4 + vhGDAe6RWTFQKlpqR6XmKVBMQraDD5x3aMkHm8f+jX5jnpP8pAkscFlkyOoCVSNCiiwajuMKHSEs + RSZe6DB6SPf58fZ+Z0S/T+H+BZXWPRHzcujsUSnJa5Up4q5CeUctpKI+HIECfEI4N6eRwqTS5vP9 + AfsCBoIDqRAn4rX3A2ZMS8wRyQd60zkKYyzLLDAdoDmt5vzsaolH8eRUP9fIysxED9R+PPmojliy + MZUqLCbjQnKcOrBEwGGsJk/RnGkqPHa7gYB0q+StzigMXy3uztlQANRkprowxfjCqNMKFjGdQ+yH + 8KJ95409GSQr+XkRRiN7+j+mSPMVuxKPzxFGPYlmspe+iiCtAjnXhfns6MGTZHOThqPp/GL9Mjqs + GxxOV8+dRAX8oYykyqDWFc+xhRz5zoELA5PuvLpBu2ZLPTe9xkYtjrOIZXChumCBAKi9k5ZDF4az + nGIHOjTC669qtdQ+nVp4IT1NnWFInKuEfwNTPhrGJysZjZpCyF31lg+bqH+l/jAOUMEWqSvkzeA2 + CRkkDajWWw2ke65lbKgNhJn97SGGbVkOp2P9uEllud2kX6vJYsrKC+2FSb5mI4okG6S1AfTXBT61 + iK3STmlkIXNdCxldOTcnD67to+TFZM40mDhVilZROWqvF+XU8k2lTOdC4QRUI+4DtbE7Nod2E6fH + 42ZzmBQecgappe4r0bmShQ4cAAj4W4b4q7RdbJyy3//UIeivrOrcmD6KMcQaCqV7U2kRGYvDUY2u + RrAI08D7KZ/+cJzaMgBgjL0VpktnS6HGYqQQgGwqALhBjVM6bjYJDN2Cep172vfdAgjjbNafPv9K + 5mbQcKUrhFkF8BERCwUWIaECk2EQUFNP/SiISfcijARtLM8itfWMJpHp2Fqlg/VAj/nSEufXm8f4 + omA17+ew0NWnj0BbikWCekpHNYmTCwwyRWeIFegonkEEmkD9XqEQ0zounhky9lBvE016LdpM5FSi + shmkFSQvJeFYzIBgwDxZKVXP0mP1cVtGqRayWy/59LbmDRGIXIsco48xZxUZwy9ZUfAV/evdFOH8 + bhfDuPjX1abUNRW/dfqKjajd8SUHBEQXzof3qBghzzTLktqJKMUiFyxZRtF/RU4qsueaoru+QKNI + UtnvqzcjBoRIAlAsQPHnZIOvMRQAfKrDKy0TUzM6ClfbPIz66kjXDdA/XD0KS8Mbk1mtbfRr9bIq + CFMbwe4ZlWnFsuI422oL562XY8phfBzYCfDE3avqabRFnqqrhdonugq9VGViOVGVyVoM05o1c5ry + B+wOQiPk+wdhuHS+yItUVIPTOm8FZThogG9FXTOqVVmdn9iwcyli3BZS/no7W5Tv6cJ/NO9Q8kod + SvO9LrPh3C9QV3rXfeZFdY9Rg8BENTSV8VaWqqA/s04GS54N0PRknYAzjccUG7Xt1TnAF00lGGEg + mzN/J8aLhQSQQZVsgtbaULlBRRWzsspTWROt/9Rb721nN5YKwScy90MjGW28s9zGzDQQcwRPv0zj + Uk3DJXg4nuuLmkPdzk+jQbNssGItwOQ8HialBKnCNAuK+0RxvfELHu4pCPqHsollsz5d+dPQSXwV + v2vbbAJPiahIaEoKlxMkRo2LIfFA7vMLcp2Hmgv+0tJs0Do8UNitySwXE5On7qRFUV1Lh8W9ML/0 + wIqPezD7niw9Sr7r+wJkBL0rtFvJoFSHTmBZuYizo5U9qz/L9m9D+4y28oN4nfbmo45+UkC+UNku + 7oqswuearXOcyrirSZPh04zi6u5lx2Zme9a4w+Vvn16dakjZ/K2r01vrLSsi16o12ZWTslQzNoKi + pCCE5/kM97A5UTfbduO/unWzXZuKD0gbEjXwBWPDtDIlPxfqqcep4XuLJKcSSJ6iPZrqL+p1EfAt + +nGx5ip0yiJWWUTwENEixJw05DYr56If6i18hH1e5+gVbZduqnytC/Yh5w7nwZkSIo9emKpKqueW + uByye3fhclDUY8+AfZVnoC1KTL2tA8fRBcCuamd0FBQVZqhS0jm9exs/ymDNv76/XhaK5dtbsJ2q + IBlM8F50yX7wKJP56TNmw7itCiKF6HJlUVgrrAnOgNZoXzSr5zZrBdPf1Xrat6/6AqLuxOjR5+qE + ra7UwmUKkrvqI+hfAZA42+Z+v775sDouk9Ltn7S7eFbhAWcEnNoA+EvFxlywKWIvQMs4XxSbSpZu + H33TzycGpbCTYjdEt9vPp10y5RNjFlxU++Bdkji1ghurJHaQm8RB5zXuq0aHXY8+V7mhPCuo+sCE + zFILiPYzA9UOrsNdlBoRBxO5LWf5DrtR5gYTkTXivFD/TKCQ7B0vKoNtWskuLDE6VAc+skB2ff/D + xbOqHgCYW5BJG0QtwCZYT5Zd4ZYcA/G8JnuSWeCqHhwW5J4uMkVlnUjSepwkz0DWmMTahKmIjefK + 1LchNYrbvoN8uNROCdnIgcKYr5kxL6jKP6hrTnhaRpRwDlkcrOzGHyyCQ82wL7Grt+3rdcYNVmW9 + SYYZHkEmgoQw95BAxbN5hDDkoj18oNSmp7ZSzeslZheW1DJo6Av0/H75ZTv2Br6u/VTr8zExBJxz + nTkIhC5C42SmIrVmuQZxbozjIzjth+3hYGKzOBt50LEzq8Plp06mbjCYZWIo/5FcKjmZaCEudXJG + FsuUn2xxPnE07x5e+sy7Rke6eLZ6HLW7B4fxyrFaYsXyFWEVtRlNEr9cWJXmPm1eVH/lSnVRB10+ + F4hJPbdMdSnzIqjwSBZFJ0Yh6SYqZdvKry9Kfjab9pfVpmzfh82H8TbsCrjn62cL03DoRmuNMEYl + bZnLngOJi0oAyWo9YbVqpZxT0NU9ZceACqM1vhomqtXWKB4YTzlT5LSYsuSP8mTub4f9bpdeUAph + cqX3aOjSk4EMzR4yhgVTfOZGRMFkIJN10ByIH7qTt16lqQCW7XabRwFnvFsParh0NpQzGMMdc3Wo + C5vJbyiZLlgxCpe15wAD6tRDjudRpx5MqwHrihfoFyCEwG31Bq/BIBXFcwgBttNyxp47wb3MtxlY + zesoRFsk33omrazcG6+YV1UGR42sC+ARA4cQZzKIp/rC4+ZPF8fWUl8c7/EIGPGHZDUWKIqUZSmJ + TzofW4H93Hpxl+dlobikUd3EuKfrT4rsNsWFF5zZbA2V+IUGCEK7QrGGIlNF9FElSjtVQIOYVxrV + OJB90TcXHcawv8j1bXTOzHKKkzfYwcCOeC+Hc9sMcaj5kVRpzm+N3DiOM1dZjSVI7GKl6Agb8FCT + LqxCh0VY5buX3jveMyPsB8x6M20OLMucimMQNBzQKgJaFUbeCtPGuE5VpPlbuX1cfvh4e/SYLg33 + MJIyeiBgEuQAJCBwLlCfigY/5Kgt2OTebkoH//bQYOj5FbVNO1TXD0wJquwSuz6Wp496alX0sv/l + 8IGng4qbFU8xh6EDVXbZCugKKjKrteHK6cDbKoVTHtO7xqVF3hinexuhD1waTSg4sHTFkgeINhsg + RxTWeqhmQJlF87tgpwjTyHQDzM9F1859uHqGlfGiKarCm+AARq1imSURAvhI0Gxk2OyWSnPPGX1D + dA1Fxp20YUurJvP6DkNPTbnpFaipyVqtUqTEqSdjZDw4W5liLnAeGyI5ZZvbpbk0qMp1C/5301zM + qKMm2CJOOv4NKUORWxxypQvZiJWX9pxn/NvhtP81bO+bakbDY+4WN95fPGsujpIZBpUhquHS81Ad + nnYwSuRh7ab02XNRqO/CzaFJ2QO+nmjUN3fXq7uy+N2uDJiyjF1pqj71Dn8ZvHDh8WFNNTXSngVu + yZf++Hwn2wT6WHafUvcOPCo89ZFSsfD/1e3+S8MuQWsosnG1+KFU3DY+6g93619uSr4ulE5aFl9t + 8FX4WjE0IeTDR66auh743/v1LzQQZG9VP+8yf7/77vtvnn2B+xzgI+NSW4pPSRs9BzENhhpoOC2j + hijlnmJ306vC9qm/5t3jp4N75ZTrR7lXVoIYWWi1oILG4PdeyRg8VzF5skBRuxfMXZ+Jr54duyOA + 1SV0szlCmnKIDTQQj5QiVCM5U7ggmlD5JCN+LtVJwXLPwSMTwXKz7nLOcmQgaExQ95ugTKHqwBSM + lEQsF4YEfdqCK5a7bfh4XMRYL20XMY9GnZ54Iw2NLVRtGURdUHkED3IZqc6tcK5anls8NCUOb2gT + Qv5ubofDNvZYXFrRuFRNJYMFtVUHnDeakQoMtNQBe+/SqN9Dkefl/Q05n7bLGPKxpaHr8Ts9etYR + nDx1anI8syE3lezxLBdBXV1sOCtCdmiaonZxqKv0OBdIQZf8Y0MotL3iS/MP65Fi5OHjX1SFbLPL + A/gUHfgglQx01AJ+BK5MUI5NitKjQvW7NgU7vGmipvjyrufocPlcQQ3hdc2qQERhv2ZlpaWKchCl + XquSpyY3sX/3hT/GVMN22zGOSn/0BZjgOadkqeOmS5wBsRYuA9chgBde2laFCknV9d3Di6KA3Qoq + TyPmLGQW06s5Ockg97XRilqfJSgU6hg47VGfmPDnsH0Qy8ftiYgQrXtOpXbQaYo7ikjHolJ/NAms + 7DF/BelWShZFcGCqKUvNk946ILwm7lFcnMscRXWOF8+pxJDNNSRmrAOg1yHXMhlK0dYFvr+7Hjf5 + YFN1i++u3+5/nig0R+9OtbqUbdE8aN0y9Isky0EAHuHCGqMiZQt63oB5OYVODrEVTQXQfmzF/uLZ + rAhRA7XPcEmpmlT2MQA5KS2LK0JO1u4eFvaA58uohyg374R7XZBri+Mp1tZkQ884FmeEpFwxHHlw + eF7Cpclu4TGv1rvkp2NXWi9a4XnI6Tm3D9loB3GsEgUgVc3Jjuud9tQbD2QkxAnG1pqFAHL4qP8V + 9y0Bo/rlBCRBayiBBx+eqH4E02Qha0Ol+ZSfqNzUfUxMa931vb30dPnpVWjAkCdmHQEanNDJQNb5 + XSsnzJjJ6i4MedpZBI4eWjcsq7UIdK0VDPMxIpBY5k6mVFPCOShKOjy5GKYmOvYG8idvIOdf4gxs + FpF2OSScioYrJlQs1lUZND1oJtmkX39KIz/Gz+KKv/BWdSXIYcCsQdRCo1GzJV6rBEovkKrCZwll + YYnwtAjihbvhkEv8x7LdPm4XX11jk4Jo2ytzJRc/vV9t8uL7sMF9/GXMGfflJv6pSVNmR6UrT370 + AbjtvmAuR1kJpnGirUmBKlUysrQZIGEVoqfs2wsj+MJdASBPH8pd3r7ILOoXIhkNm3U5QKBDPVBv + EAHwDg5PTWJVSZQ6XKFPz6TEp2qSvDIJr9naIVF5W5eVrFLlwgGBs805askFZYPPO6bMy2gayvTA + k7ogmqYNNQSMyJVDR+Mxk5uQPCIALJm7OOMefo4eHZKY2p4ar4tWaAwaQ6C1k9FCdVBVS16U4a5G + 7lIUoqgJC+9Im3hvRxlCbUy/hFDONoRQk9AsFWqfBaYtWKHAxAs39zP1ZD9z1vDP7Qu9q+dbHJ34 + kFlEE50YrJQQnhBKUuridKgc0MaAhb2qfNupWPXniiEDMDhly+K2X2liGNQCydtwvUodKduEL3Cf + ha7F48xQCSaOxbOOvC2Zc5lzc1tTIaS5DTwcYkhFD/sMl56cVWuY8ZLKWpVaOZCj9KJQ0KZziUkZ + vDsnBG3U5Gxgtt46SC5WbS8K7ajLWU/YcJxgA4GlMtgilot7LSXz0nOqaVYuZLbfruJf/vj1j7tA + miPK6HTvsY9GnT78o9ruyXIlYhHCpUQWGC1FonQ+WVI0jTCSU1GHj3d/X92Pgw67tTF2187YClTK + QeSgYuYmagdAVw1nyTljSihnF9+khKihmM2ueJl00nnJywQX2za1bHp7sbgQiwcIL06B1XDLXfGh + ekbFvUyZcpq24QUa43pJlQ5PpTCfSqaaE8FlRiVSQ1QG+4mV2WJUB7Z0uxpa1efyc3q4GVl3sT2p + E8E97nzTC0Ucj36SJaO3m6D12QReDoTONAO2TFlqbaRRDremU4UGEmfkdB9u67iHMxUp7ReyPlw9 + nx8qFGYSTIEOLNDJJmLfQQlWblNUfKrQ82RizXE3XQrd6hko2sDXfruz5CCcRTBQrZqpGDFT6Gpj + nIZOsq29f6oM3G5mbQ24iRrDM+mrmA+AalDQgsxonFmBh5udxYMt+XVOnOk+tX/dru+W6aQ6hBBe + vsoW0HKLTM10zJAFmW3iXIsak+eWOWC1UTDxixizQ/OW78LNKq3WUGc/ruvDYPr/odyu8RWLn9br + m8U35IjbOc7q4vvN6iNU9PW4INLnEbMYue92NuEDr9iQy67cpZ2ZeLjV/HG1XW8+d01bTCRbHcta + Jw4Rr6NzNWvjAqkufVY7N7Kjtyk3rkvlT2+YZsGdE8EmKn5E0UqYVYU8LQDBFfIp5QttL9fDmKGm + 1ssSQ912oc2gOfiemFE5UTdOWWIEQzGElSHOKEAPXzPh4ie37Kedc9de2U6DhNHz341oekPRuJNc + 0jYPOkOu8gjh4IJVnsqA6mRAJGWy5HCZYhit8tz7UH+7f7F8XzCrzfb5jQfs6UNQSjQU/1h07LGj + 3Zi3xx/2pFRGnznrp3MyOJEdKISImfyeTGpZQrDCU/fRSzfPC+OPcN2CIfOmH3A6cHpN8FQmmZIs + 1gFa8yCEyWGyEPErCcI+4idg/24K1akf9sshpxW3MR0pRONeBAiF3mGwbeahUdEEwyF6oxaZW/oZ + odFDrLGqs9ro/TuISfmOyMmHcXeT18WHNxRGZBNrUCrkGgAdeQ3gZFxAaVbpq292x2RzNOpVzDoY + 0LGqnDapFHxexFfFJLivkXnuWW37JvT8xLtuHPFwuMdJWq9Kn29rXwsbiyxZJOk1nk0BcGQ1sVqZ + cuoVtULT+vY+PCwPla/YgTEpUAMFSNQT+ydGzkF9B6JRsHi+FmoGX1VNNQQtearWTDbCHec9rdLn + tN6UI3szoG7fv3Y8ak74x0wdvxn1HwoRuAaAUYDfYWeVJAHZL7Q6h+My6GbJpVWEz9+Xm5vt+/XQ + T64T6NWpLaLabeEz+AN1VMi5AORYbNRonSNZSfFf54Xx/TV8DEt+BTk0PN2/5lEgvXplpKsSjRzB + LcvsZHUC/NkICPYYg/AS1BQU1YkJPNtaobwTTvfslDp7EywrscrAA+ViKE4qklqIUDzjmXbK5yDk + 5t5911B5uPzt0yswptt1o/ma97spvg1JCRBh3GdjU3amFgnMrSBqKcLacDNZ8GxUcAinee9QOHTI + +gKnQiMZqQ5SLiZbypsGqDaVYIEAKCkxa3lWdvxTH+a2NsvruEmzYlaoHJ1xqriclQCtNpxbTCkF + CG13lsW1aaz9nCTGre9Jlqfr3z6/PJXf3f6x+/Tbln+A6o4yHqkHHwueMWWU9dwU0BZuzruXo/Tg + 1k/9uvTgFnSqkBSLjCUfrSDTSKSkZU45cFQY5/zQkyeLjV1GVhIwRcyXWGzkOHKcqgQJWavhhWXH + HJnsko2AY6w1H8oXsP1Pm0AxkP8B6beA/OZX9or9LDx1BBuE4c/C7V5zfkVW5N1rTX/oNkH7DxxD + CjxffP39n3FrX93f33ze3dn9/WZ9v1mFwaVO9apDgn7Kq7vrAyHE2Mew+bwbv5/c1zi3qwSeuauN + vV+qOUZoQQIt4Kk2UvII2AKp4qMLSnADcnZuE+TbLS3/aB+5ri54vn5kmx7emixc1Fg/TALIApcN + xcsCVcwoJUBWFp1ioio2wcFafMeplFUHQqrKeebYzbZwBoxHnR9zjaraiv3T4rspA8tR0WDSFFAV + Zya3735fbm+77RJbV260eIZUEsvzLGSEWlcWwg1vVyp2fJ6/i7bZrrfub4+Sstw77rpJWc/DntvF + nZOn5Vg2YEIqJfwUNkFoaFOdMsHpqtlU1OqUvQ1H4sOLRGbKP+nmLz0NmbVaMKqxy7OnOMVcKOxW + S2m0jCJwLUyDpKaSD8ZpQqRJFMgO4N4DHYyvbwDqeptkGDm3G3iCPgiQecKCoCjHDZaaOZW8s1KI + S2vy7TPVjihyF/ocN4fquAezpPp2vHJsg5hT5joqID+VLESQiee2shZGd3u5KqJySWrLY0zF8yK0 + AzOv5J4uPEyZvlrl9FT5bxcY4iAkJXjumaX/emwVjNlYSF1uuA5Dk0oAdYoOgfShHhrnRojs68Xu + +Lu4sr9SJdYcXKBqusZxqi1MVZeZFOT0l4PN5UxK2TZoywTCQ5S1h576DdpEo9QLplAqk5gflQWl + gh5QPMn5CNEnQzlz41DR9VGrIkDCBs6G6FXVGkIpW6V4wArwqKuVVMTA5zNZw3GZGP3KWP+2MGMg + hIVnQWUFis4hahEKNpCUDJrJTtz2uJ79w5gnS6YnVFP3JDdAW3hdgKytK9ZRcydK1nY1QXGwoqYL + k40bO53oPWSXhuGsaWuihaT8ww9fff2Hrg3ijB5EbcEGnD2majEgm1RDKxhXCnUbTtU5Ntk3ouEH + Q73SBgKJ15UmauAN00UAOXufiqHeFZraprhqi8oKR+7cFlzWON+rbKIipSpHn6hGvgAxpnyNpExh + Subiz0J+ZDJZDpkOLSdifSo8mxYAxCVTEDo56IQ0FC/Dp0XHgbxqndo+I2ZL7TeaelG/jhjkFBPB + qXkwtfWMVUsyd0tnQ65W+y/rCzMy5qb71boT7dHPXBoGnWRBrd+ayqMrIQLV3rOWwqwhyyK0DfWP + n3roF/Zp+vb3X33fa5Ii1cWtmjxEb1FF5ko9rIXBYRVeBQgfxmpVUwd2XMlpZwJJYbVZf1GJ9VYr + iQDMUnOKFhhclFC9NpGblEi1x7YswAs/4pEpS/XgjJAlQizghq02ORcFPTSUPwoK2uzShowZIPjx + hdesnxi9v342VNd5G21g2hszUBQjcjVKCx44p5CAc4+1Ng2+kVe/VlF844OgylbQ8sZyITRQcs42 + FkYPcNIP2URz4FiBC/QylnUKqtYqI8U/QPQKEZUhhFuKBaI4N9+J24m6+zMZUKcHXZwTVShAbpe1 + tF28Dx9LLy3qyl7xf851e72Uu+Qo8arkqPO/h/MrOXwRfyozK/s0jgWK7igUV22Fx0FVsmZlUxaU + eHJWmge19CW+O3T4HbWOeJ3mb+vIyAoabBkwZjFeZtALLqsV2dYaarkwxW+XnH1ckqcbE9kmaPdJ + G3RIhnyQKmodKF+3FA2YAkRRo8pTM22LJ7bNpAk82G4Qz9jR8f9bn+HmVHML7iFzJMNFVlVQXy7L + i4tMBGoWd54p4H4NmDpOUBe6C8QPV88hcZ6T3nnFoRFC8YKr6A1lzxdSEXJ+boNT7f1RUB/v+iXf + z9dtiDwIxUC3q4auUsrWQCLWVoDRWNRZRdvzkcEaDPBVrlLebGEyLtvALeR+9paBx/NUAYxCpGKp + 8qyc6f9cb64X43qvl6b3OsZZtNpyrVwFt1OMGh2pIrzl1CNqwoJ3funroX/WKWwJsTdV+ZrGsSs3 + V5GRV2kis1lEnTUhFK+iEmSIMkyHySjd6bzJ+7trbl5k5qiJvMndiNniLT5yp0D8dKLuPIGDbHiq + TBulJto/twfciVLO/B27vNmnttU6pdhAhSr1hGZW81I1o8TIybqOT5ty4ALj7MOeNb5LG9oMAShF + EsyKGpPnmooFVabC9xGy36kLS00+rK7L5uNx6i7lyPU0wNOI2cB8H0twSkaWqE0uc0EWroE9kokq + xVfF3Qxh2PuubifPjTTd6JqnfnDidBBEs8bYdxCBLAjjsq+Ma2bIomkSlZVjk90xJzwxu96dE03B + d9e/HXlgXrgoz3LPtDX8M3BzSpAFnGytqURdpE0xq8y5m3S3tuHRxjgxqr7WcCxoNTAIiOmEu/HU + 6rqGwEoUvGKXTtZcmtiSv1yXF/RHdVXecPXcWlBlvGw8uQtwVpzQBfTU4U0rKUn/wojiQ3W2Ew1y + KGjk2/X1X8PthFF6N3bOke8VyzzxIhPtzOJZrJz7BE4Ugy2pWeSpUhgnK53wiZCcudBnVTmVIWZJ + cakKtDW0N6i1FWA6nrewa9o6BuY52l5tOIqKTFNsf6JIqqxwhoQ1KhcNwcL8pY6pX+TtSxje7XtJ + V889Is1yzqwAgBcRDbaYoqQCKo6qEk33HLFxbGttssp415R3NOhJVozfn8sNELa5F2ocheOMo605 + 2IkqLAGyOgOUlg0e9zyjcEOq1K6fUFvbTbie+jtcPVPWyxnhpLZkZwcbczambJNLTiSoZSC1M/3N + zGvDOjoLH5gzxD3nWVZmnYiR8j8SjhrZQKdy5BrA/un2ZlsSH5EJ7N1eaZz91R2kzEYi3VIyWE3g + FY4laYCXsqYKPymxyVKxtyH9idQohTiUxY8Q1JsVxUCLK34luk2BR1HQo6FPwdC7DzgZDN3GyxgZ + NVC9CYDXQldfCnnYKKoM1D9NzfyoHOZf78vYlc/6NO35+jmsQgZ3zStkKzV2p7g8bWyRQXPvinBn + 9o0qH1d3aZftd8wnd1E9rzLJt5G00bgQQoIK0EYIglWFWL/W1hVWGjvJVBjEEKVz83GcatLFpIer + X0QkD+/O5tsHFlWNoE5M12yoQSzpCQkgYkxmU+a8M2nUN0MFipMGetlPx8RdGTUUr+AjaLV/ay49 + JQgyN6RoWTbAOMZLExzED8CiyklN3Vbrhf2Ur5f7ANld2L7V0nGJ3deTEU8D5pxoPlHPFHIhSa6F + y1QjT4ZQi+BaT7rY2w4qoyasr3WStoVNgbCgs6NnIQkIrUr9krKGksnc6XAhQtwXHzkKgDC9xdtd + Phsw6YLC4zQmSIEtBK4XIF6LYIbo1qQSH9nHxa4vxXPV6l/HPq4wl2CriBQ/50UCxFCJaykFYy5P + FnN7Lq//DAJb283F5e5M1YLahFnmIq2YddTIPUG9Wk+20rMoxq7Jluh9hQheZh9rTaoAv2dqLmyi + q8CBkClfnND2bvH15w1lin3147enmaXue/tIRIbtjVh2im611RUhIYwDjeGGLIGB0r2ykQkwo8Ys + 28c3VTs9v0/3oyIurLvrh0tnkSs5I2vgTmQbCmAOjaaAZseY1fnCCKX/62GhX1TX6taCGq6em2gw + maI/tMbZjM5kC0hKkYAeG8/pPEUFmuXbhc7z03Hzr3OYtxZMRY2Cok1aVM9NAmhgzAfSe5575Seo + 0KhN+0vIzLqLNgWZW9wFoFWTVYK0FtQudZjgUZXMwa1i2zFxsg2e9pKP+n60WQ1CBo/NE5hM3Ash + GQvZYYR0UScR2pY5U1buIaexgXX9nMZRFcFx6aRWYCoqq1NwkzZzEYO01D0VrCEnW0Jbp9FMNSo+ + St1uQ4e6xS7HY+aqFggZZQGzogDGnJ2jDuqMZ0xfqzTZmuXZHj+Ihdbc1BULc3qmgsBXKJRKTYO5 + wPPzVNROUzuBkieLKIyiuSjCsVfWz3qKLa3YkzVhG+pgFQ+Q8UC33OUpS2brsbkfeUXIUte75fuO + IOSqwdhM+lAknV1bvYs5GiG9FsJS4xh2ae2fUVbdkUu/a51uB80yF+stBVxToD+VvMgUS1+5YRyn + 0JYphDVKstPej5sstKZEwcCIsCdZ9lXyHKquQHA+CpOFbktGTtt6HGbViyVhQNGCmlVYZsgrT32y + hc0RD0HmyejLYyhhejtbcxxZin/g0uI/xlVAduOFo+q4X1AeZFP+VOsqvei34rrVgNpBcw+4Gg75 + gM2ooFWCHMr28cyNNmAyJp0TlzpELRjZxG0syc+6ebgJcS5g4cX1/9j6rfJKXrF/YAdceaWvqHPc + yRKubZXU6j1XFrIJooxlIRLFBjtRNatWTHZsH7ca3vWT31GQuTbDY57yD1lfcSWe11f++utLn292 + n/9ieUfVjQQoYciZekyHGKD9oqkA9Yawcev0fSFRRvlTaeTve2XqY4uTeKpCqyr8EO5ZdVQWxLl4 + zyq0whQOPip0c/D9DLy+QAgDT+OYzqbhzAA5j9kxa7MHhCMDB4ABicUsrAyS+6lImYkme+0XUB8n + J+kR4M5tpAxyqj4VY5FW6ykY0q6AeLcNtzHsGkveUF/3Xc0fnSDbQ1K9uiCHca1NhobPFopN4JzR + ZkbaD+oO6FuTfYbnYlnxFxIYInYPuKfrlz20mJnwMx4GnbbntftfB0GF9V321KGaBwv8o6WxFs83 + t8VDe5ShyQS2pzOBed+2d2LgbL08m3BGDKNazEmRmclLQT566NxgLy17fqjsd1RGvm+ROLNVZsI2 + KNmrCCbCTQgAsFSnnfGYDQ70hYUp/nOxKzGz+HEokrhINyuqMYkHvwmbIab22K3UrVI4+1FzpDNl + PVgRKC1OSKrKJrOn7Auwr6ImW7Q37l2ntVOq98hFEpS2ZooA+oNMTJCyoRrqGunUZP+uiUVcpfXe + 9DmGw7zbquRpxGxdAOsAG4sE7q2QiqLmrJLk1WZoGl2nrPgtiDTyKCGx+YrAXA6GAwfj86RLEgQB + IrhKU6mV5jm4YMgSYuKQ9k0OiuXD4yZ+UexzazLD8Slga5lBVcgsFPSZlN4wmY2Nl5bPop1Z1idx + Ludd31Y7as7Ek2IMZMwhpyM4uo7Udxc8gPxEblQ8fbKgsjPWuI6SM1QaK2mvtRUuUtPCqqRmPoVo + KE/6zLTBcWdfJnkv0PS6J6saR7otjrK0hXfQLYDp2mdsXK+hC6wpaUrxvr4s5/V6/aK4Du8amaY+ + ZLYECpa4Oqp8HwqjlkZKcF208mbIMLw0OH69rdt9waMXMRe9iKVm0KyV3cdYTQQdlklWAQzBQ+TU + 7Y3JBM54jjHmj+Xhl/Xmw3fhDt80LoiPp/sqgNoakFPVJjumrEvVgytrZyV4P6+AqkxcyF5xPsMm + vV99PNEstCuPm0HzOVRc2wJwA0GZBAM+i8xx6wuzIspJ8/3UrAEMf7s4AE06+etEPW4f0gurcz82 + sf8Zc6rXO8hSUypuKHKq5FZKgoQKHvACqucs8nLcmqZlMfJVsasNqvRYXG1k8VB8UlUAeJGA1WSm + muxKXoh6dlWOX8Dg3k4eLp87Z0nwTCElumZoD2hty4zJOgPHmDIdzHhBDtSPFEp/Ov/JMt117wwR + +M+p9PhtOTTjnHN6ajC+EqvDaU8qOGWgizlLCbonY5t88c3tK0ae8lZBf7wunasNt4Li8dCHLEH9 + MJWNMQ682BkJQOFyPiuMaUzKhzYD3QLnp9exkR6FcrIpvKVa4CvlnM0W+p1LJkWQbcXqqdC3fU5o + E4ghugp7tvBAAgmnWqQxAfNVAQAO7EDC2ECyRXZGp13zbIS7D5twu/qwHqX/Ktad3NGok3mGrWNG + CGr77vAMXagx56SSsAw0wQhouIsjhqni63Ed1X60cK/iq2qUW/JcOe7A2AsLXgQN2qalyOQLAYRt + MNCUc/TQZHOc3/0qR0gbbSUjxwl2FC0Luq4c0LSnKMfqNPV0qvOP2g01meP6cZx0LtTr9p9qQ8Co + RayjGgXRCp8qNmKGKlIA+bGA/n1ResIgLA8NAE7LS2F8X17uR85UmsOj1UC2Fefa4PFwUFDQM4Ca + UIvKkzlLZ8v+d4t/3ZTyE9UHOyUmtZcXZ70WYwJN00kpA449pAADh8iBUxngeGHLk+vHE41qhO6W + vXzsNqlpU30ycFYwVAp9aJApUuW5CK6UCDWc3RN3X1Z814UsyswzNSh5fV3xcZ3iCGoXc7A2JBaE + Y57CWRgQVbGXBmS/bIN3iu8o3xNWnfGzVCfpEEEQgMST1ApSlxvNgXi9djqxPMEqW7ODBEjrFSKv + 0MQxcVVTzNDHwtRQ8UaKySlqW3F5ADuZH14S+i4EfRoyFymnDZRiNCoVaSXLkBuZFU7/VUXjDE3M + +C/fDZj4p4Gx/W7Bhy6si9+Xu1W4Wa7rkqrqk0HhqEXMX77bC9gloxbXi98MMa/jHjH46Oazn4JY + d99wOoiVNU9aFi4dByHEQwD4x/oXk7zJAYgAT/uM8GBzKtKDok9kT09NRXq0dRWz1rk4HHnFBEBn + pNYrAcpegbiCKZ7bcv6YvY7awLwqW6BFxOCqfpAbyVljVRBUtyUqqvDuy2Rpj7H3gncomcaOZT4o + G6WQVQpgtGxiFhrIwkjOJijZyAsuWTfbn9roBEmJYFxBenmwK2B6UZwz+C5zbuuLiE/7+76USi1e + B6r/HbFb/wV/+Jf15q7XBWA3cC6YxAEc4L5DBmCBvMiYarbUjTIqaKsLgxiegNVYTHhPJWDePzzc + rz99nsSsshev0zzBYI3TeIDUbkELMWSKueCztd6WUWTtVKez+8063W+X1PevbXXWrR/9fP1sSiAV + oUleWCFTKRb01ZEzLkGVamPYFGx5YkeHWihtcC0GX+i0NCybEJOPQkdWNY48wDPV1AQQsSaK86yZ + Q1uGzf24DhqIzVQXB7p8zhhffcWD1FYWwOdifZReimINEIml+IWJbI0TTdj//fsf1o8Pp9Gc1LaL + 5lZ4wI9UL3TGvxqiy5qi1gLANJCpThTS5pJIJXjb1pXpreU+wn7webYB9t2VnPVJ5yhTDklZ6trk + qsrRZwNh7hKwW53CSOdC/WO7yFPQq+nj41dZRUYdxrEDWGUeuDnZ5AGbU2WafCeK/BVt2ebJiLzj + dhkAjT33A106pFUOY1rfMr0xlUjZUq4gqNygYDjutsjEA8fERSk+4Gnwc3OC1pvr5SfOl9t9J6G2 + bPHrSKppfXTRGGVUNlo5pjhVUQMlyVX5qjNP59b6OiRPDxjfSEMJ+SHMt6bZjzsJ99uymIkao1MH + OO9EgAb1JUMmg/Ubaj92VmmvUVbCEOPYzdmbteKQCSRrXoLStVgncZwARnRlYIYQ7lOOwin6sbN9 + HQWB6W7Ts34NyfbU5JgoLZ6i3U1IJXtI/MwCmUYgB9wUiZsUA+8WD+k+P97e95i+7mfRHEaefO6t + Us81UOtbG6JJTmdLVX6s46ICNishz1TqTwUfW5Xetewf1Xvsr2ykqlBxaHUMluI4j9UqnB1mcoqB + N4hOTJmd7srDcnt3O4pG1bJfO2Qubb6ayqsX1MDRYh4AQMUpjwmqIgK/3NGzul3jERcIPSJPQ4DO + 4zbePn7Kx3vW+AntP/ExsxAq4txXSQJAVSMgRQFXRSEzhdBm0j8/cp7vCzDdr25u1r/8Svk1OUtI + KOzOwnw1cahHSQVIoKGYderMeAotDbZ7D69JaRPkDdWaSgzkAQRCJkf10xw1hz7TTgCKYnoFBaFc + S5HaUOsGB2rCYoiUoCaBZnicvIsZYfH9AORPW9Ncv2jJbJ5gskaniJVhOlCzW+rgEIAQErA2+PXF + u31fLOKlZWNia+/HzNYgBKxloFaqAN446pYExJ0i2CPX1O79sjnvyoUcF/Xt8Za2Yki/QB8oMYQv + o3ZTTrkcSxoMAtpqKkh9VjLgcQ+AIZG1a+7fX/328OJEI/Xd2+vUay/USEKVqJaeKzVrq4rhjher + rM0yax35VGzfUaO6Pelu0rHBNV/LufttkAAl+JAoyITExJgR1HYhSuMVdPQo4mbKUbUrENZmzPd7 + AzfFwbpHKwfFySuA2USRVHZOGyrWUatM0drzxA2HuGKjeBrD2h2WFXa+xUYDW5JknWTUdNNyALvU + hqXSqK4K3RUKGidLs6k6SHfXb/c/T+wwehfzf1j10FWDn7mnPHrPIh6hLFpV6ppXc6ZWvBF/mGCp + 4/k3YVyj/Lwu/BuP6bCntuAG5H4J3EWQp0gPBTjQM3BpNdj60pn2vX3ubLvS3SkO177d/The592b + U8vchqRFboSOJULFmvL/9falzZEc17V/BRH+QsUbDHNfGPYHekQ7ZC6aZ1K2vjhe5Aq2ZrAQjRkN + FWH/9ndudTeQ1d2ZVQBHFhUE2Kjqrq7KvPfc7RxpXYySFO8QCDjNht30T/h/Iqlrham65CXToY9X + Sv9FBmd5AhjO2CWEopE7qzx8kXa+yuxJUSoPyR8WfNHmQZyY9u7VH05YLDswoaj7NmlnjUJoGpNy + U3tQLE4Pe9bHl/tuG8MpJOwFW4cTlvJB2gq4SiwDU7Qg1vGiWKEmXZ8Bi8RacwTfZXpVkmQqi14W + WHcWSf6ERuod1WsTjFN4YcNquLsL99e39yd1pO6+eTxjKbWgYIsTqQZR/7rJUdpccXPg4Cr2tx9h + /WZL//rh+vJEbksI13PST8cv5e0tg6vQloWgDCJ4ZZyhe1kBMlP2tllio26HI/kNuri+qNz+4PMW + pe2Hi1qR1D3gs3WBBZ2zIvYOxhnNMbeeZ+ByR9Odvdu3PN3ZtmTBhleEu1iP1ZMyKyumGEfspgBj + blXm4zrcbwKlFduh/a6O93mz0Sy6QlPKZeqj8SoVrzS3WQBhBYoTWiYBceKzZ6U5zl6L158oTmCv + 5etJUpN+4aynt/PlvohHuqvjIh73l4ztwW9bvDtTu9t/5NniXZvzkcxHV7LxOVCjU5KqICZyVICx + VpjfwEhy6Mr6+o5m5DrpFKX6jRNhOvHVkw7k9D5npCCn1ztwtJ0uIdJ/wRSj4UZjAq9cZqrDwlMo + KVew7UwcTrifd+HdDJHKblPoEgTAbY5JZ1lDxFv5KLhy0sPcmVpJFPKFKbeHd6fsa/2Os+nwTnaw + bfFwyiDgUIrrmmvULKgQy07mIZVhqa8xy38t8d3mAR+p5lVU+awe4LYdDvFQRpzBpE/Ra52VMaRJ + QPDEGT9SnGg9KJCNn/FftT1jmSx8iMEjHhc8GqAgKYAxAx6RQLj78kaDqe513N/SuxWHExb7tfGE + OOmAwLt7oKBQHSck5OEVKJe7xryeaFY28uzPJMjTto0sooer9LAyicSUZMFFccFrBi5hM07TUe4z + bm6OfPtEb9vlZz4cvtjGlIj/AXdMRFIHdxp7MZiSgyiZmI/X2Yir8vBQPj20FydNNzO7iGhxk6LS + NVWpshEl4maRXC/x2BKrxMpixnwK0156J0jnJqlemL96CrNoBLbOG5scj1G5qJ2UvHBBLLuaj9Jr + c2kM2Upj8NdsZRJzSp/Q8RSNvZo8xONLr5dZzmgEKCc41sIS7LFObJIqI5ZbXtKwDaPtB8s32+uw + /WVfLarEmMotVnhv/GJ/+FKRSFmB+CVo631VWShO0uiGISZzlhgo1oHNOUOO+4or3XNZfYacFmgK + p/DpGQi4En2PxNqkATAsz+ocTPJK5p7wMfy8mdN4d/npd8cu7hZZgiR2LQeXahHFF8tsoP4UBhsz + LKo9UwrliTfqbLF4gGyezlxoCtVKkZhTZNSALhEDUXebEqlILFUs0c/TFPrh/j32izyfxbasn8Xe + AbPD6SfI7PCHpcmRQEQ6VFPwQcuYfcQLIRMxsmCwv6PxoheMPQzxqBWDr7swZ0KaKkkGBO+B86QL + NwGPyheuCofTG+GjlvniHy/MaxJI+xI/d/ED/eRdNsqLL3Yzs9t5WNC+5SEqmN741f79zocGLfMb + S9ohKsqlCuG1LUbinwJoSlMqi509hyxzU3U4QAjzlQCSXKo4vHr6tcP8/PjHbsNCy0dVYxV4ItQw + mnTwwHOsUuieVbFRrWIUmmXbqCPId+l16NBX+yzb6cWPs2/tTLyHLcuhchKtV1hNBvGaLhKxc+Gp + DDk4R+MKuNTvJnWsb/c9DkejC915/pMzlwdvM6sScVIOTllLZS1FLWMawEr6YXnzaX7mAKjaRGe3 + ZrWYc9NT/qYmygnKLBErFCD6wLUBJtKrrujPr0lc4c+czyYZWbc1fcl4VG1DtMx5oq+tCLOC40En + i6VaLezJShCyb7bYsUvwUqUOqnbb5dtWi24twMlo4OQ1U0YwmWSyQVbKrrpARMNqEF81jv7t7lO+ + 3TxgA5BqMOz2drvPduCV/NeweQiXmwSHgou8nl68u9u1nl/i2mkekVLrdxtxGR7eHQYbmxEhrp7V + XNB8RVMJp1o8f8WSCgFw2+lEhE7ZZ6ySdQ3Mw16m7jTx+WtrLk4KXEEmGTRXMsVOKlpPglOcBS7b + keFux+BCw9u//vCnizeTwyDl5k6ihg8JH5NZgjKVRt6ky/hBw5cqMsmxxK0txOE0rLq2C7wJSHdd + WQYQj2URQ68k/HjCwgUGq03QKkcbKYMaSL48mMQC8zqUIa/DC1DIY1LrPFmvMe7FzQMxaVYS7jBH + TC0tQhoEDin5yuHmeFnbkt347Z3cecrUWpW7OsUnrQLdHljJE/XnMiFo/K5g4yF6kDSe6+gK1za8 + SKIY/epiG27KZcRHlpu8vbgvV/dlO8Gd53e+zFj2ieYPCxRBDs+I5nDFqpRcYBmSZKuKc03bddOh + p7o13MW8Tq0MoVYFyHSeu+CpVbSQkhIPOQ2B8tKI9dQ8Zp7lvdoeHpEV9X0GgcspyjoGvGKJRqX4 + ouULaQ2upvrIfHTduS6rRLdA4lnrzTSbqJGMEjkbQCka6eVAJlGpkNop9VFpPn24m2lGSGeelQJu + hS+xwLzO3AeEqlk7Xqt1JcG/IoTQenTvmgt6uL1O8wq2Zl2anSXIlmhMxKugSgVis1K6FI32tWLt + G2FXsicyIYWYsei0s24F0MamYpgWUdqSaC4/+gBkkbHIh0ZgrVvbnLetciDu2VCT9LjEJ8InOAVP + TNiKZvQK9W8yD1hb8UVWWi/Ndhx4Uw/256G4kbowolsHUKPaty8qChWcZAg/oxtypp7MC1/eP2wn + mfpmQal+jn52zlEiYP9yP9xpe7OE1N4VOC9FXcjT9DP3znhhGKthLZGQkv5AJFQ+ber6PCIdPcsi + 0gt8hVKCYJZX7BXFEekLyx0zKbtaJuKA+EJtsXe5XKb3m8uJpeWUbYJ3mTSPTlzsQPXVObh3Z7U0 + QZFrIVZSWElLDSqjDPPKvfiHN386vxcHRBPnCz/tLLqmQQNlmPGeMrXKe4DJAnPOiwNsXit/PtfK + bItSz9PK5C1LQ5QwEIhJsBZJKDMIDwClZYk1W6ekG8D25tIOEwhNk4Dt0jm+WxeQwzOnxCyLsVhj + NfHPBJdZ9EZmNyaPb5F4E9Hth6BltMmW2BUZbM44S9LQPFkS1cbFZIQJzmknA9BYrPCJxgCXp+bu + jbLeE4+NmuW9XZeeen/w+bvXTjy6YrRIgMQ0duAiAhvlWeasWEkeYQ0Iw4p7Rf+63N7Wh9t3N7v/ + oDClBWSwJc+bgGkgdpIOFt9ElrIUNXOblZtsFFx7HhLDP9FnHwoaT/ku4eRCPePV4ZdzWa/Dn9bV + 4ix8lrORk7aXJZQgsG8UICW+h7P8hQ3FpD1xlOzq8rTRsYuNI8E7wLasK/Cbiblgd7EYiihae8VS + W9HsIcpp/Pm+lAdiZmiKhkp0qzSPhy9WagBPuJcM/xghiGC2wpdmyyNMqeJqZNxn0ZZ2j9W58un+ + M80XCJ1CFAlwN0iVq3ZYt4IFXRAeZitXMvEDvvv5hHITbRZTJE1FKZIe04yTmwgRz8hgI/OyQiOB + Hs+xEFnTNO05/93FF9/++9dvvu08rKOTz86sN5tXpkR0kl44LwHcEC0bLHyLpa9NMjOCihGQa1nM + Gl4+0Z1XX2Iwa0XDETQFB2CjicA20pR9sr7YmFlxJq1SAp1mZok1ZyYG+izF3NZlJF0Lo7pCSUkL + 5RPPqmSA34DtGYdSMANz8ZewvSunTY62zyE7Hb/og6M2FXuK2yhkIMucamIMUIY49usLG0o+PQrZ + HE3bdS7201EZsnu5ytaadSjcRNg57eHsgkB0kXLNOddRl9hsynsaiZ017HWzSWcvqTFrkkUmckGA + oJNlDLCj5BRyFExFk22DuEf158PIXtup4buobzjg19KSRKZcsbYiCEvJ2lINRTGaywpbvFYvdXv7 + 4W7mfFW3urA/+tXhl069bP+nNdUyIH/YSnixBBxrjLKZ2N6zRUwmeBqGBMeDX7OprHb8tSglC49F + Sp+dJ8YWWZwOUSUX40srWzTp8H6zPRXC6gK/xzOW7gk2gUNoR3dGZBkjybwax7B/fbJqpbCTUg4g + pkenkZmF/eTZelj6YD1AWywK+C3WkJIZMdqMuN2YfF57XYsfpq4eV0OQRN8jSo4uAOfSiJfktWUh + O4mxvsab/0ytqVNuyr3WUzmbfppeN+yshj0//1DF3p9/tn7ddpEXY50j+kSE4pY5SymaYBGORUXE + ROtu5Z7lqWlQAfZ8NslTGxhqqurVGCj7mAMWUpUFwCyZGmDChpTyM+UK7/YpDqrFLmgo7A56fNTP + 1VAo23IQOdhe/ByAD87LHKjX/rXgbKcjQUIVFz+RPsLhz+H99nY6aXuxvb0uF/eFHmC+gKna4lPw + iPPtxc3tw+4j8LGb+4vbv95cvPmPby7+8PvtLicT2gw/Ppu+w3VIH9/jxuT7DRXeNjcP97f5Q9pd + HB1wd18+bm4/wNHd4o/0wSXgO32BT774B6+FMex3vWoFdmSMgQE2RxF98RX/g9sL0lqg6bb9bhTI + E16/ev/hYTcaTHXj3S94aFs8id1/1Nubh+ZXsf8d33b3W76/3v1SiFvmTAn0mfXntvpF7e+IjnkW + yVEey0hEjIgbHdfE0vliY0yDjf+PauVHmER2dW/bk5ZwKKc+zTQRvHojtYRvSrDLRJJNbKMjcD/L + F9KsbotRPk9CNoeaasQ9NC4IkmkjWcwktY6w7TyMPFxbiasTCd6uCAfnSMK2vFfurA0DXrffynNJ + zCmA8JpS+9zC4cjilTC4PP+Z+63+cPMAvPH9YTykU182ol/w3NA7XD4OmCwyKfqaksgxezKuTKvI + EjarTZ7ISeSa/FbLRgqT/uUjYdPjb7tZ3X3iK7hcPEVECxSlm7tXj+900i3XH/5ti0UIGZyl5jhA + glAcHIdiSUjLFamRjZzHMxoC35YjIt3mObE+/8XSxQseCtyvhz+G9+MKtpTJmlV1lSYfRknymVK1 + M7anVG0AdIz3lkcFS1ZZ5d4mYlRwnnIKL8wZ3dkJBMwNmO1m33eHL6XoVFAkDm9jFbiymojTVTkW + YCYcc9ENUh8t1JtxqNI8Wq+ylZ+W3FUeRQEtsarQVL2gsTZG2U2rA/Vq+BqBTxmbmYpRcms+ww08 + aruDWu0Md19AV2aEeMFWG8M06pAQ9ClfOFGoZ9H0avTSw/bk3mnV7dC/yq+e7ll7F9dFz0VSqZMF + FoK2rk6jeIkVBNAyajZ0UsdrEZD54vUP3/x08eb2vlz8+PtvL774nnI2FxS64ur/vVQAIEDnj+Um + U8b1Nn24xjee3u9oirq5nQhsSIkaAV8lnZSYMpeCmrtVKqYdbxmO0DDPvOqs9kpWKrgiedTZuYQ7 + HpLWgLzSexlHH/EYEx+KITNW+OdVaNpGgATU56uHEVUyYUFj8cQAGzHVG19IWLv9BdaynHIC2l4i + /3DC0uWS9pbSRQDacMSb2pecHQ0tKJmZGhr+kWFL23RJF3AqO9O9r4+nLNZyeZScCydY1s5UqfCk + ncol6OgdFy+siZJ2yvbjCZw0I8X26YRF/hI2jVb4gAiXFAto/tFmQH/jKhzWWlrgaVL30JzmrWM1 + qdyLGHcHL7BXkr8LjngWNWJZz5NTKsCKANg4xVeJ60wBo+QtP9CSwOHuqP+FkBG441K9RNlw7Ufo + 1+o174jvNXFeos5wwLgsbBQsOiKUENFWFfCaT6savo5LZmSi+kIyh6NfWh8TgUq4mimikQCOZwFv + LGL0ksaYViVlD0PoTz3Mgrtuc8x08Kv9z3M5xv1ftteb614NoSVCc1xFryhtKzhNW9mshHAV3ytH + OcuCj8r3rS7slxfhw8Ptw32YuorLdUgUOm9u3m1TuCvzQaPusH0nJdZsSaAP4unG8tAhe+MnLnEj + kk64+1m8MHX5/e3fsOvCv+ypjb+8uN69cEkNCscyuV3NwOG7LHIAcmWirzYnIFAaB5dZKVeEA1xX + 1bq8EvA1te1ZQZN32SHaM5b6tVVxDvGdSi6EBFDqAysIYgup6MQcVlKLc2GUMj1/W4m3qCYjdQ7E + TADbICo+UVTLonmhsB/96fLj9eUZrSZ7Kbp1h/lpS/QZPokkk45JY0+xgKVapfG1KilULS0z5yhh + 1St4UqN9VxN+RaFTGK9b/gE8OBiShAvkQRhL/LJ4ntIJSVi+Ddb1Mxpldu1qz2PCbBIk2AK5wO/G + TLJMInKSt/M8IPaxZtg9saofqiFHePtTh7x3xItw/s4CsrPGuJapLcqKjI2RhcDt1VUpFrHqfQXC + HdFvfZ1vY7n4l/c07vT2ffgVMcU//tOFFOSsXysJfPv12x//WbBL7eZTZ2dOfNQY3p+t9OLoWdBs + kvNAMJ8sseN7Lh3RX/sYaBLyhTNP4f6MnFeXzDMsV3EL7JkmeSYEyR5ejAtPIkGGicSlGpYYRm3P + J2ypXHV7qq56bF5tAcdKLg0vyUtNpYcCu25jpdQDVdpWAttHutHdfLM2uWSa5VjHN3q0UhvY5WOW + njNHsFZmSd0DNhVP4q9wQ6OK16w9xe3KIeTkPk/yFgF6BRgC+Mb90wKwUGmgq2BVoT63VS0OByHX + 2dhatxI3Hfxq//M423B4tZ8lbJsPzRTIwIXTuFalLirmGDO1aKd8K4zRI1kwIxogBMw9TLtMAzSL + wbMX1dVQMw03aVdTtF4FGCsP0LFWmdRb72bkV7Klgs6FA1V6R/QghlumPGwgVpfEQkvmWdyfX+0n + H/fOpjNCzJ45utPWWpV2MUgvE4B95q4goqkxG+c0C27IW/245v71hz9+/81sKvGZg3Girf76RGmR + hG1ZNfBDIo4yTqVKciR448EV/REoHPHb7wPiOKq2/bgbi+vPMf8bNjPFTBdv3v7pd9Og9vtfd9d7 + hzjv7n4TpqwDQsxpgvA+b26uyOnQITj3A02vTefvP/kNjACAyPuLt9M5+xsQ8sfN9vb+1/7gD/wk + yVsR9wPzwHqVlxJJGSjpYkfzjnNwqZ3tUOoZ6xgQtmFWWhWJC1oGoFkFKORIlPblxbabXM8oJmk+ + GLY+nLPkRrTAhikqGdhpA5BG+u1JAmRVYgTSZSXo1hJbsNdmVD3CbpcZszHlEFmGk4I9qIZKfGG0 + VztSe7vRnGdtxzbMA9yrUYSaEAPRCpBRqqCYweLwQa+eWQyxfKKYdF/cbWhY3CWcC9GMiS6TYHN2 + 28szp2bZdv0rt0YqYFkdOEFtKyQsoo4ZSAXfQrxIoIOGxZ7LedVm2iqlLaJOyviE8MR67iUlgauB + 0RuO246X/y8P+vKXh8nYHKcHR7ySzWnn58faApwmGZ1qnPdG5RxCTMIw6jIBrLKrC85a7LhuNpS7 + uN7lLn4DbGlpDpysgciwE8fqhWMsiAWljFz5TFNm68wXs0DbrBN+B12cNxrWEKFaFJXBjXoExojF + vYnDxux5e+rHu0/zIbpuBLw7+NX+5xl2W3p1lDZrJ6qji9aJxOBcDTya5k6xYK3zqnIDA9QEyKPe + wWYnt9+hO57xdPzpPh7V41oho8QQvjmfg+WWBA9MAYBSmaJohHkv3DmnAm+nW8heym6o1Dn/PNhp + adUCYiZHWkzYD3FqlZDRFk8pFwSr7dTUSej//Y87UXoNiPt4VVQdO0YVm5tzQSlepb4EwLiHi28+ + 3b2/vS/31KqwV9UiEEvJqKfP6NINcZKV0sZF6ZX0InuaCtG6krigTSN7MHgiP4f7Gj/87W8ndaTu + 9OvjGYtEE8QqC4BNXA4BOIcB3MEuFFUsltZwrvmZuY3jxo+mb2uf5HD6spcOfGbPB9E4Zm2Nr0Fp + mxIAieSVmtKdZG5IY/kjFu3Nux455xER549vL998/fXXb/U3uO43tzdbgNmLX28/3B8KrrQEwx6k + Tr+SbFy4J7HTbn1HRmAdICi4EMMTKbNxmOwpLqIy6bpWWy8tqe50BvyCQPRH9WYZtGQp86BdqsJy + mnI3o1i2+QiH9aHnpOcNVuKZ6Ug324QaozG2VAnrFLHIEH+FVfAQKEh6Zjp+Rytv8E4lkDLEpDmE + nQl0o1LyiG5HPckLQ0097PWZhpqa2wR/DtfKYbgZZ0nlYjQ8KFcIGIDK2rb1HkHvrptwEzd5M0ut + y25LxeHoxbRnSC5WppS3hREPr7WZ+N0A+T0xv6xtphNiwja/PGw/Xl1O2BEbJJXL7X36TGNDMqvA + MlyFyzZqrDkWAEk0sZEGACA/WGzNXfz5w832rryfpTak77b1PB7++OgPr4y8d/PsgRt1ZCUzGRjc + XeFGG62xlL0LHOH0ynACoOHT9Xuxjx8KR8xUVejyDxwOX7CgJnBVXFZARVROwU6TBq5NU29ZEsOx + 9sfNtYs9m2QXE88b52lCwUSTADYxQDItEo2EY4cjWMgG4cuwdXLgV2mPXu6aoU/QTS8t15yz2PGQ + eKRGz4R4AGbQJEsSPjlx2Fshhuyhg4t+NFnHLRrrmCW7YBLvQmyNSSeG52Sqxy7CLTeC4xduR/0Z + j09819j1FBZKwXuZajr01U4Z74wV3b/e3UYth0dVDvENnGUl8EsT97pUQCMHCMlkXRXSHvUS7eZ+ + ntU83dxJbyyetHGUyyyOcgOBBxeFD4iS85qAyFy0usNPw4VMdxv6xprD7WRcCQjLbLQ1YEsTkaz1 + LCCK4MkFmv0ehIQ/lZupCeMHALcP22l4g2SBsUp3QA7YeXO/A01f/PTDj3uhYTMvCh29ydMcB+/q + C7f8zryQJGLkxssAtxldzdbDyZgSgrAjfufDB393e0UNc9O8wXTVN1h9sFTfvfnmd/hOetI53l8/ + TOo+V3By/Ti8aSrpXruaZwuq95m4IVIRgajcgNMkkFfQ7KV9Alf53eXd5lP8UE8KRazrvZqTFocT + GdAkt0TJDIiFfcbw3qpan1PO2HgrcYDwO4aTJ7bT31KYUU3+NGapqowk9EejnToDp2iluS5ClzKj + RVU9aaFZXqupGj9TeJbPJlBDAL5mURuFayoxWaUKteQUBCJ8hfLsNJK4uSr3H2/SUWbkWfNbzRL0 + USuWgZVhKi2QuZORqUIT4VFQS+rah2nt44QEWR3xWx5m28oBuMGtFVpQUslSQkknLDX4I46LTIMU + wFI46vZyrr9uH8p1Pldml7CBI1a7/amscVP7Nzv/tdqpe4lnjv2TdGWUiGO2JgW8XxWp17bKuXwE + 9G8eZsNnwpheHpOOXILNhQPhZ4RP3mlVTPRMA+I7ngKHsxnSCbeDqZ+272c1TSCzgfIZHf3q8MuZ + zN308m4IopMyalcz8buQpjwAbyZOFY3ApKYkRSkOAUuzxU5Sd+d8mYARf3u/+QjgelUuvtmmsHcR + R3H/k29za32bWMGxqwpRj2diSBUOax8PI/uAOCFq4gMdFb8H/qG+L58mtsxduSHe3tzG28O02DGH + UFdsYPQui5BDKkAM52UGHkqKAndOko4xFRNSFi+cw3iMfI6+hBgNRrfBT3+OzJrgVCheFUSUBh47 + Vg+HnQA3NG+bf0ei4Q/lPSUU2y7D/uDt/uBFryJrCgkrpBhttWWiSFelAVDnCQhIjTKMTWLFWASb + ojdOkeBPFTPMF8aIndcADKsU4f1NnU3RnYxTLOhjHrENnm91Gtng2ekLIWzmtLxUnDR7ENpEw4zV + iB6jK0EOw6928OuoSW8Kthgx8kWSsXxOi153pjoZThPAIaqSqBlLqiJkBn6piZncjtX0+jNo9qcc + i9YpBEY9yvnp2COdunVK3zxSQpXooUymjknnRQQKVJwZw2xRg9XR7I2eHFfvghfkuERLRkKPmFnl + ZaxBp+KyAITglZVgsVlW7hCvrTlqI2myI0Ur66KSxIEhsD/SpN0sWFROajvKjhyP/ouOCfI6OY/3 + xv62inFCCQCPOmgxUeWuY1xQRNgvXW+D2EnE0Rag1Ew6eTmziNCKuUxZ59HMy1PEXx5aWgqHkF91 + Q/7p2LN0N22FugZjFUCSExHAWUtWmPVWSgTUjOcm3BiyuOX4YTtnb5PPSj61rV9Z4ZZEzqd8HZFP + Kfyb9LkVs1KvYdDdQ6VNvtnn6WC4heRe1AFUoqPP9sw2lqPCnxoSgikyFQRBE0Ma7DVuV5VrINyX + k+34uLlukx/cdPM2ixROCivJuFSKL1k4/EvSNC88CIKNxEdbY6WCGDlxznvE1M6OIDzxcS9yUztE + RknYQgSsiJE0wrZgdJa+ati4vCoTdnc3Y7ZhRnabrnDkU1vf3ZCRpQUCdmro5ZUCiBC54i5kRy3q + gtIgcoXs4NTXfVVmwkQcNrjXzX1VOp3GjWHMAStPpCIQ6aiYOXAfgkWJ+KIUZV7ey/Hnu+uTBvku + Udv++EWURzVaBEEuxAATQ3PE3FOvpAg0/7eWeHpackQld/fwW6Jg2yaKXK4mWJEjC9pSPZ9JYA6p + sSptUi/kgxrMj+hu+87iuEhLnC9FVUJVQcwGRTnvKqWMsPeBuOIQm76ASWCiyu2MpZtn8ojO4EON + sO6a2kKAGyxMK9F8lxoqbP2w8rGS/fQQhZy/dmH7fMSHM2cBM14YQqP2q7FamYSdoDyvYwaLDGEE + 45H7nNwLh1yvNnWiBp5HYVp3mbl3xy9dbLIJDpdZlgDFiBMnWOdrkPjBnDSj59CA4iNRopbYS/fp + NM8rFnXzKMBQiTS5gH5ZgtdIuQAoUCHPJ5bW9S0rqRS3PaiWdNJELBWNEExLPMXCdFZw9z4XP2QJ + GhEKhw8PP2MhvcuF0lvqxCp004wnZ54vdraVbjdNkFNDXy1MpcoFZwC1TPrsY9t4KEbp0ImW9Wiu + 51lQRTbNLyRgzrxHYBvhnLBqLeWPimWeaZr3euFgyc8jMR0a3+i62JNTFzk0qrSWKWBSn2RyLGQW + fNEZ7sNWUUftfS3Hd7i5miuy6z6bxXRs59bOcCAZFhMzLgTbI2cehVdZwrwpM4PxaqTseMJdJgV/ + 6RwXHDywEXPUqKwrjLsUxUiEP7gcpeoL02s7fqITPqPuM94fvzjh72nQm8gghebKRhZzSpnbicDX + l5VtQJNAaU8JPCsqSgrOhZFSsASkSzJKNOpMmggjlNHGNY98RO4yahLE0MV3eWp7fEQzBl1SPWAG + C1rim1bgIJ1g6UqOycJYrMzbfMpXl600THJVa19c6qHGpxMWGYVUCYbzQKNeAAeJ+AuIxiCUGMIw + +n/qjXjk920S5747SXk4/NXjbwgTrm+3T0igeb0bPrSp85S08lhOQiXuaswMPitgN/gAtFbLKtWr + YwaO3zRlmZVOnHNmhBSIsoCAFU0HUPxFZb3fID193In4+3/+cF6kUfr+rM6UT2hxF71wyS97XB22 + HcElnbYM32dYjXB6UluEwzIJWbRQoQ007Ehm5FispdWcfqYXbBLKAh4DUEVIwrdBeCLQqYZR34cu + aVUWaILi7TJgXeJeOnSq/0zntDeUXhgGvy3Ndi7Bk1OpIWPHSe4BaJkTxTnjFQBj415Gd/R+++v2 + /e3VLEfPWA8XHo5eSpEKeOFoWOa5powHHZQK3CWniS8VdmItRYfdVcwnWuQFgo7pmP8Veg63487w + H3SXjikJlp3TIgO+mwRUq43UzCXi2AnDnTzws8cT6MeVq24Ee34KvZ/t016TGELWCW5RRceZrwah + iLS8hPqZhb+6E4SP0l++Hw4udnBy5YyyisYdpRGUEcxJImBAdGuMW8U8fMLTTDqXrsvbcD6qa5s1 + UrQhAB0Ww5SM2MQyACaGarQkFofPZ+Z//L/fES/R+ShbDm4rIbQdD9NlW+sfUjO1mualFj+RBBUZ + q4hKJl+tktkrx4Az16aV1G73391i6Zb7z9Qqq3xQFO0g/krSFSA1FwoVO1yhfPHaZh5A0uni6vvw + m5p4Z/ItSpOuhxMxO6F8VpIXwxUPHsZEhdZsjLhGjrt4Jo21bjhzOHqxV0IBiRaqItXkgcUtoHgR + Vhs8ajZrmhuWYywDxOoRdVjDpTa8sBxtIQkDSRpkxUfs48TbdWNGg0hzdj1gAyF63346dHXTpWjd + r6n0aGTxmqYTEg88KFmzFS6VoXzjOJR6CNsbfsqtOBjX252xZAq1DqaU6gTZm8A4oCbxPwE+cJVn + +jvPZR8Lfz1tQBh1X9MJ57Ml7TYF9uVB65Tw8BRwjbAW12srleiKeWHDxHW434QcTxLpuofZDycs + Jn6xK7IqPgDjcsREhjiouComUYlxmEhZ6Bj4I13pj991rLhmz3SObfbfM9jmomgOplqpIywFK67Y + YEzBtl4L0thOW6xR8FziUns68u8O2DiRnf1daNT4aze9d+fuIoCQgsZMWbGZpKC8xC7WjgJNoMJV + 0OOILoMMOVPPa8ds3DKeFAFQjgjMIt4RvBYdrJaSRY6HPqr2/Ofmvmx/JvkfCQBMpPX0k6suecGs + J+zp7Efum93ZZ9vBmitOAWEiyayaQNI8BRdurDfBADA5N2wBaBMhrQi0gyEhirKSe8n5rgh0kzcN + uJagtFNUQkCw47MI8AJMW4H/rSuQzkLGSW60SzS3ZNuFFSaz6vB/2MdQmMxRFE1drdKoukbSiHay + 9jtGxPTrPSL7bdi+F0tbuT30xXt5sz1sOOy3bWe7CWw1Yf+HM355xSzuO2P/J9ft1aV8CVfiMz5y + 9yn8LF1i08KE+x+wl7QnrSKLcFxZI7nW5LNEtKuGMPa53oar4eW5XgTf3uJ7FaGKAIDKTNmCvW5Z + hf3RL/T3V5vrE+Jn1x1qmo5epm2MgEzTpA3cp5PEBO+1EZlGG6sbVXbaJtxWen6XShzkn3Hwq/3P + y3R7fU1iDE0ihl4e5WGauywqdwKPXeWSibyEMtPEMCSk8HkostRaqO12m/eddUZHjbDQdNPn07Fn + E7RtKFGMTkFW4QowFCyDS16nWKdKf8yrRkMPvd2tjXLdzualO6V0FTwyyVR0CBtsUkUGAbCvYvJh + mBIatfbe3jyk25u6OSHA5azLMdycdH62qtnW2uCh4ipJPpMlpjQAHQw9J4leIkhtRysGIclfwsdw + SYiBTQOgf8kzkgQl9bMYiRpPlCInLYVQfPWkyZFLMfhvBtgBKNey2o06Jxtt81n35KC/ZH98u212 + L63cOd5U5YkAWeLGYq2KEGDSjfSucGWGakcz9MndTNl2Ufhld9jf11ex1+a14Ic04d/BM+0/QL8+ + 75Z4S1lvUowisMQlz85kF0IlAVF4e+2A/EbSoU3grr0TSnewbqplQpFAlpFLrxFUeK6VFbpoH4ZN + eK0V3Pfv7qY5nWE8ZJ17S3B38AJVNJclmyhjiDDMcMiwYblSVS0ooZRaS/XHv3rMqex7F4N0oYpu + jv/phIVKmtDSC81JoQN3sPqkaCA6GuCGzEVZhRr2xevGSo+K14+78r/++7//PxRu1JEJzgEA + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Mon, 16 May 2022 11:20:53 GMT + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-hy4nb-ap-southeast-1-prod + X-Request-Uuid: + - 64997ab653cc4568d00dd8cfd779290d + X-XSS-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/cassettes/test_credentials_edit_with_permissions.yaml b/tests/io/cassettes/test_credentials_edit_with_permissions.yaml new file mode 100644 index 000000000..a5af74290 --- /dev/null +++ b/tests/io/cassettes/test_credentials_edit_with_permissions.yaml @@ -0,0 +1,123 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.1; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/credentials/f07267e2-2994-4293-900a-8acc9adaacd4 + response: + body: + string: '{"name":"updated cred","description":"","category":{"id":"Host","name":"Host"},"type":{"id":"Windows","name":"Windows"},"ad_hoc":false,"user_permissions":64,"settings":{"domain":"","username":"administrator","auth_method":"Password","password":"********"},"permissions":[{"grantee_uuid":"e1b94c27-9dca-4367-b75f-ea6c37deaa0f","type":"user","permissions":64,"name":"triage_musikaar@tenable.com"},{"grantee_uuid":"00000000-0000-0000-0000-000000000000","type":"user","permissions":64,"name":null}]}' + headers: + Accept-Ranges: + - bytes + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Length: + - '495' + Content-Type: + - application/json;charset=utf-8 + Date: + - Thu, 19 May 2022 06:11:02 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-dkrsa-ap-southeast-1-prod + X-Request-Uuid: + - d5ed13e58d18584663fdc6807bc8ba56 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: '{"name": "updated cred", "description": "", "ad_hoc": false, "permissions": + [{"grantee_uuid": "00000000-0000-0000-0000-000000000000", "type": "user", "permissions": + 64, "name": "test_admin@pytenable.io"}], "settings": {"domain": "", "username": + "administrator", "auth_method": "Password", "password": "********"}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '313' + Content-Type: + - application/json + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.1; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: PUT + uri: https://cloud.tenable.com/credentials/f07267e2-2994-4293-900a-8acc9adaacd4 + response: + body: + string: '{"updated":true}' + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Length: + - '16' + Content-Type: + - application/json;charset=utf-8 + Date: + - Thu, 19 May 2022 06:11:04 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-dkrsa-ap-southeast-1-prod + X-Request-Uuid: + - 3f648bb43e301a747e020cbbe21fad4f + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/cassettes/test_editor_parse_plugins_notfounderror.yaml b/tests/io/cassettes/test_editor_parse_plugins_notfounderror.yaml new file mode 100644 index 000000000..d215d99d6 --- /dev/null +++ b/tests/io/cassettes/test_editor_parse_plugins_notfounderror.yaml @@ -0,0 +1,58 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.1; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/editor/policy/28/families/1 + response: + body: + string: '{"error":"Unknown policy ID: 28."}' + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Length: + - '34' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 17 May 2022 11:57:20 GMT + Expect-CT: + - enforce, max-age=86400 + Expires: + - '0' + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-hy4nb-ap-southeast-1-prod + X-Request-Uuid: + - 5fc0fc4a41d700c384d594f4886b8865 + X-Xss-Protection: + - 1; mode=block + status: + code: 404 + message: Not Found +version: 1 diff --git a/tests/io/cassettes/test_editor_parse_plugins_response.yaml b/tests/io/cassettes/test_editor_parse_plugins_response.yaml new file mode 100644 index 000000000..f3c985e83 --- /dev/null +++ b/tests/io/cassettes/test_editor_parse_plugins_response.yaml @@ -0,0 +1,1631 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.1; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/editor/policy/112/families/28 + response: + body: + string: !!binary | + H4sIAAAAAAAAA6y9W49mOXam91cKfTUGBuV94t6k7nwCrMGMDVgaYTy+GFRXZUvlqZMrq1oSBvPf + vRgZ8a1nR0ZmryelvmgVSv0w9ke+JNeJ5H/7wy8//P733//0/g9/9f/8tz+8/+2b336Pf/zDu5++ + +eMP7777w7/9w0/f/Pgu/sX/9Nf/6av29frVX3311//3Oq7jiP/X99/94a+2bb+2//5vq+i2HP0E + ugt03ZcB9BDotp38q82hHegp0H05VqCXQfvBD+4OvYAOgR7bjg/ui0DbseOv9tWgbYGaulFTa+sO + 1KipnSd/q1HTuW1EjZrOfdmAGjVd27UANWq69o1/1ajpOg9Mum7U1NeGmTOMmvrK3zqMmvqxYOYM + o6ZA+cFGTb1xWRtCTXtrx8vgrIf64InuQMUHB9o7UPPBZ1suoEL++7WcA6iQf6BjBSrkv1/rY7ua + qJD/sbQl/+q5isE59gXosQj5H/s5NqBC/rEKXxdQ9cHXOPO3KrQtHX91FUI82thPoGZwzlj/E91M + D1/tGEDNb+1n65CEWBGPfh3ZTaf64H5dUNMmJt0xjoPjKmbOMc4dv3UxgzP4W49N/dXe+VvFXw1L + YiyJ7mLmtJjqmHS7kERbY4OFJMS4tv28dvxVsSK2dqKbTqPh1q5bNwkNt7Hl6t+PJqZ6zJW2AxV7 + znnsjfurkMREO/6qQzuMnyG66Tx6S5NLrcNhcG0nPrj0V7eXXX3h/lqS/wf0COOfm6T4q9FLC5bw + pSSJFzRWGMyckvyf0WO9sPovJTUl2oGWFtMH2vnBpWUtUf5V91s5X2tLeKK0JUryf0G3Bb9Vjeux + rTR+jJpiwUc31RbTF7Tt6KbVyP+4aK3VDL0HunJ/VULs6wI1mcFp+wYLZjV/dW46QI3829GwXan5 + 2q6Dg2M0HJYHbUSjpvPCrn6qqX5ePVfEELRA+3ozL83M6TS5Yk1WaIN5qRaY3mmGbAYd180MMd0U + hh7/qhjXMPQarTWxSrS1rejhXQxOoPBfT7OshY2I7eqs+XTPaBgQ/K1CEm1v6+OD+3GYDw5jgn9V + zJwWC8ySf7WZwQmjln9VrBJh1HZMul0sptOopcklVv9p1B5ARTdNy/RFEtO8FL/1jG/MwGcxuPCC + jusEKuR/9uM8gIrfei3LdgEt/ta//fdfLcF/89tX/+av/3Mov23/w3Mj537VMgCPRt79+usvT+2s + YywN7ZzFLnhu5/uf5/90NhSi2W8NuQ/6r+9+/endD09fdI6Rvyzc1uL6+9zQD9//8benD2pbP9hO + zYnNdt7/+O3P3717+qK2XSd+WlXXzy39+Ps/ffPbj989jVo/BjupFt9/tPTTd9+9dPfspZW95L7p + l+9//vn3Dw0t/VjYUHH6vDT0/qmRdTuoxuoq99zIr+/++PPPH76mHddgQ27w3//jtz//9OGL+n6T + Y9VzfG7o95++/6fn6bGym2thqqdm1tnOH39+//U3334bv+0/9nDRtscn7dtWXePY1nfff/P3X//+ + 2/c/PDXYlm1Hg9UNgg3+9O63r3/79pevv/3h+3c/PX3msodIHz85pP+v0+q4titb3atOxedbXbdl + eXzrvvT2r/Kt0SrW1rZXraK/2Or5GP6tj1pG8S+2Gt5Otjr2WuTrL7Z6hcWcPVDeGD/f6ra3/NZp + UdXXrI9aff/u1z+/+/W5X3Ml3MZSNfVft/r779/+8qTUC/rfl6OW0ry398u7X//09W8///zD+2ft + X/m7QwVfMPK//vbu67m2/fzDu+cmzxVNHl/wo5+b/O3Xn19Wk7VB9ee/SpNtxQJ1foE4n5r89eef + Pgz1uhwY6qrz+6n2tj0s1sf3jV4Nkrxu74c///gyw3fM8Fqlwqebi+W9c0C+YHGbzf347rd/+Pm7 + 98/a3riyVT2vzzUZP3PLH33Vaiw+bvLn7358aW5hc1/Yh7/8+v1Pv7379eUTU4bR5pd25Pt33/7+ + 6/e//fPz4JwHpF0ro3mjzX9498MPL9reqO0v+Mj3f3762bPhl31spR7laH/37s/ff/vu/dff/sOv + v3z9x2/ev3syP556tLWelseyH3J/+HTLa7hDV3bDWiuKeqPln3/88eefvv7r//k/fB3G90uPzGXz + orrkSvz51rdrO7ic1DJuH7f+/tv333/92ze/3HvlZK/IhTT2ox+giuOEKk45YW9ttWVfMAsO+Ytf + Zumjvfid2MtXO1M/ai+W0MHvk+P9n9b16//1t6//Nnbyv/3mh//6MsgXBrkaqGOTf4o5+qfYJv8m + jZj44Tt/eL3V66v/8eUf+5tT60NfHGGDbOnKhPFVX1mLf2IuCw2Ld6vGjp7affyJgeXx+5+C/rBA + Luey8PtrxUGPj354T9kdO90c4SC+NPfjPzx917EhghL+km/oI1P5GDEtYYBvZ317+WSjTz3IRms1 + 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 + PKtbg/Z93kH73z1A69+dFaZB6zmWFabhXOk5lhWmQes5lhWmQds51hkRlbU1W0NecNiTMZNGr9mY + R0NecNiTMZPOXrMnYyZ9gJYj1vAyw7AnYyZ9gpYztOFlhmFPxmwNWaZwzeS61pBlCrqqluuJnoU5 + j3e4ev3GnaQb6Kpakj6TLkctkr5AV9XyQreH1TPp6oglvYKu7mNJb6Cr4500+rzs+yfNPrcj1hb0 + edn3T7qD9iM2QFfn94NeMd7lHThpjHd5B04a4132/ZPeQWu1rJjf5d3/md4v3iNa9iSTxj2iZU8y + adwjWvYkHzTvES17kknjHtGyJ5k03lUse5JJ4+W0sieZNN5VLHuSSWO8y57kC93x/lgv3+WZ9Aba + fnnH+2P1u1uTPkDLGRp0A21nSccLYvW7PJPGa3XlnGTSfK3O6rzjBbH6XZ5JQy3ljGbSUEv51HzS + UEs5H5o01FLOhyYNtZTzoc90O7JiYRllP/SFvvh6WbnqL2m8+lKu80ga73iU6zySxjse5TqPpPHq + S7nO40Hz9bJynUfSePWlXOeRNF59Kdd5JI1XX8p1HklDLeVKjaShlrIPnDTUUj5fkjTUUj5fkjTU + Uj5f8qD5/lj5fEnSUEv5fEnSUEv5fEnSUEv5fEnSWJnK50uShtbK50uShlrKd5AnDbVYuyVoqMXa + La3z9TJrtwQNtVi7JWioxdotQUMt5UqspKEWa/W0vrLPrVr6hj63Vk/Q6HNr9QSNPrdWT9BYU63V + EzRmibV6gsYssVZP0BgxbfX0nSOmtbZzxLTWdo6Y1hpeN1rKEdGkD9Baa3jdaClHRJM+QWut4XWj + pRwRTbqD1lrD60ZLuQrsQeN1o6VcBZb0BlqrBe8TLTYiGjTUYiOiQUMt5TqupKGWch1X0lCLjcYG + DbXYaGzQUIuNxraO94mWch1X0lCLjeUGTbVorTWoxcZyg4ZabCw3aKjFxnKDhlpsLDdojLeN5bae + 9alr82rJCFnQWi0ZIQtaqyUjZEFrtWSEbG1eLRkhC1qrJetTg9Zqyfha0FotGV8L2qsFrxvZyH9D + fC1orbULWrOR/4b42nxWS9PQWjnvnzS0Vs77Jw2tlfP+SUNr5bx/0tBauWYwaWitXDOYNLRWrhl8 + 0B1as5meoKE1m+kJGlqzmZ6goTWb6QkaWrOZnqChNZvpCRpas5meoKE1m+kJGlqzmZ7WB9RSrhlM + Gmop1zskDbXYeoegoZZyzWDSVIvWGl/pK9cMJg21lGsGk4ZayjWDSUMt5ZrBpLEylWsGX+jBN/7K + NYNJQ2vlmsGkobVyzWDS0JrO1YwFWtO5mrFAazpXMxZoTedqxgKt6VzNWKA1nasZC7SmczVjhdZ0 + rmasUIvOtowVaimfqk0aLwRq22GsVIvW2orx1pmesWK8babnbJwlNtNzNs4Sm+k5G2eJzfScjbPE + ZnrOxlliMz1n4yyxmZ6zcZbYTM/Z8IJYt3bq2W46178br3h1a6cGjZdPrZ0aNF4+tXbq2fCSVrd2 + atDoc2unBo23S62dGjRGzNqpQePtUmunBo3xtnZq0Hi71NqpQUMt1k4NGmqxdurZ8JJWt3Zq0NCa + tVODhtasnRo01GItzaChFmtpBg21WEszaKjFWppBQy3W0jwbXrPq1tIMmuOt1YLXrLq1NIPG2mIt + zaChFmtpBg21WEszaKjFWppBQy3W0gwaarFVQUFjbbF26tkatGbt1KChNWtpBg2tWUszaGjNW5oN + WvOWZoPWvKXZoDVvaTZozVuaDVrzlmaD1ryleUJr3tI8oTVbUxQ0tNa11k5ozVYkBQ2t2YqkoKE1 + W5F0nXhbQWc0gz5AyxELuoGWIxZ0vuOhM5pBX6DliAXdQcsRC3qA1iOW1t6uM5pBr6Dl6hD0Blqu + DkFDazZHFTTUYnNUQVMtWms71GJzVEFDLTZHFTTUYnNU13lALTZHFTTUYuNMQUMt1vcPGmuL9f2D + hlqs7x801GJ9/6CpFq01vNm6WN8/aKjF+v7X2aAW6/sHjfG23nvQWB2s9x401GK996ChFuu9Bw21 + WO89aKjFeu9BQy3Wew8aarHe+3XindzFZpmCxtpiff+goTXr+wcNrVnf/7rwQuBpq/4uvHu+n7bq + 78K750HbEcO750HbEcO750HbEcPL5UHrPsf+fdpKrAsvlwdt5zdeLg/azm+8Pb6f2k7F2+NB6/HG + DnxqO/U6MN7WTu0L13Mb4xrb7cvl/A6aXy61FjTe6LVWbtDQubVyg4bOrZUbNHRurdygoXNr5QaN + N3qtlTs2WB71G1iSxiyxVm7Q0Jq1coOG1qyVGzS0Zq3coKE1a+UGDa1ZKzdoaM1auUFDa9bKDRpa + s1bu2GC31N/KSRpasxmuoKE1ayMHDa1ZGzloaM3ayEFDa9ZGDhpaszZy0NCatZGDhtasjRw0tGZt + 5LFd0Jq1kYOG1qyNHDS0Zm3koKE1ayMHDa3Z/FjQ0Jq3HS5ozebHgobWbH4saGjN5seChtZsfmzg + 5ZW9/lZO0tCazY8NvLyy19/KSRpas/mxgbdT9vpbOUlDLTY/NvB2yl5/KydpjrfW2sB42/xY0Bhv + mx8LGuNt82NBY7xtfixorC02PxY01GLzY0FDLTY/FjTUYvNjQWNtsfmxoKE1mx8bO2MeNj8WNLRm + 82NBQ2s2PxY0tGbzY0FDa/bEftDQmj2xHzS0Zk/sB403W22kaOxZ9Re07vO8uzVo3edZMxi07vOs + rA1a93lWHB76xF/QeLPVxpmCxputNs4UNN5stdnUoPE+sI1SBQ2t2SjV2DdozUapgobWbJQqaKhF + R4r2DWrRkaJ9g1p0pGjfoBYdKdo3qEVHivYNatGRon2DWnSkaN+hFh0p2neoRUeK9h0rk44U7Tu0 + piNF+w6t6UjRvkNrOlK071CLjhTtO9WitXZgvHWkaD8w3jJStK0LX/CWVs+k0efS6pk05re0eiaN + EZNWz6QxYtLqmTTmt7R6gu4Yb2n1TBrjLe8pmjTmt7ynaNKY3/KeoklDa/KeoklDa/KeoklDa/Ke + oklDa/KeoklDa/KeoklDa/KeoqDx0m2T9xRNGlqT9xRNGlqT9xRNGlqT9xRNGi8by3uKJo2XjeU9 + RZPGy8bynqJJ4/1veU/RpPH+t7ynaNJ4VVneU7Sta3rQQVutrelBB221tqYHHbTV2poe9GHrHSYN + rcl6h0lDa9KLnTS0Jr3YSUNr0oudNLQmvdhJQ2vSiw0a3rutlpg0tCa92ElDa9KLnTS0Jr3YSUNr + 0oudNLQmvdhJQ2vSi500tCa92ElDa7JaYtLQmvSBg4b3bqslJg2tSR940tCa9IEnDa1JH3jS0Jr0 + gScNrUkfeNLQmvSBJw2tSR940tCa9IEnDa1JH3hbd77BrWfJzje49SzZ+Qa3niU73+DWs2TnG9x6 + lux8g1vPEnjQQdtZsmcdV1v1LNmzjitoO0v2rOMK2s6S/YDW9CzZD2hNz5L9gNb8LDmgNRkpmjS0 + JiNFQTdoTUaKJg2tyUjRpKE1GSmaNLSmI0V7g9ZkTdGkoTVZUzRpaE3WFE0aWpM1RZOG1mRN0aSh + NVlTFPQJrcmaoklDa7KmaNLQmqwpmjS0JmuKJg2tyZqiSed7kpusrZl0B+37fIDWfY4XvDdZWzPp + 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 + nr+DRlcne/4OGl2d7Pm739BhaLEn6KDZtU3qPGh08bJn4KAx3/YMHDTm256Bg8Z82zNwP9iFU0aZ + 2m1b6qmtcnVIegftnnnSB2j3zJPuoN0zT3qAds88aPThWmVUMel6S1YZVUx6A+3esaQx3zIumDTm + W8YFk8Z8y7hg0idorRZ00lplZC9odNJaZWQvacy3jOwlvYLW7zc6aa0yspc01CIje0lDLTKylzTU + IiN7SUMtMrKXNNYWGdlLGlqTkb2g0UlrlbG5pKEWGZtLGmqRsbmkoRYZm0saapGxuaShFhmbSxpq + kbG5pKEWGZtLGmqRsbmg0UlrlbG5pKE1GZtLGlqTsbmkoTWZS5U0tCYje0lDazKylzS0JiN7SUNr + 8mSRNLQmTxZJQ2vyZBE0Ommt8mSRNLQmTxZJQ2syspc0tCbPJUlDa/JckjS0JiN7SUNr8lSTNLQm + TzVJQ2vyVJM0tCZPNUGjD9cqI3tJQ2syspc0tCYje0lDazKylzS0JiN7SUNrMrKXNLQmI3tJQ2sy + spc0tCYje0lDazKyFzT6cK0yspc0tCYje0lDazKylzS0JiN7SUNrMrKXNLQmI3tJQ2syspc0tCYj + e0lDazKylzS0JiN7QQ9oTUb2kkZPZhnZSxo9mWVkL2n0ZJaRvaTRk1lG9pJGT2YZ2UsaHbxlZC/p + u9b2F7zf9wh20v6ZD9D2mbd7BDtp+8zbPYKdtH3m7R7BTto+83aPYCdt3+92j2Anbd/vdo9gJ23f + 73aPYCdt3+92K63597vdOmirtXYboLXWlhtorbVlAa21tqygtdaWDbTVWr/MmNVav8yY1Vq/zJjV + WueMych90pgxGblPGjMmI/dJY8Zk5D7pBtpqrep5JG21VvU8ktZaW6A1GblPGlqTkfukoTUZuQ96 + hdZk5D5paE1G7pOG1mTsPWloTcbek4bWdHStaokkrbW2Qms6ula1RJLWWluhNR1dq1oiSWutbdCa + jq5VLZGktdY2qEXH5qoaSNJaaxvUomNzVQ0kaa21DWrRsbmqJZK01toGtejIXm9Ui9Zag1p0ZK9q + iSSttdagNR3Zq1oiSWutNWhNR/aqlkjSWmsNWtORvaolkrTWWoPWdGSv79CavLOXNLSm44JViSRp + rbUdWtNxwapEkrTW2g6t6bhgVSJJWmtth9Z0XLAqkSSttbZDazouWJVIktZaO6A1HResSiRJa60d + 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 + q2hq0lZrFU1N2mqtoqlBWw97r2hq0lZr/QatWQ97r1hs0lZrFYtN2mqtYrFJS60dC5z/1X5Lgsa+ + xX5Lgsa+xX5Lgsa+xX5L+o7vmI7NBX2C9v92By3nO+gBWs533/Ed07G5oBfQcm0JegUt15agN9By + bQm61hYdmwt6By11HvQBWmsN3zGbOZ90B621hu+YzbuPcwy+YzbvPukFtNXage+YzbtPGmqxX6Kg + oRb7JQoaarFfoqChFvslChpqsV+ioKEW+yXqxwK12Ghq0JhvGw8NegNt15ZjgVpsNDVoqMVGU4OG + Wmw0NWioxUZTg4ZabDQ1aKjFRlP7sUItMvc9aawtNhYbNLRmY7FBQ2s2Fhs0tGZjsUFDazYWGzS0 + ZnPfg4bWbCQ3aGjNRnKDhtZsJLcfG7RmI7lBQ2s2khv0XWvb6r/A99190v6XN9D+l++g9Vty390n + rd+Se15P0P77fc/rSVq/Jfe8nqT1W3LP60lavyX3e3NJ67ekQWv++92gNf/9btCazYYKGlrzX/8G + rfmvf4PW/Ne/QWv+69+gNf/136E1//XfoTX/9d+hNf/136E1//XfoTX/9d+hNf/136E1//XfoTX/ + 9d+hNf/136E1//U/oDX/9T+gNf/1P6C16a//8oVeWqtqu2ufXpGLrs6Iffr9vtNV7Sfo2b+76B30 + rM4f6M4OoLfpbIk7jXrYt+l8h6LZOW32LbnTNWOxhZHPvK91l+mYr8ZZ9P2pncd0TtGdrlsa5zkd + e7/TddfhOKff0KLvcf9+m45J3unKfT/n+xMVfZ+xvky7c3e6spmPeb+l6LsDfjb/d1dG8Tlfo7jo + u1piEyLf775WTlF80uQbOpChcm7TTnDR9XfP7zTvdGUsxEZfrg4DGQvnOp1xWHSvd2w6r+dOV3XG + 85jeKxZ9j5ec8332iq4ZO61SR0Xut+OY3jsUfZbO/XxXxbw4ouh/uyrmhVLlijwq/h2r4nRebtF4 + S6bPwEWfpfPpU80jjXux5zKdkVT0Wkqd3t0XXU9tPhOr6LvOjz4dLym6nvn82b/oE/+2/7trdZjv + GXOnF8yYfr9xu/SYz6Uquv7uNu233Om6q3jOd/kpun55m86FLhork/6O4eZbrIr6HasY9Kl3ewO3 + z875PI+ia03dpmPQRZdS5ys03OmGveK0Y1J0PfP5vg5FY0Wevp1SdK0t8z1jiq75nr+rWPR9vmOh + 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 + 7Qm6o9LvoqtidFT6DVqrBedvfd+go9Lvou9/d1T6DVprDefv056gOyr9Bq21hvP3aU/QHZV+g9Za + w/n7tCfojkq/i6410FHpN2itNZy/T3uC7qj0u+g6ZB2Vfhd9e7yj0m/QWmsNWrOZOR2Vfhddx6Sj + 0m9W9tI0tGYzczoq/WZlL01Dazavp6PS76JrYnVU+s3KXpqG1mxeT0el36wLpmlozeb1dNQJzrpg + mobWbF5PR53grCqmaWjN5vV01AnOqmKahtZsXk/Q0JrN6wkaWrN5PX07oDWb1xM0tGbzeoKG1qwr + GTS0Zl3JoEtr3bqSQe+gtdaqr2JWNNP0CVprrTojZkUzS1dnxKxopukFtNYaOiPqTMugN9D+lzfQ + /pfvoPVbgs6IOtMy6BO0fkvQGVFnWvaqW9PicGWfWtWtSdo+tapbk7R9ap3dpLVL1dlNWrtUnd2k + tUvV2U1au1Sd3aS1S9XZTVq7VJ3dpLVL1dlNWrtUnd2ktUvV2U1au1Sd3aS1S9XZD1q7VJ39oLVL + 1dkPWrtUnf2gbZZI7+wHrT2uzn7Q2uPq7AetPa6OftCr9rg6+kGv2uPq6Ae9ao+rox/0qj2ujn7Q + q/a4OvpBr9rj6ugHvWqPq6Mf9Ko9ro5+0LrGYdDQmva4OvYtq/a4OvYtq/a4+km1aK1h36KrSgcN + tWiPq59Qi/a4eodatMfVO9SiPa7eoRbtcfWOlUl7XL1Da9rj6h1a0x5X79Ca9rh6h9a0x9XR4Vdn + WgbM7uFaa+jwazMtt+XGTvUyvyVpdKqX+S1Js1O9m++k2anezXfS6FQv81uSRqd6md+SNPu2uPlO + Gp3qZX5L0FiZNpnfkjR7zetnzl7zcu+QNHrNy71D0g20fuboPW4zTJM+QPtnfoJ263nSWJnk3iFp + rExy7xA0Vya5d0gaWpN7h6ShNbl3SBpak3uHpKE1uXdIGlqTe4ekoRb59U8aapFf/6ShFvn135YF + ncsP+fVPGmqRX/+koRb59U8aapERrqShFhnhShpqkRGupLEyST81aWhN+qlJQ2vST00aWpN+atDo + XH5IPzVpaE36qUlDa9JPTRpqkRGupKEWGeFKGmqREa6koRYZ4UoaapERrqShFhnhChqdyw8Z4Uoa + apERrqSpFq01dC4/ZYQr6QZaaw2dy08Z4Ur6AK21hs7lp4xwJd1Ba62hc/kpI1xBo3P5Ke+9J72A + 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 + DX089um7TEUfoLXW0Mdjn45oFt1Ba63h+71b57+f8Ft26/wHvYDWWtupFq01xA126/wHjfm2zn/Q + mG/r/AeNGbPOfz/x/Z6/lVM0Zsw6/0GvoLXW0Etj/lZO0ZxvrTX00pi/lVM01GKd/6ChFuv8B43V + wTr/QUNr1vnvJ/Yt87dyiobWrPMfNLRmnf+goTXr/AcNtVjnP2iqRWsNNefn7/QUDbVY5z9oqMU6 + //2Efz5/p6doqMU6/0FDLdr5P+G+z9/pKRork3b+T7jv83d6iobWtPN/wn2fv9NTNLSmnf+zQ2va + +T/h3c/f6Ska862df9Qa2Obv9BSN+dbOP6oFbPN3eormjGmtDc6Y1RqqBWzzd3qKxuqgnX9UC9jm + 7/QUDbVo5x/VArb5Oz1FQy3a+Ue1gG3+Ts9XOuvt4ZlLxyRpPHPpmCSNZy4dk6TxzKVjkjSrM/p/ + m9UZ/b+N6ozyLUka9RXlWxJ0fb+Ddm9J0qjlKd+SpFHLU74lSaOWp3xLkkYtT/+WoDLkKeNjSXO+ + tVpQ2/GUEa6koRYZ4QoatR1PGeFKGmqREa6koRYZ4UoaapERrqShFhnhShpqkRGupLG2yAhX0tCa + jHAlDa3JCFfS0JqMcG3LisqQp4xwJQ2tTffpKRpak/GxpKE1GR9LGlqT8bGkoTUZH0saWpPxsaSh + NRkfSxpak/GxpKE1GR8LGh1nThkfSxpak/GxpKEWGeFKGmrR+7UVHWdOvV9b0XHm1Pu1FR1nTr1f + W9Fx5pQRrqShFhnhChodZ04Z4UoaapERrqSxMskIV9LQmoxwJQ2tyQhX0tCajHAlDa3JCFfS0JqM + cCVdWusywpX0AK21ho4zXUa4kl5Aa62h40yXEa6kN9Baa+g402WEK+kdtNYaOs50GeFK+gSttYaO + M11GuJKG1mSEK2h0nOkywpU0tCYjXElDazLClTS0JiNcSUNrMsKVNLQmI1xJQ2sywpU0tCYjXElD + azLClTS0JiNcQe/QmoxwJQ2tyQhX0tCajHAlDa3JCFfS0JqMcCUNrckIV9LQmoxwJQ2tyQhX0tCa + jHAlDa3JCFfQqPveZYQraWhNRriShtZkhCtpaE1GuJKG1mSEK2loTUa4kobWZIQraWhNRriShtZk + hCtpaE1GuIJG3fcuI1zZrwbRFnuqaeyDPawz2NgHe1hnsLEP9rDOYGMf7GGdwcY+2MM6g419sId1 + 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 + 3wZOAp3lnW8DJ4HO8s63gZNAZ3nn24ZzBqf8rW2PdJvgWcxq5bzTHbTW307HKFEr51upGN9qRZLT + eHIxauE0nlyMWji9ghbfudEbaPGdlxqxvVmtSHK6gNbGmNMzaFGpRlfQ2hhzuoHWxpjT0Jo4nzsN + rYnzudPQmjifOw2tifO509CaOJ8bjbVErWdyGloT53OnoTVxPncaWhPnc6ehNXE+dxpaE+uZnIbW + xHomp6E1sZ7JaWhNrGdyGloTa2uM7tCaWFvjNLQm1tY4Da2pK7DR0JpYmeM0tCZW5jgNrYmVOU5D + a2JljtPQmliZ4zS0JlbmOA2tiZU5RkdUct7EyhynC2hZa2HtGS1rLaKSRstai6ik0bLWIipptKy1 + iEoaLWstopJGy1qLqKTRstYiKmm0rLUVWhNj905Da2Ls3mloTdzJ7DS0Jkb+nYbWxMi/09CaGPl3 + GloTI/9OQ2ti5N9paE31x4yG1lR/rNQNWtP9sQ1aEyP/TkNrYuTfaWhNjPw7Da2JkX+noTUx8u80 + tCbWKzoNrYl5A6ehNTFv4DS0JuYNWmkTtCbmDZyG1sRqR6ehNTHr4DS0JmYdnIbWxKyD09CamHVw + GloTsw5OQ2ti1sFpaE3MOjgNrYlZB6MLtCZmHZyG1sSsg9PQmph1cBq39MnWPfJjfkaVTOOePdk+ + R37MaLm/cap0l+3zxlOlZfsc+TGj5f6O/JifjyXTOMFcts+RH/PzsWQap2nL9jnyY34+lkzjBHPZ + Pkd+zM/HkmmcYC7b58iP+flYKl2hNdk+bxVak+1z5Ob8fCyZhtZk+7zx5HbZPh+4+XSINcFO48nF + mmCnoXOxJthp6FysCXYaOhdrgp2GzsWaYKehc7Em2GicWD/EmmCnoXOxJthpqEWsCXYaahFrgp2G + zsWaYKehNbEm2GloTawJdhpak7Nrgzcrydm1wZuV5Oza4M1KcnZt8GYlObs2eLOSnF0bvFlJzq4N + 3qwkZ9cGb1aSs2uDNyvJ2bXBm5Xk7NrgzUpydm3wZiU1uzYf7oRSs2vz4U4oNbs2H251UrNr8+FW + JzW7Nh9udVKza/PhVic1uzYfbnVSs2vz4VYnNbs2H251UrNr8+FWJzW7Nh9udVKza/PhVic1uzYf + bnVSs2vz4VYnNbs2H251UrNr8+FWJzW7Nh9udVL97/lwq5OaXZsPtzqp3vt8uNVJ9d7nw61Oqvc+ + H251Ur33eYH/rZ4T7DRuN1K9d6Nxu5HqvRuN241U793oBlrWGvxv9Zxgp3EXluq9Gz1Ay1qD/62e + E+w0btJSvfeKLFNTT511Gu9czdXUerh/TH9yvHM1V1ORZWrqqbNO452ruZqKLFPLnzrbH2ifWmKf + ZD5SFPQAne2xE22mygY622OPdJ039FhNzy1Bb6C1t2Y03nlNzy1BF9DZuSXoGXR2bgm6gtb62+kG + WutvpxfQcn/DJ6rpyGDQUEs6Mhj0ClrWGnyimo4Mnug6wS+p6chg0NBaOjIYNLSWztwHDa2lV4Og + obX0ahA0tJZeDYKG1tKrQdDQWno1CBpaS68GQUNr4mpgNPySms7cP9E4ecZoVWs4ecZoVWulsMdU + reHcGqNVreHcGqNVreHkGVvMVbXg5BmjVbXg7Bij5f6GhV3T2fOg0d/p7HnQ6O909jxo9Hc6ex40 + +judPQ8aIzSdPd9p5KhqOv8dNObz9K67oKGW9K67oKGW9K67oKGW9K67oKGW9K67oKGW9Gk/QUMt + 6dN+nugN2bWaPu0naLzzdGbvRLeykha11mauwOnM3hNdcQZaPg+80zhRK58HDprfrf7uihO18nng + oOFRqdaerwCgxTHWsJfJaHGMNexlMlocYw17mYwWx1jDXiajxTHWsBtpGqq117AbyWhZazgraKjW + XsOuHKNlrS383bLWFv5uWWsLfH/V2mvYnWK0rLUOparWXsPuFKNlrXUoNV2nGTTmFtVWbNidYrSs + NZzVO9J1mkFjXlMtzYbdKUbLWuvQmmppNuxOMVrWGk76Haql2bA7xWhZazird6iWZsP+EqNlreGs + 3qHaqQ07RIyW1YLTdodqaTbsEDFaVgtO2x2qpdmwQ8RoWS0r5hbV0myIvk/5KrCg0WOyrYgI+JSv + AtvpDT2WrgILGj2WrgILGj2WrgILGj2WrgILGuM7XQUWNPtbVgvzBukqsKCxGqSrwIKG1tJVYE80 + 6zyqrBbWeVRZLazzqLJaWOdRZbUsB39MVQsrNaqsFlZqVFktrNSoslpYqVF1taDWoqZrBoNGf6dr + BoNGf6drBoOG956uGQwaaknXDAYNtaRrBoOmWmStMRqbrhkMGmpJ1wzuNGO56ZrBoKG1dM1g0NBa + umYwaGgtXTMYNLSWrhl8olnlWdM1g0HzyVWtscqzpmsGg8YoSdcMBo1Rkq4ZDBqjJF0zGDRGSbpm + MGiMknTN4BO9cgVO1wwGjVGSrhkMGlpL1wwGDa2lawaDhtbSNYNBQ2vpmsGgobV0zWDQ0Fq6ZjBo + aC1dMxg0tJauGdxpxhXl9XtlXFFev9eVPSbrfGWPyTpndUy6XnGnOSOn6xWDxihJ1ysGHaOkpesV + g+6gZZ1jTm1qTZHRK2hZa5hTm1pTtNDiampV0LLC2mtqVZDR/G5RLUbzd4tqWVZYXE3NExk9gxbV + YnQFLarFaOhczRMZjR5T80RGo8fUPJHRGCVqnshojBI1T2Q01KLmiZa1Ui2y1pB7b2qeyGhoTc0T + GQ2tqXkio6E1NU9kNLSm5omMhtbUPNFyWA3UPJHRfHJZa1xL1DzRclhL1DzRclhL1DzRclhL1DzR + ssE+b2qeyGiMEjVPZDR0rmZ6jEZ/q7kao9Hfaq7GaPS3mqsxGv2t5mqWDXV7Tc22GI0eU6uCjMa8 + puZqjEZ/q7kaozE7qLkao6EWNVdjNNSi5mqMhlrUXI3RUItaFWQ0Zgc107NstLjUTI/R0Jqa6TEa + WlNj90ZDa2rs3mhoTY3dGw2tqbF7o6E1NXZvNLSmxu6NhtbU2L3R0Joau1822mtq7N5oaE31/Y2G + 1lTf32hoTY3dGw2tqbF7o6E1NXZvNLSmxu6NhtbU2L3R0JoauzcaWlNj98vWoDU1dm80tKbG7vvE + Sg1VLUYjk6uqxWhmckW1GM1MrqgWo5nJFdViNKoGVLX0iZUaqlqMRlxRVYvR6G81V2M0+lvN1RiN + /lZzNX2mVyM/eaVvID955bwmP3k9zC2qzuthblF1Xg9zi6rzyrlFzTJ1VNYareoclbVGqzrHLQFG + q7Mi6nKNlrXWsI6pWaaOWwKMlrXWoDU1y9RxS4DRstYWaE3NMnXcEmBuiay1BVpTs0wdtwQYLWtt + gdbULFNHLbTRstYWqEXN9HSc82+0rLUFalEzPR2V1EbLWutUi6y1qKT2qiyZrqBlrUUltVdlyfQC + WtZaVFIbLWstKqm9pkumV9Cy1qKS2mu6VDoqqb2mS6YLaFlrOONwUfNEHef8e0WYTKO/1TxRx1n7 + XhEm0+hvNU/UUUntFWEqjVMKFzVP1HE2s1eEyTTfuao1nM3sFWEyjXeu5ok6zmb2ijCVRiR4UfNE + HWcze0WYTGOMqXmizrOZFzVP1HHzqdGy1hAJXtQ8UefJzouaJ+o82XlR80SdJzsvap6o82TnRc0T + dZ7svKh5os6TnRc1T9R5svOi7ifqPNl5UbNMnSc7L+p+os6TnRc1R9V5svOi5qg6T3Ze1BxV58nO + i5qj6jzZeVH3E3We7LyoGa7Ok50XNcPVebLzoma4Ok92XtQMV+fJzoua4VqnyliPqBajEdtToxbr + zMo7NWphdFTebaofanQDLWrN6AW0qDWjO2hRa0YP0KLWjF5Bi1ozegOtam2OyIHR4rxmNHtMVeq8 + sMdkpcZOZv+zTA/QstbC97c/y1oL39/+LGstfH/7s6y18P3tz7LWwnu3P8taC+/d/ixrLbx3+7Os + tY7+Vj1Jo9HfqidpNPpb9STXeaC/VU/SaPS36kkaPYOW1TLQ36onaTTGt+pJrvPKtyarZeVbk2em + FaNE9SSNhs5VT9JovDXVkzQaOlc9yXXe8M5VT9JovHPVkzQaSlU9SaPZY7LWNuhc9SSNZn/LWtvQ + 36onuSIvaLSstQ1qUT3JtU5Qi+pJrshJGq1qrU5Qi+pJGg21qJ6k0VCL6kkaDbWonqTRVIuqtTpB + LaonaTTUonqSRmMNVT3JtRZoTfUkjYbWVE/S6Ohv2fc3egEt91jEuIrs+xs9QMs9FjGuIvv+Rm+g + 5R6LGFeRfX+jC2h5dogYV9F9f5xiZrQ8O8zQmlrdajS0pla3Gg2tqdWtK05QM1rW2gytqdWtftYv + aFlrFVpTq1v9pEHQstYixlV1P7RGjKvqfmiNGFfV/VBUBVXdD0VVUNU9SVQFVd2TRFWQn9sr0oMZ + D3l8D+Ys5PE9mLOQx/dgzkId31thJFgd3xvPT5XH98bzU+XxvdXCiKj65IcTMdVKrA22w5S/Iyho + VByqlVgbbIcpf0dQ0IhCq5VYG2yHKX9HUNCoMFUrsbbKTI86n2+VuRp1Pt8qczXqboWtMlej7lbY + 6mGMyW/tMMbEuWWrzLaouxW2ymyLulthY33qou5WMBozsrpbYeuNT65qrTc+uaq13vjkqtZWxpFV + K9do+N/qKmg0PGh1HTMafqi8GqysKVLr7o1mf6tjbIuoZJ3U1d9o2IryW9tW2Iry6r+tsBXl1X9b + YSvKq/8WEdGq9zfuqzFaHaHbCjtVXg1w243R6hjDbTdGq0rFbTdGy1rboDV5NcBtN3WSVwPcdmO0 + rLUNWpNXA9x2Y7SstQ1ak1cD3HZjtKy1DVoTV4Nmn6A1cVZ0GloTZ0WnoTVxN5LT0Jq4G8lpaE3c + jeQ0tCbuRnIaWhP3rjkNrYk7gpyG1sQdQU5Da+KOIKMLtCbuCHIaahFra5ymWmStFahFrK1xGmoR + /VCnoRbRD3UaahH9UKehFtEPdRpqEf1Qo2eoRfRDncbMJPqhTkNroh/qNLQm7ghyGloTK7GchtbE + SiynoTWxEstpaE2sxHIaWhMrsZyG1sRKLKMrtCZWYjkNrYmVWE5Da2IlltPQmliJ5XRorYiVWE4v + oGWthf9ttKy1qJU0WtYaotBFjIA7vYGWtYYodBErsZwuoGWtRY2o0bLWokbUaFlrDVoT67ichtbE + Oi6noTWxjstpaE2s43IaWhPruJyG1sQ6LqMXaE2s43IaWhPruJyG1sQ6LqehNbGOy2loTazjchpa + E+u4nIbWxDoup6E1sY7LaWhNrONyGloT67iM7lCLWMflNNQi1nE5DbWIdVxOUy2y1jr6W6zjchr9 + LdZxOY3+Fuu4nEZ/i3VcRg/MLWIdl9NQi1jH5TRGqFjH5TTfuay1wXcua23wnctaW/HOxaogo3GW + yKLHW3BC4qLGW2zp2umlqL5BWWhpql5N6QNzi+rVGI25RX7yPjC3qF6N0fzd4igxGjOT6tUYjVGi + ejXzwBkqSya+Nr4ob/7p4X9//9Wbaq28u/z+6u3l3Rdvb96/v/nwxb/+82++uPrmi9v7yzc/+8Pq + J6xuPz99Q99SN4x72//rzTc3d19cvH17761UG0Tj5/tzpirdo5W315/u7i9vnx6pzhsam1OOfzR2 + eXfx3eWHx6dqo2/xVCWT8YmG3n/szVtpfellf0NL6tSE560sba3xnvuciRi+0MpY1wW9lfEdopUP + l/dffPjW3/fV0xvabBqN35Y6F+nY3v3bj2hvHnWuaC+TPXitPddVpa7+wfasL+e+t7elor6vtrfO + 094fY14zlZKvtbfMa+nx/raMtf9qe14GytGdWG2et3d3efv95e1Jf22GijMR3Gjv4+Xttw//48Dp + 8cbMx5O616YLm9M+3N/eXD9oZarlMG1Iz+aNfXt1fXn3g01F708jthWOWGlO8/auv3//OA1hAjER + Z5a+Y0M37x6fyK9KxUyU8UuODd1dvv10e3X/w0lr88bW0lrbF5Q/3X784puLu8sv3l1dfHf6qQN9 + kPL5Htv8eHv1wdaAu30RmKBc7830S/u/pTw+1Kml1lvjW8tEyD7T0lY3tpSJQZzW4ck74erDu+3N + z/71P6ZijvjeTu0Zi+KldkoZrUU7IxPFeqmdeV6WjnYyvvZL7VifdbaTqWpBO9/ef3x4mnVgjaup + GzzZyqc7n6se2ln4djI+Atq5stnPm2nz3KOZPjKJhEMz3159uPrm4sO7h8bq0mPCW7dMjhqNXb+7 + +Hjx6f5PD52/mR+Bn5cJaaEpswO+bw+vqbfKTsu4kGzn/uNDM6NM297MmjvHDM3cXX549/7i6ro8 + 6nHrh57TFHB38/Yvj303l1IL31Fyintq6Ie7txfX14+P1LfDENFauj9pu81bjV9mz6P9sr9+vHiQ + tm9rHBz4+ZddDhOIR0XZTv5xyvkEwufJhNteascnELaTKfB6qR1zoGKiHmPOFEyxHXo2q71sWsji + K6IjMS9ciFIHgX62qXUrbEp8UUfHZG00c358U930HNbwSN0Md9bUCy6KdcDhrel9+YLdXlvfJ0+3 + 2/OT+mvOxQiD0RsVR8HLjW5tm9ioLpqX3Ayz3Gn6/SSN+nRG3yW/3r7icPhtQ1Sn3uiLln30vjea + t1NesMr9drwFLzOTDfx8a36y9OAY0pT59v27//p0+bDUjBbm/ZjS7supodeDRsuKeXqr4k9+avvj + 26vLv33xTS1Lu+h1t7K9RBUDPlOpk2/chhOm89TRgJ9t/LIVd+26//9pKev+JfMWnqhPWZpok1/S + x8wxnEmA40tgbB9WXO1lH4ztg+mvyRbGNnzSPrKhv72Zo7HNZzJjW1Ppwdh2L5KGpPbzrq++eRje + ZplMtez6s+UiE8hGQ+/NHL15+9CQzeAdJk6mVhYNfXjs/qUvI1bsnqolRCsf728v3j7MNstq/7c3 + VNdMOgcNPTP/K152JhXItmD+z5WepLginZn/BwNXaynM/zHFmB1FtLWezP/pENWrPZNTOGvm7e1j + t5U2w7rYREPgWYCktuPUrYnyeeRmDE7WQnzjpeb8wggMmdSlyWjubze33z28s7msiPmmqrVPzcwn + J+XBYV6nbZ9SbDnNlIyfNbP7OhMmgszWkhfbWbdt/1lmx2eK2F5qx+bceJ51SV3xyHYOmRdMlian + TE3fZ5pabEpp7Hu9KTdOrz7eXb794i+XP7z/7mTyz9GJ/oT58cNmz/2IiojMkjoi/KzRZ5F2a3M+ + GKli7x4j2n0sETcwt09YxdjakwHdp4NfLETYXmitLzUcdjeg814YW2OkvPVeGl9e3micz23yGmN1 + UhyP+e/a5MP8uLDJ50yp9utt393f3H7715vbv8R8XKeD2rWvOC2CvrcmbLzcmeZsZTc5t3k6mK5a + R4fJOcW85yan9qOex3fDBzaTUxsYRzsx5quWKjo4NvS399fzo6HYYqz6+pBf9R5a+v7xedY2dvtu + ndJJlFMrR7sV/u0sRMAfGnp7CzUevKxMzTZasu5/nBxtyRpTjR/nd4GoLdkE/tBQrWX7+Zuf/fbr + r3/51a8iGj5ndpN9psVW1pdazNQNfabFbbQXW9TGz5MHsdR+8CA0xZ9a6SuCFWuZf1wr5r1GdmVd + ujhPH7yZGMa+hGhzwpM3czKH2mKv+6ub7/588T4ergoxe2/Teu/dp/enl7UtJV7WJqTr5rNcREx8 + owhxlvm5F4HA55apOkVLu51us9ZpBY84qlnJomX8PGvbuWql7nN4pbk+10YvQnxte3N370/xXXsk + Pp32Y+mUxFPNqU2gKBGjUxJOQE/di3fWzJNTMnOWz+yWf7Edc0oiq1gUU/jQjjslNQZf6u53tkNP + Yt1iJbQZR0gIPTX13OR39y9mrjV1fvZnGo3YuTXafTX654vbN7+5uv/v7y/+xK/Izz9PX3FWcNPN + cgrLYktt9n6hxSefYlkjXe9nLYnSexZG3w69lF8K6rkhFuknN8Tyw70+M8QWOuqZXf0vt2T2Vwx2 + D7yJz2TeyO0P198/NLW2KEXZchdZs6m7929v3l2eWooc8NZSW+jY0snONB3BzlRc/vrMzlz5trUR + /94rUj+8e5gU/UKAfT3a5p4tkT01dTA05w1+c80cpnFsCYZmf9HQ1PrvaGi+aLqK89vR0FxebPHH + /up1rraqvPnZ7776+ve/DqmVf6jB9aUGf+xbtAbNwX+hQU19bLCV+aUGtXGBBk2+z9/hnDozig0+ + 5Q9qpGfd+hd/5279R1jErX/x9Yf1H2ajWf+aKj7aynZ3c/04l201Qrz2ObPx7TNNbbXHG/IjZbSO + g09iZmyYVHUVyuLqCz5Jf9En0V7Z3Q93H28fp9uttMj/bH0VSj/qmXczlmjJvRvt3aOlrY0wQr3U + SfCZ64v5g3ndaFNob2s31W3IwFSfM6cinJpp1szF1d/8oaylL+15Iqhbpt6F2FX7vC1q7mV0pafQ + 5EbPDUUbT4Ut5l+ct/jt7eXlN3fvHn7x1iNfVYpZPvkJp52bPqO3iaZP3opq56bPNB1MH60bDrZG + actGWyMv2fZsnn++tM2p0/3Q4HFWHDV+plSY0Y4zkCkXFRJlMndEbOvm+uL26s6bck8zBkExgYhN + fbx8e397+cf3l9f3727++uHh8bz63F7eb05/8/f4+J9htKV3Kzx90XG2HJwttV6OOe7LMm+xgafM + Zqlqo/VsuuycLoUYgjf1vfXIxYf79vACF7OEXnpr25Y5Ag6tnmbNL4sfYn7o5vwgW86nzcO6YNNm + /pEemvr07srN+S/rWsruG5ZlVRIiS0RdvpyXLWyE4mZzXlmHdrY57KjSctcDv9BONTM7lLDMRajD + PbRjq9uM95O6kBTtvL24eGymRojsoRntNV9++zBR1GVE0aMfU545ThDNnC1D5bAMaU/03eWHtzcP + sdMvbfnHGu73A2tN/eXy9sPl9WOv1bKi11bBuzxrabSF/VaFotOHlu7+9NBM6dNBRkKGYXmMeLx9 + /GFmzB86TpPj3s7SRz20o73q64+Pqp6waa34Aar52fuhmbunvq99nSDs3sXx+v7m04f70y+DWbT0 + 1KnLaOjD1ftTlw2Eg6znu7AGeEMfL28fFDT3bYWqWxWqQB7a+fbtu9MUskzr4YE0DX18f/f927un + lsahJfGRbv56ebs9DlkUKRb/bVq3HQwhPxflYAhpQ+1gCJU6H1ZITZefM4Tq3zeEtD45mi+Yk918 + 0X4+mpr9dPhYRGelbPChqZOj/aVvP8dgmlbBK15esIPmz9hBWqu0g47mbmoyPK828iX6j5/ur67v + 3EHz/HcEKcxBk9o88/assbBCvLHULDv7D52e+7dHQy35XKemzlbs+bBia00dou+9HKLvqY6Mlg7R + d5S6uwsqNnVwQWNjtrug2s87uqAVgfy5584Y2Js6uqDbSy5oarp4ucH6PBg6p859R4Pnjuh6mH+1 + hzvMv0t05sPI1Hrzc/Nv+/vzr/hFB0c0SuTNEc2VxO4tnXmP4cO496gp8HzWLJ+ZNbXu4azZD32T + /6Hl+aS0HiYlramzSakeJiWtqXMhbwch50VRngv5aEjkX3p5RcjL3xdyfiCXMyFPc9T3upDz6ivP + TZJyMEny61d5PibqYUxoTZ2PiekzYyJlfu6tckwMdnPOYJqfSk/OIirbYUykzLi9KQZCwrjxQEhe + efPzsdU4tsRfdza24F752MrrdH5upE986bmQSDT1mbHV//7Y0rrkbETMhxGRH1xnTbmRjkjXnNza + vzd1NiIeI9wvjAitVY6I7TAi8u3UMxn3g4zzc/Ghne3gaLbk9oJn7Xg8D67vXIT3U58Pq+UwrLSm + ziJf8ZbakjrSFU0hXjV3vCePfGnv6SleNc8IWni8Kj+xVsaHxoanKanLXtAMYyh4P63m/Plo5xCw + CJOl5Y7HREuYv8yxmA7uZy6fvTd1Nq3Uw7SSnwrr82llOUwrWs9hAlgOs7PQTjvPDDBknaxj2hvi + TDIOM0l+5WnHmSQysA8zyY97Hp9J1sNMor0gZgYOIX1B242ZgbZ1NpNLye3N7JmBGTORB4bzM1F7 + PqkNTmqCqdDOJzVYCj6paV3GcP4yFbylmivyi5b2cH5sSXmYHrW3tIfh7a3Mh7etddo+za7TxGlW + MPDaszA8ur8vudLFvSWE4bmieRg+b762Yxh+MDGw9lyt6N7QIXzeDg1p7/oYPq+HlvJrbHu2Gg2u + RrljwvaWzub9fpj38y/8WSZ3HObr/BB51tB2aCj/ms5TuTMn7FyO+lk7PmHTNEqegfq8HZuw22Gm + 1d7004RtruExI6z9rH3eP0wh1kx+bjxkhCeuZjYTaS8nlo9SDs1oP+ps+Vi5fAgxxOXZ8lEOy4f2 + UFw+pnLMBmtdz5YG6wqsJfHXnWbHCaeNPSxE2k+LhWhaj/2m/bB9IWqIoyxej6Q1w4WoMI3bc7u0 + P9PScljStGnokFmuhyVN67JoqJf58ESCj3ZMUdsUQmumC3bRcr7IUo09V+m+N4RFtm3HRVZ7Ii6y + qKJ9eCRNAGxpjENL4tR2XK47l+vMLQHji7rn87A0zuWwNKYeaW+IS9HR6NceaF+KljPfIaXsvZnD + BHlmX6eMrL2l47DthwkgJcm9JQySZTtaa6k5aW+I2j4z+7QnOmi7HMZtKmvnJ+F7O38wE73FraZz + 6qbJA73E/Zxz6qZJ0POCO67n1E2TpEeNO/Tm3A7pI83frb01pzfQmaECesOtC3PudKig6zTjLtgt + VbV3pAfozJx6pFfQmanmSMftIrktCKQr7oLdUmdgH+kCWlOq0xW0plSnG2hNqU4voDWl+vHt1Jra + 37VwhKr9XeN+zjl1s+gZjTGWKos/0JwdUtUkR3oGLb/zuGFzTt0Nekajx1KbT470Alrsby9vhtbE + J59Xzi0pg/1Ic3YQn3zeDrODqFSjMTukYl5HegYt6txozC2p2PiRRo+lIjVHGmtJagfRkcZqkNrR + dKTR3yn790DjtuYtVQ13pNnfstYK+1vWGu563lJHeh5prCWp7YpHGmpJWdRHGmpJBSyONGaHVJDi + SENrqVj7kYbWUoX3Bxp3PW+pwOqRhtZSmz6ONLSWijMeaWgtVVJ/pKG1VML1SENrqXTEkYbWUjGk + Iw2tpaIrRxpaS4X4jjS0lgrIHGjc9byl9lIcaWgtFcM50tBaKrZxpKG1VG7lSENrKX/4SENrqXTM + kYbWUoW0RxpaS+1/ONLQmui9Ow2tpZJHBxp3PecOhDrS0FoqOnekobXUhpgjDa2l4nlHGloTYx5O + Q2tizMNpaE2MeTgNjyp1pOeRhkeVuafySC+I9aS2Fh9p+GOpevAjDX8sVYR7pOGPpZKQRxr+WCrk + f6Thj6W2IR5p+N+p8pIjPUDLYyzuRJ1LKmlypDfQstb6BFrWWtz1bLSstbjr2WhRa3WiZyFGJZ3G + rChGJZ3mrCgq1WjOiqJSjeasKCrVaM6KolKNxgqc2vZ/pLECq1Eqo7ECq1GqOtGzSB2qfKShNTXG + ZTS0psa4jIbW1BiX0dCaGuMyGlpTY1xGQ2upfSZHGlpTV2CjoTV1BfYAOmhZa/Qs1BXYw7GgZa3R + s1BXYN8uC1rWGj0LdQX2HTagZa3Rs1BXYN8T/0S3SV2BjV5By1rDDdmTugIbPYOWtRb2udGy1hrf + mqy1xrcmay0sbKNlrcFOLfqTw04t+pPD0iw/4skHaHmUHCxNeZTQ0kwd7XSgaWmmDqE80rA0U3XS + RxqWZqr2j3Sp1Jr6zkv4/kar77xwdpDfeeHsIL/zwtlBf2vhvRutzi0lvHej1RFaOLeomXuj0d9q + 5r6WBf2tZu6NRn+rmXuj0d9q5t7oClodY2WBWtTMvdFQi5q5NxpqUTP3RmMdU3OxRkNrai7WaGhN + zcX6EUWgZa11aE3NxRoNram5WKOhNTUXazS0puZijYbW1Fys0dCamos1GlpTc7FGQ2tqLtZoaE3N + xdYyoDU1F2s0tKbmYo2G1tRcrNHQmpqLNRpaU3OxRkNrai7WaGhNzcUaDa2puVijoTU1F2s0tKbm + YmtZoTU1F2s0tKbmYo2G1tRcrNHQmpqLNRpaU3OxRkNrai7WaGhNzcUaDa2puVijoTU1F1vLRute + /t0bfEHd0kRVb0mVch9p+IK6nbrBm1Pt1LbM7G+dZn+LI9Ro9LeawTYac4uawW5LxdyiZrCNxtyi + ZrCNxtyiZrCNxtyiZrCNxtyiZrCNxtyiZrCNhtbUDLbR0JqawTYaWlMz2EZDa2oGuy30/dUMttHQ + mprBNhpaU/NjRkNran7MaGhNzY8ZDa2p+TGjoTU1P2Y0tKbmx4yG1tT8mNHQmpofawvjDmp+zGho + Tc2PGQ2tqfkxo6E1NT9mNLSm5seMhtbU/JjR0JqaHzMaWlPzY0ZDa2p+zGhoTc2PtYVxBzU/ZjTU + oma4jIZa1AyX0VCLmuEyGmpRM1xGQy1qhstoqEXNcBkdailqhsvoDbSsFkQO5BoTowtoeWZC5ECu + MTG6gpa1hsiBnCcyOuqZihpHNhqehRpHNhqehRoJNhp5IjUS3JYVeSI1Emw08kRqJNhoeJJqJNho + eJJqJNhoeJJqJNhoqEWNBBsNtaiRYKORk1QjwUZDa2okuI2ohmpyNtXoDlp95yOqoZqcTTUaM7Ka + 2TMaM7Ka2WtjxoysZlONxoys5gWNxoysRmv8mF7Q6vgeM9SiRmv8Pi7QstYqf7esNfj++mow4L3r + q8GA/13UrKLR0Lm8lgx40PpaMuBB62vJgAetryUDHrS+lgx40PpaMhr7W9YaPGh9LRnwoPW1ZMCD + 1teSAQ/6R6wl8KCLmlU0GlpTs4pGQ2tqVtFoaE3NKhoNralZRaOhFjWraDTVImsNfmhRs4pGo8fU + rKLR6DE1q2g0ekzNKhqNHlOzikZjdlCzikajv9WsotHobzWraDRmBzWr2Ab9UDUvaDTUouYFjYZa + 1Lyg0VCLmhc0GmpR84JtnfndqlpW2mtqXrCtXA3UvKDRWA3UDFefkNEsaoarTxu0pma4jIbW1AyX + 0dCamuEyGv2tZriMxtyiZriMxtyiZriMRo+pGS6joTU1w2U0tKZmuHqZ2N+i1gZqwGfZbjEaUQvV + bhmoIJ9lu8VoRC1Uu8VoRi3EHhuoXp9lu2Wgen2W7ZaB6vVZtlvGhP2hst1iNCJkqt1iNLSm2i3j + UHev2i3jUHev2i1GQ2uq3TIOVfuq3TIOVfuq3TIOVftqNdRA1X4rav57TLSw1fz3mGhhq/nvMdHC + VvPfRmMdU/PfRsNuUfPfRmMVVPPfRmMVVPPfRmMVVPPfRmMVVPPfRkNrav57TLTP1fy30dCamv82 + GmpR899GQy1q/tto9Jia/zaa71zW2sq3Jmtt5VtTtVYO361qjXWaRc1/D9ZpFjX/PVinWdT892Cd + ZlH3hw7WaRY1ez5Yp5m73eFIY3ZQs+dGQ6lq9nwUelRq9txoaE3Nng9UmLZZzZ4PVJgaLWstKkyN + lrUGf2xWs+cD9alGy1qDPzar2fOB6lajZa3BH5vVvOCY44xDo1WtzfDmZjUvaDS0puYFjYbW1Lyg + 0dCamhccc+d3q1qbO79b1doMi2tW84JGQ+dqXtBo6FzNCxoNnat5QaOhczUvOGZYXLOaFzQaOlfz + gkZD52pe0GhoTc0LGg2tqXlBo6E1NS9oNLSm5gWNhtbUvKDR0JqaFzQaWlPzgmPGnp5ZzQsaDa2p + eUGjoTU1L2g0tCbH12bYirMcX5thK85yfG2GtTfL8bUZ1l7uHvQjDbXI8bV5o1pkrcHam+X42kxr + T46vzbTX5PjaTItLjq/NtLjk+NpMi0uOr820uOT4WqXFJcfXKi0uOb5WaXHJ8bVKi0vNKo5Ki0vN + Kg6cWG+0qrU6QWtqVtFoaE3NKhoNtahZxVEL1KJmFY2GWtSsotFQi5pVHDj33WhVaw2VObOaVTQa + PaZmFVec7jQNNSq54RSzWc69bzjFLHn975FG5F8dJRtOMZvl3PuGU8xmOfe+4RSzWc69bzjFbJZz + 71uNGtFpqNG5raPyblZz0EZjjKk5aKOpc/Wdd9QczGoO2mjMa2oOeuuo45rVHPS2RqVlkU8L2Nbw + 3ou8Y9/oJWh5fK/hfycvnD7SA7SqtTU86CLvmt/W8KCLumveD3TCOiZWDTjNMaaNUKcxxsS8oB8m + BbtFzAs6jVVQzAv69iWMMTEv6IX6GGNiXtDLQvHOxbygh+v5u7XZwWms/uIK7MF+9piotYLTlY0W + tVZwunKbxbygB2DRY2Je0DsJY0zMCzaecGy0qDWecGy0qLXaaGFn8oLfXF5fv7+4un7zi3ffX93d + 3P5gDT397Y8Xp799cXHn94f+x2Zf1X/+9Gnsn9anT2XaP8XNd1NuN1nqSeb9Uea5nr52Nnd9/1T2 + T/PTJ1xw74+SEMNLj3L36erd8xcy6nJ6IVvbxv5p3T/FVcSlpI7Sf7j0ka/A/nn/3jI9ffM6lfXx + +/zTun/anj5tZf80H35/Qs6vP0PZn6HYpPDzp0/b06d12j+V/dPxGRKD4vVn2HWwmnf02AP+aeyf + 1v3T6bna1p7+7ba2x0+Ljbb909g/rYdnTQzB15+17s+6+V3HT5+2p0912j+d1DtNSz88Q2Ygv/oM + LYbwXNppkJoDv3+Kvy37p75/GoenSSxCrz/Nsj9Nrf30m+3TvH+q+6dl/3R6msrrOafcpsnXn6bv + T7P6bfZPn/ib1x8zaj5c3t+//fh86lp7KSfZdb+E/enTun/anj7N09Mn3I0+5XY1fXNz98XF27f3 + iUlsfZq37VN5+nQaGv5p7J/W/dN2+mRi3T8VTnYZ+/DLi+8v+Hx/tn/+48XH23kq7fCcp3ZHX//B + ZsfZz//Fx1ub5/1fvPmX3/4h3nFNVZe88kXb575oO3yRGeGZGeZzX3R1bS0uZ1/1zxe3b35zdf/f + 31/8ybrmf//7r37xf56+b82dWPHq1/XP/bLOX7aV1M77F7/p28tvXvhZv/36619+9av9l5SWqcF5 + sf0/X3x4TWH/WLPnr+fLiw+fLuw/2l/Qm5/97quvf//r/YdsqWPbXvnGc03jG8fTN/7nr371e84h + NVX/9PKXfrr+7NsbNZPs+lyzP7zQ61/dfPfni/f7y1paJtL/2hc86x/783P1th8/f52+51mvnL7n + 2UTzo2V88/b+WUecD5Nh/kRivX6l/fMO+frt/c03l7f+Uxb+lHXUjGv8yjed9wy+6dg5IxXwOf+m + 33y6vr/6eH355j8+XX+4vL345ur66v7q8u44YT79mpramnD9X58ub3/4+P3fW2S/nKZtOS2t5lU/ + +QfLMu2f9n+7zIdlNPFL/+0XvzsYHhd3Yd0cRueSSWS/0tqM1sxoyFhFr7RW2VpdM+r5t9//9tDa + fdhXy6OrUZ4M61LqFHNsz4SMvPXv6+e+YLehhzl2j7aqf6r7p7Z/WvZPtONrxvd8/Rl2W9XjiCcv + xi8M2T/F35aTt2MWxj5w5pqJ6b/+CGN/hNFProR13ZPNan9bnv72ZL2OrW4Hkz0RSXr9GdYIA5Tt + yXVZp5PbYH97cmz2QTe7G/z4aepHdyZh573+NNv+NL1OJ4fFPvX909g/rfun7elTOYQnMlUuD0/T + MjJddknaJwoxOxg++y27C/eZEffwLQlT4PVvOcg9RD5T0Alz4PUvgaD3eIYXLu1fsqWq+1//Eir2 + ycmc53XwS5Lz3+e/hEJ8cuTs0yH2kimE+vrj5Yff/e7X/Job+9Pd3Z/OIlFP7ZrHnvFiMu2W83YT + rz7T7nzebmJ1T7TLZkddMsn9RKudK2PvmUk70epgq+uScQASra5odZtSF1cnWt3Y6tIyqYsXWmWL + x47KZGnPG3z+lGedLzwkbdCXfn89NF0zBeXZptvB3U3tPM42vVBhy5ZZzB6b/uq5Fq4/95YT63Wi + 0cMENkbPBCsyzZYXvbB1ZOzPTPunMOIxqlNaZrdDpvmDTT5vmY0rmWbbi858WzOJvUz7B+GtqRNh + M82e7I9jvMaEnV5DX29+vPhWPDfw07T/aHT80/N/cTIUfvnvX//nv+0WyNQyJRyJ7z1bEzNFZ5lW + OWC3nHWZafY0YM8iZNuSKjHMfMHB8phGqgw+0249a/cnmm3ndt7uT6P2eTlv96eZEWcaS8V8kEw0 + NdPuOG83beG+3i4NprLM4yeaY2eaTJ6zy2xhS7Rbz0bzT6OGOp0/7U8z97Szp/1pNLactfrTKKyf + tfrT6Gt88e7G5rNfX17c3lsDl+92I8SPo/xJvmL1r3hqtbW8Bflqq9uh1SWzl/CFVj9vOGZKK397 + eXuo+vho//wZbY1MfPi3N3+9vP31L978y/Wnu/vL2ze/ufhw8d3l+8sP92/+8OHu4+Xbq2+vLt+9 + +ffL9zf3l2/+5ebDt1fffbq9uL+6+eD/7dXHT9cP/3D61u4ll3//W28v7+6/+eHqw827y0z2d5mf + MrjL2D+t+6dTpGqdSj0EphP9c/v+7ubtX/gMj395lhT/cupmf/z86dOyf+r7p7F/Wp8+1Z2oSzxa + rtT89u6Hu+ub7w7P9vinF+Wz9YwZ8/vLt3/6cGNt/PDmq8vvL6/ffP3p/s3Nt29+eXF/+fR8rZfy + P//vf/4/vTzqpvszCwA= + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 19 May 2022 10:30:14 GMT + Expect-CT: + - enforce, max-age=86400 + Expires: + - '0' + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-hy4nb-ap-southeast-1-prod + X-Request-Uuid: + - e3273251f5ee02e4d6de0595e5408a0d + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.1; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/editor/policy/112/families/30 + response: + body: + string: !!binary | + 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 + rCvAuYKBInP9+39//x+kO6YNpnUAAA== + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 19 May 2022 10:30:15 GMT + Expect-CT: + - enforce, max-age=86400 + Expires: + - '0' + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-hy4nb-ap-southeast-1-prod + X-Request-Uuid: + - 8d5d0a3e7244a90f890008280b6799a7 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.1; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/editor/policy/112/families/27 + response: + body: + string: !!binary | + H4sIAAAAAAAAA52X227iSBCGX6XF1Yw02fH5kDtzZgXBwmwS7WgvGtNAK6abdbeBzCjvPmUPQbmI + uzJzhZXQn7v+qvqr+NE5FNWWC9W5/fajozTVFTx2mKCrgq07XzqC7hn8IVnrkgqSzDPSk/tDwanI + GentWP6k4Ft83bkN7Ti2X74YKUVONSvIks8MINtyQtdCSHv6XcJ9Hgz3cTwnQCglh3+SgeEysRO5 + EUapVtQUj+/armtmdIuK9STVJC3l+TkbtUdleSGiTbeUOV0zMqSrkufGjEWeY2Y13yep5EKTUcKT + VlbgBGGMsLjKJUl6k3al3DCM/I9QhrxkB3liZTvLiZzwQ6yJQSIvCCI0LF3yM0kOAIDy5lCWfVbw + IyufDSXhRQFSVhfuIxMZK4+GSIPYt5E09qmmK6pYK8N1I9tDGKwoyFCWObMtMlya6srxAsQJBmdd + sj0jl89HE821faSPh357//puhAhd19LguV0baLkAqQGQRfMteBtpnkzRgLkhyRoxwaBxSZaNDdUd + h1jCRlJuCzhXyGpN0oLqjSz3hpK0rBBRapzW/tSroByNASLJH1f0xDi5X6TGpIdmyqQ7IxxagzPV + ivHDKEDc8u9K8AN0F3zKdhDYW4SAZjwvpZIbTZLvVWkQKHax0GZ8vS7YiTYUseHbqnw1Fs3y5unT + lIvqTL6SfwQ/f37Noed6HjJpZnLFoSr67MjhZjMq6NbgLZEdY2U2k2Ir+932eAPfRu50xzTYJ0lS + w2iwHdtGZLtgarMj87tl0l5eQRC7SFjzzaYWyA3avcW2Yh+rivkB/FtTGKKtEgeuh9jL/D6Zkl8J + b6W4NuZzDeWBi7U8tRd6zUFuk9ICxnihJQHBT7J8UiRN7m4Mphd4oBQChbWgn2UkvyKukyl2sAtd + zr55/Q2ZiNrufrXNlNEnKPOrd3ohNp/eQd6S6xRdMJrv6hNkU8o90TsGr9OsFExfjceP/uQVYyrW + BRdbWN4KeFEqFdewSlyFtCwHKbh3sROhWH4xpT0Y3mVPGVNFuoy9+kqDaW4fOBZSTO++JqVKXSGQ + OGyLfx9SL5s3cnOTURD4UzrPPpMMbLW2w2vjRZ79J+wF20sY0kmeM6WuVKMOv197t2TJlFbwsv8r + Xm83Qqs3miBlsQCvUAeamwcIshAtxoP79vOhFSPi1dKrTb3r/QUNabD20EbCyXpgw2968WrAoY8o + 25w0m15NQWZCQ8FMr+Ygijacx9kUsqqqQr89iXRKJqHfHpLplDRP5l/QPmKT9bRvPQ8TEpOjOT+s + FwBYLHRdmYYtHjXt+1nTPsceq93v6zE77Jhh8wk8D4vvgep8N6pouTbMSwdbx7F810Ih+X5FfEyr + eqIgLfXvckAW8+yu/ae9DbubE7389/ITLX0jrJURAAA= + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 19 May 2022 10:30:16 GMT + Expect-CT: + - enforce, max-age=86400 + Expires: + - '0' + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-hy4nb-ap-southeast-1-prod + X-Request-Uuid: + - a5681187f15b4dcad4b6ebe6603ea168 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/cassettes/test_explore_assets_v3_search_all_assets.yaml b/tests/io/cassettes/test_explore_assets_v3_search_all_assets.yaml new file mode 100644 index 000000000..39520504e --- /dev/null +++ b/tests/io/cassettes/test_explore_assets_v3_search_all_assets.yaml @@ -0,0 +1,247 @@ +interactions: +- request: + body: '{"sort": [{"last_observed": "desc"}], "filter": {"and": [{"operator": "wc", + "value": ["linux*"], "property": "operating_systems"}, {"operator": "eq", "value": + ["AWS"], "property": "sources"}, {"operator": "eq", "value": ["host", "webapp", + "cloud_resource"], "property": "types"}]}, "limit": 50}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '294' + Content-Type: + - application/json + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.4; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: POST + uri: https://cloud.tenable.com/api/v3/assets/search + response: + body: + string: !!binary | + H4sIAAAAAAAAA+1Vy27rNhD9FUPrUOBTpLQLkLso0FVvgAIpAoEiKYepLKkS5dQ3yL93KNk3TuIg + SVO0RVEvbMkczuPMmTn3iR5HF8ak+OU+0XdjqbfaN7ryjQ+78lvXuqRIphE5PQZETHI2G41T1bpQ + eguHyzMiXFIpRQ4Wvt9mpbZ2cOA6er4+S8ZuGsz8kpz//DW5Xvw4Q0vfjkG3xi3ePMLWYYkJryV3 + eS2k3Mfs7lo3LEYc5zhTNJeMqCUefxIvYakSKWE8ZRTOiaQpIynNUiJwDG392Dd6V260OdwDr1gX + qi4EL4gqJCkEgatQ2V03/JoU98kcGe8/6MTX4ROv6U3E7cLVempC8vAY8jhXsHiaaO2HMZRdNbph + 62I4iilBBCOqLoksWFYQnHKprmLRY2ld40K0q3UzurOk0S9uU4QFIvklzgvGC67SnPGr5AT48BNc + uc97mNrWt+sYZYY7z6WtKo4ckRhxLSzSOVXIGJNlzNiMWbH3ue3N0iJ4QNRirDIRATlCeunQS7Ch + L2HXL6em6SYL1266McQDMzgdXkUkJ+JkTXrjl2TgAWEtjRM5kKaulAbmwI0FKx1815aPBL3/UB8+ + APoe3cj/h+u5g403rh2PWniooR86O5lQms7GK1rd7nZtzW9up9DdmLDhpKPfiNpE0vxm2xk03yNg + OmIE0QwB01NwlPo2uKHVDRjCK2JIQWqMI0ZT0236KThEUr3RMOkQO/53cjbXQzf1Mz3mUHZP7Ngz + vV5Am5E2GJOM5BDIRaoIIlDlFADCGCUcCCGZhlQMdHPdDTu4cZuCh0j+rW6mWGtsTCQCPNodRPQG + 5mfvPqPOUcygPKks4jKTqKpZjTRX1tQcU6Gyp+4B7NX5suEeQ/y08HulW7s6N8Fv3aobVhf7cXo9 + vM15rVxloLk1hM+sRipjGgZBapsRgiv5rLqvM6tWUOLqy8UPl18uVselRia8jAagdr0bgJbtuhx3 + Y3CbGfQffTv9fry+Yufjynyj7wfz507h6uJy6ffg1jAHx9seDhbLcp8imKHIogMtljXUTxXwOCnC + MLnvJH8rqQPD9uZNTKSsB2/iMDawJkp6aqT3iQSaAlRDByZTbx9Xw7PJy1MmydXcv3+HtAksFOXK + GUutrgV/RbwoViAKKReP4kXyVKqD79el8HVlY0WWFzUvLCk0+1uU7biKd25U8SllYx9WNiIr7Gqe + IVbDLMNGp0hJLpAgmaA6VwCu/jPK9hTsTygbPq3WT5Ut59LSShNYjqSupfi8son3Kxt7p7KdkCmS + I6lOqxRwB2QKBOR/lfrPqdTJtv/DInUyp7c1ivwlGiXw1Yxnr9e+nWc2buXGb3xICoEB+y5AQgV9 + ePgD/X0lk68NAAA= + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 14 Jun 2022 06:43:30 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-orlc5-ap-southeast-1-prod + X-Request-Uuid: + - 11f4daa15b7f31c7bd97465f77148bd1 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: '{"sort": [{"last_observed": "desc"}], "filter": {"and": [{"operator": "wc", + "value": ["linux*"], "property": "operating_systems"}, {"operator": "eq", "value": + ["AWS"], "property": "sources"}, {"operator": "eq", "value": ["host", "webapp", + "cloud_resource"], "property": "types"}]}, "limit": 50}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '294' + Content-Type: + - application/json + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.4; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: POST + uri: https://cloud.tenable.com/api/v3/assets/search + response: + body: + string: !!binary | + H4sIAAAAAAAAA+1Vy27rNhD9FUPrUOBTpLQLkLso0FVvgAIpAoEiKYepLKkS5dQ3yL93KNk3TuIg + SVO0RVEvbMkczuPMmTn3iR5HF8ak+OU+0XdjqbfaN7ryjQ+78lvXuqRIphE5PQZETHI2G41T1bpQ + eguHyzMiXFIpRQ4Wvt9mpbZ2cOA6er4+S8ZuGsz8kpz//DW5Xvw4Q0vfjkG3xi3ePMLWYYkJryV3 + eS2k3Mfs7lo3LEYc5zhTNJeMqCUefxIvYakSKWE8ZRTOiaQpIynNUiJwDG392Dd6V260OdwDr1gX + qi4EL4gqJCkEgatQ2V03/JoU98kcGe8/6MTX4ROv6U3E7cLVempC8vAY8jhXsHiaaO2HMZRdNbph + 62I4iilBBCOqLoksWFYQnHKprmLRY2ld40K0q3UzurOk0S9uU4QFIvklzgvGC67SnPGr5AT48BNc + uc97mNrWt+sYZYY7z6WtKo4ckRhxLSzSOVXIGJNlzNiMWbH3ue3N0iJ4QNRirDIRATlCeunQS7Ch + L2HXL6em6SYL1266McQDMzgdXkUkJ+JkTXrjl2TgAWEtjRM5kKaulAbmwI0FKx1815aPBL3/UB8+ + APoe3cj/h+u5g403rh2PWniooR86O5lQms7GK1rd7nZtzW9up9DdmLDhpKPfiNpE0vxm2xk03yNg + OmIE0QwB01NwlPo2uKHVDRjCK2JIQWqMI0ZT0236KThEUr3RMOkQO/53cjbXQzf1Mz3mUHZP7Ngz + vV5Am5E2GJOM5BDIRaoIIlDlFADCGCUcCCGZhlQMdHPdDTu4cZuCh0j+rW6mWGtsTCQCPNodRPQG + 5mfvPqPOUcygPKks4jKTqKpZjTRX1tQcU6Gyp+4B7NX5suEeQ/y08HulW7s6N8Fv3aobVhf7cXo9 + vM15rVxloLk1hM+sRipjGgZBapsRgiv5rLqvM6tWUOLqy8UPl18uVselRia8jAagdr0bgJbtuhx3 + Y3CbGfQffTv9fry+Yufjynyj7wfz507h6uJy6ffg1jAHx9seDhbLcp8imKHIogMtljXUTxXwOCnC + MLnvJH8rqQPD9uZNTKSsB2/iMDawJkp6aqT3iQSaAlRDByZTbx9Xw7PJy1MmydXcv3+HtAksFOXK + GUutrgV/RbwoViAKKReP4kXyVKqD79el8HVlY0WWFzUvLCk0+1uU7biKd25U8SllYx9WNiIr7Gqe + IVbDLMNGp0hJLpAgmaA6VwCu/jPK9hTsTygbPq3WT5Ut59LSShNYjqSupfi8son3Kxt7p7KdkCmS + I6lOqxRwB2QKBOR/lfrPqdTJtv/DInUyp7c1ivwlGiXw1Yxnr9e+nWc2buXGb3xICoEB+y5AQgV9 + ePgD/X0lk68NAAA= + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 14 Jun 2022 06:43:31 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-orlc5-ap-southeast-1-prod + X-Request-Uuid: + - 1a7d9a33061f06a223b26033226fa487 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: '{"sort": [{"last_observed": "desc"}], "filter": {"and": [{"operator": "wc", + "value": ["linux*"], "property": "operating_systems"}, {"operator": "eq", "value": + ["AWS"], "property": "sources"}, {"operator": "eq", "value": ["host", "webapp", + "cloud_resource"], "property": "types"}]}, "limit": 50}' + headers: + Accept: + - text/csv + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '294' + Content-Type: + - application/json + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.4; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: POST + uri: https://cloud.tenable.com/api/v3/assets/search + response: + body: + string: !!binary | + H4sIAAAAAAAAA72Uy47bOgyG932KwGvJ0NWS3FWBLrs6p0CBbAxZkmfcOpaPJWdO+vSlc5mmTabT + RVEvHJIyyV/Up9in1Ni97Qfb9kOfD83XOAZkIRoca/oxZTu60Nhd3/QeFTcLD3Ncpma0u5CK27S7 + KfCTwzHlTkY+TN/br988O9Mc/eJy46I/BePTGOa1xerM4aGP49FMSzuGfFnYT2413Rygq0e+T9Ng + D033nx+fnX7ai8Z6P4eUnoM7625icQqzzf340KRDymGHun5OuYltCvMeqq9VE4J21xVDWt3q2k2N + D0NY9YA59C6M6WRPSwsuGux11SslkHwcCmzwKc5fSmh1MY/xUw5IjGOT4jI7SPhZdEKXlZN/mnm2 + DwmtVkLL5NdZvVkSDiAEU4fg/DGxygVpmFFdq63iFPnQ2WXICNZ8IIpQ0SkRTCeVQvMyjtATZVbu + ejdHNPTj8n/Tzb1b1Q2wmYYBHfrz4TB24vHzkuOjyztBI/tK9a5AghhSaWjHqUbPWtDpeDEViikl + DYIDxswToitJECOMYkow0x+pqnlVU1IaKreo6CdMFcOcYlZhKkkJTJX9mMM82qFAvNSypFyUnCFi + a93VUtRU14rWkqIPq/a7xYXSrxVHG/Awx1piaIA5K13cTUsOmJZ2Z+HCAadrrECFMEb5thU4UEWw + sNJja5jGzrmq4s5X3Ev47FrtBjqXnJasKqFzgVBnhxTO7zwvYdXNMIHu5iMxNRe10KXhYntno6+N + qSDnB995XZ4CvT+DUbz79O/bl8b29iVdxXnekLxeYbyO7/IHgQqKNv+c2NrY0W/eAU77sInz5v35 + Sm0gD5S6IS7gPMaUizsjMCVXdHvDuBHKs9ZSFgLtOiWvGZdEaiZ0cJ5520nxW4xT9OdAJuIH1qjB + St9wzIgGNEohj8fL68rUnag9rS3/JcfyldoXjKE+cIyF/AXGVLUkdKLCvPMWw2EzrJWQWNJKMms0 + DMQeMf4u9oIxNaXSv08x397Z5isz+nMQy5cg5n8NYkm2b74B6+sgrMUHAAA= + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - text/csv;charset=UTF-8 + Date: + - Tue, 14 Jun 2022 06:43:32 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-orlc5-ap-southeast-1-prod + X-Request-Uuid: + - 6795d635e8a91ed74b77c76de9337746 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/cassettes/test_explore_assets_v3_search_cloud_resource_assets.yaml b/tests/io/cassettes/test_explore_assets_v3_search_cloud_resource_assets.yaml new file mode 100644 index 000000000..8a4f35da8 --- /dev/null +++ b/tests/io/cassettes/test_explore_assets_v3_search_cloud_resource_assets.yaml @@ -0,0 +1,224 @@ +interactions: +- request: + body: '{"limit": 5, "filter": {"and": [{"operator": "eq", "value": ["CSTest", + "CSTest-ip"], "property": "name"}, {"operator": "eq", "value": ["CSTest_group"], + "property": "cloud.runtime.region"}]}, "sort": [{"updated": "desc"}]}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '221' + Content-Type: + - application/json + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.4; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: POST + uri: https://cloud.tenable.com/api/v3/assets/cloud_resource/search + response: + body: + string: !!binary | + H4sIAAAAAAAAA9VTy47bIBT9F9bBsnHAj20/oVm1qhCPS0prYwtD1GmUfy+2p5k0yagZqV2M5AXm + vs65nHNEYpogTKj9fEThaYT5hFQ3RM09TEP0CtCXDVpPl8Hogu2XWCemwDurwE2g+aSE40uoRSQn + BOcFJvkuZ+2WtGWdkab8hDZIeRAB9G1S2eYkY4QuScuoZxQtEj9jurTTeRhqjegm2KAg9jO2BMZY + n9AMcgJ/eKg9ao9IDX0/uPkE7mD94Hpwy04QK1mjZSOxNlrhrVYGy6LKcSFLKgWVFTP1vIMESoTg + rYwBzqjSZXRTHMfBhwuwv/fK530nhCuntI8OtcHHmY7h10mJuwff8zHKxJ7bMVWZITrNbVq34VMQ + f04WMQzzY3RwO1il3P3gn9bhox8OVoNPf9F9X9FYoV6a9X0MQnbAtbcm3GnnbbBpkg2pI81PKfSs + jrRRJxYpfPi4gyngBfdhVOcbvvdDHFcU30CFe1Szy2IPezu/1XX9osKHxHc6LRQ1dHD5LEuD14Vz + Kd47nOxcoitNSlMwbHROMGWMYSFNjSmRkBfQMC3qlBtHfa39apfXLWEtpVlDZ4yb/2jHotoVRUvS + V2a0YPft+JJEM9o0/9qOr7V/Z3bsrIs/eAIZouh4L9RX6+BdWvNxX97lnJ27vNmgN3J8o0HvyPma + 2epOCluQW4MpJSy500jcMGEwU3VRGjB5Vf/NndusrEgCmCQ2ir11IthVqJ3tbdoRTWIZwqwccjr9 + AihG/FtcBwAA + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 14 Jun 2022 04:48:53 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-dkrsa-ap-southeast-1-prod + X-Request-Uuid: + - d0377aba37f984fb884e2d7552aaa935 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: '{"limit": 5, "filter": {"and": [{"operator": "eq", "value": ["CSTest", + "CSTest-ip"], "property": "name"}, {"operator": "eq", "value": ["CSTest_group"], + "property": "cloud.runtime.region"}]}, "sort": [{"updated": "desc"}]}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '221' + Content-Type: + - application/json + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.4; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: POST + uri: https://cloud.tenable.com/api/v3/assets/cloud_resource/search + response: + body: + string: !!binary | + H4sIAAAAAAAAA9VTy47bIBT9F9bBsnHAj20/oVm1qhCPS0prYwtD1GmUfy+2p5k0yagZqV2M5AXm + vs65nHNEYpogTKj9fEThaYT5hFQ3RM09TEP0CtCXDVpPl8Hogu2XWCemwDurwE2g+aSE40uoRSQn + BOcFJvkuZ+2WtGWdkab8hDZIeRAB9G1S2eYkY4QuScuoZxQtEj9jurTTeRhqjegm2KAg9jO2BMZY + n9AMcgJ/eKg9ao9IDX0/uPkE7mD94Hpwy04QK1mjZSOxNlrhrVYGy6LKcSFLKgWVFTP1vIMESoTg + rYwBzqjSZXRTHMfBhwuwv/fK530nhCuntI8OtcHHmY7h10mJuwff8zHKxJ7bMVWZITrNbVq34VMQ + f04WMQzzY3RwO1il3P3gn9bhox8OVoNPf9F9X9FYoV6a9X0MQnbAtbcm3GnnbbBpkg2pI81PKfSs + jrRRJxYpfPi4gyngBfdhVOcbvvdDHFcU30CFe1Szy2IPezu/1XX9osKHxHc6LRQ1dHD5LEuD14Vz + Kd47nOxcoitNSlMwbHROMGWMYSFNjSmRkBfQMC3qlBtHfa39apfXLWEtpVlDZ4yb/2jHotoVRUvS + V2a0YPft+JJEM9o0/9qOr7V/Z3bsrIs/eAIZouh4L9RX6+BdWvNxX97lnJ27vNmgN3J8o0HvyPma + 2epOCluQW4MpJSy500jcMGEwU3VRGjB5Vf/NndusrEgCmCQ2ir11IthVqJ3tbdoRTWIZwqwccjr9 + AihG/FtcBwAA + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 14 Jun 2022 04:48:54 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-dkrsa-ap-southeast-1-prod + X-Request-Uuid: + - 8fc48fc1b00fd51060a003eb312e9a76 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: '{"limit": 5, "filter": {"and": [{"operator": "eq", "value": ["CSTest", + "CSTest-ip"], "property": "name"}, {"operator": "eq", "value": ["CSTest_group"], + "property": "cloud.runtime.region"}]}, "sort": [{"updated": "desc"}]}' + headers: + Accept: + - text/csv + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '221' + Content-Type: + - application/json + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.4; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: POST + uri: https://cloud.tenable.com/api/v3/assets/cloud_resource/search + response: + body: + string: !!binary | + H4sIAAAAAAAAA7VUyW7bMBC95zN0JgWJMinL135CffKF4DJ02UqkwMVo+vWlY8tG5BhJDwUEgjNv + lvdmCFVq9FnXyk+TdzW4kw3eTeBSrFD1DjM+O82t48nwmESCdYCdppyEHIHrYE16gCMXKQUr8wep + BcvJ86jEWMA1ZoV68AUQ42OV7GKeZx8S6FWZOfiT1RBWOQGiz0EBV0XR0YfXNbV7QLDJFn42PY9J + r/ODtjKuj/GQXbIT1KOI6ay8TLaYC+0FdWKClatI+QkqrbwBjta7lfM0XyfHLwyQKnMrw0HGhtLV + ywjhVExbvsg1jHAGy3W0Clws9zd2i3WnefHf8t9YXlpElMSxHEVqRHnW53YvFevYoOUgsTZa4Y1W + Bsu2b3ArOyoFlT0z2woZMUZ4eqaQl2t2vxCiDULiTw4QJj5nWUhyOyPSEIKbFpNm37Ddhuy6bU2G + 7oC+fd9DTLiEVA9Z9Q2srnH8GHye3xslbV2+2zWkZoQengOV7jXpTMuw0Q3BlDGGhTRbTImEpoWB + abHS/lTDF8Rd1n19AGgxry/wXqDfN9sdYTtK64F2h/+3oduwR+vyb15+MCmLkU9C/bCuPPeFUdvv + 23ZHytfVtGWLpE/yr4v76tbuTWhNh+HwHKg0hQ3IjcGUEla2ZiQemDCYqW3bGTBNv32ytQcln0n8 + 15Vt6q4nh5e/TqN9orwFAAA= + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - text/csv;charset=UTF-8 + Date: + - Tue, 14 Jun 2022 04:48:55 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-dkrsa-ap-southeast-1-prod + X-Request-Uuid: + - 3a6cd48a13f19a69dc858e7cf44c8dc9 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/cassettes/test_explore_assets_v3_search_host_assets.yaml b/tests/io/cassettes/test_explore_assets_v3_search_host_assets.yaml new file mode 100644 index 000000000..473020f0a --- /dev/null +++ b/tests/io/cassettes/test_explore_assets_v3_search_host_assets.yaml @@ -0,0 +1,226 @@ +interactions: +- request: + body: '{"limit": 10, "filter": {"and": [{"operator": "eq", "value": ["AIX 6.1", + "AsyncOS"], "property": "operating_systems"}]}, "sort": [{"created": "desc"}]}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '151' + Content-Type: + - application/json + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.4; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: POST + uri: https://cloud.tenable.com/api/v3/assets/host/search + response: + body: + string: !!binary | + H4sIAAAAAAAAA9VU0W6bMBT9lcnPgdkGDPit2vawl+4hnTRtmpDBl8QaAYZNu6jKv++aJE3a0kqR + pkpDUZDM9fE5597je6KsBWeJ/HFPTH8rCqX1ALjml34uiINWlQ0URhNJaA0Apc6SVOdxqpWiosoT + DaxkKU9TQRbEduNQTZvJ9afl8uuyWH64uiaI1CjrisZU0FrQha1UWzizAYTllLOA4U/csFxSIaM0 + pJR+RzikFD+iRFjOQyaykIY8Eh5XG9s3altsVHWs9FSp5EwmIEsheS2BIlgL7q4bfhGJUic5hyeY + +Ts+fpuaWH6EWo2NI7vTkefssOIxtQWpzYCSu9LCcAv6XCi9YbFMqIzog1BbaGjA+bpaNRYOhs3t + fm7TVKpGt4bWmUq5Cwz2yBoEg0jpIBG8CuI6y4JcxHEQRVnG8jKLsqm3Zw7ve/HcZD8x237/dd1Z + 5xeqAZSb1x/nIc9Sz2OvUznTtcVphu4v8vACww49PR/R3c+pC8cJfWhD/Vu3kx5l/ggW6irUsOlC + 001i1eoQlK6HAem3q8JurYPNtOXq87d3ImTnY+rh8ORnYKeKp0hYfcTBfE1LhTcZ11fQYm0T9OPQ + dxbw+1rZom/GlWkL7BPOK/Jww4g6TGudaho/Gl3t7tQAnmHVg3yvJJ7ZllZPb2vXMgljsvejH0u0 + 5MGNg3Ez9Mden9rMAyoCFt1QLrFL2GYRTb77mShewtgt5u+gN7xTEu5h3+6iwPPe8p6Y1ORK8TpO + eRBrLoI4KiFQlSgDyjJe66hSQuTkwhyLME//lxyboWv7bnAXRtlu2+rLcibKc3ivp/kA9TTNsClB + a6T8z2Ich8mrMZ6n/mKScxmxUMTZ0yTPwfg29AoFTLPgo9SYjXFEMoped6iBSL7b/QWckHU8gQgA + AA== + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 14 Jun 2022 04:48:50 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-hy4nb-ap-southeast-1-prod + X-Request-Uuid: + - ff68dad54702abc29e7d1889b85a21bb + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: '{"limit": 10, "filter": {"and": [{"operator": "eq", "value": ["AIX 6.1", + "AsyncOS"], "property": "operating_systems"}]}, "sort": [{"created": "desc"}]}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '151' + Content-Type: + - application/json + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.4; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: POST + uri: https://cloud.tenable.com/api/v3/assets/host/search + response: + body: + string: !!binary | + H4sIAAAAAAAAA9VU0W6bMBT9lcnPgdkGDPit2vawl+4hnTRtmpDBl8QaAYZNu6jKv++aJE3a0kqR + pkpDUZDM9fE5597je6KsBWeJ/HFPTH8rCqX1ALjml34uiINWlQ0URhNJaA0Apc6SVOdxqpWiosoT + DaxkKU9TQRbEduNQTZvJ9afl8uuyWH64uiaI1CjrisZU0FrQha1UWzizAYTllLOA4U/csFxSIaM0 + pJR+RzikFD+iRFjOQyaykIY8Eh5XG9s3altsVHWs9FSp5EwmIEsheS2BIlgL7q4bfhGJUic5hyeY + +Ts+fpuaWH6EWo2NI7vTkefssOIxtQWpzYCSu9LCcAv6XCi9YbFMqIzog1BbaGjA+bpaNRYOhs3t + fm7TVKpGt4bWmUq5Cwz2yBoEg0jpIBG8CuI6y4JcxHEQRVnG8jKLsqm3Zw7ve/HcZD8x237/dd1Z + 5xeqAZSb1x/nIc9Sz2OvUznTtcVphu4v8vACww49PR/R3c+pC8cJfWhD/Vu3kx5l/ggW6irUsOlC + 001i1eoQlK6HAem3q8JurYPNtOXq87d3ImTnY+rh8ORnYKeKp0hYfcTBfE1LhTcZ11fQYm0T9OPQ + dxbw+1rZom/GlWkL7BPOK/Jww4g6TGudaho/Gl3t7tQAnmHVg3yvJJ7ZllZPb2vXMgljsvejH0u0 + 5MGNg3Ez9Mden9rMAyoCFt1QLrFL2GYRTb77mShewtgt5u+gN7xTEu5h3+6iwPPe8p6Y1ORK8TpO + eRBrLoI4KiFQlSgDyjJe66hSQuTkwhyLME//lxyboWv7bnAXRtlu2+rLcibKc3ivp/kA9TTNsClB + a6T8z2Ich8mrMZ6n/mKScxmxUMTZ0yTPwfg29AoFTLPgo9SYjXFEMoped6iBSL7b/QWckHU8gQgA + AA== + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 14 Jun 2022 04:48:51 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-hy4nb-ap-southeast-1-prod + X-Request-Uuid: + - fa7557367201ed5581d36cacc53eb0fa + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: '{"limit": 10, "filter": {"and": [{"operator": "eq", "value": ["AIX 6.1", + "AsyncOS"], "property": "operating_systems"}]}, "sort": [{"created": "desc"}]}' + headers: + Accept: + - text/csv + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '151' + Content-Type: + - application/json + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.4; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: POST + uri: https://cloud.tenable.com/api/v3/assets/host/search + response: + body: + string: !!binary | + H4sIAAAAAAAAA71UQZObIBS+76/oeAYKqKjsKdP20Mv2kHSmsxcG5ZllatAK7jb/vpg02XRjDu2h + jIO878nn9x6fNiPoAAYZ64dO71X7w7hzYIfnTGljRvD+DO50c4X1A4w6WLdVfu8D7FBrRx9UX3sY + nyP7zOrRk/Zq6KatdSrunroQoT4+5vQOkDXIOh9014FRvm/Dix4jeqEA/ByKy9ArAx3M+uOysw04 + f1wPUx1DlHQ68uspPIELtpkrVb7RTgW7gwQdsqdtr4kjfhZ/UXB850Gsg/DSj99JFH1aHvDjntiJ + 3sUaprGJG972xqNT5hirsB8ABb31KIDTdQcq0s6gR9NgZs13nHKGWbzohmUypzKrCC+LR6TtT8GI + aYiBXU9sj1jFCRMloYSnAlEqOZM5yFpI3kqgKFl9/vZOEJagK86UEkrpAmcYJ7hGEwOCQaoNzgVv + cNaWJa5EluE0LUtW1WVaFiJBSTOAfK9lbIOrvTncvX+SOcmSN2pRqzsPf8xnkWLDKkmFTIujyL9P + XPfiuiT6e+CF6TQS9BFaHd2LkodP6/XXtVp/WD3c32rn/S1BycVZXBChLbhomA4P0zj0sQVRVQsA + tSnzwlRZYbSmoqlyA6xmBS/mJs+f0Vw5x1Rglm4ol1FENIlI6eOCewSpiugeO/Zu6MewbKCcI7Ty + e9d8Wd82yxLFwS9LiaTSmrdZwXFmuMBZWgPWjagxZSVvTdpoIarblslInrzRd+2Yf3DGstb/64VT + oy+dALsajIl/ILR4wJVMGRFZ+Xj3Cw5ayjfFBQAA + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - text/csv;charset=UTF-8 + Date: + - Tue, 14 Jun 2022 04:48:52 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-hy4nb-ap-southeast-1-prod + X-Request-Uuid: + - 57ebdec75a951f0ac924c93cd23e13fb + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/cassettes/test_explore_assets_v3_search_was_assets.yaml b/tests/io/cassettes/test_explore_assets_v3_search_was_assets.yaml new file mode 100644 index 000000000..72d6e845d --- /dev/null +++ b/tests/io/cassettes/test_explore_assets_v3_search_was_assets.yaml @@ -0,0 +1,192 @@ +interactions: +- request: + body: '{"limit": 200, "filter": {"and": [{"operator": "lt", "value": "2022-05-14T18:30:00.000Z", + "property": "last_observed"}, {"operator": "eq", "value": ["522b0827-1780-42c5-9f70-2e481a845b41"], + "property": "tags"}]}, "sort": [{"created": "desc"}]}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '243' + Content-Type: + - application/json + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.4; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: POST + uri: https://cloud.tenable.com/api/v3/assets/webapp/search + response: + body: + string: '{"assets":[{"types":["webapp"],"sources":["WAS"],"last_licensed_scan_time":"2022-02-01T14:30:30.149Z","created":"2021-10-21T20:50:51.403Z","is_licensed":false,"ipv4_addresses":["142.251.111.153"],"homepage_screenshot_url":"https://cloud.tenable.com/was/v2/attachments/cbb1ffed-8e65-4a47-80c4-776252307654","tags":[{"id":"522b0827-1780-42c5-9f70-2e481a845b41","category":"Test_1_EDITED + 123","value":"111","type":"static"}],"display_ipv4_address":"142.251.111.153","first_observed":"2021-10-21T20:50:51.196Z","is_deleted":false,"ssl_tls_enabled":true,"last_observed":"2022-02-01T14:30:30.149Z","name":"google-gruyere.appspot.com","id":"094fe7aa-bd73-439f-abf1-40f5b0f419a4","updated":"2022-02-01T22:32:54.230Z"}],"pagination":{"limit":200,"total":1}}' + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Length: + - '748' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 14 Jun 2022 04:48:46 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-orlc5-ap-southeast-1-prod + X-Request-Uuid: + - 0c58c196fba31ed60d2f5bcd3396a565 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: '{"limit": 200, "filter": {"and": [{"operator": "lt", "value": "2022-05-14T18:30:00.000Z", + "property": "last_observed"}, {"operator": "eq", "value": ["522b0827-1780-42c5-9f70-2e481a845b41"], + "property": "tags"}]}, "sort": [{"created": "desc"}]}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '243' + Content-Type: + - application/json + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.4; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: POST + uri: https://cloud.tenable.com/api/v3/assets/webapp/search + response: + body: + string: '{"assets":[{"types":["webapp"],"sources":["WAS"],"last_licensed_scan_time":"2022-02-01T14:30:30.149Z","created":"2021-10-21T20:50:51.403Z","is_licensed":false,"ipv4_addresses":["142.251.111.153"],"homepage_screenshot_url":"https://cloud.tenable.com/was/v2/attachments/cbb1ffed-8e65-4a47-80c4-776252307654","tags":[{"id":"522b0827-1780-42c5-9f70-2e481a845b41","category":"Test_1_EDITED + 123","value":"111","type":"static"}],"display_ipv4_address":"142.251.111.153","first_observed":"2021-10-21T20:50:51.196Z","is_deleted":false,"ssl_tls_enabled":true,"last_observed":"2022-02-01T14:30:30.149Z","name":"google-gruyere.appspot.com","id":"094fe7aa-bd73-439f-abf1-40f5b0f419a4","updated":"2022-02-01T22:32:54.230Z"}],"pagination":{"limit":200,"total":1}}' + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Length: + - '748' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 14 Jun 2022 04:48:47 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-orlc5-ap-southeast-1-prod + X-Request-Uuid: + - b3bdc79313235b43c95ec3cfcddcbe44 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: '{"limit": 200, "filter": {"and": [{"operator": "lt", "value": "2022-05-14T18:30:00.000Z", + "property": "last_observed"}, {"operator": "eq", "value": ["522b0827-1780-42c5-9f70-2e481a845b41"], + "property": "tags"}]}, "sort": [{"created": "desc"}]}' + headers: + Accept: + - text/csv + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '243' + Content-Type: + - application/json + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.4; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: POST + uri: https://cloud.tenable.com/api/v3/assets/webapp/search + response: + body: + string: 'created,display_ipv4_address,first_observed,homepage_screenshot_url,id,ipv4_addresses,is_deleted,is_licensed,last_licensed_scan_time,last_observed,name,sources,ssl_tls_enabled,tags,types,updated + + 2021-10-21T20:50:51.403Z,142.251.111.153,2021-10-21T20:50:51.196Z,"https://cloud.tenable.com/was/v2/attachments/cbb1ffed-8e65-4a47-80c4-776252307654","094fe7aa-bd73-439f-abf1-40f5b0f419a4",142.251.111.153,false,false,2022-02-01T14:30:30.149Z,2022-02-01T14:30:30.149Z,"google-gruyere.appspot.com",WAS,true,111,webapp,2022-02-01T22:32:54.230Z + + ' + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Length: + - '536' + Content-Type: + - text/csv;charset=UTF-8 + Date: + - Tue, 14 Jun 2022 04:48:49 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-orlc5-ap-southeast-1-prod + X-Request-Uuid: + - 96db74430e94b22b2f9df9c09e916b63 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/cassettes/test_findings_v3_search_cloud_resource.yaml b/tests/io/cassettes/test_findings_v3_search_cloud_resource.yaml new file mode 100644 index 000000000..543fc850a --- /dev/null +++ b/tests/io/cassettes/test_findings_v3_search_cloud_resource.yaml @@ -0,0 +1,349 @@ +interactions: +- request: + body: '{"sort": [{"property": "state", "order": "desc"}], "fields": ["finding_id", + "last_found_time", "risk_factor_num", "asset.name", "state"], "filter": {"and": + [{"property": "risk_factor_num", "value": 3, "operator": "eq"}, {"property": + "state", "value": ["ACTIVE"], "operator": "eq"}]}, "limit": 200}' + headers: + Accept: + - text/csv + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '297' + Content-Type: + - application/json + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.1; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: POST + uri: https://cloud.tenable.com/api/v3/findings/vulnerabilities/cloud_resource/search + response: + body: + string: !!binary | + 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 + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - text/csv;charset=UTF-8 + Date: + - Tue, 14 Jun 2022 10:28:53 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-d5jw8-ap-southeast-1-prod + X-Request-Uuid: + - a8ab6fd082813b7fb8e10062ba17c8ba + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: '{"sort": [{"property": "state", "order": "desc"}], "fields": ["finding_id", + "last_found_time", "risk_factor_num", "asset.name", "state"], "filter": {"and": + [{"property": "risk_factor_num", "value": 3, "operator": "eq"}, {"property": + "state", "value": ["ACTIVE"], "operator": "eq"}]}, "limit": 200}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '297' + Content-Type: + - application/json + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.1; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: POST + uri: https://cloud.tenable.com/api/v3/findings/vulnerabilities/cloud_resource/search + response: + body: + string: !!binary | + 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 + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 14 Jun 2022 10:28:54 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-d5jw8-ap-southeast-1-prod + X-Request-Uuid: + - bdb9785d8010e9f10c28abcb747f6084 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/cassettes/test_findings_v3_search_host.yaml b/tests/io/cassettes/test_findings_v3_search_host.yaml new file mode 100644 index 000000000..beaf7826c --- /dev/null +++ b/tests/io/cassettes/test_findings_v3_search_host.yaml @@ -0,0 +1,243 @@ +interactions: +- request: + body: '{"sort": [{"order": "desc", "property": "severity"}], "fields": ["asset.name", + "asset.display_ipv4_address", "severity", "definition.family", "last_seen"], + "filter": {"and": [{"value": "-P80D", "operator": "gt", "property": "last_seen"}, + {"value": [1, 2, 3, 4], "operator": "eq", "property": "severity"}, {"value": + ["ACTIVE", "RESURFACED", "NEW"], "operator": "eq", "property": "state"}]}, "limit": + 200}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '403' + Content-Type: + - application/json + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.1; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: POST + uri: https://cloud.tenable.com/api/v3/findings/vulnerabilities/host/search + response: + body: + string: !!binary | + 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 + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 14 Jun 2022 04:10:08 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-d5jw8-ap-southeast-1-prod + X-Request-Uuid: + - 5e3e2452ff35484089d852a26031a196 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: '{"sort": [{"order": "desc", "property": "severity"}], "fields": ["asset.name", + "asset.display_ipv4_address", "severity", "definition.family", "last_seen"], + "filter": {"and": [{"value": "-P80D", "operator": "gt", "property": "last_seen"}, + {"value": [1, 2, 3, 4], "operator": "eq", "property": "severity"}, {"value": + ["ACTIVE", "RESURFACED", "NEW"], "operator": "eq", "property": "state"}]}, "limit": + 200}' + headers: + Accept: + - text/csv + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '403' + Content-Type: + - application/json + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.1; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: POST + uri: https://cloud.tenable.com/api/v3/findings/vulnerabilities/host/search + response: + body: + string: !!binary | + H4sIAAAAAAAAA+1YS2/jNhC+51cYOlMEh5RkycfNAt3Dtj0kQIFeAkpiYsGS7BVVt+6vLyn5JTuR + qIfdXbSHwDOIOBxyZr75OBaXUpQ4TuQm5buXZLN1XngcF0JKC9X/y3kmUCxekzwpk3WOX3mWpDuU + clm+SCFyJMVWFEm5ewCCfR8TPEe+R0NXBB7xeISsR5GXvz7Nvq4jns6eRPSH/nr2uBTRSu1CCaU2 + cWzwn4EtXH8BAXbmzu/IeWDYV9Yw+A4qhSxtQu1YbJNIZG+FPSdgbJo+U7JgsKBMm4WAYvB8DIH6 + c9GF+olHq3i9LuRxOYVn4i4cugByL688dKF2etX43kEXavfy92P3k8hFwdO2IN0/6j8nMsJG10jR + hdrvGgFdqP2WM3Shjk+t9qPP9W7YYZi6yJIbvpM7CTgUxUouk0KEPF/haJ1Z6Onpy/susKnDyW5T + Ljfw83+D36HBWyVPK9Z+5iUPuRR3K5F2zOpyZwxosI5m2HkVrV1ntOf/MWi4CFRHoly1l85gfZf9 + 4UfBjB8lWSeEgyv+Y4CMLsGUqR8FY+dKRSST6P2FVC8kOCCY+ehM7F405dXtvQC1N1CGGoqJ+4CZ + Kqs4siO1vyLNxDmVFg6XYYRT7ZFlYExvqy6eBqihmHjhBBjI/hb3sskyqrdB1jazeRba64JHqfjA + /fYkuEVYxuNW5VUQqGO6TMXIZm9yRxkbHCAdbfDm6Ew0i6r6VpVgQ7lRaejaq35QQ+laOOFdA8We + ixqKudsOaijdC+ekQqkqJkf5TqfVbrrY3UdoL09cdkZpoi6aeehcvtsNqP1ctzpKqsCh2BRrW4Z8 + 4GFa+bmlEWj2VfAVfxNWOxrCsW5q0SgoChiOsazlPv5ekege/uqguXVCZCHPRqTCoJMrQIKg2l3k + KugbLuXmz3iEF1O2FeNMNQQZV/eChmKK+351IvkacjK8hdyAugwEIZV0MFf8lTr5uiiXdlSOiLhb + cw7dY91drprsYFuswvGKRx7EO4HZgbYCaih9QOCKOvcAAQrOsXb3sllKU+cspWtlUuJqff7lSWVl + sRWFbDvCxKk9Fbj6unt4OjW9JfP/yujg1Kwgo+p3DcW0RU+D8NqSVxnKRRkWPMltvtmMMMgcVbpE + 34//N8QkozaMuiGmKN+RxtWKIcLq17Q6V8nTIivtb0NZBMGep8zVkHgQDZikq31wKuJ8lPsU/9Ug + zDBJJ4Gv1hFRPyoCfk0GSjsupR2HH8KCObQpKNy/mmrxX+iTN0SnUaiPqYNOklGJefTwnDwpfRL1 + atZ8k/wwbl6eixqKQX0ruABcjUkOoiE29WzvMHS2dVzY9y0OQyoGhnYnGJpRMGFvheko9pkp8ykN + DCVSjSD3mVzAlAz8kDE9XwEn53u+iGDY2OV05onmBdAfQGEAhbJ+E+HsMU1Up/iI/cKEb6DDqXoO + I2Aonh4qpvf4+wSNPfkePPwDICMpon8kAAA= + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - text/csv;charset=UTF-8 + Date: + - Tue, 14 Jun 2022 04:10:19 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-d5jw8-ap-southeast-1-prod + X-Request-Uuid: + - bb1543ba580c5e45bcd04aadfeaf06d7 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/cassettes/test_findings_v3_search_host_audit.yaml b/tests/io/cassettes/test_findings_v3_search_host_audit.yaml new file mode 100644 index 000000000..1155618d6 --- /dev/null +++ b/tests/io/cassettes/test_findings_v3_search_host_audit.yaml @@ -0,0 +1,217 @@ +interactions: +- request: + body: '{"sort": [{"order": "desc", "property": "state"}], "filter": {"and": [{"operator": + "eq", "value": ["ubuntu2004serv.target.tenablesecurity.com"], "property": "asset_name"}, + {"operator": "eq", "value": ["WARNING"], "property": "compliance_result"}, {"operator": + "eq", "value": ["NEW"], "property": "state"}]}, "fields": ["asset_id", "asset_name", + "audit_name", "compliance_result", "plugin_id", "state", "last_observed"], "limit": + 200}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '433' + Content-Type: + - application/json + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.1; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: POST + uri: https://cloud.tenable.com/api/v3/findings/vulnerabilities/host_audit/search + response: + body: + string: !!binary | + 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 + /g8wN/tQ3VkAAA== + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Mon, 13 Jun 2022 13:00:44 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-hy4nb-ap-southeast-1-prod + X-Request-Uuid: + - 5e5000343addfbc262a4cbfb45f475c3 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: '{"sort": [{"order": "desc", "property": "state"}], "filter": {"and": [{"operator": + "eq", "value": ["ubuntu2004serv.target.tenablesecurity.com"], "property": "asset_name"}, + {"operator": "eq", "value": ["WARNING"], "property": "compliance_result"}, {"operator": + "eq", "value": ["NEW"], "property": "state"}]}, "fields": ["asset_id", "asset_name", + "audit_name", "compliance_result", "plugin_id", "state", "last_observed"], "limit": + 200}' + headers: + Accept: + - text/csv + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '433' + Content-Type: + - application/json + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.1; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: POST + uri: https://cloud.tenable.com/api/v3/findings/vulnerabilities/host_audit/search + response: + body: + string: !!binary | + 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 + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - text/csv;charset=UTF-8 + Date: + - Mon, 13 Jun 2022 13:00:45 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-hy4nb-ap-southeast-1-prod + X-Request-Uuid: + - d252086d29db5665685b3cea5917e6c2 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/cassettes/test_findings_v3_search_was.yaml b/tests/io/cassettes/test_findings_v3_search_was.yaml new file mode 100644 index 000000000..7d02937be --- /dev/null +++ b/tests/io/cassettes/test_findings_v3_search_was.yaml @@ -0,0 +1,151 @@ +interactions: +- request: + body: '{"sort": [{"property": "last_observed", "order": "desc"}], "filter": {"and": + [{"value": [3], "operator": "eq", "property": "severity"}, {"value": ["ACTIVE"], + "operator": "eq", "property": "state"}]}, "fields": ["finding_id", "severity", + "state", "last_observed"], "limit": 200}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '277' + Content-Type: + - application/json + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.1; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: POST + uri: https://cloud.tenable.com/api/v3/findings/vulnerabilities/webapp/search + response: + body: + string: !!binary | + H4sIAAAAAAAAA6XTTWscMQwG4P/i82qQbdmy5hZKD72HHhJK0PgjDITdkh0CZdn/HqeweyhzmDJH + 49f2gyRfTJuPZT6+ns34fLktXuZiRuPINozWQ8nogIIkmNBlCKnohMKp2mIO5n+y5/pR3+fljxl9 + Xyy61H724dvjj5/f++6bnpeX03Su7x/176XoHKAFFx5tGJ0f0Q4pumjlyVwP/2gDUeuPTBBawS4o + BZRigMIhUQ7oW3M37cbsfi17Eowr2v4MKypDsRyBqCJoUgUvHsXXiiWFm3ZjdpfWjUEGR8w2rGhj + csqCBJSkd9dJA7EokFlKQTelHO613Zjdq8UhMqGkFW21RMjYAHMvGlUh6E1gCJIJM1vP03TTbszu + 1HoZIllrcW1uPUtLrYDU/PVzdAKtTkGtcsGaNKu/z+227F5tGihgFF7Rqp0KoxaoIXVB7H1Wr7YP + JBchrN7jXbsxu1fLgxC76Lv218H81tf5qMt8OprxYpbTom9m5Ov1E0bCqfPpBAAA + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 10 Jun 2022 11:07:36 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-d5jw8-ap-southeast-1-prod + X-Request-Uuid: + - 3df981c46e54bd937af3cdd6d7465ffe + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: '{"sort": [{"property": "last_observed", "order": "desc"}], "filter": {"and": + [{"value": [3], "operator": "eq", "property": "severity"}, {"value": ["ACTIVE"], + "operator": "eq", "property": "state"}]}, "fields": ["finding_id", "severity", + "state", "last_observed"], "limit": 200}' + headers: + Accept: + - text/csv + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '277' + Content-Type: + - application/json + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.1; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: POST + uri: https://cloud.tenable.com/api/v3/findings/vulnerabilities/webapp/search + response: + body: + string: 'finding_id,last_observed,severity,state + + "241f0613-dc02-4598-b02c-58dab0978e1d","2022-01-25T15:23:01.862619Z",3,ACTIVE + + "544fe1db-5fd0-45dd-a465-d7584c503ff2","2022-01-25T15:23:01.734906Z",3,ACTIVE + + "84c7a0a7-d176-44e0-a8aa-393093ee0d85","2022-01-25T15:22:59.247715Z",3,ACTIVE + + "682a7904-4892-429f-9109-c79dd02b8c52","2022-01-25T15:22:50.674098Z",3,ACTIVE + + "e144070f-0ca7-4e94-9067-59c40c7137bb","2022-01-25T15:22:39.641110Z",3,ACTIVE + + "5379f8fd-9ec2-45ab-ae2a-a1a7d0e8aca3","2022-01-25T15:22:38.450697Z",3,ACTIVE + + "a1bd70ad-e582-4604-a3a1-a87d940e3303","2022-01-25T15:22:37.947263Z",3,ACTIVE + + ' + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Length: + - '586' + Content-Type: + - text/csv;charset=UTF-8 + Date: + - Fri, 10 Jun 2022 11:07:38 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-d5jw8-ap-southeast-1-prod + X-Request-Uuid: + - ef2be0680f0e9e51a0392c96c0b06874 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/cassettes/test_plugins_populate_family_cache_with_maptable.yaml b/tests/io/cassettes/test_plugins_populate_family_cache_with_maptable.yaml new file mode 100644 index 000000000..7570dc2ab --- /dev/null +++ b/tests/io/cassettes/test_plugins_populate_family_cache_with_maptable.yaml @@ -0,0 +1,88 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.1; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/plugins/plugin?last_updated=2019-01-01&size=4&page=1 + response: + body: + string: !!binary | + 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 + oAFdfrNx2Grd/g3NIpdDWxUAAA== + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 17 May 2022 11:01:44 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-hy4nb-ap-southeast-1-prod + X-Request-Uuid: + - e5efa72d6ca693f607dbc2fae928778b + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/cassettes/test_policies_template_details_credentials_types_settings_success.yaml b/tests/io/cassettes/test_policies_template_details_credentials_types_settings_success.yaml new file mode 100644 index 000000000..bb65b207b --- /dev/null +++ b/tests/io/cassettes/test_policies_template_details_credentials_types_settings_success.yaml @@ -0,0 +1,1313 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.1; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/editor/policy/templates + response: + body: + string: !!binary | + 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 + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Wed, 25 May 2022 11:22:08 GMT + Expect-CT: + - enforce, max-age=86400 + Expires: + - '0' + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-dkrsa-ap-southeast-1-prod + X-Request-Uuid: + - 221b9cdb639528a212c8e2362980fcfc + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.1; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/editor/policy/templates/cfc46c2d-30e7-bb2b-3b92-c75da136792d080c1fffcc429cfd + response: + body: + string: !!binary | + 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 + l1yDP1VN81Gd7H5p4cf/AXyC2K4pcQAA + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Wed, 25 May 2022 11:22:09 GMT + Expect-CT: + - enforce, max-age=86400 + Expires: + - '0' + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-dkrsa-ap-southeast-1-prod + X-Request-Uuid: + - 70a8f52ee27adaffadb0461425d531c4 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/cassettes/test_remedyscan_create_advanced_scan_document_template_pass.yaml b/tests/io/cassettes/test_remedyscan_create_advanced_scan_document_template_pass.yaml new file mode 100644 index 000000000..394ad847a --- /dev/null +++ b/tests/io/cassettes/test_remedyscan_create_advanced_scan_document_template_pass.yaml @@ -0,0 +1,2364 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.9.7; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/editor/policy/templates + response: + body: + string: !!binary | + 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 + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 17 May 2022 10:27:45 GMT + Expect-CT: + - enforce, max-age=86400 + Expires: + - '0' + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-d5jw8-ap-southeast-1-prod + X-Request-Uuid: + - 4d03a887ffbd16712cff06f6e126e936 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.9.7; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/editor/policy/templates + response: + body: + string: !!binary | + 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 + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 17 May 2022 10:27:46 GMT + Expect-CT: + - enforce, max-age=86400 + Expires: + - '0' + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-d5jw8-ap-southeast-1-prod + X-Request-Uuid: + - a8841626d01ee7968d105f49bf0a92f9 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/cassettes/test_scan_results_scan_not_found_error.yaml b/tests/io/cassettes/test_scan_results_scan_not_found_error.yaml new file mode 100644 index 000000000..0a065c9f1 --- /dev/null +++ b/tests/io/cassettes/test_scan_results_scan_not_found_error.yaml @@ -0,0 +1,52 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.8 + (Restfly/1.4.7; Python/3.10.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/scans/583?history_id=123e4567-e89b-12d3-a456-426614174000 + response: + body: + string: '{"error":"Scan not found"}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Length: + - '26' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 25 Oct 2022 07:10:05 GMT + Set-Cookie: + - nginx-cloud-site-id=mssp-us-1; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=mssp-us-1; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-nxd9y-ap-southeast-1-prod + X-Request-Uuid: + - 68b03ab6344568df732cf16d5c433d7e + X-XSS-Protection: + - 1; mode=block + status: + code: 404 + message: Not Found +version: 1 diff --git a/tests/io/cassettes/test_scan_results_scan_notfounderror.yaml b/tests/io/cassettes/test_scan_results_scan_notfounderror.yaml new file mode 100644 index 000000000..fa2173577 --- /dev/null +++ b/tests/io/cassettes/test_scan_results_scan_notfounderror.yaml @@ -0,0 +1,52 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.1; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/scans/583?history_id=12&history_uuid=123e4567-e89b-12d3-a456-426614174000 + response: + body: + string: '{"error":"Scan not found"}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Length: + - '26' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 17 May 2022 09:29:49 GMT + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-hy4nb-ap-southeast-1-prod + X-Request-Uuid: + - 47dc79c64196d3b3a239e9078d368dce + X-XSS-Protection: + - 1; mode=block + status: + code: 404 + message: Not Found +version: 1 diff --git a/tests/io/cassettes/test_scan_results_with_history.yaml b/tests/io/cassettes/test_scan_results_with_history.yaml new file mode 100644 index 000000000..f9281bf4b --- /dev/null +++ b/tests/io/cassettes/test_scan_results_with_history.yaml @@ -0,0 +1,432 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.8 + (Restfly/1.4.7; Python/3.10.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/scans/419?history_id=3c816df5-7a82-449b-876d-c7ef9baf935c + response: + body: + string: !!binary | + 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 + DS8mo3cfY/PI52sUyWw3x9fVAje8wpOwsPPqxT76N29e58irvoVtoVfjPgYTdlXK4tXRsz5lUXeu + PDo7Pg6L8WQ3vfHqqFNd0Hlhi2Z4dWQMMsbA5Rgjpc3vuALfHf3wpM96Vq//00Rrp/EL3p+eueNV + u9z7YjnwsXvbyxFXb+oLY+S6RcHAG+U4HBfJQvzKf7u/fEDrB71LEmtK7r96df/Jk4Tl8etRlfRY + PQrrhx8W9aPNi9WCVY/2xVmy8OOb6vp4SFrjouuE4S2LCt/3FrGtiH+2rDvM6df3J7GUsdaym195 + C2HTc7tYdYlv+rUqVDaazKpeskHV8zfo+79mr6aNq58EN7aT7OWscfnR9NjOIHjOXc8b1z8LxXRm + s5eLxuWtssyqQ6zx5p+BxdNp9rtUk9Szo6fZi3Xj4ocv8ktmGtfWHdyp0t4wBDc/0CrpXnY5NQnt + zKRfNtE0F3EWwqOjJ3kJaHLpe3c2WZzlr29y6ejY+p+rWcvZjzQ59cpOipn9+ZxPNNm36hIuY3eU + rZrr1lc1ufYYmPzdUf5bm4xbdq9WL/fwaC3wuEW5r4aFZ3cIaW2RyRiunJbrObHri5o8WreAVG+0 + dkxPM1x1EW/9xHLUdjXQuAHsL1vFezfI5sz16prWPomTmWfT6szvuOSV4qmuai708hyG6mXdK9zp + eILqYtPekat2k0pPNFd5jb5ulEhzRd+EMEPvpij+XbbLxRbd5QSR5QTq5i2/OHr83fqN5so2J81W + bzZXNI4ZLqbTzY5jzVU8evzwycP1G82lWw7Krl5urhUsRTUbY746rnB9TXPhVo2idc5pfZHpssaO + 5lXLUYc7HLekZjO9snqvtXqxe3fu7WRSKxTeXLHY3bSMUaq32ms2icfUt3Qsb6mC16/WG4o3l+z1 + i/XKcNlVA+NPeQ3Pm2v5w6tK0Tw9yu9A3lzbR7Oz5bHIsI/Ab7CNy5qr+7/PJtO8aRKtNfbj1dEp + o5fjydkv+U82OfBq6pb9wE1pEE0WfDezHq7Y4Xub3Hl4Yv87nsx5/qeaLHtjj6ejh8eLvGkUTW4+ + P7Ofwzh/fZPNz8S6Ze6c9VXJGvzwKv+JJp9fTPw4jpsdvQ3z0+lkvhZh0eTyD+PZ4mz63/+dv12J + Wxvi89HCwq55/Oejl/mPkd+uLqDNeYS7hjm38de/kXWR6a/4rvztzu2//33+Lyj+c7v7VkSKqjcu + +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 + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 25 Oct 2022 08:11:34 GMT + Set-Cookie: + - nginx-cloud-site-id=mssp-us-1; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=mssp-us-1; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-mt8q0-ap-southeast-1-prod + X-Request-Uuid: + - 9a9aa0602ea50bbc8832bb66ee4c0089 + X-XSS-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/cassettes/test_scan_results_with_history_id.yaml b/tests/io/cassettes/test_scan_results_with_history_id.yaml new file mode 100644 index 000000000..1e6c7bfb6 --- /dev/null +++ b/tests/io/cassettes/test_scan_results_with_history_id.yaml @@ -0,0 +1,431 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.9 + (Restfly/1.4.7; Python/3.10.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/scans/419?history_id=15184619 + response: + body: + string: !!binary | + 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 + /wFQNE6qDY0CAA== + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 28 Oct 2022 06:10:59 GMT + Set-Cookie: + - nginx-cloud-site-id=mssp-us-1; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=mssp-us-1; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-90fr2-ap-southeast-1-prod + X-Request-Uuid: + - f570a6b807646cad016c41b4dc62f5c1 + X-XSS-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/cassettes/test_scan_results_with_history_uuid.yaml b/tests/io/cassettes/test_scan_results_with_history_uuid.yaml new file mode 100644 index 000000000..c8e473859 --- /dev/null +++ b/tests/io/cassettes/test_scan_results_with_history_uuid.yaml @@ -0,0 +1,431 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.9 + (Restfly/1.4.7; Python/3.10.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/scans/419?history_id=b6e2280a-119f-42c8-9af5-a16ae269fb75 + response: + body: + string: !!binary | + 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 + /wFQNE6qDY0CAA== + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 28 Oct 2022 06:12:52 GMT + Set-Cookie: + - nginx-cloud-site-id=mssp-us-1; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=mssp-us-1; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-16k0p-ap-southeast-1-prod + X-Request-Uuid: + - fac39de61f3958c6ecc2ac42909c3914 + X-XSS-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/cassettes/test_scan_results_without_history.yaml b/tests/io/cassettes/test_scan_results_without_history.yaml new file mode 100644 index 000000000..1c0ec414d --- /dev/null +++ b/tests/io/cassettes/test_scan_results_without_history.yaml @@ -0,0 +1,430 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.8 + (Restfly/1.4.7; Python/3.10.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/scans/419 + response: + body: + string: !!binary | + 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 + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 25 Oct 2022 08:11:26 GMT + Set-Cookie: + - nginx-cloud-site-id=mssp-us-1; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=mssp-us-1; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-nxd9y-ap-southeast-1-prod + X-Request-Uuid: + - 5466b5dd8b91d39cf9aabee691dda0af + X-XSS-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/cassettes/test_scanner_edit.yaml b/tests/io/cassettes/test_scanner_edit.yaml index 18b3ba1de..6fcd5e60d 100644 --- a/tests/io/cassettes/test_scanner_edit.yaml +++ b/tests/io/cassettes/test_scanner_edit.yaml @@ -2,97 +2,173 @@ interactions: - request: body: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - Connection: [keep-alive] - User-Agent: [pyTenable/0.3.4 (pyTenable/0.3.4; Python/2.7.14)] - X-APIKeys: [accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.9 + (Restfly/1.4.7; Python/3.9.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY method: GET uri: https://cloud.tenable.com/scanners response: body: string: !!binary | - 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 headers: - cache-control: [no-cache] - connection: [keep-alive] - content-encoding: [gzip] - content-type: [application/json; charset=utf-8] - date: ['Thu, 06 Dec 2018 23:21:03 GMT'] - server: [tenable.io] - set-cookie: [nginx-cloud-site-id=us-2b; path=/; HttpOnly, nginx-cloud-site-id=us-2b; - path=/; HttpOnly] - strict-transport-security: [max-age=63072000; includeSubDomains] - transfer-encoding: [chunked] - vary: [accept-encoding] - x-content-type-options: [nosniff] - x-gateway-site-id: [nginx-router-c-prod-us-east-2] - x-request-uuid: [1dbff25394f7f3e03ebab742dc331e2f] - status: {code: 200, message: OK} + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Wed, 09 Nov 2022 08:59:33 GMT + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - service-nginx-router-ap-northeast-1-prod-5f64dbb68d-zzl5j + X-Request-Uuid: + - 458b911765ae33d78988ef84f1ebaabd + X-XSS-Protection: + - 1; mode=block + status: + code: 200 + message: OK - request: - body: !!python/unicode '{"force_plugin_update": 1}' + body: '{"force_plugin_update": 1}' headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - Connection: [keep-alive] - Content-Length: ['26'] - Content-Type: [application/json] - Cookie: [nginx-cloud-site-id=us-2b] - User-Agent: [pyTenable/0.3.4 (pyTenable/0.3.4; Python/2.7.14)] - X-APIKeys: [accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '26' + Content-Type: + - application/json + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.9 + (Restfly/1.4.7; Python/3.9.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY method: PUT - uri: https://cloud.tenable.com/settings/131712 + uri: https://cloud.tenable.com/scanners/412918 response: body: string: !!binary | - H4sIAAAAAAAAA6tWKi5JLCktds5PSVWyMjEw1lFKLSrKL1KyUnLLL0rKTElJzVPSUcpNLS5OTAeq - UPLMKy5NS8tMzkzNK1EoTs4vSFWqBQChW+L4RQAAAA== + H4sIAAAAAAAAA51WyY7bOBD9FUJnyxC1K7cZ5BKg0ZdJgAGCQOBSkgXTooak7BiN/vcpanO7nZ4A + 44NFsoq1vFcs8iXQlx5MPY6dDD4FCc/TomE8rEoZhSnPs5DxKA1jmlaCllmWiDTYBcIAc4AbaJ4X + VVTFKCjoLjhp2TXdJijTpCiSLMYNunese+MoK6s8hrQMZVnRMI04DznjLCw57kqzOIlLiY4WbUkb + CZmoQp6xMkwbKUJeNSIUDQaXpGVOS0Btr5vSuKLlLujZCXCn0oKpg7ZuP42kPmEYqOqugxefWM9a + 8J5kZ53p+Dil5cwIaALcRZtjvZj6DA0blfO686gewJw6azvdW5/xLrAHZqbsMXKLyd4rxBiWHYdB + G2frC3A2DMGnhimLvgyctIMVHc6iJi/yGOEQIszzUoYVT/JQFqlgVVLmKQVo4jKKKS0rkVS0ohjX + Ea64Oa5SzpOGZzROkjhtgCcZLWlW0JzLNJJZAnEh4iov8wghzygrG5lxUUHDIeEFGrJX6+C0Bae6 + /rikpZh1NbLZg3A3luO0TAqkn/2sHbNHTDaL1qlpwfns06pC2FFa369HqDko5hpt0GPw9OX5298r + HxoXwBbhzzIPc194Y1efwXhAUUKjfbqn8yofO+WRm3CAvsVae6tZoWaEEqWZBFkPakSN2oLzeEUx + whhVUZF6FxiHgFVjHCQW+pQ5KruubzHkl1cstaFmUhqwFnDle0CLeB/ne0qzPQ7RDK3iPc3LPY3x + G/zYBb4If1OUSxHcPH1/Wev4GT2NlvwlGEJvyJNuyROcQQVbYFPZiCP0sla6rdUiXQrdgvKM+dq1 + wnSDm4H5eugs8YfTaGWJOwB552gxSdAk4tGSyeyekD+XdQMeUvz8M3ZY+nv0sEYxi9bDZB1zI6YU + jP2xx56DimemRh9bj8wzHytTSl8YV0idF80ArFrIJtcWgtfdbU0CH9u7lcXW64/tlL5Z3G1w/jE6 + BN11gnybGLZ3ODKUrtT/DsHNEgZ/JfMmS+bysXvypSFXPRLofVoIMMK9+CFsgq/FOkecZ9h3K/zs + zqo/KRM5PVzAutU6aYw+ka+L7csBeq90JdiDCDuzTvn1NQRD7EIphqB79I4DrXwbJ0ujw93MeXGv + HZnj1RghE4fJeddjoKi6I3g2H9L5X8xfJ+D/k3avck/wO3JXhQ+YJZ9BsetH9NZykS4k+xxbMA8s + P48njtDphhwQSjsjtXB1YR3SwxFDQAY25tZa+BiYEx76qbN8DFCcBm9zxalPfm0QeL/0csppu0XQ + lnEP65sH7Y23Ro+3m2c4223cdmfo637Ka0HIrtF2vRz9FckUNigxms5dbxeEgG3MLjd78z1SL5W3 + fm+utVbbRCg9yvo+tneX5GJu0nkwhtO6YcJpc0Wcp9Z+v2029rBvu5GX7oudbsv5vezWmWc5ukPE + aomtb3J8M/o+41l/eTfV092DbVfat0+o2/vpUWF6St2eJNMrIVp+4S/+1l/w+i8tX+os4gkAAA== headers: - cache-control: [no-cache] - connection: [keep-alive] - content-encoding: [gzip] - content-type: [application/json; charset=utf-8] - date: ['Thu, 06 Dec 2018 23:21:03 GMT'] - server: [tenable.io] - set-cookie: [nginx-cloud-site-id=us-2b; path=/; HttpOnly, nginx-cloud-site-id=us-2b; - path=/; HttpOnly] - strict-transport-security: [max-age=63072000; includeSubDomains] - transfer-encoding: [chunked] - vary: [accept-encoding] - x-content-type-options: [nosniff] - x-gateway-site-id: [nginx-router-c-prod-us-east-2] - x-request-uuid: [06cd158cf00d253fbb32df202709867a] - status: {code: 403, message: Forbidden} + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Wed, 09 Nov 2022 08:59:37 GMT + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - service-nginx-router-ap-northeast-1-prod-5f64dbb68d-zzl5j + X-Request-Uuid: + - a946e7f00fb699382d4acb6fe02bc36d + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK version: 1 diff --git a/tests/io/cassettes/test_scanner_edit_notfounderror.yaml b/tests/io/cassettes/test_scanner_edit_notfounderror.yaml index 1d178fdc5..ed84dc56d 100644 --- a/tests/io/cassettes/test_scanner_edit_notfounderror.yaml +++ b/tests/io/cassettes/test_scanner_edit_notfounderror.yaml @@ -1,35 +1,57 @@ interactions: - request: - body: !!python/unicode '{"force_ui_update": 1}' + body: '{"force_ui_update": 1}' headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - Connection: [keep-alive] - Content-Length: ['22'] - Content-Type: [application/json] - User-Agent: [pyTenable/0.3.4 (pyTenable/0.3.4; Python/2.7.14)] - X-APIKeys: [accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '22' + Content-Type: + - application/json + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.9 + (Restfly/1.4.7; Python/3.9.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY method: PUT - uri: https://cloud.tenable.com/settings/1 + uri: https://cloud.tenable.com/scanners/1 response: body: - string: !!binary | - H4sIAAAAAAAAA6tWKi5JLCktds5PSVWyMjEw1lFKLSrKL1KyUnLLL0rKTElJzVPSUcpNLS5OTAeq - UPLMKy5NS8tMzkzNK1EoTs4vSFWqBQChW+L4RQAAAA== + string: '{"statusCode":404,"error":"Not Found","message":"Scanner with id 1 + not found."}' headers: - cache-control: [no-cache] - connection: [keep-alive] - content-encoding: [gzip] - content-type: [application/json; charset=utf-8] - date: ['Thu, 06 Dec 2018 23:21:01 GMT'] - server: [tenable.io] - set-cookie: [nginx-cloud-site-id=us-2b; path=/; HttpOnly, nginx-cloud-site-id=us-2b; - path=/; HttpOnly] - strict-transport-security: [max-age=63072000; includeSubDomains] - transfer-encoding: [chunked] - vary: [accept-encoding] - x-content-type-options: [nosniff] - x-gateway-site-id: [nginx-router-c-prod-us-east-2] - x-request-uuid: [e318d45610862a7cd48280f18ba47ecd] - status: {code: 403, message: Forbidden} + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Length: + - '79' + Content-Type: + - application/json; charset=utf-8 + Date: + - Wed, 09 Nov 2022 08:59:30 GMT + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - service-nginx-router-ap-northeast-1-prod-5f64dbb68d-x8cjf + X-Request-Uuid: + - d3dc66ae7f6e7caf1471ac3ba30175bc + X-XSS-Protection: + - 1; mode=block + status: + code: 404 + message: Not Found version: 1 diff --git a/tests/io/cassettes/test_scanner_edit_permissionserror.yaml b/tests/io/cassettes/test_scanner_edit_permissionserror.yaml index 8a36346ac..3a7f0f5a9 100644 --- a/tests/io/cassettes/test_scanner_edit_permissionserror.yaml +++ b/tests/io/cassettes/test_scanner_edit_permissionserror.yaml @@ -2,96 +2,149 @@ interactions: - request: body: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - Connection: [keep-alive] - User-Agent: [pyTenable/0.3.4 (pyTenable/0.3.4; Python/2.7.14)] - X-APIKeys: [accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.9 + (Restfly/1.4.7; Python/3.9.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY method: GET uri: https://cloud.tenable.com/scanners response: body: string: !!binary | - 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 headers: - cache-control: [no-cache] - connection: [keep-alive] - content-encoding: [gzip] - content-type: [application/json; charset=utf-8] - date: ['Thu, 06 Dec 2018 23:21:02 GMT'] - server: [tenable.io] - set-cookie: [nginx-cloud-site-id=us-2b; path=/; HttpOnly, nginx-cloud-site-id=us-2b; - path=/; HttpOnly] - strict-transport-security: [max-age=63072000; includeSubDomains] - transfer-encoding: [chunked] - vary: [accept-encoding] - x-content-type-options: [nosniff] - x-gateway-site-id: [nginx-router-c-prod-us-east-2] - x-request-uuid: [98e825796226f9735baacd2af823c993] - status: {code: 200, message: OK} + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Wed, 09 Nov 2022 09:32:58 GMT + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - service-nginx-router-ap-northeast-1-prod-5f64dbb68d-q8s6s + X-Request-Uuid: + - 3ac56e49f34e6faa170a1edb1d3443ac + X-XSS-Protection: + - 1; mode=block + status: + code: 200 + message: OK - request: - body: !!python/unicode '{"force_ui_update": 1}' + body: '{"force_ui_update": 1}' headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - Connection: [keep-alive] - Content-Length: ['22'] - Content-Type: [application/json] - User-Agent: [pyTenable/0.3.4 (pyTenable/0.3.4; Python/2.7.14)] - X-APIKeys: [accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '22' + Content-Type: + - application/json + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.9 + (Restfly/1.4.7; Python/3.9.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY method: PUT - uri: https://cloud.tenable.com/settings/131712 + uri: https://cloud.tenable.com/scanners/412918 response: body: - string: !!binary | - H4sIAAAAAAAAA6tWKi5JLCktds5PSVWyMjEw1lFKLSrKL1KyUnLLL0rKTElJzVPSUcpNLS5OTAeq - UPLMKy5NS8tMzkzNK1EoTs4vSFWqBQChW+L4RQAAAA== + string: '{"statusCode":403,"error":"Forbidden","message":"Insufficient scope"}' headers: - cache-control: [no-cache] - connection: [keep-alive] - content-encoding: [gzip] - content-type: [application/json; charset=utf-8] - date: ['Thu, 06 Dec 2018 23:21:02 GMT'] - server: [tenable.io] - set-cookie: [nginx-cloud-site-id=us-2b; path=/; HttpOnly, nginx-cloud-site-id=us-2b; - path=/; HttpOnly] - strict-transport-security: [max-age=63072000; includeSubDomains] - transfer-encoding: [chunked] - vary: [accept-encoding] - x-content-type-options: [nosniff] - x-gateway-site-id: [nginx-router-c-prod-us-east-2] - x-request-uuid: [4a1df3b5e871c916acb077dda6bf3b59] - status: {code: 403, message: Forbidden} + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Length: + - '69' + Content-Type: + - application/json; charset=utf-8 + Date: + - Wed, 09 Nov 2022 09:33:03 GMT + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - service-nginx-router-ap-northeast-1-prod-5f64dbb68d-q8s6s + X-Request-Uuid: + - b50ca0d884515db0a6fa5cd969018b52 + X-XSS-Protection: + - 1; mode=block + status: + code: 403 + message: Forbidden version: 1 diff --git a/tests/io/cassettes/test_search_iterator_v3.yaml b/tests/io/cassettes/test_search_iterator_v3.yaml new file mode 100644 index 000000000..c8b8e14a5 --- /dev/null +++ b/tests/io/cassettes/test_search_iterator_v3.yaml @@ -0,0 +1,146 @@ +interactions: +- request: + body: '{"limit": 1, "filter": {"and": [{"operator": "eq", "property": "tags", + "value": ["6167eae5-808a-415a-8400-f3208e5382c5"]}, {"operator": "eq", "property": + "types", "value": "webapp"}, {"operator": "neq", "property": "types", "value": + "host"}]}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '243' + Content-Type: + - application/json + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.4; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: POST + uri: https://cloud.tenable.com/api/v3/assets/search + response: + body: + string: '{"assets":[{"types":["webapp"],"is_deleted":false,"sources":["WAS"],"ssl_tls_enabled":false,"created":"2022-01-25T15:19:17.224Z","name":"target9.pubtarg.bananas.com","is_licensed":false,"id":"0f19a1a4-d1df-4f8a-a2ec-9cd5f4f3f3c5","updated":"2022-01-25T15:21:29.692Z","tags":[{"id":"6167eae5-808a-415a-8400-f3208e5382c5","category":"ABCD","value":"tag111","type":"static"}]}],"pagination":{"next":"H4sIAAAAAAAAAJWQ0WrDMAxF/0WPIx52YndufqWEosbyashq13a7hZB/n1LYw8YY7FFC9+hyFvBhqpShXwAvDvrDAinHRLnO0EPF1wINbDPWyFdAV57vON2Ib2Gndi+EZISVFoVWBoXVUgrftdKS6Ww7GhjW5hv0eqM8P9c50R9seKcTpgRb9hLr1u/fiHMsFdbfCS4UPE3kjlh/ED5CqYVjXBtKzPXhJLAawDLCOvCWMI/nI/qHuANIr/aoUAunnBfaswpsaRT70Rmvfee7zUIDU3gLjFPNV5HA9Tn/xA34wbB+AnCuexmOAQAA","limit":1,"total":2}}' + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Length: + - '736' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 10 Jun 2022 11:28:17 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Continuation-Token: + - H4sIAAAAAAAAAJWQ0WrDMAxF/0WPIx52YndufqWEosbyashq13a7hZB/n1LYw8YY7FFC9+hyFvBhqpShXwAvDvrDAinHRLnO0EPF1wINbDPWyFdAV57vON2Ib2Gndi+EZISVFoVWBoXVUgrftdKS6Ww7GhjW5hv0eqM8P9c50R9seKcTpgRb9hLr1u/fiHMsFdbfCS4UPE3kjlh/ED5CqYVjXBtKzPXhJLAawDLCOvCWMI/nI/qHuANIr/aoUAunnBfaswpsaRT70Rmvfee7zUIDU3gLjFPNV5HA9Tn/xA34wbB+AnCuexmOAQAA + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-orlc5-ap-southeast-1-prod + X-Request-Uuid: + - a68bab2f54084b11e8fe899d277f7bef + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: '{"limit": 1, "filter": {"and": [{"operator": "eq", "property": "tags", + "value": ["6167eae5-808a-415a-8400-f3208e5382c5"]}, {"operator": "eq", "property": + "types", "value": "webapp"}, {"operator": "neq", "property": "types", "value": + "host"}]}, "next": "H4sIAAAAAAAAAJWQ0WrDMAxF/0WPIx52YndufqWEosbyashq13a7hZB/n1LYw8YY7FFC9+hyFvBhqpShXwAvDvrDAinHRLnO0EPF1wINbDPWyFdAV57vON2Ib2Gndi+EZISVFoVWBoXVUgrftdKS6Ww7GhjW5hv0eqM8P9c50R9seKcTpgRb9hLr1u/fiHMsFdbfCS4UPE3kjlh/ED5CqYVjXBtKzPXhJLAawDLCOvCWMI/nI/qHuANIr/aoUAunnBfaswpsaRT70Rmvfee7zUIDU3gLjFPNV5HA9Tn/xA34wbB+AnCuexmOAQAA"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '571' + Content-Type: + - application/json + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.4; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: POST + uri: https://cloud.tenable.com/api/v3/assets/search + response: + body: + string: !!binary | + H4sIAAAAAAAAA3WTXXObOhCG/4qH2xNAEuLDviN2fRrHJrFjh5pOhxEgDK74GCQMOJP/XhGfzGkv + ymgGIXbf3X129aYQzqngyuz7myKGmo47paMRqWvlx53Cq7aJb4e++zKeMMJFyPKYlpwmIY9JGYq8 + oMpMQQAhFUAVmXtozqA9M4FmIBQod0rcUCJocjOCKgQqcvbQmGF7hoHmADga5fUFhyRJGipT+giJ + sYYw1OBUvuEYPKsKWpMTlXEbKjPIKhG2DZO6mRA1n+l6zKo20QQtScSoFleF3hGuX5BOhCBxVtBS + cN3EaQKo46i2Ydsqtk1Tdeg0Uu1oinFq2TChU5mQIKcbmHzM3IKWTQmVpsAhKoYmUR0MgJoaCDjU + NBwUm2OpstBT1QzSw72fL+TJhbB25CPlIISjruQsv7kgIo+Vd1lXkvOakSH8HYG0+LP+OyXNGwm/ + ijhtLn+laU3xSPNTsqppI+OUp5APXNBCeq3zsu0nj7QpKZsYGgSTqpzMJZmnl8ntX0MZJZxObCnE + OQsF4+ENqYyaEsbpf4PwZy5/a39JihuA5kQF1Oo2GrefXeI0bptcDGO3xjEYxRwCsUMsqNqpmcoO + GUB1SAxUGsVyRYlFcCJt2zr5f65+i46QXNrUsoIPvHJk8lJCqEpl9qaUtBfS4yvmD+7ns/K3wG8W + G7df6sB/fuhNdBzi4gJX88OuNz1/B0kjoq2T669DyY/+ZnNfWjuwB5Zx/+oUbsWsZeQO3TmJjwez + D9iLT+aLU+EEjyIr16t/jdMjdtJ/7sHD1FruzgfxsGNZffAzdlhmItjPYZfUQ7JH2L0CXz94tIE7 + n9nrjdik0XP+06VxMG07xoRxMXB2vbo+Mjp2HhbZxltZnT5fxNvBCo5W5z2RaLDnu847LoIuia5r + tBzM/tkKjOVX/piD/kBWMOOXZCnWx2S52h6fzx7uPCv7gj38zegW2Wt6/PkFtqkz7y/d6Ztpu+45 + 9q7zJ3fruhI9y4tcYoRynCtB5BVE7++/AONhr15OBAAA + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 10 Jun 2022 11:28:18 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Continuation-Token: + - H4sIAAAAAAAAAJWQ0WrDMAxF/0WPIx52Yycmv1JCURx5NWR1artbQ8i/VynsYWMMBn6R0T063BV8mAol6FbAywjdcYU5xZlSWaCDgm8ZKthnLJG3gK48f+B0I96FRjUtIRlhpUWhlUFhtZTC1wdpydT24Az0W/UNer1RWl7LMtMfbPikAecZ9uwllt3v34hzzAW23wljyDhMNJ6w/CDcQy6ZY6wNOaby7CRwNYDZwdbzL2Fy5xP6Z3FHsKi0xUaJ1hsvdFtLYdFJQYPjN4wN6hE4N4X3wDhVfYkE1uf8CxvwgX57AAjcNzCOAQAA + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-orlc5-ap-southeast-1-prod + X-Request-Uuid: + - 7ae0f82a8b464107ad9bd400d56c4d63 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/cassettes/test_search_response_v3.yaml b/tests/io/cassettes/test_search_response_v3.yaml new file mode 100644 index 000000000..b65d3bdc6 --- /dev/null +++ b/tests/io/cassettes/test_search_response_v3.yaml @@ -0,0 +1,87 @@ +interactions: +- request: + body: '{"filter": {"and": [{"property": "last_observed", "operator": "lt", "value": + "2022-06-08T18:30:00.000Z"}]}, "limit": 3, "fields": ["name"], "sort": [{"name": + "asc"}]}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '166' + Content-Type: + - application/json + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.1; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: POST + uri: https://cloud.tenable.com/api/v3/assets/host/search + response: + body: + string: !!binary | + H4sIAAAAAAAAA91Va1PiOhj+K06/YkqSNunlGyoCLuKlCK5nHCZtUqiUttsUER3/+6ZFV0F0deec + /XA6HS7pe33e53n7oDEpRSE1958HLcpu6Yhxngt1Vh5d72qJKPwolaOEzYTmanp1ec3zQfMcIm1X + k+k8Dypjrdf0vAtv5O03epryjJksRnEUiEQKPpIBS0ZFVAXBEGMAEcBmH2MXWy6xdQjhlQqnSjDX + StCQhXVMdQShjohRBuaRzGK2HM1Y8GyqgkLoEnVTl1GXmq7Ntar4RZpPNVf1xiub1QW2fDxfpduq + 1wMRsnlcaI8vKV+Xpyw2atvVwihXTae+FPmt4L9pVY64iEVR2oUsluIJsk96l88JsbhvwgD4xKTA + xDYCtmNRQAR2uIEZpRgr21dArTB9i5WCtVhmq6eTVBblQZALVmyrw3YR0aFtlHWsqmVFlCajFy48 + fAmJL7T9NJrXVHu8rrB8ZtovMAs2fqJ1NXomfJsjH9jU4cAkGAI7hBhYlvqJbJtYdjn6QHU8TvOl + 8mC++n/L4nmZsBCqRBVRW+GkTvhS1RIFih1PGULMA8uxQ+BYwlLDcAjwOeOAI5vyANsEGmw9w74H + SlnszFgyFvmrbOqArU42k6le00zkCu9kPJJLWYhZNbNhlPB0IXe8EsN8R7VEd7yCJZzlfAeZhrOm + nM0QKsMnAiixV9ajp6LGIlFhYpDN8yyVYkXpbO6rSfwawtraqAacV2tjnvE1blEAnT7ELnFcjHXL + oOWwSyKOtkeoUN+yrt6Q+A/3EwIIAoz6yFbkq+i+4t+aJtaNDKRDbH1VE+8l2qKJ90y/oIm361Vt + LqhjaOiImh8u19WNHReGrhVof09f1//9Hl8DYfsWfw/8z23xd70TWbA4LvmXhsWC5aKcSZAJt85c + pdLEl7z6lnLi2nol4lciK/L5i8Y2mqiAsjH3IbF8YBhY7SSL+sDxDQxwENLAIkgtJb5Fjapcp48M + 11DTxrrjkKt33iIbpLj+a7K0XEMpzvlYlpURMXSH0j+W5Uaij2a7YfpvyNLUMalk+f8T26q134ht + A9Iviu2t90fCeS6oatqwqGmEnADLZA4whRUABxEGAgcyZAqKeOh/IBxMXKReY47iXQlpxsZRUhGv + RDURd4XyaJuy03i+2vgMDunBcePusG4PT5uw2WpMvFoKa3nzoNv8cdRM04uYHXjtWvi9lV3kon06 + sLqnt2Hn2+KOOq3l5DJtzvbCQTzhMzZjKEw7vjWuQa+GB7O9u7b8Xu/Muo3T8MywvNpJ4yyXVwR/ + O6rv7x8Tg+Qn8hIva1PI6ucyu+ufDYaNsZ1c9frJsNVr7Z9GR/i+d5/Vjg14GdrN1KLTq2E3nNbH + cZ2Js9APxzcnw3atU+eTY9677S5Ph+1iwG5h53xwVBTh8O7HSYYWDXPRvzlsDQNy04FXrYuJhO04 + zc4v9oM47tJ0euQcXnqdZNqJDw/2Fs17msmTeJDAaXE5GS/aRvM8muTOrNZgHrzpHpLGWaNRKjOa + RQpWQ3E6VTtVcxHEjoEeH38CIBsBwOMMAAA= + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 09 Jun 2022 13:45:29 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Continuation-Token: + - H4sIAAAAAAAAAH2Q0W6DMAxF/8WPE0EGAhS+o0+rEDLEqJEooUlaDSH+fYGpUreHPV7LPvfIKwx69GyhXoEmBfVlhdmama1foIb7g+0S+2VmBxHsY/ImLAPfQ37S+OAQrsZ52KJ/CCM535rOsX2y+k0a/RspxTQVWAg8nZNTnWGNGCPiJ2zNzp+M30Xf8Eo76kZWLfk/gl/aeQfbfgjOWH+I/dhMdNvLyPWHtVav0IRVJttfWxqOp1wA4wTjFGWc5jI0ZGUhs0HlopRUCcllL6okJ9FXSInkIlFDBwEz6psOlVn0ktXhgwH3ERihr9m+AaS0jLF5AQAA + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-dkrsa-ap-southeast-1-prod + X-Request-Uuid: + - f08c7c598015d33fea5c275bc1a8c0de + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/cassettes/test_search_v3.yaml b/tests/io/cassettes/test_search_v3.yaml new file mode 100644 index 000000000..ece8bfa81 --- /dev/null +++ b/tests/io/cassettes/test_search_v3.yaml @@ -0,0 +1,68 @@ +interactions: +- request: + body: '{"filter": {"and": [{"operator": "lt", "property": "last_observed", "value": + "2022-06-08T18:30:00.000Z"}]}, "fields": ["name"], "limit": 2, "sort": [{"name": + "asc"}]}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '166' + Content-Type: + - application/json + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.10.1; Windows/AMD64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: POST + uri: https://cloud.tenable.com/api/v3/assets/host/search + response: + body: + string: !!binary | + H4sIAAAAAAAACrMpSc1LTMpJ1cvM1ysz1ktKLAYyS1KLEkvyi4r1UisKcvKLUuNhInrBqYlFyRme + UK5CflJWanKJQmKJgkGFAQgYuVgYGhiZGTlbGNgBAM6WKeNbAAAA + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 09 Jun 2022 14:01:27 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Continuation-Token: + - H4sIAAAAAAAAAH2Qy26DMBBF/2WWFUaDCY/6O7pqhJCNjWLJwcSeREWIf6+hipR20eUdzZx7NCuM1pEJIFaQkwZxXmEOfjaBFhBwu5uw5LTMJkIG+1iST8tgbik/pLubFC4+EmzZPwQnI/VeRRMeRv8mOXohceScYc2w/ShaUaJAzBHxE7Zu50+edtEXvLZRKmd0L+mP4JeNFGHbDyH6QIfYj80kr3uZjMNhbfUzdGnVyDBcejkeTzkD5gXmHMu8qE+poeVaYdUoVpa8YaemVuxdlZzxYayHpiraCjUkjLNXmyp59pS16YMJ95YYqa/bvgETRC02eQEAAA + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-d5jw8-ap-southeast-1-prod + X-Request-Uuid: + - b003d60f3a324a483654e72eeeb5e971 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/exports/cassettes/test_scan_uuid.yaml b/tests/io/exports/cassettes/test_scan_uuid.yaml new file mode 100644 index 000000000..504beef12 --- /dev/null +++ b/tests/io/exports/cassettes/test_scan_uuid.yaml @@ -0,0 +1,308 @@ +interactions: +- request: + body: '{"chunk_size": 1000, "filters": {"last_scan_id": "d27b3f28-9a36-4127-b63a-3da3801121ec"}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '89' + Content-Type: + - application/json + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.10 + (Restfly/1.4.7; Python/3.10.7; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: POST + uri: https://cloud.tenable.com/assets/export + response: + body: + string: '{"export_uuid":"0f0c1fec-7dbe-4237-8a93-3f47cf985b1f"}' + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Length: + - '54' + Content-Type: + - application/json;charset=utf-8 + Date: + - Fri, 16 Dec 2022 11:25:22 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - service-nginx-router-ap-northeast-1-prod-679fbd578f-xdfc2 + X-Request-Uuid: + - 64a8979f6845f12aa62dd4bd86c067c2 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.10 + (Restfly/1.4.7; Python/3.10.7; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/assets/export/0f0c1fec-7dbe-4237-8a93-3f47cf985b1f/status + response: + body: + string: '{"status":"PROCESSING","chunks_available":[]}' + headers: + Accept-Ranges: + - bytes + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Length: + - '45' + Content-Type: + - application/json;charset=utf-8 + Date: + - Fri, 16 Dec 2022 11:25:23 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - service-nginx-router-ap-northeast-1-prod-679fbd578f-xdfc2 + X-Request-Uuid: + - 1197f9b58405dea169f50496ae622dee + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.10 + (Restfly/1.4.7; Python/3.10.7; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/assets/export/0f0c1fec-7dbe-4237-8a93-3f47cf985b1f/status + response: + body: + string: '{"status":"FINISHED","chunks_available":[1]}' + headers: + Accept-Ranges: + - bytes + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Length: + - '44' + Content-Type: + - application/json;charset=utf-8 + Date: + - Fri, 16 Dec 2022 11:25:26 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - service-nginx-router-ap-northeast-1-prod-679fbd578f-xdfc2 + X-Request-Uuid: + - 23007f66b65afe64ac9620f39f9c846b + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.10 + (Restfly/1.4.7; Python/3.10.7; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/assets/export/0f0c1fec-7dbe-4237-8a93-3f47cf985b1f/chunks/1 + response: + body: + string: !!binary | + H4sIAAAAAAAAA61VXY+bOBT9KxHPhQWTEMLbqtOnVaerzVSVdrSyLvaFeAcMtU3StNr/3muSTGA6 + O63URigR59x77qed+y+BkkERVFLKfCOWYZ5BFi7LHEIArMI8r3Allmm5kjJ4FezAcqhRu6CooLF4 + QvpmqJXmBu3QOBsUzgzECIPgUHIg44DFjIVJEjJ2l6RFsinSTcTi/G/SdGhapR9N9dA0M7A8XsCh + l08V6cnu4k0RL4t4Fa03iVeU2OBc7oJctSplrOMWUT+b3SpK1rHXauCpmX/uklWxyotlHrF07c3O + cgI0d6rFH9H8xvZZ4dEWBrejpisxlj96+k5cahltGiVQ2zn9XeHRdlwAydZlWrE83EBKC5CwdVhm + KYSphDSPk4QlKK5eO5RDgydPh23fULiQLFklM/JeZyLEDMswxQ29MqxWmzIRYgmpYCtMywwFK9M8 + 35AkfB4M8n07qp0KOkG0T91gBE6IWvS8N92/KNwT9HOncfqutHWgZ85wsJziXilo1Uv0hPIrz4fh + ipSqszNAozt05uHUkvj8CZ/5unyCq4+GcQtusAI6QMEple6g0TxJD/agGihVo9xxVrEnDdaq01Nk + 34uX6qtNN/Tn4P9jQj8OXzZxx35G2qGkup6JS3OTA81NdPIbtWmEVkCFyLHveD1p8AQ+jWNKWjR7 + v//dgdujnY6prtQnDtbOUxoFfFC6re7/eRWM1TSNPz1d5Q5gKJv7QPRY/AZFq4TpPF4oZYt1tAq8 + R79feucgWbOIZREdrCQ+E9lZtfoo9WgjRRI5MDW6yKGGskGLYjA0xUh0rfdqQXCQklbeXnKiLo5b + dkkzuHmdeNOuRwNO6dqXSodv5N5eclx8UFp2B7vYUkvQLFgc54u/2OIGHFCD6F4dGWrW4k8QD4tR + 8iQ0jnJUo/ZQjCbsB9N3Fr3JrrNu0jBrd7yiHND0Rml3Rj8O0BztY7vnqFe4gi3ooQLh6KAb7vr2 + ytgjcQ4FjZrvwEg/Df6Axws93gn+5UtwPji3b7bb91u+ff37bfCLb/b/KKKD+jqS0yH3faTs52m8 + v/3j9t0Hn8JeGUdFP65bo4Bu5se/np9ai+8vns8ZhKFruvN7HGSUEX6iQfpL9QKuWUrFfQUD/xAg + /wcAAA== + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json;charset=utf-8 + Date: + - Fri, 16 Dec 2022 11:25:27 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - service-nginx-router-ap-northeast-1-prod-679fbd578f-xdfc2 + X-Request-Uuid: + - b1145997354676510d3290969c075b7e + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.10 + (Restfly/1.4.7; Python/3.10.7; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/assets/export/0f0c1fec-7dbe-4237-8a93-3f47cf985b1f/status + response: + body: + string: '{"status":"FINISHED","chunks_available":[1]}' + headers: + Accept-Ranges: + - bytes + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Length: + - '44' + Content-Type: + - application/json;charset=utf-8 + Date: + - Fri, 16 Dec 2022 11:25:28 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - service-nginx-router-ap-northeast-1-prod-679fbd578f-xdfc2 + X-Request-Uuid: + - ee8acadf7ab107e85c0e53501712f836 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/exports/cassettes/test_vulns_export_with_scan_uuid.yaml b/tests/io/exports/cassettes/test_vulns_export_with_scan_uuid.yaml new file mode 100644 index 000000000..09314f473 --- /dev/null +++ b/tests/io/exports/cassettes/test_vulns_export_with_scan_uuid.yaml @@ -0,0 +1,1288 @@ +interactions: +- request: + body: '{"num_assets": 500, "filters": {"scan_uuid": "992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c", + "since": 1661327570}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '122' + Content-Type: + - application/json + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.9 + (Restfly/1.4.7; Python/3.10.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: POST + uri: https://cloud.tenable.com/vulns/export + response: + body: + string: '{"export_uuid":"8b606c8d-d042-4d27-9aa7-d798e8528710"}' + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Length: + - '54' + Content-Type: + - application/json; charset=utf-8 + Date: + - Wed, 23 Nov 2022 08:14:05 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - service-nginx-router-ap-northeast-1-prod-7bfcc7b48d-crdzs + X-Request-Uuid: + - 0e798331ddf91491c61272ef8fc92b68 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.9 + (Restfly/1.4.7; Python/3.10.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/vulns/export/8b606c8d-d042-4d27-9aa7-d798e8528710/status + response: + body: + string: '{"uuid":"8b606c8d-d042-4d27-9aa7-d798e8528710","status":"PROCESSING","chunks_available":[],"chunks_failed":[],"chunks_cancelled":[],"total_chunks":6,"chunks_available_count":4,"empty_chunks_count":4,"finished_chunks":4,"filters":{"state":["OPEN","REOPENED"],"tags":{},"scanuuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c","since":1661327570,"first_found":0,"last_found":0,"last_fixed":0,"first_seen":0,"last_seen":0,"indexed_at":0},"num_assets_per_chunk":500,"created":1669191245469}' + headers: + Accept-Ranges: + - bytes + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Length: + - '495' + Content-Type: + - application/json; charset=utf-8 + Date: + - Wed, 23 Nov 2022 08:14:06 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - service-nginx-router-ap-northeast-1-prod-7bfcc7b48d-crdzs + X-Request-Uuid: + - 7b6fdcd0a308ce09c43b4d61b5d45c35 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.9 + (Restfly/1.4.7; Python/3.10.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/vulns/export/8b606c8d-d042-4d27-9aa7-d798e8528710/status + response: + body: + string: '{"uuid":"8b606c8d-d042-4d27-9aa7-d798e8528710","status":"FINISHED","chunks_available":[1,5],"chunks_failed":[],"chunks_cancelled":[],"total_chunks":6,"chunks_available_count":6,"empty_chunks_count":4,"finished_chunks":6,"filters":{"state":["OPEN","REOPENED"],"tags":{},"scanuuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c","since":1661327570,"first_found":0,"last_found":0,"last_fixed":0,"first_seen":0,"last_seen":0,"indexed_at":0},"num_assets_per_chunk":500,"created":1669191245469}' + headers: + Accept-Ranges: + - bytes + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Length: + - '496' + Content-Type: + - application/json; charset=utf-8 + Date: + - Wed, 23 Nov 2022 08:14:09 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - service-nginx-router-ap-northeast-1-prod-7bfcc7b48d-crdzs + X-Request-Uuid: + - 9611428f3e61d3e39519a7648c0ed9b9 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.9 + (Restfly/1.4.7; Python/3.10.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/vulns/export/8b606c8d-d042-4d27-9aa7-d798e8528710/chunks/1 + response: + body: + string: '[{"asset":{"device_type":"general-purpose","fqdn":"target3.pubtarg.tenablesecurity.com","hostname":"target3.pubtarg.tenablesecurity.com","uuid":"89cc9980-2aab-4ca2-8595-283deff50701","ipv4":"44.241.160.134","last_unauthenticated_results":"2022-05-31T09:08:26Z","operating_system":["Linux + Kernel 3.13 on Ubuntu 14.04 (trusty)"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"For + your information, here is the traceroute from 172.16.31.133 to 44.241.160.134 + : \n172.16.31.133\n100.64.80.5\n240.1.240.35\n250.254.128.4\n242.0.0.25\n240.0.208.7\n242.2.99.145\n44.241.160.134\n\nHop + Count: 7\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"Makes + a traceroute to the remote host.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"General","family_id":30,"has_patch":false,"id":10287,"in_the_news":false,"name":"Traceroute + Information","modification_date":"2020-08-20T00:00:00Z","publication_date":"1999-11-27T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"It + was possible to obtain traceroute information.","type":"remote","unsupported_by_vendor":false,"version":"1.67"},"port":{"port":0,"protocol":"UDP"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.258Z"},{"asset":{"device_type":"general-purpose","fqdn":"target3.pubtarg.tenablesecurity.com","hostname":"target3.pubtarg.tenablesecurity.com","uuid":"89cc9980-2aab-4ca2-8595-283deff50701","ipv4":"44.241.160.134","last_unauthenticated_results":"2022-05-31T09:08:26Z","operating_system":["Linux + Kernel 3.13 on Ubuntu 14.04 (trusty)"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\nGive + Nessus credentials to perform local checks.\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"Security + patches may have been ''backported'' to the remote SSH server without changing + its version number. \n\nBanner-based checks have been disabled to avoid false + positives. \n\nNote that this test is informational only and does not denote + any security problem.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"General","family_id":30,"has_patch":false,"id":39520,"in_the_news":false,"name":"Backported + Security Patch Detection (SSH)","modification_date":"2015-07-07T00:00:00Z","publication_date":"2009-06-25T00:00:00Z","risk_factor":"None","see_also":["https://access.redhat.com/security/updates/backporting/?sc_cid=3093"],"solution":"N/A","synopsis":"Security + patches are backported.","type":"remote","unsupported_by_vendor":false,"version":"$Revision: + 1.9 $"},"port":{"port":22,"protocol":"TCP","service":"ssh"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.251Z"},{"asset":{"device_type":"general-purpose","fqdn":"target3.pubtarg.tenablesecurity.com","hostname":"target3.pubtarg.tenablesecurity.com","uuid":"89cc9980-2aab-4ca2-8595-283deff50701","ipv4":"44.241.160.134","last_unauthenticated_results":"2022-05-31T09:08:26Z","operating_system":["Linux + Kernel 3.13 on Ubuntu 14.04 (trusty)"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"Remote + device type : general-purpose\nConfidence level : 95\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"Based + on the remote operating system, it is possible to determine what the remote + system type is (eg: a printer, router, general-purpose computer, etc).","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"General","family_id":30,"has_patch":false,"id":54615,"in_the_news":false,"name":"Device + Type","modification_date":"2022-09-09T00:00:00Z","publication_date":"2011-05-23T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"It + is possible to guess the remote device type.","type":"combined","unsupported_by_vendor":false,"version":"$Revision: + 1.1 $"},"port":{"port":0,"protocol":"TCP"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.219Z"},{"asset":{"device_type":"general-purpose","fqdn":"target3.pubtarg.tenablesecurity.com","hostname":"target3.pubtarg.tenablesecurity.com","uuid":"89cc9980-2aab-4ca2-8595-283deff50701","ipv4":"44.241.160.134","last_unauthenticated_results":"2022-05-31T09:08:26Z","operating_system":["Linux + Kernel 3.13 on Ubuntu 14.04 (trusty)"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"The + remote SSH daemon supports the following versions of the\nSSH protocol :\n\n - + 1.99\n - 2.0\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"This + plugin determines the versions of the SSH protocol supported by the remote + SSH daemon.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"General","family_id":30,"has_patch":false,"id":10881,"in_the_news":false,"name":"SSH + Protocol Versions Supported","modification_date":"2021-01-19T00:00:00Z","publication_date":"2002-03-06T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"A + SSH server is running on the remote host.","type":"remote","unsupported_by_vendor":false,"version":"1.39"},"port":{"port":22,"protocol":"TCP","service":"ssh"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.246Z"},{"asset":{"device_type":"general-purpose","fqdn":"target3.pubtarg.tenablesecurity.com","hostname":"target3.pubtarg.tenablesecurity.com","uuid":"89cc9980-2aab-4ca2-8595-283deff50701","ipv4":"44.241.160.134","last_unauthenticated_results":"2022-05-31T09:08:26Z","operating_system":["Linux + Kernel 3.13 on Ubuntu 14.04 (trusty)"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\nResponse + Code : HTTP/1.1 200 OK\n\nProtocol version : HTTP/1.1\nSSL : no\nKeep-Alive + : yes\nOptions allowed : (Not implemented)\nHeaders :\n\n Date: Tue, 31 May + 2022 08:27:05 GMT\n Server: Apache/2.4.7 (Ubuntu)\n Last-Modified: Fri, + 01 Nov 2019 13:29:43 GMT\n ETag: \"2cf6-59648f579f31f\"\n Accept-Ranges: + bytes\n Content-Length: 11510\n Vary: Accept-Encoding\n Keep-Alive: timeout=5, + max=100\n Connection: Keep-Alive\n Content-Type: text/html\n \nResponse + Body :\n\n\n\n\n \n \n \n Apache2 Ubuntu Default + Page: It works\n \n \n \n
\n
\n \"Ubuntu\n \n Apache2 + Ubuntu Default Page\n \n
\n\n
\n\n\n
\n
\n It works!\n
\n
\n

\n This + is the default welcome page used to test the correct \n operation + of the Apache2 server after installation on Ubuntu systems.\n It + is based on the equivalent page on Debian, from which the Ubuntu Apache\n packaging + is derived.\n If you can read this page, it means that the + Apache HTTP server installed at\n this site is working properly. + You should replace this file (located at\n /var/www/html/index.html) + before continuing to operate your HTTP server.\n

\n\n\n

\n If + you are a normal user of this web site and don''t know what this page is\n about, + this probably means that the site is currently unavailable due to\n maintenance.\n If + the problem persists, please contact the site''s administrator.\n

\n\n
\n
\n
\n Configuration + Overview\n
\n
\n

\n Ubuntu''s + Apache2 default configuration is different from the\n upstream + default configuration, and split into several files optimized for\n interaction + with Ubuntu tools. The configuration system is\n fully documented + in\n /usr/share/doc/apache2/README.Debian.gz. Refer to + this for the full\n documentation. Documentation for the web + server itself can be\n found by accessing the manual + if the apache2-doc\n package was installed on this + server.\n\n

\n

\n The configuration + layout for an Apache2 web server installation on Ubuntu systems is as follows:\n

\n
\n/etc/apache2/\n|--
+        apache2.conf\n|       `--  ports.conf\n|-- mods-enabled\n|       |-- *.load\n|       `--
+        *.conf\n|-- conf-enabled\n|       `-- *.conf\n|-- sites-enabled\n|       `--
+        *.conf\n          
\n
    \n
  • \n apache2.conf + is the main configuration\n file. It puts the pieces + together by including all remaining configuration\n files + when starting up the web server.\n
  • \n\n
  • \n ports.conf + is always included from the\n main configuration + file. It is used to determine the listening ports for\n incoming + connections, and this file can be customized anytime.\n
  • \n\n
  • \n Configuration + files in the mods-enabled/,\n conf-enabled/ + and sites-enabled/ directories contain\n particular + configuration snippets which manage modules, global configuration\n fragments, + or virtual host configurations, respectively.\n
  • \n\n
  • \n They + are activated by symlinking available\n configuration + files from their respective\n *-available/ counterparts. + These should be managed\n by using our helpers\n \n a2enmod,\n a2dismod,\n \n \n a2ensite,\n a2dissite,\n \n and\n \n a2enconf,\n a2disconf\n . + See their respective man pages for detailed information.\n
  • \n\n
  • \n The + binary is called apache2. Due to the use of\n environment + variables, in the default configuration, apache2 needs to be\n started/stopped + with /etc/init.d/apache2 or apache2ctl.\n Calling + /usr/bin/apache2 directly will not work with the\n default + configuration.\n
  • \n
\n
\n\n
\n
\n Document + Roots\n
\n\n
\n

\n By + default, Ubuntu does not allow access through the web browser to\n any + file apart of those located in /var/www,\n public_html\n directories + (when enabled) and /usr/share (for web\n applications). + If your site is using a web document root\n located elsewhere + (such as in /srv) you may need to whitelist your\n document + root directory in /etc/apache2/apache2.conf.\n

\n

\n The + default Ubuntu document root is /var/www/html. You\n can + make your own virtual hosts under /var/www. This is different\n to + previous releases which provides better security out of the box.\n

\n
\n\n
\n
\n Reporting + Problems\n
\n
\n

\n Please + use the ubuntu-bug tool to report bugs in the\n Apache2 + package with Ubuntu. However, check existing\n bug + reports before reporting a new bug.\n

\n

\n Please + report bugs specific to modules (such as PHP and others)\n to + respective packages, not to the web server itself.\n

\n
\n\n\n\n\n
\n
\n
\n

\n \"Valid\n

\n
\n \n\n\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"This + test gives some information about the remote HTTP protocol - the version used, + whether HTTP Keep-Alive and HTTP pipelining are enabled, etc... \n\nThis test + is informational only and does not denote any security problem.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Web + Servers","family_id":11,"has_patch":false,"id":24260,"in_the_news":false,"name":"HyperText + Transfer Protocol (HTTP) Information","modification_date":"2019-11-22T00:00:00Z","publication_date":"2007-01-30T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"Some + information about the remote HTTP configuration can be extracted.","type":"remote","unsupported_by_vendor":false,"version":"1.14"},"port":{"port":80,"protocol":"TCP","service":"www"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.258Z"},{"asset":{"device_type":"general-purpose","fqdn":"target3.pubtarg.tenablesecurity.com","hostname":"target3.pubtarg.tenablesecurity.com","uuid":"89cc9980-2aab-4ca2-8595-283deff50701","ipv4":"44.241.160.134","last_unauthenticated_results":"2022-05-31T09:08:26Z","operating_system":["Linux + Kernel 3.13 on Ubuntu 14.04 (trusty)"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\nThe + following client-to-server Cipher Block Chaining (CBC) algorithms\nare supported + : \n\n 3des-cbc\n aes128-cbc\n aes192-cbc\n aes256-cbc\n blowfish-cbc\n cast128-cbc\n rijndael-cbc@lysator.liu.se\n\nThe + following server-to-client Cipher Block Chaining (CBC) algorithms\nare supported + : \n\n 3des-cbc\n aes128-cbc\n aes192-cbc\n aes256-cbc\n blowfish-cbc\n cast128-cbc\n rijndael-cbc@lysator.liu.se\n","plugin":{"bid":[32319],"checks_for_default_account":false,"checks_for_malware":false,"cve":["CVE-2008-5161"],"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":2.6,"cvss_temporal_score":1.9,"cvss_temporal_vector":{"exploitability":"Unproven","remediation_level":"Official-fix","report_confidence":"Confirmed","raw":"E:U/RL:OF/RC:C"},"cvss_vector":{"access_complexity":"High","access_vector":"Network","authentication":"None + required","availability_impact":"None","confidentiality_impact":"Partial","integrity_impact":"None","raw":"AV:N/AC:H/Au:N/C:P/I:N/A:N"},"description":"The + SSH server is configured to support Cipher Block Chaining (CBC) encryption. This + may allow an attacker to recover the plaintext message from the ciphertext. + \n\nNote that this plugin only checks for the options of the SSH server and + does not check for vulnerable software versions.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploitability_ease":"No + known exploits are available","exploited_by_malware":false,"exploited_by_nessus":false,"family":"Misc.","family_id":23,"has_patch":false,"id":70658,"in_the_news":false,"name":"SSH + Server CBC Mode Ciphers Enabled","modification_date":"2018-07-30T00:00:00Z","publication_date":"2013-10-28T00:00:00Z","risk_factor":"Low","see_also":[""],"solution":"Contact + the vendor or consult product documentation to disable CBC mode cipher encryption, + and enable CTR or GCM cipher mode encryption.","synopsis":"The SSH server + is configured to use Cipher Block Chaining.","type":"remote","unsupported_by_vendor":false,"version":"1.4","vuln_publication_date":"2008-11-24T00:00:00Z","xrefs":[{"type":"CERT","id":"958563"},{"type":"CWE","id":"200"}],"vpr":{"score":2.5,"drivers":{"age_of_vuln":{"lower_bound":731},"exploit_code_maturity":"UNPROVEN","cvss_impact_score_predicted":true,"cvss3_impact_score":2.5,"threat_intensity_last28":"VERY_LOW","threat_sources_last28":["No + recorded events"],"product_coverage":"HIGH"},"updated":"2020-12-30T05:20:01Z"}},"port":{"port":22,"protocol":"TCP","service":"ssh"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"low","severity_id":1,"severity_default_id":1,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.246Z"},{"asset":{"device_type":"general-purpose","fqdn":"target3.pubtarg.tenablesecurity.com","hostname":"target3.pubtarg.tenablesecurity.com","uuid":"89cc9980-2aab-4ca2-8595-283deff50701","ipv4":"44.241.160.134","last_unauthenticated_results":"2022-05-31T09:08:26Z","operating_system":["Linux + Kernel 3.13 on Ubuntu 14.04 (trusty)"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\nRemote + operating system : Linux Kernel 3.13 on Ubuntu 14.04 (trusty)\nConfidence + level : 95\nMethod : HTTP\n\n \nThe remote host is running Linux Kernel 3.13 + on Ubuntu 14.04 (trusty)","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"Using + a combination of remote probes (e.g., TCP/IP, SMB, HTTP, NTP, SNMP, etc.), + it is possible to guess the name of the remote operating system in use. It + is also possible sometimes to guess the version of the operating system.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"General","family_id":30,"has_patch":false,"id":11936,"in_the_news":false,"name":"OS + Identification","modification_date":"2022-03-09T00:00:00Z","publication_date":"2003-12-09T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"It + is possible to guess the remote operating system.","type":"combined","unsupported_by_vendor":false,"version":"2.61"},"port":{"port":0,"protocol":"TCP"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.258Z"},{"asset":{"device_type":"general-purpose","fqdn":"target3.pubtarg.tenablesecurity.com","hostname":"target3.pubtarg.tenablesecurity.com","uuid":"89cc9980-2aab-4ca2-8595-283deff50701","ipv4":"44.241.160.134","last_unauthenticated_results":"2022-05-31T09:08:26Z","operating_system":["Linux + Kernel 3.13 on Ubuntu 14.04 (trusty)"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\nSSH + version : SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.13\nSSH supported authentication + : publickey,password\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"It + is possible to obtain information about the remote SSH server by sending an + empty authentication request.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Service + detection","family_id":24,"has_patch":false,"id":10267,"in_the_news":false,"name":"SSH + Server Type and Version Information","modification_date":"2020-09-22T00:00:00Z","publication_date":"1999-10-12T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"An + SSH server is listening on this port.","type":"remote","unsupported_by_vendor":false,"version":"2.30","xrefs":[{"type":"IAVT","id":"0001-T-0933"}]},"port":{"port":22,"protocol":"TCP","service":"ssh"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.214Z"},{"asset":{"device_type":"general-purpose","fqdn":"target3.pubtarg.tenablesecurity.com","hostname":"target3.pubtarg.tenablesecurity.com","uuid":"89cc9980-2aab-4ca2-8595-283deff50701","ipv4":"44.241.160.134","last_unauthenticated_results":"2022-05-31T09:08:26Z","operating_system":["Linux + Kernel 3.13 on Ubuntu 14.04 (trusty)"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\nThe + following client-to-server SHA-1 Hash-based Message Authentication Code (HMAC) + algorithms are supported : \n\n hmac-sha1\n hmac-sha1-96\n hmac-sha1-96-etm@openssh.com\n hmac-sha1-etm@openssh.com\n\nThe + following server-to-client SHA-1 Hash-based Message Authentication Code (HMAC) + algorithms are supported : \n\n hmac-sha1\n hmac-sha1-96\n hmac-sha1-96-etm@openssh.com\n hmac-sha1-etm@openssh.com\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"The + remote SSH server is configured to enable SHA-1 HMAC algorithms.\n\nAlthough + NIST has formally deprecated use of SHA-1 for digital signatures, SHA-1 is + still considered secure for HMAC as the security of HMAC does not rely on + the underlying hash function being resistant to collisions.\n\nNote that this + plugin only checks for the options of the remote SSH server.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Misc.","family_id":23,"has_patch":false,"id":153588,"in_the_news":false,"name":"SSH + SHA-1 HMAC Algorithms Enabled","modification_date":"2022-04-05T00:00:00Z","publication_date":"2021-09-23T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"The + remote SSH server is configured to enable SHA-1 HMAC algorithms.","type":"remote","unsupported_by_vendor":false,"version":"1.2"},"port":{"port":22,"protocol":"TCP","service":"ssh"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.229Z"},{"asset":{"device_type":"general-purpose","fqdn":"target3.pubtarg.tenablesecurity.com","hostname":"target3.pubtarg.tenablesecurity.com","uuid":"89cc9980-2aab-4ca2-8595-283deff50701","ipv4":"44.241.160.134","last_unauthenticated_results":"2022-05-31T09:08:26Z","operating_system":["Linux + Kernel 3.13 on Ubuntu 14.04 (trusty)"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\nThe + remote operating system matched the following CPE : \n\n cpe:/o:canonical:ubuntu_linux:14.04 + -> Canonical Ubuntu Linux\n\nFollowing application CPE''s matched on the remote + system : \n\n cpe:/a:apache:http_server:2.4.7 -> Apache Software Foundation + Apache HTTP Server\n cpe:/a:apache:http_server:2.4.99 -> Apache Software + Foundation Apache HTTP Server\n cpe:/a:openbsd:openssh:6.6 -> OpenBSD OpenSSH\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"By + using information obtained from a Nessus scan, this plugin reports CPE (Common + Platform Enumeration) matches for various hardware and software products found + on a host. \n\nNote that if an official CPE is not available for the product, + this plugin computes the best possible CPE based on the information available + from the scan.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"General","family_id":30,"has_patch":false,"id":45590,"in_the_news":false,"name":"Common + Platform Enumeration (CPE)","modification_date":"2022-10-05T00:00:00Z","publication_date":"2010-04-21T00:00:00Z","risk_factor":"None","see_also":["http://cpe.mitre.org/","https://nvd.nist.gov/products/cpe"],"solution":"N/A","synopsis":"It + was possible to enumerate CPE names that matched on the remote system.","type":"combined","unsupported_by_vendor":false,"version":"1.121"},"port":{"port":0,"protocol":"TCP"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.240Z"},{"asset":{"device_type":"general-purpose","fqdn":"target3.pubtarg.tenablesecurity.com","hostname":"target3.pubtarg.tenablesecurity.com","uuid":"89cc9980-2aab-4ca2-8595-283deff50701","ipv4":"44.241.160.134","last_unauthenticated_results":"2022-05-31T09:08:26Z","operating_system":["Linux + Kernel 3.13 on Ubuntu 14.04 (trusty)"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\nThe + Linux distribution detected was : \n - Ubuntu 14.04 (trusty)\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cpe":["cpe:/a:apache:http_server"],"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"Nessus + was able to extract the banner of the Apache web server and determine which + Linux distribution the remote host is running.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Web + Servers","family_id":11,"has_patch":false,"id":18261,"in_the_news":false,"name":"Apache + Banner Linux Distribution Disclosure","modification_date":"2022-03-21T00:00:00Z","publication_date":"2005-05-15T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"If + you do not wish to display this information, edit ''httpd.conf'' and set the + directive ''ServerTokens Prod'' and restart Apache.","synopsis":"The name + of the Linux distribution running on the remote host was found in the banner + of the web server.","type":"remote","unsupported_by_vendor":false,"version":"1.101"},"port":{"port":0,"protocol":"TCP"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.235Z"},{"asset":{"device_type":"general-purpose","fqdn":"target3.pubtarg.tenablesecurity.com","hostname":"target3.pubtarg.tenablesecurity.com","uuid":"89cc9980-2aab-4ca2-8595-283deff50701","ipv4":"44.241.160.134","last_unauthenticated_results":"2022-05-31T09:08:26Z","operating_system":["Linux + Kernel 3.13 on Ubuntu 14.04 (trusty)"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"The + SSH server on the remote host accepts password authentication.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Service + detection","family_id":24,"has_patch":false,"id":149334,"in_the_news":false,"name":"SSH + Password Authentication Accepted","modification_date":"2021-05-07T00:00:00Z","publication_date":"2021-05-07T00:00:00Z","risk_factor":"None","see_also":["https://tools.ietf.org/html/rfc4252#section-8"],"solution":"N/A","synopsis":"The + SSH server on the remote host accepts password authentication.","type":"remote","unsupported_by_vendor":false,"version":"1.1"},"port":{"port":22,"protocol":"TCP","service":"ssh"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.245Z"},{"asset":{"device_type":"general-purpose","fqdn":"target3.pubtarg.tenablesecurity.com","hostname":"target3.pubtarg.tenablesecurity.com","uuid":"89cc9980-2aab-4ca2-8595-283deff50701","ipv4":"44.241.160.134","last_unauthenticated_results":"2022-05-31T09:08:26Z","operating_system":["Linux + Kernel 3.13 on Ubuntu 14.04 (trusty)"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"Port + 22/tcp was found to be open","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"This + plugin is a SYN ''half-open'' port scanner. It shall be reasonably quick + even against a firewalled target. \n\nNote that SYN scans are less intrusive + than TCP (full connect) scans against broken services, but they might cause + problems for less robust firewalls and also leave unclosed connections on + the remote target, if the network is loaded.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Port + scanners","family_id":42,"has_patch":false,"id":11219,"in_the_news":false,"name":"Nessus + SYN scanner","modification_date":"2022-08-15T00:00:00Z","publication_date":"2009-02-04T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"Protect + your target with an IP filter.","synopsis":"It is possible to determine which + TCP ports are open.","type":"remote","unsupported_by_vendor":false,"version":"1.43"},"port":{"port":22,"protocol":"TCP","service":"ssh"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.235Z"},{"asset":{"device_type":"general-purpose","fqdn":"target3.pubtarg.tenablesecurity.com","hostname":"target3.pubtarg.tenablesecurity.com","uuid":"89cc9980-2aab-4ca2-8595-283deff50701","ipv4":"44.241.160.134","last_unauthenticated_results":"2022-05-31T09:08:26Z","operating_system":["Linux + Kernel 3.13 on Ubuntu 14.04 (trusty)"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"Information + about this scan : \n\nNessus version : 10.2.0\nNessus build : 20075\nPlugin + feed version : 202205301753\nScanner edition used : Nessus\nScanner OS : LINUX\nScanner + distribution : amzn2-aarch64\nScan type : Normal\nScan name : basic\nScan + policy used : Basic Network Scan\nScanner IP : tenable.io Scanner\nPort scanner(s) + : nessus_syn_scanner \nPort range : default\nPing RTT : 93.345 ms\nThorough + tests : no\nExperimental tests : no\nParanoia level : 1\nReport verbosity + : 1\nSafe checks : yes\nOptimize the test : yes\nCredentialed checks : no\nPatch + management checks : None\nDisplay superseded patches : yes (supersedence plugin + launched)\nCGI scanning : disabled\nWeb application tests : disabled\nMax + hosts : 30\nMax checks : 4\nRecv timeout : 5\nBackports : Detected\nAllow + post-scan editing: Yes\nScan Start Date : 2022/5/31 9:00 UTC\nScan duration + : 485 sec\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"This + plugin displays, for each tested host, information about the scan itself :\n\n - + The version of the plugin set.\n - The type of scanner (Nessus or Nessus + Home).\n - The version of the Nessus Engine.\n - The port scanner(s) used.\n - + The port range scanned.\n - The ping round trip time \n - Whether credentialed + or third-party patch management checks are possible.\n - Whether the + display of superseded patches is enabled\n - The date of the scan.\n - The + duration of the scan.\n - The number of hosts scanned in parallel.\n - The + number of checks done in parallel.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Settings","family_id":41,"has_patch":false,"id":19506,"in_the_news":false,"name":"Nessus + Scan Information","modification_date":"2022-06-09T00:00:00Z","publication_date":"2005-08-26T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"This + plugin displays information about the Nessus scan.","type":"summary","unsupported_by_vendor":false,"version":"1.112"},"port":{"port":0,"protocol":"TCP"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.251Z"},{"asset":{"device_type":"general-purpose","fqdn":"target3.pubtarg.tenablesecurity.com","hostname":"target3.pubtarg.tenablesecurity.com","uuid":"89cc9980-2aab-4ca2-8595-283deff50701","ipv4":"44.241.160.134","last_unauthenticated_results":"2022-05-31T09:08:26Z","operating_system":["Linux + Kernel 3.13 on Ubuntu 14.04 (trusty)"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"SSH + was detected on port 22 but no credentials were provided.\nSSH local checks + were not enabled.\n\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"Nessus + was not able to successfully authenticate directly to the remote target on + an available authentication protocol. Nessus was able to connect to the remote + port and identify that the service running on the port supports an authentication + protocol, but Nessus failed to authenticate to the remote service using the + provided credentials. There may have been a protocol failure that prevented + authentication from being attempted or all of the provided credentials for + the authentication protocol may be invalid. See plugin output for error details.\n\nPlease + note the following :\n\n- This plugin reports per protocol, so it is possible + for valid credentials to be provided for one protocol and not another. + For example, authentication may succeed via SSH but fail via SMB, while + no credentials were provided for an available SNMP service.\n\n- Providing + valid credentials for all available authentication protocols may improve + scan coverage, but the value of successful authentication for a given protocol + may vary from target to target depending upon what data (if any) is gathered + from the target via that protocol. For example, successful authentication + via SSH is more valuable for Linux targets than for Windows targets, and + likewise successful authentication via SMB is more valuable for Windows + targets than for Linux targets.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Settings","family_id":41,"has_patch":false,"id":110723,"in_the_news":false,"name":"Target + Credential Status by Authentication Protocol - No Credentials Provided","modification_date":"2021-11-19T00:00:00Z","publication_date":"2018-06-27T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"Nessus + was able to find common ports used for local checks, however, no credentials + were provided in the scan policy.","type":"summary","unsupported_by_vendor":false,"version":"1.16","xrefs":[{"type":"IAVB","id":"0001-B-0504"}]},"port":{"port":0,"protocol":"TCP"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.258Z"},{"asset":{"device_type":"general-purpose","fqdn":"target3.pubtarg.tenablesecurity.com","hostname":"target3.pubtarg.tenablesecurity.com","uuid":"89cc9980-2aab-4ca2-8595-283deff50701","ipv4":"44.241.160.134","last_unauthenticated_results":"2022-05-31T09:08:26Z","operating_system":["Linux + Kernel 3.13 on Ubuntu 14.04 (trusty)"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"The + difference between the local and remote clocks is 2129 seconds.\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cve":["CVE-1999-0524"],"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss3_vector":{"availability_impact":"None","confidentiality_impact":"None","integrity_impact":"None","raw":"AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N"},"cvss_base_score":0.0,"cvss_temporal_score":0.0,"cvss_vector":{"access_complexity":"Low","access_vector":"Local-access","authentication":"None + required","availability_impact":"None","confidentiality_impact":"None","integrity_impact":"None","raw":"AV:L/AC:L/Au:N/C:N/I:N/A:N"},"description":"The + remote host answers to an ICMP timestamp request. This allows an attacker + to know the date that is set on the targeted machine, which may assist an + unauthenticated, remote attacker in defeating time-based authentication protocols.\n\nTimestamps + returned from machines running Windows Vista / 7 / 2008 / 2008 R2 are deliberately + incorrect, but usually within 1000 seconds of the actual system time.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"General","family_id":30,"has_patch":false,"id":10114,"in_the_news":false,"name":"ICMP + Timestamp Request Remote Date Disclosure","modification_date":"2019-10-04T00:00:00Z","publication_date":"1999-08-01T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"Filter + out the ICMP timestamp requests (13), and the outgoing ICMP timestamp replies + (14).","synopsis":"It is possible to determine the exact time set on the remote + host.","type":"remote","unsupported_by_vendor":false,"version":"1.48","vuln_publication_date":"1995-01-01T00:00:00Z","xrefs":[{"type":"CWE","id":"200"}],"vpr":{"score":0.0,"drivers":{"age_of_vuln":{"lower_bound":731},"exploit_code_maturity":"UNPROVEN","cvss_impact_score_predicted":false,"cvss3_impact_score":0.0,"threat_intensity_last28":"VERY_LOW","threat_sources_last28":["No + recorded events"],"product_coverage":"VERY_HIGH"},"updated":"2021-10-02T05:28:52Z"}},"port":{"port":0,"protocol":"ICMP"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.245Z"},{"asset":{"device_type":"general-purpose","fqdn":"target3.pubtarg.tenablesecurity.com","hostname":"target3.pubtarg.tenablesecurity.com","uuid":"89cc9980-2aab-4ca2-8595-283deff50701","ipv4":"44.241.160.134","last_unauthenticated_results":"2022-05-31T09:08:26Z","operating_system":["Linux + Kernel 3.13 on Ubuntu 14.04 (trusty)"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"The + remote host implements TCP timestamps, as defined by RFC1323. A side effect + of this feature is that the uptime of the remote host can sometimes be computed.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"General","family_id":30,"has_patch":false,"id":25220,"in_the_news":false,"name":"TCP/IP + Timestamps Supported","modification_date":"2019-03-06T00:00:00Z","publication_date":"2007-05-16T00:00:00Z","risk_factor":"None","see_also":["http://www.ietf.org/rfc/rfc1323.txt"],"solution":"N/A","synopsis":"The + remote service implements TCP timestamps.","type":"remote","unsupported_by_vendor":false,"version":"1.21"},"port":{"port":0,"protocol":"TCP"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.229Z"},{"asset":{"device_type":"general-purpose","fqdn":"target3.pubtarg.tenablesecurity.com","hostname":"target3.pubtarg.tenablesecurity.com","uuid":"89cc9980-2aab-4ca2-8595-283deff50701","ipv4":"44.241.160.134","last_unauthenticated_results":"2022-05-31T09:08:26Z","operating_system":["Linux + Kernel 3.13 on Ubuntu 14.04 (trusty)"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"Based + on the response to an OPTIONS request :\n\n - HTTP methods GET HEAD OPTIONS + POST are allowed on : \n\n /\n\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"By + calling the OPTIONS method, it is possible to determine which HTTP methods + are allowed on each directory.\n\nThe following HTTP methods are considered + insecure:\n PUT, DELETE, CONNECT, TRACE, HEAD\n\nMany frameworks and languages + treat ''HEAD'' as a ''GET'' request, albeit one without any body in the response. + If a security constraint was set on ''GET'' requests such that only ''authenticatedUsers'' + could access GET requests for a particular servlet or resource, it would be + bypassed for the ''HEAD'' version. This allowed unauthorized blind submission + of any privileged GET request.\n\nAs this list may be incomplete, the plugin + also tests - if ''Thorough tests'' are enabled or ''Enable web applications + tests'' is set to ''yes'' in the scan policy - various known HTTP methods + on each directory and considers them as unsupported if it receives a response + code of 400, 403, 405, or 501.\n\nNote that the plugin output is only informational + and does not necessarily indicate the presence of any security vulnerabilities.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Web + Servers","family_id":11,"has_patch":false,"id":43111,"in_the_news":false,"name":"HTTP + Methods Allowed (per directory)","modification_date":"2022-04-11T00:00:00Z","publication_date":"2009-12-10T00:00:00Z","risk_factor":"None","see_also":["http://www.nessus.org/u?d9c03a9a","http://www.nessus.org/u?b019cbdb","https://www.owasp.org/index.php/Test_HTTP_Methods_(OTG-CONFIG-006)"],"solution":"N/A","synopsis":"This + plugin determines which HTTP methods are allowed on various CGI directories.","type":"remote","unsupported_by_vendor":false,"version":"1.12"},"port":{"port":80,"protocol":"TCP","service":"www"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.240Z"},{"asset":{"device_type":"general-purpose","fqdn":"target3.pubtarg.tenablesecurity.com","hostname":"target3.pubtarg.tenablesecurity.com","uuid":"89cc9980-2aab-4ca2-8595-283deff50701","ipv4":"44.241.160.134","last_unauthenticated_results":"2022-05-31T09:08:26Z","operating_system":["Linux + Kernel 3.13 on Ubuntu 14.04 (trusty)"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"Ubuntu + 14.04 support ends on 2019-04-30 (end of maintenance) / 2024-04-30 (end of + extended security maintenance).","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"According + to its version, the remote host uses a Unix or Unix-like operating system + that has transitioned to an extended portion in its support life cycle. Continued + access to new security updates requires payment of an additional fee and / + or configuration changes to the package management tool. Without that, the + host likely will be missing security updates.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"General","family_id":30,"has_patch":false,"id":66293,"in_the_news":false,"name":"Unix + Operating System on Extended Support","modification_date":"2021-06-09T00:00:00Z","publication_date":"2013-05-02T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"Ensure + that the host subscribes to the vendor''s extended support plan and continues + to receive security updates.","synopsis":"The remote host is running an operating + system that is on extended support.","type":"local","unsupported_by_vendor":false,"version":"1.3","xrefs":[{"type":"IAVA","id":"0001-A-0648"}]},"port":{"port":0,"protocol":"TCP"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.262Z"},{"asset":{"device_type":"general-purpose","fqdn":"target3.pubtarg.tenablesecurity.com","hostname":"target3.pubtarg.tenablesecurity.com","uuid":"89cc9980-2aab-4ca2-8595-283deff50701","ipv4":"44.241.160.134","last_unauthenticated_results":"2022-05-31T09:08:26Z","operating_system":["Linux + Kernel 3.13 on Ubuntu 14.04 (trusty)"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\nThe + following issues were reported :\n\n - Plugin : no_local_checks_credentials.nasl\n Plugin + ID : 110723\n Plugin Name : Target Credential Status by Authentication + Protocol - No Credentials Provided\n Message : \nCredentials were not + provided for detected SSH service.\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"OS + Security Patch Assessment is not available on the remote host.\nThis does + not necessarily indicate a problem with the scan.\nCredentials may not have + been provided, OS security patch assessment may not be supported for the target, + the target may not have been identified, or another issue may have occurred + that prevented OS security patch assessment from being available. See plugin + output for details.\n\nThis plugin reports non-failure information impacting + the availability of OS Security Patch Assessment. Failure information is reported + by plugin 21745 : ''OS Security Patch Assessment failed''. If a target host + is not supported for OS Security Patch Assessment, plugin 110695 : ''OS Security + Patch Assessment Checks Not Supported'' will report concurrently with this + plugin.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Settings","family_id":41,"has_patch":false,"id":117886,"in_the_news":false,"name":"OS + Security Patch Assessment Not Available","modification_date":"2021-07-12T00:00:00Z","publication_date":"2018-10-02T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"OS + Security Patch Assessment is not available.","type":"summary","unsupported_by_vendor":false,"version":"1.12","xrefs":[{"type":"IAVB","id":"0001-B-0515"}]},"port":{"port":0,"protocol":"TCP"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.224Z"},{"asset":{"device_type":"general-purpose","fqdn":"target3.pubtarg.tenablesecurity.com","hostname":"target3.pubtarg.tenablesecurity.com","uuid":"89cc9980-2aab-4ca2-8595-283deff50701","ipv4":"44.241.160.134","last_unauthenticated_results":"2022-05-31T09:08:26Z","operating_system":["Linux + Kernel 3.13 on Ubuntu 14.04 (trusty)"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"An + SSH server is running on this port.","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"Nessus + was able to identify the remote service by its banner or by looking at the + error message it sends when it receives an HTTP request.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Service + detection","family_id":24,"has_patch":false,"id":22964,"in_the_news":false,"name":"Service + Detection","modification_date":"2022-07-26T00:00:00Z","publication_date":"2007-08-19T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"The + remote service could be identified.","type":"remote","unsupported_by_vendor":false,"version":"1.189"},"port":{"port":22,"protocol":"TCP","service":"ssh"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.219Z"},{"asset":{"device_type":"general-purpose","fqdn":"target3.pubtarg.tenablesecurity.com","hostname":"target3.pubtarg.tenablesecurity.com","uuid":"89cc9980-2aab-4ca2-8595-283deff50701","ipv4":"44.241.160.134","last_unauthenticated_results":"2022-05-31T09:08:26Z","operating_system":["Linux + Kernel 3.13 on Ubuntu 14.04 (trusty)"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\nNessus + negotiated the following encryption algorithm with the server : \n\nThe server + supports the following options for kex_algorithms : \n\n curve25519-sha256@libssh.org\n diffie-hellman-group-exchange-sha1\n diffie-hellman-group-exchange-sha256\n diffie-hellman-group1-sha1\n diffie-hellman-group14-sha1\n ecdh-sha2-nistp256\n ecdh-sha2-nistp384\n ecdh-sha2-nistp521\n\nThe + server supports the following options for server_host_key_algorithms : \n\n ecdsa-sha2-nistp256\n ssh-dss\n ssh-rsa\n\nThe + server supports the following options for encryption_algorithms_client_to_server + : \n\n 3des-cbc\n aes128-cbc\n aes128-ctr\n aes128-gcm@openssh.com\n aes192-cbc\n aes192-ctr\n aes256-cbc\n aes256-ctr\n aes256-gcm@openssh.com\n arcfour\n arcfour128\n arcfour256\n blowfish-cbc\n cast128-cbc\n chacha20-poly1305@openssh.com\n rijndael-cbc@lysator.liu.se\n\nThe + server supports the following options for encryption_algorithms_server_to_client + : \n\n 3des-cbc\n aes128-cbc\n aes128-ctr\n aes128-gcm@openssh.com\n aes192-cbc\n aes192-ctr\n aes256-cbc\n aes256-ctr\n aes256-gcm@openssh.com\n arcfour\n arcfour128\n arcfour256\n blowfish-cbc\n cast128-cbc\n chacha20-poly1305@openssh.com\n rijndael-cbc@lysator.liu.se\n\nThe + server supports the following options for mac_algorithms_client_to_server + : \n\n hmac-md5\n hmac-md5-96\n hmac-md5-96-etm@openssh.com\n hmac-md5-etm@openssh.com\n hmac-ripemd160\n hmac-ripemd160-etm@openssh.com\n hmac-ripemd160@openssh.com\n hmac-sha1\n hmac-sha1-96\n hmac-sha1-96-etm@openssh.com\n hmac-sha1-etm@openssh.com\n hmac-sha2-256\n hmac-sha2-256-etm@openssh.com\n hmac-sha2-512\n hmac-sha2-512-etm@openssh.com\n umac-128-etm@openssh.com\n umac-128@openssh.com\n umac-64-etm@openssh.com\n umac-64@openssh.com\n\nThe + server supports the following options for mac_algorithms_server_to_client + : \n\n hmac-md5\n hmac-md5-96\n hmac-md5-96-etm@openssh.com\n hmac-md5-etm@openssh.com\n hmac-ripemd160\n hmac-ripemd160-etm@openssh.com\n hmac-ripemd160@openssh.com\n hmac-sha1\n hmac-sha1-96\n hmac-sha1-96-etm@openssh.com\n hmac-sha1-etm@openssh.com\n hmac-sha2-256\n hmac-sha2-256-etm@openssh.com\n hmac-sha2-512\n hmac-sha2-512-etm@openssh.com\n umac-128-etm@openssh.com\n umac-128@openssh.com\n umac-64-etm@openssh.com\n umac-64@openssh.com\n\nThe + server supports the following options for compression_algorithms_client_to_server + : \n\n none\n zlib@openssh.com\n\nThe server supports the following options + for compression_algorithms_server_to_client : \n\n none\n zlib@openssh.com\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"This + script detects which algorithms and languages are supported by the remote + service for encrypting communications.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Misc.","family_id":23,"has_patch":false,"id":70657,"in_the_news":false,"name":"SSH + Algorithms and Languages Supported","modification_date":"2017-08-28T00:00:00Z","publication_date":"2013-10-28T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"An + SSH server is listening on this port.","type":"remote","unsupported_by_vendor":false,"version":"$Revision: + 1.6 $"},"port":{"port":22,"protocol":"TCP","service":"ssh"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.245Z"},{"asset":{"device_type":"general-purpose","fqdn":"target3.pubtarg.tenablesecurity.com","hostname":"target3.pubtarg.tenablesecurity.com","uuid":"89cc9980-2aab-4ca2-8595-283deff50701","ipv4":"44.241.160.134","last_unauthenticated_results":"2022-05-31T09:08:26Z","operating_system":["Linux + Kernel 3.13 on Ubuntu 14.04 (trusty)"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\n44.241.160.134 + resolves as ec2-44-241-160-134.us-west-2.compute.amazonaws.com.\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"Nessus + was able to resolve the fully qualified domain name (FQDN) of the remote host.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"General","family_id":30,"has_patch":false,"id":12053,"in_the_news":false,"name":"Host + Fully Qualified Domain Name (FQDN) Resolution","modification_date":"2017-04-14T00:00:00Z","publication_date":"2004-02-11T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"It + was possible to resolve the name of the remote host.","type":"remote","unsupported_by_vendor":false,"version":"$Revision: + 1.16 $"},"port":{"port":0,"protocol":"TCP"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.251Z"},{"asset":{"device_type":"general-purpose","fqdn":"target3.pubtarg.tenablesecurity.com","hostname":"target3.pubtarg.tenablesecurity.com","uuid":"89cc9980-2aab-4ca2-8595-283deff50701","ipv4":"44.241.160.134","last_unauthenticated_results":"2022-05-31T09:08:26Z","operating_system":["Linux + Kernel 3.13 on Ubuntu 14.04 (trusty)"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\nThe + following weak key exchange algorithms are enabled : \n\n diffie-hellman-group-exchange-sha1\n diffie-hellman-group1-sha1\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":3.7,"cvss3_temporal_score":0.0,"cvss3_vector":{"availability_impact":"None","confidentiality_impact":"Low","integrity_impact":"None","raw":"AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N"},"cvss_base_score":2.6,"cvss_temporal_score":0.0,"cvss_vector":{"access_complexity":"High","access_vector":"Network","authentication":"None + required","availability_impact":"None","confidentiality_impact":"Partial","integrity_impact":"None","raw":"AV:N/AC:H/Au:N/C:P/I:N/A:N"},"description":"The + remote SSH server is configured to allow key exchange algorithms which are + considered weak.\n\nThis is based on the IETF draft document Key Exchange + (KEX) Method Updates and Recommendations for Secure Shell (SSH) draft-ietf-curdle-ssh-kex-sha2-20. + Section 4 lists guidance on key exchange algorithms that SHOULD NOT and MUST + NOT be enabled. This includes:\n\n diffie-hellman-group-exchange-sha1\n\n diffie-hellman-group1-sha1\n\n gss-gex-sha1-*\n\n gss-group1-sha1-*\n\n gss-group14-sha1-*\n\n rsa1024-sha1\n\nNote + that this plugin only checks for the options of the SSH server, and it does + not check for vulnerable software versions.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Misc.","family_id":23,"has_patch":false,"id":153953,"in_the_news":false,"name":"SSH + Weak Key Exchange Algorithms Enabled","modification_date":"2021-10-13T00:00:00Z","publication_date":"2021-10-13T00:00:00Z","risk_factor":"Low","see_also":["http://www.nessus.org/u?b02d91cd","https://datatracker.ietf.org/doc/html/rfc8732"],"solution":"Contact + the vendor or consult product documentation to disable the weak algorithms.","synopsis":"The + remote SSH server is configured to allow weak key exchange algorithms.","type":"remote","unsupported_by_vendor":false,"version":"1.2"},"port":{"port":22,"protocol":"TCP","service":"ssh"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"low","severity_id":1,"severity_default_id":1,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.240Z"},{"asset":{"device_type":"general-purpose","fqdn":"target3.pubtarg.tenablesecurity.com","hostname":"target3.pubtarg.tenablesecurity.com","uuid":"89cc9980-2aab-4ca2-8595-283deff50701","ipv4":"44.241.160.134","last_unauthenticated_results":"2022-05-31T09:08:26Z","operating_system":["Linux + Kernel 3.13 on Ubuntu 14.04 (trusty)"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"The + remote web server type is :\n\nApache/2.4.7 (Ubuntu)","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"This + plugin attempts to determine the type and the version of the remote web + server.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Web + Servers","family_id":11,"has_patch":false,"id":10107,"in_the_news":false,"name":"HTTP + Server Type and Version","modification_date":"2020-10-30T00:00:00Z","publication_date":"2000-01-04T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"A + web server is running on the remote host.","type":"remote","unsupported_by_vendor":false,"version":"1.141","xrefs":[{"type":"IAVT","id":"0001-T-0931"}]},"port":{"port":80,"protocol":"TCP","service":"www"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.258Z"},{"asset":{"device_type":"general-purpose","fqdn":"target3.pubtarg.tenablesecurity.com","hostname":"target3.pubtarg.tenablesecurity.com","uuid":"89cc9980-2aab-4ca2-8595-283deff50701","ipv4":"44.241.160.134","last_unauthenticated_results":"2022-05-31T09:08:26Z","operating_system":["Linux + Kernel 3.13 on Ubuntu 14.04 (trusty)"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\n URL : + http://target3.pubtarg.tenablesecurity.com/\n Version : 2.4.99\n backported + : 1\n os : ConvertedUbuntu\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cpe":["cpe:/a:apache:http_server"],"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"The + remote host is running the Apache HTTP Server, an open source web server. + It was possible to read the version number from the banner.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Web + Servers","family_id":11,"has_patch":false,"id":48204,"in_the_news":false,"name":"Apache + HTTP Server Version","modification_date":"2022-09-08T00:00:00Z","publication_date":"2010-07-30T00:00:00Z","risk_factor":"None","see_also":["https://httpd.apache.org/"],"solution":"N/A","synopsis":"It + is possible to obtain the version number of the remote Apache HTTP server.","type":"remote","unsupported_by_vendor":false,"version":"1.14","xrefs":[{"type":"IAVT","id":"0001-T-0530"}]},"port":{"port":80,"protocol":"TCP","service":"www"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.224Z"},{"asset":{"device_type":"general-purpose","fqdn":"target3.pubtarg.tenablesecurity.com","hostname":"target3.pubtarg.tenablesecurity.com","uuid":"89cc9980-2aab-4ca2-8595-283deff50701","ipv4":"44.241.160.134","last_unauthenticated_results":"2022-05-31T09:08:26Z","operating_system":["Linux + Kernel 3.13 on Ubuntu 14.04 (trusty)"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"Port + 80/tcp was found to be open","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"This + plugin is a SYN ''half-open'' port scanner. It shall be reasonably quick + even against a firewalled target. \n\nNote that SYN scans are less intrusive + than TCP (full connect) scans against broken services, but they might cause + problems for less robust firewalls and also leave unclosed connections on + the remote target, if the network is loaded.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Port + scanners","family_id":42,"has_patch":false,"id":11219,"in_the_news":false,"name":"Nessus + SYN scanner","modification_date":"2022-08-15T00:00:00Z","publication_date":"2009-02-04T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"Protect + your target with an IP filter.","synopsis":"It is possible to determine which + TCP ports are open.","type":"remote","unsupported_by_vendor":false,"version":"1.43"},"port":{"port":80,"protocol":"TCP","service":"www"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.251Z"},{"asset":{"device_type":"general-purpose","fqdn":"target3.pubtarg.tenablesecurity.com","hostname":"target3.pubtarg.tenablesecurity.com","uuid":"89cc9980-2aab-4ca2-8595-283deff50701","ipv4":"44.241.160.134","last_unauthenticated_results":"2022-05-31T09:08:26Z","operating_system":["Linux + Kernel 3.13 on Ubuntu 14.04 (trusty)"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\nThe + following client-to-server Message Authentication Code (MAC) algorithms\nare + supported : \n\n hmac-md5\n hmac-md5-96\n hmac-md5-96-etm@openssh.com\n hmac-md5-etm@openssh.com\n hmac-sha1-96\n hmac-sha1-96-etm@openssh.com\n\nThe + following server-to-client Message Authentication Code (MAC) algorithms\nare + supported : \n\n hmac-md5\n hmac-md5-96\n hmac-md5-96-etm@openssh.com\n hmac-md5-etm@openssh.com\n hmac-sha1-96\n hmac-sha1-96-etm@openssh.com\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":2.6,"cvss_temporal_score":0.0,"cvss_vector":{"access_complexity":"High","access_vector":"Network","authentication":"None + required","availability_impact":"None","confidentiality_impact":"Partial","integrity_impact":"None","raw":"AV:N/AC:H/Au:N/C:P/I:N/A:N"},"description":"The + remote SSH server is configured to allow either MD5 or 96-bit MAC algorithms, + both of which are considered weak.\n\nNote that this plugin only checks for + the options of the SSH server, and it does not check for vulnerable software + versions.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Misc.","family_id":23,"has_patch":false,"id":71049,"in_the_news":false,"name":"SSH + Weak MAC Algorithms Enabled","modification_date":"2016-12-14T00:00:00Z","publication_date":"2013-11-22T00:00:00Z","risk_factor":"Low","see_also":[""],"solution":"Contact + the vendor or consult product documentation to disable MD5 and 96-bit MAC + algorithms.","synopsis":"The remote SSH server is configured to allow MD5 + and 96-bit MAC algorithms.","type":"remote","unsupported_by_vendor":false,"version":"$Revision: + 1.4 $"},"port":{"port":22,"protocol":"TCP","service":"ssh"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"low","severity_id":1,"severity_default_id":1,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.262Z"},{"asset":{"device_type":"general-purpose","fqdn":"target3.pubtarg.tenablesecurity.com","hostname":"target3.pubtarg.tenablesecurity.com","uuid":"89cc9980-2aab-4ca2-8595-283deff50701","ipv4":"44.241.160.134","last_unauthenticated_results":"2022-05-31T09:08:26Z","operating_system":["Linux + Kernel 3.13 on Ubuntu 14.04 (trusty)"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"A + web server is running on this port.","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"Nessus + was able to identify the remote service by its banner or by looking at the + error message it sends when it receives an HTTP request.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Service + detection","family_id":24,"has_patch":false,"id":22964,"in_the_news":false,"name":"Service + Detection","modification_date":"2022-07-26T00:00:00Z","publication_date":"2007-08-19T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"The + remote service could be identified.","type":"remote","unsupported_by_vendor":false,"version":"1.189"},"port":{"port":80,"protocol":"TCP","service":"www"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.262Z"},{"asset":{"device_type":"general-purpose","fqdn":"target3.pubtarg.tenablesecurity.com","hostname":"target3.pubtarg.tenablesecurity.com","uuid":"89cc9980-2aab-4ca2-8595-283deff50701","ipv4":"44.241.160.134","last_unauthenticated_results":"2022-05-31T09:08:26Z","operating_system":["Linux + Kernel 3.13 on Ubuntu 14.04 (trusty)"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\nGive + Nessus credentials to perform local checks.\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"Security + patches may have been ''backported'' to the remote HTTP server without changing + its version number.\n\nBanner-based checks have been disabled to avoid false + positives.\n\nNote that this test is informational only and does not denote + any security problem.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"General","family_id":30,"has_patch":false,"id":39521,"in_the_news":false,"name":"Backported + Security Patch Detection (WWW)","modification_date":"2015-07-07T00:00:00Z","publication_date":"2009-06-25T00:00:00Z","risk_factor":"None","see_also":["https://access.redhat.com/security/updates/backporting/?sc_cid=3093"],"solution":"N/A","synopsis":"Security + patches are backported.","type":"remote","unsupported_by_vendor":false,"version":"$Revision: + 1.12 $"},"port":{"port":80,"protocol":"TCP","service":"www"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.246Z"},{"asset":{"device_type":"general-purpose","fqdn":"target3.pubtarg.tenablesecurity.com","hostname":"target3.pubtarg.tenablesecurity.com","uuid":"89cc9980-2aab-4ca2-8595-283deff50701","ipv4":"44.241.160.134","last_unauthenticated_results":"2022-05-31T09:08:26Z","operating_system":["Linux + Kernel 3.13 on Ubuntu 14.04 (trusty)"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\nThe + following weak server-to-client encryption algorithms are supported : \n\n arcfour\n arcfour128\n arcfour256\n\nThe + following weak client-to-server encryption algorithms are supported : \n\n arcfour\n arcfour128\n arcfour256\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":4.3,"cvss_temporal_score":0.0,"cvss_vector":{"access_complexity":"Medium","access_vector":"Network","authentication":"None + required","availability_impact":"None","confidentiality_impact":"Partial","integrity_impact":"None","raw":"AV:N/AC:M/Au:N/C:P/I:N/A:N"},"description":"Nessus + has detected that the remote SSH server is configured to use the Arcfour stream + cipher or no cipher at all. RFC 4253 advises against using Arcfour due to + an issue with weak keys.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Misc.","family_id":23,"has_patch":false,"id":90317,"in_the_news":false,"name":"SSH + Weak Algorithms Supported","modification_date":"2016-12-14T00:00:00Z","publication_date":"2016-04-04T00:00:00Z","risk_factor":"Medium","see_also":["https://tools.ietf.org/html/rfc4253#section-6.3"],"solution":"Contact + the vendor or consult product documentation to remove the weak ciphers.","synopsis":"The + remote SSH server is configured to allow weak encryption algorithms or no + algorithm at all.","type":"remote","unsupported_by_vendor":false,"version":"$Revision: + 1.3 $"},"port":{"port":22,"protocol":"TCP","service":"ssh"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"medium","severity_id":2,"severity_default_id":2,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.251Z"}]' + headers: + Accept-Ranges: + - bytes + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Disposition: + - attachment; filename=8b606c8d-d042-4d27-9aa7-d798e8528710-1-vulndoc.json + Content-Length: + - '87738' + Content-Type: + - application/octet-stream + Date: + - Wed, 23 Nov 2022 08:14:10 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - service-nginx-router-ap-northeast-1-prod-7bfcc7b48d-crdzs + X-Request-Uuid: + - e83f19f924d478f653dd28cb18743a47 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.9 + (Restfly/1.4.7; Python/3.10.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/vulns/export/8b606c8d-d042-4d27-9aa7-d798e8528710/chunks/5 + response: + body: + string: '[{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"Based + on the response to an OPTIONS request :\n\n - HTTP methods GET HEAD OPTIONS + POST TRACE are allowed on : \n\n /\n\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"By + calling the OPTIONS method, it is possible to determine which HTTP methods + are allowed on each directory.\n\nThe following HTTP methods are considered + insecure:\n PUT, DELETE, CONNECT, TRACE, HEAD\n\nMany frameworks and languages + treat ''HEAD'' as a ''GET'' request, albeit one without any body in the response. + If a security constraint was set on ''GET'' requests such that only ''authenticatedUsers'' + could access GET requests for a particular servlet or resource, it would be + bypassed for the ''HEAD'' version. This allowed unauthorized blind submission + of any privileged GET request.\n\nAs this list may be incomplete, the plugin + also tests - if ''Thorough tests'' are enabled or ''Enable web applications + tests'' is set to ''yes'' in the scan policy - various known HTTP methods + on each directory and considers them as unsupported if it receives a response + code of 400, 403, 405, or 501.\n\nNote that the plugin output is only informational + and does not necessarily indicate the presence of any security vulnerabilities.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Web + Servers","family_id":11,"has_patch":false,"id":43111,"in_the_news":false,"name":"HTTP + Methods Allowed (per directory)","modification_date":"2022-04-11T00:00:00Z","publication_date":"2009-12-10T00:00:00Z","risk_factor":"None","see_also":["http://www.nessus.org/u?d9c03a9a","http://www.nessus.org/u?b019cbdb","https://www.owasp.org/index.php/Test_HTTP_Methods_(OTG-CONFIG-006)"],"solution":"N/A","synopsis":"This + plugin determines which HTTP methods are allowed on various CGI directories.","type":"remote","unsupported_by_vendor":false,"version":"1.12"},"port":{"port":80,"protocol":"TCP","service":"www"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.208Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\nNessus + negotiated the following encryption algorithm with the server : \n\nThe server + supports the following options for kex_algorithms : \n\n curve25519-sha256\n curve25519-sha256@libssh.org\n diffie-hellman-group-exchange-sha1\n diffie-hellman-group-exchange-sha256\n diffie-hellman-group1-sha1\n diffie-hellman-group14-sha1\n diffie-hellman-group14-sha256\n diffie-hellman-group16-sha512\n diffie-hellman-group18-sha512\n ecdh-sha2-nistp256\n ecdh-sha2-nistp384\n ecdh-sha2-nistp521\n\nThe + server supports the following options for server_host_key_algorithms : \n\n ecdsa-sha2-nistp256\n rsa-sha2-256\n rsa-sha2-512\n ssh-ed25519\n ssh-rsa\n\nThe + server supports the following options for encryption_algorithms_client_to_server + : \n\n 3des-cbc\n aes128-cbc\n aes128-ctr\n aes128-gcm@openssh.com\n aes192-cbc\n aes192-ctr\n aes256-cbc\n aes256-ctr\n aes256-gcm@openssh.com\n blowfish-cbc\n cast128-cbc\n chacha20-poly1305@openssh.com\n\nThe + server supports the following options for encryption_algorithms_server_to_client + : \n\n 3des-cbc\n aes128-cbc\n aes128-ctr\n aes128-gcm@openssh.com\n aes192-cbc\n aes192-ctr\n aes256-cbc\n aes256-ctr\n aes256-gcm@openssh.com\n blowfish-cbc\n cast128-cbc\n chacha20-poly1305@openssh.com\n\nThe + server supports the following options for mac_algorithms_client_to_server + : \n\n hmac-sha1\n hmac-sha1-etm@openssh.com\n hmac-sha2-256\n hmac-sha2-256-etm@openssh.com\n hmac-sha2-512\n hmac-sha2-512-etm@openssh.com\n umac-128-etm@openssh.com\n umac-128@openssh.com\n umac-64-etm@openssh.com\n umac-64@openssh.com\n\nThe + server supports the following options for mac_algorithms_server_to_client + : \n\n hmac-sha1\n hmac-sha1-etm@openssh.com\n hmac-sha2-256\n hmac-sha2-256-etm@openssh.com\n hmac-sha2-512\n hmac-sha2-512-etm@openssh.com\n umac-128-etm@openssh.com\n umac-128@openssh.com\n umac-64-etm@openssh.com\n umac-64@openssh.com\n\nThe + server supports the following options for compression_algorithms_client_to_server + : \n\n none\n zlib@openssh.com\n\nThe server supports the following options + for compression_algorithms_server_to_client : \n\n none\n zlib@openssh.com\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"This + script detects which algorithms and languages are supported by the remote + service for encrypting communications.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Misc.","family_id":23,"has_patch":false,"id":70657,"in_the_news":false,"name":"SSH + Algorithms and Languages Supported","modification_date":"2017-08-28T00:00:00Z","publication_date":"2013-10-28T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"An + SSH server is listening on this port.","type":"remote","unsupported_by_vendor":false,"version":"$Revision: + 1.6 $"},"port":{"port":22,"protocol":"TCP","service":"ssh"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.162Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\n URL : + http://target4.pubtarg.tenablesecurity.com/\n Version : 2.4.6\n backported + : 1\n os : ConvertedCentOS\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cpe":["cpe:/a:apache:http_server"],"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"The + remote host is running the Apache HTTP Server, an open source web server. + It was possible to read the version number from the banner.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Web + Servers","family_id":11,"has_patch":false,"id":48204,"in_the_news":false,"name":"Apache + HTTP Server Version","modification_date":"2022-09-08T00:00:00Z","publication_date":"2010-07-30T00:00:00Z","risk_factor":"None","see_also":["https://httpd.apache.org/"],"solution":"N/A","synopsis":"It + is possible to obtain the version number of the remote Apache HTTP server.","type":"remote","unsupported_by_vendor":false,"version":"1.14","xrefs":[{"type":"IAVT","id":"0001-T-0530"}]},"port":{"port":80,"protocol":"TCP","service":"www"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.170Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"SSH + was detected on port 22 but no credentials were provided.\nSSH local checks + were not enabled.\n\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"Nessus + was not able to successfully authenticate directly to the remote target on + an available authentication protocol. Nessus was able to connect to the remote + port and identify that the service running on the port supports an authentication + protocol, but Nessus failed to authenticate to the remote service using the + provided credentials. There may have been a protocol failure that prevented + authentication from being attempted or all of the provided credentials for + the authentication protocol may be invalid. See plugin output for error details.\n\nPlease + note the following :\n\n- This plugin reports per protocol, so it is possible + for valid credentials to be provided for one protocol and not another. + For example, authentication may succeed via SSH but fail via SMB, while + no credentials were provided for an available SNMP service.\n\n- Providing + valid credentials for all available authentication protocols may improve + scan coverage, but the value of successful authentication for a given protocol + may vary from target to target depending upon what data (if any) is gathered + from the target via that protocol. For example, successful authentication + via SSH is more valuable for Linux targets than for Windows targets, and + likewise successful authentication via SMB is more valuable for Windows + targets than for Linux targets.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Settings","family_id":41,"has_patch":false,"id":110723,"in_the_news":false,"name":"Target + Credential Status by Authentication Protocol - No Credentials Provided","modification_date":"2021-11-19T00:00:00Z","publication_date":"2018-06-27T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"Nessus + was able to find common ports used for local checks, however, no credentials + were provided in the scan policy.","type":"summary","unsupported_by_vendor":false,"version":"1.16","xrefs":[{"type":"IAVB","id":"0001-B-0504"}]},"port":{"port":0,"protocol":"TCP"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.208Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\nSSH + version : SSH-2.0-OpenSSH_7.4\nSSH supported authentication : publickey,gssapi-keyex,gssapi-with-mic,password\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"It + is possible to obtain information about the remote SSH server by sending an + empty authentication request.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Service + detection","family_id":24,"has_patch":false,"id":10267,"in_the_news":false,"name":"SSH + Server Type and Version Information","modification_date":"2020-09-22T00:00:00Z","publication_date":"1999-10-12T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"An + SSH server is listening on this port.","type":"remote","unsupported_by_vendor":false,"version":"2.30","xrefs":[{"type":"IAVT","id":"0001-T-0933"}]},"port":{"port":22,"protocol":"TCP","service":"ssh"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.213Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\nGive + Nessus credentials to perform local checks.\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"Security + patches may have been ''backported'' to the remote HTTP server without changing + its version number.\n\nBanner-based checks have been disabled to avoid false + positives.\n\nNote that this test is informational only and does not denote + any security problem.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"General","family_id":30,"has_patch":false,"id":39521,"in_the_news":false,"name":"Backported + Security Patch Detection (WWW)","modification_date":"2015-07-07T00:00:00Z","publication_date":"2009-06-25T00:00:00Z","risk_factor":"None","see_also":["https://access.redhat.com/security/updates/backporting/?sc_cid=3093"],"solution":"N/A","synopsis":"Security + patches are backported.","type":"remote","unsupported_by_vendor":false,"version":"$Revision: + 1.12 $"},"port":{"port":80,"protocol":"TCP","service":"www"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.153Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"The + RPC portmapper is running on this port. \n\nThe portmapper allows someone + to get the port number of each RPC service running on the remote host by sending + either multiple lookup requests or a DUMP request.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"RPC","family_id":28,"has_patch":false,"id":53335,"in_the_news":false,"name":"RPC + portmapper (TCP)","modification_date":"2011-08-29T00:00:00Z","publication_date":"2011-04-08T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"An + ONC RPC portmapper is running on the remote host.","type":"remote","unsupported_by_vendor":false,"version":"$Revision: + 1.2 $"},"port":{"port":111,"protocol":"TCP","service":"rpc-portmapper"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.208Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"The + remote host implements TCP timestamps, as defined by RFC1323. A side effect + of this feature is that the uptime of the remote host can sometimes be computed.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"General","family_id":30,"has_patch":false,"id":25220,"in_the_news":false,"name":"TCP/IP + Timestamps Supported","modification_date":"2019-03-06T00:00:00Z","publication_date":"2007-05-16T00:00:00Z","risk_factor":"None","see_also":["http://www.ietf.org/rfc/rfc1323.txt"],"solution":"N/A","synopsis":"The + remote service implements TCP timestamps.","type":"remote","unsupported_by_vendor":false,"version":"1.21"},"port":{"port":0,"protocol":"TCP"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.208Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"The + SSH server on the remote host accepts password authentication.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Service + detection","family_id":24,"has_patch":false,"id":149334,"in_the_news":false,"name":"SSH + Password Authentication Accepted","modification_date":"2021-05-07T00:00:00Z","publication_date":"2021-05-07T00:00:00Z","risk_factor":"None","see_also":["https://tools.ietf.org/html/rfc4252#section-8"],"solution":"N/A","synopsis":"The + SSH server on the remote host accepts password authentication.","type":"remote","unsupported_by_vendor":false,"version":"1.1"},"port":{"port":22,"protocol":"TCP","service":"ssh"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.175Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cve":["CVE-1999-0632"],"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss3_vector":{"availability_impact":"None","confidentiality_impact":"None","integrity_impact":"None","raw":"AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N"},"cvss_base_score":0.0,"cvss_temporal_score":0.0,"cvss_vector":{"access_complexity":"Low","access_vector":"Network","authentication":"None + required","availability_impact":"None","confidentiality_impact":"None","integrity_impact":"None","raw":"AV:N/AC:L/Au:N/C:N/I:N/A:N"},"description":"The + RPC portmapper is running on this port.\n\nThe portmapper allows someone to + get the port number of each RPC service running on the remote host by sending + either multiple lookup requests or a DUMP request.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"RPC","family_id":28,"has_patch":false,"id":10223,"in_the_news":false,"name":"RPC + portmapper Service Detection","modification_date":"2019-10-04T00:00:00Z","publication_date":"1999-08-19T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"An + ONC RPC portmapper is running on the remote host.","type":"remote","unsupported_by_vendor":false,"version":"1.37","vpr":{"score":0.8,"drivers":{"age_of_vuln":{"lower_bound":731},"exploit_code_maturity":"UNPROVEN","cvss_impact_score_predicted":false,"cvss3_impact_score":0.0,"threat_intensity_last28":"VERY_LOW","threat_sources_last28":["No + recorded events"],"product_coverage":"LOW"},"updated":"2022-08-19T05:01:07Z"}},"port":{"port":111,"protocol":"UDP","service":"rpc-portmapper"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.200Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"Port + 80/tcp was found to be open","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"This + plugin is a SYN ''half-open'' port scanner. It shall be reasonably quick + even against a firewalled target. \n\nNote that SYN scans are less intrusive + than TCP (full connect) scans against broken services, but they might cause + problems for less robust firewalls and also leave unclosed connections on + the remote target, if the network is loaded.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Port + scanners","family_id":42,"has_patch":false,"id":11219,"in_the_news":false,"name":"Nessus + SYN scanner","modification_date":"2022-08-15T00:00:00Z","publication_date":"2009-02-04T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"Protect + your target with an IP filter.","synopsis":"It is possible to determine which + TCP ports are open.","type":"remote","unsupported_by_vendor":false,"version":"1.43"},"port":{"port":80,"protocol":"TCP","service":"www"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.170Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\nGive + Nessus credentials to perform local checks.\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"Security + patches may have been ''backported'' to the remote SSH server without changing + its version number. \n\nBanner-based checks have been disabled to avoid false + positives. \n\nNote that this test is informational only and does not denote + any security problem.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"General","family_id":30,"has_patch":false,"id":39520,"in_the_news":false,"name":"Backported + Security Patch Detection (SSH)","modification_date":"2015-07-07T00:00:00Z","publication_date":"2009-06-25T00:00:00Z","risk_factor":"None","see_also":["https://access.redhat.com/security/updates/backporting/?sc_cid=3093"],"solution":"N/A","synopsis":"Security + patches are backported.","type":"remote","unsupported_by_vendor":false,"version":"$Revision: + 1.9 $"},"port":{"port":22,"protocol":"TCP","service":"ssh"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.170Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\nThe + remote operating system matched the following CPE : \n\n cpe:/o:centos:centos:7 + -> CentOS\n\nFollowing application CPE''s matched on the remote system : \n\n cpe:/a:apache:http_server:2.4.6 + -> Apache Software Foundation Apache HTTP Server\n cpe:/a:openbsd:openssh:7.4 + -> OpenBSD OpenSSH\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"By + using information obtained from a Nessus scan, this plugin reports CPE (Common + Platform Enumeration) matches for various hardware and software products found + on a host. \n\nNote that if an official CPE is not available for the product, + this plugin computes the best possible CPE based on the information available + from the scan.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"General","family_id":30,"has_patch":false,"id":45590,"in_the_news":false,"name":"Common + Platform Enumeration (CPE)","modification_date":"2022-10-05T00:00:00Z","publication_date":"2010-04-21T00:00:00Z","risk_factor":"None","see_also":["http://cpe.mitre.org/","https://nvd.nist.gov/products/cpe"],"solution":"N/A","synopsis":"It + was possible to enumerate CPE names that matched on the remote system.","type":"combined","unsupported_by_vendor":false,"version":"1.121"},"port":{"port":0,"protocol":"TCP"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.182Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\n44.235.70.201 + resolves as ec2-44-235-70-201.us-west-2.compute.amazonaws.com.\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"Nessus + was able to resolve the fully qualified domain name (FQDN) of the remote host.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"General","family_id":30,"has_patch":false,"id":12053,"in_the_news":false,"name":"Host + Fully Qualified Domain Name (FQDN) Resolution","modification_date":"2017-04-14T00:00:00Z","publication_date":"2004-02-11T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"It + was possible to resolve the name of the remote host.","type":"remote","unsupported_by_vendor":false,"version":"$Revision: + 1.16 $"},"port":{"port":0,"protocol":"TCP"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.162Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"An + SSH server is running on this port.","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"Nessus + was able to identify the remote service by its banner or by looking at the + error message it sends when it receives an HTTP request.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Service + detection","family_id":24,"has_patch":false,"id":22964,"in_the_news":false,"name":"Service + Detection","modification_date":"2022-07-26T00:00:00Z","publication_date":"2007-08-19T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"The + remote service could be identified.","type":"remote","unsupported_by_vendor":false,"version":"1.189"},"port":{"port":22,"protocol":"TCP","service":"ssh"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.200Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"The + remote clock is synchronized with the local clock.\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cve":["CVE-1999-0524"],"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss3_vector":{"availability_impact":"None","confidentiality_impact":"None","integrity_impact":"None","raw":"AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N"},"cvss_base_score":0.0,"cvss_temporal_score":0.0,"cvss_vector":{"access_complexity":"Low","access_vector":"Local-access","authentication":"None + required","availability_impact":"None","confidentiality_impact":"None","integrity_impact":"None","raw":"AV:L/AC:L/Au:N/C:N/I:N/A:N"},"description":"The + remote host answers to an ICMP timestamp request. This allows an attacker + to know the date that is set on the targeted machine, which may assist an + unauthenticated, remote attacker in defeating time-based authentication protocols.\n\nTimestamps + returned from machines running Windows Vista / 7 / 2008 / 2008 R2 are deliberately + incorrect, but usually within 1000 seconds of the actual system time.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"General","family_id":30,"has_patch":false,"id":10114,"in_the_news":false,"name":"ICMP + Timestamp Request Remote Date Disclosure","modification_date":"2019-10-04T00:00:00Z","publication_date":"1999-08-01T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"Filter + out the ICMP timestamp requests (13), and the outgoing ICMP timestamp replies + (14).","synopsis":"It is possible to determine the exact time set on the remote + host.","type":"remote","unsupported_by_vendor":false,"version":"1.48","vuln_publication_date":"1995-01-01T00:00:00Z","xrefs":[{"type":"CWE","id":"200"}],"vpr":{"score":0.0,"drivers":{"age_of_vuln":{"lower_bound":731},"exploit_code_maturity":"UNPROVEN","cvss_impact_score_predicted":false,"cvss3_impact_score":0.0,"threat_intensity_last28":"VERY_LOW","threat_sources_last28":["No + recorded events"],"product_coverage":"VERY_HIGH"},"updated":"2021-10-02T05:28:52Z"}},"port":{"port":0,"protocol":"ICMP"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.182Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\nTo + disable these methods, add the following lines for each virtual\nhost in your + configuration file :\n\n RewriteEngine on\n RewriteCond %{REQUEST_METHOD} + ^(TRACE|TRACK)\n RewriteRule .* - [F]\n\nAlternatively, note that Apache + versions 1.3.34, 2.0.55, and 2.2\nsupport disabling the TRACE method natively + via the ''TraceEnable''\ndirective.\n\nNessus sent the following TRACE request + : \n\n------------------------------ snip ------------------------------\nTRACE + /Nessus134080287.html HTTP/1.1\nConnection: Close\nHost: target4.pubtarg.tenablesecurity.com\nPragma: + no-cache\nUser-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)\nAccept: + image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*\nAccept-Language: + en\nAccept-Charset: iso-8859-1,*,utf-8\n\n------------------------------ snip + ------------------------------\n\nand received the following response from + the remote server :\n\n------------------------------ snip ------------------------------\nHTTP/1.1 + 200 OK\nDate: Tue, 31 May 2022 09:01:51 GMT\nServer: Apache/2.4.6 (CentOS)\nKeep-Alive: + timeout=5, max=100\nConnection: Keep-Alive\nTransfer-Encoding: chunked\nContent-Type: + message/http\n\n\nTRACE /Nessus134080287.html HTTP/1.1\nConnection: Keep-Alive\nHost: + target4.pubtarg.tenablesecurity.com\nPragma: no-cache\nUser-Agent: Mozilla/4.0 + (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)\nAccept: image/gif, image/x-xbitmap, + image/jpeg, image/pjpeg, image/png, */*\nAccept-Language: en\nAccept-Charset: + iso-8859-1,*,utf-8\n\n------------------------------ snip ------------------------------\n","plugin":{"bid":[9506,11604,9561,37995,33374],"checks_for_default_account":false,"checks_for_malware":false,"cve":["CVE-2010-0386","CVE-2003-1567","CVE-2004-2320"],"cvss3_base_score":5.3,"cvss3_temporal_score":4.6,"cvss3_temporal_vector":{"remediation_level":"Official-fix","report_confidence":"Confirmed","raw":"E:U/RL:O/RC:C"},"cvss3_vector":{"availability_impact":"None","confidentiality_impact":"Low","integrity_impact":"None","raw":"AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N"},"cvss_base_score":5.0,"cvss_temporal_score":3.7,"cvss_temporal_vector":{"exploitability":"Unproven","remediation_level":"Official-fix","report_confidence":"Confirmed","raw":"E:U/RL:OF/RC:C"},"cvss_vector":{"access_complexity":"Low","access_vector":"Network","authentication":"None + required","availability_impact":"None","confidentiality_impact":"Partial","integrity_impact":"None","raw":"AV:N/AC:L/Au:N/C:P/I:N/A:N"},"description":"The + remote web server supports the TRACE and/or TRACK methods. TRACE and TRACK + are HTTP methods that are used to debug web server connections.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploitability_ease":"No + known exploits are available","exploited_by_malware":false,"exploited_by_nessus":false,"family":"Web + Servers","family_id":11,"has_patch":false,"id":11213,"in_the_news":false,"name":"HTTP + TRACE / TRACK Methods Allowed","modification_date":"2020-06-12T00:00:00Z","publication_date":"2003-01-23T00:00:00Z","risk_factor":"Medium","see_also":["https://www.cgisecurity.com/whitehat-mirror/WH-WhitePaper_XST_ebook.pdf","http://www.apacheweek.com/issues/03-01-24","https://download.oracle.com/sunalerts/1000718.1.html"],"solution":"Disable + these HTTP methods. Refer to the plugin output for more information.","synopsis":"Debugging + functions are enabled on the remote web server.","type":"remote","unsupported_by_vendor":false,"version":"1.73","vuln_publication_date":"2003-01-20T00:00:00Z","xrefs":[{"type":"CWE","id":"16"},{"type":"CERT","id":"288308"},{"type":"CWE","id":"200"},{"type":"CERT","id":"867593"}],"vpr":{"score":4.0,"drivers":{"age_of_vuln":{"lower_bound":731},"exploit_code_maturity":"UNPROVEN","cvss_impact_score_predicted":true,"cvss3_impact_score":4.0,"threat_intensity_last28":"VERY_LOW","threat_sources_last28":["No + recorded events"],"product_coverage":"LOW"},"updated":"2021-04-22T11:32:33Z"}},"port":{"port":80,"protocol":"TCP","service":"www"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"medium","severity_id":2,"severity_default_id":2,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.182Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\nThe + following client-to-server Cipher Block Chaining (CBC) algorithms\nare supported + : \n\n 3des-cbc\n aes128-cbc\n aes192-cbc\n aes256-cbc\n blowfish-cbc\n cast128-cbc\n\nThe + following server-to-client Cipher Block Chaining (CBC) algorithms\nare supported + : \n\n 3des-cbc\n aes128-cbc\n aes192-cbc\n aes256-cbc\n blowfish-cbc\n cast128-cbc\n","plugin":{"bid":[32319],"checks_for_default_account":false,"checks_for_malware":false,"cve":["CVE-2008-5161"],"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":2.6,"cvss_temporal_score":1.9,"cvss_temporal_vector":{"exploitability":"Unproven","remediation_level":"Official-fix","report_confidence":"Confirmed","raw":"E:U/RL:OF/RC:C"},"cvss_vector":{"access_complexity":"High","access_vector":"Network","authentication":"None + required","availability_impact":"None","confidentiality_impact":"Partial","integrity_impact":"None","raw":"AV:N/AC:H/Au:N/C:P/I:N/A:N"},"description":"The + SSH server is configured to support Cipher Block Chaining (CBC) encryption. This + may allow an attacker to recover the plaintext message from the ciphertext. + \n\nNote that this plugin only checks for the options of the SSH server and + does not check for vulnerable software versions.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploitability_ease":"No + known exploits are available","exploited_by_malware":false,"exploited_by_nessus":false,"family":"Misc.","family_id":23,"has_patch":false,"id":70658,"in_the_news":false,"name":"SSH + Server CBC Mode Ciphers Enabled","modification_date":"2018-07-30T00:00:00Z","publication_date":"2013-10-28T00:00:00Z","risk_factor":"Low","see_also":[""],"solution":"Contact + the vendor or consult product documentation to disable CBC mode cipher encryption, + and enable CTR or GCM cipher mode encryption.","synopsis":"The SSH server + is configured to use Cipher Block Chaining.","type":"remote","unsupported_by_vendor":false,"version":"1.4","vuln_publication_date":"2008-11-24T00:00:00Z","xrefs":[{"type":"CERT","id":"958563"},{"type":"CWE","id":"200"}],"vpr":{"score":2.5,"drivers":{"age_of_vuln":{"lower_bound":731},"exploit_code_maturity":"UNPROVEN","cvss_impact_score_predicted":true,"cvss3_impact_score":2.5,"threat_intensity_last28":"VERY_LOW","threat_sources_last28":["No + recorded events"],"product_coverage":"HIGH"},"updated":"2020-12-30T05:20:01Z"}},"port":{"port":22,"protocol":"TCP","service":"ssh"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"low","severity_id":1,"severity_default_id":1,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.162Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\nResponse + Code : HTTP/1.1 403 Forbidden\n\nProtocol version : HTTP/1.1\nSSL : no\nKeep-Alive + : yes\nOptions allowed : (Not implemented)\nHeaders :\n\n Date: Tue, 31 May + 2022 09:02:19 GMT\n Server: Apache/2.4.6 (CentOS)\n Last-Modified: Thu, + 16 Oct 2014 13:20:58 GMT\n ETag: \"1321-5058a1e728280\"\n Accept-Ranges: + bytes\n Content-Length: 4897\n Keep-Alive: timeout=5, max=100\n Connection: + Keep-Alive\n Content-Type: text/html; charset=UTF-8\n \nResponse Body :\n\n\n\n\t\tApache + HTTP Server Test Page powered by CentOS\n\t\t\n\n \n \n \n\n\n\n\n
\n
\n \t

Testing + 123..

\n \t\t

This page is used to test the proper operation + of the Apache HTTP server after it has been + installed. If you can read this page it means that this site is working properly. + This server is powered by CentOS.

\n\t\t
\n
\n
\n
\n
\n \t\t\t
\n \t\t\t

Just visiting?

\n\t\t\t \t\t

The + website you just visited is either experiencing problems or is undergoing + routine maintenance.

\n \t\t\t\t\t

If you would like to let the administrators + of this website know that you''ve seen this page instead of the page you expected, + you should send them e-mail. In general, mail sent to the name \"webmaster\" + and directed to the website''s domain should reach the appropriate person.

\n \t\t\t\t\t

For + example, if you experienced problems while visiting www.example.com, you should + send e-mail to \"webmaster@example.com\".

\n\t \t\t\t
\n \t\t\t\t
\n\t \t\t\t\t

Are you the Administrator?

\n\t\t \t\t\t

You + should add your website content to the directory /var/www/html/.

\n\t\t \t\t\t

To + prevent this page from ever being used, follow the instructions in the file + /etc/httpd/conf.d/welcome.conf.

\n\n\t \t\t\t\t

Promoting + Apache and CentOS

\n\t\t\t \t\t

You are free to use the images below + on Apache and CentOS Linux powered HTTP servers. Thanks for using Apache + and CentOS!

\n\t\t\t\t \t

\"[ \"[

\n \t\t\t\t
\n\t \t\t
\n\t
\n\t\t
\n\t\n\t
\n
\n
\n
\n

Important note:

\n

The CentOS Project has nothing to do with this website or its + content,\n it just provides the software that makes the website + run.

\n \n

If you have issues with the content + of this site, contact the owner of the domain, not the CentOS project. \n Unless + you intended to visit CentOS.org, the CentOS Project does not have anything + to do with this website,\n the content or the lack of it.

\n

For + example, if this website is www.example.com, you would find the owner of the + example.com domain at the following WHOIS server:

\n

http://www.internic.net/whois.html

\n
\n
\n

The CentOS Project

\n

The + CentOS Linux distribution is a stable, predictable, manageable and reproduceable + platform derived from \n the sources of Red Hat Enterprise Linux + (RHEL).

\n \n

Additionally to being a popular choice + for web hosting, CentOS also provides a rich platform for open source communities + to build upon. For more information\n please visit the CentOS + website.

\n
\n
\n\t\t
\n
\n \n\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"This + test gives some information about the remote HTTP protocol - the version used, + whether HTTP Keep-Alive and HTTP pipelining are enabled, etc... \n\nThis test + is informational only and does not denote any security problem.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Web + Servers","family_id":11,"has_patch":false,"id":24260,"in_the_news":false,"name":"HyperText + Transfer Protocol (HTTP) Information","modification_date":"2019-11-22T00:00:00Z","publication_date":"2007-01-30T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"Some + information about the remote HTTP configuration can be extracted.","type":"remote","unsupported_by_vendor":false,"version":"1.14"},"port":{"port":80,"protocol":"TCP","service":"www"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.147Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\nThe + following issues were reported :\n\n - Plugin : no_local_checks_credentials.nasl\n Plugin + ID : 110723\n Plugin Name : Target Credential Status by Authentication + Protocol - No Credentials Provided\n Message : \nCredentials were not + provided for detected SSH service.\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"OS + Security Patch Assessment is not available on the remote host.\nThis does + not necessarily indicate a problem with the scan.\nCredentials may not have + been provided, OS security patch assessment may not be supported for the target, + the target may not have been identified, or another issue may have occurred + that prevented OS security patch assessment from being available. See plugin + output for details.\n\nThis plugin reports non-failure information impacting + the availability of OS Security Patch Assessment. Failure information is reported + by plugin 21745 : ''OS Security Patch Assessment failed''. If a target host + is not supported for OS Security Patch Assessment, plugin 110695 : ''OS Security + Patch Assessment Checks Not Supported'' will report concurrently with this + plugin.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Settings","family_id":41,"has_patch":false,"id":117886,"in_the_news":false,"name":"OS + Security Patch Assessment Not Available","modification_date":"2021-07-12T00:00:00Z","publication_date":"2018-10-02T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"OS + Security Patch Assessment is not available.","type":"summary","unsupported_by_vendor":false,"version":"1.12","xrefs":[{"type":"IAVB","id":"0001-B-0515"}]},"port":{"port":0,"protocol":"TCP"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.169Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"For + your information, here is the traceroute from 172.16.31.133 to 44.235.70.201 + : \n172.16.31.133\n100.64.80.15\n240.1.240.34\n250.254.128.4\n242.0.1.25\n240.0.208.7\n242.2.99.141\n44.235.70.201\n\nHop + Count: 7\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"Makes + a traceroute to the remote host.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"General","family_id":30,"has_patch":false,"id":10287,"in_the_news":false,"name":"Traceroute + Information","modification_date":"2020-08-20T00:00:00Z","publication_date":"1999-11-27T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"It + was possible to obtain traceroute information.","type":"remote","unsupported_by_vendor":false,"version":"1.67"},"port":{"port":0,"protocol":"UDP"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.175Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\nThe + following RPC services are available on UDP port 111 :\n\n - program: 100000 + (portmapper), version: 4\n - program: 100000 (portmapper), version: 3\n - + program: 100000 (portmapper), version: 2\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"By + sending a DUMP request to the portmapper, it was possible to enumerate the + ONC RPC services running on the remote port. Using this information, it is + possible to connect and bind to each service by sending an RPC request to + the remote port.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Service + detection","family_id":24,"has_patch":false,"id":11111,"in_the_news":false,"name":"RPC + Services Enumeration","modification_date":"2011-05-24T00:00:00Z","publication_date":"2002-08-24T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"An + ONC RPC service is running on the remote host.","type":"remote","unsupported_by_vendor":false,"version":"$Revision: + 1.27 $"},"port":{"port":111,"protocol":"UDP","service":"rpc-portmapper"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.153Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\nRemote + operating system : Linux Kernel 3.10 on CentOS Linux release 7\nConfidence + level : 95\nMethod : HTTP\n\n \nThe remote host is running Linux Kernel 3.10 + on CentOS Linux release 7","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"Using + a combination of remote probes (e.g., TCP/IP, SMB, HTTP, NTP, SNMP, etc.), + it is possible to guess the name of the remote operating system in use. It + is also possible sometimes to guess the version of the operating system.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"General","family_id":30,"has_patch":false,"id":11936,"in_the_news":false,"name":"OS + Identification","modification_date":"2022-03-09T00:00:00Z","publication_date":"2003-12-09T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"It + is possible to guess the remote operating system.","type":"combined","unsupported_by_vendor":false,"version":"2.61"},"port":{"port":0,"protocol":"TCP"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.208Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\nThe + Linux distribution detected was : \n - CentOS 7\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cpe":["cpe:/a:apache:http_server"],"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"Nessus + was able to extract the banner of the Apache web server and determine which + Linux distribution the remote host is running.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Web + Servers","family_id":11,"has_patch":false,"id":18261,"in_the_news":false,"name":"Apache + Banner Linux Distribution Disclosure","modification_date":"2022-03-21T00:00:00Z","publication_date":"2005-05-15T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"If + you do not wish to display this information, edit ''httpd.conf'' and set the + directive ''ServerTokens Prod'' and restart Apache.","synopsis":"The name + of the Linux distribution running on the remote host was found in the banner + of the web server.","type":"remote","unsupported_by_vendor":false,"version":"1.101"},"port":{"port":0,"protocol":"TCP"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.213Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"Information + about this scan : \n\nNessus version : 10.2.0\nNessus build : 20075\nPlugin + feed version : 202205301753\nScanner edition used : Nessus\nScanner OS : LINUX\nScanner + distribution : amzn2-aarch64\nScan type : Normal\nScan name : basic\nScan + policy used : Basic Network Scan\nScanner IP : tenable.io Scanner\nPort scanner(s) + : nessus_syn_scanner \nPort range : default\nPing RTT : 92.961 ms\nThorough + tests : no\nExperimental tests : no\nParanoia level : 1\nReport verbosity + : 1\nSafe checks : yes\nOptimize the test : yes\nCredentialed checks : no\nPatch + management checks : None\nDisplay superseded patches : yes (supersedence plugin + launched)\nCGI scanning : disabled\nWeb application tests : disabled\nMax + hosts : 30\nMax checks : 4\nRecv timeout : 5\nBackports : Detected\nAllow + post-scan editing: Yes\nScan Start Date : 2022/5/31 9:00 UTC\nScan duration + : 473 sec\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"This + plugin displays, for each tested host, information about the scan itself :\n\n - + The version of the plugin set.\n - The type of scanner (Nessus or Nessus + Home).\n - The version of the Nessus Engine.\n - The port scanner(s) used.\n - + The port range scanned.\n - The ping round trip time \n - Whether credentialed + or third-party patch management checks are possible.\n - Whether the + display of superseded patches is enabled\n - The date of the scan.\n - The + duration of the scan.\n - The number of hosts scanned in parallel.\n - The + number of checks done in parallel.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Settings","family_id":41,"has_patch":false,"id":19506,"in_the_news":false,"name":"Nessus + Scan Information","modification_date":"2022-06-09T00:00:00Z","publication_date":"2005-08-26T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"This + plugin displays information about the Nessus scan.","type":"summary","unsupported_by_vendor":false,"version":"1.112"},"port":{"port":0,"protocol":"TCP"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.169Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\nThe + following weak key exchange algorithms are enabled : \n\n diffie-hellman-group-exchange-sha1\n diffie-hellman-group1-sha1\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":3.7,"cvss3_temporal_score":0.0,"cvss3_vector":{"availability_impact":"None","confidentiality_impact":"Low","integrity_impact":"None","raw":"AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N"},"cvss_base_score":2.6,"cvss_temporal_score":0.0,"cvss_vector":{"access_complexity":"High","access_vector":"Network","authentication":"None + required","availability_impact":"None","confidentiality_impact":"Partial","integrity_impact":"None","raw":"AV:N/AC:H/Au:N/C:P/I:N/A:N"},"description":"The + remote SSH server is configured to allow key exchange algorithms which are + considered weak.\n\nThis is based on the IETF draft document Key Exchange + (KEX) Method Updates and Recommendations for Secure Shell (SSH) draft-ietf-curdle-ssh-kex-sha2-20. + Section 4 lists guidance on key exchange algorithms that SHOULD NOT and MUST + NOT be enabled. This includes:\n\n diffie-hellman-group-exchange-sha1\n\n diffie-hellman-group1-sha1\n\n gss-gex-sha1-*\n\n gss-group1-sha1-*\n\n gss-group14-sha1-*\n\n rsa1024-sha1\n\nNote + that this plugin only checks for the options of the SSH server, and it does + not check for vulnerable software versions.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Misc.","family_id":23,"has_patch":false,"id":153953,"in_the_news":false,"name":"SSH + Weak Key Exchange Algorithms Enabled","modification_date":"2021-10-13T00:00:00Z","publication_date":"2021-10-13T00:00:00Z","risk_factor":"Low","see_also":["http://www.nessus.org/u?b02d91cd","https://datatracker.ietf.org/doc/html/rfc8732"],"solution":"Contact + the vendor or consult product documentation to disable the weak algorithms.","synopsis":"The + remote SSH server is configured to allow weak key exchange algorithms.","type":"remote","unsupported_by_vendor":false,"version":"1.2"},"port":{"port":22,"protocol":"TCP","service":"ssh"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"low","severity_id":1,"severity_default_id":1,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.170Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"The + remote SSH daemon supports the following versions of the\nSSH protocol :\n\n - + 1.99\n - 2.0\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"This + plugin determines the versions of the SSH protocol supported by the remote + SSH daemon.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"General","family_id":30,"has_patch":false,"id":10881,"in_the_news":false,"name":"SSH + Protocol Versions Supported","modification_date":"2021-01-19T00:00:00Z","publication_date":"2002-03-06T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"A + SSH server is running on the remote host.","type":"remote","unsupported_by_vendor":false,"version":"1.39"},"port":{"port":22,"protocol":"TCP","service":"ssh"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.208Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"Port + 22/tcp was found to be open","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"This + plugin is a SYN ''half-open'' port scanner. It shall be reasonably quick + even against a firewalled target. \n\nNote that SYN scans are less intrusive + than TCP (full connect) scans against broken services, but they might cause + problems for less robust firewalls and also leave unclosed connections on + the remote target, if the network is loaded.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Port + scanners","family_id":42,"has_patch":false,"id":11219,"in_the_news":false,"name":"Nessus + SYN scanner","modification_date":"2022-08-15T00:00:00Z","publication_date":"2009-02-04T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"Protect + your target with an IP filter.","synopsis":"It is possible to determine which + TCP ports are open.","type":"remote","unsupported_by_vendor":false,"version":"1.43"},"port":{"port":22,"protocol":"TCP","service":"ssh"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.200Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"Port + 111/tcp was found to be open","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"This + plugin is a SYN ''half-open'' port scanner. It shall be reasonably quick + even against a firewalled target. \n\nNote that SYN scans are less intrusive + than TCP (full connect) scans against broken services, but they might cause + problems for less robust firewalls and also leave unclosed connections on + the remote target, if the network is loaded.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Port + scanners","family_id":42,"has_patch":false,"id":11219,"in_the_news":false,"name":"Nessus + SYN scanner","modification_date":"2022-08-15T00:00:00Z","publication_date":"2009-02-04T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"Protect + your target with an IP filter.","synopsis":"It is possible to determine which + TCP ports are open.","type":"remote","unsupported_by_vendor":false,"version":"1.43"},"port":{"port":111,"protocol":"TCP","service":"rpc-portmapper"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.169Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"Remote + device type : general-purpose\nConfidence level : 95\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"Based + on the remote operating system, it is possible to determine what the remote + system type is (eg: a printer, router, general-purpose computer, etc).","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"General","family_id":30,"has_patch":false,"id":54615,"in_the_news":false,"name":"Device + Type","modification_date":"2022-09-09T00:00:00Z","publication_date":"2011-05-23T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"It + is possible to guess the remote device type.","type":"combined","unsupported_by_vendor":false,"version":"$Revision: + 1.1 $"},"port":{"port":0,"protocol":"TCP"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.200Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"The + remote web server type is :\n\nApache/2.4.6 (CentOS)","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"This + plugin attempts to determine the type and the version of the remote web + server.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Web + Servers","family_id":11,"has_patch":false,"id":10107,"in_the_news":false,"name":"HTTP + Server Type and Version","modification_date":"2020-10-30T00:00:00Z","publication_date":"2000-01-04T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"A + web server is running on the remote host.","type":"remote","unsupported_by_vendor":false,"version":"1.141","xrefs":[{"type":"IAVT","id":"0001-T-0931"}]},"port":{"port":80,"protocol":"TCP","service":"www"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.162Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"A + web server is running on this port.","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"Nessus + was able to identify the remote service by its banner or by looking at the + error message it sends when it receives an HTTP request.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Service + detection","family_id":24,"has_patch":false,"id":22964,"in_the_news":false,"name":"Service + Detection","modification_date":"2022-07-26T00:00:00Z","publication_date":"2007-08-19T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"The + remote service could be identified.","type":"remote","unsupported_by_vendor":false,"version":"1.189"},"port":{"port":80,"protocol":"TCP","service":"www"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.162Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\nThe + following RPC services are available on TCP port 111 :\n\n - program: 100000 + (portmapper), version: 4\n - program: 100000 (portmapper), version: 3\n - + program: 100000 (portmapper), version: 2\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"By + sending a DUMP request to the portmapper, it was possible to enumerate the + ONC RPC services running on the remote port. Using this information, it is + possible to connect and bind to each service by sending an RPC request to + the remote port.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Service + detection","family_id":24,"has_patch":false,"id":11111,"in_the_news":false,"name":"RPC + Services Enumeration","modification_date":"2011-05-24T00:00:00Z","publication_date":"2002-08-24T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"An + ONC RPC service is running on the remote host.","type":"remote","unsupported_by_vendor":false,"version":"$Revision: + 1.27 $"},"port":{"port":111,"protocol":"TCP","service":"rpc-portmapper"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.170Z"},{"asset":{"device_type":"general-purpose","fqdn":"target4.pubtarg.tenablesecurity.com","hostname":"target4.pubtarg.tenablesecurity.com","uuid":"00beed98-f607-4077-88b3-9ada1862a144","ipv4":"44.235.70.201","last_unauthenticated_results":"2022-05-31T09:08:14Z","operating_system":["Linux + Kernel 3.10 on CentOS Linux release 7"],"network_id":"00000000-0000-0000-0000-000000000000","tracked":true},"output":"\nThe + following client-to-server SHA-1 Hash-based Message Authentication Code (HMAC) + algorithms are supported : \n\n hmac-sha1\n hmac-sha1-etm@openssh.com\n\nThe + following server-to-client SHA-1 Hash-based Message Authentication Code (HMAC) + algorithms are supported : \n\n hmac-sha1\n hmac-sha1-etm@openssh.com\n","plugin":{"checks_for_default_account":false,"checks_for_malware":false,"cvss3_base_score":0.0,"cvss3_temporal_score":0.0,"cvss_base_score":0.0,"cvss_temporal_score":0.0,"description":"The + remote SSH server is configured to enable SHA-1 HMAC algorithms.\n\nAlthough + NIST has formally deprecated use of SHA-1 for digital signatures, SHA-1 is + still considered secure for HMAC as the security of HMAC does not rely on + the underlying hash function being resistant to collisions.\n\nNote that this + plugin only checks for the options of the remote SSH server.","exploit_available":false,"exploit_framework_canvas":false,"exploit_framework_core":false,"exploit_framework_d2_elliot":false,"exploit_framework_exploithub":false,"exploit_framework_metasploit":false,"exploited_by_malware":false,"exploited_by_nessus":false,"family":"Misc.","family_id":23,"has_patch":false,"id":153588,"in_the_news":false,"name":"SSH + SHA-1 HMAC Algorithms Enabled","modification_date":"2022-04-05T00:00:00Z","publication_date":"2021-09-23T00:00:00Z","risk_factor":"None","see_also":[""],"solution":"N/A","synopsis":"The + remote SSH server is configured to enable SHA-1 HMAC algorithms.","type":"remote","unsupported_by_vendor":false,"version":"1.2"},"port":{"port":22,"protocol":"TCP","service":"ssh"},"scan":{"completed_at":"2022-11-07T10:27:34.212Z","schedule_uuid":"04d0cc9e-5191-4f66-a5d4-6bdde738ab13","started_at":"2022-11-07T10:27:34.212Z","uuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c"},"severity":"info","severity_id":0,"severity_default_id":0,"severity_modification_type":"NONE","first_found":"2022-08-02T10:35:16.421Z","last_found":"2022-11-07T10:27:34.212Z","state":"OPEN","indexed":"2022-11-07T10:28:02.162Z"}]' + headers: + Accept-Ranges: + - bytes + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Disposition: + - attachment; filename=8b606c8d-d042-4d27-9aa7-d798e8528710-5-vulndoc.json + Content-Length: + - '88612' + Content-Type: + - application/octet-stream + Date: + - Wed, 23 Nov 2022 08:14:11 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - service-nginx-router-ap-northeast-1-prod-7bfcc7b48d-crdzs + X-Request-Uuid: + - c9f0f5f857b9b512eff08f935328687c + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.9 + (Restfly/1.4.7; Python/3.10.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/vulns/export/8b606c8d-d042-4d27-9aa7-d798e8528710/status + response: + body: + string: '{"uuid":"8b606c8d-d042-4d27-9aa7-d798e8528710","status":"FINISHED","chunks_available":[1,5],"chunks_failed":[],"chunks_cancelled":[],"total_chunks":6,"chunks_available_count":6,"empty_chunks_count":4,"finished_chunks":6,"filters":{"state":["OPEN","REOPENED"],"tags":{},"scanuuid":"992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c","since":1661327570,"first_found":0,"last_found":0,"last_fixed":0,"first_seen":0,"last_seen":0,"indexed_at":0},"num_assets_per_chunk":500,"created":1669191245469}' + headers: + Accept-Ranges: + - bytes + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Length: + - '496' + Content-Type: + - application/json; charset=utf-8 + Date: + - Wed, 23 Nov 2022 08:14:12 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - service-nginx-router-ap-northeast-1-prod-7bfcc7b48d-crdzs + X-Request-Uuid: + - 073ba05b0f219fc6e15488eddbd16e70 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/exports/test_api.py b/tests/io/exports/test_api.py index 5a3f86ba4..b8c8710b5 100644 --- a/tests/io/exports/test_api.py +++ b/tests/io/exports/test_api.py @@ -5,6 +5,8 @@ from uuid import UUID import pytest import responses + +from tenable.io import TenableIO from tenable.io.exports.schema import AssetExportSchema from tenable.io.exports.iterator import ExportsIterator @@ -108,3 +110,37 @@ def test_vuln_export(export_request, api): def test_compliance_export(export_request, api): export = api.exports.compliance() assert isinstance(export, ExportsIterator) + + +def test_initiate_export(export_request, api: TenableIO): + export_uuid = api.exports.initiate_export("assets", chunk_size=1000) + assert export_uuid == "01234567-89ab-cdef-0123-4567890abcde" + + export_uuid = api.exports.initiate_export("vulns") + assert export_uuid == "01234567-89ab-cdef-0123-4567890abcde" + + export_uuid = api.exports.initiate_export("compliance") + assert export_uuid == "01234567-89ab-cdef-0123-4567890abcde" + + +@pytest.mark.vcr() +def test_vulns_export_with_scan_uuid(api: TenableIO): + scan_uuid_to_test = "992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c" + vulns = api.exports.vulns(since=1661327570, scan_uuid=scan_uuid_to_test) + + vulns = [v["scan"]["uuid"] for v in vulns] + + # Total results in the response before applying this filter was 221. + # After applying the scan_uuid filter, it should return 65 results. + assert len(vulns) == 65 + + # All the results' scan.uuid field should match scan UUID in the request. + assert all(vul == scan_uuid_to_test for vul in vulns) + + +@pytest.mark.vcr() +def test_scan_uuid(api: TenableIO): + scan_uuid = {"last_scan_id": "d27b3f28-9a36-4127-b63a-3da3801121ec"} + data = api.exports.assets(**scan_uuid) + my_list = [d for d in data] + assert len(my_list) == 1 diff --git a/tests/io/exports/test_schema.py b/tests/io/exports/test_schema.py index 8f9488cdf..e0050e553 100644 --- a/tests/io/exports/test_schema.py +++ b/tests/io/exports/test_schema.py @@ -17,6 +17,7 @@ def asset_export(): Example asset export request ''' return { + 'last_scan_id': 'd27b3f28-9a36-4127-b63a-3da3801121ec', 'created_at': 1635798607, 'deleted_at': 1635798607, 'first_scan_time': 1635798607, @@ -67,6 +68,7 @@ def vuln_export(): 'since': 1635798607, 'plugin_family': ['Family Name'], 'plugin_id': [19506, 21745, 66334], + 'scan_uuid': '992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c', 'severity': ['CRITICAL', 'High', 'medium', 'LoW', 'InfO'], 'state': ['OPENED', 'reopened', 'Fixed'], 'vpr_score': { @@ -96,6 +98,7 @@ def test_assetschema(asset_export): test_resp = { 'chunk_size': 1000, 'filters': { + 'last_scan_id': 'd27b3f28-9a36-4127-b63a-3da3801121ec', 'created_at': 1635798607, 'deleted_at': 1635798607, 'first_scan_time': 1635798607, @@ -160,6 +163,7 @@ def test_vulnerabilityschema(vuln_export): 'since': 1635798607, 'plugin_family': ['Family Name'], 'plugin_id': [19506, 21745, 66334], + 'scan_uuid': '992b7204-bde2-d17c-cabf-1191f2f6f56b7f1dbd59e117463c', 'severity': ['critical', 'high', 'medium', 'low', 'info'], 'state': ['opened', 'reopened', 'fixed'], 'vpr_score': { @@ -182,3 +186,7 @@ def test_vulnerabilityschema(vuln_export): with pytest.raises(ValidationError): vuln_export['new_val'] = 'something' schema.load(vuln_export) + + with pytest.raises(ValidationError): + vuln_export['scan_uuid'] = 0 + schema.load(vuln_export) diff --git a/tests/io/search_objects_v3.py b/tests/io/search_objects_v3.py new file mode 100644 index 000000000..04c6aadc2 --- /dev/null +++ b/tests/io/search_objects_v3.py @@ -0,0 +1,213 @@ +''' +This file contains the negative objects for search schema +''' + +NEGATIVE_SEARCH_SCHEMA = [ + {'invalid': 'key'}, + { + 'limit': '10er', + 'fields': ['bios_name', 'name'], + 'next': 'sdf000dfssdSDFSDFSFE00dfsdffaf', + 'filter': {'value': 'SCCM', 'property': 'bios_name', 'operator': 'eq'}, + 'sort': [ + {'order': 'asc', 'property': 'name'}, + {'order': 'desc', 'property': 'bios_name'}, + ] + }, + { + 'limit': 10, + 'fields': 'bios_name', + 'next': 'sdf000dfssdSDFSDFSFE00dfsdffaf', + 'filter': {'value': 'SCCM', 'property': 'bios_name', 'operator': 'eq'}, + 'sort': [ + {'order': 'asc', 'property': 'name'}, + {'order': 'desc', 'property': 'bios_name'}, + ] + }, + { + 'limit': 10, + 'fields': ['bios_name', 12], + 'next': 'sdf000dfssdSDFSDFSFE00dfsdffaf', + 'filter': {'value': 'SCCM', 'property': 'bios_name', 'operator': 'eq'}, + 'sort': [ + {'order': 'asc', 'property': 'name'}, + {'order': 'desc', 'property': 'bios_name'}, + ] + }, + { + 'limit': True, + 'fields': ['bios_name', '12'], + 'next': 'sdf000dfssdSDFSDFSFE00dfsdffaf', + 'filter': {'value': 'SCCM', 'property': 'bios_name', 'operator': 'eq'}, + 'sort': [ + {'order': 'asc', 'property': 'name'}, + {'order': 'desc', 'property': 'bios_name'}, + ] + }, + { + 'limit': 10, + 'fields': {}, + 'next': 'sdf000dfssdSDFSDFSFE00dfsdffaf', + 'filter': {'value': 'SCCM', 'property': 'bios_name', 'operator': 'eq'}, + 'sort': [ + {'order': 'asc', 'property': 'name'}, + {'order': 'desc', 'property': 'bios_name'}, + ] + }, + { + 'limit': 10, + 'fields': True, + 'next': 'sdf000dfssdSDFSDFSFE00dfsdffaf', + 'filter': {'value': 'SCCM', 'property': 'bios_name', 'operator': 'eq'}, + 'sort': [ + {'order': 'asc', 'property': 'name'}, + {'order': 'desc', 'property': 'bios_name'}, + ] + }, + { + 'limit': 10, + 'fields': [True, 13], + 'next': 'sdf000dfssdSDFSDFSFE00dfsdffaf', + 'filter': {'value': 'SCCM', 'property': 'bios_name', 'operator': 'eq'}, + 'sort': [ + {'order': 'asc', 'property': 'name'}, + {'order': 'desc', 'property': 'bios_name'}, + ] + }, + { + 'limit': 10, + 'fields': ['test', '13'], + 'next': True, + 'filter': {'value': 'SCCM', 'property': 'bios_name', 'operator': 'eq'}, + 'sort': [ + {'order': 'asc', 'property': 'name'}, + {'order': 'desc', 'property': 'bios_name'}, + ] + }, + { + 'limit': 10, + 'fields': ['test', '13'], + 'next': 123, + 'filter': {'value': 'SCCM', 'property': 'bios_name', 'operator': 'eq'}, + 'sort': [ + {'order': 'asc', 'property': 'name'}, + {'order': 'desc', 'property': 'bios_name'}, + ] + }, + { + 'limit': 10, + 'fields': ['test', '13'], + 'next': 'sdf7a9s8df79afsd', + 'filter': {'value': 'SCCM', 'property': 'bios_name', 'operator': 'eq'}, + 'sort': [ + {'or': 'asc', 'pr': 'name'} + ] + }, + { + 'limit': 10, + 'fields': ['test', '13'], + 'next': 'sdf000dfssdSDFSDFSFE00dfsdffaf', + 'filter': {'vv': 'SCCM', 'pr': 'bios_name', 'op': 'eq'}, + 'sort': [ + {'order': 'asc', 'property': 'name'}, + {'order': 'desc', 'property': 'bios_name'}, + ] + } +] + +NEGATIVE_SORT_SCHEMA = [ + {'invalid': 'key'}, + ('bios_name', True), + ('bios_name', 2342), + {'bios_name': 'random'}, + {'bios_name': 123}, + {'bios_name': True}, + {234: 'asc'}, + {False: 'asc'}, + {'pro': 'bios_name', 'order': 'asc'}, + {'property': 'bios_name', 'or': 'asc'}, + {'property': 'bios_name', 'order': 'random'}, + {'property': True, 'order': 'asc'}, + {'property': 3455, 'order': 'asc'}, + {'property': 'bios_name', 'order': True}, + {'property': 'bios_name', 'order': 4353}, + {'na': 'bios_name', 'order': 'asc'}, + {'name': 'bios_name', 'or': 'asc'}, + {'name': 'bios_name', 'order': 'random'}, + {'name': True, 'order': 'asc'}, + {'name': 3455, 'order': 'asc'}, + {'name': 'bios_name', 'order': True}, + {'name': 'bios_name', 'order': 4353} +] + +NEGATIVE_FILTER_SCHEMA = [ + {'invalid': 'key'}, + (23423, 'eq', 'SCCM'), + (True, 'eq', 'SCCM'), + {'pro': 'filter', 'operator': 'oper', 'value': 'test'}, + {123: 'filter', 'operator': 'oper', 'value': 'test'}, + {False: 'filter', 'operator': 'oper', 'value': 'test'}, + {'property': 123, 'operator': 'oper', 'value': 'test'}, + {'property': True, 'operator': 'oper', 'value': 'test'}, + {'property': 'filter', 'ope': 'oper', 'value': 'test'}, + {'property': 'filter', 1234: 'oper', 'value': 'test'}, + {'property': 'filter', True: 'oper', 'value': 'test'}, + {'property': 'filter', 'operator': 1234, 'value': 'test'}, + {'property': 'filter', 'operator': True, 'value': 'test'}, + {'property': 'filter', 'operator': 'oper', 'va': 'test'}, + {'property': 'filter', 'operator': 'oper', 2134: 'test'}, + {'property': 'filter', 'operator': 'oper', True: 'test'}, + ( + 'invalid', + ('and', ('test', 'eq', '1'), ('test', 'eq', '2')), + 'and', + ('test', 'eq', 3), + ), + ( + True, + ('and', ('test', 'eq', '1'), ('test', 'eq', '2')), + 'and', + ('test', 'eq', 3), + ), + ( + 234, + ('and', ('test', 'eq', '1'), ('test', 'eq', '2')), + 'and', + ('test', 'eq', 3), + ), + ( + 'and', + ('and', ('test', 'eq', '1'), ('test', 'eq', '1')), + 'and', + ('test', 'eq', '1'), + ), + ( + 'and', + ('and', ('test', 'eq', None), ('test', 'eq', '1')), + 'or', + ('test', 'eq', '1'), + ), + { + 'invalid': [ + { + 'and': [ + {'value': '1', 'operator': 'oper', 'property': '1'}, + {'value': '2', 'operator': 'oper', 'property': '2'}, + ] + } + ], + 'and': [{'value': '3', 'operator': 'oper', 'property': '3'}], + }, + { + True: [ + { + 'and': [ + {'value': '1', 'operator': 'oper', 'property': '1'}, + {'value': '2', 'operator': 'oper', 'property': '2'}, + ] + } + ], + 'and': [{'value': '3', 'operator': 'oper', 'property': '3'}], + }, + +] diff --git a/tests/io/test_access_groups.py b/tests/io/test_access_groups.py index 00824b51e..a20a43b04 100644 --- a/tests/io/test_access_groups.py +++ b/tests/io/test_access_groups.py @@ -208,7 +208,8 @@ def test_access_group_edit_success(api, agroup): ''' test to edit access group ''' - group = api.access_groups.edit(agroup['id'], name=str(uuid.uuid4())) + group = api.access_groups.edit(agroup['id'], name=str(uuid.uuid4()), principals=[ + ('group', 'c037612b-9c5c-40a7-afbd-0e776915c9cd')], rules=[('operating_system', 'eq', ['Windows NT'])]) assert isinstance(group, dict) check(group, 'created_at', 'datetime') check(group, 'updated_at', 'datetime') diff --git a/tests/io/test_access_groups_v2.py b/tests/io/test_access_groups_v2.py index 8241349ab..e9e9bf4cf 100644 --- a/tests/io/test_access_groups_v2.py +++ b/tests/io/test_access_groups_v2.py @@ -299,6 +299,20 @@ def test_access_group_v2_edit_id_unexpectedvalueerror(api): api.access_groups_v2.edit('something') +@pytest.mark.vcr() +def test_access_group_v2_edit_rules_success(api, agroup): + ''' + test to edit access group with some rules + ''' + rules = [('hostname', 'starts', ["demoHostname", "demo2"])] + principals = [('group', '00000000-0000-0000-0000-000000000000', ['CAN_VIEW', 'CAN_SCAN'])] + access_groups = api.access_groups_v2.list()._get_data()[0]['access_groups'] + group_id = access_groups[1]['id'] + resp = api.access_groups_v2.edit(group_id, rules=rules, principals=principals, all_users=False) + assert isinstance(resp, dict) + assert group_id == resp['id'] + + @pytest.mark.vcr() def test_access_groups_v2_edit_success(api, agroup): ''' diff --git a/tests/io/test_agent_groups.py b/tests/io/test_agent_groups.py index 76bdb0a1c..d8c2d5653 100644 --- a/tests/io/test_agent_groups.py +++ b/tests/io/test_agent_groups.py @@ -1,12 +1,14 @@ ''' test agent groups ''' -import uuid import time +import uuid + import pytest + from tenable.errors import NotFoundError, UnexpectedValueError, ForbiddenError -from ..checker import check from tests.pytenable_log_handler import log_exception +from ..checker import check @pytest.fixture @@ -42,9 +44,17 @@ def test_agentgroups_add_agent_to_group_agent_id_typeerror(api): ''' test to raise the exception when type of agent_id is not as defined ''' - with pytest.raises(TypeError): + with pytest.raises(UnexpectedValueError): api.agent_groups.add_agent(1, 'nope') +@pytest.mark.vcr() +def test_agentgroups_add_agent_to_group_mixed_ids_typeerror(api): + ''' + test to raise the exception when type of multiple passed ids don't match each other + ''' + with pytest.raises(TypeError): + api.agent_groups.add_agent(1, '64e1cc37-4d6a-4a36-a2d3-aca300735829', 2) + @pytest.mark.vcr() def test_agentgroups_add_agent_to_group_scanner_id_typeerror(api): @@ -302,10 +312,27 @@ def test_agentgroups_details_group_id_typeerror(api): api.agent_groups.details('nope') -# @pytest.mark.vcr() -# def test_agentgroups_details_scanner_id_typeerror(api): -# with pytest.raises(TypeError): -# api.agent_groups.details(1, scanner_id='nope') +@pytest.mark.vcr() +def test_agentgroups_details_scanner_id_typeerror(api): + ''' + test to raise the exception when type of scanner_id is not as defined + ''' + with pytest.raises(TypeError) as type_error: + api.agent_groups.details(1, scanner_id='nope') + assert type_error.value.args[0] == "scanner_id is of type str. Expected int", \ + "Invalid type validation error for scanner_id parameter is not raised by test-case." + + +@pytest.mark.vcr() +def test_agentgroups_details_agentgroup_notfounderror(api): + ''' + test to raise the exception when agentgroup not found + ''' + with pytest.raises(NotFoundError) as not_found_error: + api.agent_groups.details(1, sort=(('name', 'asc'), ('description', 'desc'))) + assert "AgentGroup not found" in not_found_error.value.msg, \ + "Invalid value validation error for group_id parameter is not raised by test-case." + @pytest.mark.vcr() def test_agentgroups_details_nonexistant_group(api): @@ -380,9 +407,9 @@ def test_agentgroups_task_status(api, agentgroup): ''' agents = api.agents.list() resp = api.agent_groups.add_agent(agentgroup['id'], - agents.next()['id'], - agents.next()['id'] - ) + agents.next()['id'], + agents.next()['id'] + ) task = api.agent_groups.task_status(agentgroup['id'], resp['task_id']) assert isinstance(task, dict) check(task, 'container_uuid', str) @@ -424,7 +451,7 @@ def test_agentgroups_details_of_an_agent_group_fields(api, agentgroup): filter_type='or', limit=45, offset=5, - scanner_id=22, + scanner_id=1, # sort=(('owner_id', 'asc'), ('shared', 'asc')), wildcard='match', wildcard_fields=['name'] diff --git a/tests/io/test_agents.py b/tests/io/test_agents.py index f6892d814..b6323d5b6 100644 --- a/tests/io/test_agents.py +++ b/tests/io/test_agents.py @@ -2,6 +2,7 @@ test agents ''' import pytest + from tenable.errors import UnexpectedValueError from ..checker import check @@ -194,3 +195,55 @@ def test_agents_list_fields(api): check(agent, 'status', str) check(agent, 'uuid', 'uuid') assert count == agents.total + + +@pytest.mark.vcr() +def test_agents_unlink_agent_id_typeerror(api): + ''' + test to raise the exception when type of agent_id is not as defined + ''' + with pytest.raises(TypeError) as type_error: + api.agents.unlink('nope') + assert len(type_error.value.args) == 1, "Test-case should raise only one validation error." + + assert type_error.value.args[0] == "agent_id is of type str. Expected int", \ + "Invalid type validation error for agent_id parameter is not raised by test-case." + + +@pytest.mark.vcr() +def test_agents_unlink_multiple_agent_id_typeerror(api): + ''' + test to raise the exception when types of multiple agent_ids are not as defined + ''' + with pytest.raises(TypeError) as type_error: + api.agents.unlink('nope', 'test', scanner_id=11) + assert len(type_error.value.args) == 1, "Test-case should raise only one validation error." + + assert type_error.value.args[0] == "agent_ids is of type str. Expected int", \ + "Invalid type validation error for agent_ids parameter is not raised by test-case." + + +@pytest.mark.vcr() +def test_agents_task_status_scanner_id_typeerror(api): + ''' + test to raise the exception when type of scanner_id is not as defined + ''' + with pytest.raises(TypeError) as type_error: + api.agents.task_status(scanner_id='nope') + assert len(type_error.value.args) == 1, "Test-case should raise only one validation error." + + assert "task_status() missing 1 required positional argument: 'task_uuid'" in type_error.value.args[0], \ + "Missing value of required scanner_id parameter error is not raised by test-case." + + +@pytest.mark.vcr() +def test_agents_task_status_task_uuid_typeerror(api): + ''' + test to raise the exception when type of task_uuid is not as defined + ''' + with pytest.raises(TypeError) as type_error: + api.agents.task_status(task_uuid=11, scanner_id=11) + assert len(type_error.value.args) == 1, "Test-case should raise only one validation error." + + assert "task_uuid is of type int. Expected str" in type_error.value.args[0], \ + "Missing value of required task_uuid parameter error is not raised by test-case." diff --git a/tests/io/test_assets_api_v3.py b/tests/io/test_assets_api_v3.py new file mode 100644 index 000000000..bd07974dd --- /dev/null +++ b/tests/io/test_assets_api_v3.py @@ -0,0 +1,155 @@ +''' +Test Explore -> Assets V3 API endpoints +''' + +import pytest +from requests import Response + +from tenable.io.v3.base.iterators.explore_iterator import CSVChunkIterator, SearchIterator + + +@pytest.mark.vcr() +def test_explore_assets_v3_search_was_assets(api): + ''' + Test the search web applications assets endpoint + ''' + tag_list = ['522b0827-1780-42c5-9f70-2e481a845b41'] + sort = [('created', 'desc')] + filters = ('and', ('last_observed', 'lt', '2022-05-14T18:30:00.000Z'), + ('tags', 'eq', tag_list)) + + assets_iterator = api.v3.explore.assets.search_webapp(limit=200, sort=sort, filter=filters) + assert isinstance(assets_iterator, SearchIterator), \ + "Iterator is not returned in response of Explore -> Web Applications Assets" + + for asset_data in assets_iterator: + for asset_tag in asset_data['tags']: + assert asset_tag['id'] in tag_list, \ + "Web Application Assets are not filtered as per 'tags' filter criteria." + + assets_csv_iterator = api.v3.explore.assets.search_webapp(sort=sort, limit=200, filter=filters, return_csv=True) + assert isinstance(assets_csv_iterator, CSVChunkIterator), \ + "CSV chunk iterator is not returned in response of " \ + "Explore -> Web Applications Assets with return_csv flag enabled" + + assets_response = api.v3.explore.assets.search_webapp(limit=200, sort=sort, filter=filters, return_resp=True) + assert isinstance(assets_response, Response), "Response object is not returned in response of " \ + "Explore -> Web Applications Assets with return_resp flag enabled" + + assets_csv_response = api.v3.explore.assets.search_webapp(limit=200, sort=sort, filter=filters, return_resp=True, + return_csv=True) + assert isinstance(assets_csv_response, Response), "Response object (CSV format) is not returned in response of " \ + "Explore -> Web Applications Assets with return_resp flag enabled" + + +@pytest.mark.vcr() +def test_explore_assets_v3_search_host_assets(api): + ''' + Test the search host assets endpoint + ''' + operating_system_list = ['AIX 6.1', 'AsyncOS'] + sort = [('created', 'desc')] + filters = ('and', ('operating_systems', 'eq', operating_system_list)) + + assets_iterator = api.v3.explore.assets.search_host(limit=10, sort=sort, filter=filters) + assert isinstance(assets_iterator, SearchIterator), \ + "Iterator is not returned in response of Explore -> Hosts Assets" + + for asset_data in assets_iterator: + for asset_operating_system in asset_data['operating_systems']: + assert asset_operating_system in operating_system_list, \ + "Host Assets are not filtered as per 'operating_systems' filter criteria." + + assets_csv_iterator = api.v3.explore.assets.search_host(sort=sort, limit=10, filter=filters, return_csv=True) + assert isinstance(assets_csv_iterator, CSVChunkIterator), \ + "CSV chunk iterator is not returned in response of Explore -> Hosts Assets with return_csv flag enabled" + + assets_response = api.v3.explore.assets.search_host(limit=10, sort=sort, filter=filters, return_resp=True) + assert isinstance(assets_response, Response), "Response object is not returned in response of " \ + "Explore -> Hosts Assets with return_resp flag enabled" + + assets_csv_response = api.v3.explore.assets.search_host(limit=10, sort=sort, filter=filters, return_resp=True, + return_csv=True) + assert isinstance(assets_csv_response, Response), "Response object (CSV format) is not returned in response of " \ + "Explore -> Hosts Assets with return_resp flag enabled" + + +@pytest.mark.vcr() +def test_explore_assets_v3_search_cloud_resource_assets(api): + ''' + Test the search cloud resource assets endpoint + ''' + asset_name_list = ['CSTest', 'CSTest-ip'] + region_list = ['CSTest_group'] + sort = [('updated', 'desc')] + filters = ('and', ('name', 'eq', asset_name_list), ('cloud.runtime.region', 'eq', region_list)) + + assets_iterator = api.v3.explore.assets.search_cloud_resource(limit=5, sort=sort, filter=filters) + assert isinstance(assets_iterator, SearchIterator), \ + "Iterator is not returned in response of Explore -> Cloud Resources Assets" + + for asset_data in assets_iterator: + assert asset_data['name'] in asset_name_list, \ + "Cloud Resource Assets are not filtered as per 'name' filter criteria." + assert asset_data['cloud']['runtime']['region'] in region_list, \ + "Cloud Resource Assets are not filtered as per 'region' filter criteria." + + assets_csv_iterator = api.v3.explore.assets.search_cloud_resource(sort=sort, limit=5, filter=filters, + return_csv=True) + assert isinstance(assets_csv_iterator, CSVChunkIterator), \ + "CSV chunk iterator is not returned in response of " \ + "Explore -> Cloud Resources Assets with return_csv flag enabled" + + assets_response = api.v3.explore.assets.search_cloud_resource(limit=5, sort=sort, filter=filters, return_resp=True) + assert isinstance(assets_response, Response), "Response object is not returned in response of " \ + "Explore -> Cloud Resources Assets with return_resp flag enabled" + + assets_csv_response = api.v3.explore.assets.search_cloud_resource(limit=5, sort=sort, filter=filters, + return_resp=True, return_csv=True) + assert isinstance(assets_csv_response, Response), "Response object (CSV format) is not returned in response of " \ + "Explore -> Cloud Resources Assets with return_resp flag enabled" + + +@pytest.mark.vcr() +def test_explore_assets_v3_search_all_assets(api): + ''' + Test the search all the assets endpoint + ''' + operating_system_list = ['linux*'] + source_list = ['AWS'] + asset_type_request_list = ['host', 'webapp', 'cloud_resource'] + asset_type_response_list = ['host', 'webapp', 'cloud'] + sort = [('last_observed', 'desc')] + filters = ('and', ('operating_systems', 'wc', operating_system_list), ('sources', 'eq', source_list), + ('types', 'eq', asset_type_request_list)) + + assets_iterator = api.v3.explore.assets.search_all(limit=50, sort=sort, filter=filters) + assert isinstance(assets_iterator, SearchIterator), \ + "Iterator is not returned in response of Explore -> All Assets" + + for asset_data in assets_iterator: + for asset_operating_system in asset_data['operating_systems']: + assert asset_operating_system.lower() in operating_system_list[0].lower(), \ + "All Assets are not filtered as per 'operating_systems' filter criteria." + + for asset_source in asset_data['sources']: + assert asset_source in source_list, \ + "All Assets are not filtered as per 'sources' filter criteria." + + for asset_type in asset_data['types']: + assert asset_type in asset_type_response_list, \ + "All Assets are not filtered as per 'types' filter criteria." + + assets_csv_iterator = api.v3.explore.assets.search_all(sort=sort, limit=50, filter=filters, + return_csv=True) + assert isinstance(assets_csv_iterator, CSVChunkIterator), \ + "CSV chunk iterator is not returned in response of Explore -> All Assets with return_csv flag enabled" + + assets_response = api.v3.explore.assets.search_all(limit=50, sort=sort, filter=filters, return_resp=True) + assert isinstance(assets_response, Response), "Response object is not returned in response of " \ + "Explore -> All Assets with return_resp flag enabled" + + assets_csv_response = api.v3.explore.assets.search_all(limit=50, sort=sort, filter=filters, + return_resp=True, return_csv=True) + assert isinstance(assets_csv_response, Response), "Response object (CSV format) is not returned in response of " \ + "Explore -> All Assets with return_resp flag enabled" diff --git a/tests/io/test_credentials.py b/tests/io/test_credentials.py index 5b2ec22bb..a36e7ffa2 100644 --- a/tests/io/test_credentials.py +++ b/tests/io/test_credentials.py @@ -452,3 +452,12 @@ def test_credentials_list_fields(api, scan): check(creds, 'permission', int) check(creds, 'user_permissions', int) assert count == credentials.total + + +@pytest.mark.vcr() +def test_credentials_edit_with_permissions(api, cred): + '''test to edit with permissions parameter in the credentials''' + creds = api.credentials.edit('f07267e2-2994-4293-900a-8acc9adaacd4', cred_name='updated cred', + permissions=[{'grantee_uuid': '00000000-0000-0000-0000-000000000000', 'type': 'user', + 'permissions': 64, 'name': 'test_admin@pytenable.io'}]) + assert isinstance(creds, bool) diff --git a/tests/io/test_editor.py b/tests/io/test_editor.py index 1676e052d..691df6ef2 100644 --- a/tests/io/test_editor.py +++ b/tests/io/test_editor.py @@ -2,8 +2,11 @@ test editor ''' import uuid + import pytest -from tenable.errors import UnexpectedValueError + +from tenable.base.endpoint import APIEndpoint +from tenable.errors import UnexpectedValueError, NotFoundError ### @@ -170,3 +173,46 @@ def test_editor_details(api): for each_scan_id in scan_ids_list: api.scans.delete(each_scan_id) + +@pytest.mark.vcr() +def test_editor_parse_plugins_family_id_keyerror(api): + '''test to raise the exception when family id not found''' + families = { + 'family': { + 'status': 'mixed' + } + } + with pytest.raises(KeyError) as key_error: + api.editor.parse_plugins('policy', families, 'uuid') + assert "id" in key_error.value.args[0], "Validation is not raised in case of family id is not provided." + + +@pytest.mark.vcr() +def test_editor_parse_plugins_notfounderror(api): + '''test to raise the exception when found unknown policy id''' + families = { + 'family': { + 'id': 1, + 'status': 'mixed' + }, + } + with pytest.raises(NotFoundError) as not_found_error: + api.editor.parse_plugins('policy', families, 28) + assert "Unknown policy ID: 28" in not_found_error.value.msg, \ + "Validation is not raised in case of invalid policy id is provided." + + +@pytest.mark.vcr() +def test_editor_parse_plugins_response(api): + '''test to parse_plugins method''' + families = { + 0: {'count': 11459, 'id': 28, 'name': 'AIX Local Security Checks', 'status': 'mixed'}, + 1: {'count': 360, 'id': 30, 'name': 'Alma Linux Local Security Checks', 'status': 'mixed'}, + 2: {'count': 60, 'id': 27, 'name': 'Policy Compliance', 'status': 'mixed'} + } + endpoint_obj = APIEndpoint(api) + + api.editor.parse_plugins( + endpoint_obj._check(name='etype', obj='policy', expected_type=str, choices=['scan', 'policy']), + endpoint_obj._check(name='families', obj=families, expected_type=dict), + endpoint_obj._check(name='plugin_id', obj=112, expected_type=int)) diff --git a/tests/io/test_explore_v3.py b/tests/io/test_explore_v3.py new file mode 100644 index 000000000..459b99a8b --- /dev/null +++ b/tests/io/test_explore_v3.py @@ -0,0 +1,147 @@ +''' +Testing the search for V3 endpoints +''' +import pytest +from requests import Response + +from tenable.io.v3.base.endpoints.explore import ExploreBaseEndpoint +from tenable.io.v3.base.iterators.explore_iterator import SearchIterator + +REQUESTDATA = dict( + fields=['name'], + filter=( + 'and', + ('last_observed', 'lt', '2022-06-08T18:30:00.000Z'), + ), + limit=2, + sort=[('name', 'asc')], +) + +REQUESTDATA_2 = dict( + fields=['name'], + filter=( + 'and', + ('last_observed', 'lt', '2022-06-08T18:30:00.000Z'), + ), + limit=3, + sort=[('name', 'asc')], +) + +RESPONSE_2 = {'assets': + [{'created': '2022-01-24T22:28:15.083Z', + 'display_ipv4_address': '172.26.100.153', + 'display_mac_address': '00:50:56:a6:64:8d', + 'display_operating_system': 'Windows Server 2016 Standard 14393', + 'first_observed': '2022-01-24T22:27:58.000Z', + 'host_name': '......server01', + 'id': '557db40c-b546-4281-8976-5e29d32a6622', + 'ipv4_addresses': ['172.26.100.153'], + 'ipv6_addresses': [], + 'is_deleted': False, + 'is_licensed': False, + 'is_public': False, + 'last_licensed_scan_time': '2022-01-24T22:27:58.000Z', + 'last_observed': '2022-01-24T22:27:58.000Z', + 'mac_addresses': ['00:50:56:a6:64:8d'], + 'name': '......server01', + 'netbios_name': '......SERVER01', + 'network': {'id': '00000000-0000-0000-0000-000000000000', + 'name': 'Default'}, + 'observation_sources': [{'first_observed': '2022-01-24T22:27:58.000Z', + 'last_observed': '2022-01-24T22:27:58.000Z', + 'name': 'NESSUS_SCAN'}], + 'operating_systems': ['Windows Server 2016 Standard 14393'], + 'sources': ['NESSUS_SCAN'], + 'system_type': 'general-purpose', + 'tags': [{'category': 'ab', + 'id': '0aeb8d1b-869d-4520-8f02-775201885780', + 'type': 'dynamic', + 'value': 'test_tag'}, + {'category': 'CS-scan manger', + 'id': 'f2dc798f-97e7-4295-bdad-d186dc28503a', + 'type': 'dynamic', + 'value': 'manager'}], + 'types': ['host'], + 'updated': '2022-06-09T02:59:22.736Z'}, + {'created': '2021-10-21T18:58:31.027Z', + 'display_ipv4_address': '0.10.203.164', + 'display_mac_address': '00:00:00:29:0f:7c', + 'first_observed': '2021-10-21T18:58:15.000Z', + 'id': '82db057b-3327-476b-9b32-2cf6c751850d', + 'installed_software': ['cpe:/a:openbsd:openssh:8.3'], + 'ipv4_addresses': ['0.10.203.164'], + 'ipv6_addresses': [], + 'is_deleted': False, + 'is_licensed': False, + 'is_public': True, + 'last_licensed_scan_time': '2021-10-21T18:58:15.000Z', + 'last_observed': '2021-10-21T18:58:15.000Z', + 'mac_addresses': ['00:00:00:29:0f:7c'], + 'name': '0.10.203.164', + 'network': {'id': '00000000-0000-0000-0000-000000000000', + 'name': 'Default'}, + 'observation_sources': [{'first_observed': '2021-10-21T18:58:15.000Z', + 'last_observed': '2021-10-21T18:58:15.000Z', + 'name': 'NESSUS_SCAN'}], + 'sources': ['NESSUS_SCAN'], + 'tags': [{'category': 'ab', + 'id': '0aeb8d1b-869d-4520-8f02-775201885780', + 'type': 'dynamic', + 'value': 'test_tag'}], + 'types': ['host'], + 'updated': '2022-01-19T13:39:02.995Z'}, + {'created': '2021-10-21T17:38:53.966Z', + 'display_ipv4_address': '0.10.204.254', + 'first_observed': '2021-10-21T17:38:39.000Z', + 'id': '37643fd5-74a9-4e7c-915a-c90a14e61dfb', + 'ipv4_addresses': ['0.10.204.254'], + 'ipv6_addresses': [], + 'is_deleted': False, + 'is_licensed': False, + 'is_public': True, + 'last_licensed_scan_time': '2021-10-21T17:38:39.000Z', + 'last_observed': '2021-10-21T17:38:39.000Z', + 'name': '0.10.204.254', + 'network': {'id': '00000000-0000-0000-0000-000000000000', + 'name': 'Default'}, + 'observation_sources': [{'first_observed': '2021-10-21T17:38:39.000Z', + 'last_observed': '2021-10-21T17:38:39.000Z', + 'name': 'NESSUS_SCAN'}], + 'sources': ['NESSUS_SCAN'], + 'tags': [{'category': 'ab', + 'id': '0aeb8d1b-869d-4520-8f02-775201885780', + 'type': 'dynamic', + 'value': 'test_tag'}], + 'types': ['host'], + 'updated': '2022-01-19T13:25:12.796Z'}], + 'pagination': {'limit': 3, + 'next': 'H4sIAAAAAAAAAH2Q0W6DMAxF/8WPE0EGAhS+o0+rEDLEqJEooUlaDSH+fYGpUreHPV7LPvfIKwx69GyhXoEmBfVlhdmama1foIb7g+0S+2VmBxHsY/ImLAPfQ37S+OAQrsZ52KJ/CCM535rOsX2y+k0a/RspxTQVWAg8nZNTnWGNGCPiJ2zNzp+M30Xf8Eo76kZWLfk/gl/aeQfbfgjOWH+I/dhMdNvLyPWHtVav0IRVJttfWxqOp1wA4wTjFGWc5jI0ZGUhs0HlopRUCcllL6okJ9FXSInkIlFDBwEz6psOlVn0ktXhgwH3ERihr9m+AaS0jLF5AQAA', + 'total': 102931}} + + +@pytest.mark.vcr() +def test_search_v3(api): + ''' + Test for search SearchIterator method iterator + ''' + search_iterator = ExploreBaseEndpoint(api)._search( + resource='assets', + api_path='api/v3/assets/host/search', + **REQUESTDATA + ) + assert isinstance(search_iterator, SearchIterator) + + +@pytest.mark.vcr() +def test_search_response_v3(api): + ''' + Test for search method response + ''' + response = ExploreBaseEndpoint(api)._search( + resource='assets', + api_path='api/v3/assets/host/search', + return_resp=True, + **REQUESTDATA_2, + ) + assert isinstance(response, Response) + assert RESPONSE_2 == response.json() diff --git a/tests/io/test_filter_schema.py b/tests/io/test_filter_schema.py new file mode 100644 index 000000000..23337325e --- /dev/null +++ b/tests/io/test_filter_schema.py @@ -0,0 +1,86 @@ +''' +Tests cases for filter schema +''' +import pytest +import responses +from marshmallow.exceptions import ValidationError + +from tenable.io.base.schemas.filters.base import BaseFilterSchema + + +@responses.activate +def test_populate_filters_validate_filter_success(api): + ''' + Test to populate filters and validate filter methods + ''' + filters_dict: dict = { + 'field': 'field1', + 'operator': 'operator1', + 'value': ['value1', 'value2'], + 'name': 'name1', + 'control': { + 'regex': 'val', + 'operators': ['operator1', 'operator2', 'operator3'], + 'list': ['value1', 'value2', 'value3'] + } + } + + base_filter_schema = BaseFilterSchema() + base_filter_schema.populate_filters(api, path='', filters=[filters_dict], force=True) + base_filter_schema.validate_filter(name=filters_dict['name'], operator=filters_dict['operator'], + value=filters_dict['value']) + + +@responses.activate +def test_validate_filter_validation_error(api): + ''' + Test to raise exception when invalid values provided to validate filter method + ''' + filters_dict: dict = { + 'field': 'field1', + 'operator': 'operator1', + 'value': 'value1', + 'name': 'name1', + 'control': { + 'regex': 'test', + 'operators': ['operator1', 'operator2', 'operator3'], + 'list': ['value2', 'value3', 'value4'] + } + } + with pytest.raises(ValidationError) as validation_error: + base_filter_schema = BaseFilterSchema() + + base_filter_schema.populate_filters(api, path='', filters=[filters_dict], force=True) + base_filter_schema.validate_filter(name=filters_dict['name'], operator=filters_dict['operator'], + value=filters_dict['value']) + assert '"value1" must be one of [\'value2\', \'value3\', \'value4\']' in \ + validation_error.value.messages['value'][0], \ + "Invalid choice validation error not raised for 'value' parameter" + assert '"value1" does not match pattern test' in validation_error.value.messages['value'][1], \ + "'Value' is not matched the regex pattern error is not raised by test-case." + + +@responses.activate +def test_validate_filter_name_validation_error(api): + ''' + Test to raise exception when invalid field name provided to validate filter method + ''' + filters_dict: dict = { + 'field': 'field1', + 'operator': 'operator1', + 'value': 'value4', + 'name': 'name1', + 'control': { + 'regex': 'test' or None, + 'operators': ['operator1', 'operator2', 'operator3'], + 'list': ['value1', 'value2', 'value3'] or None + } + } + with pytest.raises(ValidationError) as validation_error: + base_filter_schema = BaseFilterSchema() + + base_filter_schema.populate_filters(api, path='', filters=[filters_dict], force=True) + base_filter_schema.validate_filter(name=filters_dict['field'], operator=filters_dict['operator'], + value=filters_dict['value']) + assert '"field1" is not a valid filter' in validation_error.value.messages['name'], \ + "Invalid type validation error for name parameter is not raised by test-case." diff --git a/tests/io/test_filter_schema_v3.py b/tests/io/test_filter_schema_v3.py new file mode 100644 index 000000000..d543b03ff --- /dev/null +++ b/tests/io/test_filter_schema_v3.py @@ -0,0 +1,144 @@ +''' +Tests cases for filter schema for V3 endpoints +''' +import pytest +from marshmallow.exceptions import ValidationError + +from tenable.io.v3.base.schema.explore.filters import FilterSchemaV3 + +SEARCH_DATA = dict( + fields=['bios_name', 'name'], + filter=('bios_name', 'eq', 'SCCM'), + limit=10, + sort=[('name', 'asc'), ('bios_name', 'desc')], + next='sdf000dfssdSDFSDFSFE00dfsdffaf' +) + + +@pytest.mark.vcr() +def test_filter_tuple_without_condition_v3(): + ''' + Test Filter with tuple + ''' + tup_data = ('bios_name', 'eq', 'SCCM') + test_resp = {'property': 'bios_name', 'operator': 'eq', 'value': 'SCCM'} + schema = FilterSchemaV3() + data = schema.dump(schema.load(tup_data)) + + assert test_resp == data + + with pytest.raises(ValidationError): + SEARCH_DATA['dummy_key'] = 'dummy_value' + schema.load(SEARCH_DATA) + + +@pytest.mark.vcr() +def test_filter_dict_v3(): + ''' + Test Filter with dict + ''' + tup_data = {'property': 'filter', 'operator': 'oper', 'value': 'value'} + test_resp = {'operator': 'oper', 'value': 'value', 'property': 'filter'} + schema = FilterSchemaV3() + data = schema.dump(schema.load(tup_data)) + + assert test_resp == data + + +@pytest.mark.vcr() +def test_filter_tuple_with_condition_b3(): + ''' + Test Filter with tuple and condition + ''' + tup_data = ( + 'or', + ('and', ('test', 'eq', '1'), ('test', 'eq', '2')), + 'and', + ('test', 'eq', 3), + ) + test_resp = { + 'or': [ + { + 'and': [ + {'operator': 'eq', 'value': '1', 'property': 'test'}, + {'operator': 'eq', 'value': '2', 'property': 'test'}, + ] + } + ], + 'and': [{'operator': 'eq', 'value': 3, 'property': 'test'}], + } + schema = FilterSchemaV3() + data = schema.dump(schema.load(tup_data)) + + assert test_resp == data + + with pytest.raises(ValidationError): + data = 'something' + schema.load(data) + + with pytest.raises(ValidationError): + data = ( + 'greater', + ('and', ('test', 'eq', '1'), ('test', 'eq', '2')), + 'invalid', + ('test', 'eq', 3), + ) + schema.load(data) + + with pytest.raises(ValidationError): + data = ( + 'and', + ('and', ('test', 'eq', '1'), ('test', 'eq', '1')), + 'and', + ('test', 'eq', '1'), + ) + schema.load(data) + + with pytest.raises(ValidationError): + data = ( + 'None', + ('and', ('test', 'eq', '1'), ('test', 'eq', '1')), + 'and', + ('test', 'eq', '1'), + ) + schema.load(data) + + with pytest.raises(ValidationError): + data = ( + 'and', + ('and', ('test', 'eq', None), ('test', 'eq', '1')), + 'or', + ('test', 'eq', '1'), + ) + schema.load(data) + + +@pytest.mark.vcr() +def test_filter_dict_with_condition_dict_v3(): + ''' + Test Filter with dict and condition + ''' + data = { + 'or': [ + { + 'and': [ + {'value': '1', 'operator': 'oper', 'property': '1'}, + {'value': '2', 'operator': 'oper', 'property': '2'}, + ] + } + ], + 'and': [{'value': '3', 'operator': 'oper', 'property': '3'}], + } + test_resp = { + 'and': [{'operator': 'oper', 'property': '3', 'value': '3'}], + 'or': [ + { + 'and': [ + {'operator': 'oper', 'property': '1', 'value': '1'}, + {'operator': 'oper', 'property': '2', 'value': '2'}, + ] + } + ], + } + schema = FilterSchemaV3() + assert test_resp == schema.dump(schema.load(data)) diff --git a/tests/io/test_findings_api_v3.py b/tests/io/test_findings_api_v3.py new file mode 100644 index 000000000..7881336f5 --- /dev/null +++ b/tests/io/test_findings_api_v3.py @@ -0,0 +1,114 @@ +''' +Test Explore -> Findings V3 API endpoints +''' +import pytest +from requests import Response + +from tenable.io.v3.base.iterators.explore_iterator import CSVChunkIterator, SearchIterator + + +@pytest.mark.vcr() +def test_findings_v3_search_was(api): + ''' + Test the search endpoint of web applications - findings + ''' + + fields = ['finding_id', 'severity', 'state', 'last_observed'] + sort = [("last_observed", "desc")] + filter = ('and', ('severity', 'eq', [3]), + ('state', 'eq', ['ACTIVE'])) + + iterator = api.v3.explore.findings.search_webapp( + fields=fields, filter=filter, sort=sort, limit=200, + ) + assert isinstance(iterator, SearchIterator), \ + "Iterator is not returned in response of Explore -> Web Applications Findings" + + iterator = api.v3.explore.findings.search_webapp( + fields=fields, filter=filter, return_csv=True, sort=sort, limit=200, + ) + assert isinstance(iterator, CSVChunkIterator), "CSV chunk iterator is not returned in response of " \ + "Explore -> Web Applications Findings with return_csv flag enabled" + + resp = api.v3.explore.findings.search_webapp( + fields=fields, filter=filter, return_resp=True, sort=sort, limit=200 + ) + assert isinstance(resp, Response), "Response is not returned in response of " \ + "Explore -> Web Applications Findings with return_resp flag enabled" + + resp = api.v3.explore.findings.search_webapp( + fields=fields, filter=filter, return_resp=True, return_csv=True, sort=sort, limit=200 + ) + assert isinstance(resp, Response), "Response object (CSV format) is not returned in response of " \ + "Explore -> Web Applications Findings with return_resp & return_csv flag enabled" + + +@pytest.mark.vcr() +def test_findings_v3_search_cloud_resource(api): + ''' + Test the search endpoint of cloud resource - findings + + ''' + + fields = ['finding_id', 'last_found_time', 'risk_factor_num', 'asset.name', 'state'] + sort = [("state", "desc")] + filter = ('and', ('risk_factor_num', 'eq', 3), ('state', 'eq', ['ACTIVE'])) + + iterator = api.v3.explore.findings.search_cloud_resource( + fields=fields, filter=filter, sort=sort, limit=200, + ) + assert isinstance(iterator, SearchIterator), \ + "Iterator is not returned in response of Explore -> Cloud Findings" + + iterator = api.v3.explore.findings.search_cloud_resource( + fields=fields, filter=filter, return_csv=True, sort=sort, limit=200, + ) + assert isinstance(iterator, CSVChunkIterator), "CSV chunk iterator is not returned in response of " \ + "Explore -> Cloud Findings with return_csv flag enabled" + + resp = api.v3.explore.findings.search_cloud_resource( + fields=fields, filter=filter, return_resp=True, return_csv=True, sort=sort, limit=200 + ) + assert isinstance(resp, Response), "Response object (CSV format) is not returned in response of " \ + "Explore -> Cloud Findings with return_resp & return_csv flag enabled" + + resp = api.v3.explore.findings.search_cloud_resource( + fields=fields, filter=filter, return_resp=True, sort=sort, limit=200 + ) + assert isinstance(resp, Response), "Response is not returned in response of " \ + "Explore -> Cloud Findings with return_resp flag enabled" + + +@pytest.mark.vcr() +def test_findings_v3_search_host(api): + ''' + Test the search endpoint of host - findings + ''' + fields = ['asset.name', 'asset.display_ipv4_address', 'severity', 'definition.family', 'last_seen'] + sort = [("severity", "desc")] + filter = ('and', ('last_seen', 'gt', '-P80D'), + ('severity', 'eq', [1, 2, 3, 4]), ('state', 'eq', ["ACTIVE", "RESURFACED", "NEW"])) + + iterator = api.v3.explore.findings.search_host( + fields=fields, filter=filter, sort=sort, limit=200, + ) + assert isinstance(iterator, SearchIterator), \ + "Iterator is not returned in response of Explore -> Host Findings" + + iterator = api.v3.explore.findings.search_host( + fields=fields, filter=filter, return_csv=True, sort=sort, limit=200, + ) + assert isinstance(iterator, CSVChunkIterator), "CSV chunk iterator is not returned in response of " \ + "Explore -> Host Findings with return_csv flag enabled" + + resp = api.v3.explore.findings.search_host( + fields=fields, filter=filter, return_resp=True, sort=sort, limit=200 + ) + assert isinstance(resp, Response), "Response is not returned in response of " \ + "Explore -> Host Findings with return_resp flag enabled" + + resp = api.v3.explore.findings.search_host( + fields=fields, filter=filter, return_resp=True, return_csv=True, sort=sort, limit=200 + ) + assert isinstance(resp, Response), "Response object (CSV format) is not returned in response of " \ + "Explore -> Host Findings with return_resp & return_csv flag enabled" diff --git a/tests/io/test_plugins.py b/tests/io/test_plugins.py index f77d76ad7..db10e26c9 100644 --- a/tests/io/test_plugins.py +++ b/tests/io/test_plugins.py @@ -111,3 +111,15 @@ def test_plugins_list_success(api): def test_plugin_iterator_populate_family_cache(api): '''test for _populate_family_cache in PluginIterator''' getattr(PluginIterator(api), '_populate_family_cache')() + + +@pytest.mark.vcr() +def test_plugins_populate_family_cache_with_maptable(api): + '''test next method in PluginIterator''' + plugins = api.plugins.list( + last_updated=date(2019, 1, 1), + num_pages=1, + size=4) + plugins._maptable = {'plugins': {12122: 13, 12050: 13}, 'families': {13: 'Netware'}} + for plugin in plugins: + check(plugin, 'name', str) diff --git a/tests/io/test_policies.py b/tests/io/test_policies.py index 8dbf56124..04c52d945 100644 --- a/tests/io/test_policies.py +++ b/tests/io/test_policies.py @@ -250,3 +250,15 @@ def test_policies_template_details_new_success(api): templates = api.policies.templates() for keys in templates.keys(): api.policies.template_details(keys) + + +@pytest.mark.vcr() +def test_policies_template_details_credentials_types_settings_success(api): + ''' + test to cover settings data from template details + ''' + template_detail = api.policies.template_details('asv') + assert isinstance(template_detail, dict) + check(template_detail, 'credentials', dict) + check(template_detail, 'settings', dict) + check(template_detail, 'uuid', 'scanner-uuid') diff --git a/tests/io/test_remediation_scans.py b/tests/io/test_remediation_scans.py index 6d57be323..da51ffa21 100644 --- a/tests/io/test_remediation_scans.py +++ b/tests/io/test_remediation_scans.py @@ -1,7 +1,6 @@ ''' test Remediation scans ''' -from pprint import pprint import pytest from tenable.errors import UnexpectedValueError, NotFoundError from tests.checker import check, single @@ -75,11 +74,27 @@ def test_remedyscan_create_scan_document_template_pass(api): test to create scan document basic template ''' templates = api.policies.templates() - resp = getattr(api.remediationscans, '_create_scan_document')({'template': 'basic'}) + resp = getattr(api.remediationscans, '_create_scan_document')( + {'template': 'basic'}) assert isinstance(resp, dict) check(resp, 'uuid', 'scanner-uuid') assert resp['uuid'] == templates['basic'] + +@pytest.mark.vcr() +def test_remedyscan_create_advanced_scan_document_template_pass(api): + ''' + test to create scan document using advanced template, credentials and compliance + ''' + templates = api.policies.templates() + resp = getattr(api.remediationscans, '_create_scan_document')( + {'template': 'advanced', 'credentials': {'name': "Test"}, 'compliance': {"name": "Policy Compliance"}}) + assert isinstance(resp, dict), "Response of create scan template for remediation scan is not of type dict." + check(resp, 'uuid', 'scanner-uuid') + assert resp['uuid'] == templates['advanced'], \ + "UUID of remediation scan template created in this test-case not matched with UUID of advanced scan template." + + @pytest.mark.vcr() def test_remedyscan_create_scan_document_policies_id_pass(api): ''' diff --git a/tests/io/test_scans.py b/tests/io/test_scans.py index d57a0a1b9..d388f53ac 100644 --- a/tests/io/test_scans.py +++ b/tests/io/test_scans.py @@ -2059,3 +2059,68 @@ def test_scan_create_scan_document_credentials_pass(api): for credential in credentials: getattr(api.scans, '_create_scan_document')( {'credentials': credential}) + + +@pytest.mark.vcr() +def test_block_while_running(api): + ''' + test _block_while_running with expected type. + ''' + api.scans._block_while_running(scan_id=583, sleeper=5) + + +@pytest.mark.vcr() +def test_scan_results_scan_not_found_error(api): + """ + test to raise exception when scan not found. + """ + with pytest.raises(NotFoundError) as not_found_error: + api.scans.results(scan_id=583, history_uuid="123e4567-e89b-12d3-a456-426614174000") + assert "Scan not found" in not_found_error.value.msg, \ + "Invalid type validation error for scan_id parameter is not raised by test-case." + + +@pytest.mark.vcr() +def test_scan_results_without_history(api): + """ + requests using only Scan ID + """ + scan = api.scans.results(scan_id=419) + assert len(scan["vulnerabilities"]) == 223 + + +@pytest.mark.vcr() +def test_scan_results_with_history_id(api): + """ + requests using only Scan ID + """ + scan = api.scans.results(scan_id=419, history_id=15184619) + assert len(scan["hosts"]) == 221 + + +@pytest.mark.vcr() +def test_scan_results_with_history_uuid(api): + """ + requests using only Scan ID + """ + scan = api.scans.results(scan_id=419, history_uuid="b6e2280a-119f-42c8-9af5-a16ae269fb75") + assert len(scan["hosts"]) == 221 + +@pytest.mark.vcr() +def test_scan_history_sort_direction(api): + ''' + test scan history for sort direction. + ''' + api.scans.history(scan_id=11, limit=10, offset="1", pages=3, sort=(('name', 'asc'), ('description', 'desc'))) + + +@pytest.mark.vcr() +def test_scan_create_scan_document_credentials_compliance_plugins(api): + ''' + test to create scan document with credentials, compliance and plugins + ''' + getattr(api.scans, '_create_scan_document')({'credentials': {'Host': {'Windows': [{'domain': '', 'username': 'test', + 'password': 'test', + 'auth_method': 'Password'}]}}, + 'compliance': {'test': 'testvalue'}, + 'plugins': {12122: 13, 12050: 13}}) diff --git a/tests/io/test_search_iterator_v3.py b/tests/io/test_search_iterator_v3.py new file mode 100644 index 000000000..8b896a560 --- /dev/null +++ b/tests/io/test_search_iterator_v3.py @@ -0,0 +1,82 @@ +''' +Testing the search iterators for V3 endpoints +''' +import pytest +import json + +from tenable.io.v3.base.iterators.explore_iterator import SearchIterator + +ASSET_DATA = [ + {'types': ['webapp'], 'is_deleted': False, 'sources': ['WAS'], 'ssl_tls_enabled': False, + 'created': '2022-01-25T15:19:17.224Z', 'name': 'target9.pubtarg.bananas.com', 'is_licensed': False, + 'id': '0f19a1a4-d1df-4f8a-a2ec-9cd5f4f3f3c5', 'updated': '2022-01-25T15:21:29.692Z', + 'tags': [{'id': '6167eae5-808a-415a-8400-f3208e5382c5', 'category': 'ABCD', 'value': 'tag111', 'type': 'static'}]}, + {'types': ['webapp'], 'sources': ['WAS'], 'last_licensed_scan_time': '2022-01-25T15:17:50.322Z', + 'created': '2021-10-28T13:47:40.801Z', 'ipv4_addresses': ['44.241.194.21'], + 'homepage_screenshot_url': 'https://cloud.tenable.com/was/v2/attachments/54fd0e88-7377-4755-8e9b-7b944f671de9', + 'tags': [{'id': '6167eae5-808a-415a-8400-f3208e5382c5', 'category': 'ABCD', 'value': 'tag111', 'type': 'static'}], + 'display_ipv4_address': '44.241.194.21', 'first_observed': '2021-10-28T13:47:40.694Z', + 'display_operating_system': 'Linux Kernel 3.10 on CentOS Linux release 7', 'ssl_tls_enabled': False, + 'last_observed': '2022-01-25T15:17:50.322Z', 'name': 'target1.pubtarg.tenablesecurity.com', + 'id': '8a148a61-7f5f-4730-8ac0-ebcebcbd6a4d', 'updated': '2022-01-25T15:22:22.966Z'} + +] + +@pytest.mark.vcr() +def test_search_iterator_v3(api): + ''' + Test for search iterator + ''' + search_iterator = SearchIterator( + api=api, + _resource='assets', + _path='api/v3/assets/search', + _payload={ + "limit": 1, + "filter": { + "and": [ + { + "operator": "eq", + "property": "tags", + "value": [ + "6167eae5-808a-415a-8400-f3208e5382c5" + ] + }, + { + "operator": "eq", + "property": "types", + "value": "webapp" + }, + { + "operator": "neq", + "property": "types", + "value": "host" + } + ] + } + } + ) + assert ASSET_DATA.__contains__(next(search_iterator)) + assert ASSET_DATA.__contains__(next(search_iterator)) + + with pytest.raises(StopIteration): + next(search_iterator) + + +def test_search_iterator_v3_null_pagination(api): + ''' + Test for null pagination in SearchIterator._process_response + ''' + search_iterator = SearchIterator( + api=api + ) + class TempJson: + def json(self): + return json.loads(json.dumps({'findings': [{'id': 'abcdef'}], + 'pagination': None + }) + ) + search_iterator._resource = "findings" + search_iterator._process_response(TempJson()) + assert search_iterator.total == None + assert search_iterator._next_token == None diff --git a/tests/io/test_search_schema_v3.py b/tests/io/test_search_schema_v3.py new file mode 100644 index 000000000..483a3e680 --- /dev/null +++ b/tests/io/test_search_schema_v3.py @@ -0,0 +1,221 @@ +''' +Tests for search and filter schema for V3 endpoints +''' +import pytest +from marshmallow.exceptions import ValidationError + +from tenable.io.v3.base.schema.explore.filters import FilterSchemaV3 +from tenable.io.v3.base.schema.explore.search import (SearchSchemaV3, SortSchemaV3, + SortType) +from tests.io.search_objects_v3 import NEGATIVE_SEARCH_SCHEMA, NEGATIVE_SORT_SCHEMA, NEGATIVE_FILTER_SCHEMA + +SEARCH_DATA = dict( + fields=['bios_name', 'name'], + filter=('bios_name', 'eq', 'SCCM'), + limit=10, + sort=[('name', 'asc'), ('bios_name', 'desc')], + next='sdf000dfssdSDFSDFSFE00dfsdffaf' +) + +SORT_DATA_SCHEMA = dict(property='bios_name', order='asc') + + +@pytest.mark.vcr() +def test_search_schema(): + ''' + Test the search schema with default values + ''' + test_resp = { + 'limit': 10, + 'fields': ['bios_name', 'name'], + 'next': 'sdf000dfssdSDFSDFSFE00dfsdffaf', + 'filter': {'value': 'SCCM', 'property': 'bios_name', 'operator': 'eq'}, + 'sort': [ + {'order': 'asc', 'property': 'name'}, + {'order': 'desc', 'property': 'bios_name'}, + ] + } + + schema = SearchSchemaV3(context={'sort_type': SortType.property_based}) + assert test_resp == schema.dump(schema.load(SEARCH_DATA)) + + +@pytest.mark.vcr() +def test_search_schema_invalid_limit(): + ''' + Test the search schema with invalid limit value + ''' + search_schema = { + 'limit': 'abc', + 'fields': ['bios_name', 'name'], + 'next': 'sdf000dfssdSDFSDFSFE00dfsdffaf', + 'filter': {'value': 'SCCM', 'property': 'bios_name', 'operator': 'eq'}, + 'sort': [('name', 'asc'), ('bios_name', 'desc')], + } + + schema = SearchSchemaV3(context={'sort_type': SortType.property_based}) + + with pytest.raises(ValidationError): + schema.load(search_schema) + + +@pytest.mark.vcr() +@pytest.mark.parametrize("test_input", NEGATIVE_SEARCH_SCHEMA) +def test_search_negative(test_input): + ''' + Test negative cases for search schema + ''' + schema = SearchSchemaV3(context={'sort_type': SortType.property_based}) + with pytest.raises(ValidationError): + schema.load(test_input) + + +@pytest.mark.vcr() +def test_sort_schema(): + ''' + Test Sort Schema with no sort type + ''' + test_resp = {'bios_name': 'asc'} + schema = SortSchemaV3() + data = schema.dump(schema.load(SORT_DATA_SCHEMA)) + assert test_resp == data + + +@pytest.mark.vcr() +def test_sort_schema_default(): + ''' + Test Sort Schema with default sort type + ''' + test_resp = {'bios_name': 'asc'} + schema = SortSchemaV3(context={'sort_type': SortType.default}) + data = schema.dump(schema.load(SORT_DATA_SCHEMA)) + assert test_resp == data + + +@pytest.mark.vcr() +def test_sort_schema_property_based(): + ''' + Test Sort Schema with property_based sort type + ''' + test_resp = {'property': 'bios_name', 'order': 'asc'} + schema = SortSchemaV3(context={'sort_type': SortType.property_based}) + data = schema.dump(schema.load(SORT_DATA_SCHEMA)) + assert test_resp == data + + +@pytest.mark.vcr() +def test_sort_schema_name_based(): + ''' + Test Sort Schema with name_based sort type + ''' + test_resp = {'name': 'bios_name', 'order': 'asc'} + schema = SortSchemaV3(context={'sort_type': SortType.name_based}) + data = schema.dump(schema.load(SORT_DATA_SCHEMA)) + assert test_resp == data + + +@pytest.mark.vcr() +@pytest.mark.parametrize("test_input", NEGATIVE_SORT_SCHEMA) +def test_sort_negative(test_input): + ''' + Test negative cases for sort schema + ''' + schema = SortSchemaV3(context={'sort_type': SortType.property_based}) + with pytest.raises(ValidationError): + schema.load(test_input) + + +@pytest.mark.vcr() +@pytest.mark.parametrize("test_input", NEGATIVE_FILTER_SCHEMA) +def test_filter_negative(test_input): + ''' + Test negative cases for filter schema + ''' + schema = FilterSchemaV3() + with pytest.raises(ValidationError): + schema.load(test_input) + + +@pytest.mark.vcr() +def test_filter_tuple_without_condition(): + ''' + Test Filter with tuple + ''' + tup_data = ('bios_name', 'eq', 'SCCM') + test_resp = {'property': 'bios_name', 'operator': 'eq', 'value': 'SCCM'} + schema = FilterSchemaV3() + data = schema.dump(schema.load(tup_data)) + + assert test_resp == data + + +@pytest.mark.vcr() +def test_filter_dict(): + ''' + Test Filter with dict + ''' + tup_data = {'property': 'filter', 'operator': 'oper', 'value': 'value'} + test_resp = {'operator': 'oper', 'value': 'value', 'property': 'filter'} + schema = FilterSchemaV3() + data = schema.dump(schema.load(tup_data)) + + assert test_resp == data + + +@pytest.mark.vcr() +def test_filter_tuple_with_condition(): + ''' + Test Filter with tuple and condition + ''' + tup_data = ( + 'or', + ('and', ('test', 'eq', '1'), ('test', 'eq', '2')), + 'and', + ('test', 'eq', 3), + ) + test_resp = { + 'or': [ + { + 'and': [ + {'operator': 'eq', 'value': '1', 'property': 'test'}, + {'operator': 'eq', 'value': '2', 'property': 'test'}, + ] + } + ], + 'and': [{'operator': 'eq', 'value': 3, 'property': 'test'}], + } + schema = FilterSchemaV3() + data = schema.dump(schema.load(tup_data)) + + assert test_resp == data + + +@pytest.mark.vcr() +def test_filter_dict_with_condition_dict(): + ''' + Test Filter with dict and condition + ''' + data = { + 'or': [ + { + 'and': [ + {'value': '1', 'operator': 'oper', 'property': '1'}, + {'value': '2', 'operator': 'oper', 'property': '2'}, + ] + } + ], + 'and': [{'value': '3', 'operator': 'oper', 'property': '3'}], + } + test_resp = { + 'and': [{'operator': 'oper', 'property': '3', 'value': '3'}], + 'or': [ + { + 'and': [ + {'operator': 'oper', 'property': '1', 'value': '1'}, + {'operator': 'oper', 'property': '2', 'value': '2'}, + ] + } + ], + } + schema = FilterSchemaV3() + assert test_resp == schema.dump(schema.load(data)) diff --git a/tests/io/v3/__init__.py b/tests/io/v3/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/io/v3/access/__init__.py b/tests/io/v3/access/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/io/v3/access/cassettes/test_create_and_delete.yaml b/tests/io/v3/access/cassettes/test_create_and_delete.yaml new file mode 100644 index 000000000..5dd580753 --- /dev/null +++ b/tests/io/v3/access/cassettes/test_create_and_delete.yaml @@ -0,0 +1,121 @@ +interactions: +- request: + body: '{"actions": ["CanView", "CanUse"], "objects": [{"name": "Category,dummy_value", + "type": "Tag", "uuid": "503cc4f5-fbf5-4583-87db-9281cc964174"}], "subjects": + [{"name": "User sub", "type": "User", "uuid": "b83faeec-f790-433f-893c-88c48c82562e"}], + "name": "test_ObNWG"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '266' + Content-Type: + - application/json + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.7 + (Restfly/1.4.6; Python/3.10.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: POST + uri: https://cloud.tenable.com/api/v3/access-control/permissions/ + response: + body: + string: '{"permission_uuid":"e43faaaf-88f7-468f-bdcd-91ec2da5efdd","name":"test_ObNWG","subjects":[{"type":"User","uuid":"b83faeec-f790-433f-893c-88c48c82562e","name":"admin_a@sandbox.a.io"}],"actions":["CanView","CanUse"],"objects":[{"type":"Tag","uuid":"503cc4f5-fbf5-4583-87db-9281cc964174","name":"Category:dummy_value"}],"created_at":1663227826149,"created_by":"admin_a@sandbox.a.io"}' + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Length: + - '380' + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 15 Sep 2022 07:43:46 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-ppvw7-ap-southeast-1-prod + X-Request-Uuid: + - 32ff7be449ad6afb33d6f5f1c7c8cbce + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.7 + (Restfly/1.4.6; Python/3.10.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/api/v3/access-control/permissions/e43faaaf-88f7-468f-bdcd-91ec2da5efdd + response: + body: + string: '{"permission_uuid":"e43faaaf-88f7-468f-bdcd-91ec2da5efdd","name":"test_ObNWG","subjects":[{"type":"User","uuid":"b83faeec-f790-433f-893c-88c48c82562e","name":"admin_a@sandbox.a.io"}],"actions":["CanView","CanUse"],"objects":[{"type":"Tag","uuid":"503cc4f5-fbf5-4583-87db-9281cc964174","name":"Category:dummy_value"}],"created_at":1663227826149,"created_by":"admin_a@sandbox.a.io"}' + headers: + Accept-Ranges: + - bytes + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Length: + - '380' + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 15 Sep 2022 07:43:47 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-ppvw7-ap-southeast-1-prod + X-Request-Uuid: + - d9b9d5772cb2dcea468b1c55a0daea26 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/v3/access/cassettes/test_details.yaml b/tests/io/v3/access/cassettes/test_details.yaml new file mode 100644 index 000000000..d468f9764 --- /dev/null +++ b/tests/io/v3/access/cassettes/test_details.yaml @@ -0,0 +1,60 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.7 + (Restfly/1.4.6; Python/3.10.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/api/v3/access-control/permissions/4c931fce-699c-4052-a43c-c953e71dd37b + response: + body: + string: '{"permission_uuid":"4c931fce-699c-4052-a43c-c953e71dd37b","name":"AG-tag-retesing:1 + - Default Permissions","subjects":[{"type":"UserGroup","uuid":"00000000-0000-0000-0000-000000000000","name":"All + Users"},{"type":"User","uuid":"ec466b2b-0e76-4ce6-9e54-7db8552655a6","name":"kandarp_test1@tenable.com"},{"type":"UserGroup","uuid":"04c42e1c-e986-4760-a12f-3feb86f6e3c2","name":"Test_7"},{"type":"UserGroup","uuid":"b90d9d12-b61e-4d92-84c3-1aa51ddd4089","name":"123456789"},{"type":"UserGroup","uuid":"77df6fbc-08be-46c0-be81-66420d6bd66e","name":"Test_15"}],"actions":["CanUse","CanEdit"],"objects":[{"type":"Tag","uuid":"55ba39c1-9498-4090-b81a-e17b3a0ccbcb","name":"AG-tag-retesing:1"}],"created_at":1643389648056,"created_by":"SYSTEM","updated_at":1662708497394,"updated_by":"admin_a@sandbox.a.io"}' + headers: + Accept-Ranges: + - bytes + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Length: + - '799' + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 15 Sep 2022 07:43:41 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-ktik7-ap-southeast-1-prod + X-Request-Uuid: + - 03b494045c317e00637070ff638ff512 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/v3/access/cassettes/test_get_current_user_permission.yaml b/tests/io/v3/access/cassettes/test_get_current_user_permission.yaml new file mode 100644 index 000000000..5817f7aef --- /dev/null +++ b/tests/io/v3/access/cassettes/test_get_current_user_permission.yaml @@ -0,0 +1,336 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.7 + (Restfly/1.4.6; Python/3.10.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/api/v3/access-control/permissions/users/me + response: + body: + string: !!binary | + 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 + 7suBVKQqdJEG/fv//X9J4UuOIKYBAA== + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 15 Sep 2022 07:43:44 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-ppvw7-ap-southeast-1-prod + X-Request-Uuid: + - 9ab35e6d5ac1862a55bfde0c0ac8d671 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/v3/access/cassettes/test_get_user_group_permission.yaml b/tests/io/v3/access/cassettes/test_get_user_group_permission.yaml new file mode 100644 index 000000000..e08d261a7 --- /dev/null +++ b/tests/io/v3/access/cassettes/test_get_user_group_permission.yaml @@ -0,0 +1,374 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.7 + (Restfly/1.4.6; Python/3.10.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/api/v3/access-control/permissions/user-groups/00000000-0000-0000-0000-000000000000 + response: + body: + string: !!binary | + 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 + j3recCEnJaYHifx//Of/BYSO5d0+MAIA + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 15 Sep 2022 07:43:43 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-ppvw7-ap-southeast-1-prod + X-Request-Uuid: + - 4b999c0338ca39ad8ee1849f0c913c98 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/v3/access/cassettes/test_get_user_permission.yaml b/tests/io/v3/access/cassettes/test_get_user_permission.yaml new file mode 100644 index 000000000..2c6a574a9 --- /dev/null +++ b/tests/io/v3/access/cassettes/test_get_user_permission.yaml @@ -0,0 +1,372 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.7 + (Restfly/1.4.6; Python/3.10.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/api/v3/access-control/permissions/users/b83faeec-f790-433f-893c-88c48c82562e + response: + body: + string: !!binary | + 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 + //0//j+zzDLoPjACAA== + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 15 Sep 2022 07:43:42 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-yld99-ap-southeast-1-prod + X-Request-Uuid: + - 3208d846c896b260bce270debd57140f + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/v3/access/cassettes/test_list.yaml b/tests/io/v3/access/cassettes/test_list.yaml new file mode 100644 index 000000000..6280401fb --- /dev/null +++ b/tests/io/v3/access/cassettes/test_list.yaml @@ -0,0 +1,340 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.7 + (Restfly/1.4.6; Python/3.10.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/api/v3/access-control/permissions + response: + body: + string: !!binary | + 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 + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 15 Sep 2022 07:43:51 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-yld99-ap-southeast-1-prod + X-Request-Uuid: + - 3a59aa512c423eb280635e4a27419501 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/v3/access/cassettes/test_update.yaml b/tests/io/v3/access/cassettes/test_update.yaml new file mode 100644 index 000000000..a9e4c2765 --- /dev/null +++ b/tests/io/v3/access/cassettes/test_update.yaml @@ -0,0 +1,184 @@ +interactions: +- request: + body: '{"actions": ["CanView", "CanUse"], "objects": [{"name": "Category,dummy_value", + "type": "Tag", "uuid": "92373c4a-5114-49ec-9146-0c7673442381"}], "subjects": + [{"name": "User sub", "type": "User", "uuid": "b83faeec-f790-433f-893c-88c48c82562e"}], + "name": "test_txcmo"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '266' + Content-Type: + - application/json + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.7 + (Restfly/1.4.6; Python/3.10.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: POST + uri: https://cloud.tenable.com/api/v3/access-control/permissions/ + response: + body: + string: '{"permission_uuid":"532b7574-8864-425e-98f0-ada00f474642","name":"test_txcmo","subjects":[{"type":"User","uuid":"b83faeec-f790-433f-893c-88c48c82562e","name":"admin_a@sandbox.a.io"}],"actions":["CanView","CanUse"],"objects":[{"type":"Tag","uuid":"92373c4a-5114-49ec-9146-0c7673442381","name":"Category:dummy_value"}],"created_at":1663227828972,"created_by":"admin_a@sandbox.a.io"}' + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Length: + - '380' + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 15 Sep 2022 07:43:49 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-ppvw7-ap-southeast-1-prod + X-Request-Uuid: + - caafa5e9a5e12fb5f7e36f605ccc1da2 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: '{"actions": ["CanView"], "objects": [{"name": "Category,dummy_value", "type": + "Tag", "uuid": "532b7574-8864-425e-98f0-ada00f474642"}], "subjects": [{"name": + "User sub", "type": "User", "uuid": "b83faeec-f790-433f-893c-88c48c82562e"}], + "name": "test_xtxCQ"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '256' + Content-Type: + - application/json + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.7 + (Restfly/1.4.6; Python/3.10.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: PUT + uri: https://cloud.tenable.com/api/v3/access-control/permissions/532b7574-8864-425e-98f0-ada00f474642 + response: + body: + string: '' + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Length: + - '0' + Content-Type: + - application/octet-stream + Date: + - Thu, 15 Sep 2022 07:43:50 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-ppvw7-ap-southeast-1-prod + X-Request-Uuid: + - 0837140559e4cccd2c87b129efa146c9 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.7 + (Restfly/1.4.6; Python/3.10.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/api/v3/access-control/permissions/532b7574-8864-425e-98f0-ada00f474642 + response: + body: + string: '{"permission_uuid":"532b7574-8864-425e-98f0-ada00f474642","name":"test_xtxCQ","subjects":[{"type":"User","uuid":"b83faeec-f790-433f-893c-88c48c82562e","name":"admin_a@sandbox.a.io"}],"actions":["CanView"],"objects":[{"type":"Tag","uuid":"532b7574-8864-425e-98f0-ada00f474642","name":"Category:dummy_value"}],"created_at":1663227828972,"created_by":"admin_a@sandbox.a.io","updated_at":1663227829793,"updated_by":"admin_a@sandbox.a.io"}' + headers: + Accept-Ranges: + - bytes + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Length: + - '434' + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 15 Sep 2022 07:43:51 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-ppvw7-ap-southeast-1-prod + X-Request-Uuid: + - ec73a5d491b4b3780d07ffa3ba8fe343 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/v3/cassettes/test_create_and_delete.yaml b/tests/io/v3/cassettes/test_create_and_delete.yaml new file mode 100644 index 000000000..365069c72 --- /dev/null +++ b/tests/io/v3/cassettes/test_create_and_delete.yaml @@ -0,0 +1,121 @@ +interactions: +- request: + body: '{"actions": ["CanView", "CanUse"], "objects": [{"name": "Category,dummy_value", + "type": "Tag", "uuid": "3c30dc7d-7bd5-458b-a2e1-f74207f8e2ed"}], "subjects": + [{"name": "User sub", "type": "User", "uuid": "b83faeec-f790-433f-893c-88c48c82562e"}], + "name": "test_lIWbd"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '266' + Content-Type: + - application/json + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.7 + (Restfly/1.4.6; Python/3.10.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: POST + uri: https://cloud.tenable.com/api/v3/access-control/permissions/ + response: + body: + string: '{"permission_uuid":"52b63814-810f-4012-a023-8d29913d3cc1","name":"test_lIWbd","subjects":[{"type":"User","uuid":"b83faeec-f790-433f-893c-88c48c82562e","name":"admin_a@sandbox.a.io"}],"actions":["CanView","CanUse"],"objects":[{"type":"Tag","uuid":"3c30dc7d-7bd5-458b-a2e1-f74207f8e2ed","name":"Category:dummy_value"}],"created_at":1663229046424,"created_by":"admin_a@sandbox.a.io"}' + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Length: + - '380' + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 15 Sep 2022 08:04:07 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-ppvw7-ap-southeast-1-prod + X-Request-Uuid: + - fda5c58a9c0075f69488ce34aaed6835 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.7 + (Restfly/1.4.6; Python/3.10.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/api/v3/access-control/permissions/52b63814-810f-4012-a023-8d29913d3cc1 + response: + body: + string: '{"permission_uuid":"52b63814-810f-4012-a023-8d29913d3cc1","name":"test_lIWbd","subjects":[{"type":"User","uuid":"b83faeec-f790-433f-893c-88c48c82562e","name":"admin_a@sandbox.a.io"}],"actions":["CanView","CanUse"],"objects":[{"type":"Tag","uuid":"3c30dc7d-7bd5-458b-a2e1-f74207f8e2ed","name":"Category:dummy_value"}],"created_at":1663229046424,"created_by":"admin_a@sandbox.a.io"}' + headers: + Accept-Ranges: + - bytes + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Length: + - '380' + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 15 Sep 2022 08:04:07 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-ppvw7-ap-southeast-1-prod + X-Request-Uuid: + - cb6723878b6c3878b6d78caaf3ab50bd + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/v3/cassettes/test_details.yaml b/tests/io/v3/cassettes/test_details.yaml new file mode 100644 index 000000000..e05922995 --- /dev/null +++ b/tests/io/v3/cassettes/test_details.yaml @@ -0,0 +1,60 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.7 + (Restfly/1.4.6; Python/3.10.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/api/v3/access-control/permissions/4c931fce-699c-4052-a43c-c953e71dd37b + response: + body: + string: '{"permission_uuid":"4c931fce-699c-4052-a43c-c953e71dd37b","name":"AG-tag-retesing:1 + - Default Permissions","subjects":[{"type":"UserGroup","uuid":"00000000-0000-0000-0000-000000000000","name":"All + Users"},{"type":"User","uuid":"ec466b2b-0e76-4ce6-9e54-7db8552655a6","name":"kandarp_test1@tenable.com"},{"type":"UserGroup","uuid":"04c42e1c-e986-4760-a12f-3feb86f6e3c2","name":"Test_7"},{"type":"UserGroup","uuid":"b90d9d12-b61e-4d92-84c3-1aa51ddd4089","name":"123456789"},{"type":"UserGroup","uuid":"77df6fbc-08be-46c0-be81-66420d6bd66e","name":"Test_15"}],"actions":["CanUse","CanEdit"],"objects":[{"type":"Tag","uuid":"55ba39c1-9498-4090-b81a-e17b3a0ccbcb","name":"AG-tag-retesing:1"}],"created_at":1643389648056,"created_by":"SYSTEM","updated_at":1662708497394,"updated_by":"admin_a@sandbox.a.io"}' + headers: + Accept-Ranges: + - bytes + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Length: + - '799' + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 15 Sep 2022 08:04:02 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-ppvw7-ap-southeast-1-prod + X-Request-Uuid: + - 0666ce3d6ecf301b2a4c2833f501b088 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/v3/cassettes/test_get_current_user_permission.yaml b/tests/io/v3/cassettes/test_get_current_user_permission.yaml new file mode 100644 index 000000000..bb7120889 --- /dev/null +++ b/tests/io/v3/cassettes/test_get_current_user_permission.yaml @@ -0,0 +1,344 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.7 + (Restfly/1.4.6; Python/3.10.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/api/v3/access-control/permissions/users/me + response: + body: + string: !!binary | + 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 + AQA= + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 15 Sep 2022 08:04:05 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-ktik7-ap-southeast-1-prod + X-Request-Uuid: + - f3d226580eb1b42a81d757b7fdc73ead + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/v3/cassettes/test_get_user_group_permission.yaml b/tests/io/v3/cassettes/test_get_user_group_permission.yaml new file mode 100644 index 000000000..afffe0544 --- /dev/null +++ b/tests/io/v3/cassettes/test_get_user_group_permission.yaml @@ -0,0 +1,380 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.7 + (Restfly/1.4.6; Python/3.10.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/api/v3/access-control/permissions/user-groups/00000000-0000-0000-0000-000000000000 + response: + body: + string: !!binary | + H4sIAAAAAAAAA+29CZdbx5Um+FeyVd3VVTUVOBE34sbCM2fGtCzLXba8lOTSuKureWKlaG4yyZRE + 9an/Pt8FKRGJBF7i5SOZSBLyMbfEAxA37vLd/f988m1/9vjB8+cPnj55fi9/lx88yuVR/+TOv/+f + jZ/cOz9/0D6584nW3eZutIraZeW87yoNO5Sn2FLpNcZYPvnnT57kx3iHT754UJ89ff50vDj7+sGT + 9vT752fh7I/Pno6+fs/86OzL/uy7B7Wf/THXh2dGEdPKhZWNK8PpzqKnz9TZv3+an/z5ef/nM/z+ + WXvw4j/wxZ6fl7/2+uL5+ngvXn4r3xKveYYfvT5hiXbk3qsaIWnlLA4Xk60qxupijcSe+psT5vb4 + wZN7+RfP85NWnv6wyqsHTz/5z3++8N6fP3t6/u3GByTdUjOkijdduZZIRVetMjmzaa05HdObDzBk + HfuAf/rP//jnT3J9IdeEb//Jq8Phha9P9wl+/PTy4b7K9998NK7OmWhZJflU53C2xDYrr31inU0t + Rh/F7a0PW5/1/KK3e/nFJ3eMx03ExNE6S29+VF7ie375ly+/+uwLOeW3bfOByJbJJMPhzY/WD+y9 + tB38TlHbQFXl2oZyJVdVjGfVdNYOX6i04qYoZrQcWtE31vDfHr0c4WEwL5/3Vf8hP/72Ud9BpSue + +AD5evJdQ2jDj1KVjgXv6qtWpUejvHekmy8NKujNu37Vn7+4Z/htyIpJIWXqTWUwkHLaW1WGLmrY + XHMzLXFP7/Xm98mEt8HaNEMm2CRv/AKZsB5XV73KTFa5IfqEyauUU46sW9dpgzLt/PHjl2fyF3pv + fHrp9v/tQf/+1fULHxxw+yHHoilrZa0PyhjhA/JGaXKUqyGtU3zzLT4FHe8/ffbyzvqw3+VH57tu + y1tDLninyW/d1hzie1OySVFp76HCq68qpcaqt96bHq1ovWGAcaaz/55be5Hv5+FisXVEm/OdfP7i + Kf5t/U3Z6DpqThXU/e9nT79/0p+dbUCCG1Iub97bc3GddFBkc5L3jjixL1DBgVs0tmib37z3gye4 + imd5fflXccVsnRCKj76zVqOaqpwBBCrMTrneLWvN3ti0ecyD6b6LW4gDjJ3Gyw7hlm1J9xR0DClo + tgskPXYfnB+qBmJYvxFVHskrHXSLLofQR97JbETQmpy718ZdODQx9FW30dl0YrZpZqvRDNe5KC8q + yLlAKhXKSo84IjhNh9G2me0guu9mNu8NG09mAbMxlOICZkugduliYRmuBQyJKmEMFZKP1Blmi9MW + s/3xmdC4dvzlzk9//jc57om1JlnLV+pJD60ojaZccEEl0zT4i+0Yw3Eu9s1X2UvlHYzEAAAu+uQo + LGAkPO0WMFIGMS0O1qkDMgLFqZIyjhjA4yZzDm3SRxXHBLxD2vizL1/g8/KzBi5cebMiq1eWd2C3 + K5/54HH7UTI6MLwZJURRImD0ZMDjNiQ1yJeQS4wjTYL4d8IKe53bxMZtG/s9QP61oGiXlgB58W9s + h4rNsPEudqcywIrcWx66U2uj7zTvtTRtrYaeJrpgZoq3zmQ9RrftpIMnWVNT0zrQUJ1h81wYFgoq + F1VLDACVw0eO2+b9ILrvNu9gFijVuB07mYUlOSyJpJSic49wV2JNombgyOsCjmvVcAstj00s+bsH + T85/OPttf/akPzpzK8MrrSAc6n4HSz2oZ0+fnP25nD95cX5m4ko7ZXxYkXMrb1cp3Fn09ElT34hr + lUvwXDNcDQe/tkFnw4YP1SK+RcghJTJHwR57tXcwLvIc7R1dWhSa7HAQQrTKdwnmdpPFOYNtq845 + rQVO+70Uw7kU210n9usTV3pE4Vv9MtWX/DjZn6NWb+dtPngReztBzFsgtm1E0B4swJ7xVQpXlYMm + aHWfUoK9id0eKRPujafGoL2dJchiXxcI8rDet8qqdQINTQlg6lZVaC0yUyRTw04YFnoptUPeLfEF + ONA4Oh6SkAv6BMMmGbhnMHAgcJAeEQIPRooD8ukGWShoa2qlbRh2EN33wTAgNU4HBYD3RVmi19dn + NqMppQhVlIuE9FxtuNaEawX9GdJMvHmte5MUsX//+GH/9uWP37UenuVxdVpj3xMfvC04SraHwbE0 + 2IADwPsu6qxisV5RaiV0P3og+17ZYCK7RWmeNo4pLhEQ203QjVVJhFvXQRJb3YuzMly3ybPZiB69 + EFv91788/vS3tyi5VYyGt1gJtx0yGJukDEBySODh4oNNlDe+xcXk1r2p7FYywZnDfMw9xA+WWvRN + 6Wac8GZXMdSqfPDdF1c50n44cSWOJwccT7QygfD7bDfg4uM3qrfeAnAjiYNGp3Rlr1wCkVNlp3rJ + RDWFaj0fCaX3qYagrQlxhmpwCQ5XWqAaQtOmcVYdFhxK0xgpg2Kgesse+qHkbqaU5pvIYHoTGXxY + nz18dP7yxYgP/3r+0L2cUKGznv8A7epyri/GeQfzpho+CGfjoQrgGHS9lboI8lToaG5wv4NivDmQ + 718VQZGJbBbwfctcOEYYiAp74Tz8OwGOHlqjt0JpbKa91ybxz09//XLcIpNIphvTbFbEw72GxRRI + gXi26dRaNrTPJE5ZRCYXnT8og7+H9t3X0IpRoxHQ2sCfisf3BExh8s41ZzcK0NbO4Q8vf7xjjtHt + 69V5X6go3YGqXAWqSh02B+cTR9cz542I1cO1eHx7T/jJ/OJFfyJlqav69PEphPN2ExFcRzLUVGqh + SJ1BVJkiINgAOuyDs/MbiYg1c+3STOxTiJr1JbA+x7eNdpFv27MrQsWcEogaOrS7VOuQyS2shaVv + 8NdLYawzkZifxfnuj+fPjthwfrg82LVuVGpXiURmOUPLaZ9UsmSTDfgJt6tvbi9QNIBps3zIlOKS + CgQyBl8ZtjL6YSSZYVUJHrjR1w4hsTjVdmL1v/zi7/7rf/vff/9Pd+7+/qvf/OH3f7n31WdffnVS + 4iclfpgAuaFzHq4r6EAtfRlWpQIlDm/et4FD+7ARtdjJbLuVOhNrDmFJNQ/FsKAGkUz1Nbehegq4 + M5Ocit2R6tmXIDGa4rcB0KsorQ4EoBxt0OFiLZzLlir5ELTJxyhhR8RWI7Wh4WQrCAgUWWxQaTCi + qteRjRRTjag3j3kw3fdFx6GovV5S8OqSXpBTJRvJACeoWiUyVnOHh9+KGuwadLarvhwSFuX7YPof + YzTx6ffn3/H51WHRfU8cLxg5Kg29nNNzBQIhWOtuxoCageTFDivHlbTV1ZoYw3u9+Yn0pNEH1hm8 + avfAAWiB9w8Eto7sqmY8OEmDKJkcq9p07KWO7ux2QPzRd/fLr26R91+drQ2fpGxxVbmeYT2dZGA7 + RVcsvprdEPuDA+JEkeT/C9o9YAK4CTD2FSR3LYItm3PKugBd2QROxi3if//wt1//7hYRX1vfU9NN + RQuSu2GzKqmJ/wZbB68t61qvk42wWifS+iDksof4IVfT2ADgSmLeZtBnkFU6xRIpU71giNfE/+y7 + 85df3DDxDwl3zTrZnAyQNs667W60wwz4q8fZxAUheoq24toNLLaFvJjuVMneq2GSD5VM4mK2rix/ + +5f66BZc2ayTzbgyby3e9nqYa/24s1BCS64MKg5XrzgJkAhr338EFUyj4kvOjjZ8/w2Af7HBxeXU + U8pS2H0C9VdwkuYOgKZ0LlY5aQCHgXPKOJ9sBJuV4T/ZAvV7ab0byEumTSd2C4C8t0uaiShXpuqT + AmaHUSEGTu0WCi6EzDQ81N50QGn9T/dw4msj8OhGSUFaSAt5gIoqX4HWJfbwUYLmtNk6/vx1NujW + pNISkYZ32JRppYHCUkQg8CTpUkKonQCnD6Pw/tIPYO7tfrTpPJd1fon3191wqToFuEvKZTmNYMFY + 6yi2GNfDxo3h+XEvP3p09/nz/gInu7f+2sQBJHZ0Z/1jnO5fzx/1iz86Ip/uFNY7blUtSqzJ/AHQ + Bara5aqAaauq1EsulJ0u4y1w5FTg3G8D6CsC536J2gZq7w2YX9WwlkBwYQYOUBnvXjh3oI3tHtAd + 9snoYWF+emmNT1hgksHi8MWH0aHypNqtVrgEMN/wBkxJY+DPm2VAV9B6NxZgrSWpuF2wMAsL0JKK + Pmsh/3FoFeH0SD8ohKgAZbKmFmMxdvDGGfcGaoJdkbErzytDcX8858LLjkjVHw9yCGxEluG/jFQg + 5DpDvn1XrXQXA2xsPqj29Dr3MTFXCFw8C2o4kGQJT2ZqvUoHNkOx41Jhbn1VDbiUo8mD+nZc5+6v + zz/75hbFdUKEmiuNodsMrrmzB6+xUbb77gEdYcA2OGxejMHgCq4f17G2VEqBVKsW36xIwwWDXCFm + ECuNnFvdaWWgjRpsogt26AtaMGU4T8xBO3+UlTfHZHEKPp1gcbKDnXd6gEF8S8rbPjw7U2x32xbn + ILrvm6ECyU6XZHtWwwU8nQWSnlKR1m7loWWUi6B68T6raLXpLZY4Yt+S9Ac/lM9fHn9Eat7J5kSk + oiUgwWtHpESZuyUoNBeW+LGyyUguKFUFc6lVda1mGMEGU3iAgTImroClVlHjt12TAna+7gOEDB+p + 82aBphnHU4WkQVe+CigFq2NGcq7m5sdksfEiNprqp6FZQyaiD3pBRN4CavusAe+kp9tRlfJCZ1X3 + No4Rfet+O4ny9fO740+3COlkMpliHco3cTCyjNMZoSvfQ4GP3U1s1wvNJ1xBpIOiqHuIX7UB1IIM + OJDcaSedPsMqbrVla7r2OU+x4M5ZJgDU2q847mHHK5/54DXcUWqj4bOLrlkVas+w1jhW9saqYoJ3 + Q4fU3IGtD2+RFSZae8hsp82vGIVDbkGRg63BcM9NpRqlykyDq0Y3qusaUzU1ct6edCeV0EcZXjqF + co9R/rK1MKUycdl0gMrR4QH1IKFcSsYX42kz67Zmrokye0oH+b/7yuzxNktkJdtq2wB/ZXhwgAcg + KmcolgBf2oee4u6EbRm61hZyjaFfDCK2Gn2kzDqexkZdUehLEDIaTsHFkRoZH1RZz/GusfpganL9 + 0gjSg+i+133mqPWS4G2gJeW/dqQSBpzM4muBmrHSIwA9XWLTY5TmWjA7mS0X8GMIOeY0LhzaV7BE + 76XYVE7MNslsDPelQ9SVl/oAJ4O70uhR2dJS5satjcvzbg+h+74RpFpIt6TWPGi/wPF3IK3V7FV2 + FpaTS1DZBqcgPxrXGjjHjUzB2lf55q/Pf/PjLfJVao+wql06OIsURlitcKiscmNX4MZQbNcabM3O + OI4HFX7toT1HZ3xnVaPNEi42KoYWlDYmkRmO2G5blZ35zlczCIyOl/OdP//oGMX+hNqOUQPqNoC1 + cCGafFTOmaqSjU750dvoVhfijQaIazPkTj9Ifkqg/5KGSpnauEAfcqKkofBHT1J97A3QK25jaO1N + 0y7GTcy61off/ev/+O0vjz92Pe9kM0I20YPk4XrgfP14ND4twEsuaBd4eAAkcTPYWhU1GRXYdMfc + cr4ginsqKEarxq7rBD0do7I8Ig2Ra2haMrlJpgu7VABVtR6qk6kMrc15hE+2MNJeWu+poPDsvDus + kn1fBQVcvuszlRR4hBKCGvBUARrgeWRnjCoAEbGOMfTmKPq1Hvhi/Pbpvxy/Hph3snmhWykSuHYh + vPc+eVpwZeC+ZINVOVeZ7Zyh4KouYMuWTW8l+bANp377KyWmWZk79iinBr4jhLSRsKFRCmujOBR+ + FQRMZGXZUzTNFPguYQMcPWzr9z6Br3cX6wCzBgbuKi4Ptd6FUZzWyjbgsDgMTN0GvTbZd3fkLNqU + yMUlwxfhhiyInDE1ygOutGdtZeqerFyA1eDcki4azpffXt7zq/74qdRN3yH3EcnkSXCWjdOI0bZA + XXkJDcqeOpXWIx6td5kyvOm0ETTbYLFdcuM4cITwXJqgMUduLND2ArmxVAIHB5aVmiHijvMMrXLL + gFouAB1t5K7W+OOHFz98etM55EPwx6yTzeg8DZFiCtcb9//qcfiOC/wQtqFbX4PSbAJgcWSVC4SD + ayP4Rz2XulG5fuCktESrEFcurowPh05X23zmg888H0s3vemGmnOkdLFGmoPA0akmfDoAdWLYhjA5 + Zfid3P7+yf3exwO7HF531Lt1Y9K1ZYON7j5lZeEjCDZncJPLEJCKPwdOY3P1x4EnNd6uDK18WhGb + Q8lz4aHjlY4P11KHkXDr2UHundTCNwnX1I6v4oYDa3oc7QZYYW/1GDma2RBk7JKRq8xeFy7Sn5Kb + DAYDfZIeKg/TGRolGrMRXdkZfyWvbQgh+svx159/dESsf8LWxy2xlY01OXbZIYYbby2q2EPBX0Mw + hgvZzQ3o1+bIvRII19EfuAH755Y8vcRn9Zm44ICFu5UJJJBAS6zISFwyw7773dspLraM65pG91JA + fVrOeEXZsI/RGYh9WZeiVVF5loPyI6UxDDufy+YxJ2m9tyUvRTpsLO2+gPKizXPweLhXL6FyKSEK + FaotRq2642Lw5TUUz06m6jX0ABEkp/3FQ1enw3DUAx9l8PKIGMxF6iOArWwxsgKkkcq+RCXD2TIP + M0iPbQY7iO57F8taWZi9JIsZljQVc6hQgVbLAWWEsvMqd7glpWvWNIaOm1Uda9f6hgMHb3dTud5V + fP7Fy30rXL0FS0YP32TB3CqGhxcIjo0tDjQPsB/ZS3JlSDegcXS5bGuXqXQUIr4IkPAlU/nmR8co + 7ifsdoyaz5SBS9DwJhocLZcqfG4ZgGWT8ZpMIeM2Gj+vzZA7o6jy02DCpYUV88Zj2yVhh2wzJ7Kq + +igLtn1Xsdqg7DCmAuTxcBudl1s7O9xK5mjvXNnhX63s0CvjVuxWfnvdx4xHj8gPO55++awHDS5a + JU1BuZIyProAgbdis9NQpk7f8L1NrKrgS8UwU96Kd9GlBX31gI9DV06Ki3grQfY4jRGAoA0gjzfV + Vf/JLmBpdAHEYYtrjhd3upnaYyZ4d+3U2n3FUrFRucZkpMhA+uAALIHvtfKkS2BIkK3tky1geRDd + 99WmOwOOWaJQWS+ZFszVVoBlKVQ1UhyopbnDVAUQ7cg0S9Zul8W0P41Hf7tF6LIZ66D2CoQ9Vmkg + hDxlKECbA4D9KNLZuS8/NVkuDEuJXxcAzF6oUc+KaRSQB/ooyqQgHzXupMaS/XZK8MWL37d8C1KC + s042pzRRpmPz9UsT13N4Fjj93g3WDpAy1A4TWrwHVWNQNY0hVXSjuLB1ZfmHF4/fn4q99pXNO9mM + LC4Hbchsz8A7OIuLx63zC8yp99V4fAflB87kStQKChfQQ9sADyHkYcZOc5o1IJKv1RdOF9S6NrGw + BnIpfpzM6fSyMnwu6OtkPFCWPrusiiUNJqs1pVSK5r5tTg+i+z5zSkBr1xwE+1P3zZJWL7iVnmXz + kGcZBC3T14uvDCfFWK8zwQndgNizwapbmeBXRGlFjudj3QuPf4B+ynEWEowCy0O9KJ0FUoYInghU + VRuZ4fuM7PX+NZXvlyf2+kCBjDtwjOlPPhB07AI5ijpUR6zMuostBSfjH7oaJlbfh9P20myx+//z + i/b7WwRLLSB2xuXDv2AtA/uNgj6ssEtUfSZZk6evYXAF5DDHJbgUHm+M0WpVLX5xlIT4IyvNmcCz + DGOyu1/1graO1YIPguuunXpUr8hmOGpDltaZXoJyw3eVc8qq9QT/Lmedy/QEy01a7+u/cKIjl9Q/ + el6SwfAtwCXAGduQATNQ2nKVRaVok4tGa2j9nUwFFNC5++hyaRfTNsRdnsqmHWX8/IgYjJ0ZlsXi + WcnHBj9UIRzTAJDYNsB89tLAuoPovrcJWjMvChMHs6TkJminu+wYSLVCoCKDzwxbHL+KZpUJ6htR + jQOri3CVKworr1cm6UNLki48dLyQ68PNl8h03JJCVb7JwuvBpHJLHRcj7f+VLGt9A6ywF2nBybnU + LXtFdRq4fYGomKoTm6G0g1aA2HS4x1YGK1lnwAM+XtpN98vz+8IBD57cv/Pmj+tU7EkNT0cixU/h + GJSuRXhR6mUHFDI0VY7WD9zARihiP5l39VhyZA3PF2puSW8QsN4C1B7IxeiGhVtRpRNAcpPQH2p4 + qzu8NN1pg5fuPnp0ts5LPl9rxS9rfnLShvM4UGi2h/Huvk76Pt+lafChWtYhXp4X/fL5i/54D3fA + JeAF7ZyBOxtvu4J3L9PbOMPhARa0RgaWdRsCT44kDTIicvT1e+ZHax37oPazP+b68MzAy/Uvv3lx + /s19+9D23trE1rrrvdHxGu8PeeRfjo2c86x6TzLH1sNfzkSq+Sozn3rLaRLJ3TDT7N9K4XycN8I0 + +SVJZUD+GEIC12Up+fWZVBokG6rIe18C+Gd3FNzjgRqZmIK94AaUEPEs3AiXT+7XFfXW2drcBynY + QVlBK3sD+mgAoqEUyqmEzZqdGXTfs4JWu+jDNRv3XyeVAy/w9QN4tUnlXGRZgSKl5WWUqLqGv5lN + pbrZIzxX1phWZFfk/CrQbEHdfPik0W9kdVsPwdaRVbAazIG/qlxGgv8BFFC5DEOT83zfE3Psbx8y + aWbzgja0IOUccvKhBClGkfyl5BCSDeI0DJHyLLM0d2pu7Zxh5mSGvZhHqzCeXDXpPE6Tca7w2LIz + tvqgOHapW5MZOTaw4mJ9SV7i5JfylwfRfV/gjLSjRVFaF5dsegiy+K7HAphQhtT8yvLwCtL3WpyH + c5nNZC/ftHyZmCBgtDI64v9utnxuPX+j+vtt7BCCJ2kNvKDwqpbVq+hzU8bAhDcqgTZz4zdM64nG + 43BpOfRkZpDJhCXqsDQOMr4OHwvTyDJjseIWRx82VttzT7urI5sNeRQd9GB3QSwhrbE1lmUfpwDW + FTlLLTGAaFTwTYZy+KyKRAylcVAn7gk8u60OD6L7HiALpJBo2eRez0vUYfNGD2j+5CUT6kcAkLWw + vQDmBv6Y1qVOiejuLmWWfLuVomOIwsG9zReeOl7oemNlFlpr+BwZikGvN95Iu05er8t1Iwyfqmd3 + I3c1tcbkUrB2emaDtWFJAK61niTynItvyoUhd9+1sp2Kdyn7nHd3LMYuW8aAe2K+KMJSacCtd1vG + Ua4ROCLVmXxNBs6DqiyBLDvAnkCROGuhwPDpd6jOg+i+T3VG6Gl7veE5r/P9iyrhojFF51gV3B8g + Z01NJZO6ynG4XrJunSaR5OuNQBbow9mV8evf928Ouvi641WPN9iDQwOH0BWqmBo+2haWHtKqKEoC + kBMEZTITuuhG9uc7w8zuGtZpySbVaKojJ51IkqgCPZoqRpptTIV3113NYV+FJg6jV3iQg0wZMav+ + KKx+iP6ed1JX92l/8uIPX569euJZf9Tz834WVn4l05HP/uHTp8/6Pyo8SppWTrB1uvNO3/2IZODN + e9+qntLjtCN9NDCpUSRkdFq8RhgIlQHJm621hz4+CP6d6sejWQG46CwvSJ1EqZyCs4KjwVl32Urv + YpM+qVRNFBdgc1rKX87vn8k0wjuCn45RBG2VtooRlfVN6vKD7LTNrKrE7FMvpdaNNOzjp988eGH0 + DOHjomHtAbztIC/DZVgVKUFudVQbezYuj8vkOl6zmTUbXIXkqTUELgaZ82GiijYGGA4JuLVd1//Z + l1/d++ru5xMZwGRnrWu2OsQFnX5RRhmyjFFPA+g/s1ZSeqm6AzP5lr2/VNX782G0NTfxn13/d4yO + xa2yY7e1umX+zNhcaipAdBESIxM7IKXS+NkLPNyQbQ827RDVG+XunYMWrIbAa3upQmDeyucljY5R + 1nLJFFeXpCyQcKExBKd0TlQ9fmbz/FWLIa28gW3XK8t31oz1y/NjMpIfE4wMlOHfa0WJtCgw4Bnr + YRxqtM75Uas7MLJ51f3uzxwYq+f0FOGWo15QnRihmWNpSZXBRrkuHQhMrJiDz5LqutBlsRn+itEl + 7XzuYyuhNxy3lnDptR6jlToifgvGtPUcuBHE7bYdshSSV60ZX4uzlPnSwK6D6L47/AVU5u16wO31 + 9Wda0nWM6zOVYYpc0UNMEZitkIwqg/4svZsU7E5mC0GwmC7wLMLFRYdJGx6uadtPXcdXRLo8vMoI + F63qkaVokFU2WSuOSXZFmtTTpVjrQXTfO8QjaZjbJcwW7RJon7Qko5pslSCwWIGvGgHwQneOSnKp + x+0a/v/yi7/7r//tf//9P9356Q/HyFInlH2M0gV5Mj60qjJRlWYyKyNjsrLc8S9csh8b0PASo+3c + ayJ7hqxNelHvAn5fIkPBgpikoB5wKudkcY6GjwzmjgTYa/v2XpOfujNOHTAzYEAocMlktRvk2NmG + PzmgMQshhLlMLmw2Pe8i8L7WF8uUFqW7HC+Zhx9rqZwMLqw6WPnujCqlaDWSzfiGiXLawNPrhvV/ + /e2jP/3mvTHHtQfDzDvZnPViBqrjUu3Q4evFTAi8yB+oYERJhcWeAiS+yxFNUCZ2DeBZvN7cDLy+ + sn978svfPb3hK5szYwCqOgK6yBiFIEN9BpwfHlH1qktfD7Cq1xvqE6QW8DB4vYf4jYel3lX164GA + EoVuQ8u2H9iPWNyIG9HId5vGWBtfgXyP11rveAMSN1Zb42R1gQ5Z9VZkg7kPgEgZaMzHpnuBBgjv + Lem0dVt7wwssRRAzwgsuAUYvsQDdjerCAA4iuH3NSNUYe6WTFq7QNtRtAPGb/ujR0ztfP332qB0j + bjjB72OEUNWMzhnC5wB5ZcOjU5DNpuD6yWoFqHazAb83WGw38E4pAL2HJYtZ7aLBIEmnGPHdlYeH + DS4rBhzcjKrDQiJbBz7cLuh9syaRjrLs7NZv+ZT+sTAEEGkjw1oy7kTjkzoQui6xxDTylvRcJZAn + MZ8n5oOc09p6FXSyyo0sezZTVNln7T2kns1GDGtTIiYWh1Ja0hSId1hgH2EGg9brFHpJMgpwqKKb + VlL/BRtpZaHYVMbhp7IytyLmVWJABJ6oPtt82QnRXWIvX313fl0Gx/jgDh5LrkLMW85dZjZCFN7R + bexFbLKTZ1Y9tEnRLYjRJysNBjh087LhLxcgtqG74iaFKqx7HJMDCXbXfjsgVY3jrkw4eDTMhYdu + eVtTaxafk4vUy8D4kQR7GAZEgtGGO1eq1+iZWEzViTocDtta8TXX7WEbaN7sDYB+qSSWjFWUpJY3 + cJLK0OTDxgHb+ZMnH9gull2jmyc3sQRrjTmoqXEfxaPvvVXVYhVl5WSKLNSWHWw1kFCSDqI3c2U+ + Vy/yffWsA/RI9PCYlkIeJdRgLtkm6MEEH1g5GGNVooGzb0KxWddaNj3XS+TdW6jpIpDKrEJNCksK + NVPA+wxvVcxyDpZuAymNJRuAJRs7qzeGhu5ca2e1t8GA3y6vtfv5R0fJTidf/RglKw3yDn66Iqrg + yGHgq7NLCrg+diLXfc5vgSP327ao07wSm+SXzF1MMrY35KbYy+APk2Xuv89qcOyDKfhYd0+ZcTY1 + 9hmqvPYL2Xff2mimFxw2HqOrf0TMNrgRZKUpyI7MTI7S2ZKAbocxgQFndby0uuQguu+bMoM7dmlR + iSLzgvxNytlIrZqiwrJ32GuVDWXVGO9dbYtW153M1rgn1yscTmMuHtq1rE2TDOUpkXsFs1kGvzlS + 1Bsk3csCRqmzqWMMWQat7eUFjAfRfR+zgVXsJTQxbwGjXhKlrNp2l4ZqmcMr+1q0zGm2PrvEhB9v + 53fvf/3kX+7eIuTvR4UeIAbelySPgScccVeqc0k+ljLAefuShZN7cpwD8Q8KPO2hfbcBMANATsYF + OpbCzS5FGoYr9FbLMW/kCvcGIeKKnF2RTiuiXSvFd73siLDeRwOaImlPziQVkkz40JK0BiOprHld + bMdlTI78W3DdEzvj7aWpPNOuTPRLhj6lnoKNuipYuCrBUtAglqFyGrbHUVKgQ2hgbFoZGTtMtDJu + ggpbL/zg2P4t9JbUCkXIwO4ax4MrCTezpKIgJM20nLqnQ5TQdW9kajNHnLeZI0W/BHUNEyq5pkKP + shxC0tymeuXzKDD8kM3NqUV//vrsq7ufr5vhTjx1uayiR64BTntg2blFpgBE1SwgqtTAydKme7hB + y4mQi7k0Lmd6pEgwZsFIETi4zoBAKoRgZUBOU1mwUbVcTdGujbwRENi3KkT7BKYEsXERJ9w93Y1K + obYUutKhyNZ5YKFkZF6bzjgktJDZxEJX0Ho31pZCGOmfWDI6hJZU0sDGgbJdyxAflpH9TSVZ5oDr + 5QACmKwn8zKvNWj+rvWavv/2mweQroc/fj8x3PeKJ45XdX3QLWpwE/OAi5lTFlZPTjggqN7sSL3j + h2zfKxvsTVyCOynNG+ZszAJnFO51jkPqOHuVSI9wVCqQEiLvh2CCul25+vT5t//zprdjHaLeZp1s + TrGxji6E6wWrXj2Om1tgKLPLbVjwsXEtwlCSUaUOVqNZ7zSn3Oru2Vs2GcB9NsVsRehccMSthu76 + UbbIH5Em0dVw097hmE5KM7WXkRRRcWbtKPvYN1HKDLrvnb9toHgXRUbdkrGF2acWZbpHkhV6LmWQ + PmsYCWoDAJEYTuQWsz3rj59+17fBQuPSqBh45OW0OPyK0Ziphw68rizrLqAFzrpEzwC1ctaV3Wgb + PXhXk3vfGjcwVzosl76HtSL5JXos2FG1KzK7XoIz2atss1axgqdG4UxpO8Pz+cv85I6sST9x0BUD + LLtES4Oyocv0ik4ymQwWAyhI+0Yjl42v8jNVdzGKka1WRthlSbmfoyUYJeDWIix5ChEGr1ZWEkZT + hsnoUXLIbSMh/deVHGWzVOMwgA1yNW6tKt8lB1RzBUaE0wDvNulgmXoMm5/y/PEh13aI6x5qxmdb + lYO03NYEjFLhByft88g6cdmswv7peBNT8Pyl/uHJIqQMPNJ7tqo5H8AszqpSXFKplQ6DprvfrNCV + MSdn+P5HWgvD0VcaKcBAib3SUhoqxYjN2cYw3YbDRgHKX/967/nje9ocWhmRhww9LSq4YpXrOqkS + ZD1VwhvHyibUjZbDv60rpW9D8Ai+sKmwBsAzsDVOJlkkAusP61MM1AtIt4sD9vKgh7k6MMb9uvzS + JrugWCDH0rIeBoIjJaiFcDEZkFj3IlNPbcKFbXkxX/zmL0/LLfBiZp1shheDmyK6ZpP0q8ctfl9w + ZS1IWFK2trog4RkIaoJU5T68kzRduZQF/ex+fpFvwZXNOtnhnZIGbxf50sKQA69s/XgKvKCvPbei + QwtaDaYsO/lgqGSbSPCDTWzJjrK9Sfv33zz97ovbcGVzTjajuRUIOQRzvXEerx6Pi0bU5tGZbISx + SnpdywfNbrqUZ8aRuoFbYc3Wlf317p8f/OEWXNmsk83beR69uV4T26vHpfvz+ldWjIkGbpuyTbp1 + ZFxa8qBqxjltdsaEvIFDX02PePrtePDoRX+WpdwP+PD5nRdPvzV6/detn5w8pyv2quL2rK+qmzoE + D4HwPnrVPY4Pv7SFzeLXOYTfNW0C/4uRyCyqRnLeLygPkLJs061VsFjSuSKxHQMXIDhOo3mqum9H + E3cVl4JPg7GRgrtUXPrmR8fIe6dq52MUQ9+qKwYGGbyJG8+wxZljgxKsPgBDJfgXb77KtRly58RM + +akD/bfTMLMiY3ZJ1rLYIS11pFy0TX4BT1Y/VJX5dWRD93E76Po60uy8KzKlGgj0QjiQm869DEAc + G45RCo+I9bLtQF5Zq9aliTwMCJV3cIZdyr3FDBDtNo95MN33lqPCidPbewtmRfjx8QuYzXnbtHFK + Ko+UkxhQGbgE04OtiXCuS7XPbyIA1+Wld97W/rZDNe8pwnRbsvy31RC9qWSe2Hf+zmJjP+1Kj5di + Y1O70pM1vCA2VphaKNUrUE46HpuMYhis4EjgR95Xpu1hMr/Af3f+Dv8do6k4AbajtJpVVlCVpqys + oXRa46tYWi+nDgFucdBuI4LyM4Ptm+AICKYXjdyFH77EJoYAs927si5JLqgQAFjsSvZN+uJZ9q++ + Oc3+wlvvVqTNitIq+Yn63M2XHVFW5WMqEGPgAsaxsklSJxhx4ZKLLlm7RtW7NN7VhU81Crg90wT2 + lIIF8ku8jlQ0IKxWBq6/jFaRbSvdKfBNSM5Y3/shS73+9iw/+Y6bT9/G8x/4kbm6SG7fE0ckCrfG + /LyFuaq6WC7GqjocNHkkq6IxVXmpyx7D11gnl6q/dTaYqJWkeOC+t9drb7wOC4YClFSzgfmWThqZ + OCvRZtgqVevgkTi4ZjeQ1IXRhW4VV1qxVfc78NSDKgML/1zOn7w4PzN+paWWb8VeRowAHN65/qNH + JDIfDfSJJiUDb1nhmzTlKEjIODk1JFYf4F1fGGJ9I2yxv1gE3/DAJo/XNgYitKDmq5QA50MbCa7I + Zt1YoeEk20bMcYwyoGp2RrYuRFVglTRpXVwORzm074iYM9ngswlGGRku5HK3wDQu4a/BNCMpxs3l + O1fQel8hoZcBykvQumezRC/XrLVxA6pFr8fBsYpr1ZLx3h1AvmxW91+uD/tAVOVbaCJ765Vol/Ko + k/2EeLlewgetsJMeuBFkLKDzTRVZDFOTS1xNA57ZjmS+GXZojlKT3Prxn6c4yjwRHJ6hxDIuPBvc + B7empBpAcbWDW3WU0oYIbrLvxKxOY5bksmywS8oZ1mLHRSXcEIRyyPLT1GW/zHAcsimbuax1Bcpv + Pv/i+e/em+gtn3YxfCrZZlhWN2RnznAqNvbK6oG7DJCifL21BjI6lw+7u93Er5x7DBUeS5ROAtdB + nwHnfnCnEltu3bUt4v/p7mcvP71FxO+9kTVBxvg1mePhjYqwIqprtyZiC61fj/jOkz9sp8Q+4pde + bCClySTpb0jgfCcbEB0n26GpeDKesnMQJdtViCuisCLe1fJ/9UNHhHveo507IhUfGj5edhknZ5M0 + ZzgFWey4JZ9r4R7rmD/VdDlfTMA4PnS78E/Bd+0XWIwaQiajgRFMylLyHKC0ulGdLCyG+CNxu2ax + ted/PL9hpXXIvP1ZJ5ujq5LsGLxeK9erx2HjF3To4GBl1MjKpy7D+oZRhYFfSsPRokmWwnZl8PPP + fvn7diuubMbJDr8yq3Wy8dKAjUOvTB5nnRY4SzXiXWqxONiAxh2NpIuYZI9pL5xKcPqQsUAA7CsD + /eHCKoT9sd0LLzsiC/TR+BVZA3YEXeDnaenjJfjGqWuVoH/Yj5ipTS5hXnDde0eKaks8bxJWcLwg + wVVjop71UOCe9fC3DM6hpFrviaphBgsdkuQLMoLerILBAWkiy3fhdSemv4FG6lApyobm9XJmV3HX + McWoeoIfHccAujxkM8H1Lnwi5h5p1iRdsD0t0fTJ19ysXKiVYYyjqOwKfNRs+2gadi1sNBS8qWA6 + sewNsKzxg2sTdChF+M5LEj5L5IztMKbJaDjaeVl72Q3/N9s9Y9PsZv2SlqOayoBuh2kJAiyig/i5 + EmVVeuoOzNjDxgm2orD2FIU9RWFvXgr14M7NBtkSIeVAMjLU+6CCbZajTaWVDZW5yb4TUVi/aMC1 + M9YuEMpMNYc4FA8flesRDJCMVlK3AOnMMkt5y0H77Y9f//6PtygQyJoCs0z2cj3IorGgio1d9U65 + R9a25Wt5aiQBDcMH3d0+4ieIAnBHk80YrngZ+CwjkZPLyaZGY7OacE38T3/5/Iu/3CLi62E5Sf9A + lqnxLsoswcRBmeSYm25dx+sRP+lI9rBlzHuI31xPspTp1Wj3EUhBEFhZIP4gywJd3yD+zr0JAHNw + mnTasTfh5x8dEVZ653brZFwWGpeaQIMGPoSFcXLGKOMCikk0wjDebo7UujZHTg12tbPcbkiyWdCA + ABeDjdNZ6SbGNBM4JTmnTPRJIG2xxW6pv8/HHz+76X3mc9Rf6a3Y0aDvfJeO9AhmBd8r1jpq2Fcw + Xd6n/qbn3SfoqgXz7huRqUWIncp61HRVpYL3zfAB0hllytZeMG70CYyfwPiN60s4lLVpeMN+dIeT + GSvM5BRAdYu+AxnrjazJJvvuB+Mm8rKSCFoQh2zrwrQCjU9jvYMOpsDDFISYtY/AiCNMri/dvaHQ + u5X1K06rePhWw41njhLAHBEXRogljSRjfNbRmVxUJsnd1TGMhrto6mS+5J1c2lTviJ7VO5KMWzLN + qQWKmhg+TYDL5QxHGT8Pxanhg+mRq+uHNA0Yswp2xWFljJuIs2686ojY9liqOCNRr10KTWyAvqQS + wKliZHyohWQedTmol2n2XUxVmds53OhdwhdewI0p6xIrFGyz655dL7Y24oIFPLQ2hts9P6EBukUZ + yVvDxbVSdnR48GCX0U+7466YoKONBXJqCrhTZo+WJJkGp7TOvkUYOzZ+85gH033P/IQAW2yuWfvw + ep2X1wt6RVtpwCew4aUK9udioPpgHRz4Pkncw23GndbM9n/d+8d/+Ke//1//6z/+/f/+f/7fOxf+ + dozMdQojHKOckeHQgyzOKRLvZKj54mXkby9Q/LVnThu3MsFye1CyJrz5NQdE/tSDvaQdFVdecmyg + LTUocQ2Gw19lmXShdU8VVbtTiVcazvbek9Z0QZngppwsA/GdTzsZr8icG5LViqwA6qDES/EqmiL1 + 2y0X6wPhTraV+EF03zvm3gdrF+1ktH5BjrxTgkYpGjqtSbI1NQXV5hWbkkIh05vb7kuTX75/8OKb + sy/ufnon/+pX//rZl18eI1edtPcxClj3uJea174SUEMz0iBRnaJoW4xQcURbDLfNa3tGZ8i0mGVq + 2zm3INPYHVg5ZzBwHDBLPg6gcOnwNL1Sy9xH2245+EP5/def36JoL2tbqzSyjDKkRydauL0wVDB4 + 8Hmh7MzmhLAZ02JDJG/cgn6PHnr3EAqlk3QP2ZRV7CWrXJxpVIodmx3q6y90tv7L7SF+yLFoGc8G + cxHgfvYG79YbGCpHuRrSOu1d6zMVandOGP+gJtY9tI++5wwNFTgY2QyTZK2vVR3vbOJ64NiGnr3Q + y21XRq+0SuJG08qs+qOw+iH6e95JV/en/cmLP3x59uqJZ/1Rz8/7WVj5lYlwwv/h06fP+j8qr/Ee + JP+0Mm6rVfytv/0RBV2OUrkDMngtUQcdZKO1Bo+mYKosrLDJm2GbcR8IK+wdziEzNOcV97qwxF3o + sXMFaFXWDRncWxmsFbJKNjbHRhZP717hzqZaPdjYEOoF2DpKsq7GXLzPxwjsjojhOTpgPGDMGNcp + mhBVls0zDcao1NRb3uwznEH33e6Ch3RxcNebhP96ZqZfktLuMK/rmmLSklZtTZoOnezPrEG6EZOz + bovZ3uSl3Cmt+i7SqpJl6IDPqnKA0s0Rsu9SUslHDVTV9bCb+2PXvoI9eTVvVQ8UYH47YlE9EDCQ + lTXjcWhcOdkgo3QLb5QZborERN3kesf09b0Zu2RFdZfJvSWuR/A35bosT8c1476adjhoSOaApcSx + wduDxhmhnbIHV0Q1cweSl8NBHUENhaBygqJlozv8ZWOcL9uWZC+t98yr0ZpYx4OqavYwlQ+8IGPQ + W48pFqd8kQr5EqGkMsn+LcAWnwf5vF0Q9fQ33/+PX9+wl3ZIVGPWyeZ4xj5ZvmZ88NXjLi4ZLdO7 + HZwafE0te6SDlnkDKULPAeZAtUVzqcG1/nD+/31zC65s1slmrb4hpkub6GasviHc+YIkcAdISyk5 + VaVy340M2236UEF8cVPgw6TtQNTf/lQfP7pFsRACnXpnr4BvpLY5V1UcOQVnRwdbAHJduMbdGYLh + 1fawrbN7iD84lmKBwwKBPk72LicXVOzZhpZgSDdn4q2Jn5//y6/v3iLiD3ZcmxaoKXPzi7cq5gF4 + 2ysI6HuoaW/N51Vrvni9De+6xB+adB0gfuEGzk/A8yUMp2wuhbTV5sIEz7+u8A7mIMIvXpF5ylHc + 9Oz79zoF7qd593Sp+Gdy3n3SvGAWxdAJV2Iy7kPWo7OWwLyR8ifj0ljHKfKW6vn+629+vOkExCEa + Z9bJ5o06YroUrTt8fAiEV/sF4ZSh8xiGkgJ7eVmp0RVs11DNjJqDTsZcMtVff/ng/DbNCLMyYsBD + ijqOI4X4WmWpa4DWdKP5yGWM691dShCyg2DWHuJDnhnaRSZ+e4mbaJWKhxLjzhHf2ae8L2/hVm6l + lQRd9w2hXc8Wcnpl7crwpQm2854+oqzDsZR6Aq1nrZ1Rpmor891Y5UoRGmGEaGE17ebI9hu8u6kZ + 3pfiuFNpApdSXOJ7jwiJGbh8WeEgvCB9BDUrayul7tqIZrsR9sUffv2Hm94UPEvV2G5ZasKitEo4 + zQxZBlQDmOFUoVHjZgP+LDMRdVzSCDtSkbKipFhGWrpgZfCzd5CTMHJ0rbDeJv6fx+/+fNOTveYQ + PxeQ2UjVmm1SDZqyrFMMquaeKQ0AKaevQfz1Kli2hzWt7CF+LrYMW9ToRta8JymKblmxza5UygIv + t4j/7A8P79+/Bbho1snmMTwFswAXRWfDglEao8KDc2YowH5xpXOBJNuk8Pbdeik32Ayn76/Rt3pl + rGR8r1hLcuF1J3N7idF8SqF0zao5cVOzRDX8GEp6agFgi69mvLP72GtCo7XpQBO6XoPBRtjyIK7E + J27kKe7B04S/2db0ucytmnOMqQZlTY2vAyIaKn5Qh9VxUg+/ewz7r/rI549enP3xoJTIdtrv9X9q + xy8//ffmU+8+enQmb/L8A4lFvK8czo0Mj9dzhsdL2GBJBxvIFKxlMG72GVAaAAXvmaWNw0tVZfOb + cfC9MhsBeu2KdFoR7ZrDuutlJxF43zuOImlPDkAUWAEfrUfCl5AhPxrGCXwAb/yQ4ZfXueypls0w + xxPybBaNZTDkCsxWk+SBXDLJRtNYVBgx4IZTG2X+eOq30IV8EoUbjkx/fL3SUO9z8BPZqBegemOd + 9JMUlWJyMiupqMglK+/Y+SwoKk32Sr+7ufAn0bv1oncLh8vPGobqWXIVS4QvdV29hpmDvXdlwC81 + Vco3s6mlaWPshgt3Uzv8ToJ49B7Rx7Qi8FJ66aoVgbQgfwsBNI3Abda5JNNx4IjVnBVFRz4Ubinv + a55wK8Mr2V+7My0R12kJB31EtDKB8Ps2vWY+fpLUmzeZt0D6G3EOLTqlK+NWkszFqbiVXjJRTaFa + z0fC0ROz+o2fFY6JrP2CPB2+chlSMZaSTDdwLaiYswxOTYYBA5rvG1rgpbCwDMI++zm6f/fH82f9 + JKDvO7LStW5UapfKFGmkz0a6IJNKlmyyAT/hdvW97WVDE/Ws2ZX41YYFUUFp8ykeWihRk0HQ0qbd + Oare2tC+1NE35yDc/Vw9zk/O8yMpSj+m8fkbatGPZgpXJReB9x6QMOpZVhAVKeJj7pv19ffvPenf + rz9hToLmLYnNEXG118lm69XwpkqNTFNpFKMCUdKu1hat3scGU7ys58QdiMyiNbkGV9sLA06ZSJKf + wZ8sOZVLjtF4G6rZyM8cHGGx0knq0xzX8MJDJx39vrk5jJRLzQ4fLWXjuUmiDipbWppcTCwTBG6A + EaYCdLzd+jEdI7B4aIGg5FakhFtpJ3WWTWBHI3ggLhrKlcAXboo+P6dv08ro1+jKTeQHtl54EogP + zv/vFea2cMId9PUYZkhcSdJVWJppOclal3fIUXslK5CZlXOCbx8XSVZtqVq4dyHkJplWACtZRQQg + VVIYmbhN0iHI6UZfv2d+tNYpD2o/+2OuD8+MMhF6xOLEOuL/u4ZWznr+JIcn7/4Qa8r49tZklULM + 8HhgN6IHdxtDHOELBeLJac7vlaf3j+vwwczz7xNco+trAgJ0riNoVXFvuED4ialAE+RhcrfseoiT + q9l2wwlHEs0kXplweI5w86GTzJ9k/pCIXrPwwXNR1kjDChkvJdbwB7tzcLO4Up2fZVvOvVObNsN2 + 6fB0MZWObkHYxOpEAM9WDdyZjKCGdhxa2hBDIcexGH/I4kW+nyj+COc0Pv3+/Ds+X/Uf8uNvH/X9 + wGffEx+LXB+ltOSqG9EwqhsZzWTwfWLH0SEm2upqTdxsG30P3LAXD8eg0/awkWkrGG1YEJKxJg0X + 4Hq/Wss2YlWxslYyyG747Erpk57mtO0nhm4IKwvLz2k2crjw9MciP9tf21VH3VTVU8SnBI+rwc0o + O3qJfvhuK21ZsPDRGkWbuzPRskqCH5wMcUmyY1l6Q1lLeYWZLCh8b8w8UUnvaJ47nKJdkOq2BS4w + m6BCDRB/U6EYySRFyVPWEjPoG9mFN8teP1Jp/KAjRBxMjRpgqfF6ZQXEiAKrYX2KgXppbHaxwl5T + 5lmnWRtgovVLepVshzcnbYZmRCmit6Rkm5EaMXApubcSNnjqz1+ffXX38ztfffblVydm/uCY2fXI + NYCCgXsX96jINqCs6oDhk+EmtLkOb4MXJnYW6jSrCClFXlKE5HQz0TRWFmyrQFdWRaoGh9YJzlG1 + Wc8PT5BEZMNKBqimgx28Cw+dZOWDk5UIZ7ikUJVvEggbDL3ZUse9p8ytkmU9vw1jOadNlANeXkh5 + xWaxQAtSBi6aHFswips1YldY7EpS0COWG4EBN8d67nUFrVsR8yrxCt9/v8d44WUnafvgpM1X350v + WiXHsnoxWfxJyr9bzt2XYfBd3xE3TYXe07zQO15/WP/uHomqaQyJxCTBm0PGg9n1ujjy2XibLixK + n1tPaLzM/XArb1cpzK5GvPD0Ryp/H26EIOQSPAsQXLcINzi9xYIRW8S3CDmktJkGv0HOm5pqH+YF + CB3ctwWymqlyGlXxAAR1cWSVicEaNYbucyLnD5o4EEQTmVUwOCNN1A1ceN1HKn83WJllQ6U4GPZI + AgCuUlIxwZ3uyVGKY+Cgh5in6133FOQz83q0NIUFK4RcKbEMXZSNUqMKvKkKhQxv0moXyTiu727M + xonpPzzQd6xjW+IcqZLaqyXBZleTNaN2BXJUGQsGR9PZqmpi2wPu2IYN3XL3c/Ui31fPOhjpwZOP + N+b8DjJAR1Vs8RZ2v3DJNlWp5EsRfJXwwfDZVTehWMlilDrFV1Mhv1lVvy4FmxbkYt3oPhSA026z + 7E4zDK8wQEhsA8rqQ4+JLq2rGi0rPaLwrX6Z6kt+nOzPqeu38zYfi2wepXVpI8ZYcWvsGV9Femty + 0BLF8zJ+PlLs9kj5ZqoOgmfWBRMtcHOg99yQ8XamyG4gGYybbRiKdfI1RShFfWA9lX8Tz5SRO37F + UWIwkzHQPc98LFJ1LIZECl6iFI3J8mrAfpjELBNMiwneDR1Sc/TemWCqpO7SltXpqTFkl5TOe3It + MLPqAxjEabIqNW3UGMXaZnvVvG9wxW3bKfiRCt4HhgtPSzDX4UI7a6abC+wXFGF4kDnlrpXF7+Lp + FiiJkVSs+Ebam5DHNarq2a+gvFbsVmTCwYXJF546ifQHF1XR0umfM0imjVT1hqJythbiDig3fKqe + J2tX3xmv7UW1NsCRm5e61rzAo4TTSN1YVtbrqmQLtIoG0thwU3V0K5b7DYXe1HR9NIH3Nx9QNWhh + /FC9yViu9QLZ2I0inYdxNZLbJFV+2btarwedMZTg7Yb1DxAQHIdrWw9AdHImeDYlr4di2GFMk55P + 2nn9+xk4Jr09fn96YkBcb8m9LgMHMhFuGXzZuB6MS0PBFyPFPFzq1K136d2ZcDxKsLFOGtjSnTUy + kUWPj9f67GMRkWPGiLfASDlKGR+boVeAhVzzAfTKXpYCN91LTjW8Q69pkoP3gkYmdgdK+U85ZpsW + NGsFzs46cFKzuCRXstBoDNxe90b+lOhAQ77hQ4e08gbH1it7sN+9+cxHKt836K0lMwrMbki+CVYB + 59uQ1CBfQi4xjjRZZvdOmGCqUePSUugrJoKQWTCNLFKuxTlWOQQgOaeb7HuPitIAvYxv9qAMItTx + ykiZSViFXeB218s+UkG4wSKMrB1IrwvUt2aIAjVVEnzqNDocjREztck45ILLnoo2XtrPd0UJhlsy + Kyra7AC9q6oGmsD5NnDJNikbdS0kGbK2oYf+cn7/TPDrHZnk9nHy662CUAcJAZveq5EOd4CCCNKl + KA6sjcHwOq/VdjHAZ19+de+ru5/vH3rmwry2pBSTXcLIPlBp4FxO6124sYtdiyCkKZRzo8wbmaWb + 3W74McrNhxwh+yC2M86KX4fINi4IOEjZXzUxqOFl3CZJ9q+DLyjr0hyHwP6QhWexf//4Yf/25Y/f + tR6e5XH1pIB9T3ykUnlzG9Z8tyQFsOsFTC7qrGKxHkC7ldD96IEmZ1S+dQaYCibHeYjMwAu5vmgA + fmmSrZ4G6FSGNjaVWi1qGFurg3umx0FDCc0q2JXENMyuYVI7XvWRisCHbJgiUa993fIT1uN5gsok + B/QB6L71msrkANBr89LUkoHLS+KvKDgyC8aPZTcqkeuKq5OIPIAufDyrNFXiaKgGf8hAxvydEOv7 + b795wL0//PH7q/XMvic+Uim7uXiXNiYPRyqn7GRnrFO5Q7v2ZkfqHT/kQwzN22OACQxmzZzWdxia + tKSGAK49xVKyakXWU+miJa+bZYw7hzrYkZ2/niqRLANycWX8wVndzWc+FvE4SnNhuqEGQKZ0kRZs + AjLLqSZI6tAjMQ4cJidcvhOOmGin9WHe4lDStCDCkHMg9tGrEqvM/0xNwbHrCnrEx56qrnpBhMFJ + dFCqGxL8NZ7t5l18/CRFNyhFA8ID3IWz5gYpCrGoEqiqNjJnp0f2en9/wfvlk6l50TRrjmRkTwt2 + lJaocVMhqU7Dv15Z0FtX1Tm2oeRONLmU9+qs1BpS/PL8FLZ+7/lGyjpYsGUSR7/2oZL1RoUarXN+ + wKedX/G/82b359mT4Xl7Pynwgjx7iQ3Q0jGcdxkaC26W4edeeWAsow1F+PdvjrxjNc76n+69OOVY + PpAcSwKSSm00ZVqRrYAEGWgxqaRLCaF2akSHMcRExVjUcxR21NroBY08JVnNmrsqw8N5gJOucsTh + fOVeEn7xmwpbOOvu8+f9xfP1pqQva36yXpX0bw/69/tWJeGZncy4xSvegQLS6JrgywtHWikoJHj5 + haqJjrXZ7ts0V7ylKzmVNrSqMuQSDC/Lyciqrr1NZUgDYtt6S3vFW3ILgXW2Yt+q7IVklWQ+BmUA + hVFCy5sqYf2Wlxj63Tes2jGCk+ZObRnfciRSKRegBm7sRsT7mktyp99bfl+Y5ZXtEf7ZI3fgmleM + tktSIOvaS7Lhkpv98vmL/niPm+28Tgvc7JISLjdH1WJ8XWWQhmdcVvbWMuXSJud+/RRd824FI7i6 + qid982Un8/GesQ4nSArYPJskS+Qi5MdmfHrWrlH1Dhf/jq56YqeStXMCrviSccne5WpcHqVI8XuV + HZicVJbNjlLJ1Zo1LvVDKqj+9iw/+Y6bT9/G8x/4kbk63rbviSMRgtsMcWYmw4vlYqyqw0l3Jwxn + NDBTPoQAA+NrrJNhxbfOAFNJ7zCrTSQmuMULRIOyqdZ4gACAP+dzV8n7IdNvhrNmQDvMb9p6WJ89 + fHT+8sWID/96/tC9nKDTrOePRGxuie24BXJZDJByB7s1wC58FR6qOGhnIHm4vIY8lQO7rt8D9+0f + WGC8nhn0tbzAz6ktW8ioAOEE9yLI1Hs3HFRa7lq2Orv63jpj3um7n+T9PWPFPpqr2SiSMzot28QC + R5WDwKRae+jvrWHlnb77RIyZeFZtP6TPLgjLNcvethFV0aa9HrE4Gsiumymtu17rkri8Xhknjal+ + fkz+50dPQviBGd2sBw2WMcSaYD5Kyiq6wopakcJ7KfFaUBn6VnhuwtSynze3jj0v6L1piV02BXiY + xXMEnUC1bpWPOuXW9LBlMgf0U5/FN9bw3x69HOFhMC+f96sdh31PfCzSeJSSY1JImXpT2XAQ+2jV + elTosLlmQNjE/ZBx8G+PGyYKRO3MXGmIS+oQuqcMMN+UJ0vKpQITRmCFnJxMyXejho0taxd31H8s + LP3RGJjudbJwUdTwpiqXo0SXi1EAV0m7Wlu0eh8z7O/dYX3o+IHXHE1hyfDr7gPgVzBKjKJybRQV + JV3G0XQaBHKOybqjn6bwR5nRszJ+/fvEtP4LrzuJxAcmEjRidbriKNRwMgu4lbutioAj2HDC1zwk + 4XI9btpf+CwtLfM2Tmq3IO3USwbGDJJ3A5ByDlcbCXrCN7y9uFJcJndxXrFmz/iX37w4/+a+fWh7 + b23CrF7vjU5S+X7DETAc5Jxn1XuSIU/eq5KJVPOVMuvecmpHzC4TbajezwFnnomXDBfug1x1DK+l + yEh7hlHOcLbUGFCDnGv1bTL9NX18phXZFTm/Crum/R/+8Em83q94UQ/B1pFVsBqYHX9VuYykANFi + r1yGocmk2Htii/1ZZJN43mYIGJkFsQCZfWql/pwkigFs6MTHYaVDHzaKAWuH9IcGHMzYleeVobjf + hF942Uk0PjA8GNgUzt0pCFyRmsysMg6jWukuBrBWPqjV9Dq8NLUTYubop8hhQex7cJalrRbylGU6 + gi64Xc6Sf5ZdK85ZmjTvP7f4yaxkt4p6z5jlna/7SCXKGG7c2lCldhlJJpOWRgnKaG2MNqk1jtsS + RW9luVCthiHPqkiv51r2cmZgOTOSczU3Pw6Za3O9y57qo563XMhJielBLP8f//n/A+/09GfOOQIA + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 15 Sep 2022 08:04:04 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-me0fb-ap-southeast-1-prod + X-Request-Uuid: + - e6fd5457af14bac39d32fb2616f741b2 + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/v3/cassettes/test_get_user_permission.yaml b/tests/io/v3/cassettes/test_get_user_permission.yaml new file mode 100644 index 000000000..54c47ddb7 --- /dev/null +++ b/tests/io/v3/cassettes/test_get_user_permission.yaml @@ -0,0 +1,378 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.7 + (Restfly/1.4.6; Python/3.10.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/api/v3/access-control/permissions/users/b83faeec-f790-433f-893c-88c48c82562e + response: + body: + string: !!binary | + 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 + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 15 Sep 2022 08:04:03 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-yld99-ap-southeast-1-prod + X-Request-Uuid: + - 02ecce1eb2b16c6401a77982cb110d5f + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/v3/cassettes/test_list.yaml b/tests/io/v3/cassettes/test_list.yaml new file mode 100644 index 000000000..1b5ef07ac --- /dev/null +++ b/tests/io/v3/cassettes/test_list.yaml @@ -0,0 +1,347 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.7 + (Restfly/1.4.6; Python/3.10.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/api/v3/access-control/permissions + response: + body: + string: !!binary | + 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 + PQIA + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 15 Sep 2022 08:04:12 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Transfer-Encoding: + - chunked + Vary: + - origin,accept-encoding + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-ppvw7-ap-southeast-1-prod + X-Request-Uuid: + - 6cf749e7b057ef20fdde5c2707f7d5ca + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/v3/cassettes/test_update.yaml b/tests/io/v3/cassettes/test_update.yaml new file mode 100644 index 000000000..68cbcd927 --- /dev/null +++ b/tests/io/v3/cassettes/test_update.yaml @@ -0,0 +1,184 @@ +interactions: +- request: + body: '{"actions": ["CanView", "CanUse"], "objects": [{"name": "Category,dummy_value", + "type": "Tag", "uuid": "58a6976a-106a-4d85-b8ca-031acb8808d8"}], "subjects": + [{"name": "User sub", "type": "User", "uuid": "b83faeec-f790-433f-893c-88c48c82562e"}], + "name": "test_eRAsM"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '266' + Content-Type: + - application/json + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.7 + (Restfly/1.4.6; Python/3.10.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: POST + uri: https://cloud.tenable.com/api/v3/access-control/permissions/ + response: + body: + string: '{"permission_uuid":"79259141-f7fc-47f3-b7ad-23ac1fa3b132","name":"test_eRAsM","subjects":[{"type":"User","uuid":"b83faeec-f790-433f-893c-88c48c82562e","name":"admin_a@sandbox.a.io"}],"actions":["CanView","CanUse"],"objects":[{"type":"Tag","uuid":"58a6976a-106a-4d85-b8ca-031acb8808d8","name":"Category:dummy_value"}],"created_at":1663229048509,"created_by":"admin_a@sandbox.a.io"}' + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Length: + - '380' + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 15 Sep 2022 08:04:08 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-yld99-ap-southeast-1-prod + X-Request-Uuid: + - 31ed21ed572ce23396a85a9ccfd6e35c + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: '{"actions": ["CanView"], "objects": [{"name": "Category,dummy_value", "type": + "Tag", "uuid": "79259141-f7fc-47f3-b7ad-23ac1fa3b132"}], "subjects": [{"name": + "User sub", "type": "User", "uuid": "b83faeec-f790-433f-893c-88c48c82562e"}], + "name": "test_IBtpt"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '256' + Content-Type: + - application/json + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.7 + (Restfly/1.4.6; Python/3.10.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: PUT + uri: https://cloud.tenable.com/api/v3/access-control/permissions/79259141-f7fc-47f3-b7ad-23ac1fa3b132 + response: + body: + string: '' + headers: + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Length: + - '0' + Content-Type: + - application/octet-stream + Date: + - Thu, 15 Sep 2022 08:04:11 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-yld99-ap-southeast-1-prod + X-Request-Uuid: + - 285b9c6839dc2932fc071508ace35c2b + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - nginx-cloud-site-id=us-2b + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.7 + (Restfly/1.4.6; Python/3.10.6; Darwin/arm64) + X-APIKeys: + - accessKey=TIO_ACCESS_KEY;secretKey=TIO_SECRET_KEY + method: GET + uri: https://cloud.tenable.com/api/v3/access-control/permissions/79259141-f7fc-47f3-b7ad-23ac1fa3b132 + response: + body: + string: '{"permission_uuid":"79259141-f7fc-47f3-b7ad-23ac1fa3b132","name":"test_IBtpt","subjects":[{"type":"User","uuid":"b83faeec-f790-433f-893c-88c48c82562e","name":"admin_a@sandbox.a.io"}],"actions":["CanView"],"objects":[{"type":"Tag","uuid":"79259141-f7fc-47f3-b7ad-23ac1fa3b132","name":"Category:dummy_value"}],"created_at":1663229048509,"created_by":"admin_a@sandbox.a.io","updated_at":1663229049777,"updated_by":"admin_a@sandbox.a.io"}' + headers: + Accept-Ranges: + - bytes + Cache-Control: + - no-store + Connection: + - keep-alive + Content-Length: + - '434' + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 15 Sep 2022 08:04:11 GMT + Expect-CT: + - enforce, max-age=86400 + Pragma: + - no-cache + Set-Cookie: + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + - nginx-cloud-site-id=us-2b; path=/; HttpOnly; SameSite=Strict; Secure + Strict-Transport-Security: + - max-age=63072000; includeSubDomains + Vary: + - origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Gateway-Site-ID: + - nginx-router-yld99-ap-southeast-1-prod + X-Request-Uuid: + - d47b05d6e4cc6e9170a2ed484eb81b4b + X-Xss-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/io/v3/test_access_control.py b/tests/io/v3/test_access_control.py new file mode 100644 index 000000000..4f467c8a5 --- /dev/null +++ b/tests/io/v3/test_access_control.py @@ -0,0 +1,174 @@ +""" +This file contains tests for the Access Control endpoints. +""" +import os +import string +import uuid +from random import choices + +import pytest + +from tenable.io import TenableIO +from tests.pytenable_log_handler import setup_logging_to_file + + +@pytest.fixture +def api(): + """ + Fixture for setting up API Keys + """ + setup_logging_to_file() + return TenableIO( + os.getenv('TIO_TEST_ADMIN_ACCESS', ''), + os.getenv('TIO_TEST_ADMIN_SECRET', ''), + vendor='pytest', + product='pytenable-automated-testing') + + +@pytest.mark.vcr() +def test_details(api: TenableIO): + uuid_to_search = "4c931fce-699c-4052-a43c-c953e71dd37b" + details = api.v3.access_control.details(uuid_to_search) + assert isinstance(details, dict) + assert details["permission_uuid"] == uuid_to_search + + +@pytest.mark.vcr() +def test_details_negative(api: TenableIO): + with pytest.raises(TypeError): + api.v3.access_control.details(None) + + +@pytest.mark.vcr() +def test_get_user_permission(api: TenableIO): + user_uuid_to_search = "b83faeec-f790-433f-893c-88c48c82562e" + user_permission = api.v3.access_control.get_user_permission(user_uuid_to_search) + assert isinstance(user_permission, dict) + assert len(user_permission["permissions_available"]) > 0 + + +@pytest.mark.vcr() +def test_get_user_permission_negative(api: TenableIO): + with pytest.raises(TypeError): + api.v3.access_control.get_user_permission(None) + + +@pytest.mark.vcr() +def test_get_user_group_permission(api: TenableIO): + group_uuid_to_search = "00000000-0000-0000-0000-000000000000" + user_group_permission = api.v3.access_control.get_user_group_permission(group_uuid_to_search) + assert isinstance(user_group_permission, dict) + assert len(user_group_permission["permissions_available"]) > 0 + + +@pytest.mark.vcr() +def test_get_user_group_permission_negative(api: TenableIO): + with pytest.raises(TypeError): + api.v3.access_control.get_user_group_permission(None) + + +@pytest.mark.vcr() +def test_get_current_user_permission(api: TenableIO): + current_user_permission = api.v3.access_control.get_current_user_permission() + assert isinstance(current_user_permission, dict) + + +@pytest.mark.vcr() +def test_create_and_delete(api: TenableIO): + # Testing creation of permission + created_permission = _create_permission(api) + assert isinstance(created_permission, dict) + + created_permission_uuid = created_permission["permission_uuid"] + assert isinstance(created_permission_uuid, str) + + # Testing Deletion of the permission + deleted_permission = _delete_permission(api, created_permission_uuid) + assert deleted_permission["permission_uuid"] == created_permission_uuid + + +@pytest.mark.vcr() +def test_update(api: TenableIO): + # Creation permission only to update it later + created_permission_uuid = _create_permission(api)["permission_uuid"] + updated_permission = _update_permission(api, created_permission_uuid) + assert updated_permission is None + + # Cleaning up after test + _delete_permission(api, created_permission_uuid) + + +@pytest.mark.vcr() +def test_list(api: TenableIO): + permissions = api.v3.access_control.list() + assert isinstance(permissions, list) + + +def _create_permission(api: TenableIO): + """ + Invokes the creation API for testing. + """ + permission = { + "actions": ["CanView", "CanUse"], + "objects": [ + { + "name": "Category,dummy_value", + "type": "Tag", + "uuid": f"{str(uuid.uuid4())}" + } + ], + "subjects": [ + { + "name": "User sub", + "type": "User", + "uuid": "b83faeec-f790-433f-893c-88c48c82562e" + } + ], + "name": f"test_{_random_string(5)}" + } + created_permission = api.v3.access_control.create(permission) + return created_permission + + +def _delete_permission(api: TenableIO, permission_uuid: str): + """ + Invokes the deletion API for testing. + """ + return api.v3.access_control.details(permission_uuid) + + +def _update_permission(api: TenableIO, permission_uuid: str): + """ + Invokes the update API for testing. + """ + permission_to_update = { + "actions": ["CanView"], + "objects": [ + { + "name": "Category,dummy_value", + "type": "Tag", + "uuid": permission_uuid + } + ], + "subjects": [ + { + "name": "User sub", + "type": "User", + "uuid": "b83faeec-f790-433f-893c-88c48c82562e" + } + ], + "name": f"test_{_random_string(5)}" + } + return api.v3.access_control.update(permission_uuid, permission_to_update) + + +def _random_string(length: int): + """ + Creates a random string of a given length + Args: + length: Length of the string to be generated + + Returns: str + + """ + return "".join(choices(string.ascii_letters, k=length)) diff --git a/tests/ot/__init__.py b/tests/ot/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/ot/cassettes/test_assets_list_vcr.yaml b/tests/ot/cassettes/test_assets_list_vcr.yaml new file mode 100644 index 000000000..b68096654 --- /dev/null +++ b/tests/ot/cassettes/test_assets_list_vcr.yaml @@ -0,0 +1,90 @@ +interactions: +- request: + body: '{"query": "\nquery assets(\n $filter: AssetExpressionsParams\n $search: + String\n $sort: [AssetSortParams!]!\n $limit: Int\n $startAt: String\n) {\n assets(\n filter: + $filter\n search: $search\n sort: $sort\n first: $limit\n after: + $startAt\n ) {\n pageInfo {\n endCursor\n }\n nodes {\n category\n criticality\n customField1\n customField2\n customField3\n customField4\n customField5\n customField6\n customField7\n customField8\n customField9\n customField10\n description\n details\n family\n firmwareVersion\n firstSeen\n hidden\n id\n ips + {\n nodes\n }\n lastSeen\n lastUpdate\n location\n macs + {\n nodes\n }\n model\n name\n os\n osDetails + {\n name\n architecture\n hotFixes {\n nodes {\n name\n installDate\n description\n }\n }\n version\n }\n purdueLevel\n runStatus\n runStatusTime\n serial\n slot\n superType\n type\n vendor\n risk + {\n unresolvedEvents\n totalRisk\n }\n ips {\n nodes\n }\n macs + {\n nodes\n }\n backplane {\n id\n name\n size\n }\n segments + {\n nodes {\n id\n name\n type\n key\n systemName\n vlan\n description\n assetType\n subnet\n }\n }\n revisions + {\n nodes {\n id\n firstSeen\n lastSeen\n ordinal\n isBase\n }\n }\n plugins + {\n nodes {\n id\n name\n source\n family\n severity\n vprScore\n comment\n owner\n totalAffectedAssets\n }\n }\n }\n }\n}\n", + "variables": "{\"search\": null, \"sort\": [{\"field\": \"id\", \"direction\": + \"DescNullLast\"}], \"startAt\": null, \"limit\": 2}"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '2121' + Content-Type: + - application/json + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/1.4.11) pyTenable/1.4.11 + (Restfly/1.4.7; Python/3.9.6; Darwin/arm64) + X-APIKeys: + - key=TOT_X_API_KEYS + method: POST + uri: https://172.26.68.231/graphql + response: + body: + string: !!binary | + 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 + headers: + Access-Control-Allow-Origin: + - '*' + Content-Encoding: + - gzip + Content-Length: + - '1642' + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 19 Jan 2023 06:37:29 GMT + Etag: + - W/"1bdd-7mdzqVcB7dI/3zi5+ikxojU/2pw" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Vary: + - Accept-Encoding + - Accept-Encoding + X-Content-Type-Options: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/tests/ot/cassettes/test_events_list_vcr.yaml b/tests/ot/cassettes/test_events_list_vcr.yaml new file mode 100644 index 000000000..69fba9be3 --- /dev/null +++ b/tests/ot/cassettes/test_events_list_vcr.yaml @@ -0,0 +1,82 @@ +interactions: +- request: + body: '{"query": "\nquery events(\n $filter: EventsExpressionsParams,\n $search: + String,\n $sort: [EventsSortParams!]!,\n $limit: Int,\n $startAt: String\n){\n events(\n filter: + $filter,\n search: $search,\n sort: $sort,\n first: $limit,\n after: + $startAt\n ){\n pageInfo{\n endCursor\n }\n nodes{\n id\n eventType + {\n type\n group\n description\n schema\n category\n family\n canCapture\n actions\n exclusion\n }\n srcIP\n dstIP\n protocolRaw\n policy + {\n id\n index\n title\n level\n disabled\n archived\n schema\n continuous\n snapshot\n system\n key\n eventTypeDetails + {\n type\n group\n description\n schema\n category\n family\n canCapture\n actions\n exclusion\n }\n disableAfterHit\n actions{\n nodes{\n aid\n type\n }\n }\n paused\n srcAssetGroup{\n group{\n id\n }\n negate\n }\n dstAssetGroup{\n group{\n id\n }\n negate\n }\n schedule{\n group{\n id\n }\n negate\n }\n protocolGroup{\n group{\n id\n }\n negate\n }\n portGroup{\n group{\n id\n name\n }\n negate\n }\n tagGroup{\n group{\n id\n name\n }\n negate\n }\n valueGroup{\n group{\n id\n }\n negate\n }\n ruleGroup{\n group{\n id\n name\n }\n negate\n }\n exclusions{\n nodes{\n id\n }\n }\n aggregatedEventsCount{\n last24h\n last7d\n last30d\n }\n }\n time\n srcMac\n dstMac\n completion\n protocolNiceName\n resolved\n resolvedTs\n hitId\n severity\n category\n comment\n logId\n resolvedUser\n type\n srcAssets{\n nodes{\n name\n id\n }\n }\n srcInterface{\n id\n lastSeen\n firstSeen\n mac\n ips + {\n nodes{\n ip\n }\n }\n dnsNames{\n nodes\n }\n family\n directAsset + {\n id\n }\n }\n srcNames{\n nodes\n }\n dstAssets{\n nodes{\n name\n id\n }\n }\n dstInterface{\n id\n }\n dstNames{\n nodes\n }\n hasDetails\n payloadSize\n protocol\n port\n continuous\n }\n }\n}\n", + "variables": "{\"search\": null, \"sort\": [{\"field\": \"eventId\", \"direction\": + \"DescNullLast\"}], \"startAt\": null, \"limit\": 2}"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '2832' + Content-Type: + - application/json + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/1.4.11) pyTenable/1.4.11 + (Restfly/1.4.7; Python/3.9.6; Darwin/arm64) + X-APIKeys: + - key=TOT_X_API_KEYS + method: POST + uri: https://172.26.68.231/graphql + response: + body: + string: !!binary | + H4sIAAAAAAAA/+RW227cOBJ9369o8CkLiA4pkaIkYB+yHW+SxcYxfEFuMBYUWWwrVosNkbLTMfrf + B1Sr77Znkhkgg5mHICJdXVU8darq3CMtvUTFPYJbaLwLXzM5gTeNsf1to8dd62yLCvTxw3/nHz/U + X8qYd5/enxD5Pu/efTn+F1pEqLEaHCo+36NKowLpzJCYJwzrlCSYJaXGGWExTjlPDCFMSlWiaBnz + Yj6DEMr3/6N3M2hObetRhCat7WaoQOF4HExRhDQ41VYzX9lmMB4N1k5dw1QO5ufLQ4SU9DCx7RwV + 6AT8nW1vjpcPjZCR06qeo6Lp6joYNmM5810LqDCydhAhqUKY8Cx0PJVVjSJ0Pne1naCrCMFXVXdu + k0afxSJCrlVvTlGBKDmiJPyjR5STkLnz4Q/LaLPWeqtsfSbvUIEuxqcoQjNbV2oeoOgxzExGcyE5 + ZpkhmDEusCRKY5YbBmAywdMcRahqNHxFBc3zCPnK1wHDSwcja0aXjez8tW2rb6B7lEZVMzqz6uYO + 6no0to1vbV1DG8Co4RZqVKC3oKtuGtKtnCxr0Bs0WnVd3W5dPAK4bXzVdLZzG8NGzty19ZuLufMw + RYVvO4jQDYTqnCY4Sbc58RK8rGr3F6LGAOkL46F9XflDZ/frPrpaRGgmO7cNd6teOAf+1fLpnz/f + r1AYCEPjRJJM9FwpMeMxxWVCOI7ThKiUi7ikpO9VmEi/esri6qqn5o7rqyVkugts2iXsYDJc2nb1 + m/1kklhSaijghOQMszIFnHHQWGiQghIa60ygCDVyGiq7JuW6am4708CTRYS8nOyEv5V1Bzs3bVfv + XqxLcYCunEza3r1eVn1su8YHo1o6H7NrVJCo/xZ6/ZmQ8L0IqVR93jGJE0wopskFzQuWF5wfEca5 + yD6hvmJvpVqlop3fOik7ndUwcHW8Plw2N429a9AG8JNKwUmP0vBEcLbebsPVxYVbmVxX/s13TGEH + t9BWfr7d/U/0hrLTaWi4IVhtJyEYJURscrl00K4MDpt3xeSdmtyvuPCidvY1tBBmW3iFLLXOyxJw + IhKJGZc5ztKEYq4lzTQTRnJAi2j9+5dwGyAD////ZXTlhDKmgZISG5UlmDFNcJaZBCdUS2A5JCk1 + 207ObDdZZ0BFCZSVKaYkBcwUEzgHwzBQAUoQCSrXaHE1DP/GQ2ukWhfMtSrUb+ex24/cz3cZOnhb + teUBd8Mq2Q+jnT8IE2yvpVtP0oExMzmvrdTn1Tfoqb2iGiqQq2ajZ17NnnOSkn+iZYujIpweGO0B + sB6hlJSMaUlxLkBipqnEmaAMZ0LEksUslYw8su/HtrmF1sm+FTaDfZt1B7N9Z7HtOVjP+sHD7xv3 + yw31+LSP0H9s66tXYUztTf6dvLaFgYiP4vRI0COas40u2LqPOUf7EuHfZ+/enx+fHcqEOJcsp7HE + NMslZkwpnKVpjEUqhNapyVVMtmSCSDcyYWyn066pVJ/iyLR2Ojr+6qFtZD0aIHpaGQzoPCoMDkrw + 49qAJk9rg78NjX5QRCwz+FUNkXAGnHOBNYAOo07hUpQGK0lFmiuTl9IcbOaHJMSBZ5YbLohhOGGC + YpZRjjNmUkxZmipJcp5LeFidbKTIgeIBarTJOI6BE8wgEbhUpsSGM2ASuBEpO/R5IGb23XLBgSY0 + wyLJIOxNhiWNY5zmkOUCeMz1A0JqRw4Nq++nCZZ0W7Gkj0iWOCl4VtD4KM7iLE3/DJLlNy6SP0Sy + xHlMn5Qs+yPhIdnyPVv/J+30YXWMnnV69pwm2Wat0yR7aKtfLRaLf/wSAAD//zNTWeUaEAAA + headers: + Access-Control-Allow-Origin: + - '*' + Content-Encoding: + - gzip + Content-Length: + - '1365' + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 19 Jan 2023 06:39:01 GMT + Etag: + - W/"101a-qHo9XwFogQ+a91ORgBxlbfjpHN0" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Vary: + - Accept-Encoding + - Accept-Encoding + X-Content-Type-Options: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/tests/ot/cassettes/test_plugins_list_vcr.yaml b/tests/ot/cassettes/test_plugins_list_vcr.yaml new file mode 100644 index 000000000..eb7216696 --- /dev/null +++ b/tests/ot/cassettes/test_plugins_list_vcr.yaml @@ -0,0 +1,59 @@ +interactions: +- request: + body: '{"query": "\nquery plugins(\n $filter: PluginExpressionsParams\n $search: + String\n $sort: [PluginSortParams!]!\n $limit: Int\n $startAt: String\n) + {\n plugins(\n filter: $filter\n search: $search\n sort: $sort\n first: + $limit\n after: $startAt\n ) {\n pageInfo {\n endCursor\n }\n nodes + {\n id\n name\n source\n family\n severity\n vprScore\n comment\n owner\n totalAffectedAssets\n affectedAssets + {\n nodes {\n id\n name\n }\n }\n }\n }\n}\n", + "variables": "{\"search\": null, \"sort\": [{\"field\": \"id\", \"direction\": + \"DescNullLast\"}], \"startAt\": null, \"limit\": 2}"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '705' + Content-Type: + - application/json + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/1.4.11) pyTenable/1.4.11 + (Restfly/1.4.7; Python/3.9.6; Darwin/arm64) + X-APIKeys: + - key=TOT_X_API_KEYS + method: POST + uri: https://172.26.68.231/graphql + response: + body: + string: '{"data":{"plugins":{"pageInfo":{"endCursor":"YXJyYXljb25uZWN0aW9uOjE="},"nodes":[{"id":765088,"name":"Siemens + SCALANCE XM416-4C Managed Modular IE Switch","source":"NNM","family":"SCADA","severity":"Info","vprScore":null,"comment":null,"owner":null,"totalAffectedAssets":1,"affectedAssets":{"nodes":[{"id":"97840a65-5e56-42eb-ab56-a570e8b6ce34","name":"ScalanceX400_PLC"}]}},{"id":764524,"name":"Automation + Message Specification (AMS) UDP Client Detection","source":"NNM","family":"SCADA","severity":"Info","vprScore":null,"comment":null,"owner":null,"totalAffectedAssets":3,"affectedAssets":{"nodes":[{"id":"818e2f5a-ec53-4dab-9c8f-80e75285424c","name":"OT + Server #278"},{"id":"9901ea9c-fff2-4431-b846-f0e064be4297","name":"OT Server + #325"},{"id":"a3f72325-0181-4a3d-8456-36f4e6ea1080","name":"Eng. Station #281"}]}}]}}} + + ' + headers: + Access-Control-Allow-Origin: + - '*' + Content-Length: + - '822' + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 19 Jan 2023 06:37:34 GMT + Etag: + - W/"336-f952C9erZMKPLGRhooSmyzI/Gz8" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Vary: + - Accept-Encoding + - Accept-Encoding + X-Content-Type-Options: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/tests/ot/conftest.py b/tests/ot/conftest.py index e89c2d8ee..eaa2e09d2 100644 --- a/tests/ot/conftest.py +++ b/tests/ot/conftest.py @@ -1,6 +1,6 @@ -''' +""" conftest -''' +""" import pytest import responses @@ -11,11 +11,33 @@ @pytest.fixture @responses.activate def fixture_ot(): - '''fixture ot''' + """fixture ot""" return TenableOT( - url='https://localhost', - api_key='some_random_key', - vendor='pytest', - product='pytenable-automated-testing', + url="https://localhost", + api_key="some_random_key", + vendor="pytest", + product="pytenable-automated-testing", + build=version, + ) + + +@pytest.fixture(scope='module') +def vcr_config(): + """vcr config fixture""" + return { + 'filter_headers': [ + ('X-APIKeys', 'TOT_X_API_KEYS') + ], + } + + +@pytest.fixture +def api(): + """xapi key fixture""" + return TenableOT( + url="https://172.26.68.231", + api_key="TOT_X_API_KEYS", + vendor="pytest", + product="pytenable-automated-testing", build=version ) diff --git a/tests/ot/test__ot_graph_iterator.py b/tests/ot/test__ot_graph_iterator.py new file mode 100644 index 000000000..2037add9e --- /dev/null +++ b/tests/ot/test__ot_graph_iterator.py @@ -0,0 +1,78 @@ +import pytest +import responses + +from tenable.ot.graphql.definitions import GraphqlParsingError, GraphqlError + + +@responses.activate +def test_perform_request_errors(fixture_ot): + """ + Tests the assets Graphql list iterator + """ + responses.add( + method="POST", + url="https://localhost/graphql", + json={ + "error": { + "errors": [ + { + "message": "whoopsy", + "path": ["/graphql"], + } + ] + } + }, + ) + with pytest.raises(GraphqlError): + resp = fixture_ot.assets.list().next() + + +@responses.activate +def test_perform_request_no_data(fixture_ot): + """ + Tests the assets Graphql list iterator + """ + responses.add( + method="POST", + url="https://localhost/graphql", + json={}, + ) + with pytest.raises(GraphqlParsingError) as e: + resp = fixture_ot.assets.list().next() + print(e.value) + + +@responses.activate +def test_perform_request_none_data(fixture_ot): + """ + Tests the assets Graphql list iterator + """ + responses.add( + method="POST", + url="https://localhost/graphql", + json={ + "data": { + "assets": None, + } + }, + ) + with pytest.raises(GraphqlParsingError) as e: + resp = fixture_ot.assets.list().next() + print(e.value) + + +@responses.activate +def test_get_page_pageinfo(fixture_ot): + """ + Tests the assets Graphql list iterator + """ + responses.add( + method="POST", + url="https://localhost/graphql", + json={ + "pageInfo": {"endCursor": "YXJyYXljb25uZWN0aW9uOjE5OQ=="}, + }, + ) + with pytest.raises(GraphqlParsingError) as e: + resp = fixture_ot.assets.list().next() + print(e.value) diff --git a/tests/ot/test_assets.py b/tests/ot/test_assets.py index cb3ee1c99..1749b83b6 100644 --- a/tests/ot/test_assets.py +++ b/tests/ot/test_assets.py @@ -1,112 +1,11221 @@ -''' +""" test assets -''' +""" +import datetime +import uuid + +import pytest import responses -from tenable.ot.graphql.assets import ( - Asset, - Risk, - Segment -) + +from tenable.ot.graphql.iterators import OTGraphIterator +from tenable.ot.graphql.schema.assets import Asset, Risk, Segment +from tenable.ot.graphql.schema.plugins import Plugin +from tenable.ot.schema.assets import Revisions, Segments, Hotfix, HotFixes, OSDetails +from tenable.ot.schema.base import NodesList +from tenable.ot.schema.plugins import Plugins + + +@responses.activate +def test_list(fixture_ot): + """ + Tests the assets Graphql list iterator + """ + responses.add( + method="POST", + url="https://localhost/graphql", + json={ + "data": { + "assets": { + "pageInfo": {"endCursor": "YXJyYXljb25uZWN0aW9uOjE5OQ=="}, + "nodes": [ + { + "category": "NetworkAssetsCategory", + "criticality": "LowCriticality", + "customField1": None, + "customField2": None, + "customField3": None, + "customField4": None, + "customField5": None, + "customField6": None, + "customField7": None, + "customField8": None, + "customField9": None, + "customField10": None, + "description": None, + "details": { + "id": "e419cab7-4a5a-4f0d-a05f-982928919eba", + "name": "STEP7", + "firstSeen": "2021-04-11T21:00:09.154979Z", + "lastSeen": "2021-06-25T13:02:37.178997Z", + "macs": [], + "ips": ["10.100.30.37"], + "type": "Server", + "superType": "Server", + "category": "NetworkAssetsCategory", + "purdueLevel": "Level3", + "runStatus": "Unknown", + "runStatusTime": "0001-01-01T00:00:00Z", + "os": "Windows Server 2008 R2", + "rawFamily": "UnknownFamily", + "risk": 0, + "criticality": "LowCriticality", + "hidden": True, + "lastUpdate": "2022-10-04T02:18:54.78456Z", + "classificationIncidents": [ + "DirectConnectorIncident", + "WindowsServerWmiIncident", + ], + "hardware": { + "numOfProcessors": "2", + "cpu": "Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz", + "cpuSpeed": 2597, + "cpuLoad": 2, + "cpuArchitecture": "x64", + "cpuRevision": 16128, + "totalPhysicalMemory": 2146951168, + "usedPhysicalMemory": 952430592, + "freePhysicalMemory": 1194520576, + "totalVirtualMemory": 4293902336, + "usedVirtualMemory": 2070228992, + "freeVirtualMemory": 2223673344, + "biosVersion": "6.00", + "biosSerial": "VMware-42 12 e4 83 95 a1 87 7a-07 1c c1 c2 05 a6 41 81", + "biosMajor": 2, + "biosMinor": 4, + "csManufacturer": "VMware, Inc.", + "csModel": "VMware Virtual Platform", + "devicesAndDrives": [ + { + "name": "System Reserved", + "capacity": 104853504, + "driveLetter": "", + "deviceType": "Unknown", + }, + { + "name": "", + "capacity": 42842714112, + "driveLetter": "C:", + "deviceType": "Unknown", + }, + { + "name": "", + "capacity": 0, + "driveLetter": "D:", + "deviceType": "Unknown", + }, + ], + }, + "names": [ + { + "id": "e419cab7-4a5a-4f0d-a05f-982928919eba", + "source": "Default", + "value": "Server #7", + }, + { + "id": "e419cab7-4a5a-4f0d-a05f-982928919eba", + "source": "Wmi", + "value": "STEP7", + }, + { + "id": "e419cab7-4a5a-4f0d-a05f-982928919eba", + "source": "Chosen", + "value": "STEP7", + }, + { + "id": "e419cab7-4a5a-4f0d-a05f-982928919eba", + "source": "Dns", + "value": "ipaserver.indegy.local", + }, + ], + "windows": { + "osName": "Microsoft Windows Server 2008 R2 Standard ", + "computerName": "STEP7", + "version": "6.1.7601", + "servicepackMajor": 1, + "servicepackMinor": 0, + "buildType": "Multiprocessor Free", + "buildNumber": "7601", + "osArchitecture": "64-bit", + "serialNumber": "55041-507-9059273-84698", + "registeredUser": "Windows User", + "installDate": "2016-01-04T00:26:08Z", + "lastBootUpTime": "2021-01-30T16:13:42.359599Z", + "csDomain": "WORKGROUP", + "hotFixes": [ + { + "hotFixId": "KB4019990", + "installedOn": "2018-05-27T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB4095874", + "installedOn": "2018-05-27T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB4103718", + "installedOn": "2018-05-27T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB4103768", + "installedOn": "2018-05-27T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3167679", + "installedOn": "2016-08-31T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3177723", + "installedOn": "2016-08-31T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB3163245", + "installedOn": "2016-08-29T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3168965", + "installedOn": "2016-08-29T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3170455", + "installedOn": "2016-08-29T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3175443", + "installedOn": "2016-08-29T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3177725", + "installedOn": "2016-08-29T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3178034", + "installedOn": "2016-08-29T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3142024", + "installedOn": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3153171", + "installedOn": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3156016", + "installedOn": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3156017", + "installedOn": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3156019", + "installedOn": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3159398", + "installedOn": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3160005", + "installedOn": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3161561", + "installedOn": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3161664", + "installedOn": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3161949", + "installedOn": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3161958", + "installedOn": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3162835", + "installedOn": "2016-06-16T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB3164033", + "installedOn": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3164035", + "installedOn": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3135983", + "installedOn": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3138612", + "installedOn": "2016-04-20T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB3139398", + "installedOn": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3139914", + "installedOn": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3139940", + "installedOn": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3140735", + "installedOn": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3142042", + "installedOn": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3145739", + "installedOn": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3146706", + "installedOn": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3146963", + "installedOn": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3148198", + "installedOn": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3148851", + "installedOn": "2016-04-20T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB3149090", + "installedOn": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3122648", + "installedOn": "2016-03-28T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3126587", + "installedOn": "2016-03-28T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3126593", + "installedOn": "2016-03-28T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3127220", + "installedOn": "2016-03-28T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3133043", + "installedOn": "2016-03-28T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3134214", + "installedOn": "2016-03-28T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3134814", + "installedOn": "2016-03-28T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3141092", + "installedOn": "2016-03-28T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB3072305", + "installedOn": "2016-02-09T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3108664", + "installedOn": "2016-02-09T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3109560", + "installedOn": "2016-02-09T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3110329", + "installedOn": "2016-02-09T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3121212", + "installedOn": "2016-02-09T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3121918", + "installedOn": "2016-02-09T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3123479", + "installedOn": "2016-02-09T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3124000", + "installedOn": "2016-02-09T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3124001", + "installedOn": "2016-02-09T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3124275", + "installedOn": "2016-02-09T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB917607", + "installedOn": "2016-02-02T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2670838", + "installedOn": "2016-01-04T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2729094", + "installedOn": "2016-01-04T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2834140", + "installedOn": "2016-01-04T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2841134", + "installedOn": "2016-01-04T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2849696", + "installedOn": "2016-01-04T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2849697", + "installedOn": "2016-01-04T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2882822", + "installedOn": "2016-01-04T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2912390", + "installedOn": "2016-01-04T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2973351", + "installedOn": "2016-01-04T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3042058", + "installedOn": "2016-01-04T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3104002", + "installedOn": "2016-01-04T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2506014", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2506212", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2509553", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2511455", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2536275", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2544893", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2552343", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2560656", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2564958", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2570947", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2585542", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2604115", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2620704", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2621440", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2631813", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2643719", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2653956", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2654428", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2656356", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2667402", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2676562", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2685939", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2690533", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2698365", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2705219", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2706045", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2712808", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2718704", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2729452", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2736422", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2742599", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2758857", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2765809", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2770660", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2786081", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2789645", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2798162", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2807986", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2813430", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2836942", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2836943", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2839894", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2840149", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2840631", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2861698", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2862152", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2862330", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2862335", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2862973", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2864202", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2868038", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2868116", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2868626", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2871997", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2884256", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2887069", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2892074", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2893294", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2894844", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2900986", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2911501", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2929733", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2931356", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2937610", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2943357", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2957189", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2968294", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2972100", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2972211", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2973112", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2973201", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2976897", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2977292", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2978120", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2984972", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2991963", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2992611", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2993651", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB3000483", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3003743", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3004361", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3004375", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3005607", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3006226", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3010788", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3011780", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3014029", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3018238", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB3019978", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3020369", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB3021674", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3022777", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3023215", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3030377", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3031432", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3032655", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3033889", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3033929", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3035126", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3035132", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3037574", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3042553", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3045685", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3046017", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3046269", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3055642", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3059317", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3060716", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3061518", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3068457", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3069392", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3071756", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3072595", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3072630", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3072633", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3074543", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3075220", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3076895", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3078601", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3080446", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3081320", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3084135", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3086255", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3087039", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3092601", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3097966", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3097989", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3099862", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3101246", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3101722", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3101746", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3108371", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3108381", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3108670", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3109094", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3109103", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3112343", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB976902", + "installedOn": "2010-11-21T00:00:00Z", + "description": "Update", + }, + ], + "installedSoftware": [ + { + "name": "Microsoft Application Error Reporting", + "version": "12.0.6012.5000", + "installDate": "Feb 2 2016", + }, + { + "name": "Sql Server Customer Experience Improvement Program", + "version": "10.50.1600.1", + "installDate": "Feb 2 2016", + }, + { + "name": "SIMATIC STEP 7 V5.5 + SP4 ", + "version": "05.05.0400", + "installDate": "Jul 10 2017", + }, + { + "name": "OPC .NET API 2.00 Redistributables (x86) 101.0", + "version": "2.00.10200", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft Visual C++ 2010 x64 Redistributable - 10.0.40219", + "version": "10.0.40219", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft Visual C++ 2019 X86 Minimum Runtime - 14.20.27508", + "version": "14.20.27508", + "installDate": "Jan 16 2020", + }, + { + "name": "Microsoft Visual C++ 2010 x86 Redistributable - 10.0.40219", + "version": "10.0.40219", + "installDate": "Feb 2 2016", + }, + { + "name": "Siemens Totally Integrated Automation Portal V13 - HM NoBasic Single SetupPackage V13.0 SP1 UPD7", + "version": "13.00.0100", + "installDate": "Feb 9 2016", + }, + { + "name": "SIMATIC S7-PCT V3.2 ", + "version": "03.02.0000", + "installDate": "Jul 10 2017", + }, + { + "name": "NETLink-S7-NET", + "version": "3.5.0.3", + "installDate": "Aug 17 2020", + }, + { + "name": "SQL Server 2008 R2 SP2 Database Engine Services", + "version": "10.52.4000.0", + "installDate": "Feb 2 2016", + }, + { + "name": "SQL Server 2008 R2 SP2 Database Engine Services", + "version": "10.52.4000.0", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft Visual C++ 2005 Redistributable", + "version": "8.0.59193", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft SQL Server 2008 Setup Support Files ", + "version": "10.1.2731.0", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft SQL Server 2008 R2 RsFx Driver", + "version": "10.52.4000.0", + "installDate": "Feb 2 2016", + }, + { + "name": "Siemens Totally Integrated Automation Portal V13 - HM All Editions Single SetupPackage V13.0 SP1 UPD7", + "version": "13.00.0100", + "installDate": "Feb 9 2016", + }, + { + "name": "Microsoft Visual C++ 2019 X64 Minimum Runtime - 14.20.27508", + "version": "14.20.27508", + "installDate": "Jan 16 2020", + }, + { + "name": "SIMATIC WinCC/Audit Viewer 2008 SP2 ", + "version": "07.02.0000", + "installDate": "Feb 2 2016", + }, + { + "name": "Siemens Totally Integrated Automation Portal V13 - TIA Tour Single SetupPackage V13.0 + SP1", + "version": "13.00.0100", + "installDate": "Feb 2 2016", + }, + { + "name": "SIMATIC S7-Web2PLC V1.0 + SP2 + HF1 ", + "version": "01.00.0201", + "installDate": "Jul 10 2017", + }, + { + "name": "Siemens Totally Integrated Automation Portal V13 - Hardware Support Base Package WCF-01 V13.0", + "version": "13.00.0000", + "installDate": "Feb 2 2016", + }, + { + "name": "OPC Core Components Redistributable (x86) 101.2", + "version": "3.00.10102", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft Visual C++ 2013 x64 Additional Runtime - 12.0.21005", + "version": "12.0.21005", + "installDate": "Apr 20 2016", + }, + { + "name": "Microsoft .NET Framework 4.5.2", + "version": "4.5.51209", + "installDate": "May 27 2018", + }, + { + "name": "SQL Server 2008 R2 SP2 Common Files", + "version": "10.52.4000.0", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft Visual C++ 2008 Redistributable - x64 9.0.30729.6161", + "version": "9.0.30729.6161", + "installDate": "Jan 3 2016", + }, + { + "name": "WinCC Runtime Advanced V13.0 SP1 - SIMATIC WinCC Runtime Advanced V13.0 + SP1", + "version": "13.00.0100", + "installDate": "Feb 9 2016", + }, + { + "name": "Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.6161", + "version": "9.0.30729.6161", + "installDate": "Feb 2 2016", + }, + { + "name": "MSXML 4.0 SP2 (KB973688)", + "version": "4.20.9876.0", + "installDate": "Feb 9 2016", + }, + { + "name": "Microsoft Visual C++ 2013 x64 Minimum Runtime - 12.0.21005", + "version": "12.0.21005", + "installDate": "Apr 20 2016", + }, + { + "name": "Siemens Totally Integrated Automation Portal V13 - Hardware Support Base Package 03 V13.0", + "version": "13.00.0000", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft Visual C++ 2012 x64 Additional Runtime - 11.0.61030", + "version": "11.0.61030", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft SQL Server Browser", + "version": "10.52.4000.0", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft Visual C++ 2005 Redistributable (x64)", + "version": "8.0.56336", + "installDate": "Feb 2 2016", + }, + { + "name": "Totally Integrated Automation Portal V13 - TIA Portal Single SetupPackage V13.0 + SP1", + "version": "13.00.0100", + "installDate": "Feb 9 2016", + }, + { + "name": "SQL Server 2008 R2 SP2 Common Files", + "version": "10.52.4000.0", + "installDate": "Feb 2 2016", + }, + { + "name": "Siemens Automation License Manager V5.3 + SP2 + Upd2 ", + "version": "05.03.0202", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft SQL Server 2008 R2 Native Client", + "version": "10.52.4000.0", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft Visual C++ 2019 X86 Additional Runtime - 14.20.27508", + "version": "14.20.27508", + "installDate": "Jan 16 2020", + }, + { + "name": "WinCC Runtime Advanced V13.0 SP1 - HMIRTM Simulation Single SetupPackage V13.0 SP1 UPD7", + "version": "13.00.0100", + "installDate": "Feb 9 2016", + }, + { + "name": "Siemens Totally Integrated Automation Portal V13 - Simatic Single SetupPackage V13.0 SP1 UPD7", + "version": "13.00.0100", + "installDate": "Feb 9 2016", + }, + { + "name": "Siemens Totally Integrated Automation Portal V13 - Hardware Support Base Package 0 V13.0", + "version": "13.00.0000", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft Primary Interoperability Assemblies 2005", + "version": "8.0.50727.42", + "installDate": "Feb 2 2016", + }, + { + "name": "Siemens Totally Integrated Automation Portal V13 - Hardware Support Base Package 02 V13.0", + "version": "13.00.0000", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft Visual C++ 2005 Redistributable (x64)", + "version": "8.0.59192", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft SQL Server 2008 R2 Setup (English)", + "version": "10.52.4000.0", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft SOAP Toolkit 3.0", + "version": "3.0.1325.4", + "installDate": "Feb 2 2016", + }, + { + "name": "SIMATIC Prosave V13.0 SP1 ", + "version": "13.00.0100", + "installDate": "Feb 2 2016", + }, + { + "name": "License Logon Interface", + "version": "04.00.0300", + "installDate": "Jul 10 2017", + }, + { + "name": "SIMATIC Process Diagnosis Database", + "version": "5.3", + "installDate": "Jul 10 2017", + }, + { + "name": "SIMATIC DIAGNOSTIC REPEATER GUI CTRL", + "version": "05.02.0300", + "installDate": "Jul 10 2017", + }, + { + "name": "Microsoft Visual C++ 2008 Redistributable - x64 9.0.30729.17", + "version": "9.0.30729", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft Visual C++ 2005 Redistributable", + "version": "8.0.56336", + "installDate": "Jul 10 2017", + }, + { + "name": "Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.4148", + "version": "9.0.30729.4148", + "installDate": "Jan 3 2016", + }, + { + "name": "Automation Software Updater", + "version": "02.05.0000", + "installDate": "Feb 3 2020", + }, + { + "name": "MSXML 4.0 SP2 (KB954430)", + "version": "4.20.9870.0", + "installDate": "Feb 9 2016", + }, + { + "name": "SeCon", + "version": "02.02.0000", + "installDate": "Feb 2 2016", + }, + { + "name": "VMware Tools", + "version": "11.0.1.14773994", + "installDate": "Jan 16 2020", + }, + { + "name": "Microsoft Visual C++ 2019 X64 Additional Runtime - 14.20.27508", + "version": "14.20.27508", + "installDate": "Jan 16 2020", + }, + { + "name": "Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.17", + "version": "9.0.30729", + "installDate": "Feb 2 2016", + }, + { + "name": "SIMATIC Extended Interfaces", + "version": "05.04.0600", + "installDate": "Jul 10 2017", + }, + { + "name": "SIMATIC Colour Editor", + "version": "05.01.1600", + "installDate": "Feb 2 2016", + }, + { + "name": "SIMATIC NCM FWL 64", + "version": "05.05.0400", + "installDate": "Jul 10 2017", + }, + { + "name": "PKZIP Server for Windows 12.40.0008", + "version": "12.40.0008", + "installDate": "Feb 2 2016", + }, + { + "name": "Siemens Totally Integrated Automation Portal V13 - TIACOMPCHECK Single SetupPackage V13.0 + SP1 + Upd7", + "version": "13.00.0107", + "installDate": "Feb 9 2016", + }, + { + "name": "SIMATIC Device Drivers WoW", + "version": "29.00.0700", + "installDate": "Feb 9 2016", + }, + { + "name": "SIMATIC Process Diagnosis Base", + "version": "5.3", + "installDate": "Jul 10 2017", + }, + { + "name": "SIMATIC HMI Symbol Library", + "version": "13.00.0100", + "installDate": "Feb 2 2016", + }, + { + "name": "SQL Server 2008 R2 SP2 Database Engine Shared", + "version": "10.52.4000.0", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft Visual C++ 2012 x86 Minimum Runtime - 11.0.61030", + "version": "11.0.61030", + "installDate": "Feb 2 2016", + }, + { + "name": "SIMATIC Device Drivers", + "version": "09.00.0700", + "installDate": "Feb 9 2016", + }, + { + "name": "SIMATIC Interface Editor", + "version": "05.04.1800", + "installDate": "Jul 10 2017", + }, + { + "name": "SIMATIC HMI Touch Input", + "version": "13.00.0100", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft Visual C++ 2012 x86 Additional Runtime - 11.0.61030", + "version": "11.0.61030", + "installDate": "Feb 2 2016", + }, + { + "name": "WinCC Runtime Advanced Simulator", + "version": "13.00.0100", + "installDate": "Feb 2 2016", + }, + { + "name": "SIMATIC Grid Control", + "version": "02.06.0000", + "installDate": "Jul 10 2017", + }, + { + "name": "SIMATIC GSD CONTROL", + "version": "03.05.0600", + "installDate": "Jul 10 2017", + }, + { + "name": "SIMATIC HMI ProSave", + "version": "13.00.0100", + "installDate": "Feb 2 2016", + }, + { + "name": "OPC UA SDK 1.1 Redistributables 331.0", + "version": "1.01.33100", + "installDate": "Feb 2 2016", + }, + { + "name": "SIMATIC HMI License Manager Panel Plugin (x64)", + "version": "13.00.0100", + "installDate": "Feb 2 2016", + }, + { + "name": "SIMATIC GSD Interpreter", + "version": "02.04.0200", + "installDate": "Jul 10 2017", + }, + { + "name": "SIMATIC Common Services", + "version": "05.03.1500", + "installDate": "Jul 10 2017", + }, + { + "name": "SIMATIC NCM", + "version": "05.05.0400", + "installDate": "Jul 10 2017", + }, + { + "name": "SQL Server 2008 R2 SP2 Database Engine Shared", + "version": "10.52.4000.0", + "installDate": "Feb 2 2016", + }, + { + "name": "SIMATIC WinCC Runtime Advanced Driver (x64)", + "version": "13.00.0100", + "installDate": "Feb 2 2016", + }, + { + "name": "SIMATIC LanguageSupportTool", + "version": "05.08.0300", + "installDate": "Jul 10 2017", + }, + { + "name": "SIMATIC Version View", + "version": "01.07.0900", + "installDate": "Jul 10 2017", + }, + { + "name": "Siemens Totally Integrated Automation Portal V13 - WinCC Single SetupPackage V13.0 SP1 UPD7", + "version": "13.00.0100", + "installDate": "Feb 9 2016", + }, + { + "name": "Microsoft Visual C++ 2012 x64 Minimum Runtime - 11.0.61030", + "version": "11.0.61030", + "installDate": "Feb 2 2016", + }, + { + "name": "SIEMENS OPC", + "version": "03.09.0502", + "installDate": "Feb 2 2016", + }, + { + "name": "SIMATIC Event Database", + "version": "05.05.0402", + "installDate": "Feb 2 2016", + }, + { + "name": "SIMATIC X-Ref Control", + "version": "05.02.0800", + "installDate": "Jul 10 2017", + }, + { + "name": "SIMATIC S7-Block Privacy V1.0 + SP3 ", + "version": "01.00.0300", + "installDate": "Jul 10 2017", + }, + { + "name": "VC User 71 RTL X86 ---", + "version": "1.0", + "installDate": "Feb 2 2016", + }, + { + "name": "Automation Access Control Component", + "version": "04.00.0100", + "installDate": "Jul 10 2017", + }, + { + "name": "SIMATIC S7-Status-OCX", + "version": "05.03.1100", + "installDate": "Jul 10 2017", + }, + { + "name": "SIMATIC Technological Parameter Assignment", + "version": "05.03.1100", + "installDate": "Jul 10 2017", + }, + { + "name": "Microsoft SQL Server VSS Writer", + "version": "10.52.4000.0", + "installDate": "Feb 2 2016", + }, + ], + }, + "customFields": [ + ["customField1", "Building", "PlainText"], + ["customField10", "Line", "PlainText"], + ["customField2", "Point of Contact", "PlainText"], + ["customField4", "Vertical", "PlainText"], + ["customField5", "Geo-Location", "HyperLink"], + ["customField7", "Revisions", "PlainText"], + ["customField8", "Temp", "PlainText"], + ["customField6", "TAGS OR OTHER NAME", "PlainText"], + ["customField3", "map", "HyperLink"], + ], + "directIp": "10.100.30.37", + "directIps": None, + "directMac": None, + "directMacs": None, + "additionalIp": None, + "additionalIps": None, + "additionalMac": None, + "additionalMacs": None, + "stateUpdateTime": "0001-01-01T00:00:00Z", + "extendedSegments": [ + { + "id": "59161089-c6f7-4f8c-90a3-92f5be9d3b9d", + "name": "Server / 10.100.30.X", + "archived": False, + "system": True, + "key": "AG1-20", + "type": "Segment", + "systemName": "Server / 10.100.30.X", + "vlan": None, + "description": None, + "isPredefinedName": True, + "subnet": "10.100.30.X", + "assetType": "Server", + } + ], + "state": "Unknown", + "backplaneName": None, + "hotFixes": { + "columns": [ + {"field": "Id"}, + {"field": "Description"}, + {"field": "Installed Date"}, + ], + "data": [ + { + "Id": "KB4019990", + "Description": "Update", + "Installed Date": "2018-05-27T00:00:00Z", + }, + { + "Id": "KB4095874", + "Description": "Update", + "Installed Date": "2018-05-27T00:00:00Z", + }, + { + "Id": "KB4103718", + "Description": "Security Update", + "Installed Date": "2018-05-27T00:00:00Z", + }, + { + "Id": "KB4103768", + "Description": "Security Update", + "Installed Date": "2018-05-27T00:00:00Z", + }, + { + "Id": "KB3167679", + "Description": "Security Update", + "Installed Date": "2016-08-31T00:00:00Z", + }, + { + "Id": "KB3177723", + "Description": "Update", + "Installed Date": "2016-08-31T00:00:00Z", + }, + { + "Id": "KB3163245", + "Description": "Security Update", + "Installed Date": "2016-08-29T00:00:00Z", + }, + { + "Id": "KB3168965", + "Description": "Security Update", + "Installed Date": "2016-08-29T00:00:00Z", + }, + { + "Id": "KB3170455", + "Description": "Security Update", + "Installed Date": "2016-08-29T00:00:00Z", + }, + { + "Id": "KB3175443", + "Description": "Security Update", + "Installed Date": "2016-08-29T00:00:00Z", + }, + { + "Id": "KB3177725", + "Description": "Security Update", + "Installed Date": "2016-08-29T00:00:00Z", + }, + { + "Id": "KB3178034", + "Description": "Security Update", + "Installed Date": "2016-08-29T00:00:00Z", + }, + { + "Id": "KB3142024", + "Description": "Security Update", + "Installed Date": "2016-06-16T00:00:00Z", + }, + { + "Id": "KB3153171", + "Description": "Security Update", + "Installed Date": "2016-06-16T00:00:00Z", + }, + { + "Id": "KB3156016", + "Description": "Security Update", + "Installed Date": "2016-06-16T00:00:00Z", + }, + { + "Id": "KB3156017", + "Description": "Security Update", + "Installed Date": "2016-06-16T00:00:00Z", + }, + { + "Id": "KB3156019", + "Description": "Security Update", + "Installed Date": "2016-06-16T00:00:00Z", + }, + { + "Id": "KB3159398", + "Description": "Security Update", + "Installed Date": "2016-06-16T00:00:00Z", + }, + { + "Id": "KB3160005", + "Description": "Security Update", + "Installed Date": "2016-06-16T00:00:00Z", + }, + { + "Id": "KB3161561", + "Description": "Security Update", + "Installed Date": "2016-06-16T00:00:00Z", + }, + { + "Id": "KB3161664", + "Description": "Security Update", + "Installed Date": "2016-06-16T00:00:00Z", + }, + { + "Id": "KB3161949", + "Description": "Security Update", + "Installed Date": "2016-06-16T00:00:00Z", + }, + { + "Id": "KB3161958", + "Description": "Security Update", + "Installed Date": "2016-06-16T00:00:00Z", + }, + { + "Id": "KB3162835", + "Description": "Update", + "Installed Date": "2016-06-16T00:00:00Z", + }, + { + "Id": "KB3164033", + "Description": "Security Update", + "Installed Date": "2016-06-16T00:00:00Z", + }, + { + "Id": "KB3164035", + "Description": "Security Update", + "Installed Date": "2016-06-16T00:00:00Z", + }, + { + "Id": "KB3135983", + "Description": "Security Update", + "Installed Date": "2016-04-20T00:00:00Z", + }, + { + "Id": "KB3138612", + "Description": "Update", + "Installed Date": "2016-04-20T00:00:00Z", + }, + { + "Id": "KB3139398", + "Description": "Security Update", + "Installed Date": "2016-04-20T00:00:00Z", + }, + { + "Id": "KB3139914", + "Description": "Security Update", + "Installed Date": "2016-04-20T00:00:00Z", + }, + { + "Id": "KB3139940", + "Description": "Security Update", + "Installed Date": "2016-04-20T00:00:00Z", + }, + { + "Id": "KB3140735", + "Description": "Security Update", + "Installed Date": "2016-04-20T00:00:00Z", + }, + { + "Id": "KB3142042", + "Description": "Security Update", + "Installed Date": "2016-04-20T00:00:00Z", + }, + { + "Id": "KB3145739", + "Description": "Security Update", + "Installed Date": "2016-04-20T00:00:00Z", + }, + { + "Id": "KB3146706", + "Description": "Security Update", + "Installed Date": "2016-04-20T00:00:00Z", + }, + { + "Id": "KB3146963", + "Description": "Security Update", + "Installed Date": "2016-04-20T00:00:00Z", + }, + { + "Id": "KB3148198", + "Description": "Security Update", + "Installed Date": "2016-04-20T00:00:00Z", + }, + { + "Id": "KB3148851", + "Description": "Update", + "Installed Date": "2016-04-20T00:00:00Z", + }, + { + "Id": "KB3149090", + "Description": "Security Update", + "Installed Date": "2016-04-20T00:00:00Z", + }, + { + "Id": "KB3122648", + "Description": "Security Update", + "Installed Date": "2016-03-28T00:00:00Z", + }, + { + "Id": "KB3126587", + "Description": "Security Update", + "Installed Date": "2016-03-28T00:00:00Z", + }, + { + "Id": "KB3126593", + "Description": "Security Update", + "Installed Date": "2016-03-28T00:00:00Z", + }, + { + "Id": "KB3127220", + "Description": "Security Update", + "Installed Date": "2016-03-28T00:00:00Z", + }, + { + "Id": "KB3133043", + "Description": "Security Update", + "Installed Date": "2016-03-28T00:00:00Z", + }, + { + "Id": "KB3134214", + "Description": "Security Update", + "Installed Date": "2016-03-28T00:00:00Z", + }, + { + "Id": "KB3134814", + "Description": "Security Update", + "Installed Date": "2016-03-28T00:00:00Z", + }, + { + "Id": "KB3141092", + "Description": "Update", + "Installed Date": "2016-03-28T00:00:00Z", + }, + { + "Id": "KB3072305", + "Description": "Security Update", + "Installed Date": "2016-02-09T00:00:00Z", + }, + { + "Id": "KB3108664", + "Description": "Security Update", + "Installed Date": "2016-02-09T00:00:00Z", + }, + { + "Id": "KB3109560", + "Description": "Security Update", + "Installed Date": "2016-02-09T00:00:00Z", + }, + { + "Id": "KB3110329", + "Description": "Security Update", + "Installed Date": "2016-02-09T00:00:00Z", + }, + { + "Id": "KB3121212", + "Description": "Security Update", + "Installed Date": "2016-02-09T00:00:00Z", + }, + { + "Id": "KB3121918", + "Description": "Security Update", + "Installed Date": "2016-02-09T00:00:00Z", + }, + { + "Id": "KB3123479", + "Description": "Security Update", + "Installed Date": "2016-02-09T00:00:00Z", + }, + { + "Id": "KB3124000", + "Description": "Security Update", + "Installed Date": "2016-02-09T00:00:00Z", + }, + { + "Id": "KB3124001", + "Description": "Security Update", + "Installed Date": "2016-02-09T00:00:00Z", + }, + { + "Id": "KB3124275", + "Description": "Security Update", + "Installed Date": "2016-02-09T00:00:00Z", + }, + { + "Id": "KB917607", + "Description": "Update", + "Installed Date": "2016-02-02T00:00:00Z", + }, + { + "Id": "KB2670838", + "Description": "Update", + "Installed Date": "2016-01-04T00:00:00Z", + }, + { + "Id": "KB2729094", + "Description": "Update", + "Installed Date": "2016-01-04T00:00:00Z", + }, + { + "Id": "KB2834140", + "Description": "Update", + "Installed Date": "2016-01-04T00:00:00Z", + }, + { + "Id": "KB2841134", + "Description": "Update", + "Installed Date": "2016-01-04T00:00:00Z", + }, + { + "Id": "KB2849696", + "Description": "Update", + "Installed Date": "2016-01-04T00:00:00Z", + }, + { + "Id": "KB2849697", + "Description": "Update", + "Installed Date": "2016-01-04T00:00:00Z", + }, + { + "Id": "KB2882822", + "Description": "Update", + "Installed Date": "2016-01-04T00:00:00Z", + }, + { + "Id": "KB2912390", + "Description": "Security Update", + "Installed Date": "2016-01-04T00:00:00Z", + }, + { + "Id": "KB2973351", + "Description": "Security Update", + "Installed Date": "2016-01-04T00:00:00Z", + }, + { + "Id": "KB3042058", + "Description": "Security Update", + "Installed Date": "2016-01-04T00:00:00Z", + }, + { + "Id": "KB3104002", + "Description": "Security Update", + "Installed Date": "2016-01-04T00:00:00Z", + }, + { + "Id": "KB2506014", + "Description": "Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2506212", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2509553", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2511455", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2536275", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2544893", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2552343", + "Description": "Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2560656", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2564958", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2570947", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2585542", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2604115", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2620704", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2621440", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2631813", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2643719", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2653956", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2654428", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2656356", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2667402", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2676562", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2685939", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2690533", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2698365", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2705219", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2706045", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2712808", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2718704", + "Description": "Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2729452", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2736422", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2742599", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2758857", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2765809", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2770660", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2786081", + "Description": "Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2789645", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2798162", + "Description": "Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2807986", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2813430", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2836942", + "Description": "Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2836943", + "Description": "Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2839894", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2840149", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2840631", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2861698", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2862152", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2862330", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2862335", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2862973", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2864202", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2868038", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2868116", + "Description": "Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2868626", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2871997", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2884256", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2887069", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2892074", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2893294", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2894844", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2900986", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2911501", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2929733", + "Description": "Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2931356", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2937610", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2943357", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2957189", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2968294", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2972100", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2972211", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2973112", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2973201", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2976897", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2977292", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2978120", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2984972", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2991963", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2992611", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2993651", + "Description": "Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3000483", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3003743", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3004361", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3004375", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3005607", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3006226", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3010788", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3011780", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3014029", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3018238", + "Description": "Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3019978", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3020369", + "Description": "Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3021674", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3022777", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3023215", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3030377", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3031432", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3032655", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3033889", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3033929", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3035126", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3035132", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3037574", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3042553", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3045685", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3046017", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3046269", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3055642", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3059317", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3060716", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3061518", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3068457", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3069392", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3071756", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3072595", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3072630", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3072633", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3074543", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3075220", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3076895", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3078601", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3080446", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3081320", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3084135", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3086255", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3087039", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3092601", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3097966", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3097989", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3099862", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3101246", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3101722", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3101746", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3108371", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3108381", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3108670", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3109094", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3109103", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3112343", + "Description": "Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB976902", + "Description": "Update", + "Installed Date": "2010-11-21T00:00:00Z", + }, + ], + }, + "installedSoftware": { + "columns": [ + {"field": "Name"}, + {"field": "Version"}, + {"field": "Installed Date"}, + ], + "data": [ + { + "Name": "Microsoft Application Error Reporting", + "Version": "12.0.6012.5000", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Sql Server Customer Experience Improvement Program", + "Version": "10.50.1600.1", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SIMATIC STEP 7 V5.5 + SP4 ", + "Version": "05.05.0400", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "OPC .NET API 2.00 Redistributables (x86) 101.0", + "Version": "2.00.10200", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft Visual C++ 2010 x64 Redistributable - 10.0.40219", + "Version": "10.0.40219", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft Visual C++ 2019 X86 Minimum Runtime - 14.20.27508", + "Version": "14.20.27508", + "Installed Date": "Jan 16 2020", + }, + { + "Name": "Microsoft Visual C++ 2010 x86 Redistributable - 10.0.40219", + "Version": "10.0.40219", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Siemens Totally Integrated Automation Portal V13 - HM NoBasic Single SetupPackage V13.0 SP1 UPD7", + "Version": "13.00.0100", + "Installed Date": "Feb 9 2016", + }, + { + "Name": "SIMATIC S7-PCT V3.2 ", + "Version": "03.02.0000", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "NETLink-S7-NET", + "Version": "3.5.0.3", + "Installed Date": "Aug 17 2020", + }, + { + "Name": "SQL Server 2008 R2 SP2 Database Engine Services", + "Version": "10.52.4000.0", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SQL Server 2008 R2 SP2 Database Engine Services", + "Version": "10.52.4000.0", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft Visual C++ 2005 Redistributable", + "Version": "8.0.59193", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft SQL Server 2008 Setup Support Files ", + "Version": "10.1.2731.0", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft SQL Server 2008 R2 RsFx Driver", + "Version": "10.52.4000.0", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Siemens Totally Integrated Automation Portal V13 - HM All Editions Single SetupPackage V13.0 SP1 UPD7", + "Version": "13.00.0100", + "Installed Date": "Feb 9 2016", + }, + { + "Name": "Microsoft Visual C++ 2019 X64 Minimum Runtime - 14.20.27508", + "Version": "14.20.27508", + "Installed Date": "Jan 16 2020", + }, + { + "Name": "SIMATIC WinCC/Audit Viewer 2008 SP2 ", + "Version": "07.02.0000", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Siemens Totally Integrated Automation Portal V13 - TIA Tour Single SetupPackage V13.0 + SP1", + "Version": "13.00.0100", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SIMATIC S7-Web2PLC V1.0 + SP2 + HF1 ", + "Version": "01.00.0201", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "Siemens Totally Integrated Automation Portal V13 - Hardware Support Base Package WCF-01 V13.0", + "Version": "13.00.0000", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "OPC Core Components Redistributable (x86) 101.2", + "Version": "3.00.10102", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft Visual C++ 2013 x64 Additional Runtime - 12.0.21005", + "Version": "12.0.21005", + "Installed Date": "Apr 20 2016", + }, + { + "Name": "Microsoft .NET Framework 4.5.2", + "Version": "4.5.51209", + "Installed Date": "May 27 2018", + }, + { + "Name": "SQL Server 2008 R2 SP2 Common Files", + "Version": "10.52.4000.0", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft Visual C++ 2008 Redistributable - x64 9.0.30729.6161", + "Version": "9.0.30729.6161", + "Installed Date": "Jan 3 2016", + }, + { + "Name": "WinCC Runtime Advanced V13.0 SP1 - SIMATIC WinCC Runtime Advanced V13.0 + SP1", + "Version": "13.00.0100", + "Installed Date": "Feb 9 2016", + }, + { + "Name": "Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.6161", + "Version": "9.0.30729.6161", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "MSXML 4.0 SP2 (KB973688)", + "Version": "4.20.9876.0", + "Installed Date": "Feb 9 2016", + }, + { + "Name": "Microsoft Visual C++ 2013 x64 Minimum Runtime - 12.0.21005", + "Version": "12.0.21005", + "Installed Date": "Apr 20 2016", + }, + { + "Name": "Siemens Totally Integrated Automation Portal V13 - Hardware Support Base Package 03 V13.0", + "Version": "13.00.0000", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft Visual C++ 2012 x64 Additional Runtime - 11.0.61030", + "Version": "11.0.61030", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft SQL Server Browser", + "Version": "10.52.4000.0", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft Visual C++ 2005 Redistributable (x64)", + "Version": "8.0.56336", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Totally Integrated Automation Portal V13 - TIA Portal Single SetupPackage V13.0 + SP1", + "Version": "13.00.0100", + "Installed Date": "Feb 9 2016", + }, + { + "Name": "SQL Server 2008 R2 SP2 Common Files", + "Version": "10.52.4000.0", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Siemens Automation License Manager V5.3 + SP2 + Upd2 ", + "Version": "05.03.0202", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft SQL Server 2008 R2 Native Client", + "Version": "10.52.4000.0", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft Visual C++ 2019 X86 Additional Runtime - 14.20.27508", + "Version": "14.20.27508", + "Installed Date": "Jan 16 2020", + }, + { + "Name": "WinCC Runtime Advanced V13.0 SP1 - HMIRTM Simulation Single SetupPackage V13.0 SP1 UPD7", + "Version": "13.00.0100", + "Installed Date": "Feb 9 2016", + }, + { + "Name": "Siemens Totally Integrated Automation Portal V13 - Simatic Single SetupPackage V13.0 SP1 UPD7", + "Version": "13.00.0100", + "Installed Date": "Feb 9 2016", + }, + { + "Name": "Siemens Totally Integrated Automation Portal V13 - Hardware Support Base Package 0 V13.0", + "Version": "13.00.0000", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft Primary Interoperability Assemblies 2005", + "Version": "8.0.50727.42", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Siemens Totally Integrated Automation Portal V13 - Hardware Support Base Package 02 V13.0", + "Version": "13.00.0000", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft Visual C++ 2005 Redistributable (x64)", + "Version": "8.0.59192", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft SQL Server 2008 R2 Setup (English)", + "Version": "10.52.4000.0", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft SOAP Toolkit 3.0", + "Version": "3.0.1325.4", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SIMATIC Prosave V13.0 SP1 ", + "Version": "13.00.0100", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "License Logon Interface", + "Version": "04.00.0300", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "SIMATIC Process Diagnosis Database", + "Version": "5.3", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "SIMATIC DIAGNOSTIC REPEATER GUI CTRL", + "Version": "05.02.0300", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "Microsoft Visual C++ 2008 Redistributable - x64 9.0.30729.17", + "Version": "9.0.30729", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft Visual C++ 2005 Redistributable", + "Version": "8.0.56336", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.4148", + "Version": "9.0.30729.4148", + "Installed Date": "Jan 3 2016", + }, + { + "Name": "Automation Software Updater", + "Version": "02.05.0000", + "Installed Date": "Feb 3 2020", + }, + { + "Name": "MSXML 4.0 SP2 (KB954430)", + "Version": "4.20.9870.0", + "Installed Date": "Feb 9 2016", + }, + { + "Name": "SeCon", + "Version": "02.02.0000", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "VMware Tools", + "Version": "11.0.1.14773994", + "Installed Date": "Jan 16 2020", + }, + { + "Name": "Microsoft Visual C++ 2019 X64 Additional Runtime - 14.20.27508", + "Version": "14.20.27508", + "Installed Date": "Jan 16 2020", + }, + { + "Name": "Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.17", + "Version": "9.0.30729", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SIMATIC Extended Interfaces", + "Version": "05.04.0600", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "SIMATIC Colour Editor", + "Version": "05.01.1600", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SIMATIC NCM FWL 64", + "Version": "05.05.0400", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "PKZIP Server for Windows 12.40.0008", + "Version": "12.40.0008", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Siemens Totally Integrated Automation Portal V13 - TIACOMPCHECK Single SetupPackage V13.0 + SP1 + Upd7", + "Version": "13.00.0107", + "Installed Date": "Feb 9 2016", + }, + { + "Name": "SIMATIC Device Drivers WoW", + "Version": "29.00.0700", + "Installed Date": "Feb 9 2016", + }, + { + "Name": "SIMATIC Process Diagnosis Base", + "Version": "5.3", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "SIMATIC HMI Symbol Library", + "Version": "13.00.0100", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SQL Server 2008 R2 SP2 Database Engine Shared", + "Version": "10.52.4000.0", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft Visual C++ 2012 x86 Minimum Runtime - 11.0.61030", + "Version": "11.0.61030", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SIMATIC Device Drivers", + "Version": "09.00.0700", + "Installed Date": "Feb 9 2016", + }, + { + "Name": "SIMATIC Interface Editor", + "Version": "05.04.1800", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "SIMATIC HMI Touch Input", + "Version": "13.00.0100", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft Visual C++ 2012 x86 Additional Runtime - 11.0.61030", + "Version": "11.0.61030", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "WinCC Runtime Advanced Simulator", + "Version": "13.00.0100", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SIMATIC Grid Control", + "Version": "02.06.0000", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "SIMATIC GSD CONTROL", + "Version": "03.05.0600", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "SIMATIC HMI ProSave", + "Version": "13.00.0100", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "OPC UA SDK 1.1 Redistributables 331.0", + "Version": "1.01.33100", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SIMATIC HMI License Manager Panel Plugin (x64)", + "Version": "13.00.0100", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SIMATIC GSD Interpreter", + "Version": "02.04.0200", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "SIMATIC Common Services", + "Version": "05.03.1500", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "SIMATIC NCM", + "Version": "05.05.0400", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "SQL Server 2008 R2 SP2 Database Engine Shared", + "Version": "10.52.4000.0", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SIMATIC WinCC Runtime Advanced Driver (x64)", + "Version": "13.00.0100", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SIMATIC LanguageSupportTool", + "Version": "05.08.0300", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "SIMATIC Version View", + "Version": "01.07.0900", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "Siemens Totally Integrated Automation Portal V13 - WinCC Single SetupPackage V13.0 SP1 UPD7", + "Version": "13.00.0100", + "Installed Date": "Feb 9 2016", + }, + { + "Name": "Microsoft Visual C++ 2012 x64 Minimum Runtime - 11.0.61030", + "Version": "11.0.61030", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SIEMENS OPC", + "Version": "03.09.0502", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SIMATIC Event Database", + "Version": "05.05.0402", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SIMATIC X-Ref Control", + "Version": "05.02.0800", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "SIMATIC S7-Block Privacy V1.0 + SP3 ", + "Version": "01.00.0300", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "VC User 71 RTL X86 ---", + "Version": "1.0", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Automation Access Control Component", + "Version": "04.00.0100", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "SIMATIC S7-Status-OCX", + "Version": "05.03.1100", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "SIMATIC Technological Parameter Assignment", + "Version": "05.03.1100", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "Microsoft SQL Server VSS Writer", + "Version": "10.52.4000.0", + "Installed Date": "Feb 2 2016", + }, + ], + }, + "devicesAndDrives": { + "columns": [ + {"field": "Name"}, + {"field": "Drive Letter"}, + {"field": "Capacity", "format": "Bytes"}, + {"field": "Device Type"}, + ], + "data": [ + { + "Name": "System Reserved", + "Drive Letter": "", + "Capacity": 104853504, + "Device Type": "Unknown", + }, + { + "Name": "", + "Drive Letter": "C:", + "Capacity": 42842714112, + "Device Type": "Unknown", + }, + { + "Name": "", + "Drive Letter": "D:", + "Capacity": 0, + "Device Type": "Unknown", + }, + ], + }, + }, + "family": None, + "firmwareVersion": None, + "firstSeen": "2021-04-11T21:00:09.154979Z", + "hidden": True, + "id": "e419cab7-4a5a-4f0d-a05f-982928919eba", + "ips": {"nodes": ["10.100.30.37"]}, + "lastSeen": "2021-06-25T13:02:37.178997Z", + "lastUpdate": "2022-10-04T02:18:54.78456Z", + "location": None, + "macs": {"nodes": []}, + "model": None, + "name": "STEP7", + "os": "Windows Server 2008 R2", + "osDetails": { + "name": "Microsoft Windows Server 2008 R2 Standard ", + "architecture": "64-bit", + "hotFixes": { + "nodes": [ + { + "name": "KB4095874", + "installDate": "2018-05-27T00:00:00Z", + "description": "Update", + }, + { + "name": "KB4103768", + "installDate": "2018-05-27T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB4103718", + "installDate": "2018-05-27T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB4019990", + "installDate": "2018-05-27T00:00:00Z", + "description": "Update", + }, + { + "name": "KB3167679", + "installDate": "2016-08-31T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3177723", + "installDate": "2016-08-31T00:00:00Z", + "description": "Update", + }, + { + "name": "KB3168965", + "installDate": "2016-08-29T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3170455", + "installDate": "2016-08-29T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3175443", + "installDate": "2016-08-29T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3177725", + "installDate": "2016-08-29T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3178034", + "installDate": "2016-08-29T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3163245", + "installDate": "2016-08-29T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3142024", + "installDate": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3156017", + "installDate": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3164033", + "installDate": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3156019", + "installDate": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3164035", + "installDate": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3159398", + "installDate": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3160005", + "installDate": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3161561", + "installDate": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3161664", + "installDate": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3161949", + "installDate": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3161958", + "installDate": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3153171", + "installDate": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3162835", + "installDate": "2016-06-16T00:00:00Z", + "description": "Update", + }, + { + "name": "KB3156016", + "installDate": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3142042", + "installDate": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3145739", + "installDate": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3135983", + "installDate": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3146706", + "installDate": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3138612", + "installDate": "2016-04-20T00:00:00Z", + "description": "Update", + }, + { + "name": "KB3146963", + "installDate": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3139398", + "installDate": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3148198", + "installDate": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3139914", + "installDate": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3148851", + "installDate": "2016-04-20T00:00:00Z", + "description": "Update", + }, + { + "name": "KB3139940", + "installDate": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3149090", + "installDate": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3140735", + "installDate": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3133043", + "installDate": "2016-03-28T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3134214", + "installDate": "2016-03-28T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3122648", + "installDate": "2016-03-28T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3134814", + "installDate": "2016-03-28T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3126587", + "installDate": "2016-03-28T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3126593", + "installDate": "2016-03-28T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3127220", + "installDate": "2016-03-28T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3141092", + "installDate": "2016-03-28T00:00:00Z", + "description": "Update", + }, + { + "name": "KB3072305", + "installDate": "2016-02-09T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3121212", + "installDate": "2016-02-09T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3121918", + "installDate": "2016-02-09T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3108664", + "installDate": "2016-02-09T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3123479", + "installDate": "2016-02-09T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3124000", + "installDate": "2016-02-09T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3124001", + "installDate": "2016-02-09T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3124275", + "installDate": "2016-02-09T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3109560", + "installDate": "2016-02-09T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3110329", + "installDate": "2016-02-09T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB917607", + "installDate": "2016-02-02T00:00:00Z", + "description": "Update", + }, + { + "name": "KB2849697", + "installDate": "2016-01-04T00:00:00Z", + "description": "Update", + }, + { + "name": "KB2849696", + "installDate": "2016-01-04T00:00:00Z", + "description": "Update", + }, + { + "name": "KB2841134", + "installDate": "2016-01-04T00:00:00Z", + "description": "Update", + }, + { + "name": "KB2670838", + "installDate": "2016-01-04T00:00:00Z", + "description": "Update", + }, + { + "name": "KB2729094", + "installDate": "2016-01-04T00:00:00Z", + "description": "Update", + }, + { + "name": "KB2834140", + "installDate": "2016-01-04T00:00:00Z", + "description": "Update", + }, + { + "name": "KB2882822", + "installDate": "2016-01-04T00:00:00Z", + "description": "Update", + }, + { + "name": "KB2912390", + "installDate": "2016-01-04T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2973351", + "installDate": "2016-01-04T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3104002", + "installDate": "2016-01-04T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3042058", + "installDate": "2016-01-04T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2506014", + "installDate": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "name": "KB2506212", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2509553", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2511455", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2536275", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2544893", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2552343", + "installDate": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "name": "KB2560656", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2564958", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2570947", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2585542", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2604115", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2620704", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2621440", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2631813", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2643719", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2653956", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2654428", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2656356", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2667402", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2676562", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2685939", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2690533", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2698365", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2705219", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2706045", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2712808", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2718704", + "installDate": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "name": "KB2729452", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2736422", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2742599", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2758857", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2765809", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2770660", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2786081", + "installDate": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "name": "KB2789645", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2798162", + "installDate": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "name": "KB2807986", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2813430", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2836942", + "installDate": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "name": "KB2836943", + "installDate": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "name": "KB2839894", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2840149", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2840631", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2861698", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2862152", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2862330", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2862335", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2862973", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2864202", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2868038", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2868116", + "installDate": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "name": "KB2868626", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2871997", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2884256", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2887069", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2892074", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2893294", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2894844", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2900986", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2911501", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2929733", + "installDate": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "name": "KB2931356", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2937610", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2943357", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2957189", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2968294", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2972100", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2972211", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2973112", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2973201", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2976897", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2977292", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2978120", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3006226", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3030377", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3045685", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3084135", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2984972", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3010788", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3031432", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3046017", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3072595", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3086255", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3108371", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2991963", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3011780", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3032655", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3046269", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3072630", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3087039", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3108381", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2992611", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3014029", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3033889", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3055642", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3072633", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3092601", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB2993651", + "installDate": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "name": "KB3018238", + "installDate": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "name": "KB3033929", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3059317", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3074543", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3097966", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3108670", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3000483", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3019978", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3035126", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3060716", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3075220", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3097989", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3109094", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3003743", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3020369", + "installDate": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "name": "KB3035132", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3061518", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3076895", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3099862", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3109103", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3004361", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3021674", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3037574", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3068457", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3078601", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3101246", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3004375", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3022777", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3069392", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3080446", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3101722", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3005607", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3023215", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3042553", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3071756", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3081320", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3101746", + "installDate": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "name": "KB3112343", + "installDate": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "name": "KB976902", + "installDate": "2010-11-21T00:00:00Z", + "description": "Update", + }, + ] + }, + "version": "6.1.7601", + }, + "purdueLevel": "Level3", + "runStatus": "Unknown", + "runStatusTime": "0001-01-01T00:00:00Z", + "serial": None, + "slot": None, + "superType": "Server", + "type": "Server", + "vendor": None, + "risk": {"unresolvedEvents": 0, "totalRisk": 0}, + "backplane": None, + "segments": { + "nodes": [ + { + "id": "59161089-c6f7-4f8c-90a3-92f5be9d3b9d", + "name": "Server / 10.100.30.X", + "type": "Segment", + "key": "AG1-20", + "systemName": "Server / 10.100.30.X", + "vlan": None, + "description": None, + "assetType": "Server", + "subnet": "10.100.30.X", + } + ] + }, + "revisions": {"nodes": []}, + "plugins": { + "nodes": [ + { + "id": 10107, + "name": "HTTP Server Type and Version", + "source": "Nessus", + "family": "Web Servers", + "severity": "Info", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 8, + }, + { + "id": 19506, + "name": "Nessus Scan Information", + "source": "Nessus", + "family": "Settings", + "severity": "Info", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 10, + }, + { + "id": 22964, + "name": "Service Detection", + "source": "Nessus", + "family": "Service detection", + "severity": "Info", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 9, + }, + { + "id": 56984, + "name": "SSL / TLS Versions Supported", + "source": "Nessus", + "family": "General", + "severity": "Info", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 9, + }, + ] + }, + } + ], + } + } + }, + ) + + expected = Asset( + backplane=None, + category="NetworkAssetsCategory", + criticality="LowCriticality", + description=None, + details={ + "id": "e419cab7-4a5a-4f0d-a05f-982928919eba", + "name": "STEP7", + "firstSeen": "2021-04-11T21:00:09.154979Z", + "lastSeen": "2021-06-25T13:02:37.178997Z", + "macs": [], + "ips": ["10.100.30.37"], + "type": "Server", + "superType": "Server", + "category": "NetworkAssetsCategory", + "purdueLevel": "Level3", + "runStatus": "Unknown", + "runStatusTime": "0001-01-01T00:00:00Z", + "os": "Windows Server 2008 R2", + "rawFamily": "UnknownFamily", + "risk": 0, + "criticality": "LowCriticality", + "hidden": True, + "lastUpdate": "2022-10-04T02:18:54.78456Z", + "classificationIncidents": [ + "DirectConnectorIncident", + "WindowsServerWmiIncident", + ], + "hardware": { + "numOfProcessors": "2", + "cpu": "Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz", + "cpuSpeed": 2597, + "cpuLoad": 2, + "cpuArchitecture": "x64", + "cpuRevision": 16128, + "totalPhysicalMemory": 2146951168, + "usedPhysicalMemory": 952430592, + "freePhysicalMemory": 1194520576, + "totalVirtualMemory": 4293902336, + "usedVirtualMemory": 2070228992, + "freeVirtualMemory": 2223673344, + "biosVersion": "6.00", + "biosSerial": "VMware-42 12 e4 83 95 a1 87 7a-07 1c c1 c2 05 a6 41 81", + "biosMajor": 2, + "biosMinor": 4, + "csManufacturer": "VMware, Inc.", + "csModel": "VMware Virtual Platform", + "devicesAndDrives": [ + { + "name": "System Reserved", + "capacity": 104853504, + "driveLetter": "", + "deviceType": "Unknown", + }, + { + "name": "", + "capacity": 42842714112, + "driveLetter": "C:", + "deviceType": "Unknown", + }, + { + "name": "", + "capacity": 0, + "driveLetter": "D:", + "deviceType": "Unknown", + }, + ], + }, + "names": [ + { + "id": "e419cab7-4a5a-4f0d-a05f-982928919eba", + "source": "Default", + "value": "Server #7", + }, + { + "id": "e419cab7-4a5a-4f0d-a05f-982928919eba", + "source": "Wmi", + "value": "STEP7", + }, + { + "id": "e419cab7-4a5a-4f0d-a05f-982928919eba", + "source": "Chosen", + "value": "STEP7", + }, + { + "id": "e419cab7-4a5a-4f0d-a05f-982928919eba", + "source": "Dns", + "value": "ipaserver.indegy.local", + }, + ], + "windows": { + "osName": "Microsoft Windows Server 2008 R2 Standard ", + "computerName": "STEP7", + "version": "6.1.7601", + "servicepackMajor": 1, + "servicepackMinor": 0, + "buildType": "Multiprocessor Free", + "buildNumber": "7601", + "osArchitecture": "64-bit", + "serialNumber": "55041-507-9059273-84698", + "registeredUser": "Windows User", + "installDate": "2016-01-04T00:26:08Z", + "lastBootUpTime": "2021-01-30T16:13:42.359599Z", + "csDomain": "WORKGROUP", + "hotFixes": [ + { + "hotFixId": "KB4019990", + "installedOn": "2018-05-27T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB4095874", + "installedOn": "2018-05-27T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB4103718", + "installedOn": "2018-05-27T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB4103768", + "installedOn": "2018-05-27T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3167679", + "installedOn": "2016-08-31T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3177723", + "installedOn": "2016-08-31T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB3163245", + "installedOn": "2016-08-29T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3168965", + "installedOn": "2016-08-29T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3170455", + "installedOn": "2016-08-29T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3175443", + "installedOn": "2016-08-29T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3177725", + "installedOn": "2016-08-29T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3178034", + "installedOn": "2016-08-29T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3142024", + "installedOn": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3153171", + "installedOn": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3156016", + "installedOn": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3156017", + "installedOn": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3156019", + "installedOn": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3159398", + "installedOn": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3160005", + "installedOn": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3161561", + "installedOn": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3161664", + "installedOn": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3161949", + "installedOn": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3161958", + "installedOn": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3162835", + "installedOn": "2016-06-16T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB3164033", + "installedOn": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3164035", + "installedOn": "2016-06-16T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3135983", + "installedOn": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3138612", + "installedOn": "2016-04-20T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB3139398", + "installedOn": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3139914", + "installedOn": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3139940", + "installedOn": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3140735", + "installedOn": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3142042", + "installedOn": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3145739", + "installedOn": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3146706", + "installedOn": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3146963", + "installedOn": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3148198", + "installedOn": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3148851", + "installedOn": "2016-04-20T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB3149090", + "installedOn": "2016-04-20T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3122648", + "installedOn": "2016-03-28T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3126587", + "installedOn": "2016-03-28T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3126593", + "installedOn": "2016-03-28T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3127220", + "installedOn": "2016-03-28T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3133043", + "installedOn": "2016-03-28T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3134214", + "installedOn": "2016-03-28T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3134814", + "installedOn": "2016-03-28T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3141092", + "installedOn": "2016-03-28T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB3072305", + "installedOn": "2016-02-09T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3108664", + "installedOn": "2016-02-09T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3109560", + "installedOn": "2016-02-09T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3110329", + "installedOn": "2016-02-09T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3121212", + "installedOn": "2016-02-09T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3121918", + "installedOn": "2016-02-09T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3123479", + "installedOn": "2016-02-09T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3124000", + "installedOn": "2016-02-09T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3124001", + "installedOn": "2016-02-09T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3124275", + "installedOn": "2016-02-09T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB917607", + "installedOn": "2016-02-02T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2670838", + "installedOn": "2016-01-04T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2729094", + "installedOn": "2016-01-04T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2834140", + "installedOn": "2016-01-04T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2841134", + "installedOn": "2016-01-04T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2849696", + "installedOn": "2016-01-04T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2849697", + "installedOn": "2016-01-04T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2882822", + "installedOn": "2016-01-04T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2912390", + "installedOn": "2016-01-04T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2973351", + "installedOn": "2016-01-04T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3042058", + "installedOn": "2016-01-04T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3104002", + "installedOn": "2016-01-04T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2506014", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2506212", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2509553", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2511455", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2536275", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2544893", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2552343", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2560656", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2564958", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2570947", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2585542", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2604115", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2620704", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2621440", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2631813", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2643719", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2653956", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2654428", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2656356", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2667402", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2676562", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2685939", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2690533", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2698365", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2705219", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2706045", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2712808", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2718704", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2729452", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2736422", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2742599", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2758857", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2765809", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2770660", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2786081", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2789645", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2798162", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2807986", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2813430", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2836942", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2836943", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2839894", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2840149", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2840631", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2861698", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2862152", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2862330", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2862335", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2862973", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2864202", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2868038", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2868116", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2868626", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2871997", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2884256", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2887069", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2892074", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2893294", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2894844", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2900986", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2911501", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2929733", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB2931356", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2937610", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2943357", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2957189", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2968294", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2972100", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2972211", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2973112", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2973201", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2976897", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2977292", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2978120", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2984972", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2991963", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2992611", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB2993651", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB3000483", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3003743", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3004361", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3004375", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3005607", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3006226", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3010788", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3011780", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3014029", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3018238", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB3019978", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3020369", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB3021674", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3022777", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3023215", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3030377", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3031432", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3032655", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3033889", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3033929", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3035126", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3035132", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3037574", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3042553", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3045685", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3046017", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3046269", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3055642", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3059317", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3060716", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3061518", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3068457", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3069392", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3071756", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3072595", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3072630", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3072633", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3074543", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3075220", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3076895", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3078601", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3080446", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3081320", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3084135", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3086255", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3087039", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3092601", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3097966", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3097989", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3099862", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3101246", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3101722", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3101746", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3108371", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3108381", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3108670", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3109094", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3109103", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Security Update", + }, + { + "hotFixId": "KB3112343", + "installedOn": "2016-01-03T00:00:00Z", + "description": "Update", + }, + { + "hotFixId": "KB976902", + "installedOn": "2010-11-21T00:00:00Z", + "description": "Update", + }, + ], + "installedSoftware": [ + { + "name": "Microsoft Application Error Reporting", + "version": "12.0.6012.5000", + "installDate": "Feb 2 2016", + }, + { + "name": "Sql Server Customer Experience Improvement Program", + "version": "10.50.1600.1", + "installDate": "Feb 2 2016", + }, + { + "name": "SIMATIC STEP 7 V5.5 + SP4 ", + "version": "05.05.0400", + "installDate": "Jul 10 2017", + }, + { + "name": "OPC .NET API 2.00 Redistributables (x86) 101.0", + "version": "2.00.10200", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft Visual C++ 2010 x64 Redistributable - 10.0.40219", + "version": "10.0.40219", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft Visual C++ 2019 X86 Minimum Runtime - 14.20.27508", + "version": "14.20.27508", + "installDate": "Jan 16 2020", + }, + { + "name": "Microsoft Visual C++ 2010 x86 Redistributable - 10.0.40219", + "version": "10.0.40219", + "installDate": "Feb 2 2016", + }, + { + "name": "Siemens Totally Integrated Automation Portal V13 - HM NoBasic Single SetupPackage V13.0 SP1 UPD7", + "version": "13.00.0100", + "installDate": "Feb 9 2016", + }, + { + "name": "SIMATIC S7-PCT V3.2 ", + "version": "03.02.0000", + "installDate": "Jul 10 2017", + }, + { + "name": "NETLink-S7-NET", + "version": "3.5.0.3", + "installDate": "Aug 17 2020", + }, + { + "name": "SQL Server 2008 R2 SP2 Database Engine Services", + "version": "10.52.4000.0", + "installDate": "Feb 2 2016", + }, + { + "name": "SQL Server 2008 R2 SP2 Database Engine Services", + "version": "10.52.4000.0", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft Visual C++ 2005 Redistributable", + "version": "8.0.59193", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft SQL Server 2008 Setup Support Files ", + "version": "10.1.2731.0", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft SQL Server 2008 R2 RsFx Driver", + "version": "10.52.4000.0", + "installDate": "Feb 2 2016", + }, + { + "name": "Siemens Totally Integrated Automation Portal V13 - HM All Editions Single SetupPackage V13.0 SP1 UPD7", + "version": "13.00.0100", + "installDate": "Feb 9 2016", + }, + { + "name": "Microsoft Visual C++ 2019 X64 Minimum Runtime - 14.20.27508", + "version": "14.20.27508", + "installDate": "Jan 16 2020", + }, + { + "name": "SIMATIC WinCC/Audit Viewer 2008 SP2 ", + "version": "07.02.0000", + "installDate": "Feb 2 2016", + }, + { + "name": "Siemens Totally Integrated Automation Portal V13 - TIA Tour Single SetupPackage V13.0 + SP1", + "version": "13.00.0100", + "installDate": "Feb 2 2016", + }, + { + "name": "SIMATIC S7-Web2PLC V1.0 + SP2 + HF1 ", + "version": "01.00.0201", + "installDate": "Jul 10 2017", + }, + { + "name": "Siemens Totally Integrated Automation Portal V13 - Hardware Support Base Package WCF-01 V13.0", + "version": "13.00.0000", + "installDate": "Feb 2 2016", + }, + { + "name": "OPC Core Components Redistributable (x86) 101.2", + "version": "3.00.10102", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft Visual C++ 2013 x64 Additional Runtime - 12.0.21005", + "version": "12.0.21005", + "installDate": "Apr 20 2016", + }, + { + "name": "Microsoft .NET Framework 4.5.2", + "version": "4.5.51209", + "installDate": "May 27 2018", + }, + { + "name": "SQL Server 2008 R2 SP2 Common Files", + "version": "10.52.4000.0", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft Visual C++ 2008 Redistributable - x64 9.0.30729.6161", + "version": "9.0.30729.6161", + "installDate": "Jan 3 2016", + }, + { + "name": "WinCC Runtime Advanced V13.0 SP1 - SIMATIC WinCC Runtime Advanced V13.0 + SP1", + "version": "13.00.0100", + "installDate": "Feb 9 2016", + }, + { + "name": "Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.6161", + "version": "9.0.30729.6161", + "installDate": "Feb 2 2016", + }, + { + "name": "MSXML 4.0 SP2 (KB973688)", + "version": "4.20.9876.0", + "installDate": "Feb 9 2016", + }, + { + "name": "Microsoft Visual C++ 2013 x64 Minimum Runtime - 12.0.21005", + "version": "12.0.21005", + "installDate": "Apr 20 2016", + }, + { + "name": "Siemens Totally Integrated Automation Portal V13 - Hardware Support Base Package 03 V13.0", + "version": "13.00.0000", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft Visual C++ 2012 x64 Additional Runtime - 11.0.61030", + "version": "11.0.61030", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft SQL Server Browser", + "version": "10.52.4000.0", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft Visual C++ 2005 Redistributable (x64)", + "version": "8.0.56336", + "installDate": "Feb 2 2016", + }, + { + "name": "Totally Integrated Automation Portal V13 - TIA Portal Single SetupPackage V13.0 + SP1", + "version": "13.00.0100", + "installDate": "Feb 9 2016", + }, + { + "name": "SQL Server 2008 R2 SP2 Common Files", + "version": "10.52.4000.0", + "installDate": "Feb 2 2016", + }, + { + "name": "Siemens Automation License Manager V5.3 + SP2 + Upd2 ", + "version": "05.03.0202", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft SQL Server 2008 R2 Native Client", + "version": "10.52.4000.0", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft Visual C++ 2019 X86 Additional Runtime - 14.20.27508", + "version": "14.20.27508", + "installDate": "Jan 16 2020", + }, + { + "name": "WinCC Runtime Advanced V13.0 SP1 - HMIRTM Simulation Single SetupPackage V13.0 SP1 UPD7", + "version": "13.00.0100", + "installDate": "Feb 9 2016", + }, + { + "name": "Siemens Totally Integrated Automation Portal V13 - Simatic Single SetupPackage V13.0 SP1 UPD7", + "version": "13.00.0100", + "installDate": "Feb 9 2016", + }, + { + "name": "Siemens Totally Integrated Automation Portal V13 - Hardware Support Base Package 0 V13.0", + "version": "13.00.0000", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft Primary Interoperability Assemblies 2005", + "version": "8.0.50727.42", + "installDate": "Feb 2 2016", + }, + { + "name": "Siemens Totally Integrated Automation Portal V13 - Hardware Support Base Package 02 V13.0", + "version": "13.00.0000", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft Visual C++ 2005 Redistributable (x64)", + "version": "8.0.59192", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft SQL Server 2008 R2 Setup (English)", + "version": "10.52.4000.0", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft SOAP Toolkit 3.0", + "version": "3.0.1325.4", + "installDate": "Feb 2 2016", + }, + { + "name": "SIMATIC Prosave V13.0 SP1 ", + "version": "13.00.0100", + "installDate": "Feb 2 2016", + }, + { + "name": "License Logon Interface", + "version": "04.00.0300", + "installDate": "Jul 10 2017", + }, + { + "name": "SIMATIC Process Diagnosis Database", + "version": "5.3", + "installDate": "Jul 10 2017", + }, + { + "name": "SIMATIC DIAGNOSTIC REPEATER GUI CTRL", + "version": "05.02.0300", + "installDate": "Jul 10 2017", + }, + { + "name": "Microsoft Visual C++ 2008 Redistributable - x64 9.0.30729.17", + "version": "9.0.30729", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft Visual C++ 2005 Redistributable", + "version": "8.0.56336", + "installDate": "Jul 10 2017", + }, + { + "name": "Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.4148", + "version": "9.0.30729.4148", + "installDate": "Jan 3 2016", + }, + { + "name": "Automation Software Updater", + "version": "02.05.0000", + "installDate": "Feb 3 2020", + }, + { + "name": "MSXML 4.0 SP2 (KB954430)", + "version": "4.20.9870.0", + "installDate": "Feb 9 2016", + }, + { + "name": "SeCon", + "version": "02.02.0000", + "installDate": "Feb 2 2016", + }, + { + "name": "VMware Tools", + "version": "11.0.1.14773994", + "installDate": "Jan 16 2020", + }, + { + "name": "Microsoft Visual C++ 2019 X64 Additional Runtime - 14.20.27508", + "version": "14.20.27508", + "installDate": "Jan 16 2020", + }, + { + "name": "Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.17", + "version": "9.0.30729", + "installDate": "Feb 2 2016", + }, + { + "name": "SIMATIC Extended Interfaces", + "version": "05.04.0600", + "installDate": "Jul 10 2017", + }, + { + "name": "SIMATIC Colour Editor", + "version": "05.01.1600", + "installDate": "Feb 2 2016", + }, + { + "name": "SIMATIC NCM FWL 64", + "version": "05.05.0400", + "installDate": "Jul 10 2017", + }, + { + "name": "PKZIP Server for Windows 12.40.0008", + "version": "12.40.0008", + "installDate": "Feb 2 2016", + }, + { + "name": "Siemens Totally Integrated Automation Portal V13 - TIACOMPCHECK Single SetupPackage V13.0 + SP1 + Upd7", + "version": "13.00.0107", + "installDate": "Feb 9 2016", + }, + { + "name": "SIMATIC Device Drivers WoW", + "version": "29.00.0700", + "installDate": "Feb 9 2016", + }, + { + "name": "SIMATIC Process Diagnosis Base", + "version": "5.3", + "installDate": "Jul 10 2017", + }, + { + "name": "SIMATIC HMI Symbol Library", + "version": "13.00.0100", + "installDate": "Feb 2 2016", + }, + { + "name": "SQL Server 2008 R2 SP2 Database Engine Shared", + "version": "10.52.4000.0", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft Visual C++ 2012 x86 Minimum Runtime - 11.0.61030", + "version": "11.0.61030", + "installDate": "Feb 2 2016", + }, + { + "name": "SIMATIC Device Drivers", + "version": "09.00.0700", + "installDate": "Feb 9 2016", + }, + { + "name": "SIMATIC Interface Editor", + "version": "05.04.1800", + "installDate": "Jul 10 2017", + }, + { + "name": "SIMATIC HMI Touch Input", + "version": "13.00.0100", + "installDate": "Feb 2 2016", + }, + { + "name": "Microsoft Visual C++ 2012 x86 Additional Runtime - 11.0.61030", + "version": "11.0.61030", + "installDate": "Feb 2 2016", + }, + { + "name": "WinCC Runtime Advanced Simulator", + "version": "13.00.0100", + "installDate": "Feb 2 2016", + }, + { + "name": "SIMATIC Grid Control", + "version": "02.06.0000", + "installDate": "Jul 10 2017", + }, + { + "name": "SIMATIC GSD CONTROL", + "version": "03.05.0600", + "installDate": "Jul 10 2017", + }, + { + "name": "SIMATIC HMI ProSave", + "version": "13.00.0100", + "installDate": "Feb 2 2016", + }, + { + "name": "OPC UA SDK 1.1 Redistributables 331.0", + "version": "1.01.33100", + "installDate": "Feb 2 2016", + }, + { + "name": "SIMATIC HMI License Manager Panel Plugin (x64)", + "version": "13.00.0100", + "installDate": "Feb 2 2016", + }, + { + "name": "SIMATIC GSD Interpreter", + "version": "02.04.0200", + "installDate": "Jul 10 2017", + }, + { + "name": "SIMATIC Common Services", + "version": "05.03.1500", + "installDate": "Jul 10 2017", + }, + { + "name": "SIMATIC NCM", + "version": "05.05.0400", + "installDate": "Jul 10 2017", + }, + { + "name": "SQL Server 2008 R2 SP2 Database Engine Shared", + "version": "10.52.4000.0", + "installDate": "Feb 2 2016", + }, + { + "name": "SIMATIC WinCC Runtime Advanced Driver (x64)", + "version": "13.00.0100", + "installDate": "Feb 2 2016", + }, + { + "name": "SIMATIC LanguageSupportTool", + "version": "05.08.0300", + "installDate": "Jul 10 2017", + }, + { + "name": "SIMATIC Version View", + "version": "01.07.0900", + "installDate": "Jul 10 2017", + }, + { + "name": "Siemens Totally Integrated Automation Portal V13 - WinCC Single SetupPackage V13.0 SP1 UPD7", + "version": "13.00.0100", + "installDate": "Feb 9 2016", + }, + { + "name": "Microsoft Visual C++ 2012 x64 Minimum Runtime - 11.0.61030", + "version": "11.0.61030", + "installDate": "Feb 2 2016", + }, + { + "name": "SIEMENS OPC", + "version": "03.09.0502", + "installDate": "Feb 2 2016", + }, + { + "name": "SIMATIC Event Database", + "version": "05.05.0402", + "installDate": "Feb 2 2016", + }, + { + "name": "SIMATIC X-Ref Control", + "version": "05.02.0800", + "installDate": "Jul 10 2017", + }, + { + "name": "SIMATIC S7-Block Privacy V1.0 + SP3 ", + "version": "01.00.0300", + "installDate": "Jul 10 2017", + }, + { + "name": "VC User 71 RTL X86 ---", + "version": "1.0", + "installDate": "Feb 2 2016", + }, + { + "name": "Automation Access Control Component", + "version": "04.00.0100", + "installDate": "Jul 10 2017", + }, + { + "name": "SIMATIC S7-Status-OCX", + "version": "05.03.1100", + "installDate": "Jul 10 2017", + }, + { + "name": "SIMATIC Technological Parameter Assignment", + "version": "05.03.1100", + "installDate": "Jul 10 2017", + }, + { + "name": "Microsoft SQL Server VSS Writer", + "version": "10.52.4000.0", + "installDate": "Feb 2 2016", + }, + ], + }, + "customFields": [ + ["customField1", "Building", "PlainText"], + ["customField10", "Line", "PlainText"], + ["customField2", "Point of Contact", "PlainText"], + ["customField4", "Vertical", "PlainText"], + ["customField5", "Geo-Location", "HyperLink"], + ["customField7", "Revisions", "PlainText"], + ["customField8", "Temp", "PlainText"], + ["customField6", "TAGS OR OTHER NAME", "PlainText"], + ["customField3", "map", "HyperLink"], + ], + "directIp": "10.100.30.37", + "directIps": None, + "directMac": None, + "directMacs": None, + "additionalIp": None, + "additionalIps": None, + "additionalMac": None, + "additionalMacs": None, + "stateUpdateTime": "0001-01-01T00:00:00Z", + "extendedSegments": [ + { + "id": "59161089-c6f7-4f8c-90a3-92f5be9d3b9d", + "name": "Server / 10.100.30.X", + "archived": False, + "system": True, + "key": "AG1-20", + "type": "Segment", + "systemName": "Server / 10.100.30.X", + "vlan": None, + "description": None, + "isPredefinedName": True, + "subnet": "10.100.30.X", + "assetType": "Server", + } + ], + "state": "Unknown", + "backplaneName": None, + "hotFixes": { + "columns": [ + {"field": "Id"}, + {"field": "Description"}, + {"field": "Installed Date"}, + ], + "data": [ + { + "Id": "KB4019990", + "Description": "Update", + "Installed Date": "2018-05-27T00:00:00Z", + }, + { + "Id": "KB4095874", + "Description": "Update", + "Installed Date": "2018-05-27T00:00:00Z", + }, + { + "Id": "KB4103718", + "Description": "Security Update", + "Installed Date": "2018-05-27T00:00:00Z", + }, + { + "Id": "KB4103768", + "Description": "Security Update", + "Installed Date": "2018-05-27T00:00:00Z", + }, + { + "Id": "KB3167679", + "Description": "Security Update", + "Installed Date": "2016-08-31T00:00:00Z", + }, + { + "Id": "KB3177723", + "Description": "Update", + "Installed Date": "2016-08-31T00:00:00Z", + }, + { + "Id": "KB3163245", + "Description": "Security Update", + "Installed Date": "2016-08-29T00:00:00Z", + }, + { + "Id": "KB3168965", + "Description": "Security Update", + "Installed Date": "2016-08-29T00:00:00Z", + }, + { + "Id": "KB3170455", + "Description": "Security Update", + "Installed Date": "2016-08-29T00:00:00Z", + }, + { + "Id": "KB3175443", + "Description": "Security Update", + "Installed Date": "2016-08-29T00:00:00Z", + }, + { + "Id": "KB3177725", + "Description": "Security Update", + "Installed Date": "2016-08-29T00:00:00Z", + }, + { + "Id": "KB3178034", + "Description": "Security Update", + "Installed Date": "2016-08-29T00:00:00Z", + }, + { + "Id": "KB3142024", + "Description": "Security Update", + "Installed Date": "2016-06-16T00:00:00Z", + }, + { + "Id": "KB3153171", + "Description": "Security Update", + "Installed Date": "2016-06-16T00:00:00Z", + }, + { + "Id": "KB3156016", + "Description": "Security Update", + "Installed Date": "2016-06-16T00:00:00Z", + }, + { + "Id": "KB3156017", + "Description": "Security Update", + "Installed Date": "2016-06-16T00:00:00Z", + }, + { + "Id": "KB3156019", + "Description": "Security Update", + "Installed Date": "2016-06-16T00:00:00Z", + }, + { + "Id": "KB3159398", + "Description": "Security Update", + "Installed Date": "2016-06-16T00:00:00Z", + }, + { + "Id": "KB3160005", + "Description": "Security Update", + "Installed Date": "2016-06-16T00:00:00Z", + }, + { + "Id": "KB3161561", + "Description": "Security Update", + "Installed Date": "2016-06-16T00:00:00Z", + }, + { + "Id": "KB3161664", + "Description": "Security Update", + "Installed Date": "2016-06-16T00:00:00Z", + }, + { + "Id": "KB3161949", + "Description": "Security Update", + "Installed Date": "2016-06-16T00:00:00Z", + }, + { + "Id": "KB3161958", + "Description": "Security Update", + "Installed Date": "2016-06-16T00:00:00Z", + }, + { + "Id": "KB3162835", + "Description": "Update", + "Installed Date": "2016-06-16T00:00:00Z", + }, + { + "Id": "KB3164033", + "Description": "Security Update", + "Installed Date": "2016-06-16T00:00:00Z", + }, + { + "Id": "KB3164035", + "Description": "Security Update", + "Installed Date": "2016-06-16T00:00:00Z", + }, + { + "Id": "KB3135983", + "Description": "Security Update", + "Installed Date": "2016-04-20T00:00:00Z", + }, + { + "Id": "KB3138612", + "Description": "Update", + "Installed Date": "2016-04-20T00:00:00Z", + }, + { + "Id": "KB3139398", + "Description": "Security Update", + "Installed Date": "2016-04-20T00:00:00Z", + }, + { + "Id": "KB3139914", + "Description": "Security Update", + "Installed Date": "2016-04-20T00:00:00Z", + }, + { + "Id": "KB3139940", + "Description": "Security Update", + "Installed Date": "2016-04-20T00:00:00Z", + }, + { + "Id": "KB3140735", + "Description": "Security Update", + "Installed Date": "2016-04-20T00:00:00Z", + }, + { + "Id": "KB3142042", + "Description": "Security Update", + "Installed Date": "2016-04-20T00:00:00Z", + }, + { + "Id": "KB3145739", + "Description": "Security Update", + "Installed Date": "2016-04-20T00:00:00Z", + }, + { + "Id": "KB3146706", + "Description": "Security Update", + "Installed Date": "2016-04-20T00:00:00Z", + }, + { + "Id": "KB3146963", + "Description": "Security Update", + "Installed Date": "2016-04-20T00:00:00Z", + }, + { + "Id": "KB3148198", + "Description": "Security Update", + "Installed Date": "2016-04-20T00:00:00Z", + }, + { + "Id": "KB3148851", + "Description": "Update", + "Installed Date": "2016-04-20T00:00:00Z", + }, + { + "Id": "KB3149090", + "Description": "Security Update", + "Installed Date": "2016-04-20T00:00:00Z", + }, + { + "Id": "KB3122648", + "Description": "Security Update", + "Installed Date": "2016-03-28T00:00:00Z", + }, + { + "Id": "KB3126587", + "Description": "Security Update", + "Installed Date": "2016-03-28T00:00:00Z", + }, + { + "Id": "KB3126593", + "Description": "Security Update", + "Installed Date": "2016-03-28T00:00:00Z", + }, + { + "Id": "KB3127220", + "Description": "Security Update", + "Installed Date": "2016-03-28T00:00:00Z", + }, + { + "Id": "KB3133043", + "Description": "Security Update", + "Installed Date": "2016-03-28T00:00:00Z", + }, + { + "Id": "KB3134214", + "Description": "Security Update", + "Installed Date": "2016-03-28T00:00:00Z", + }, + { + "Id": "KB3134814", + "Description": "Security Update", + "Installed Date": "2016-03-28T00:00:00Z", + }, + { + "Id": "KB3141092", + "Description": "Update", + "Installed Date": "2016-03-28T00:00:00Z", + }, + { + "Id": "KB3072305", + "Description": "Security Update", + "Installed Date": "2016-02-09T00:00:00Z", + }, + { + "Id": "KB3108664", + "Description": "Security Update", + "Installed Date": "2016-02-09T00:00:00Z", + }, + { + "Id": "KB3109560", + "Description": "Security Update", + "Installed Date": "2016-02-09T00:00:00Z", + }, + { + "Id": "KB3110329", + "Description": "Security Update", + "Installed Date": "2016-02-09T00:00:00Z", + }, + { + "Id": "KB3121212", + "Description": "Security Update", + "Installed Date": "2016-02-09T00:00:00Z", + }, + { + "Id": "KB3121918", + "Description": "Security Update", + "Installed Date": "2016-02-09T00:00:00Z", + }, + { + "Id": "KB3123479", + "Description": "Security Update", + "Installed Date": "2016-02-09T00:00:00Z", + }, + { + "Id": "KB3124000", + "Description": "Security Update", + "Installed Date": "2016-02-09T00:00:00Z", + }, + { + "Id": "KB3124001", + "Description": "Security Update", + "Installed Date": "2016-02-09T00:00:00Z", + }, + { + "Id": "KB3124275", + "Description": "Security Update", + "Installed Date": "2016-02-09T00:00:00Z", + }, + { + "Id": "KB917607", + "Description": "Update", + "Installed Date": "2016-02-02T00:00:00Z", + }, + { + "Id": "KB2670838", + "Description": "Update", + "Installed Date": "2016-01-04T00:00:00Z", + }, + { + "Id": "KB2729094", + "Description": "Update", + "Installed Date": "2016-01-04T00:00:00Z", + }, + { + "Id": "KB2834140", + "Description": "Update", + "Installed Date": "2016-01-04T00:00:00Z", + }, + { + "Id": "KB2841134", + "Description": "Update", + "Installed Date": "2016-01-04T00:00:00Z", + }, + { + "Id": "KB2849696", + "Description": "Update", + "Installed Date": "2016-01-04T00:00:00Z", + }, + { + "Id": "KB2849697", + "Description": "Update", + "Installed Date": "2016-01-04T00:00:00Z", + }, + { + "Id": "KB2882822", + "Description": "Update", + "Installed Date": "2016-01-04T00:00:00Z", + }, + { + "Id": "KB2912390", + "Description": "Security Update", + "Installed Date": "2016-01-04T00:00:00Z", + }, + { + "Id": "KB2973351", + "Description": "Security Update", + "Installed Date": "2016-01-04T00:00:00Z", + }, + { + "Id": "KB3042058", + "Description": "Security Update", + "Installed Date": "2016-01-04T00:00:00Z", + }, + { + "Id": "KB3104002", + "Description": "Security Update", + "Installed Date": "2016-01-04T00:00:00Z", + }, + { + "Id": "KB2506014", + "Description": "Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2506212", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2509553", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2511455", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2536275", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2544893", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2552343", + "Description": "Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2560656", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2564958", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2570947", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2585542", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2604115", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2620704", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2621440", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2631813", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2643719", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2653956", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2654428", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2656356", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2667402", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2676562", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2685939", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2690533", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2698365", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2705219", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2706045", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2712808", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2718704", + "Description": "Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2729452", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2736422", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2742599", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2758857", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2765809", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2770660", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2786081", + "Description": "Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2789645", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2798162", + "Description": "Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2807986", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2813430", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2836942", + "Description": "Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2836943", + "Description": "Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2839894", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2840149", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2840631", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2861698", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2862152", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2862330", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2862335", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2862973", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2864202", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2868038", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2868116", + "Description": "Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2868626", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2871997", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2884256", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2887069", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2892074", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2893294", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2894844", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2900986", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2911501", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2929733", + "Description": "Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2931356", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2937610", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2943357", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2957189", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2968294", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2972100", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2972211", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2973112", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2973201", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2976897", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2977292", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2978120", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2984972", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2991963", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2992611", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB2993651", + "Description": "Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3000483", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3003743", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3004361", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3004375", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3005607", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3006226", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3010788", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3011780", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3014029", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3018238", + "Description": "Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3019978", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3020369", + "Description": "Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3021674", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3022777", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3023215", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3030377", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3031432", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3032655", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3033889", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3033929", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3035126", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3035132", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3037574", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3042553", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3045685", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3046017", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3046269", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3055642", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3059317", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3060716", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3061518", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3068457", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3069392", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3071756", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3072595", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3072630", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3072633", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3074543", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3075220", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3076895", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3078601", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3080446", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3081320", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3084135", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3086255", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3087039", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3092601", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3097966", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3097989", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3099862", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3101246", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3101722", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3101746", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3108371", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3108381", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3108670", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3109094", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3109103", + "Description": "Security Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB3112343", + "Description": "Update", + "Installed Date": "2016-01-03T00:00:00Z", + }, + { + "Id": "KB976902", + "Description": "Update", + "Installed Date": "2010-11-21T00:00:00Z", + }, + ], + }, + "installedSoftware": { + "columns": [ + {"field": "Name"}, + {"field": "Version"}, + {"field": "Installed Date"}, + ], + "data": [ + { + "Name": "Microsoft Application Error Reporting", + "Version": "12.0.6012.5000", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Sql Server Customer Experience Improvement Program", + "Version": "10.50.1600.1", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SIMATIC STEP 7 V5.5 + SP4 ", + "Version": "05.05.0400", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "OPC .NET API 2.00 Redistributables (x86) 101.0", + "Version": "2.00.10200", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft Visual C++ 2010 x64 Redistributable - 10.0.40219", + "Version": "10.0.40219", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft Visual C++ 2019 X86 Minimum Runtime - 14.20.27508", + "Version": "14.20.27508", + "Installed Date": "Jan 16 2020", + }, + { + "Name": "Microsoft Visual C++ 2010 x86 Redistributable - 10.0.40219", + "Version": "10.0.40219", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Siemens Totally Integrated Automation Portal V13 - HM NoBasic Single SetupPackage V13.0 SP1 UPD7", + "Version": "13.00.0100", + "Installed Date": "Feb 9 2016", + }, + { + "Name": "SIMATIC S7-PCT V3.2 ", + "Version": "03.02.0000", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "NETLink-S7-NET", + "Version": "3.5.0.3", + "Installed Date": "Aug 17 2020", + }, + { + "Name": "SQL Server 2008 R2 SP2 Database Engine Services", + "Version": "10.52.4000.0", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SQL Server 2008 R2 SP2 Database Engine Services", + "Version": "10.52.4000.0", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft Visual C++ 2005 Redistributable", + "Version": "8.0.59193", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft SQL Server 2008 Setup Support Files ", + "Version": "10.1.2731.0", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft SQL Server 2008 R2 RsFx Driver", + "Version": "10.52.4000.0", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Siemens Totally Integrated Automation Portal V13 - HM All Editions Single SetupPackage V13.0 SP1 UPD7", + "Version": "13.00.0100", + "Installed Date": "Feb 9 2016", + }, + { + "Name": "Microsoft Visual C++ 2019 X64 Minimum Runtime - 14.20.27508", + "Version": "14.20.27508", + "Installed Date": "Jan 16 2020", + }, + { + "Name": "SIMATIC WinCC/Audit Viewer 2008 SP2 ", + "Version": "07.02.0000", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Siemens Totally Integrated Automation Portal V13 - TIA Tour Single SetupPackage V13.0 + SP1", + "Version": "13.00.0100", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SIMATIC S7-Web2PLC V1.0 + SP2 + HF1 ", + "Version": "01.00.0201", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "Siemens Totally Integrated Automation Portal V13 - Hardware Support Base Package WCF-01 V13.0", + "Version": "13.00.0000", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "OPC Core Components Redistributable (x86) 101.2", + "Version": "3.00.10102", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft Visual C++ 2013 x64 Additional Runtime - 12.0.21005", + "Version": "12.0.21005", + "Installed Date": "Apr 20 2016", + }, + { + "Name": "Microsoft .NET Framework 4.5.2", + "Version": "4.5.51209", + "Installed Date": "May 27 2018", + }, + { + "Name": "SQL Server 2008 R2 SP2 Common Files", + "Version": "10.52.4000.0", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft Visual C++ 2008 Redistributable - x64 9.0.30729.6161", + "Version": "9.0.30729.6161", + "Installed Date": "Jan 3 2016", + }, + { + "Name": "WinCC Runtime Advanced V13.0 SP1 - SIMATIC WinCC Runtime Advanced V13.0 + SP1", + "Version": "13.00.0100", + "Installed Date": "Feb 9 2016", + }, + { + "Name": "Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.6161", + "Version": "9.0.30729.6161", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "MSXML 4.0 SP2 (KB973688)", + "Version": "4.20.9876.0", + "Installed Date": "Feb 9 2016", + }, + { + "Name": "Microsoft Visual C++ 2013 x64 Minimum Runtime - 12.0.21005", + "Version": "12.0.21005", + "Installed Date": "Apr 20 2016", + }, + { + "Name": "Siemens Totally Integrated Automation Portal V13 - Hardware Support Base Package 03 V13.0", + "Version": "13.00.0000", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft Visual C++ 2012 x64 Additional Runtime - 11.0.61030", + "Version": "11.0.61030", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft SQL Server Browser", + "Version": "10.52.4000.0", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft Visual C++ 2005 Redistributable (x64)", + "Version": "8.0.56336", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Totally Integrated Automation Portal V13 - TIA Portal Single SetupPackage V13.0 + SP1", + "Version": "13.00.0100", + "Installed Date": "Feb 9 2016", + }, + { + "Name": "SQL Server 2008 R2 SP2 Common Files", + "Version": "10.52.4000.0", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Siemens Automation License Manager V5.3 + SP2 + Upd2 ", + "Version": "05.03.0202", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft SQL Server 2008 R2 Native Client", + "Version": "10.52.4000.0", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft Visual C++ 2019 X86 Additional Runtime - 14.20.27508", + "Version": "14.20.27508", + "Installed Date": "Jan 16 2020", + }, + { + "Name": "WinCC Runtime Advanced V13.0 SP1 - HMIRTM Simulation Single SetupPackage V13.0 SP1 UPD7", + "Version": "13.00.0100", + "Installed Date": "Feb 9 2016", + }, + { + "Name": "Siemens Totally Integrated Automation Portal V13 - Simatic Single SetupPackage V13.0 SP1 UPD7", + "Version": "13.00.0100", + "Installed Date": "Feb 9 2016", + }, + { + "Name": "Siemens Totally Integrated Automation Portal V13 - Hardware Support Base Package 0 V13.0", + "Version": "13.00.0000", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft Primary Interoperability Assemblies 2005", + "Version": "8.0.50727.42", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Siemens Totally Integrated Automation Portal V13 - Hardware Support Base Package 02 V13.0", + "Version": "13.00.0000", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft Visual C++ 2005 Redistributable (x64)", + "Version": "8.0.59192", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft SQL Server 2008 R2 Setup (English)", + "Version": "10.52.4000.0", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft SOAP Toolkit 3.0", + "Version": "3.0.1325.4", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SIMATIC Prosave V13.0 SP1 ", + "Version": "13.00.0100", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "License Logon Interface", + "Version": "04.00.0300", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "SIMATIC Process Diagnosis Database", + "Version": "5.3", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "SIMATIC DIAGNOSTIC REPEATER GUI CTRL", + "Version": "05.02.0300", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "Microsoft Visual C++ 2008 Redistributable - x64 9.0.30729.17", + "Version": "9.0.30729", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft Visual C++ 2005 Redistributable", + "Version": "8.0.56336", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.4148", + "Version": "9.0.30729.4148", + "Installed Date": "Jan 3 2016", + }, + { + "Name": "Automation Software Updater", + "Version": "02.05.0000", + "Installed Date": "Feb 3 2020", + }, + { + "Name": "MSXML 4.0 SP2 (KB954430)", + "Version": "4.20.9870.0", + "Installed Date": "Feb 9 2016", + }, + { + "Name": "SeCon", + "Version": "02.02.0000", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "VMware Tools", + "Version": "11.0.1.14773994", + "Installed Date": "Jan 16 2020", + }, + { + "Name": "Microsoft Visual C++ 2019 X64 Additional Runtime - 14.20.27508", + "Version": "14.20.27508", + "Installed Date": "Jan 16 2020", + }, + { + "Name": "Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.17", + "Version": "9.0.30729", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SIMATIC Extended Interfaces", + "Version": "05.04.0600", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "SIMATIC Colour Editor", + "Version": "05.01.1600", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SIMATIC NCM FWL 64", + "Version": "05.05.0400", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "PKZIP Server for Windows 12.40.0008", + "Version": "12.40.0008", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Siemens Totally Integrated Automation Portal V13 - TIACOMPCHECK Single SetupPackage V13.0 + SP1 + Upd7", + "Version": "13.00.0107", + "Installed Date": "Feb 9 2016", + }, + { + "Name": "SIMATIC Device Drivers WoW", + "Version": "29.00.0700", + "Installed Date": "Feb 9 2016", + }, + { + "Name": "SIMATIC Process Diagnosis Base", + "Version": "5.3", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "SIMATIC HMI Symbol Library", + "Version": "13.00.0100", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SQL Server 2008 R2 SP2 Database Engine Shared", + "Version": "10.52.4000.0", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft Visual C++ 2012 x86 Minimum Runtime - 11.0.61030", + "Version": "11.0.61030", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SIMATIC Device Drivers", + "Version": "09.00.0700", + "Installed Date": "Feb 9 2016", + }, + { + "Name": "SIMATIC Interface Editor", + "Version": "05.04.1800", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "SIMATIC HMI Touch Input", + "Version": "13.00.0100", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Microsoft Visual C++ 2012 x86 Additional Runtime - 11.0.61030", + "Version": "11.0.61030", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "WinCC Runtime Advanced Simulator", + "Version": "13.00.0100", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SIMATIC Grid Control", + "Version": "02.06.0000", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "SIMATIC GSD CONTROL", + "Version": "03.05.0600", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "SIMATIC HMI ProSave", + "Version": "13.00.0100", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "OPC UA SDK 1.1 Redistributables 331.0", + "Version": "1.01.33100", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SIMATIC HMI License Manager Panel Plugin (x64)", + "Version": "13.00.0100", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SIMATIC GSD Interpreter", + "Version": "02.04.0200", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "SIMATIC Common Services", + "Version": "05.03.1500", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "SIMATIC NCM", + "Version": "05.05.0400", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "SQL Server 2008 R2 SP2 Database Engine Shared", + "Version": "10.52.4000.0", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SIMATIC WinCC Runtime Advanced Driver (x64)", + "Version": "13.00.0100", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SIMATIC LanguageSupportTool", + "Version": "05.08.0300", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "SIMATIC Version View", + "Version": "01.07.0900", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "Siemens Totally Integrated Automation Portal V13 - WinCC Single SetupPackage V13.0 SP1 UPD7", + "Version": "13.00.0100", + "Installed Date": "Feb 9 2016", + }, + { + "Name": "Microsoft Visual C++ 2012 x64 Minimum Runtime - 11.0.61030", + "Version": "11.0.61030", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SIEMENS OPC", + "Version": "03.09.0502", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SIMATIC Event Database", + "Version": "05.05.0402", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "SIMATIC X-Ref Control", + "Version": "05.02.0800", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "SIMATIC S7-Block Privacy V1.0 + SP3 ", + "Version": "01.00.0300", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "VC User 71 RTL X86 ---", + "Version": "1.0", + "Installed Date": "Feb 2 2016", + }, + { + "Name": "Automation Access Control Component", + "Version": "04.00.0100", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "SIMATIC S7-Status-OCX", + "Version": "05.03.1100", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "SIMATIC Technological Parameter Assignment", + "Version": "05.03.1100", + "Installed Date": "Jul 10 2017", + }, + { + "Name": "Microsoft SQL Server VSS Writer", + "Version": "10.52.4000.0", + "Installed Date": "Feb 2 2016", + }, + ], + }, + "devicesAndDrives": { + "columns": [ + {"field": "Name"}, + {"field": "Drive Letter"}, + {"field": "Capacity", "format": "Bytes"}, + {"field": "Device Type"}, + ], + "data": [ + { + "Name": "System Reserved", + "Drive Letter": "", + "Capacity": 104853504, + "Device Type": "Unknown", + }, + { + "Name": "", + "Drive Letter": "C:", + "Capacity": 42842714112, + "Device Type": "Unknown", + }, + { + "Name": "", + "Drive Letter": "D:", + "Capacity": 0, + "Device Type": "Unknown", + }, + ], + }, + }, + family=None, + firmware_version=None, + first_seen=datetime.datetime( + 2021, 4, 11, 21, 0, 9, 154979, tzinfo=datetime.timezone.utc + ), + hidden=True, + id=uuid.UUID("e419cab7-4a5a-4f0d-a05f-982928919eba"), + ips=NodesList(nodes=["10.100.30.37"]), + last_seen=datetime.datetime( + 2021, 6, 25, 13, 2, 37, 178997, tzinfo=datetime.timezone.utc + ), + last_update="2022-10-04T02:18:54.78456Z", + location=None, + macs=NodesList(nodes=[]), + model=None, + name="STEP7", + os="Windows Server 2008 R2", + os_details=OSDetails( + name="Microsoft Windows Server 2008 R2 Standard ", + architecture="64-bit", + version="6.1.7601", + hot_fixes=HotFixes( + nodes=[ + Hotfix( + name="KB4095874", + install_date=datetime.datetime( + 2018, 5, 27, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Update", + ), + Hotfix( + name="KB4103768", + install_date=datetime.datetime( + 2018, 5, 27, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB4103718", + install_date=datetime.datetime( + 2018, 5, 27, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB4019990", + install_date=datetime.datetime( + 2018, 5, 27, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Update", + ), + Hotfix( + name="KB3167679", + install_date=datetime.datetime( + 2016, 8, 31, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3177723", + install_date=datetime.datetime( + 2016, 8, 31, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Update", + ), + Hotfix( + name="KB3168965", + install_date=datetime.datetime( + 2016, 8, 29, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3170455", + install_date=datetime.datetime( + 2016, 8, 29, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3175443", + install_date=datetime.datetime( + 2016, 8, 29, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3177725", + install_date=datetime.datetime( + 2016, 8, 29, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3178034", + install_date=datetime.datetime( + 2016, 8, 29, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3163245", + install_date=datetime.datetime( + 2016, 8, 29, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3142024", + install_date=datetime.datetime( + 2016, 6, 16, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3156017", + install_date=datetime.datetime( + 2016, 6, 16, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3164033", + install_date=datetime.datetime( + 2016, 6, 16, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3156019", + install_date=datetime.datetime( + 2016, 6, 16, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3164035", + install_date=datetime.datetime( + 2016, 6, 16, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3159398", + install_date=datetime.datetime( + 2016, 6, 16, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3160005", + install_date=datetime.datetime( + 2016, 6, 16, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3161561", + install_date=datetime.datetime( + 2016, 6, 16, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3161664", + install_date=datetime.datetime( + 2016, 6, 16, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3161949", + install_date=datetime.datetime( + 2016, 6, 16, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3161958", + install_date=datetime.datetime( + 2016, 6, 16, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3153171", + install_date=datetime.datetime( + 2016, 6, 16, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3162835", + install_date=datetime.datetime( + 2016, 6, 16, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Update", + ), + Hotfix( + name="KB3156016", + install_date=datetime.datetime( + 2016, 6, 16, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3142042", + install_date=datetime.datetime( + 2016, 4, 20, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3145739", + install_date=datetime.datetime( + 2016, 4, 20, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3135983", + install_date=datetime.datetime( + 2016, 4, 20, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3146706", + install_date=datetime.datetime( + 2016, 4, 20, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3138612", + install_date=datetime.datetime( + 2016, 4, 20, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Update", + ), + Hotfix( + name="KB3146963", + install_date=datetime.datetime( + 2016, 4, 20, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3139398", + install_date=datetime.datetime( + 2016, 4, 20, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3148198", + install_date=datetime.datetime( + 2016, 4, 20, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3139914", + install_date=datetime.datetime( + 2016, 4, 20, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3148851", + install_date=datetime.datetime( + 2016, 4, 20, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Update", + ), + Hotfix( + name="KB3139940", + install_date=datetime.datetime( + 2016, 4, 20, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3149090", + install_date=datetime.datetime( + 2016, 4, 20, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3140735", + install_date=datetime.datetime( + 2016, 4, 20, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3133043", + install_date=datetime.datetime( + 2016, 3, 28, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3134214", + install_date=datetime.datetime( + 2016, 3, 28, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3122648", + install_date=datetime.datetime( + 2016, 3, 28, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3134814", + install_date=datetime.datetime( + 2016, 3, 28, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3126587", + install_date=datetime.datetime( + 2016, 3, 28, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3126593", + install_date=datetime.datetime( + 2016, 3, 28, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3127220", + install_date=datetime.datetime( + 2016, 3, 28, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3141092", + install_date=datetime.datetime( + 2016, 3, 28, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Update", + ), + Hotfix( + name="KB3072305", + install_date=datetime.datetime( + 2016, 2, 9, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3121212", + install_date=datetime.datetime( + 2016, 2, 9, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3121918", + install_date=datetime.datetime( + 2016, 2, 9, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3108664", + install_date=datetime.datetime( + 2016, 2, 9, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3123479", + install_date=datetime.datetime( + 2016, 2, 9, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3124000", + install_date=datetime.datetime( + 2016, 2, 9, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3124001", + install_date=datetime.datetime( + 2016, 2, 9, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3124275", + install_date=datetime.datetime( + 2016, 2, 9, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3109560", + install_date=datetime.datetime( + 2016, 2, 9, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3110329", + install_date=datetime.datetime( + 2016, 2, 9, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB917607", + install_date=datetime.datetime( + 2016, 2, 2, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Update", + ), + Hotfix( + name="KB2849697", + install_date=datetime.datetime( + 2016, 1, 4, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Update", + ), + Hotfix( + name="KB2849696", + install_date=datetime.datetime( + 2016, 1, 4, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Update", + ), + Hotfix( + name="KB2841134", + install_date=datetime.datetime( + 2016, 1, 4, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Update", + ), + Hotfix( + name="KB2670838", + install_date=datetime.datetime( + 2016, 1, 4, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Update", + ), + Hotfix( + name="KB2729094", + install_date=datetime.datetime( + 2016, 1, 4, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Update", + ), + Hotfix( + name="KB2834140", + install_date=datetime.datetime( + 2016, 1, 4, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Update", + ), + Hotfix( + name="KB2882822", + install_date=datetime.datetime( + 2016, 1, 4, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Update", + ), + Hotfix( + name="KB2912390", + install_date=datetime.datetime( + 2016, 1, 4, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2973351", + install_date=datetime.datetime( + 2016, 1, 4, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3104002", + install_date=datetime.datetime( + 2016, 1, 4, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3042058", + install_date=datetime.datetime( + 2016, 1, 4, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2506014", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Update", + ), + Hotfix( + name="KB2506212", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2509553", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2511455", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2536275", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2544893", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2552343", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Update", + ), + Hotfix( + name="KB2560656", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2564958", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2570947", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2585542", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2604115", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2620704", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2621440", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2631813", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2643719", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2653956", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2654428", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2656356", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2667402", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2676562", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2685939", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2690533", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2698365", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2705219", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2706045", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2712808", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2718704", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Update", + ), + Hotfix( + name="KB2729452", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2736422", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2742599", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2758857", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2765809", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2770660", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2786081", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Update", + ), + Hotfix( + name="KB2789645", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2798162", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Update", + ), + Hotfix( + name="KB2807986", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2813430", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2836942", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Update", + ), + Hotfix( + name="KB2836943", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Update", + ), + Hotfix( + name="KB2839894", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2840149", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2840631", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2861698", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2862152", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2862330", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2862335", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2862973", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2864202", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2868038", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2868116", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Update", + ), + Hotfix( + name="KB2868626", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2871997", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2884256", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2887069", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2892074", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2893294", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2894844", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2900986", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2911501", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2929733", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Update", + ), + Hotfix( + name="KB2931356", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2937610", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2943357", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2957189", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2968294", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2972100", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2972211", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2973112", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2973201", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2976897", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2977292", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2978120", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3006226", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3030377", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3045685", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3084135", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2984972", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3010788", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3031432", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3046017", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3072595", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3086255", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3108371", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2991963", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3011780", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3032655", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3046269", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3072630", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3087039", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3108381", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2992611", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3014029", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3033889", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3055642", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3072633", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3092601", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB2993651", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Update", + ), + Hotfix( + name="KB3018238", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Update", + ), + Hotfix( + name="KB3033929", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3059317", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3074543", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3097966", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3108670", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3000483", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3019978", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3035126", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3060716", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3075220", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3097989", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3109094", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3003743", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3020369", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Update", + ), + Hotfix( + name="KB3035132", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3061518", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3076895", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3099862", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3109103", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3004361", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3021674", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3037574", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3068457", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3078601", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3101246", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3004375", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3022777", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3069392", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3080446", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3101722", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3005607", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3023215", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3042553", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3071756", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3081320", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3101746", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Security Update", + ), + Hotfix( + name="KB3112343", + install_date=datetime.datetime( + 2016, 1, 3, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Update", + ), + Hotfix( + name="KB976902", + install_date=datetime.datetime( + 2010, 11, 21, 0, 0, tzinfo=datetime.timezone.utc + ), + description="Update", + ), + ] + ), + ), + plugins=Plugins( + nodes=[ + Plugin( + comment=None, + family="Web Servers", + id=10107, + name="HTTP Server Type and Version", + owner=None, + source="Nessus", + severity="Info", + total_affected_assets=8, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Settings", + id=19506, + name="Nessus Scan Information", + owner=None, + source="Nessus", + severity="Info", + total_affected_assets=10, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Service detection", + id=22964, + name="Service Detection", + owner=None, + source="Nessus", + severity="Info", + total_affected_assets=9, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="General", + id=56984, + name="SSL / TLS Versions Supported", + owner=None, + source="Nessus", + severity="Info", + total_affected_assets=9, + vpr_score=None, + details=None, + affected_assets=None, + ), + ] + ), + purdue_level="Level3", + revisions=Revisions(nodes=[]), + risk=Risk(unresolved_events=0, total_risk=0.0), + run_status="Unknown", + run_status_time=datetime.datetime(1, 1, 1, 0, 0, tzinfo=datetime.timezone.utc), + segments=Segments( + nodes=[ + Segment( + id=uuid.UUID("59161089-c6f7-4f8c-90a3-92f5be9d3b9d"), + name="Server / 10.100.30.X", + type="Segment", + key="AG1-20", + system_name="Server / 10.100.30.X", + vlan=None, + description=None, + asset_type="Server", + subnet="10.100.30.X", + ) + ] + ), + serial=None, + slot=None, + super_type="Server", + type="Server", + vendor=None, + custom_field1=None, + custom_field2=None, + custom_field3=None, + custom_field4=None, + custom_field5=None, + custom_field6=None, + custom_field7=None, + custom_field8=None, + custom_field9=None, + custom_field10=None, + ) + resp = fixture_ot.assets.list() + assert resp.next() == expected @responses.activate -def test_list(fixture_ot): - ''' - Tests the assets Graphql list iterator - ''' +def test_asset(fixture_ot): + """ + Tests the assets Graphql asset retriever + """ responses.add( - method='POST', - url='https://localhost/graphql', + method="POST", + url="https://localhost/graphql", json={ "data": { "assets": { - "pageInfo": { - "endCursor": "YXJyYXljb25uZWN0aW9uOjA=" - }, + "pageInfo": {"endCursor": "YXJyYXljb25uZWN0aW9uOjE5OQ=="}, "nodes": [ { - "id": "ff950a25-2955-457a-9168-84374ee97f23", + "category": "ControllersCategory", + "criticality": "HighCriticality", + "customField1": None, + "customField2": None, + "customField3": None, + "customField4": None, + "customField5": None, + "customField6": None, + "customField7": None, + "customField8": None, + "customField9": None, + "customField10": None, + "description": None, + "details": { + "id": "fff9f1b9-26db-4bf4-9d87-bd915aaede36", + "name": "Comm. Adapter #110", + "firstSeen": "2022-09-11T07:34:54.764844Z", + "lastSeen": "2022-09-11T10:39:33.720514Z", + "macs": ["f4:54:33:a6:78:c9"], + "ips": ["10.100.101.158"], + "type": "Cp", + "superType": "Controller", + "category": "ControllersCategory", + "purdueLevel": "Level1", + "vendor": "Rockwell", + "runStatus": "Unknown", + "runStatusTime": "0001-01-01T00:00:00Z", + "rawFamily": "MicroLogix1100", + "family": "MicroLogix 1100", + "modelName": "1763-L16BBB B/11.00", + "firmwareVersion": "2.011", + "serial": "33A678C9", + "risk": 23.87340490112799, + "criticality": "HighCriticality", + "hidden": False, + "lastUpdate": "2022-09-11T10:40:28.234644Z", + "cip": {"deviceType": "Communications Adapter"}, + "classificationIncidents": [ + "OuiOtDeviceVendorIncident", + "ConversationIcsProtocolDstIncident", + "DirectConnectorIncident", + "CipIdentityCpIncident", + "NnmCpIncident", + ], + "names": [ + { + "id": "fff9f1b9-26db-4bf4-9d87-bd915aaede36", + "source": "Default", + "value": "Comm. Adapter #110", + }, + { + "id": "fff9f1b9-26db-4bf4-9d87-bd915aaede36", + "source": "Chosen", + "value": "Comm. Adapter #110", + }, + ], + "customFields": [], + "directIp": "10.100.101.158", + "directIps": None, + "directMac": "f4:54:33:a6:78:c9", + "directMacs": None, + "additionalIp": None, + "additionalIps": None, + "additionalMac": None, + "additionalMacs": None, + "stateUpdateTime": "0001-01-01T00:00:00Z", + "extendedSegments": [ + { + "id": "6cd69f4e-6e68-4af0-b9ae-5d24b4ed4eb1", + "name": "Controller / 10.100.101.X", + "archived": False, + "system": True, + "key": "AG1-35", + "type": "Segment", + "systemName": "Controller / 10.100.101.X", + "vlan": None, + "description": None, + "isPredefinedName": True, + "subnet": "10.100.101.X", + "assetType": "Controller", + } + ], + "state": "Unknown", + "backplaneName": None, + }, + "family": "MicroLogix 1100", + "firmwareVersion": "2.011", + "firstSeen": "2022-09-11T07:34:54.764844Z", + "hidden": False, + "id": "fff9f1b9-26db-4bf4-9d87-bd915aaede36", + "ips": {"nodes": ["10.100.101.158"]}, + "lastSeen": "2022-09-11T10:39:33.720514Z", + "lastUpdate": "2022-09-11T10:40:28.234644Z", + "location": None, + "macs": {"nodes": ["f4:54:33:a6:78:c9"]}, + "model": "1763-L16BBB B/11.00", + "name": "Comm. Adapter #110", + "os": None, + "osDetails": None, + "purdueLevel": "Level1", + "runStatus": "Unknown", + "runStatusTime": "0001-01-01T00:00:00Z", + "serial": "33A678C9", "slot": None, - "name": "Dummy network device", - "type": "NetworkDevice", + "superType": "Controller", + "type": "Cp", + "vendor": "Rockwell", "risk": { "unresolvedEvents": 0, - "totalRisk": 0 - }, - "criticality": "MediumCriticality", - "ips": { - "nodes": [] - }, - "macs": { - "nodes": [ - "5c:88:16:01:9f:80" - ] + "totalRisk": 23.87340490112799, }, - "category": "NetworkAssetsCategory", - "vendor": "Rockwell", - "family": None, - "model": None, - "firmwareVersion": None, - "os": None, - "runStatus": None, - "purdueLevel": "Level2", - "firstSeen": "2021-09-11T22:24:38.70483Z", - "lastSeen": "2021-09-11T22:24:38.663888Z", - "location": None, "backplane": None, - "description": "Dummy description", "segments": { "nodes": [ { - "id": "4629be3c-c59b-482d-a61a-77079c4b7861", - "name": "NetworkDevice / No Ip", + "id": "6cd69f4e-6e68-4af0-b9ae-5d24b4ed4eb1", + "name": "Controller / 10.100.101.X", "type": "Segment", - "key": "AG1-6", - "systemName": "NetworkDevice / No Ip", + "key": "AG1-35", + "systemName": "Controller / 10.100.101.X", "vlan": None, "description": None, - "assetType": "NetworkDevice", - "subnet": "No Ip" + "assetType": "Controller", + "subnet": "10.100.101.X", } ] - } - } - ] + }, + "revisions": {"nodes": []}, + "plugins": { + "nodes": [ + { + "id": 0, + "name": "Open Port", + "source": "NNM", + "family": "Generic", + "severity": "Info", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 98, + }, + { + "id": 12, + "name": "Number of Hops", + "source": "NNM", + "family": "Generic", + "severity": "Info", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 258, + }, + { + "id": 18, + "name": "Generic Protocol Detection", + "source": "NNM", + "family": "Generic", + "severity": "Info", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 281, + }, + { + "id": 65, + "name": "Rockwell Automation/Allen-Bradley MicroLogix 1100 Detection", + "source": "NNM", + "family": "SCADA", + "severity": "Info", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 74, + "name": "Ethernet Industrial Protocol (EtherNet/IP) Server Explicit Message Detection", + "source": "NNM", + "family": "SCADA", + "severity": "Info", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 4, + }, + { + "id": 76, + "name": "Rockwell Automation/Allen-Bradley MicroLogix 1100 L16xxx < 10.000 HTTP Remote DoS", + "source": "NNM", + "family": "SCADA", + "severity": "High", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 91, + "name": "Ethernet/IP Protocol Detection", + "source": "NNM", + "family": "SCADA", + "severity": "Info", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 26, + }, + { + "id": 110, + "name": "UDP Activity", + "source": "NNM", + "family": "Generic", + "severity": "Info", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 140, + }, + { + "id": 111, + "name": "ICMP Activity", + "source": "NNM", + "family": "Generic", + "severity": "Info", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 189, + }, + { + "id": 122, + "name": "Ethernet/IP CIP List Identity Device Detection Response", + "source": "NNM", + "family": "SCADA", + "severity": "Info", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 4, + }, + { + "id": 132, + "name": "Host Attribute Enumeration", + "source": "NNM", + "family": "Generic", + "severity": "Info", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 276, + }, + { + "id": 280, + "name": "OT Vendor Detection", + "source": "NNM", + "family": "SCADA", + "severity": "Info", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 10, + }, + { + "id": 282, + "name": "OT Serial Number Detection", + "source": "NNM", + "family": "SCADA", + "severity": "Info", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 3, + }, + { + "id": 283, + "name": "OT Protocol Detection", + "source": "NNM", + "family": "SCADA", + "severity": "Info", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 68, + }, + { + "id": 284, + "name": "OT Product Family Detection", + "source": "NNM", + "family": "SCADA", + "severity": "Info", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 8, + }, + { + "id": 285, + "name": "OT Model Name Detection", + "source": "NNM", + "family": "SCADA", + "severity": "Info", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 3, + }, + { + "id": 286, + "name": "OT Firmware Version Detection", + "source": "NNM", + "family": "SCADA", + "severity": "Info", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 7, + }, + { + "id": 500028, + "name": "Rockwell (CVE-2012-6442)", + "source": "Tot", + "family": "Tenable.ot", + "severity": "High", + "vprScore": 3.6, + "comment": None, + "owner": None, + "totalAffectedAssets": 6, + }, + { + "id": 500036, + "name": "Rockwell (CVE-2012-6436)", + "source": "Tot", + "family": "Tenable.ot", + "severity": "High", + "vprScore": 3.6, + "comment": None, + "owner": None, + "totalAffectedAssets": 13, + }, + { + "id": 500038, + "name": "Rockwell (CVE-2015-6486)", + "source": "Tot", + "family": "Tenable.ot", + "severity": "Medium", + "vprScore": 5.8, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 500043, + "name": "Rockwell (CVE-2015-6488)", + "source": "Tot", + "family": "Tenable.ot", + "severity": "Medium", + "vprScore": 3, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 500082, + "name": "Rockwell (CVE-2017-7901)", + "source": "Tot", + "family": "Tenable.ot", + "severity": "High", + "vprScore": 4.7, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 500084, + "name": "Rockwell (CVE-2017-7899)", + "source": "Tot", + "family": "Tenable.ot", + "severity": "Critical", + "vprScore": 5.9, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 500089, + "name": "Rockwell (CVE-2015-6492)", + "source": "Tot", + "family": "Tenable.ot", + "severity": "High", + "vprScore": 3.4, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 500110, + "name": "Rockwell (CVE-2017-7903)", + "source": "Tot", + "family": "Tenable.ot", + "severity": "Critical", + "vprScore": 5.9, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 500111, + "name": "Rockwell (CVE-2012-6440)", + "source": "Tot", + "family": "Tenable.ot", + "severity": "High", + "vprScore": 6.7, + "comment": None, + "owner": None, + "totalAffectedAssets": 13, + }, + { + "id": 500133, + "name": "Rockwell (CVE-2012-6438)", + "source": "Tot", + "family": "Tenable.ot", + "severity": "High", + "vprScore": 3.6, + "comment": None, + "owner": None, + "totalAffectedAssets": 13, + }, + { + "id": 500134, + "name": "Rockwell (CVE-2015-6490)", + "source": "Tot", + "family": "Tenable.ot", + "severity": "Critical", + "vprScore": 5.9, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 500147, + "name": "Rockwell (CVE-2012-6441)", + "source": "Tot", + "family": "Tenable.ot", + "severity": "Medium", + "vprScore": 3.4, + "comment": None, + "owner": None, + "totalAffectedAssets": 13, + }, + { + "id": 500152, + "name": "Rockwell (CVE-2015-6491)", + "source": "Tot", + "family": "Tenable.ot", + "severity": "Medium", + "vprScore": 3.6, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 500181, + "name": "Rockwell (CVE-2016-9334)", + "source": "Tot", + "family": "Tenable.ot", + "severity": "High", + "vprScore": 3.4, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 500198, + "name": "Rockwell (CVE-2012-6435)", + "source": "Tot", + "family": "Tenable.ot", + "severity": "High", + "vprScore": 3.6, + "comment": None, + "owner": None, + "totalAffectedAssets": 13, + }, + { + "id": 500230, + "name": "Rockwell (CVE-2016-9338)", + "source": "Tot", + "family": "Tenable.ot", + "severity": "Low", + "vprScore": 1.4, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 500253, + "name": "Rockwell (CVE-2012-6437)", + "source": "Tot", + "family": "Tenable.ot", + "severity": "Critical", + "vprScore": 6.7, + "comment": None, + "owner": None, + "totalAffectedAssets": 13, + }, + { + "id": 500254, + "name": "Rockwell (CVE-2012-6439)", + "source": "Tot", + "family": "Tenable.ot", + "severity": "High", + "vprScore": 5.3, + "comment": None, + "owner": None, + "totalAffectedAssets": 13, + }, + { + "id": 500278, + "name": "Rockwell (CVE-2017-7924)", + "source": "Tot", + "family": "Tenable.ot", + "severity": "High", + "vprScore": 3.6, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 500281, + "name": "Rockwell (CVE-2019-10955)", + "source": "Tot", + "family": "Tenable.ot", + "severity": "Medium", + "vprScore": 3, + "comment": None, + "owner": None, + "totalAffectedAssets": 2, + }, + { + "id": 500283, + "name": "Rockwell (CVE-2017-7902)", + "source": "Tot", + "family": "Tenable.ot", + "severity": "Critical", + "vprScore": 5.9, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 500320, + "name": "Rockwell (CVE-2017-7898)", + "source": "Tot", + "family": "Tenable.ot", + "severity": "Critical", + "vprScore": 5.9, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 500366, + "name": "Rockwell (CVE-2020-6980)", + "source": "Tot", + "family": "Tenable.ot", + "severity": "Low", + "vprScore": 1.4, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 500367, + "name": "Rockwell (CVE-2020-6984)", + "source": "Tot", + "family": "Tenable.ot", + "severity": "High", + "vprScore": 3.6, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 500368, + "name": "Rockwell (CVE-2020-6988)", + "source": "Tot", + "family": "Tenable.ot", + "severity": "High", + "vprScore": 3.6, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 500369, + "name": "Rockwell (CVE-2020-6990)", + "source": "Tot", + "family": "Tenable.ot", + "severity": "Critical", + "vprScore": 5.9, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 500542, + "name": "Rockwell (CVE-2021-33012)", + "source": "Tot", + "family": "Tenable.ot", + "severity": "High", + "vprScore": 4.4, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 500693, + "name": "Rockwell (CVE-2022-2179)", + "source": "Tot", + "family": "Tenable.ot", + "severity": "Medium", + "vprScore": 4.4, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 720023, + "name": "Rockwell Automation Allen-Bradley Multiple Controllers Multiple Versions Denial of Service", + "source": "NNM", + "family": "SCADA", + "severity": "High", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 720025, + "name": "Rockwell Automation/Allen-Bradley Ethernet/IP Products Improper Authentication", + "source": "NNM", + "family": "SCADA", + "severity": "Critical", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 720026, + "name": "Rockwell Automation/Allen-Bradley Ethernet/IP Products Improper Input Validation", + "source": "NNM", + "family": "SCADA", + "severity": "High", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 720027, + "name": "Rockwell Automation/Allen-Bradley Ethernet/IP Products Improper Access Control", + "source": "NNM", + "family": "SCADA", + "severity": "High", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 720028, + "name": "Rockwell Automation/Allen-Bradley Ethernet/IP Products Authentication Bypass", + "source": "NNM", + "family": "SCADA", + "severity": "Critical", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 720030, + "name": "Rockwell Automation/Allen-Bradley Ethernet/IP Products Improper Access Control", + "source": "NNM", + "family": "SCADA", + "severity": "High", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 720068, + "name": "Rockwell Automation/Allen-Bradley MicroLogix Multiple Devices SQL Injection", + "source": "NNM", + "family": "SCADA", + "severity": "Medium", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 720069, + "name": "Rockwell Automation/Allen-Bradley MicroLogix Multiple Devices XSS", + "source": "NNM", + "family": "SCADA", + "severity": "Medium", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 720070, + "name": "Rockwell Automation/Allen-Bradley MicroLogix Multiple Devices Buffer Overflow", + "source": "NNM", + "family": "SCADA", + "severity": "Critical", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 720071, + "name": "Rockwell Automation/Allen-Bradley MicroLogix Multiple Devices Unrestricted Upload", + "source": "NNM", + "family": "SCADA", + "severity": "Medium", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 720072, + "name": "Rockwell Automation/Allen-Bradley MicroLogix Multiple Devices Denial of Service", + "source": "NNM", + "family": "SCADA", + "severity": "High", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 720076, + "name": "Rockwell Automation/Allen-Bradley MicroLogix 1100 Multiple Devices Buffer Overflow", + "source": "NNM", + "family": "SCADA", + "severity": "Critical", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 720102, + "name": "Rockwell Automation/Allen-Bradley MicroLogix 1400 Series B FRN < 21.2 Multiple Vulnerabilities (ICSA-18-095-01)", + "source": "NNM", + "family": "SCADA", + "severity": "Medium", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 720123, + "name": "Rockwell Automation/Allen-Bradley MicroLogix Controllers <= 16.00 Improper Restriction of Excessive Authentication Attempts", + "source": "NNM", + "family": "SCADA", + "severity": "Medium", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 720124, + "name": "Rockwell Automation/Allen-Bradley MicroLogix Controllers <= 16.00 Information Exposure", + "source": "NNM", + "family": "SCADA", + "severity": "Medium", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 720125, + "name": "Rockwell Automation/Allen-Bradley MicroLogix Controllers <= 16.00 Predictable Value Range", + "source": "NNM", + "family": "SCADA", + "severity": "Critical", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 720127, + "name": "Rockwell Automation/Allen-Bradley MicroLogix Controllers <= 16.00 Week Password Requirements", + "source": "NNM", + "family": "SCADA", + "severity": "Medium", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 720209, + "name": "Rockwell Automation Micrologix 1100 and 1400 <= 11 Unauthorized Privilege Access or DOS", + "source": "NNM", + "family": "SCADA", + "severity": "Critical", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 720251, + "name": "Rockwell Automation MicroLogix and CompactLogix Multiple Controllers Open Redirect", + "source": "NNM", + "family": "SCADA", + "severity": "Medium", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 720294, + "name": "Rockwell Automation MicroLogix 1100 <= 16.0 and MicroLogix 1400 <= 21.003 Improper Authentication (ICSA-18-095-01)", + "source": "NNM", + "family": "SCADA", + "severity": "Medium", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 720295, + "name": "Rockwell Automation MicroLogix 1100 and 1400 <= 16.0 Improper Information Handling (ICSA-17-115-04)", + "source": "NNM", + "family": "SCADA", + "severity": "Critical", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 752975, + "name": "Rockwell Automation MicroLogix1100 1763-L16 Communications Adapter", + "source": "NNM", + "family": "SCADA", + "severity": "Info", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 1, + }, + { + "id": 764398, + "name": "EtherNet/IP Protocol Port Server Detection", + "source": "NNM", + "family": "SCADA", + "severity": "Info", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 4, + }, + ] + }, + }, + ], } } - } + }, ) expected = Asset( - id="ff950a25-2955-457a-9168-84374ee97f23", - name="Dummy network device", - type="NetworkDevice", - risk=Risk( - unresolved_events=0, - total_risk=0 + backplane=None, + category="ControllersCategory", + criticality="HighCriticality", + description=None, + details={ + "additionalIp": None, + "additionalIps": None, + "additionalMac": None, + "additionalMacs": None, + "backplaneName": None, + "category": "ControllersCategory", + "cip": {"deviceType": "Communications Adapter"}, + "classificationIncidents": [ + "OuiOtDeviceVendorIncident", + "ConversationIcsProtocolDstIncident", + "DirectConnectorIncident", + "CipIdentityCpIncident", + "NnmCpIncident", + ], + "criticality": "HighCriticality", + "customFields": [], + "directIp": "10.100.101.158", + "directIps": None, + "directMac": "f4:54:33:a6:78:c9", + "directMacs": None, + "extendedSegments": [ + { + "archived": False, + "assetType": "Controller", + "description": None, + "id": "6cd69f4e-6e68-4af0-b9ae-5d24b4ed4eb1", + "isPredefinedName": True, + "key": "AG1-35", + "name": "Controller / 10.100.101.X", + "subnet": "10.100.101.X", + "system": True, + "systemName": "Controller / 10.100.101.X", + "type": "Segment", + "vlan": None, + } + ], + "family": "MicroLogix 1100", + "firmwareVersion": "2.011", + "firstSeen": "2022-09-11T07:34:54.764844Z", + "hidden": False, + "id": "fff9f1b9-26db-4bf4-9d87-bd915aaede36", + "ips": ["10.100.101.158"], + "lastSeen": "2022-09-11T10:39:33.720514Z", + "lastUpdate": "2022-09-11T10:40:28.234644Z", + "macs": ["f4:54:33:a6:78:c9"], + "modelName": "1763-L16BBB B/11.00", + "name": "Comm. Adapter #110", + "names": [ + { + "id": "fff9f1b9-26db-4bf4-9d87-bd915aaede36", + "source": "Default", + "value": "Comm. Adapter #110", + }, + { + "id": "fff9f1b9-26db-4bf4-9d87-bd915aaede36", + "source": "Chosen", + "value": "Comm. Adapter #110", + }, + ], + "purdueLevel": "Level1", + "rawFamily": "MicroLogix1100", + "risk": 23.87340490112799, + "runStatus": "Unknown", + "runStatusTime": "0001-01-01T00:00:00Z", + "serial": "33A678C9", + "state": "Unknown", + "stateUpdateTime": "0001-01-01T00:00:00Z", + "superType": "Controller", + "type": "Cp", + "vendor": "Rockwell", + }, + family="MicroLogix 1100", + firmware_version="2.011", + first_seen=datetime.datetime( + 2022, 9, 11, 7, 34, 54, 764844, tzinfo=datetime.timezone.utc ), - criticality="MediumCriticality", - category="NetworkAssetsCategory", - purdue_level="Level2", - ips=[], - macs=["5c:88:16:01:9f:80"], + hidden=False, + id=uuid.UUID("fff9f1b9-26db-4bf4-9d87-bd915aaede36"), + ips=NodesList(nodes=["10.100.101.158"]), + last_seen=datetime.datetime( + 2022, 9, 11, 10, 39, 33, 720514, tzinfo=datetime.timezone.utc + ), + last_update="2022-09-11T10:40:28.234644Z", + location=None, + macs=NodesList(nodes=["f4:54:33:a6:78:c9"]), + model="1763-L16BBB B/11.00", + name="Comm. Adapter #110", + os=None, + os_details=None, + plugins=Plugins( + nodes=[ + Plugin( + comment=None, + family="Generic", + id=0, + name="Open Port", + owner=None, + source="NNM", + severity="Info", + total_affected_assets=98, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Generic", + id=12, + name="Number of Hops", + owner=None, + source="NNM", + severity="Info", + total_affected_assets=258, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Generic", + id=18, + name="Generic Protocol Detection", + owner=None, + source="NNM", + severity="Info", + total_affected_assets=281, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=65, + name="Rockwell Automation/Allen-Bradley " + "MicroLogix 1100 Detection", + owner=None, + source="NNM", + severity="Info", + total_affected_assets=1, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=74, + name="Ethernet Industrial Protocol " + "(EtherNet/IP) Server Explicit " + "Message Detection", + owner=None, + source="NNM", + severity="Info", + total_affected_assets=4, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=76, + name="Rockwell Automation/Allen-Bradley " + "MicroLogix 1100 L16xxx < 10.000 HTTP " + "Remote DoS", + owner=None, + source="NNM", + severity="High", + total_affected_assets=1, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=91, + name="Ethernet/IP Protocol Detection", + owner=None, + source="NNM", + severity="Info", + total_affected_assets=26, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Generic", + id=110, + name="UDP Activity", + owner=None, + source="NNM", + severity="Info", + total_affected_assets=140, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Generic", + id=111, + name="ICMP Activity", + owner=None, + source="NNM", + severity="Info", + total_affected_assets=189, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=122, + name="Ethernet/IP CIP List Identity Device " "Detection Response", + owner=None, + source="NNM", + severity="Info", + total_affected_assets=4, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Generic", + id=132, + name="Host Attribute Enumeration", + owner=None, + source="NNM", + severity="Info", + total_affected_assets=276, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=280, + name="OT Vendor Detection", + owner=None, + source="NNM", + severity="Info", + total_affected_assets=10, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=282, + name="OT Serial Number Detection", + owner=None, + source="NNM", + severity="Info", + total_affected_assets=3, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=283, + name="OT Protocol Detection", + owner=None, + source="NNM", + severity="Info", + total_affected_assets=68, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=284, + name="OT Product Family Detection", + owner=None, + source="NNM", + severity="Info", + total_affected_assets=8, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=285, + name="OT Model Name Detection", + owner=None, + source="NNM", + severity="Info", + total_affected_assets=3, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=286, + name="OT Firmware Version Detection", + owner=None, + source="NNM", + severity="Info", + total_affected_assets=7, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Tenable.ot", + id=500028, + name="Rockwell (CVE-2012-6442)", + owner=None, + source="Tot", + severity="High", + total_affected_assets=6, + vpr_score=3.6, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Tenable.ot", + id=500036, + name="Rockwell (CVE-2012-6436)", + owner=None, + source="Tot", + severity="High", + total_affected_assets=13, + vpr_score=3.6, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Tenable.ot", + id=500038, + name="Rockwell (CVE-2015-6486)", + owner=None, + source="Tot", + severity="Medium", + total_affected_assets=1, + vpr_score=5.8, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Tenable.ot", + id=500043, + name="Rockwell (CVE-2015-6488)", + owner=None, + source="Tot", + severity="Medium", + total_affected_assets=1, + vpr_score=3.0, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Tenable.ot", + id=500082, + name="Rockwell (CVE-2017-7901)", + owner=None, + source="Tot", + severity="High", + total_affected_assets=1, + vpr_score=4.7, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Tenable.ot", + id=500084, + name="Rockwell (CVE-2017-7899)", + owner=None, + source="Tot", + severity="Critical", + total_affected_assets=1, + vpr_score=5.9, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Tenable.ot", + id=500089, + name="Rockwell (CVE-2015-6492)", + owner=None, + source="Tot", + severity="High", + total_affected_assets=1, + vpr_score=3.4, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Tenable.ot", + id=500110, + name="Rockwell (CVE-2017-7903)", + owner=None, + source="Tot", + severity="Critical", + total_affected_assets=1, + vpr_score=5.9, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Tenable.ot", + id=500111, + name="Rockwell (CVE-2012-6440)", + owner=None, + source="Tot", + severity="High", + total_affected_assets=13, + vpr_score=6.7, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Tenable.ot", + id=500133, + name="Rockwell (CVE-2012-6438)", + owner=None, + source="Tot", + severity="High", + total_affected_assets=13, + vpr_score=3.6, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Tenable.ot", + id=500134, + name="Rockwell (CVE-2015-6490)", + owner=None, + source="Tot", + severity="Critical", + total_affected_assets=1, + vpr_score=5.9, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Tenable.ot", + id=500147, + name="Rockwell (CVE-2012-6441)", + owner=None, + source="Tot", + severity="Medium", + total_affected_assets=13, + vpr_score=3.4, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Tenable.ot", + id=500152, + name="Rockwell (CVE-2015-6491)", + owner=None, + source="Tot", + severity="Medium", + total_affected_assets=1, + vpr_score=3.6, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Tenable.ot", + id=500181, + name="Rockwell (CVE-2016-9334)", + owner=None, + source="Tot", + severity="High", + total_affected_assets=1, + vpr_score=3.4, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Tenable.ot", + id=500198, + name="Rockwell (CVE-2012-6435)", + owner=None, + source="Tot", + severity="High", + total_affected_assets=13, + vpr_score=3.6, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Tenable.ot", + id=500230, + name="Rockwell (CVE-2016-9338)", + owner=None, + source="Tot", + severity="Low", + total_affected_assets=1, + vpr_score=1.4, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Tenable.ot", + id=500253, + name="Rockwell (CVE-2012-6437)", + owner=None, + source="Tot", + severity="Critical", + total_affected_assets=13, + vpr_score=6.7, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Tenable.ot", + id=500254, + name="Rockwell (CVE-2012-6439)", + owner=None, + source="Tot", + severity="High", + total_affected_assets=13, + vpr_score=5.3, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Tenable.ot", + id=500278, + name="Rockwell (CVE-2017-7924)", + owner=None, + source="Tot", + severity="High", + total_affected_assets=1, + vpr_score=3.6, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Tenable.ot", + id=500281, + name="Rockwell (CVE-2019-10955)", + owner=None, + source="Tot", + severity="Medium", + total_affected_assets=2, + vpr_score=3.0, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Tenable.ot", + id=500283, + name="Rockwell (CVE-2017-7902)", + owner=None, + source="Tot", + severity="Critical", + total_affected_assets=1, + vpr_score=5.9, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Tenable.ot", + id=500320, + name="Rockwell (CVE-2017-7898)", + owner=None, + source="Tot", + severity="Critical", + total_affected_assets=1, + vpr_score=5.9, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Tenable.ot", + id=500366, + name="Rockwell (CVE-2020-6980)", + owner=None, + source="Tot", + severity="Low", + total_affected_assets=1, + vpr_score=1.4, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Tenable.ot", + id=500367, + name="Rockwell (CVE-2020-6984)", + owner=None, + source="Tot", + severity="High", + total_affected_assets=1, + vpr_score=3.6, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Tenable.ot", + id=500368, + name="Rockwell (CVE-2020-6988)", + owner=None, + source="Tot", + severity="High", + total_affected_assets=1, + vpr_score=3.6, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Tenable.ot", + id=500369, + name="Rockwell (CVE-2020-6990)", + owner=None, + source="Tot", + severity="Critical", + total_affected_assets=1, + vpr_score=5.9, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Tenable.ot", + id=500542, + name="Rockwell (CVE-2021-33012)", + owner=None, + source="Tot", + severity="High", + total_affected_assets=1, + vpr_score=4.4, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="Tenable.ot", + id=500693, + name="Rockwell (CVE-2022-2179)", + owner=None, + source="Tot", + severity="Medium", + total_affected_assets=1, + vpr_score=4.4, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=720023, + name="Rockwell Automation Allen-Bradley " + "Multiple Controllers Multiple " + "Versions Denial of Service", + owner=None, + source="NNM", + severity="High", + total_affected_assets=1, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=720025, + name="Rockwell Automation/Allen-Bradley " + "Ethernet/IP Products Improper " + "Authentication", + owner=None, + source="NNM", + severity="Critical", + total_affected_assets=1, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=720026, + name="Rockwell Automation/Allen-Bradley " + "Ethernet/IP Products Improper Input " + "Validation", + owner=None, + source="NNM", + severity="High", + total_affected_assets=1, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=720027, + name="Rockwell Automation/Allen-Bradley " + "Ethernet/IP Products Improper Access " + "Control", + owner=None, + source="NNM", + severity="High", + total_affected_assets=1, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=720028, + name="Rockwell Automation/Allen-Bradley " + "Ethernet/IP Products Authentication " + "Bypass", + owner=None, + source="NNM", + severity="Critical", + total_affected_assets=1, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=720030, + name="Rockwell Automation/Allen-Bradley " + "Ethernet/IP Products Improper Access " + "Control", + owner=None, + source="NNM", + severity="High", + total_affected_assets=1, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=720068, + name="Rockwell Automation/Allen-Bradley " + "MicroLogix Multiple Devices SQL " + "Injection", + owner=None, + source="NNM", + severity="Medium", + total_affected_assets=1, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=720069, + name="Rockwell Automation/Allen-Bradley " + "MicroLogix Multiple Devices XSS", + owner=None, + source="NNM", + severity="Medium", + total_affected_assets=1, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=720070, + name="Rockwell Automation/Allen-Bradley " + "MicroLogix Multiple Devices Buffer " + "Overflow", + owner=None, + source="NNM", + severity="Critical", + total_affected_assets=1, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=720071, + name="Rockwell Automation/Allen-Bradley " + "MicroLogix Multiple Devices " + "Unrestricted Upload", + owner=None, + source="NNM", + severity="Medium", + total_affected_assets=1, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=720072, + name="Rockwell Automation/Allen-Bradley " + "MicroLogix Multiple Devices Denial " + "of Service", + owner=None, + source="NNM", + severity="High", + total_affected_assets=1, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=720076, + name="Rockwell Automation/Allen-Bradley " + "MicroLogix 1100 Multiple Devices " + "Buffer Overflow", + owner=None, + source="NNM", + severity="Critical", + total_affected_assets=1, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=720102, + name="Rockwell Automation/Allen-Bradley " + "MicroLogix 1400 Series B FRN < 21.2 " + "Multiple Vulnerabilities " + "(ICSA-18-095-01)", + owner=None, + source="NNM", + severity="Medium", + total_affected_assets=1, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=720123, + name="Rockwell Automation/Allen-Bradley " + "MicroLogix Controllers <= 16.00 " + "Improper Restriction of Excessive " + "Authentication Attempts", + owner=None, + source="NNM", + severity="Medium", + total_affected_assets=1, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=720124, + name="Rockwell Automation/Allen-Bradley " + "MicroLogix Controllers <= 16.00 " + "Information Exposure", + owner=None, + source="NNM", + severity="Medium", + total_affected_assets=1, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=720125, + name="Rockwell Automation/Allen-Bradley " + "MicroLogix Controllers <= 16.00 " + "Predictable Value Range", + owner=None, + source="NNM", + severity="Critical", + total_affected_assets=1, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=720127, + name="Rockwell Automation/Allen-Bradley " + "MicroLogix Controllers <= 16.00 Week " + "Password Requirements", + owner=None, + source="NNM", + severity="Medium", + total_affected_assets=1, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=720209, + name="Rockwell Automation Micrologix 1100 " + "and 1400 <= 11 Unauthorized " + "Privilege Access or DOS", + owner=None, + source="NNM", + severity="Critical", + total_affected_assets=1, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=720251, + name="Rockwell Automation MicroLogix and " + "CompactLogix Multiple Controllers " + "Open Redirect", + owner=None, + source="NNM", + severity="Medium", + total_affected_assets=1, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=720294, + name="Rockwell Automation MicroLogix 1100 " + "<= 16.0 and MicroLogix 1400 <= " + "21.003 Improper Authentication " + "(ICSA-18-095-01)", + owner=None, + source="NNM", + severity="Medium", + total_affected_assets=1, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=720295, + name="Rockwell Automation MicroLogix 1100 " + "and 1400 <= 16.0 Improper " + "Information Handling " + "(ICSA-17-115-04)", + owner=None, + source="NNM", + severity="Critical", + total_affected_assets=1, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=752975, + name="Rockwell Automation MicroLogix1100 " + "1763-L16 Communications Adapter", + owner=None, + source="NNM", + severity="Info", + total_affected_assets=1, + vpr_score=None, + details=None, + affected_assets=None, + ), + Plugin( + comment=None, + family="SCADA", + id=764398, + name="EtherNet/IP Protocol Port Server " "Detection", + owner=None, + source="NNM", + severity="Info", + total_affected_assets=4, + vpr_score=None, + details=None, + affected_assets=None, + ), + ] + ), + purdue_level="Level1", + revisions=Revisions(nodes=[]), + risk=Risk(unresolved_events=0, total_risk=23.87340490112799), + run_status="Unknown", + run_status_time=datetime.datetime(1, 1, 1, 0, 0, tzinfo=datetime.timezone.utc), + segments=Segments( + nodes=[ + Segment( + id=uuid.UUID("6cd69f4e-6e68-4af0-b9ae-5d24b4ed4eb1"), + name="Controller / 10.100.101.X", + type="Segment", + key="AG1-35", + system_name="Controller / 10.100.101.X", + vlan=None, + description=None, + asset_type="Controller", + subnet="10.100.101.X", + ) + ] + ), + serial="33A678C9", + slot=None, + super_type="Controller", + type="Cp", vendor="Rockwell", - first_seen="2021-09-11T22:24:38.70483Z", - last_seen="2021-09-11T22:24:38.663888Z", - description="Dummy description", - segments=[ - Segment( - id="4629be3c-c59b-482d-a61a-77079c4b7861", - name="NetworkDevice / No Ip", - type="Segment", - key="AG1-6", - system_name="NetworkDevice / No Ip", - asset_type="NetworkDevice", - subnet="No Ip" - ) - ] + custom_field1=None, + custom_field2=None, + custom_field3=None, + custom_field4=None, + custom_field5=None, + custom_field6=None, + custom_field7=None, + custom_field8=None, + custom_field9=None, + custom_field10=None, ) - resp = fixture_ot.assets.list() + resp = fixture_ot.assets.asset("fff9f1b9-26db-4bf4-9d87-bd915aaede36") assert resp.next() == expected + +@pytest.mark.vcr() +def test_assets_list_vcr(api): + """ + Tests the assets Graphql list iterator with cassettes + """ + assets = api.assets.list(limit=2) + assert isinstance(assets, OTGraphIterator) + asset = assets.next() + assert asset is not None diff --git a/tests/ot/test_base.py b/tests/ot/test_base.py index 702cd9ddf..0521e98b8 100644 --- a/tests/ot/test_base.py +++ b/tests/ot/test_base.py @@ -1,46 +1,48 @@ -''' +""" test base -''' +""" import responses + from tenable.ot.assets import AssetsAPI from tenable.ot.graphql.definitions import ( - Extensions, + Extension, GraphqlError, GraphqlErrorSchema, Location, ) +from tenable.ot.schema.base import NodesList def test_ot_interfaces(fixture_ot): - ''' + """ Testing that the right interfaces are returned. - ''' + """ assert isinstance(fixture_ot.assets, AssetsAPI) @responses.activate def test_graphql_direct_api(fixture_ot): - ''' + """ Test the graph api method. - ''' + """ responses.add( - method='POST', - url='https://localhost/graphql', + method="POST", + url="https://localhost/graphql", json={ - 'data': { - 'asset': { - 'id': 'something', - 'type': 'EngType', - 'name': 'Eng. Station #40', - 'criticality': 'HighCriticality', - 'location': None + "data": { + "asset": { + "id": "something", + "type": "EngType", + "name": "Eng. Station #40", + "criticality": "HighCriticality", + "location": None, } } - } + }, ) resp = fixture_ot.graphql( - variables={'asset': 'something'}, - query=''' + variables={"asset": "something"}, + query=""" query getAssetDetails($asset: ID!) { asset(id: $asset) { id @@ -50,44 +52,44 @@ def test_graphql_direct_api(fixture_ot): location } } - ''' + """, ) - assert resp['data']['asset']['id'] == 'something' - assert resp['data']['asset']['type'] == 'EngType' - assert resp['data']['asset']['name'] == 'Eng. Station #40' - assert resp['data']['asset']['criticality'] == 'HighCriticality' - assert resp['data']['asset']['location'] is None + assert resp["data"]["asset"]["id"] == "something" + assert resp["data"]["asset"]["type"] == "EngType" + assert resp["data"]["asset"]["name"] == "Eng. Station #40" + assert resp["data"]["asset"]["criticality"] == "HighCriticality" + assert resp["data"]["asset"]["location"] is None def test_graphql_error_parsing(): - ''' + """ Test GraphQL single error parsing. - ''' + """ raw_err = { "message": "Test error", - "locations": [ - { - "line": 4, - "column": 7 - } - ], - "path": ['asset'], - "extensions": { - "code": "GRAPHQL_VALIDATION_FAILED" - } + "locations": [{"line": 4, "column": 7}], + "path": ["asset"], + "extensions": {"code": "GRAPHQL_VALIDATION_FAILED"}, } expected_err = GraphqlError( message="Test error", - locations=[ - Location( - line=4, - column=7 - ) - ], - path=['asset'], - extensions=Extensions(code='GRAPHQL_VALIDATION_FAILED') + locations=[Location(line=4, column=7)], + path=["asset"], + extensions=Extension(code="GRAPHQL_VALIDATION_FAILED"), ) parsed_err = GraphqlErrorSchema().load(raw_err) assert parsed_err == expected_err + print(expected_err) + + +def test_node_iterator(): + items = NodesList( + nodes=[ + "a", + "b", + "c", + ] + ) + assert ["a", "b", "c"] == [item for item in items] diff --git a/tests/ot/test_events.py b/tests/ot/test_events.py new file mode 100644 index 000000000..a03a48f0f --- /dev/null +++ b/tests/ot/test_events.py @@ -0,0 +1,333 @@ +""" +test events +""" +import datetime +import uuid +from ipaddress import IPv4Address + +import pytest +import responses + +from tenable.ot.graphql.iterators import OTGraphIterator +from tenable.ot.schema.base import AssetInfo, NodesList, AssetInfoList +from tenable.ot.schema.events import ( + Event, + EventTypeDetails, + Policy, + GroupMember, + Group, + EventCount, + ActionList, IDList, +) + + +@responses.activate +def test_list(fixture_ot): + """ + Tests the events Graphql list iterator + """ + responses.add( + method="POST", + url="https://localhost/graphql", + json={ + "data": { + "events": { + "nodes": [ + { + "id": "a54444f5-318f-4e2f-92a9-623b69f1c837", + "eventType": { + "type": "Conversation", + "group": "NetworkEvent", + "description": "Unauthorized Conversation", + "schema": "NetworkSchema", + "category": "NetworkEvents", + "family": None, + "canCapture": True, + "actions": [ + "ServiceNow", + "FortiGate", + "Email", + "Syslog", + ], + "exclusion": "Conversation", + }, + "srcIP": "10.100.20.82", + "dstIP": "10.100.102.34", + "protocolRaw": "ADS_UDP", + "policy": { + "id": "3fe25234-4509-4c0a-80b8-aa727bdbb8bc", + "index": 179, + "title": "Use of Unauthorized Protocols in Siemens SIMATIC Controllers", + "level": "Medium", + "disabled": True, + "archived": False, + "schema": "NetworkSchema", + "continuous": False, + "snapshot": False, + "system": True, + "key": "P3-16", + "eventTypeDetails": { + "type": "Conversation", + "group": "NetworkEvent", + "description": "Unauthorized Conversation", + "schema": "NetworkSchema", + "category": "NetworkEvents", + "family": None, + "canCapture": True, + "actions": [ + "ServiceNow", + "FortiGate", + "Email", + "Syslog", + ], + "exclusion": "Conversation", + }, + "disableAfterHit": False, + "actions": {"nodes": []}, + "paused": True, + "srcAssetGroup": [ + [ + { + "group": { + "id": "e7ecc8d1-5ca9-478f-b06b-9aaf113b3c65" + }, + "negate": False, + } + ] + ], + "dstAssetGroup": [ + [ + { + "group": { + "id": "259549cd-23b5-4000-b28f-6b8911c1f08f" + }, + "negate": False, + } + ] + ], + "schedule": { + "group": { + "id": "3f9dbc8c-41ad-42a4-935a-b65fed0a49cb" + }, + "negate": False, + }, + "protocolGroup": { + "group": { + "id": "964ce980-d7cb-408f-8185-a69418bb2eb7" + }, + "negate": True, + }, + "portGroup": None, + "tagGroup": None, + "valueGroup": None, + "ruleGroup": None, + "exclusions": {"nodes": []}, + "aggregatedEventsCount": { + "last24h": 11, + "last7d": 11, + "last30d": 11, + }, + }, + "time": "2022-09-11T07:53:51.349315Z", + "srcMac": None, + "dstMac": None, + "completion": "CompletionUnknown", + "protocolNiceName": None, + "resolved": False, + "resolvedTs": None, + "hitId": "a54444f5-318f-4e2f-92a9-623b69f1c837", + "severity": "Medium", + "category": "NetworkEvents", + "comment": None, + "logId": 288, + "resolvedUser": None, + "type": "Conversation", + "srcAssets": { + "nodes": [ + { + "name": "Eng. Station #100", + "id": "70716a10-5c52-459e-9bf7-55098585d87b", + } + ] + }, + "srcInterface": None, + "srcNames": {"nodes": ["Eng. Station #100"]}, + "dstAssets": { + "nodes": [ + { + "name": "CPU 412-2 PN/DP", + "id": "2a8e4470-08f0-46df-952a-e3895da5c456", + } + ] + }, + "dstInterface": None, + "dstNames": {"nodes": ["CPU 412-2 PN/DP"]}, + "hasDetails": False, + "payloadSize": 0, + "protocol": "ADS/AMS (udp/48899)", + "port": 48899, + "continuous": False, + } + ] + } + } + }, + ) + + expected = Event( + id=uuid.UUID("a54444f5-318f-4e2f-92a9-623b69f1c837"), + event_type=EventTypeDetails( + type="Conversation", + group="NetworkEvent", + description="Unauthorized Conversation", + schema="NetworkSchema", + category="NetworkEvents", + family=None, + can_capture=True, + actions=["ServiceNow", "FortiGate", "Email", "Syslog"], + exclusion="Conversation", + ), + src_ip=IPv4Address("10.100.20.82"), + dst_ip=IPv4Address("10.100.102.34"), + protocol_raw="ADS_UDP", + policy=Policy( + id=uuid.UUID("3fe25234-4509-4c0a-80b8-aa727bdbb8bc"), + index=179, + title="Use of Unauthorized Protocols in Siemens SIMATIC " "Controllers", + level="Medium", + disabled=True, + archived=False, + schema="NetworkSchema", + continuous=False, + snapshot=False, + system=True, + key="P3-16", + event_type_details=EventTypeDetails( + type="Conversation", + group="NetworkEvent", + description="Unauthorized " "Conversation", + schema="NetworkSchema", + category="NetworkEvents", + family=None, + can_capture=True, + actions=["ServiceNow", "FortiGate", "Email", "Syslog"], + exclusion="Conversation", + ), + disable_after_hit=False, + actions=ActionList(nodes=[]), + paused=True, + src_asset_group=[ + [ + GroupMember( + group=Group( + id=uuid.UUID("e7ecc8d1-5ca9-478f-b06b-9aaf113b3c65"), + name=None, + type=None, + archived=None, + system=None, + key=None, + ), + negate=False, + ) + ] + ], + dst_asset_group=[ + [ + GroupMember( + group=Group( + id=uuid.UUID("259549cd-23b5-4000-b28f-6b8911c1f08f"), + name=None, + type=None, + archived=None, + system=None, + key=None, + ), + negate=False, + ) + ] + ], + schedule=GroupMember( + group=Group( + id=uuid.UUID("3f9dbc8c-41ad-42a4-935a-b65fed0a49cb"), + name=None, + type=None, + archived=None, + system=None, + key=None, + ), + negate=False, + ), + protocol_group=GroupMember( + group=Group( + id=uuid.UUID("964ce980-d7cb-408f-8185-a69418bb2eb7"), + name=None, + type=None, + archived=None, + system=None, + key=None, + ), + negate=True, + ), + port_group=None, + tag_group=None, + value_group=None, + rule_group=None, + exclusions=IDList(nodes=[]), + aggregated_events_count=EventCount(last_24h=11, last_7d=11, last_30d=11), + ), + time=datetime.datetime( + 2022, 9, 11, 7, 53, 51, 349315, tzinfo=datetime.timezone.utc + ), + src_mac=None, + dst_mac=None, + completion="CompletionUnknown", + protocol_nice_name=None, + resolved=False, + resolved_ts=None, + severity="Medium", + category="NetworkEvents", + comment=None, + hit_id=uuid.UUID("a54444f5-318f-4e2f-92a9-623b69f1c837"), + log_id=288.0, + resolved_user=None, + type="Conversation", + src_assets=AssetInfoList( + nodes=[ + AssetInfo( + id=uuid.UUID("70716a10-5c52-459e-9bf7-55098585d87b"), + name="Eng. Station #100", + ) + ] + ), + src_interface=None, + src_names=NodesList(nodes=["Eng. Station #100"]), + dst_assets=AssetInfoList( + nodes=[ + AssetInfo( + id=uuid.UUID("2a8e4470-08f0-46df-952a-e3895da5c456"), + name="CPU 412-2 PN/DP", + ) + ] + ), + dst_interface=None, + dst_names=NodesList(nodes=["CPU 412-2 PN/DP"]), + has_details=False, + payload_size=0, + protocol="ADS/AMS (udp/48899)", + port=48899, + continuous=False, + ) + + resp = fixture_ot.events.list() + assert resp.next() == expected + + +@pytest.mark.vcr() +def test_events_list_vcr(api): + """ + Tests the events Graphql list iterator with cassettes + """ + events = api.events.list(sort=[{"field": "eventId", "direction": "DescNullLast"}], limit=2) + assert isinstance(events, OTGraphIterator) + event = events.next() + assert event is not None diff --git a/tests/ot/test_plugins.py b/tests/ot/test_plugins.py new file mode 100644 index 000000000..fc8133cb8 --- /dev/null +++ b/tests/ot/test_plugins.py @@ -0,0 +1,320 @@ +""" +test plugins +""" +import uuid + +import pytest +import responses + +from tenable.ot.graphql.iterators import OTGraphIterator +from tenable.ot.graphql.schema.plugins import Plugin +from tenable.ot.schema.base import AssetInfo, AssetInfoList +from tenable.ot.schema.plugins import PluginDetails, PluginRef + + +@responses.activate +def test_list(fixture_ot): + """ + Tests the plugins Graphql list iterator + """ + responses.add( + method="POST", + url="https://localhost/graphql", + json={ + "data": { + "plugins": { + "pageInfo": {"endCursor": "YXJyYXljb25uZWN0aW9uOjA="}, + "nodes": [ + { + "id": 720250, + "name": "Schneider Electric Modicon Multiple Controllers Unusual or Exceptional Conditions Improper Check", + "source": "NNM", + "family": "SCADA", + "severity": "Medium", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 2, + "details": { + "id": 720250, + "name": "Schneider Electric Modicon Multiple Controllers Unusual or Exceptional Conditions Improper Check", + "source": "NNM", + "family": "SCADA", + "description": "An Improper Check for Unusual or Exceptional Conditions vulnerability exists in the embedded web servers in all Modicon M340, Premium, Quantum PLCs and BMXNOR0200 where an unauthenticated user can send a specially crafted XML data via a POST request to cause the web server to become unavailable.", + "solution": "Perform vendor recommended mitigations and apply available vendor upgrades.", + "seeAlso": [ + "https://www.schneider-electric.com/en/download/document/SEVD-2018-327-01" + ], + "pluginType": None, + "pluginPubDate": None, + "pluginModDate": None, + "vulnPubDate": None, + "vulnModDate": None, + "refs": [ + { + "name": "CVE", + "value": "CVE-2018-7833", + "url": "http://web.nvd.nist.gov/view/vuln/detail?vulnId=", + } + ], + "cpe": None, + "cvssVector": "CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:P", + "cvssV3Vector": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", + "cvssBaseScore": "5.0", + "cvssV3BaseScore": "7.5", + "cvssV3TemporalScore": "6.5", + "cvssTemporalScore": "3.7", + "cvssV3TemporalVector": "CVSS:3.0/E:U/RL:O/RC:C", + "cvssImpactScore": None, + }, + "affectedAssets": { + "nodes": [ + { + "id": "d6c19fcd-29ae-441f-bd10-29ab6f9e32e8", + "name": "140-NOE-771-01 Module", + }, + { + "id": "e2063853-b284-428a-8205-1c7bdf5afa56", + "name": "BMX NOC0401", + }, + ] + }, + } + ], + } + } + }, + ) + + expected = Plugin( + comment=None, + family="SCADA", + id=720250, + name="Schneider Electric Modicon Multiple Controllers Unusual or " + "Exceptional Conditions Improper Check", + owner=None, + source="NNM", + severity="Medium", + total_affected_assets=2, + vpr_score=None, + details=PluginDetails( + id=720250, + name="Schneider Electric Modicon Multiple " + "Controllers Unusual or Exceptional " + "Conditions Improper Check", + source="NNM", + family="SCADA", + description="An Improper Check for Unusual or " + "Exceptional Conditions " + "vulnerability exists in the " + "embedded web servers in all Modicon " + "M340, Premium, Quantum PLCs and " + "BMXNOR0200 where an unauthenticated " + "user can send a specially crafted " + "XML data via a POST request to " + "cause the web server to become " + "unavailable.", + solution="Perform vendor recommended mitigations " + "and apply available vendor upgrades.", + see_also=[ + "https://www.schneider-electric.com/en/download/document/SEVD-2018-327-01" + ], + plugin_type=None, + plugin_pub_date=None, + plugin_mod_date=None, + vuln_pub_date=None, + vuln_mod_date=None, + refs=[ + PluginRef( + name="CVE", + value="CVE-2018-7833", + url="http://web.nvd.nist.gov/view/vuln/detail?vulnId=", + ) + ], + cpe=None, + cvss_vector="CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:P", + cvss_v3_vector="CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", + cvss_base_score="5.0", + cvss_v3_basescore="7.5", + cvss_v3_temporal_score="6.5", + cvss_temporal_score="3.7", + cvss_v3_temporal_vector="CVSS:3.0/E:U/RL:O/RC:C", + cvss_impact_score=None, + ), + affected_assets=AssetInfoList( + nodes=[ + AssetInfo( + id=uuid.UUID("d6c19fcd-29ae-441f-bd10-29ab6f9e32e8"), + name="140-NOE-771-01 " "Module", + ), + AssetInfo( + id=uuid.UUID("e2063853-b284-428a-8205-1c7bdf5afa56"), + name="BMX NOC0401", + ), + ] + ), + ) + + resp = fixture_ot.plugins.list() + assert resp.next() == expected + + +@responses.activate +def test_plugin(fixture_ot): + """ + Tests the plugins Graphql plugin retriever + """ + responses.add( + method="POST", + url="https://localhost/graphql", + json={ + "data": { + "plugins": { + "pageInfo": {"endCursor": "YXJyYXljb25uZWN0aW9uOjA="}, + "nodes": [ + { + "id": 720250, + "name": "Schneider Electric Modicon Multiple Controllers Unusual or Exceptional Conditions Improper Check", + "source": "NNM", + "family": "SCADA", + "severity": "Medium", + "vprScore": None, + "comment": None, + "owner": None, + "totalAffectedAssets": 2, + "details": { + "id": 720250, + "name": "Schneider Electric Modicon Multiple Controllers Unusual or Exceptional Conditions Improper Check", + "source": "NNM", + "family": "SCADA", + "description": "An Improper Check for Unusual or Exceptional Conditions vulnerability exists in the embedded web servers in all Modicon M340, Premium, Quantum PLCs and BMXNOR0200 where an unauthenticated user can send a specially crafted XML data via a POST request to cause the web server to become unavailable.", + "solution": "Perform vendor recommended mitigations and apply available vendor upgrades.", + "seeAlso": [ + "https://www.schneider-electric.com/en/download/document/SEVD-2018-327-01" + ], + "pluginType": None, + "pluginPubDate": None, + "pluginModDate": None, + "vulnPubDate": None, + "vulnModDate": None, + "refs": [ + { + "name": "CVE", + "value": "CVE-2018-7833", + "url": "http://web.nvd.nist.gov/view/vuln/detail?vulnId=", + } + ], + "cpe": None, + "cvssVector": "CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:P", + "cvssV3Vector": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", + "cvssBaseScore": "5.0", + "cvssV3BaseScore": "7.5", + "cvssV3TemporalScore": "6.5", + "cvssTemporalScore": "3.7", + "cvssV3TemporalVector": "CVSS:3.0/E:U/RL:O/RC:C", + "cvssImpactScore": None, + }, + "affectedAssets": { + "nodes": [ + { + "id": "d6c19fcd-29ae-441f-bd10-29ab6f9e32e8", + "name": "140-NOE-771-01 Module", + }, + { + "id": "e2063853-b284-428a-8205-1c7bdf5afa56", + "name": "BMX NOC0401", + }, + ] + }, + } + ], + } + } + }, + ) + + expected = Plugin( + comment=None, + family="SCADA", + id=720250, + name="Schneider Electric Modicon Multiple Controllers Unusual or " + "Exceptional Conditions Improper Check", + owner=None, + source="NNM", + severity="Medium", + total_affected_assets=2, + vpr_score=None, + details=PluginDetails( + id=720250, + name="Schneider Electric Modicon Multiple " + "Controllers Unusual or Exceptional " + "Conditions Improper Check", + source="NNM", + family="SCADA", + description="An Improper Check for Unusual or " + "Exceptional Conditions " + "vulnerability exists in the " + "embedded web servers in all Modicon " + "M340, Premium, Quantum PLCs and " + "BMXNOR0200 where an unauthenticated " + "user can send a specially crafted " + "XML data via a POST request to " + "cause the web server to become " + "unavailable.", + solution="Perform vendor recommended mitigations " + "and apply available vendor upgrades.", + see_also=[ + "https://www.schneider-electric.com/en/download/document/SEVD-2018-327-01" + ], + plugin_type=None, + plugin_pub_date=None, + plugin_mod_date=None, + vuln_pub_date=None, + vuln_mod_date=None, + refs=[ + PluginRef( + name="CVE", + value="CVE-2018-7833", + url="http://web.nvd.nist.gov/view/vuln/detail?vulnId=", + ) + ], + cpe=None, + cvss_vector="CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:P", + cvss_v3_vector="CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", + cvss_base_score="5.0", + cvss_v3_basescore="7.5", + cvss_v3_temporal_score="6.5", + cvss_temporal_score="3.7", + cvss_v3_temporal_vector="CVSS:3.0/E:U/RL:O/RC:C", + cvss_impact_score=None, + ), + affected_assets=AssetInfoList( + nodes=[ + AssetInfo( + id=uuid.UUID("d6c19fcd-29ae-441f-bd10-29ab6f9e32e8"), + name="140-NOE-771-01 " "Module", + ), + AssetInfo( + id=uuid.UUID("e2063853-b284-428a-8205-1c7bdf5afa56"), + name="BMX NOC0401", + ), + ] + ), + ) + + resp = fixture_ot.plugins.plugin(720250) + plugin = resp.next() + affected_assets = iter(plugin.affected_assets) + assert len(list(affected_assets)) == 2 + assert plugin == expected + + +@pytest.mark.vcr() +def test_plugins_list_vcr(api): + """ + Tests the assets Graphql list iterator with cassettes + """ + plugins = api.plugins.list(limit=2) + assert isinstance(plugins, OTGraphIterator) + plugin = plugins.next() + assert plugin is not None diff --git a/tests/ot/test_schema.py b/tests/ot/test_schema.py new file mode 100644 index 000000000..5928b28b6 --- /dev/null +++ b/tests/ot/test_schema.py @@ -0,0 +1,17 @@ +import pytest + +from tenable.ot.graphql.definitions import SchemaBase +from tenable.ot.schema.base import AssetInfo + + +def test_schema_missing_data_class(): + schema = SchemaBase() + with pytest.raises(ValueError, match="dataclass must be set for"): + schema.to_object({}) + + +def test_schema_invalid_data(): + schema = SchemaBase() + schema.dataclass = AssetInfo + with pytest.raises(ValueError, match="data must be of type dict"): + schema.to_object(None) diff --git a/tests/ot/test_session.py b/tests/ot/test_session.py new file mode 100644 index 000000000..aec65fe35 --- /dev/null +++ b/tests/ot/test_session.py @@ -0,0 +1,11 @@ +import pytest + +from tenable.ot import TenableOT + + +def test_session_auth(): + t = TenableOT(api_key="SECRET_KEY") + with pytest.warns( + UserWarning, match="Session Auth isn't supported with the Tenable.ot APIs" + ): + t._session_auth() diff --git a/tests/sc/cassettes/test_feeds_process_success.yaml b/tests/sc/cassettes/test_feeds_process_success.yaml new file mode 100644 index 000000000..b1092ba60 --- /dev/null +++ b/tests/sc/cassettes/test_feeds_process_success.yaml @@ -0,0 +1,4858 @@ +interactions: +- request: + body: !!binary | + LS1kYTM2YzJhZDZjMjNjMDgxMzkyYmMxNTIyMjNjNjk1OQ0KQ29udGVudC1EaXNwb3NpdGlvbjog + Zm9ybS1kYXRhOyBuYW1lPSJGaWxlZGF0YSI7IGZpbGVuYW1lPSJTZWN1cml0eUNlbnRlckZlZWQ0 + OC50YXIuZ3oiDQoNClNlY3VyaXR5Q2VudGVyRmVlZDQ4LnRhci8AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw + MDQwNzc3ADAwMDAwMDAAMDAwMDAwMAAwMDAwMDAwMDAwMAAxNDI0NTQwNzY2NwAwMTI1MzAAIDUA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIAMDAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAU2VjdXJpdHlDZW50ZXJGZWVkNDgudGFyLzk1My50YXIAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAx + MDA3NzcAMDAwMDAwMAAwMDAwMDAwADAwMDAxMDEwMDAwADE0MjQ1NDA3NjUwADAxMzU0MAAgMAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhcgAwMAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAA5NTMvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDA0 + MDc3NwAwMDAwMDAwADAwMDAwMDAAMDAwMDAwMDAwMDAAMTQyNDU0MDc2MDYAMDA2MzQ0ACA1AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyADAwAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAADk1My9zY0ZlZWQyLnRhci5negAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAw + Nzc3ADAwMDAwMDAAMDAwMDAwMAAwMDAwMTAwMzAwMAAxNDI0NTQwNzYwMAAwMTA3MzIAIDAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIAMDAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAc2NGZWVkMi50YXIvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwNDA3 + NzcAMDAwMDAwMAAwMDAwMDAwADAwMDAwMDAwMDAwADE0MjQ1NDA3NTA3ADAxMDA2NAAgNQAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhcgAwMAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAABzY0ZlZWQyLnRhci85NTMudGFyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDc3 + NwAwMDAwMDAwADAwMDAwMDAAMDAwMDA3NzcwMDAAMTQyNDU0MDc1MDIAMDExMTIyACAwAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyADAwAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAADk1My8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDQwNzc3 + ADAwMDAwMDAAMDAwMDAwMAAwMDAwMDAwMDAwMAAxNDI0NTQwNzQ1MwAwMDYzNDQAIDUAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIAMDAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAOTUzL2RpcmVjdGl2ZXMueG1sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAxMDA3NzcA + MDAwMDAwMAAwMDAwMDAwADAwMDAwMDMxMzY3ADE0MjQzMzI2NDYwADAxMTIzNQAgMAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhcgAwMAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgo8cm9vdD4KCTxzY0Zl + ZWQ+CgkJPHZlcnNpb24+NC44LjA8L3ZlcnNpb24+CgkJPGRpcmVjdGl2ZXM+CgkJCTxjb3B5PgoJ + CQkJPGZyb20+cGx1Z2luSW5mby54bWwuNC44PC9mcm9tPgoJCQkJPHRvPnBsdWdpbkluZm8ueG1s + PC90bz4KCQkJPC9jb3B5PgoJCTwvZGlyZWN0aXZlcz4KCTwvc2NGZWVkPgoJPHNjRmVlZD4KCQk8 + dmVyc2lvbj40LjguMTwvdmVyc2lvbj4KCQk8ZGlyZWN0aXZlcz4KCQkJPGNvcHk+CgkJCQk8ZnJv + bT5wbHVnaW5JbmZvLnhtbC40Ljg8L2Zyb20+CgkJCQk8dG8+cGx1Z2luSW5mby54bWw8L3RvPgoJ + CQk8L2NvcHk+CgkJPC9kaXJlY3RpdmVzPgoJPC9zY0ZlZWQ+Cgk8c2NGZWVkPgoJCTx2ZXJzaW9u + PjQuOC4yPC92ZXJzaW9uPgoJCTxkaXJlY3RpdmVzPgoJCQk8Y29weT4KCQkJCTxmcm9tPnBsdWdp + bkluZm8ueG1sLjQuODwvZnJvbT4KCQkJCTx0bz5wbHVnaW5JbmZvLnhtbDwvdG8+CgkJCTwvY29w + eT4KCQk8L2RpcmVjdGl2ZXM+Cgk8L3NjRmVlZD4KCTxzY0ZlZWQ+CgkJPHZlcnNpb24+NS4wLjA8 + L3ZlcnNpb24+CgkJPGRpcmVjdGl2ZXM+CgkJCTxjb3B5PgoJCQkJPGZyb20+cGx1Z2luSW5mby54 + bWwuNC44PC9mcm9tPgoJCQkJPHRvPnBsdWdpbkluZm8ueG1sPC90bz4KCQkJPC9jb3B5PgoJCTwv + ZGlyZWN0aXZlcz4KCTwvc2NGZWVkPgoJPHNjRmVlZD4KCQk8dmVyc2lvbj41LjAuMC4xPC92ZXJz + aW9uPgoJCTxkaXJlY3RpdmVzPgoJCQk8Y29weT4KCQkJCTxmcm9tPnBsdWdpbkluZm8ueG1sLjQu + ODwvZnJvbT4KCQkJCTx0bz5wbHVnaW5JbmZvLnhtbDwvdG8+CgkJCTwvY29weT4KCQk8L2RpcmVj + dGl2ZXM+Cgk8L3NjRmVlZD4KCTxzY0ZlZWQ+CgkJPHZlcnNpb24+NS4wLjAuMjwvdmVyc2lvbj4K + CQk8ZGlyZWN0aXZlcz4KCQkJPGNvcHk+CgkJCQk8ZnJvbT5wbHVnaW5JbmZvLnhtbC40Ljg8L2Zy + b20+CgkJCQk8dG8+cGx1Z2luSW5mby54bWw8L3RvPgoJCQk8L2NvcHk+CgkJPC9kaXJlY3RpdmVz + PgoJPC9zY0ZlZWQ+Cgk8c2NGZWVkPgoJCTx2ZXJzaW9uPjUuMC4wLjM8L3ZlcnNpb24+CgkJPGRp + cmVjdGl2ZXM+CgkJCTxjb3B5PgoJCQkJPGZyb20+cGx1Z2luSW5mby54bWwuNC44PC9mcm9tPgoJ + CQkJPHRvPnBsdWdpbkluZm8ueG1sPC90bz4KCQkJPC9jb3B5PgoJCTwvZGlyZWN0aXZlcz4KCTwv + c2NGZWVkPgoJPHNjRmVlZD4KCQk8dmVyc2lvbj41LjAuMTwvdmVyc2lvbj4KCQk8ZGlyZWN0aXZl + cz4KCQkJPGNvcHk+CgkJCQk8ZnJvbT5wbHVnaW5JbmZvLnhtbC40Ljg8L2Zyb20+CgkJCQk8dG8+ + cGx1Z2luSW5mby54bWw8L3RvPgoJCQk8L2NvcHk+CgkJPC9kaXJlY3RpdmVzPgoJPC9zY0ZlZWQ+ + Cgk8c2NGZWVkPgoJCTx2ZXJzaW9uPjUuMC4yPC92ZXJzaW9uPgoJCTxkaXJlY3RpdmVzPgoJCQk8 + Y29weT4KCQkJCTxmcm9tPnBsdWdpbkluZm8ueG1sLjQuODwvZnJvbT4KCQkJCTx0bz5wbHVnaW5J + bmZvLnhtbDwvdG8+CgkJCTwvY29weT4KCQk8L2RpcmVjdGl2ZXM+Cgk8L3NjRmVlZD4KCTxzY0Zl + ZWQ+CgkJPHZlcnNpb24+NS4xLjA8L3ZlcnNpb24+CgkJPGRpcmVjdGl2ZXM+CgkJCTxjb3B5PgoJ + CQkJPGZyb20+cGx1Z2luSW5mby54bWwuNC44PC9mcm9tPgoJCQkJPHRvPnBsdWdpbkluZm8ueG1s + PC90bz4KCQkJPC9jb3B5PgoJCQk8L2RpcmVjdGl2ZXM+Cgk8L3NjRmVlZD4KCTxzY0ZlZWQ+CgkJ + PHZlcnNpb24+NS4yLjA8L3ZlcnNpb24+CgkJPGRpcmVjdGl2ZXM+CgkJCTxjb3B5PgoJCQkJPGZy + b20+cGx1Z2luSW5mby54bWwuNC44PC9mcm9tPgoJCQkJPHRvPnBsdWdpbkluZm8ueG1sPC90bz4K + CQkJPC9jb3B5PgoJCQk8Y29weT4KCQkJCTxmcm9tPmF1ZGl0RmlsZVRlbXBsYXRlcy54bWwuNS4y + PC9mcm9tPgoJCQkJPHRvPmF1ZGl0RmlsZVRlbXBsYXRlcy54bWw8L3RvPgoJCQk8L2NvcHk+CgkJ + PC9kaXJlY3RpdmVzPgoJPC9zY0ZlZWQ+Cgk8c2NGZWVkPgoJCTx2ZXJzaW9uPjUuMy4wPC92ZXJz + aW9uPgoJCTxkaXJlY3RpdmVzPgoJCQk8Y29weT4KCQkJCTxmcm9tPnBsdWdpbkluZm8ueG1sLjQu + ODwvZnJvbT4KCQkJCTx0bz5wbHVnaW5JbmZvLnhtbDwvdG8+CgkJCTwvY29weT4KCQkJPGNvcHk+ + CgkJCQk8ZnJvbT5hdWRpdEZpbGVUZW1wbGF0ZXMueG1sLjUuMjwvZnJvbT4KCQkJCTx0bz5hdWRp + dEZpbGVUZW1wbGF0ZXMueG1sPC90bz4KCQkJPC9jb3B5PgoJCTwvZGlyZWN0aXZlcz4KCTwvc2NG + ZWVkPgoJPHNjRmVlZD4KCQk8dmVyc2lvbj41LjMuMTwvdmVyc2lvbj4KCQk8ZGlyZWN0aXZlcz4K + CQkJPGNvcHk+CgkJCQk8ZnJvbT5wbHVnaW5JbmZvLnhtbC40Ljg8L2Zyb20+CgkJCQk8dG8+cGx1 + Z2luSW5mby54bWw8L3RvPgoJCQk8L2NvcHk+CgkJCTxjb3B5PgoJCQkJPGZyb20+YXVkaXRGaWxl + VGVtcGxhdGVzLnhtbC41LjI8L2Zyb20+CgkJCQk8dG8+YXVkaXRGaWxlVGVtcGxhdGVzLnhtbDwv + dG8+CgkJCTwvY29weT4KCQk8L2RpcmVjdGl2ZXM+Cgk8L3NjRmVlZD4KCTxzY0ZlZWQ+CgkJPHZl + cnNpb24+NS4zLjI8L3ZlcnNpb24+CgkJPGRpcmVjdGl2ZXM+CgkJCTxjb3B5PgoJCQkJPGZyb20+ + cGx1Z2luSW5mby54bWwuNC44PC9mcm9tPgoJCQkJPHRvPnBsdWdpbkluZm8ueG1sPC90bz4KCQkJ + PC9jb3B5PgoJCQk8Y29weT4KCQkJCTxmcm9tPmF1ZGl0RmlsZVRlbXBsYXRlcy54bWwuNS4yPC9m + cm9tPgoJCQkJPHRvPmF1ZGl0RmlsZVRlbXBsYXRlcy54bWw8L3RvPgoJCQk8L2NvcHk+CgkJPC9k + aXJlY3RpdmVzPgoJPC9zY0ZlZWQ+Cgk8c2NGZWVkPgoJCTx2ZXJzaW9uPjUuNC4wPC92ZXJzaW9u + PgoJCTxkaXJlY3RpdmVzPgoJCQk8Y29weT4KCQkJCTxmcm9tPnBsdWdpbkluZm8ueG1sLjQuODwv + ZnJvbT4KCQkJCTx0bz5wbHVnaW5JbmZvLnhtbDwvdG8+CgkJCTwvY29weT4KCQkJPGNvcHk+CgkJ + CQk8ZnJvbT5hdWRpdEZpbGVUZW1wbGF0ZXMueG1sLjUuMjwvZnJvbT4KCQkJCTx0bz5hdWRpdEZp + bGVUZW1wbGF0ZXMueG1sPC90bz4KCQkJPC9jb3B5PgoJCTwvZGlyZWN0aXZlcz4KCTwvc2NGZWVk + PgoJPHNjRmVlZD4KCQk8dmVyc2lvbj41LjQuMTwvdmVyc2lvbj4KCQk8ZGlyZWN0aXZlcz4KCQkJ + PGNvcHk+CgkJCQk8ZnJvbT5wbHVnaW5JbmZvLnhtbC41LjQuMTwvZnJvbT4KCQkJCTx0bz5wbHVn + aW5JbmZvLnhtbDwvdG8+CgkJCTwvY29weT4KCQkJPGNvcHk+CgkJCQk8ZnJvbT5hdWRpdEZpbGVU + ZW1wbGF0ZXMueG1sLjUuMjwvZnJvbT4KCQkJCTx0bz5hdWRpdEZpbGVUZW1wbGF0ZXMueG1sPC90 + bz4KCQkJPC9jb3B5PgoJCTwvZGlyZWN0aXZlcz4KCTwvc2NGZWVkPgoJPHNjRmVlZD4KCQk8dmVy + c2lvbj41LjQuMjwvdmVyc2lvbj4KCQk8ZGlyZWN0aXZlcz4KCQkJPGNvcHk+CgkJCQk8ZnJvbT5w + bHVnaW5JbmZvLnhtbC41LjQuMTwvZnJvbT4KCQkJCTx0bz5wbHVnaW5JbmZvLnhtbDwvdG8+CgkJ + CTwvY29weT4KCQkJPGNvcHk+CgkJCQk8ZnJvbT5hdWRpdEZpbGVUZW1wbGF0ZXMueG1sLjUuMjwv + ZnJvbT4KCQkJCTx0bz5hdWRpdEZpbGVUZW1wbGF0ZXMueG1sPC90bz4KCQkJPC9jb3B5PgoJCTwv + ZGlyZWN0aXZlcz4KCTwvc2NGZWVkPgoJPHNjRmVlZD4KCQk8dmVyc2lvbj41LjQuMzwvdmVyc2lv + bj4KCQk8ZGlyZWN0aXZlcz4KCQkJPGNvcHk+CgkJCQk8ZnJvbT5wbHVnaW5JbmZvLnhtbC41LjQu + MTwvZnJvbT4KCQkJCTx0bz5wbHVnaW5JbmZvLnhtbDwvdG8+CgkJCTwvY29weT4KCQkJPGNvcHk+ + CgkJCQk8ZnJvbT5hdWRpdEZpbGVUZW1wbGF0ZXMueG1sLjUuMjwvZnJvbT4KCQkJCTx0bz5hdWRp + dEZpbGVUZW1wbGF0ZXMueG1sPC90bz4KCQkJPC9jb3B5PgoJCTwvZGlyZWN0aXZlcz4KCTwvc2NG + ZWVkPgoJPHNjRmVlZD4KCQk8dmVyc2lvbj41LjQuNDwvdmVyc2lvbj4KCQk8ZGlyZWN0aXZlcz4K + CQkJPGNvcHk+CgkJCQk8ZnJvbT5wbHVnaW5JbmZvLnhtbC41LjQuMTwvZnJvbT4KCQkJCTx0bz5w + bHVnaW5JbmZvLnhtbDwvdG8+CgkJCTwvY29weT4KCQkJPGNvcHk+CgkJCQk8ZnJvbT5hdWRpdEZp + bGVUZW1wbGF0ZXMueG1sLjUuMjwvZnJvbT4KCQkJCTx0bz5hdWRpdEZpbGVUZW1wbGF0ZXMueG1s + PC90bz4KCQkJPC9jb3B5PgoJCTwvZGlyZWN0aXZlcz4KCTwvc2NGZWVkPgoJPHNjRmVlZD4KCQk8 + dmVyc2lvbj41LjQuNTwvdmVyc2lvbj4KCQk8ZGlyZWN0aXZlcz4KCQkJPGNvcHk+CgkJCQk8ZnJv + bT5wbHVnaW5JbmZvLnhtbC41LjQuMTwvZnJvbT4KCQkJCTx0bz5wbHVnaW5JbmZvLnhtbDwvdG8+ + CgkJCTwvY29weT4KCQkJPGNvcHk+CgkJCQk8ZnJvbT5hdWRpdEZpbGVUZW1wbGF0ZXMueG1sLjUu + MjwvZnJvbT4KCQkJCTx0bz5hdWRpdEZpbGVUZW1wbGF0ZXMueG1sPC90bz4KCQkJPC9jb3B5PgoJ + CTwvZGlyZWN0aXZlcz4KCTwvc2NGZWVkPgoJPHNjRmVlZD4KCQk8dmVyc2lvbj41LjUuMDwvdmVy + c2lvbj4KCQk8ZGlyZWN0aXZlcz4KCQkJPGNvcHk+CgkJCQk8ZnJvbT5wbHVnaW5JbmZvLnhtbC41 + LjQuMTwvZnJvbT4KCQkJCTx0bz5wbHVnaW5JbmZvLnhtbDwvdG8+CgkJCTwvY29weT4KCQkJPGNv + cHk+CgkJCQk8ZnJvbT5hdWRpdEZpbGVUZW1wbGF0ZXMueG1sLjUuMjwvZnJvbT4KCQkJCTx0bz5h + dWRpdEZpbGVUZW1wbGF0ZXMueG1sPC90bz4KCQkJPC9jb3B5PgoJCTwvZGlyZWN0aXZlcz4KCTwv + c2NGZWVkPgoJPHNjRmVlZD4KCQk8dmVyc2lvbj41LjUuMTwvdmVyc2lvbj4KCQk8ZGlyZWN0aXZl + cz4KCQkJPGNvcHk+CgkJCQk8ZnJvbT5wbHVnaW5JbmZvLnhtbC41LjQuMTwvZnJvbT4KCQkJCTx0 + bz5wbHVnaW5JbmZvLnhtbDwvdG8+CgkJCTwvY29weT4KCQkJPGNvcHk+CgkJCQk8ZnJvbT5hdWRp + dEZpbGVUZW1wbGF0ZXMueG1sLjUuMjwvZnJvbT4KCQkJCTx0bz5hdWRpdEZpbGVUZW1wbGF0ZXMu + eG1sPC90bz4KCQkJPC9jb3B5PgoJCTwvZGlyZWN0aXZlcz4KCTwvc2NGZWVkPgoJPHNjRmVlZD4K + CQk8dmVyc2lvbj41LjUuMjwvdmVyc2lvbj4KCQk8ZGlyZWN0aXZlcz4KCQkJPGNvcHk+CgkJCQk8 + ZnJvbT5wbHVnaW5JbmZvLnhtbC41LjQuMTwvZnJvbT4KCQkJCTx0bz5wbHVnaW5JbmZvLnhtbDwv + dG8+CgkJCTwvY29weT4KCQkJPGNvcHk+CgkJCQk8ZnJvbT5hdWRpdEZpbGVUZW1wbGF0ZXMueG1s + LjUuMjwvZnJvbT4KCQkJCTx0bz5hdWRpdEZpbGVUZW1wbGF0ZXMueG1sPC90bz4KCQkJPC9jb3B5 + PgoJCTwvZGlyZWN0aXZlcz4KCTwvc2NGZWVkPgoJPHNjRmVlZD4KCQk8dmVyc2lvbj41LjYuMDwv + dmVyc2lvbj4KCQk8ZGlyZWN0aXZlcz4KCQkJPGNvcHk+CgkJCQk8ZnJvbT5wbHVnaW5JbmZvLnht + bC41LjQuMTwvZnJvbT4KCQkJCTx0bz5wbHVnaW5JbmZvLnhtbDwvdG8+CgkJCTwvY29weT4KCQkJ + PGNvcHk+CgkJCQk8ZnJvbT5hdWRpdEZpbGVUZW1wbGF0ZXMueG1sLjUuMjwvZnJvbT4KCQkJCTx0 + bz5hdWRpdEZpbGVUZW1wbGF0ZXMueG1sPC90bz4KCQkJPC9jb3B5PgoJCTwvZGlyZWN0aXZlcz4K + CTwvc2NGZWVkPgoJPHNjRmVlZD4KCQk8dmVyc2lvbj41LjYuMC4xPC92ZXJzaW9uPgoJCTxkaXJl + Y3RpdmVzPgoJCQk8Y29weT4KCQkJCTxmcm9tPnBsdWdpbkluZm8ueG1sLjUuNC4xPC9mcm9tPgoJ + CQkJPHRvPnBsdWdpbkluZm8ueG1sPC90bz4KCQkJPC9jb3B5PgoJCQk8Y29weT4KCQkJCTxmcm9t + PmF1ZGl0RmlsZVRlbXBsYXRlcy54bWwuNS4yPC9mcm9tPgoJCQkJPHRvPmF1ZGl0RmlsZVRlbXBs + YXRlcy54bWw8L3RvPgoJCQk8L2NvcHk+CgkJPC9kaXJlY3RpdmVzPgoJPC9zY0ZlZWQ+Cgk8c2NG + ZWVkPgoJCTx2ZXJzaW9uPjUuNi4xPC92ZXJzaW9uPgoJCTxkaXJlY3RpdmVzPgoJCQk8Y29weT4K + CQkJCTxmcm9tPnBsdWdpbkluZm8ueG1sLjUuNC4xPC9mcm9tPgoJCQkJPHRvPnBsdWdpbkluZm8u + eG1sPC90bz4KCQkJPC9jb3B5PgoJCQk8Y29weT4KCQkJCTxmcm9tPmF1ZGl0RmlsZVRlbXBsYXRl + cy54bWwuNS4yPC9mcm9tPgoJCQkJPHRvPmF1ZGl0RmlsZVRlbXBsYXRlcy54bWw8L3RvPgoJCQk8 + L2NvcHk+CgkJPC9kaXJlY3RpdmVzPgoJPC9zY0ZlZWQ+Cgk8c2NGZWVkPgoJCTx2ZXJzaW9uPjUu + Ni4yPC92ZXJzaW9uPgoJCTxkaXJlY3RpdmVzPgoJCQk8Y29weT4KCQkJCTxmcm9tPnBsdWdpbklu + Zm8ueG1sLjUuNC4xPC9mcm9tPgoJCQkJPHRvPnBsdWdpbkluZm8ueG1sPC90bz4KCQkJPC9jb3B5 + PgoJCQk8Y29weT4KCQkJCTxmcm9tPmF1ZGl0RmlsZVRlbXBsYXRlcy54bWwuNS4yPC9mcm9tPgoJ + CQkJPHRvPmF1ZGl0RmlsZVRlbXBsYXRlcy54bWw8L3RvPgoJCQk8L2NvcHk+CgkJPC9kaXJlY3Rp + dmVzPgoJPC9zY0ZlZWQ+Cgk8c2NGZWVkPgoJCTx2ZXJzaW9uPjUuNi4yLjE8L3ZlcnNpb24+CgkJ + PGRpcmVjdGl2ZXM+CgkJCTxjb3B5PgoJCQkJPGZyb20+cGx1Z2luSW5mby54bWwuNS40LjE8L2Zy + b20+CgkJCQk8dG8+cGx1Z2luSW5mby54bWw8L3RvPgoJCQk8L2NvcHk+CgkJCTxjb3B5PgoJCQkJ + PGZyb20+YXVkaXRGaWxlVGVtcGxhdGVzLnhtbC41LjI8L2Zyb20+CgkJCQk8dG8+YXVkaXRGaWxl + VGVtcGxhdGVzLnhtbDwvdG8+CgkJCTwvY29weT4KCQk8L2RpcmVjdGl2ZXM+Cgk8L3NjRmVlZD4K + CTxzY0ZlZWQ+CgkJPHZlcnNpb24+NS43LjA8L3ZlcnNpb24+CgkJPGRpcmVjdGl2ZXM+CgkJCTxj + b3B5PgoJCQkJPGZyb20+cGx1Z2luSW5mby54bWwuNS40LjE8L2Zyb20+CgkJCQk8dG8+cGx1Z2lu + SW5mby54bWw8L3RvPgoJCQk8L2NvcHk+CgkJCTxjb3B5PgoJCQkJPGZyb20+YXVkaXRGaWxlVGVt + cGxhdGVzLnhtbC41LjI8L2Zyb20+CgkJCQk8dG8+YXVkaXRGaWxlVGVtcGxhdGVzLnhtbDwvdG8+ + CgkJCTwvY29weT4KCQk8L2RpcmVjdGl2ZXM+Cgk8L3NjRmVlZD4KCTxzY0ZlZWQ+CgkJPHZlcnNp + b24+NS43LjE8L3ZlcnNpb24+CgkJPGRpcmVjdGl2ZXM+CgkJCTxjb3B5PgoJCQkJPGZyb20+cGx1 + Z2luSW5mby54bWwuNS40LjE8L2Zyb20+CgkJCQk8dG8+cGx1Z2luSW5mby54bWw8L3RvPgoJCQk8 + L2NvcHk+CgkJCTxjb3B5PgoJCQkJPGZyb20+YXVkaXRGaWxlVGVtcGxhdGVzLnhtbC41LjI8L2Zy + b20+CgkJCQk8dG8+YXVkaXRGaWxlVGVtcGxhdGVzLnhtbDwvdG8+CgkJCTwvY29weT4KCQk8L2Rp + cmVjdGl2ZXM+Cgk8L3NjRmVlZD4KCTxzY0ZlZWQ+CgkJPHZlcnNpb24+NS44LjA8L3ZlcnNpb24+ + CgkJPGRpcmVjdGl2ZXM+CgkJCTxjb3B5PgoJCQkJPGZyb20+cGx1Z2luSW5mby54bWwuNS40LjE8 + L2Zyb20+CgkJCQk8dG8+cGx1Z2luSW5mby54bWw8L3RvPgoJCQk8L2NvcHk+CgkJCTxjb3B5PgoJ + CQkJPGZyb20+YXVkaXRGaWxlVGVtcGxhdGVzLnhtbC41LjI8L2Zyb20+CgkJCQk8dG8+YXVkaXRG + aWxlVGVtcGxhdGVzLnhtbDwvdG8+CgkJCTwvY29weT4KCQk8L2RpcmVjdGl2ZXM+Cgk8L3NjRmVl + ZD4KCTxzY0ZlZWQ+CgkJPHZlcnNpb24+NS45LjA8L3ZlcnNpb24+CgkJPGRpcmVjdGl2ZXM+CgkJ + CTxjb3B5PgoJCQkJPGZyb20+cGx1Z2luSW5mby54bWwuNS40LjE8L2Zyb20+CgkJCQk8dG8+cGx1 + Z2luSW5mby54bWw8L3RvPgoJCQk8L2NvcHk+CgkJCTxjb3B5PgoJCQkJPGZyb20+YXVkaXRGaWxl + VGVtcGxhdGVzLnhtbC41LjI8L2Zyb20+CgkJCQk8dG8+YXVkaXRGaWxlVGVtcGxhdGVzLnhtbDwv + dG8+CgkJCTwvY29weT4KCQk8L2RpcmVjdGl2ZXM+Cgk8L3NjRmVlZD4KCTxzY0ZlZWQ+CgkJPHZl + cnNpb24+NS4xMC4wPC92ZXJzaW9uPgoJCTxkaXJlY3RpdmVzPgoJCQk8Y29weT4KCQkJCTxmcm9t + PnBsdWdpbkluZm8ueG1sLjUuNC4xPC9mcm9tPgoJCQkJPHRvPnBsdWdpbkluZm8ueG1sPC90bz4K + CQkJPC9jb3B5PgoJCQk8Y29weT4KCQkJCTxmcm9tPmF1ZGl0RmlsZVRlbXBsYXRlcy54bWwuNS4y + PC9mcm9tPgoJCQkJPHRvPmF1ZGl0RmlsZVRlbXBsYXRlcy54bWw8L3RvPgoJCQk8L2NvcHk+CgkJ + PC9kaXJlY3RpdmVzPgoJPC9zY0ZlZWQ+Cgk8c2NGZWVkPgoJCTx2ZXJzaW9uPjUuMTAuMTwvdmVy + c2lvbj4KCQk8ZGlyZWN0aXZlcz4KCQkJPGNvcHk+CgkJCQk8ZnJvbT5wbHVnaW5JbmZvLnhtbC41 + LjQuMTwvZnJvbT4KCQkJCTx0bz5wbHVnaW5JbmZvLnhtbDwvdG8+CgkJCTwvY29weT4KCQkJPGNv + cHk+CgkJCQk8ZnJvbT5hdWRpdEZpbGVUZW1wbGF0ZXMueG1sLjUuMjwvZnJvbT4KCQkJCTx0bz5h + dWRpdEZpbGVUZW1wbGF0ZXMueG1sPC90bz4KCQkJPC9jb3B5PgoJCTwvZGlyZWN0aXZlcz4KCTwv + c2NGZWVkPgoJPHNjRmVlZD4KCQk8dmVyc2lvbj41LjExLjA8L3ZlcnNpb24+CgkJPGRpcmVjdGl2 + ZXM+CgkJCTxjb3B5PgoJCQkJPGZyb20+cGx1Z2luSW5mby54bWwuNS40LjE8L2Zyb20+CgkJCQk8 + dG8+cGx1Z2luSW5mby54bWw8L3RvPgoJCQk8L2NvcHk+CgkJCTxjb3B5PgoJCQkJPGZyb20+YXVk + aXRGaWxlVGVtcGxhdGVzLnhtbC41LjI8L2Zyb20+CgkJCQk8dG8+YXVkaXRGaWxlVGVtcGxhdGVz + LnhtbDwvdG8+CgkJCTwvY29weT4KCQk8L2RpcmVjdGl2ZXM+Cgk8L3NjRmVlZD4KCTxzY0ZlZWQ+ + CgkJPHZlcnNpb24+NS4xMi4wPC92ZXJzaW9uPgoJCTxkaXJlY3RpdmVzPgoJCQk8Y29weT4KCQkJ + CTxmcm9tPnBsdWdpbkluZm8ueG1sLjUuNC4xPC9mcm9tPgoJCQkJPHRvPnBsdWdpbkluZm8ueG1s + PC90bz4KCQkJPC9jb3B5PgoJCQk8Y29weT4KCQkJCTxmcm9tPmF1ZGl0RmlsZVRlbXBsYXRlcy54 + bWwuNS4yPC9mcm9tPgoJCQkJPHRvPmF1ZGl0RmlsZVRlbXBsYXRlcy54bWw8L3RvPgoJCQk8L2Nv + cHk+CgkJPC9kaXJlY3RpdmVzPgoJPC9zY0ZlZWQ+Cgk8c2NGZWVkPgoJCTx2ZXJzaW9uPjUuMTMu + MDwvdmVyc2lvbj4KCQk8ZGlyZWN0aXZlcz4KCQkJPGNvcHk+CgkJCQk8ZnJvbT5wbHVnaW5JbmZv + LnhtbC41LjQuMTwvZnJvbT4KCQkJCTx0bz5wbHVnaW5JbmZvLnhtbDwvdG8+CgkJCTwvY29weT4K + CQkJPGNvcHk+CgkJCQk8ZnJvbT5hdWRpdEZpbGVUZW1wbGF0ZXMueG1sLjUuMjwvZnJvbT4KCQkJ + CTx0bz5hdWRpdEZpbGVUZW1wbGF0ZXMueG1sPC90bz4KCQkJPC9jb3B5PgoJCTwvZGlyZWN0aXZl + cz4KCTwvc2NGZWVkPgoJPHNjRmVlZD4KCQk8dmVyc2lvbj41LjE0LjA8L3ZlcnNpb24+CgkJPGRp + cmVjdGl2ZXM+CgkJCTxjb3B5PgoJCQkJPGZyb20+cGx1Z2luSW5mby54bWwuNS40LjE8L2Zyb20+ + CgkJCQk8dG8+cGx1Z2luSW5mby54bWw8L3RvPgoJCQk8L2NvcHk+CgkJCTxjb3B5PgoJCQkJPGZy + b20+YXVkaXRGaWxlVGVtcGxhdGVzLnhtbC41LjI8L2Zyb20+CgkJCQk8dG8+YXVkaXRGaWxlVGVt + cGxhdGVzLnhtbDwvdG8+CgkJCTwvY29weT4KCQk8L2RpcmVjdGl2ZXM+Cgk8L3NjRmVlZD4KCTxz + Y0ZlZWQ+CgkJPHZlcnNpb24+NS4xNC4xPC92ZXJzaW9uPgoJCTxkaXJlY3RpdmVzPgoJCQk8Y29w + eT4KCQkJCTxmcm9tPnBsdWdpbkluZm8ueG1sLjUuNC4xPC9mcm9tPgoJCQkJPHRvPnBsdWdpbklu + Zm8ueG1sPC90bz4KCQkJPC9jb3B5PgoJCQk8Y29weT4KCQkJCTxmcm9tPmF1ZGl0RmlsZVRlbXBs + YXRlcy54bWwuNS4yPC9mcm9tPgoJCQkJPHRvPmF1ZGl0RmlsZVRlbXBsYXRlcy54bWw8L3RvPgoJ + CQk8L2NvcHk+CgkJPC9kaXJlY3RpdmVzPgoJPC9zY0ZlZWQ+Cgk8c2NGZWVkPgoJCTx2ZXJzaW9u + PjUuMTQuMS4xPC92ZXJzaW9uPgoJCTxkaXJlY3RpdmVzPgoJCQk8Y29weT4KCQkJCTxmcm9tPnBs + dWdpbkluZm8ueG1sLjUuNC4xPC9mcm9tPgoJCQkJPHRvPnBsdWdpbkluZm8ueG1sPC90bz4KCQkJ + PC9jb3B5PgoJCQk8Y29weT4KCQkJCTxmcm9tPmF1ZGl0RmlsZVRlbXBsYXRlcy54bWwuNS4yPC9m + cm9tPgoJCQkJPHRvPmF1ZGl0RmlsZVRlbXBsYXRlcy54bWw8L3RvPgoJCQk8L2NvcHk+CgkJPC9k + aXJlY3RpdmVzPgoJPC9zY0ZlZWQ+Cgk8c2NGZWVkPgoJCTx2ZXJzaW9uPjUuMTUuMDwvdmVyc2lv + bj4KCQk8ZGlyZWN0aXZlcz4KCQkJPGNvcHk+CgkJCQk8ZnJvbT5wbHVnaW5JbmZvLnhtbC41LjQu + MTwvZnJvbT4KCQkJCTx0bz5wbHVnaW5JbmZvLnhtbDwvdG8+CgkJCTwvY29weT4KCQkJPGNvcHk+ + CgkJCQk8ZnJvbT5hdWRpdEZpbGVUZW1wbGF0ZXMueG1sLjUuMjwvZnJvbT4KCQkJCTx0bz5hdWRp + dEZpbGVUZW1wbGF0ZXMueG1sPC90bz4KCQkJPC9jb3B5PgoJCTwvZGlyZWN0aXZlcz4KCTwvc2NG + ZWVkPgoJPHNjRmVlZD4KCQk8dmVyc2lvbj41LjE2LjA8L3ZlcnNpb24+CgkJPGRpcmVjdGl2ZXM+ + CgkJCTxjb3B5PgoJCQkJPGZyb20+cGx1Z2luSW5mby54bWwuNS40LjE8L2Zyb20+CgkJCQk8dG8+ + cGx1Z2luSW5mby54bWw8L3RvPgoJCQk8L2NvcHk+CgkJCTxjb3B5PgoJCQkJPGZyb20+YXVkaXRG + aWxlVGVtcGxhdGVzLnhtbC41LjI8L2Zyb20+CgkJCQk8dG8+YXVkaXRGaWxlVGVtcGxhdGVzLnht + bDwvdG8+CgkJCTwvY29weT4KCQk8L2RpcmVjdGl2ZXM+Cgk8L3NjRmVlZD4KCTxzY0ZlZWQ+CgkJ + PHZlcnNpb24+NS4xNi4xPC92ZXJzaW9uPgoJCTxkaXJlY3RpdmVzPgoJCQk8Y29weT4KCQkJCTxm + cm9tPnBsdWdpbkluZm8ueG1sLjUuNC4xPC9mcm9tPgoJCQkJPHRvPnBsdWdpbkluZm8ueG1sPC90 + bz4KCQkJPC9jb3B5PgoJCQk8Y29weT4KCQkJCTxmcm9tPmF1ZGl0RmlsZVRlbXBsYXRlcy54bWwu + NS4yPC9mcm9tPgoJCQkJPHRvPmF1ZGl0RmlsZVRlbXBsYXRlcy54bWw8L3RvPgoJCQk8L2NvcHk+ + CgkJPC9kaXJlY3RpdmVzPgoJPC9zY0ZlZWQ+Cgk8c2NGZWVkPgoJCTx2ZXJzaW9uPjUuMTcuMDwv + dmVyc2lvbj4KCQk8ZGlyZWN0aXZlcz4KCQkJPGNvcHk+CgkJCQk8ZnJvbT5wbHVnaW5JbmZvLnht + bC41LjQuMTwvZnJvbT4KCQkJCTx0bz5wbHVnaW5JbmZvLnhtbDwvdG8+CgkJCTwvY29weT4KCQkJ + PGNvcHk+CgkJCQk8ZnJvbT5hdWRpdEZpbGVUZW1wbGF0ZXMueG1sLjUuMjwvZnJvbT4KCQkJCTx0 + bz5hdWRpdEZpbGVUZW1wbGF0ZXMueG1sPC90bz4KCQkJPC9jb3B5PgoJCTwvZGlyZWN0aXZlcz4K + CTwvc2NGZWVkPgoJPHNjRmVlZD4KCQk8dmVyc2lvbj41LjE4LjA8L3ZlcnNpb24+CgkJPGRpcmVj + dGl2ZXM+CgkJCTxjb3B5PgoJCQkJPGZyb20+cGx1Z2luSW5mby54bWwuNS40LjE8L2Zyb20+CgkJ + CQk8dG8+cGx1Z2luSW5mby54bWw8L3RvPgoJCQk8L2NvcHk+CgkJCTxjb3B5PgoJCQkJPGZyb20+ + YXVkaXRGaWxlVGVtcGxhdGVzLnhtbC41LjI8L2Zyb20+CgkJCQk8dG8+YXVkaXRGaWxlVGVtcGxh + dGVzLnhtbDwvdG8+CgkJCTwvY29weT4KCQk8L2RpcmVjdGl2ZXM+Cgk8L3NjRmVlZD4KCTxzY0Zl + ZWQ+CgkJPHZlcnNpb24+NS4xOS4wPC92ZXJzaW9uPgoJCTxkaXJlY3RpdmVzPgoJCQk8Y29weT4K + CQkJCTxmcm9tPnBsdWdpbkluZm8ueG1sLjUuNC4xPC9mcm9tPgoJCQkJPHRvPnBsdWdpbkluZm8u + eG1sPC90bz4KCQkJPC9jb3B5PgoJCQk8Y29weT4KCQkJCTxmcm9tPmF1ZGl0RmlsZVRlbXBsYXRl + cy54bWwuNS4yPC9mcm9tPgoJCQkJPHRvPmF1ZGl0RmlsZVRlbXBsYXRlcy54bWw8L3RvPgoJCQk8 + L2NvcHk+CgkJPC9kaXJlY3RpdmVzPgoJPC9zY0ZlZWQ+Cgk8c2NGZWVkPgoJCTx2ZXJzaW9uPjUu + MTkuMTwvdmVyc2lvbj4KCQk8ZGlyZWN0aXZlcz4KCQkJPGNvcHk+CgkJCQk8ZnJvbT5wbHVnaW5J + bmZvLnhtbC41LjQuMTwvZnJvbT4KCQkJCTx0bz5wbHVnaW5JbmZvLnhtbDwvdG8+CgkJCTwvY29w + eT4KCQkJPGNvcHk+CgkJCQk8ZnJvbT5hdWRpdEZpbGVUZW1wbGF0ZXMueG1sLjUuMjwvZnJvbT4K + CQkJCTx0bz5hdWRpdEZpbGVUZW1wbGF0ZXMueG1sPC90bz4KCQkJPC9jb3B5PgoJCTwvZGlyZWN0 + aXZlcz4KCTwvc2NGZWVkPgoJPHNjRmVlZD4KCQk8dmVyc2lvbj41LjIwLjA8L3ZlcnNpb24+CgkJ + PGRpcmVjdGl2ZXM+CgkJCTxjb3B5PgoJCQkJPGZyb20+cGx1Z2luSW5mby54bWwuNS40LjE8L2Zy + b20+CgkJCQk8dG8+cGx1Z2luSW5mby54bWw8L3RvPgoJCQk8L2NvcHk+CgkJCTxjb3B5PgoJCQkJ + PGZyb20+YXVkaXRGaWxlVGVtcGxhdGVzLnhtbC41LjI8L2Zyb20+CgkJCQk8dG8+YXVkaXRGaWxl + VGVtcGxhdGVzLnhtbDwvdG8+CgkJCTwvY29weT4KCQkJPGNvcHk+CgkJCQk8ZnJvbT5wb2xpY3lU + ZW1wbGF0ZXMueG1sLjUuMjA8L2Zyb20+CgkJCQk8dG8+cG9saWN5VGVtcGxhdGVzLnhtbDwvdG8+ + CgkJCTwvY29weT4KCQk8L2RpcmVjdGl2ZXM+Cgk8L3NjRmVlZD4KCTxzY0ZlZWQ+CgkJPHZlcnNp + b24+NS4yMC4xPC92ZXJzaW9uPgoJCTxkaXJlY3RpdmVzPgoJCQk8Y29weT4KCQkJCTxmcm9tPnBs + dWdpbkluZm8ueG1sLjUuNC4xPC9mcm9tPgoJCQkJPHRvPnBsdWdpbkluZm8ueG1sPC90bz4KCQkJ + PC9jb3B5PgoJCQk8Y29weT4KCQkJCTxmcm9tPmF1ZGl0RmlsZVRlbXBsYXRlcy54bWwuNS4yPC9m + cm9tPgoJCQkJPHRvPmF1ZGl0RmlsZVRlbXBsYXRlcy54bWw8L3RvPgoJCQk8L2NvcHk+CgkJCTxj + b3B5PgoJCQkJPGZyb20+cG9saWN5VGVtcGxhdGVzLnhtbC41LjIwPC9mcm9tPgoJCQkJPHRvPnBv + bGljeVRlbXBsYXRlcy54bWw8L3RvPgoJCQk8L2NvcHk+CgkJPC9kaXJlY3RpdmVzPgoJPC9zY0Zl + ZWQ+Cgk8c2NGZWVkPgoJCTx2ZXJzaW9uPjUuMjEuMDwvdmVyc2lvbj4KCQk8ZGlyZWN0aXZlcz4K + CQkJPGNvcHk+CgkJCQk8ZnJvbT5wbHVnaW5JbmZvLnhtbC41LjQuMTwvZnJvbT4KCQkJCTx0bz5w + bHVnaW5JbmZvLnhtbDwvdG8+CgkJCTwvY29weT4KCQkJPGNvcHk+CgkJCQk8ZnJvbT5hdWRpdEZp + bGVUZW1wbGF0ZXMueG1sLjUuMjwvZnJvbT4KCQkJCTx0bz5hdWRpdEZpbGVUZW1wbGF0ZXMueG1s + PC90bz4KCQkJPC9jb3B5PgoJCQk8Y29weT4KCQkJCTxmcm9tPnBvbGljeVRlbXBsYXRlcy54bWwu + NS4yMDwvZnJvbT4KCQkJCTx0bz5wb2xpY3lUZW1wbGF0ZXMueG1sPC90bz4KCQkJPC9jb3B5PgoJ + CTwvZGlyZWN0aXZlcz4KCTwvc2NGZWVkPgoJPHNjRmVlZD4KCQk8dmVyc2lvbj41LjIyLjA8L3Zl + cnNpb24+CgkJPGRpcmVjdGl2ZXM+CgkJCTxjb3B5PgoJCQkJPGZyb20+cGx1Z2luSW5mby54bWwu + NS40LjE8L2Zyb20+CgkJCQk8dG8+cGx1Z2luSW5mby54bWw8L3RvPgoJCQk8L2NvcHk+CgkJCTxj + b3B5PgoJCQkJPGZyb20+YXVkaXRGaWxlVGVtcGxhdGVzLnhtbC41LjI8L2Zyb20+CgkJCQk8dG8+ + YXVkaXRGaWxlVGVtcGxhdGVzLnhtbDwvdG8+CgkJCTwvY29weT4KCQkJPGNvcHk+CgkJCQk8ZnJv + bT5wb2xpY3lUZW1wbGF0ZXMueG1sLjUuMjA8L2Zyb20+CgkJCQk8dG8+cG9saWN5VGVtcGxhdGVz + LnhtbDwvdG8+CgkJCTwvY29weT4KCQk8L2RpcmVjdGl2ZXM+Cgk8L3NjRmVlZD4KPC9yb290PgoA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + MDAAMDAwMDAwMAAwMDAwMDAwMDE0NQAxNDI0MzMyNjQ2MAAwMTEwNTEAIDAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIAMDAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ewoJIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIjogewoJCSJzb3VyY2Ui + OiAiRGVmYXVsdHMgYXBwbGljYWJsZSB0byBhbGwgbGljZW5zZXMiCgl9Cn0AAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5 + NTMvcGx1Z2luSW5mby54bWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDc3NwAwMDAwMDAw + ADAwMDAwMDAAMDAwMDAwNTQ0MDUAMTQyNDMzMjY0NjAAMDExMjA0ACAwAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyADAwAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADw/ + eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+CjxQbHVnaW5JbmZvPgoJPENvbXBs + aWFuY2VNYXBzPgoJCTxtYXA+CgkJCTxwbHVnaW5JRD4yMTE1NjwvcGx1Z2luSUQ+CgkJCTxhdWRp + dEZpbGVUeXBlPndpbmRvd3M8L2F1ZGl0RmlsZVR5cGU+CgkJCTxkaXNwbGF5TmFtZT5XaW5kb3dz + PC9kaXNwbGF5TmFtZT4KCQk8L21hcD4KCQk8bWFwPgoJCQk8cGx1Z2luSUQ+MjExNTc8L3BsdWdp + bklEPgoJCQk8YXVkaXRGaWxlVHlwZT51bml4PC9hdWRpdEZpbGVUeXBlPgoJCQk8ZGlzcGxheU5h + bWU+VW5peDwvZGlzcGxheU5hbWU+CgkJPC9tYXA+CgkJPG1hcD4KCQkJPHBsdWdpbklEPjI0NzYw + PC9wbHVnaW5JRD4KCQkJPGF1ZGl0RmlsZVR5cGU+d2luZG93c2ZpbGVzPC9hdWRpdEZpbGVUeXBl + PgoJCQk8ZGlzcGxheU5hbWU+V2luZG93cyBGaWxlIENvbnRlbnRzPC9kaXNwbGF5TmFtZT4KCQk8 + L21hcD4KCQk8bWFwPgoJCQk8cGx1Z2luSUQ+MzM4MTQ8L3BsdWdpbklEPgoJCQk8YXVkaXRGaWxl + VHlwZT5kYXRhYmFzZTwvYXVkaXRGaWxlVHlwZT4KCQkJPGRpc3BsYXlOYW1lPkRhdGFiYXNlPC9k + aXNwbGF5TmFtZT4KCQk8L21hcD4KCQk8bWFwPgoJCQk8cGx1Z2luSUQ+NDY2ODk8L3BsdWdpbklE + PgoJCQk8YXVkaXRGaWxlVHlwZT5jaXNjbzwvYXVkaXRGaWxlVHlwZT4KCQkJPGRpc3BsYXlOYW1l + PkNpc2NvIElPUzwvZGlzcGxheU5hbWU+CgkJPC9tYXA+CgkJPG1hcD4KCQkJPHBsdWdpbklEPjU3 + ODYwPC9wbHVnaW5JRD4KCQkJPGF1ZGl0RmlsZVR5cGU+YXMvNDAwPC9hdWRpdEZpbGVUeXBlPgoJ + CQk8ZGlzcGxheU5hbWU+SUJNIGlTZXJpZXM8L2Rpc3BsYXlOYW1lPgoJCTwvbWFwPgoJCTxtYXA+ + CgkJCTxwbHVnaW5JRD42MjY3OTwvcGx1Z2luSUQ+CgkJCTxhdWRpdEZpbGVUeXBlPmNoZWNrcG9p + bnQ8L2F1ZGl0RmlsZVR5cGU+CgkJCTxkaXNwbGF5TmFtZT5DaGVjayBQb2ludCBHQWlBPC9kaXNw + bGF5TmFtZT4KCQk8L21hcD4KCQk8bWFwPgoJCQk8cGx1Z2luSUQ+NjI2ODA8L3BsdWdpbklEPgoJ + CQk8YXVkaXRGaWxlVHlwZT5qdW5pcGVyPC9hdWRpdEZpbGVUeXBlPgoJCQk8ZGlzcGxheU5hbWU+ + SnVuaXBlciBKdW5vczwvZGlzcGxheU5hbWU+CgkJPC9tYXA+CgkJPG1hcD4KCQkJPHBsdWdpbklE + PjY0MDk1PC9wbHVnaW5JRD4KCQkJPGF1ZGl0RmlsZVR5cGU+cGFsb19hbHRvPC9hdWRpdEZpbGVU + eXBlPgoJCQk8ZGlzcGxheU5hbWU+UGFsbyBBbHRvIE5ldHdvcmtzIFBBTi1PUzwvZGlzcGxheU5h + bWU+CgkJPC9tYXA+CgkJPG1hcD4KCQkJPHBsdWdpbklEPjY0NDU1PC9wbHVnaW5JRD4KCQkJPGF1 + ZGl0RmlsZVR5cGU+dm13YXJlPC9hdWRpdEZpbGVUeXBlPgoJCQk8ZGlzcGxheU5hbWU+Vk1XYXJl + IHZDZW50ZXIvdlNwaGVyZTwvZGlzcGxheU5hbWU+CgkJPC9tYXA+CgkJPG1hcD4KCQkJPHBsdWdp + bklEPjY2NzU2PC9wbHVnaW5JRD4KCQkJPGF1ZGl0RmlsZVR5cGU+c2NhcFdpbmRvd3M8L2F1ZGl0 + RmlsZVR5cGU+CgkJCTxkaXNwbGF5TmFtZT5TQ0FQIFdpbmRvd3M8L2Rpc3BsYXlOYW1lPgoJCTwv + bWFwPgoJCTxtYXA+CgkJCTxwbHVnaW5JRD42Njc1NzwvcGx1Z2luSUQ+CgkJCTxhdWRpdEZpbGVU + eXBlPnNjYXBMaW51eDwvYXVkaXRGaWxlVHlwZT4KCQkJPGRpc3BsYXlOYW1lPlNDQVAgTGludXg8 + L2Rpc3BsYXlOYW1lPgoJCTwvbWFwPgoJCTxtYXA+CgkJCTxwbHVnaW5JRD42NjkzNDwvcGx1Z2lu + SUQ+CgkJCTxhdWRpdEZpbGVUeXBlPm5ldGFwcDwvYXVkaXRGaWxlVHlwZT4KCQkJPGRpc3BsYXlO + YW1lPk5ldEFwcCBEYXRhIE9OVEFQPC9kaXNwbGF5TmFtZT4KCQk8L21hcD4KCQk8bWFwPgoJCQk8 + cGx1Z2luSUQ+Njk1MTI8L3BsdWdpbklEPgoJCQk8YXVkaXRGaWxlVHlwZT54ZW5zZXJ2ZXI8L2F1 + ZGl0RmlsZVR5cGU+CgkJCTxkaXNwbGF5TmFtZT5DaXRyaXggWGVuU2VydmVyPC9kaXNwbGF5TmFt + ZT4KCQk8L21hcD4KCQk8bWFwPgoJCQk8cGx1Z2luSUQ+NzAyNzE8L3BsdWdpbklEPgoJCQk8YXVk + aXRGaWxlVHlwZT5ocHByb2N1cnZlPC9hdWRpdEZpbGVUeXBlPgoJCQk8ZGlzcGxheU5hbWU+SFAg + UHJvQ3VydmU8L2Rpc3BsYXlOYW1lPgoJCTwvbWFwPgoJCTxtYXA+CgkJCTxwbHVnaW5JRD43MDI3 + MjwvcGx1Z2luSUQ+CgkJCTxhdWRpdEZpbGVUeXBlPmZvcnRpZ2F0ZTwvYXVkaXRGaWxlVHlwZT4K + CQkJPGRpc3BsYXlOYW1lPkZvcnRpZ2F0ZSBGb3J0aU9TPC9kaXNwbGF5TmFtZT4KCQk8L21hcD4K + CQk8bWFwPgoJCQk8cGx1Z2luSUQ+NzA0Njk8L3BsdWdpbklEPgoJCQk8YXVkaXRGaWxlVHlwZT5m + aXJlZXllPC9hdWRpdEZpbGVUeXBlPgoJCQk8ZGlzcGxheU5hbWU+RmlyZUV5ZTwvZGlzcGxheU5h + bWU+CgkJPC9tYXA+CgkJPG1hcD4KCQkJPHBsdWdpbklEPjcwNDcwPC9wbHVnaW5JRD4KCQkJPGF1 + ZGl0RmlsZVR5cGU+Ymx1ZWNvYXQ8L2F1ZGl0RmlsZVR5cGU+CgkJCTxkaXNwbGF5TmFtZT5CbHVl + Q29hdCBQcm94eVNHPC9kaXNwbGF5TmFtZT4KCQk8L21hcD4KCQk8bWFwPgoJCQk8cGx1Z2luSUQ+ + NzE4NDI8L3BsdWdpbklEPgoJCQk8YXVkaXRGaWxlVHlwZT5icm9jYWRlPC9hdWRpdEZpbGVUeXBl + PgoJCQk8ZGlzcGxheU5hbWU+QnJvY2FkZSBGYWJyaWNPUzwvZGlzcGxheU5hbWU+CgkJPC9tYXA+ + CgkJPG1hcD4KCQkJPHBsdWdpbklEPjcxOTU1PC9wbHVnaW5JRD4KCQkJPGF1ZGl0RmlsZVR5cGU+ + c29uaWN3YWxsPC9hdWRpdEZpbGVUeXBlPgoJCQk8ZGlzcGxheU5hbWU+U29uaWNXQUxMIFNvbmlj + T1M8L2Rpc3BsYXlOYW1lPgoJCTwvbWFwPgoJCTxtYXA+CgkJCTxwbHVnaW5JRD43MTk5MTwvcGx1 + Z2luSUQ+CgkJCTxhdWRpdEZpbGVUeXBlPmFkdHJhbjwvYXVkaXRGaWxlVHlwZT4KCQkJPGRpc3Bs + YXlOYW1lPkFkdHJhbiBOZXRWYW50YTwvZGlzcGxheU5hbWU+CgkJPC9tYXA+CgkJPG1hcD4KCQkJ + PHBsdWdpbklEPjcyMDk1PC9wbHVnaW5JRD4KCQkJPGF1ZGl0RmlsZVR5cGU+ZmlsZWNvbnRlbnQ8 + L2F1ZGl0RmlsZVR5cGU+CgkJCTxkaXNwbGF5TmFtZT5Vbml4IEZpbGUgQ29udGVudHM8L2Rpc3Bs + YXlOYW1lPgoJCTwvbWFwPgo8IS0tIFJlbW92ZWQgdW50aWwgU0MgNS4wLjAgc3VwcG9ydHMgaXQK + CVJlbWVtYmVyIHRvIHJlbW92ZS9hZGp1c3QgUmVtb3ZlUHJlZnMvRmlsdGVyUHJlZnMgZW50cmll + cyBhcyB3ZWxsCgkJPG1hcD4KCQkJPHBsdWdpbklEPjcyNDI2PC9wbHVnaW5JRD4KCQkJPGF1ZGl0 + RmlsZVR5cGU+YW1hem9uX2F3czwvYXVkaXRGaWxlVHlwZT4KCQkJPGRpc3BsYXlOYW1lPkFtYXpv + biBBV1M8L2Rpc3BsYXlOYW1lPgoJCTwvbWFwPgotLT4KCQk8bWFwPgoJCQk8cGx1Z2luSUQ+NzI0 + NjE8L3BsdWdpbklEPgoJCQk8YXVkaXRGaWxlVHlwZT5kZWxsX2ZvcmNlMTA8L2F1ZGl0RmlsZVR5 + cGU+CgkJCTxkaXNwbGF5TmFtZT5EZWxsIEZvcmNlMTAgRlRPUzwvZGlzcGxheU5hbWU+CgkJPC9t + YXA+CgkJPG1hcD4KCQkJPHBsdWdpbklEPjczMTU2PC9wbHVnaW5JRD4KCQkJPGF1ZGl0RmlsZVR5 + cGU+ZXh0cmVtZV9leHRyZW1leG9zPC9hdWRpdEZpbGVUeXBlPgoJCQk8ZGlzcGxheU5hbWU+RXh0 + cmVtZSBFeHRyZW1lWE9TPC9kaXNwbGF5TmFtZT4KCQk8L21hcD4KCQk8bWFwPgoJCQk8cGx1Z2lu + SUQ+NzMxNTc8L3BsdWdpbklEPgoJCQk8YXVkaXRGaWxlVHlwZT5odWF3ZWk8L2F1ZGl0RmlsZVR5 + cGU+CgkJCTxkaXNwbGF5TmFtZT5IdWF3ZWkgVlJQPC9kaXNwbGF5TmFtZT4KCQk8L21hcD4KCQk8 + bWFwPgoJCQk8cGx1Z2luSUQ+NzY1MTM8L3BsdWdpbklEPgoJCQk8YXVkaXRGaWxlVHlwZT5tb25n + b2RiPC9hdWRpdEZpbGVUeXBlPgoJCQk8ZGlzcGxheU5hbWU+TW9uZ29EQjwvZGlzcGxheU5hbWU+ + CgkJPC9tYXA+CgkJPG1hcD4KCQkJPHBsdWdpbklEPjgzMTg4PC9wbHVnaW5JRD4KCQkJPGF1ZGl0 + RmlsZVR5cGU+b3ZhbFVuaXg8L2F1ZGl0RmlsZVR5cGU+CgkJCTxkaXNwbGF5TmFtZT5PVkFMIFVu + aXg8L2Rpc3BsYXlOYW1lPgoJCTwvbWFwPgoJCTxtYXA+CgkJCTxwbHVnaW5JRD44MzE4OTwvcGx1 + Z2luSUQ+CgkJCTxhdWRpdEZpbGVUeXBlPm92YWxXaW5kb3dzPC9hdWRpdEZpbGVUeXBlPgoJCQk8 + ZGlzcGxheU5hbWU+T1ZBTCBXaW5kb3dzPC9kaXNwbGF5TmFtZT4KCQk8L21hcD4KCTwvQ29tcGxp + YW5jZU1hcHM+Cgk8UmVtb3ZlUHJlZnM+CgkJPHBsdWdpbj4xNzM1MTwvcGx1Z2luPgoJCTxwbHVn + aW4+MjExNTY8L3BsdWdpbj4KCQk8cGx1Z2luPjIxMTU3PC9wbHVnaW4+CgkJPHBsdWdpbj4yNDc2 + MDwvcGx1Z2luPgoJCTxwbHVnaW4+MzM4MTQ8L3BsdWdpbj4KCQk8cGx1Z2luPjMzOTI5PC9wbHVn + aW4+CgkJPHBsdWdpbj40NjY4OTwvcGx1Z2luPgoJCTxwbHVnaW4+NTc4NjA8L3BsdWdpbj4KCQk8 + cGx1Z2luPjU5ODYxPC9wbHVnaW4+CgkJPHBsdWdpbj42MDAyNDwvcGx1Z2luPgoJCTxwbHVnaW4+ + NjAwMzI8L3BsdWdpbj4KCQk8cGx1Z2luPjYwMDM1PC9wbHVnaW4+CgkJPHBsdWdpbj42MjY3OTwv + cGx1Z2luPgoJCTxwbHVnaW4+NjI2ODA8L3BsdWdpbj4KCQk8cGx1Z2luPjY0MDk1PC9wbHVnaW4+ + CgkJPHBsdWdpbj42NDQ1NTwvcGx1Z2luPgoJCTxwbHVnaW4+NjY3NTY8L3BsdWdpbj4KCQk8cGx1 + Z2luPjY2NzU3PC9wbHVnaW4+CgkJPHBsdWdpbj42NjkzNDwvcGx1Z2luPgoJCTxwbHVnaW4+NjY5 + NjM8L3BsdWdpbj4KCQk8cGx1Z2luPjY5NTEyPC9wbHVnaW4+CgkJPHBsdWdpbj43MDI3MTwvcGx1 + Z2luPgoJCTxwbHVnaW4+NzAyNzI8L3BsdWdpbj4KCQk8cGx1Z2luPjcwNDY5PC9wbHVnaW4+CgkJ + PHBsdWdpbj43MDQ3MDwvcGx1Z2luPgoJCTxwbHVnaW4+NzE4NDI8L3BsdWdpbj4KCQk8cGx1Z2lu + PjcxOTU1PC9wbHVnaW4+CgkJPHBsdWdpbj43MTk5MTwvcGx1Z2luPgoJCTxwbHVnaW4+NzI0MjY8 + L3BsdWdpbj4KCQk8cGx1Z2luPjcyNDYxPC9wbHVnaW4+CgkJPHBsdWdpbj43MjkwNDwvcGx1Z2lu + PgoJCTxwbHVnaW4+NzMxNTY8L3BsdWdpbj4KCQk8cGx1Z2luPjczNDkwPC9wbHVnaW4+CgkJPHBs + dWdpbj43NjQ2MDwvcGx1Z2luPgoJCTxwbHVnaW4+NzY1MTM8L3BsdWdpbj4KCQk8cGx1Z2luPjgz + MTg4PC9wbHVnaW4+CgkJPHBsdWdpbj44MzE4OTwvcGx1Z2luPgoJPC9SZW1vdmVQcmVmcz4KCTxF + eGNsdWRlZE5lc3N1c1BsdWdpbnM+CgkJPHBsdWdpbj4xMDg3MDwvcGx1Z2luPgoJCTxwbHVnaW4+ + MTIyODg8L3BsdWdpbj4KCQk8cGx1Z2luPjE0MjczPC9wbHVnaW4+CgkJPHBsdWdpbj4xNzM1MTwv + cGx1Z2luPgoJCTxwbHVnaW4+MjExNTY8L3BsdWdpbj4KCQk8cGx1Z2luPjIxMTU3PC9wbHVnaW4+ + CgkJPHBsdWdpbj4yNDc2MDwvcGx1Z2luPgoJCTxwbHVnaW4+MzM4MTQ8L3BsdWdpbj4KCQk8cGx1 + Z2luPjMzOTI5PC9wbHVnaW4+CgkJPHBsdWdpbj40Mjg5MzwvcGx1Z2luPgoJCTxwbHVnaW4+NTI2 + MTY8L3BsdWdpbj4KCQk8cGx1Z2luPjU3ODYwPC9wbHVnaW4+CgkJPHBsdWdpbj42MDAyNDwvcGx1 + Z2luPgoJCTxwbHVnaW4+NjAwMzI8L3BsdWdpbj4KCQk8cGx1Z2luPjYyNjc5PC9wbHVnaW4+CgkJ + PHBsdWdpbj42MjY4MDwvcGx1Z2luPgoJCTxwbHVnaW4+NjQwOTU8L3BsdWdpbj4KCQk8cGx1Z2lu + PjY2OTM0PC9wbHVnaW4+CgkJPHBsdWdpbj42Njk2MzwvcGx1Z2luPgoJCTxwbHVnaW4+Njk1MTI8 + L3BsdWdpbj4KCQk8cGx1Z2luPjcwMjcxPC9wbHVnaW4+CgkJPHBsdWdpbj43MDI3MjwvcGx1Z2lu + PgoJCTxwbHVnaW4+NzA0Njk8L3BsdWdpbj4KCQk8cGx1Z2luPjcwNDcwPC9wbHVnaW4+CgkJPHBs + dWdpbj43MTg0MjwvcGx1Z2luPgoJCTxwbHVnaW4+NzE5NTU8L3BsdWdpbj4KCQk8cGx1Z2luPjcx + OTkxPC9wbHVnaW4+CgkJPHBsdWdpbj43MjQyNjwvcGx1Z2luPgoJCTxwbHVnaW4+NzI0NjE8L3Bs + dWdpbj4KCQk8cGx1Z2luPjcyOTA0PC9wbHVnaW4+CgkJPHBsdWdpbj43MzE1NjwvcGx1Z2luPgoJ + CTxwbHVnaW4+NzM0OTA8L3BsdWdpbj4KCQk8cGx1Z2luPjc2NDYwPC9wbHVnaW4+CgkJPHBsdWdp + bj43NjUxMzwvcGx1Z2luPgoJPC9FeGNsdWRlZE5lc3N1c1BsdWdpbnM+Cgk8TmVzc3VzRmlsdGVy + UHJlZnM+CgkJPHBsdWdpbj4KCQkJPGlkPjEwODcwPC9pZD4KCQkJPHByZWY+SFRUUCBhY2NvdW50 + IDo8L3ByZWY+CgkJCTxwcmVmPkhUVFAgcGFzc3dvcmQgKHNlbnQgaW4gY2xlYXIpIDo8L3ByZWY+ + CgkJCTxwcmVmPk5OVFAgYWNjb3VudCA6PC9wcmVmPgoJCQk8cHJlZj5OTlRQIHBhc3N3b3JkIChz + ZW50IGluIGNsZWFyKSA6PC9wcmVmPgoJCQk8cHJlZj5GVFAgYWNjb3VudCA6PC9wcmVmPgoJCQk8 + cHJlZj5GVFAgcGFzc3dvcmQgKHNlbnQgaW4gY2xlYXIpIDo8L3ByZWY+CgkJCTxwcmVmPlBPUDIg + YWNjb3VudCA6PC9wcmVmPgoJCQk8cHJlZj5QT1AyIHBhc3N3b3JkIChzZW50IGluIGNsZWFyKSA6 + PC9wcmVmPgoJCQk8cHJlZj5QT1AzIGFjY291bnQgOjwvcHJlZj4KCQkJPHByZWY+UE9QMyBwYXNz + d29yZCAoc2VudCBpbiBjbGVhcikgOjwvcHJlZj4KCQkJPHByZWY+SU1BUCBhY2NvdW50IDo8L3By + ZWY+CgkJCTxwcmVmPklNQVAgcGFzc3dvcmQgKHNlbnQgaW4gY2xlYXIpIDo8L3ByZWY+CgkJCTxw + cmVmPlNNQiBhY2NvdW50IDo8L3ByZWY+CgkJCTxwcmVmPlNNQiBwYXNzd29yZCA6PC9wcmVmPgoJ + CQk8cHJlZj5BZGRpdGlvbmFsIFNNQiBhY2NvdW50ICgxKSA6PC9wcmVmPgoJCQk8cHJlZj5BZGRp + dGlvbmFsIFNNQiBwYXNzd29yZCAoMSkgOjwvcHJlZj4KCQkJPHByZWY+QWRkaXRpb25hbCBTTUIg + YWNjb3VudCAoMikgOjwvcHJlZj4KCQkJPHByZWY+QWRkaXRpb25hbCBTTUIgcGFzc3dvcmQgKDIp + IDo8L3ByZWY+CgkJCTxwcmVmPkFkZGl0aW9uYWwgU01CIGFjY291bnQgKDMpIDo8L3ByZWY+CgkJ + CTxwcmVmPkFkZGl0aW9uYWwgU01CIHBhc3N3b3JkICgzKSA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJ + CTxwbHVnaW4+CgkJCTxpZD4xMjI4ODwvaWQ+CgkJCTxwcmVmPlNTTCBjZXJ0aWZpY2F0ZSB0byB1 + c2UgOjwvcHJlZj4KCQkJPHByZWY+U1NMIENBIHRvIHRydXN0IDo8L3ByZWY+CgkJCTxwcmVmPlNT + TCBrZXkgdG8gdXNlIDo8L3ByZWY+CgkJCTxwcmVmPlNTTCBwYXNzd29yZCBmb3IgU1NMIGtleSA6 + PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD4xNDI3MzwvaWQ+CgkJCTxwcmVm + PlNTSCB1c2VyIG5hbWUgOjwvcHJlZj4KCQkJPHByZWY+U1NIIHBhc3N3b3JkICh1bnNhZmUhKSA6 + PC9wcmVmPgoJCQk8cHJlZj5TU0ggcHVibGljIGtleSB0byB1c2UgOjwvcHJlZj4KCQkJPHByZWY+ + U1NIIHByaXZhdGUga2V5IHRvIHVzZSA6PC9wcmVmPgoJCQk8cHJlZj5QYXNzcGhyYXNlIGZvciBT + U0gga2V5IDo8L3ByZWY+CgkJCTxwcmVmPnN1IGxvZ2luIDo8L3ByZWY+CgkJCTxwcmVmPkVzY2Fs + YXRpb24gYWNjb3VudCA6PC9wcmVmPgoJCQk8cHJlZj5Fc2NhbGF0aW9uIHBhc3N3b3JkIDo8L3By + ZWY+CgkJCTxwcmVmPlNTSCBrbm93bl9ob3N0cyBmaWxlIDo8L3ByZWY+CgkJCTxwcmVmPkFkZGl0 + aW9uYWwgU1NIIHVzZXIgbmFtZSAoMSkgOjwvcHJlZj4KCQkJPHByZWY+QWRkaXRpb25hbCBTU0gg + cGFzc3dvcmQgKDEpIDo8L3ByZWY+CgkJCTxwcmVmPkFkZGl0aW9uYWwgU1NIIHVzZXIgbmFtZSAo + MikgOjwvcHJlZj4KCQkJPHByZWY+QWRkaXRpb25hbCBTU0ggcGFzc3dvcmQgKDIpIDo8L3ByZWY+ + CgkJCTxwcmVmPkFkZGl0aW9uYWwgU1NIIHVzZXIgbmFtZSAoMykgOjwvcHJlZj4KCQkJPHByZWY+ + QWRkaXRpb25hbCBTU0ggcGFzc3dvcmQgKDMpIDo8L3ByZWY+CgkJCTxwcmVmPkFkZGl0aW9uYWwg + U1NIIHVzZXIgbmFtZSAoNCkgOjwvcHJlZj4KCQkJPHByZWY+QWRkaXRpb25hbCBTU0ggcGFzc3dv + cmQgKDQpIDo8L3ByZWY+CgkJCTxwcmVmPkFkZGl0aW9uYWwgU1NIIHVzZXIgbmFtZSAoNSkgOjwv + cHJlZj4KCQkJPHByZWY+QWRkaXRpb25hbCBTU0ggcGFzc3dvcmQgKDUpIDo8L3ByZWY+CgkJPC9w + bHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjE5NzYyPC9pZD4KCQkJPHByZWY+U05NUHYzIHVzZXIg + bmFtZSA6PC9wcmVmPgoJCQk8cHJlZj5TTk1QdjMgYXV0aGVudGljYXRpb24gcGFzc3dvcmQgOjwv + cHJlZj4KCQkJPHByZWY+U05NUHYzIHByaXZhY3kgcGFzc3dvcmQgOjwvcHJlZj4KCQk8L3BsdWdp + bj4KCQk8cGx1Z2luPgoJCQk8aWQ+MjExNTY8L2lkPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMSA6 + PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMiA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kg + ZmlsZSAjMyA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNCA6PC9wcmVmPgoJCQk8cHJl + Zj5Qb2xpY3kgZmlsZSAjNSA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD4y + MTE1NzwvaWQ+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMxIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGlj + eSBmaWxlICMyIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMzIDo8L3ByZWY+CgkJCTxw + cmVmPlBvbGljeSBmaWxlICM0IDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM1IDo8L3By + ZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjIxNzQ0PC9pZD4KCQkJPHByZWY+VXNl + ciBuYW1lIDo8L3ByZWY+CgkJCTxwcmVmPlBhc3N3b3JkICh1bnNhZmUhKSA6PC9wcmVmPgoJCTwv + cGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD4yNDc2MDwvaWQ+CgkJCTxwcmVmPlBvbGljeSBmaWxl + ICMxIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMyIDo8L3ByZWY+CgkJCTxwcmVmPlBv + bGljeSBmaWxlICMzIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM0IDo8L3ByZWY+CgkJ + CTxwcmVmPlBvbGljeSBmaWxlICM1IDo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJ + PGlkPjMzODE0PC9pZD4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzEgOjwvcHJlZj4KCQkJPHByZWY+ + UG9saWN5IGZpbGUgIzIgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzMgOjwvcHJlZj4K + CQkJPHByZWY+UG9saWN5IGZpbGUgIzQgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzUg + OjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8cGx1Z2luPgoJCQk8aWQ+MzM4MTU8L2lkPgoJCQk8cHJl + Zj5Mb2dpbiA6PC9wcmVmPgoJCQk8cHJlZj5QYXNzd29yZCA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJ + CTxwbHVnaW4+CgkJCTxpZD40Mjg5MzwvaWQ+CgkJCTxwcmVmPkNvb2tpZXMgZmlsZSA6PC9wcmVm + PgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD40NjY4OTwvaWQ+CgkJCTxwcmVmPlBvbGlj + eSBmaWxlICMxIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMyIDo8L3ByZWY+CgkJCTxw + cmVmPlBvbGljeSBmaWxlICMzIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM0IDo8L3By + ZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM1IDo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdp + bj4KCQkJPGlkPjUyNjE2PC9pZD4KCQkJPHByZWY+TGlzdCBvZiBNQUMgYWRkcmVzc2VzIGZvciBX + YWtlLW9uLUxBTjo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjU3MDI2PC9p + ZD4KCQkJPHByZWY+VXNlcm5hbWUgOjwvcHJlZj4KCQkJPHByZWY+UGFzc3dvcmQgOjwvcHJlZj4K + CQk8L3BsdWdpbj4KCQk8cGx1Z2luPgoJCQk8aWQ+NTcwMjk8L2lkPgoJCQk8cHJlZj5TQ0NNIFVz + ZXJuYW1lIDo8L3ByZWY+CgkJCTxwcmVmPlNDQ00gUGFzc3dvcmQgOjwvcHJlZj4KCQk8L3BsdWdp + bj4KCQk8cGx1Z2luPgoJCQk8aWQ+NTcwMzE8L2lkPgoJCQk8cHJlZj5XU1VTIFVzZXJuYW1lIDo8 + L3ByZWY+CgkJCTxwcmVmPldTVVMgUGFzc3dvcmQgOjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8cGx1 + Z2luPgoJCQk8aWQ+NTcwNjM8L2lkPgoJCQk8cHJlZj5SZWQgSGF0IFNhdGVsbGl0ZSB1c2VybmFt + ZShzKSA6PC9wcmVmPgoJCQk8cHJlZj5SZWQgSGF0IFNhdGVsbGl0ZSBwYXNzd29yZChzKSA6PC9w + cmVmPgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD41NzM5NTwvaWQ+CgkJCTxwcmVmPlZN + d2FyZSB1c2VyIG5hbWUgOjwvcHJlZj4KCQkJPHByZWY+Vk13YXJlIHBhc3N3b3JkIDo8L3ByZWY+ + CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjU3ODYwPC9pZD4KCQkJPHByZWY+UG9saWN5 + IGZpbGUgIzEgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzIgOjwvcHJlZj4KCQkJPHBy + ZWY+UG9saWN5IGZpbGUgIzMgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzQgOjwvcHJl + Zj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzUgOjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8cGx1Z2lu + PgoJCQk8aWQ+NTc4NjE8L2lkPgoJCQk8cHJlZj5Mb2dpbiA6PC9wcmVmPgoJCQk8cHJlZj5QYXNz + d29yZCA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD41ODAzODwvaWQ+CgkJ + CTxwcmVmPkxEQVAgdXNlciA6PC9wcmVmPgoJCQk8cHJlZj5MREFQIHBhc3N3b3JkIDo8L3ByZWY+ + CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjU5Mjc1PC9pZD4KCQkJPHByZWY+QWRkaXRp + b25hbCBNRDUgaGFzaGVzIChvcHRpb25hbCkgOjwvcHJlZj4KCQkJPHByZWY+S25vd24gZ29vZCBN + RDUgaGFzaGVzIChvcHRpb25hbCkgOjwvcHJlZj4KCQkJPHByZWY+ZmlsZXNjYW5fY3VzdG9tX2Rp + cjwvcHJlZj4KCQkJPHByZWY+WWFyYSBydWxlcyBmaWxlIDogPC9wcmVmPgoJCTwvcGx1Z2luPgoJ + CTxwbHVnaW4+CgkJCTxpZD42MDAyNDwvaWQ+CgkJCTxwcmVmPkRvbWFpbiBVc2VybmFtZSA6PC9w + cmVmPgoJCQk8cHJlZj5Eb21haW4gUGFzc3dvcmQgOjwvcHJlZj4KCQkJPHByZWY+RG9tYWluIFVz + ZXJuYW1lIDI6PC9wcmVmPgoJCQk8cHJlZj5Eb21haW4gUGFzc3dvcmQgMjo8L3ByZWY+CgkJCTxw + cmVmPkRvbWFpbiBVc2VybmFtZSAzOjwvcHJlZj4KCQkJPHByZWY+RG9tYWluIFBhc3N3b3JkIDM6 + PC9wcmVmPgoJCQk8cHJlZj5Eb21haW4gVXNlcm5hbWUgNDo8L3ByZWY+CgkJCTxwcmVmPkRvbWFp + biBQYXNzd29yZCA0OjwvcHJlZj4KCQkJPHByZWY+RG9tYWluIFVzZXJuYW1lIDU6PC9wcmVmPgoJ + CQk8cHJlZj5Eb21haW4gUGFzc3dvcmQgNTo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4K + CQkJPGlkPjYwMDMyPC9pZD4KCQkJPHByZWY+QXBwbGUgUHJvZmlsZSBNYW5hZ2VyIHVzZXJuYW1l + IDo8L3ByZWY+CgkJCTxwcmVmPkFwcGxlIFByb2ZpbGUgTWFuYWdlciBwYXNzd29yZCA6PC9wcmVm + PgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD42MjU1ODwvaWQ+CgkJCTxwcmVmPldlYiBS + ZXBvcnRzIFVzZXJuYW1lIDo8L3ByZWY+CgkJCTxwcmVmPldlYiBSZXBvcnRzIFBhc3N3b3JkIDo8 + L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjYyNjc5PC9pZD4KCQkJPHByZWY+ + UG9saWN5IGZpbGUgIzEgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzIgOjwvcHJlZj4K + CQkJPHByZWY+UG9saWN5IGZpbGUgIzMgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzQg + OjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzUgOjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8 + cGx1Z2luPgoJCQk8aWQ+NjI2ODA8L2lkPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMSA6PC9wcmVm + PgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMiA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAj + MyA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNCA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xp + Y3kgZmlsZSAjNSA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD42MzA2MDwv + aWQ+CgkJCTxwcmVmPlZNd2FyZSB2Q2VudGVyIHVzZXIgbmFtZSA6PC9wcmVmPgoJCQk8cHJlZj5W + TXdhcmUgdkNlbnRlciBwYXNzd29yZCA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJ + CTxpZD42NDA5NTwvaWQ+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMxIDo8L3ByZWY+CgkJCTxwcmVm + PlBvbGljeSBmaWxlICMyIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMzIDo8L3ByZWY+ + CgkJCTxwcmVmPlBvbGljeSBmaWxlICM0IDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM1 + IDo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjY0Mjg2PC9pZD4KCQkJPHBy + ZWY+UGFsbyBBbHRvIFVzZXJuYW1lIDo8L3ByZWY+CgkJCTxwcmVmPlBhbG8gQWx0byBQYXNzd29y + ZCA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD42NDQ1NTwvaWQ+CgkJCTxw + cmVmPlBvbGljeSBmaWxlICMxIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMyIDo8L3By + ZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMzIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxl + ICM0IDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM1IDo8L3ByZWY+CgkJPC9wbHVnaW4+ + CgkJPHBsdWdpbj4KCQkJPGlkPjY2NzU2PC9pZD4KCQkJPHByZWY+U0NBUCBGaWxlICh6aXApICMx + IDo8L3ByZWY+CgkJCTxwcmVmPlNDQVAgRmlsZSAoemlwKSAjMiA6PC9wcmVmPgoJCQk8cHJlZj5T + Q0FQIEZpbGUgKHppcCkgIzMgOjwvcHJlZj4KCQkJPHByZWY+U0NBUCBGaWxlICh6aXApICM0IDo8 + L3ByZWY+CgkJCTxwcmVmPlNDQVAgRmlsZSAoemlwKSAjNSA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJ + CTxwbHVnaW4+CgkJCTxpZD42Njc1NzwvaWQ+CgkJCTxwcmVmPlNDQVAgRmlsZSAoemlwKSAjMSA6 + PC9wcmVmPgoJCQk8cHJlZj5TQ0FQIEZpbGUgKHppcCkgIzIgOjwvcHJlZj4KCQkJPHByZWY+U0NB + UCBGaWxlICh6aXApICMzIDo8L3ByZWY+CgkJCTxwcmVmPlNDQVAgRmlsZSAoemlwKSAjNCA6PC9w + cmVmPgoJCQk8cHJlZj5TQ0FQIEZpbGUgKHppcCkgIzUgOjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8 + cGx1Z2luPgoJCQk8aWQ+NjY5MzQ8L2lkPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMSA6PC9wcmVm + PgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMiA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAj + MyA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNCA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xp + Y3kgZmlsZSAjNSA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD42Njk2Mzwv + aWQ+CgkJCTxwcmVmPlVzZXJuYW1lIDo8L3ByZWY+CgkJCTxwcmVmPlBhc3N3b3JkIDo8L3ByZWY+ + CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjY5NTEyPC9pZD4KCQkJPHByZWY+UG9saWN5 + IGZpbGUgIzEgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzIgOjwvcHJlZj4KCQkJPHBy + ZWY+UG9saWN5IGZpbGUgIzMgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzQgOjwvcHJl + Zj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzUgOjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8cGx1Z2lu + PgoJCQk8aWQ+NzAyNzE8L2lkPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMSA6PC9wcmVmPgoJCQk8 + cHJlZj5Qb2xpY3kgZmlsZSAjMiA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMyA6PC9w + cmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNCA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmls + ZSAjNSA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCQk8cGx1Z2luPgoJCQk8aWQ+NzAyNzI8L2lkPgoJ + CQk8cHJlZj5Qb2xpY3kgZmlsZSAjMSA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMiA6 + PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMyA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kg + ZmlsZSAjNCA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNSA6PC9wcmVmPgoJCTwvcGx1 + Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD43MDQ2OTwvaWQ+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMx + IDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMyIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGlj + eSBmaWxlICMzIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM0IDo8L3ByZWY+CgkJCTxw + cmVmPlBvbGljeSBmaWxlICM1IDo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlk + PjcwNDcwPC9pZD4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzEgOjwvcHJlZj4KCQkJPHByZWY+UG9s + aWN5IGZpbGUgIzIgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzMgOjwvcHJlZj4KCQkJ + PHByZWY+UG9saWN5IGZpbGUgIzQgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzUgOjwv + cHJlZj4KCQk8L3BsdWdpbj4KCQk8cGx1Z2luPgoJCQk8aWQ+NzE4NDI8L2lkPgoJCQk8cHJlZj5Q + b2xpY3kgZmlsZSAjMSA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMiA6PC9wcmVmPgoJ + CQk8cHJlZj5Qb2xpY3kgZmlsZSAjMyA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNCA6 + PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNSA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxw + bHVnaW4+CgkJCTxpZD43MTk1NTwvaWQ+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMxIDo8L3ByZWY+ + CgkJCTxwcmVmPlBvbGljeSBmaWxlICMyIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMz + IDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM0IDo8L3ByZWY+CgkJCTxwcmVmPlBvbGlj + eSBmaWxlICM1IDo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjcxOTkxPC9p + ZD4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzEgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUg + IzIgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzMgOjwvcHJlZj4KCQkJPHByZWY+UG9s + aWN5IGZpbGUgIzQgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzUgOjwvcHJlZj4KCQk8 + L3BsdWdpbj4KCQk8cGx1Z2luPgoJCQk8aWQ+NzI0NjE8L2lkPgoJCQk8cHJlZj5Qb2xpY3kgZmls + ZSAjMSA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMiA6PC9wcmVmPgoJCQk8cHJlZj5Q + b2xpY3kgZmlsZSAjMyA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNCA6PC9wcmVmPgoJ + CQk8cHJlZj5Qb2xpY3kgZmlsZSAjNSA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJ + CTxpZD43MjkwNDwvaWQ+CgkJCTxwcmVmPk1vYmlsZUlyb24gdXNlcm5hbWUgOjwvcHJlZj4KCQkJ + PHByZWY+TW9iaWxlSXJvbiBwYXNzd29yZCA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+ + CgkJCTxpZD43MzE1NjwvaWQ+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMxIDo8L3ByZWY+CgkJCTxw + cmVmPlBvbGljeSBmaWxlICMyIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMzIDo8L3By + ZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM0IDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxl + ICM1IDo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjczMTU3PC9pZD4KCQkJ + PHByZWY+T2ZmbGluZSBjb25maWcgZmlsZSAoLnR4dCBvciAuemlwKSA6PC9wcmVmPgoJCTwvcGx1 + Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD43NjQ2MDwvaWQ+CgkJCTxwcmVmPkFpcldhdGNoIHVzZXJu + YW1lIDo8L3ByZWY+CgkJCTxwcmVmPkFpcldhdGNoIHBhc3N3b3JkIDo8L3ByZWY+CgkJPC9wbHVn + aW4+CgkJPHBsdWdpbj4KCQkJPGlkPjc2NTEzPC9pZD4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzEg + OjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzIgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5 + IGZpbGUgIzMgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzQgOjwvcHJlZj4KCQkJPHBy + ZWY+UG9saWN5IGZpbGUgIzUgOjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8cGx1Z2luPgoJCQk8aWQ+ + ODMxODg8L2lkPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMSA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xp + Y3kgZmlsZSAjMiA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMyA6PC9wcmVmPgoJCQk8 + cHJlZj5Qb2xpY3kgZmlsZSAjNCA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNSA6PC9w + cmVmPgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD44MzE4OTwvaWQ+CgkJCTxwcmVmPlBv + bGljeSBmaWxlICMxIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMyIDo8L3ByZWY+CgkJ + CTxwcmVmPlBvbGljeSBmaWxlICMzIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM0IDo8 + L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM1IDo8L3ByZWY+CgkJPC9wbHVnaW4+Cgk8L05l + c3N1c0ZpbHRlclByZWZzPgoJPEZpbHRlck1vYmlsZVByZWZzPgoJCTxwbHVnaW4+CgkJCTxpZD42 + MDAyNDwvaWQ+CgkJCTxwcmVmPkRvbWFpbiBDb250cm9sbGVyIDo8L3ByZWY+CgkJCTxwcmVmPkRv + bWFpbiA6PC9wcmVmPgoJCQk8cHJlZj5Eb21haW4gVXNlcm5hbWUgOjwvcHJlZj4KCQkJPHByZWY+ + RG9tYWluIFBhc3N3b3JkIDo8L3ByZWY+CgkJPC9wbHVnaW4+Cgk8L0ZpbHRlck1vYmlsZVByZWZz + PgoJPEZpbHRlclByZWZzPgoJCTxwbHVnaW4+CgkJCTxpZD4xMDg3MDwvaWQ+CgkJCTxwcmVmPk9u + bHkgdXNlIE5UTE12MjwvcHJlZj4KCQkJPHByZWY+TmV2ZXIgc2VuZCBTTUIgY3JlZGVudGlhbHMg + aW4gY2xlYXIgdGV4dDwvcHJlZj4KCQkJPHByZWY+SU1BUCBwYXNzd29yZCAoc2VudCBpbiBjbGVh + cikgOjwvcHJlZj4KCQkJPHByZWY+SU1BUCBhY2NvdW50IDo8L3ByZWY+CgkJCTxwcmVmPlBPUDMg + cGFzc3dvcmQgKHNlbnQgaW4gY2xlYXIpIDo8L3ByZWY+CgkJCTxwcmVmPlBPUDMgYWNjb3VudCA6 + PC9wcmVmPgoJCQk8cHJlZj5QT1AyIHBhc3N3b3JkIChzZW50IGluIGNsZWFyKSA6PC9wcmVmPgoJ + CQk8cHJlZj5QT1AyIGFjY291bnQgOjwvcHJlZj4KCQkJPHByZWY+RlRQIHdyaXRlYWJsZSBkaXJl + Y3RvcnkgOjwvcHJlZj4KCQkJPHByZWY+RlRQIHBhc3N3b3JkIChzZW50IGluIGNsZWFyKSA6PC9w + cmVmPgoJCQk8cHJlZj5GVFAgYWNjb3VudCA6PC9wcmVmPgoJCQk8cHJlZj5OTlRQIHBhc3N3b3Jk + IChzZW50IGluIGNsZWFyKSA6PC9wcmVmPgoJCQk8cHJlZj5OTlRQIGFjY291bnQgOjwvcHJlZj4K + CQkJPHByZWY+SFRUUCBwYXNzd29yZCAoc2VudCBpbiBjbGVhcikgOjwvcHJlZj4KCQkJPHByZWY+ + SFRUUCBhY2NvdW50IDo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjE0Mjcz + PC9pZD4KCQkJPHByZWY+U1NIIGtub3duX2hvc3RzIGZpbGUgOjwvcHJlZj4KCQkJPHByZWY+UHJl + ZmVycmVkIFNTSCBwb3J0IDo8L3ByZWY+CgkJCTxwcmVmPkNsaWVudCB2ZXJzaW9uIDo8L3ByZWY+ + CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjE5NzYyPC9pZD4KCQkJPHByZWY+U05NUHYz + IHByaXZhY3kgYWxnb3JpdGhtIDo8L3ByZWY+CgkJCTxwcmVmPlNOTVB2MyBwcml2YWN5IHBhc3N3 + b3JkIDo8L3ByZWY+CgkJCTxwcmVmPlNOTVB2MyBhdXRoZW50aWNhdGlvbiBhbGdvcml0aG0gOjwv + cHJlZj4KCQkJPHByZWY+U05NUHYzIGF1dGhlbnRpY2F0aW9uIHBhc3N3b3JkIDo8L3ByZWY+CgkJ + CTxwcmVmPlNOTVB2MyB1c2VyIG5hbWUgOjwvcHJlZj4KCQkJPHByZWY+U05NUHYzIHBvcnQgOjwv + cHJlZj4KCQkJPHByZWY+VURQIHBvcnQgOjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8cGx1Z2luPgoJ + CQk8aWQ+NDY2ODk8L2lkPgoJCQk8cHJlZj5JT1MgQ29uZmlnIEZpbGUgVG8gQXVkaXQgOjwvcHJl + Zj4KCQk8L3BsdWdpbj4KCTwvRmlsdGVyUHJlZnM+Cgk8TURNVHlwZXM+CgkJPHR5cGU+CgkJCTxp + ZD4xPC9pZD4KCQkJPG5hbWU+QWN0aXZlU3luYzwvbmFtZT4KCQkJPGRlc2NyaXB0aW9uPjwvZGVz + Y3JpcHRpb24+CgkJCTx2YWx1ZT5BY3RpdmVTeW5jPC92YWx1ZT4KCQkJPGlwUHJlZj5Eb21haW4g + Q29udHJvbGxlciA6PC9pcFByZWY+CgkJCTxwbHVnaW5JRHM+NjAwMjQ8L3BsdWdpbklEcz4KCQkJ + PGVkaXRvcj5XM3NpZEhsd1pTSTZJQ0psYm5SeWVTSXNJbTVoYldVaU9pQWlSRzl0WVdsdUlFTnZi + blJ5YjJ4c1pYSWlMQ0p5WlhGMWFYSmxaQ0k2SW5SeWRXVWlMQ0pwWkNJNklDSmtiMjFoYVc1Zlky + OXVkSEp2Ykd4bGNpSjlMQ0I3SW5SNWNHVWlPaUFpWlc1MGNua2lMQ0p1WVcxbElqb2dJa1J2YldG + cGJpSXNJbkpsY1hWcGNtVmtJam9pZEhKMVpTSXNJbWxrSWpvZ0ltUnZiV0ZwYmlKOUxIc2lkSGx3 + WlNJNklDSmxiblJ5ZVNJc0ltNWhiV1VpT2lBaVJHOXRZV2x1SUZWelpYSnVZVzFsSWl3aWNtVnhk + V2x5WldRaU9pSjBjblZsSWl3aWFXUWlPaUFpWkc5dFlXbHVYMkZrYldsdUluMHNleUowZVhCbElq + b2dJbkJoYzNOM2IzSmtJaXdpYm1GdFpTSTZJQ0pFYjIxaGFXNGdVR0Z6YzNkdmNtUWlMQ0p5WlhG + MWFYSmxaQ0k2SW5SeWRXVWlMQ0pwWkNJNklDSndZWE56ZDI5eVpDSjlYUT09PC9lZGl0b3I+CgkJ + PC90eXBlPgoJCTx0eXBlPgoJCQk8aWQ+MjwvaWQ+CgkJCTxuYW1lPkFwcGxlIFByb2ZpbGUgTWFu + YWdlcjwvbmFtZT4KCQkJPGRlc2NyaXB0aW9uPjwvZGVzY3JpcHRpb24+CgkJCTx2YWx1ZT5wcm9m + aWxlX21hbmFnZXI8L3ZhbHVlPgoJCQk8aXBQcmVmPkFwcGxlIFByb2ZpbGUgTWFuYWdlciBzZXJ2 + ZXIgOjwvaXBQcmVmPgoJCQk8cGx1Z2luSURzPjYwMDMyPC9wbHVnaW5JRHM+CgkJCTxlZGl0b3I+ + VzNzaWRIbHdaU0k2SUNKbGJuUnllU0lzSW01aGJXVWlPaUpUWlhKMlpYSWlMQ0p5WlhGMWFYSmxa + Q0k2SW5SeWRXVWlMQ0pwWkNJNkluTmxjblpsY2lKOUxDQjdJblI1Y0dVaU9pQWlaVzUwY25raUxD + SnVZVzFsSWpvaVVHOXlkQ0lzSW1SbFptRjFiSFFpT2pRME15d2ljbVZuWlhnaU9pQWlYaWhiTUMw + NVhYc3hMRFI5ZkZzeExUVmRXekF0T1YxN05IMThObHN3TFRSZFd6QXRPVjE3TTMxOE5qVmJNQzAw + WFZzd0xUbGRleko5ZkRZMU5Wc3dMVEpkV3pBdE9WMThOalUxTTFzd0xUVmRLU1FpTENKeVpYRjFh + WEpsWkNJNkluUnlkV1VpTENKcFpDSTZJbkJ2Y25RaWZTeDdJblI1Y0dVaU9pQWlaVzUwY25raUxD + SnVZVzFsSWpvaVZYTmxjbTVoYldVaUxDSnlaWEYxYVhKbFpDSTZkSEoxWlN3aWFXUWlPaUoxYzJW + eWJtRnRaU0o5TEhzaWRIbHdaU0k2SUNKd1lYTnpkMjl5WkNJc0ltNWhiV1VpT2lKUVlYTnpkMjl5 + WkNJc0luSmxjWFZwY21Wa0lqcDBjblZsTENKcFpDSTZJbkJoYzNOM2IzSmtJbjBzZXlKMGVYQmxJ + am9nSW1Ob1pXTnJZbTk0SWl3aWJtRnRaU0k2SUNKSVZGUlFVeUlzSW1sa0lqb2dJbWgwZEhCeklp + d2laR1ZtWVhWc2RDSTZJQ0o1WlhNaUxDSmpiMjVrYVhScGIyNWhiRk5sZEhScGJtZHpJam9nZXlK + NVpYTWlPaUI3SW1sdWNIVjBjeUk2SUZ0N0luUjVjR1VpT2lBaVkyaGxZMnRpYjNnaUxDSnVZVzFs + SWpvZ0lsWmxjbWxtZVNCVFUwd2dRMlZ5ZEdsbWFXTmhkR1VpTENKeVpYRjFhWEpsWkNJNklDSjBj + blZsSWl3aVpHVm1ZWFZzZENJNklDSjVaWE1pTENKcFpDSTZJQ0oyWlhKcFpubGZjM05zSW4xZGZY + MTlYUT09PC9lZGl0b3I+CgkJPC90eXBlPgoJCTx0eXBlPgoJCQk8aWQ+MzwvaWQ+CgkJCTxuYW1l + Pkdvb2QgTURNPC9uYW1lPgoJCQk8ZGVzY3JpcHRpb24+PC9kZXNjcmlwdGlvbj4KCQkJPHZhbHVl + Pkdvb2RNRE08L3ZhbHVlPgoJCQk8aXBQcmVmPkdNQyBTZXJ2ZXIgOjwvaXBQcmVmPgoJCQk8cGx1 + Z2luSURzPjY2OTYzPC9wbHVnaW5JRHM+CgkJCTxlZGl0b3I+VzNzaWRIbHdaU0k2SUNKbGJuUnll + U0lzSW01aGJXVWlPaUpUWlhKMlpYSWlMQ0p5WlhGMWFYSmxaQ0k2SW5SeWRXVWlMQ0pwWkNJNklu + TmxjblpsY2lKOUxDQjdJblI1Y0dVaU9pQWlaVzUwY25raUxDSnVZVzFsSWpvaVVHOXlkQ0lzSW5K + bFoyVjRJam9nSWw0b1d6QXRPVjE3TVN3MGZYeGJNUzAxWFZzd0xUbGRlelI5ZkRaYk1DMDBYVnN3 + TFRsZGV6TjlmRFkxV3pBdE5GMWJNQzA1WFhzeWZYdzJOVFZiTUMweVhWc3dMVGxkZkRZMU5UTmJN + QzAxWFNra0lpd2ljbVZ4ZFdseVpXUWlPaUowY25WbElpd2lhV1FpT2lKd2IzSjBJbjBzZXlKMGVY + QmxJam9nSW1WdWRISjVJaXdpYm1GdFpTSTZJa1J2YldGcGJpSXNJbkpsY1hWcGNtVmtJam9pZEhK + MVpTSXNJbWxrSWpvaVpHOXRZV2x1SW4wc2V5SjBlWEJsSWpvZ0ltVnVkSEo1SWl3aWJtRnRaU0k2 + SWxWelpYSnVZVzFsSWl3aWNtVnhkV2x5WldRaU9pSjBjblZsSWl3aWFXUWlPaUoxYzJWeWJtRnRa + U0o5TEhzaWRIbHdaU0k2SUNKd1lYTnpkMjl5WkNJc0ltNWhiV1VpT2lKUVlYTnpkMjl5WkNJc0lu + SmxjWFZwY21Wa0lqb2lkSEoxWlNJc0ltbGtJam9pY0dGemMzZHZjbVFpZlN4N0luUjVjR1VpT2lB + aVkyaGxZMnRpYjNnaUxDSnVZVzFsSWpvZ0lraFVWRkJUSWl3aWFXUWlPaUFpYUhSMGNITWlMQ0pr + WldaaGRXeDBJam9nSW5sbGN5SXNJbU52Ym1ScGRHbHZibUZzVTJWMGRHbHVaM01pT2lCN0lubGxj + eUk2SUhzaWFXNXdkWFJ6SWpvZ1czc2lkSGx3WlNJNklDSmphR1ZqYTJKdmVDSXNJbTVoYldVaU9p + QWlWbVZ5YVdaNUlGTlRUQ0JEWlhKMGFXWnBZMkYwWlNJc0luSmxjWFZwY21Wa0lqb2dJblJ5ZFdV + aUxDSmtaV1poZFd4MElqb2dJbmxsY3lJc0ltbGtJam9nSW5abGNtbG1lVjl6YzJ3aWZWMTlmWDFk + PC9lZGl0b3I+CgkJPC90eXBlPgoJCTx0eXBlPgoJCQk8aWQ+NDwvaWQ+CgkJCTxuYW1lPk1vYmls + ZSBJcm9uPC9uYW1lPgoJCQk8ZGVzY3JpcHRpb24+PC9kZXNjcmlwdGlvbj4KCQkJPHZhbHVlPk1v + YmlsZUlyb248L3ZhbHVlPgoJCQk8aXBQcmVmPk1vYmlsZUlyb24gVlNQIEFkbWluIFBvcnRhbCBV + UkwgOjwvaXBQcmVmPgoJCQk8cGx1Z2luSURzPjcyOTA0PC9wbHVnaW5JRHM+CgkJCTxlZGl0b3I+ + VzNzaWRIbHdaU0k2SUNKbGJuUnllU0lzSW01aGJXVWlPaUpOYjJKcGJHVkpjbTl1SUZaVFVDQkJa + RzFwYmlCUWIzSjBZV3dnVlZKTUlpd2ljbVZ4ZFdseVpXUWlPaUowY25WbElpd2ljR3hoWTJWb2Iy + eGtaWElpT2lKb2RIUndjem92TDNkM2R5NWxlR0Z0Y0d4bExtNWxkQzl0YVdaekwyeHZaMmx1TG1w + emNDSXNJbWxrSWpvaWNHOXlkR0ZzWDNWeWJDSjlMQ0I3SW5SNWNHVWlPaUFpWlc1MGNua2lMQ0p1 + WVcxbElqb2lUVzlpYVd4bFNYSnZiaUJRYjNKMElpd2ljbVZuWlhnaU9pQWlYaWhiTUMwNVhYc3hM + RFI5ZkZzeExUVmRXekF0T1YxN05IMThObHN3TFRSZFd6QXRPVjE3TTMxOE5qVmJNQzAwWFZzd0xU + bGRleko5ZkRZMU5Wc3dMVEpkV3pBdE9WMThOalUxTTFzd0xUVmRLU1FpTENKeVpYRjFhWEpsWkNJ + NkluUnlkV1VpTENKa1pXWmhkV3gwSWpvaU5EUXpJaXdpYVdRaU9pSndiM0owSW4wc2V5SjBlWEJs + SWpvZ0ltVnVkSEo1SWl3aWJtRnRaU0k2SWxWelpYSnVZVzFsSWl3aWNtVnhkV2x5WldRaU9pSjBj + blZsSWl3aWNHeGhZMlZvYjJ4a1pYSWlPaUpoY0dsMWMyVnlJaXdpYVdRaU9pSjFjMlZ5Ym1GdFpT + SjlMSHNpZEhsd1pTSTZJQ0p3WVhOemQyOXlaQ0lzSW01aGJXVWlPaUpRWVhOemQyOXlaQ0lzSW5K + bGNYVnBjbVZrSWpvaWRISjFaU0lzSW1sa0lqb2ljR0Z6YzNkdmNtUWlmU3g3SW5SNWNHVWlPaUFp + WTJobFkydGliM2dpTENKdVlXMWxJam9nSWtoVVZGQlRJaXdpYVdRaU9pQWlhSFIwY0hNaUxDSmta + V1poZFd4MElqb2dJbmxsY3lJc0ltTnZibVJwZEdsdmJtRnNVMlYwZEdsdVozTWlPaUI3SW5sbGN5 + STZJSHNpYVc1d2RYUnpJam9nVzNzaWRIbHdaU0k2SUNKamFHVmphMkp2ZUNJc0ltNWhiV1VpT2lB + aVZtVnlhV1o1SUZOVFRDQkRaWEowYVdacFkyRjBaU0lzSW5KbGNYVnBjbVZrSWpvZ0luUnlkV1Vp + TENKa1pXWmhkV3gwSWpvZ0lubGxjeUlzSW1sa0lqb2dJblpsY21sbWVWOXpjMndpZlYxOWZYMWQ8 + L2VkaXRvcj4KCQk8L3R5cGU+CgkJPHR5cGU+CgkJCTxpZD41PC9pZD4KCQkJPG5hbWU+QWlyV2F0 + Y2ggTURNPC9uYW1lPgoJCQk8ZGVzY3JpcHRpb24+PC9kZXNjcmlwdGlvbj4KCQkJPHZhbHVlPkFp + cldhdGNoPC92YWx1ZT4KCQkJPGlwUHJlZj5BaXJXYXRjaCBFbnZpcm9ubWVudCBBUEkgVVJMIDo8 + L2lwUHJlZj4KCQkJPHBsdWdpbklEcz43NjQ2MDwvcGx1Z2luSURzPgoJCQk8ZWRpdG9yPlczc2lk + SGx3WlNJNklDSmxiblJ5ZVNJc0ltNWhiV1VpT2lBaVFXbHlWMkYwWTJnZ1JXNTJhWEp2Ym0xbGJu + UWdRVkJKSUZWU1RDSXNJbkJzWVdObGFHOXNaR1Z5SWpvaWFIUjBjSE02THk5aGFYSjNZWFJqYUM1 + bGVHRnRjR3hsTG01bGRDOWhhWEozWVhSamFITmxjblpwWTJWekx6QXZJaXdpY21WeGRXbHlaV1Fp + T2lKMGNuVmxJaXdpYVdRaU9pQWlZWEJwWDNWeWJDSjlMQ0I3SW5SNWNHVWlPaUFpWlc1MGNua2lM + Q0p1WVcxbElqb2dJbEJ2Y25RaUxDSmtaV1poZFd4MElqb2lORFF6SWl3aWNtVm5aWGdpT2lBaVhp + aGJNQzA1WFhzeExEUjlmRnN4TFRWZFd6QXRPVjE3TkgxOE5sc3dMVFJkV3pBdE9WMTdNMzE4TmpW + Yk1DMDBYVnN3TFRsZGV6SjlmRFkxTlZzd0xUSmRXekF0T1YxOE5qVTFNMXN3TFRWZEtTUWlMQ0p5 + WlhGMWFYSmxaQ0k2SW5SeWRXVWlMQ0pwWkNJNkluQnZjblFpZlN4N0luUjVjR1VpT2lBaVpXNTBj + bmtpTENKdVlXMWxJam9nSWxWelpYSnVZVzFsSWl3aWNtVnhkV2x5WldRaU9pSjBjblZsSWl3aWFX + UWlPaUoxYzJWeWJtRnRaU0o5TEhzaWRIbHdaU0k2SUNKd1lYTnpkMjl5WkNJc0ltNWhiV1VpT2lB + aVVHRnpjM2R2Y21RaUxDSnlaWEYxYVhKbFpDSTZJblJ5ZFdVaUxDSnBaQ0k2SW5CaGMzTjNiM0pr + SW4wc2V5SjBlWEJsSWpvZ0ltVnVkSEo1SWl3aWJtRnRaU0k2SUNKQlVFa2dTMlY1SWl3aWNtVnhk + V2x5WldRaU9pSjBjblZsSWl3aWFXUWlPaUpoY0dsZmEyVjVJbjBzZXlKMGVYQmxJam9nSW1Ob1pX + TnJZbTk0SWl3aWJtRnRaU0k2SUNKSVZGUlFVeUlzSW1sa0lqb2dJbWgwZEhCeklpd2laR1ZtWVhW + c2RDSTZJQ0o1WlhNaUxDSmpiMjVrYVhScGIyNWhiRk5sZEhScGJtZHpJam9nZXlKNVpYTWlPaUI3 + SW1sdWNIVjBjeUk2SUZ0N0luUjVjR1VpT2lBaVkyaGxZMnRpYjNnaUxDSnVZVzFsSWpvZ0lsWmxj + bWxtZVNCVFUwd2dRMlZ5ZEdsbWFXTmhkR1VpTENKeVpYRjFhWEpsWkNJNklDSjBjblZsSWl3aVpH + Vm1ZWFZzZENJNklDSjVaWE1pTENKcFpDSTZJQ0oyWlhKcFpubGZjM05zSW4xZGZYMTlYUT09PC9l + ZGl0b3I+CgkJPC90eXBlPgoJPC9NRE1UeXBlcz4KPC9QbHVnaW5JbmZvPgoAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAADk1My9wbHVnaW5JbmZvLnhtbC40LjgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAw + Nzc3ADAwMDAwMDAAMDAwMDAwMAAwMDAwMDA2NDc1MQAxNDI0MzMyNjQ2MAAwMTE1MjEAIDAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIAMDAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPFBsdWdpbklu + Zm8+Cgk8Q29tcGxpYW5jZU1hcHM+CgkJPG1hcD4KCQkJPHBsdWdpbklEPjIxMTU2PC9wbHVnaW5J + RD4KCQkJPGF1ZGl0RmlsZVR5cGU+d2luZG93czwvYXVkaXRGaWxlVHlwZT4KCQkJPGRpc3BsYXlO + YW1lPldpbmRvd3M8L2Rpc3BsYXlOYW1lPgoJCTwvbWFwPgoJCTxtYXA+CgkJCTxwbHVnaW5JRD4y + MTE1NzwvcGx1Z2luSUQ+CgkJCTxhdWRpdEZpbGVUeXBlPnVuaXg8L2F1ZGl0RmlsZVR5cGU+CgkJ + CTxkaXNwbGF5TmFtZT5Vbml4PC9kaXNwbGF5TmFtZT4KCQk8L21hcD4KCQk8bWFwPgoJCQk8cGx1 + Z2luSUQ+MjQ3NjA8L3BsdWdpbklEPgoJCQk8YXVkaXRGaWxlVHlwZT53aW5kb3dzZmlsZXM8L2F1 + ZGl0RmlsZVR5cGU+CgkJCTxkaXNwbGF5TmFtZT5XaW5kb3dzIEZpbGUgQ29udGVudHM8L2Rpc3Bs + YXlOYW1lPgoJCTwvbWFwPgoJCTxtYXA+CgkJCTxwbHVnaW5JRD4zMzgxNDwvcGx1Z2luSUQ+CgkJ + CTxhdWRpdEZpbGVUeXBlPmRhdGFiYXNlPC9hdWRpdEZpbGVUeXBlPgoJCQk8ZGlzcGxheU5hbWU+ + RGF0YWJhc2U8L2Rpc3BsYXlOYW1lPgoJCTwvbWFwPgoJCTxtYXA+CgkJCTxwbHVnaW5JRD40NjY4 + OTwvcGx1Z2luSUQ+CgkJCTxhdWRpdEZpbGVUeXBlPmNpc2NvPC9hdWRpdEZpbGVUeXBlPgoJCQk8 + ZGlzcGxheU5hbWU+Q2lzY28gSU9TPC9kaXNwbGF5TmFtZT4KCQk8L21hcD4KCQk8bWFwPgoJCQk8 + cGx1Z2luSUQ+NTc4NjA8L3BsdWdpbklEPgoJCQk8YXVkaXRGaWxlVHlwZT5hcy80MDA8L2F1ZGl0 + RmlsZVR5cGU+CgkJCTxkaXNwbGF5TmFtZT5JQk0gaVNlcmllczwvZGlzcGxheU5hbWU+CgkJPC9t + YXA+CgkJPG1hcD4KCQkJPHBsdWdpbklEPjYyNjc5PC9wbHVnaW5JRD4KCQkJPGF1ZGl0RmlsZVR5 + cGU+Y2hlY2twb2ludDwvYXVkaXRGaWxlVHlwZT4KCQkJPGRpc3BsYXlOYW1lPkNoZWNrIFBvaW50 + IEdBaUE8L2Rpc3BsYXlOYW1lPgoJCTwvbWFwPgoJCTxtYXA+CgkJCTxwbHVnaW5JRD42MjY4MDwv + cGx1Z2luSUQ+CgkJCTxhdWRpdEZpbGVUeXBlPmp1bmlwZXI8L2F1ZGl0RmlsZVR5cGU+CgkJCTxk + aXNwbGF5TmFtZT5KdW5pcGVyIEp1bm9zPC9kaXNwbGF5TmFtZT4KCQk8L21hcD4KCQk8bWFwPgoJ + CQk8cGx1Z2luSUQ+NjQwOTU8L3BsdWdpbklEPgoJCQk8YXVkaXRGaWxlVHlwZT5wYWxvX2FsdG88 + L2F1ZGl0RmlsZVR5cGU+CgkJCTxkaXNwbGF5TmFtZT5QYWxvIEFsdG8gTmV0d29ya3MgUEFOLU9T + PC9kaXNwbGF5TmFtZT4KCQk8L21hcD4KCQk8bWFwPgoJCQk8cGx1Z2luSUQ+NjQ0NTU8L3BsdWdp + bklEPgoJCQk8YXVkaXRGaWxlVHlwZT52bXdhcmU8L2F1ZGl0RmlsZVR5cGU+CgkJCTxkaXNwbGF5 + TmFtZT5WTVdhcmUgdkNlbnRlci92U3BoZXJlPC9kaXNwbGF5TmFtZT4KCQk8L21hcD4KCQk8bWFw + PgoJCQk8cGx1Z2luSUQ+NjY3NTY8L3BsdWdpbklEPgoJCQk8YXVkaXRGaWxlVHlwZT5zY2FwV2lu + ZG93czwvYXVkaXRGaWxlVHlwZT4KCQkJPGRpc3BsYXlOYW1lPlNDQVAgV2luZG93czwvZGlzcGxh + eU5hbWU+CgkJPC9tYXA+CgkJPG1hcD4KCQkJPHBsdWdpbklEPjY2NzU3PC9wbHVnaW5JRD4KCQkJ + PGF1ZGl0RmlsZVR5cGU+c2NhcExpbnV4PC9hdWRpdEZpbGVUeXBlPgoJCQk8ZGlzcGxheU5hbWU+ + U0NBUCBMaW51eDwvZGlzcGxheU5hbWU+CgkJPC9tYXA+CgkJPG1hcD4KCQkJPHBsdWdpbklEPjY2 + OTM0PC9wbHVnaW5JRD4KCQkJPGF1ZGl0RmlsZVR5cGU+bmV0YXBwPC9hdWRpdEZpbGVUeXBlPgoJ + CQk8ZGlzcGxheU5hbWU+TmV0QXBwIERhdGEgT05UQVA8L2Rpc3BsYXlOYW1lPgoJCTwvbWFwPgoJ + CTxtYXA+CgkJCTxwbHVnaW5JRD42OTUxMjwvcGx1Z2luSUQ+CgkJCTxhdWRpdEZpbGVUeXBlPnhl + bnNlcnZlcjwvYXVkaXRGaWxlVHlwZT4KCQkJPGRpc3BsYXlOYW1lPkNpdHJpeCBYZW5TZXJ2ZXI8 + L2Rpc3BsYXlOYW1lPgoJCTwvbWFwPgoJCTxtYXA+CgkJCTxwbHVnaW5JRD43MDI3MTwvcGx1Z2lu + SUQ+CgkJCTxhdWRpdEZpbGVUeXBlPmhwcHJvY3VydmU8L2F1ZGl0RmlsZVR5cGU+CgkJCTxkaXNw + bGF5TmFtZT5IUCBQcm9DdXJ2ZTwvZGlzcGxheU5hbWU+CgkJPC9tYXA+CgkJPG1hcD4KCQkJPHBs + dWdpbklEPjcwMjcyPC9wbHVnaW5JRD4KCQkJPGF1ZGl0RmlsZVR5cGU+Zm9ydGlnYXRlPC9hdWRp + dEZpbGVUeXBlPgoJCQk8ZGlzcGxheU5hbWU+Rm9ydGlnYXRlIEZvcnRpT1M8L2Rpc3BsYXlOYW1l + PgoJCTwvbWFwPgoJCTxtYXA+CgkJCTxwbHVnaW5JRD43MDQ2OTwvcGx1Z2luSUQ+CgkJCTxhdWRp + dEZpbGVUeXBlPmZpcmVleWU8L2F1ZGl0RmlsZVR5cGU+CgkJCTxkaXNwbGF5TmFtZT5GaXJlRXll + PC9kaXNwbGF5TmFtZT4KCQk8L21hcD4KCQk8bWFwPgoJCQk8cGx1Z2luSUQ+NzA0NzA8L3BsdWdp + bklEPgoJCQk8YXVkaXRGaWxlVHlwZT5ibHVlY29hdDwvYXVkaXRGaWxlVHlwZT4KCQkJPGRpc3Bs + YXlOYW1lPkJsdWVDb2F0IFByb3h5U0c8L2Rpc3BsYXlOYW1lPgoJCTwvbWFwPgoJCTxtYXA+CgkJ + CTxwbHVnaW5JRD43MTg0MjwvcGx1Z2luSUQ+CgkJCTxhdWRpdEZpbGVUeXBlPmJyb2NhZGU8L2F1 + ZGl0RmlsZVR5cGU+CgkJCTxkaXNwbGF5TmFtZT5Ccm9jYWRlIEZhYnJpY09TPC9kaXNwbGF5TmFt + ZT4KCQk8L21hcD4KCQk8bWFwPgoJCQk8cGx1Z2luSUQ+NzE5NTU8L3BsdWdpbklEPgoJCQk8YXVk + aXRGaWxlVHlwZT5zb25pY3dhbGw8L2F1ZGl0RmlsZVR5cGU+CgkJCTxkaXNwbGF5TmFtZT5Tb25p + Y1dBTEwgU29uaWNPUzwvZGlzcGxheU5hbWU+CgkJPC9tYXA+CgkJPG1hcD4KCQkJPHBsdWdpbklE + PjcxOTkxPC9wbHVnaW5JRD4KCQkJPGF1ZGl0RmlsZVR5cGU+YWR0cmFuPC9hdWRpdEZpbGVUeXBl + PgoJCQk8ZGlzcGxheU5hbWU+QWR0cmFuIE5ldFZhbnRhPC9kaXNwbGF5TmFtZT4KCQk8L21hcD4K + CQk8bWFwPgoJCQk8cGx1Z2luSUQ+NzIwOTU8L3BsdWdpbklEPgoJCQk8YXVkaXRGaWxlVHlwZT5m + aWxlY29udGVudDwvYXVkaXRGaWxlVHlwZT4KCQkJPGRpc3BsYXlOYW1lPlVuaXggRmlsZSBDb250 + ZW50czwvZGlzcGxheU5hbWU+CgkJPC9tYXA+CjwhLS0gUmVtb3ZlZCB1bnRpbCBTQyA1LjAuMCBz + dXBwb3J0cyBpdAoJUmVtZW1iZXIgdG8gcmVtb3ZlL2FkanVzdCBSZW1vdmVQcmVmcy9GaWx0ZXJQ + cmVmcyBlbnRyaWVzIGFzIHdlbGwKCQk8bWFwPgoJCQk8cGx1Z2luSUQ+NzI0MjY8L3BsdWdpbklE + PgoJCQk8YXVkaXRGaWxlVHlwZT5hbWF6b25fYXdzPC9hdWRpdEZpbGVUeXBlPgoJCQk8ZGlzcGxh + eU5hbWU+QW1hem9uIEFXUzwvZGlzcGxheU5hbWU+CgkJPC9tYXA+Ci0tPgoJCTxtYXA+CgkJCTxw + bHVnaW5JRD43MjQ2MTwvcGx1Z2luSUQ+CgkJCTxhdWRpdEZpbGVUeXBlPmRlbGxfZm9yY2UxMDwv + YXVkaXRGaWxlVHlwZT4KCQkJPGRpc3BsYXlOYW1lPkRlbGwgRm9yY2UxMCBGVE9TPC9kaXNwbGF5 + TmFtZT4KCQk8L21hcD4KCQk8bWFwPgoJCQk8cGx1Z2luSUQ+NzMxNTY8L3BsdWdpbklEPgoJCQk8 + YXVkaXRGaWxlVHlwZT5leHRyZW1lX2V4dHJlbWV4b3M8L2F1ZGl0RmlsZVR5cGU+CgkJCTxkaXNw + bGF5TmFtZT5FeHRyZW1lIEV4dHJlbWVYT1M8L2Rpc3BsYXlOYW1lPgoJCTwvbWFwPgoJCTxtYXA+ + CgkJCTxwbHVnaW5JRD43MzE1NzwvcGx1Z2luSUQ+CgkJCTxhdWRpdEZpbGVUeXBlPmh1YXdlaTwv + YXVkaXRGaWxlVHlwZT4KCQkJPGRpc3BsYXlOYW1lPkh1YXdlaSBWUlA8L2Rpc3BsYXlOYW1lPgoJ + CTwvbWFwPgoJCTxtYXA+CgkJCTxwbHVnaW5JRD43NjUxMzwvcGx1Z2luSUQ+CgkJCTxhdWRpdEZp + bGVUeXBlPm1vbmdvZGI8L2F1ZGl0RmlsZVR5cGU+CgkJCTxkaXNwbGF5TmFtZT5Nb25nb0RCPC9k + aXNwbGF5TmFtZT4KCQk8L21hcD4KCQk8bWFwPgoJCQk8cGx1Z2luSUQ+NzcwOTA8L3BsdWdpbklE + PgoJCQk8YXVkaXRGaWxlVHlwZT5yaGV2PC9hdWRpdEZpbGVUeXBlPgoJCQk8ZGlzcGxheU5hbWU+ + UkhFVjwvZGlzcGxheU5hbWU+CgkJPC9tYXA+CgkJPG1hcD4KCQkJPHBsdWdpbklEPjgzMTg4PC9w + bHVnaW5JRD4KCQkJPGF1ZGl0RmlsZVR5cGU+b3ZhbFVuaXg8L2F1ZGl0RmlsZVR5cGU+CgkJCTxk + aXNwbGF5TmFtZT5PVkFMIFVuaXg8L2Rpc3BsYXlOYW1lPgoJCTwvbWFwPgoJCTxtYXA+CgkJCTxw + bHVnaW5JRD44MzE4OTwvcGx1Z2luSUQ+CgkJCTxhdWRpdEZpbGVUeXBlPm92YWxXaW5kb3dzPC9h + dWRpdEZpbGVUeXBlPgoJCQk8ZGlzcGxheU5hbWU+T1ZBTCBXaW5kb3dzPC9kaXNwbGF5TmFtZT4K + CQk8L21hcD4KCQk8bWFwPgoJCQk8cGx1Z2luSUQ+ODYyNjk8L3BsdWdpbklEPgoJCQk8YXVkaXRG + aWxlVHlwZT53YXRjaGd1YXJkPC9hdWRpdEZpbGVUeXBlPgoJCQk8ZGlzcGxheU5hbWU+V2F0Y2hH + dWFyZDwvZGlzcGxheU5hbWU+CgkJPC9tYXA+CgkJPG1hcD4KCQkJPHBsdWdpbklEPjkyODM4PC9w + bHVnaW5JRD4KCQkJPGF1ZGl0RmlsZVR5cGU+YXJpc3RhPC9hdWRpdEZpbGVUeXBlPgoJCQk8ZGlz + cGxheU5hbWU+QXJpc3RhIEVPUzwvZGlzcGxheU5hbWU+CgkJPC9tYXA+CgkJPG1hcD4KCQkJPHBs + dWdpbklEPjk1Mzg4PC9wbHVnaW5JRD4KCQkJPGF1ZGl0RmlsZVR5cGU+ZjU8L2F1ZGl0RmlsZVR5 + cGU+CgkJCTxkaXNwbGF5TmFtZT5GNSBOZXR3b3JrczwvZGlzcGxheU5hbWU+CgkJPC9tYXA+CgkJ + PG1hcD4KCQkJPHBsdWdpbklEPjEwMjczMDwvcGx1Z2luSUQ+CgkJCTxhdWRpdEZpbGVUeXBlPmFs + Y2F0ZWw8L2F1ZGl0RmlsZVR5cGU+CgkJCTxkaXNwbGF5TmFtZT5BbGNhdGVsIFRpTU9TPC9kaXNw + bGF5TmFtZT4KCQk8L21hcD4KCQk8bWFwPgoJCQk8cGx1Z2luSUQ+MTEyMTE3PC9wbHVnaW5JRD4K + CQkJPGF1ZGl0RmlsZVR5cGU+bmV0YXBwX2FwaTwvYXVkaXRGaWxlVHlwZT4KCQkJPGRpc3BsYXlO + YW1lPk5ldGFwcCBBUEk8L2Rpc3BsYXlOYW1lPgoJCTwvbWFwPgoJPC9Db21wbGlhbmNlTWFwcz4K + CTxSZW1vdmVQcmVmcz4KCQk8cGx1Z2luPjE3MzUxPC9wbHVnaW4+CgkJPHBsdWdpbj4yMTE1Njwv + cGx1Z2luPgoJCTxwbHVnaW4+MjExNTc8L3BsdWdpbj4KCQk8cGx1Z2luPjI0NzYwPC9wbHVnaW4+ + CgkJPHBsdWdpbj4zMzgxNDwvcGx1Z2luPgoJCTxwbHVnaW4+MzM4MTU8L3BsdWdpbj4KCQk8cGx1 + Z2luPjMzOTI5PC9wbHVnaW4+CgkJPHBsdWdpbj40NjY4OTwvcGx1Z2luPgoJCTxwbHVnaW4+NTc4 + NjA8L3BsdWdpbj4KCQk8cGx1Z2luPjU5ODYxPC9wbHVnaW4+CgkJPHBsdWdpbj42MDAyNDwvcGx1 + Z2luPgoJCTxwbHVnaW4+NjAwMzI8L3BsdWdpbj4KCQk8cGx1Z2luPjYwMDM1PC9wbHVnaW4+CgkJ + PHBsdWdpbj42MjY3OTwvcGx1Z2luPgoJCTxwbHVnaW4+NjI2ODA8L3BsdWdpbj4KCQk8cGx1Z2lu + PjY0MDk1PC9wbHVnaW4+CgkJPHBsdWdpbj42NDQ1NTwvcGx1Z2luPgoJCTxwbHVnaW4+NjY3NTY8 + L3BsdWdpbj4KCQk8cGx1Z2luPjY2NzU3PC9wbHVnaW4+CgkJPHBsdWdpbj42NjkzNDwvcGx1Z2lu + PgoJCTxwbHVnaW4+NjY5NjM8L3BsdWdpbj4KCQk8cGx1Z2luPjY5NTEyPC9wbHVnaW4+CgkJPHBs + dWdpbj43MDI3MTwvcGx1Z2luPgoJCTxwbHVnaW4+NzAyNzI8L3BsdWdpbj4KCQk8cGx1Z2luPjcw + NDY5PC9wbHVnaW4+CgkJPHBsdWdpbj43MDQ3MDwvcGx1Z2luPgoJCTxwbHVnaW4+NzE4NDI8L3Bs + dWdpbj4KCQk8cGx1Z2luPjcxOTU1PC9wbHVnaW4+CgkJPHBsdWdpbj43MTk5MTwvcGx1Z2luPgoJ + CTxwbHVnaW4+NzI0MjY8L3BsdWdpbj4KCQk8cGx1Z2luPjcyNDYxPC9wbHVnaW4+CgkJPHBsdWdp + bj43MjkwNDwvcGx1Z2luPgoJCTxwbHVnaW4+NzMxNTY8L3BsdWdpbj4KCQk8cGx1Z2luPjczNDkw + PC9wbHVnaW4+CgkJPHBsdWdpbj43NjQ2MDwvcGx1Z2luPgoJCTxwbHVnaW4+NzY1MTM8L3BsdWdp + bj4KCQk8cGx1Z2luPjgzMTg4PC9wbHVnaW4+CgkJPHBsdWdpbj44MzE4OTwvcGx1Z2luPgoJCTxw + bHVnaW4+ODYyNjk8L3BsdWdpbj4KCQk8cGx1Z2luPjk1Mzg4PC9wbHVnaW4+CgkJPHBsdWdpbj4x + MDI3MzA8L3BsdWdpbj4KCQk8cGx1Z2luPjExMjExNzwvcGx1Z2luPgoJPC9SZW1vdmVQcmVmcz4K + CTxFeGNsdWRlZE5lc3N1c1BsdWdpbnM+CgkJPHBsdWdpbj4xMDg3MDwvcGx1Z2luPgoJCTxwbHVn + aW4+MTIyODg8L3BsdWdpbj4KCQk8cGx1Z2luPjE0MjczPC9wbHVnaW4+CgkJPHBsdWdpbj4xNzM1 + MTwvcGx1Z2luPgoJCTxwbHVnaW4+MjExNTY8L3BsdWdpbj4KCQk8cGx1Z2luPjIxMTU3PC9wbHVn + aW4+CgkJPHBsdWdpbj4yNDc2MDwvcGx1Z2luPgoJCTxwbHVnaW4+MzM4MTQ8L3BsdWdpbj4KCQk8 + cGx1Z2luPjMzOTI5PC9wbHVnaW4+CgkJPHBsdWdpbj40Mjg5MzwvcGx1Z2luPgoJCTxwbHVnaW4+ + NTI2MTY8L3BsdWdpbj4KCQk8cGx1Z2luPjU3ODYwPC9wbHVnaW4+CgkJPHBsdWdpbj42MDAyNDwv + cGx1Z2luPgoJCTxwbHVnaW4+NjAwMzI8L3BsdWdpbj4KCQk8cGx1Z2luPjYyNjc5PC9wbHVnaW4+ + CgkJPHBsdWdpbj42MjY4MDwvcGx1Z2luPgoJCTxwbHVnaW4+NjQwOTU8L3BsdWdpbj4KCQk8cGx1 + Z2luPjY2OTM0PC9wbHVnaW4+CgkJPHBsdWdpbj42Njk2MzwvcGx1Z2luPgoJCTxwbHVnaW4+Njk1 + MTI8L3BsdWdpbj4KCQk8cGx1Z2luPjcwMjcxPC9wbHVnaW4+CgkJPHBsdWdpbj43MDI3MjwvcGx1 + Z2luPgoJCTxwbHVnaW4+NzA0Njk8L3BsdWdpbj4KCQk8cGx1Z2luPjcwNDcwPC9wbHVnaW4+CgkJ + PHBsdWdpbj43MTg0MjwvcGx1Z2luPgoJCTxwbHVnaW4+NzE5NTU8L3BsdWdpbj4KCQk8cGx1Z2lu + PjcxOTkxPC9wbHVnaW4+CgkJPHBsdWdpbj43MjQyNjwvcGx1Z2luPgoJCTxwbHVnaW4+NzI0NjE8 + L3BsdWdpbj4KCQk8cGx1Z2luPjcyOTA0PC9wbHVnaW4+CgkJPHBsdWdpbj43MzE1NjwvcGx1Z2lu + PgoJCTxwbHVnaW4+NzM0OTA8L3BsdWdpbj4KCQk8cGx1Z2luPjc2NDYwPC9wbHVnaW4+CgkJPHBs + dWdpbj43NjUxMzwvcGx1Z2luPgoJCTxwbHVnaW4+ODYyNjk8L3BsdWdpbj4KCQk8cGx1Z2luPjk1 + Mzg4PC9wbHVnaW4+CgkJPHBsdWdpbj4xMDI3MzA8L3BsdWdpbj4KCQk8cGx1Z2luPjExMjExNzwv + cGx1Z2luPgoJPC9FeGNsdWRlZE5lc3N1c1BsdWdpbnM+Cgk8TmVzc3VzRmlsdGVyUHJlZnM+CgkJ + PHBsdWdpbj4KCQkJPGlkPjEwODcwPC9pZD4KCQkJPHByZWY+SFRUUCBhY2NvdW50IDo8L3ByZWY+ + CgkJCTxwcmVmPkhUVFAgcGFzc3dvcmQgKHNlbnQgaW4gY2xlYXIpIDo8L3ByZWY+CgkJCTxwcmVm + Pk5OVFAgYWNjb3VudCA6PC9wcmVmPgoJCQk8cHJlZj5OTlRQIHBhc3N3b3JkIChzZW50IGluIGNs + ZWFyKSA6PC9wcmVmPgoJCQk8cHJlZj5GVFAgYWNjb3VudCA6PC9wcmVmPgoJCQk8cHJlZj5GVFAg + cGFzc3dvcmQgKHNlbnQgaW4gY2xlYXIpIDo8L3ByZWY+CgkJCTxwcmVmPlBPUDIgYWNjb3VudCA6 + PC9wcmVmPgoJCQk8cHJlZj5QT1AyIHBhc3N3b3JkIChzZW50IGluIGNsZWFyKSA6PC9wcmVmPgoJ + CQk8cHJlZj5QT1AzIGFjY291bnQgOjwvcHJlZj4KCQkJPHByZWY+UE9QMyBwYXNzd29yZCAoc2Vu + dCBpbiBjbGVhcikgOjwvcHJlZj4KCQkJPHByZWY+SU1BUCBhY2NvdW50IDo8L3ByZWY+CgkJCTxw + cmVmPklNQVAgcGFzc3dvcmQgKHNlbnQgaW4gY2xlYXIpIDo8L3ByZWY+CgkJCTxwcmVmPlNNQiBh + Y2NvdW50IDo8L3ByZWY+CgkJCTxwcmVmPlNNQiBwYXNzd29yZCA6PC9wcmVmPgoJCQk8cHJlZj5B + ZGRpdGlvbmFsIFNNQiBhY2NvdW50ICgxKSA6PC9wcmVmPgoJCQk8cHJlZj5BZGRpdGlvbmFsIFNN + QiBwYXNzd29yZCAoMSkgOjwvcHJlZj4KCQkJPHByZWY+QWRkaXRpb25hbCBTTUIgYWNjb3VudCAo + MikgOjwvcHJlZj4KCQkJPHByZWY+QWRkaXRpb25hbCBTTUIgcGFzc3dvcmQgKDIpIDo8L3ByZWY+ + CgkJCTxwcmVmPkFkZGl0aW9uYWwgU01CIGFjY291bnQgKDMpIDo8L3ByZWY+CgkJCTxwcmVmPkFk + ZGl0aW9uYWwgU01CIHBhc3N3b3JkICgzKSA6PC9wcmVmPgoJCQk8cHJlZj5JUE1JIGFjY291bnQg + OjwvcHJlZj4KCQkJPHByZWY+SVBNSSBwYXNzd29yZCAoc2VudCBpbiBjbGVhcikgOjwvcHJlZj4K + CQk8L3BsdWdpbj4KCQk8cGx1Z2luPgoJCQk8aWQ+MTIyODg8L2lkPgoJCQk8cHJlZj5TU0wgY2Vy + dGlmaWNhdGUgdG8gdXNlIDo8L3ByZWY+CgkJCTxwcmVmPlNTTCBDQSB0byB0cnVzdCA6PC9wcmVm + PgoJCQk8cHJlZj5TU0wga2V5IHRvIHVzZSA6PC9wcmVmPgoJCQk8cHJlZj5TU0wgcGFzc3dvcmQg + Zm9yIFNTTCBrZXkgOjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8cGx1Z2luPgoJCQk8aWQ+MTQyNzM8 + L2lkPgoJCQk8cHJlZj5TU0ggdXNlciBuYW1lIDo8L3ByZWY+CgkJCTxwcmVmPlNTSCBwYXNzd29y + ZCAodW5zYWZlISkgOjwvcHJlZj4KCQkJPHByZWY+U1NIIHB1YmxpYyBrZXkgdG8gdXNlIDo8L3By + ZWY+CgkJCTxwcmVmPlNTSCBwcml2YXRlIGtleSB0byB1c2UgOjwvcHJlZj4KCQkJPHByZWY+UGFz + c3BocmFzZSBmb3IgU1NIIGtleSA6PC9wcmVmPgoJCQk8cHJlZj5zdSBsb2dpbiA6PC9wcmVmPgoJ + CQk8cHJlZj5Fc2NhbGF0aW9uIGFjY291bnQgOjwvcHJlZj4KCQkJPHByZWY+RXNjYWxhdGlvbiBw + YXNzd29yZCA6PC9wcmVmPgoJCQk8cHJlZj5TU0gga25vd25faG9zdHMgZmlsZSA6PC9wcmVmPgoJ + CQk8cHJlZj5BZGRpdGlvbmFsIFNTSCB1c2VyIG5hbWUgKDEpIDo8L3ByZWY+CgkJCTxwcmVmPkFk + ZGl0aW9uYWwgU1NIIHBhc3N3b3JkICgxKSA6PC9wcmVmPgoJCQk8cHJlZj5BZGRpdGlvbmFsIFNT + SCB1c2VyIG5hbWUgKDIpIDo8L3ByZWY+CgkJCTxwcmVmPkFkZGl0aW9uYWwgU1NIIHBhc3N3b3Jk + ICgyKSA6PC9wcmVmPgoJCQk8cHJlZj5BZGRpdGlvbmFsIFNTSCB1c2VyIG5hbWUgKDMpIDo8L3By + ZWY+CgkJCTxwcmVmPkFkZGl0aW9uYWwgU1NIIHBhc3N3b3JkICgzKSA6PC9wcmVmPgoJCQk8cHJl + Zj5BZGRpdGlvbmFsIFNTSCB1c2VyIG5hbWUgKDQpIDo8L3ByZWY+CgkJCTxwcmVmPkFkZGl0aW9u + YWwgU1NIIHBhc3N3b3JkICg0KSA6PC9wcmVmPgoJCQk8cHJlZj5BZGRpdGlvbmFsIFNTSCB1c2Vy + IG5hbWUgKDUpIDo8L3ByZWY+CgkJCTxwcmVmPkFkZGl0aW9uYWwgU1NIIHBhc3N3b3JkICg1KSA6 + PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD4xNTg2ODwvaWQ+CgkJCTxwcmVm + PkxvZ2lucyBmaWxlIDo8L3ByZWY+CgkJCTxwcmVmPlBhc3N3b3JkcyBmaWxlIDo8L3ByZWY+CgkJ + PC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjE5NzYyPC9pZD4KCQkJPHByZWY+U05NUHYzIHVz + ZXIgbmFtZSA6PC9wcmVmPgoJCQk8cHJlZj5TTk1QdjMgYXV0aGVudGljYXRpb24gcGFzc3dvcmQg + OjwvcHJlZj4KCQkJPHByZWY+U05NUHYzIHByaXZhY3kgcGFzc3dvcmQgOjwvcHJlZj4KCQk8L3Bs + dWdpbj4KCQk8cGx1Z2luPgoJCQk8aWQ+MjExNTY8L2lkPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAj + MSA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMiA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xp + Y3kgZmlsZSAjMyA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNCA6PC9wcmVmPgoJCQk8 + cHJlZj5Qb2xpY3kgZmlsZSAjNSA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxp + ZD4yMTE1NzwvaWQ+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMxIDo8L3ByZWY+CgkJCTxwcmVmPlBv + bGljeSBmaWxlICMyIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMzIDo8L3ByZWY+CgkJ + CTxwcmVmPlBvbGljeSBmaWxlICM0IDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM1IDo8 + L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjIxNzQ0PC9pZD4KCQkJPHByZWY+ + VXNlciBuYW1lIDo8L3ByZWY+CgkJCTxwcmVmPlBhc3N3b3JkICh1bnNhZmUhKSA6PC9wcmVmPgoJ + CTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD4yNDc2MDwvaWQ+CgkJCTxwcmVmPlBvbGljeSBm + aWxlICMxIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMyIDo8L3ByZWY+CgkJCTxwcmVm + PlBvbGljeSBmaWxlICMzIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM0IDo8L3ByZWY+ + CgkJCTxwcmVmPlBvbGljeSBmaWxlICM1IDo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4K + CQkJPGlkPjMzODE0PC9pZD4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzEgOjwvcHJlZj4KCQkJPHBy + ZWY+UG9saWN5IGZpbGUgIzIgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzMgOjwvcHJl + Zj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzQgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUg + IzUgOjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8cGx1Z2luPgoJCQk8aWQ+MzM4MTU8L2lkPgoJCQk8 + cHJlZj5Mb2dpbiA6PC9wcmVmPgoJCQk8cHJlZj5QYXNzd29yZCA6PC9wcmVmPgoJCQk8cHJlZj5E + QiBUeXBlIDo8L3ByZWY+CgkJCTxwcmVmPkRhdGFiYXNlIFNJRCA6PC9wcmVmPgoJCQk8cHJlZj5E + YXRhYmFzZSBwb3J0IHRvIHVzZSA6PC9wcmVmPgoJCQk8cHJlZj5PcmFjbGUgYXV0aCB0eXBlOjwv + cHJlZj4KCQkJPHByZWY+U1FMIFNlcnZlciBhdXRoIHR5cGU6PC9wcmVmPgoJCTwvcGx1Z2luPgoJ + CTxwbHVnaW4+CgkJCTxpZD40Mjg5MzwvaWQ+CgkJCTxwcmVmPkNvb2tpZXMgZmlsZSA6PC9wcmVm + PgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD40NjY4OTwvaWQ+CgkJCTxwcmVmPlBvbGlj + eSBmaWxlICMxIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMyIDo8L3ByZWY+CgkJCTxw + cmVmPlBvbGljeSBmaWxlICMzIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM0IDo8L3By + ZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM1IDo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdp + bj4KCQkJPGlkPjUyNjE2PC9pZD4KCQkJPHByZWY+TGlzdCBvZiBNQUMgYWRkcmVzc2VzIGZvciBX + YWtlLW9uLUxBTjo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjU3MDI2PC9p + ZD4KCQkJPHByZWY+VXNlcm5hbWUgOjwvcHJlZj4KCQkJPHByZWY+UGFzc3dvcmQgOjwvcHJlZj4K + CQk8L3BsdWdpbj4KCQk8cGx1Z2luPgoJCQk8aWQ+NTcwMjk8L2lkPgoJCQk8cHJlZj5TQ0NNIFVz + ZXJuYW1lIDo8L3ByZWY+CgkJCTxwcmVmPlNDQ00gUGFzc3dvcmQgOjwvcHJlZj4KCQk8L3BsdWdp + bj4KCQk8cGx1Z2luPgoJCQk8aWQ+NTcwMzE8L2lkPgoJCQk8cHJlZj5XU1VTIFVzZXJuYW1lIDo8 + L3ByZWY+CgkJCTxwcmVmPldTVVMgUGFzc3dvcmQgOjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8cGx1 + Z2luPgoJCQk8aWQ+NTcwNjM8L2lkPgoJCQk8cHJlZj5SZWQgSGF0IFNhdGVsbGl0ZSB1c2VybmFt + ZShzKSA6PC9wcmVmPgoJCQk8cHJlZj5SZWQgSGF0IFNhdGVsbGl0ZSBwYXNzd29yZChzKSA6PC9w + cmVmPgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD41NzM5NTwvaWQ+CgkJCTxwcmVmPlZN + d2FyZSB1c2VyIG5hbWUgOjwvcHJlZj4KCQkJPHByZWY+Vk13YXJlIHBhc3N3b3JkIDo8L3ByZWY+ + CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjU3ODYwPC9pZD4KCQkJPHByZWY+UG9saWN5 + IGZpbGUgIzEgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzIgOjwvcHJlZj4KCQkJPHBy + ZWY+UG9saWN5IGZpbGUgIzMgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzQgOjwvcHJl + Zj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzUgOjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8cGx1Z2lu + PgoJCQk8aWQ+NTc4NjE8L2lkPgoJCQk8cHJlZj5Mb2dpbiA6PC9wcmVmPgoJCQk8cHJlZj5QYXNz + d29yZCA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD41ODAzODwvaWQ+CgkJ + CTxwcmVmPkxEQVAgdXNlciA6PC9wcmVmPgoJCQk8cHJlZj5MREFQIHBhc3N3b3JkIDo8L3ByZWY+ + CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjU5Mjc1PC9pZD4KCQkJPHByZWY+QWRkaXRp + b25hbCBNRDUgaGFzaGVzIChvcHRpb25hbCkgOjwvcHJlZj4KCQkJPHByZWY+S25vd24gZ29vZCBN + RDUgaGFzaGVzIChvcHRpb25hbCkgOjwvcHJlZj4KCQkJPHByZWY+ZmlsZXNjYW5fY3VzdG9tX2Rp + cjwvcHJlZj4KCQkJPHByZWY+WWFyYSBydWxlcyBmaWxlIDogPC9wcmVmPgoJCTwvcGx1Z2luPgoJ + CTxwbHVnaW4+CgkJCTxpZD42MDAyNDwvaWQ+CgkJCTxwcmVmPkRvbWFpbiBVc2VybmFtZSA6PC9w + cmVmPgoJCQk8cHJlZj5Eb21haW4gUGFzc3dvcmQgOjwvcHJlZj4KCQkJPHByZWY+RG9tYWluIFVz + ZXJuYW1lIDI6PC9wcmVmPgoJCQk8cHJlZj5Eb21haW4gUGFzc3dvcmQgMjo8L3ByZWY+CgkJCTxw + cmVmPkRvbWFpbiBVc2VybmFtZSAzOjwvcHJlZj4KCQkJPHByZWY+RG9tYWluIFBhc3N3b3JkIDM6 + PC9wcmVmPgoJCQk8cHJlZj5Eb21haW4gVXNlcm5hbWUgNDo8L3ByZWY+CgkJCTxwcmVmPkRvbWFp + biBQYXNzd29yZCA0OjwvcHJlZj4KCQkJPHByZWY+RG9tYWluIFVzZXJuYW1lIDU6PC9wcmVmPgoJ + CQk8cHJlZj5Eb21haW4gUGFzc3dvcmQgNTo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4K + CQkJPGlkPjYwMDMyPC9pZD4KCQkJPHByZWY+QXBwbGUgUHJvZmlsZSBNYW5hZ2VyIHVzZXJuYW1l + IDo8L3ByZWY+CgkJCTxwcmVmPkFwcGxlIFByb2ZpbGUgTWFuYWdlciBwYXNzd29yZCA6PC9wcmVm + PgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD42MjU1ODwvaWQ+CgkJCTxwcmVmPldlYiBS + ZXBvcnRzIFVzZXJuYW1lIDo8L3ByZWY+CgkJCTxwcmVmPldlYiBSZXBvcnRzIFBhc3N3b3JkIDo8 + L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjYyNjc5PC9pZD4KCQkJPHByZWY+ + UG9saWN5IGZpbGUgIzEgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzIgOjwvcHJlZj4K + CQkJPHByZWY+UG9saWN5IGZpbGUgIzMgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzQg + OjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzUgOjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8 + cGx1Z2luPgoJCQk8aWQ+NjI2ODA8L2lkPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMSA6PC9wcmVm + PgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMiA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAj + MyA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNCA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xp + Y3kgZmlsZSAjNSA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD42MzA2MDwv + aWQ+CgkJCTxwcmVmPlZNd2FyZSB2Q2VudGVyIHVzZXIgbmFtZSA6PC9wcmVmPgoJCQk8cHJlZj5W + TXdhcmUgdkNlbnRlciBwYXNzd29yZCA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJ + CTxpZD42NDA5NTwvaWQ+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMxIDo8L3ByZWY+CgkJCTxwcmVm + PlBvbGljeSBmaWxlICMyIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMzIDo8L3ByZWY+ + CgkJCTxwcmVmPlBvbGljeSBmaWxlICM0IDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM1 + IDo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjY0Mjg2PC9pZD4KCQkJPHBy + ZWY+UGFsbyBBbHRvIFVzZXJuYW1lIDo8L3ByZWY+CgkJCTxwcmVmPlBhbG8gQWx0byBQYXNzd29y + ZCA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD42NDQ1NTwvaWQ+CgkJCTxw + cmVmPlBvbGljeSBmaWxlICMxIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMyIDo8L3By + ZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMzIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxl + ICM0IDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM1IDo8L3ByZWY+CgkJPC9wbHVnaW4+ + CgkJPHBsdWdpbj4KCQkJPGlkPjY2NzU2PC9pZD4KCQkJPHByZWY+U0NBUCBGaWxlICh6aXApICMx + IDo8L3ByZWY+CgkJCTxwcmVmPlNDQVAgRmlsZSAoemlwKSAjMiA6PC9wcmVmPgoJCQk8cHJlZj5T + Q0FQIEZpbGUgKHppcCkgIzMgOjwvcHJlZj4KCQkJPHByZWY+U0NBUCBGaWxlICh6aXApICM0IDo8 + L3ByZWY+CgkJCTxwcmVmPlNDQVAgRmlsZSAoemlwKSAjNSA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJ + CTxwbHVnaW4+CgkJCTxpZD42Njc1NzwvaWQ+CgkJCTxwcmVmPlNDQVAgRmlsZSAoemlwKSAjMSA6 + PC9wcmVmPgoJCQk8cHJlZj5TQ0FQIEZpbGUgKHppcCkgIzIgOjwvcHJlZj4KCQkJPHByZWY+U0NB + UCBGaWxlICh6aXApICMzIDo8L3ByZWY+CgkJCTxwcmVmPlNDQVAgRmlsZSAoemlwKSAjNCA6PC9w + cmVmPgoJCQk8cHJlZj5TQ0FQIEZpbGUgKHppcCkgIzUgOjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8 + cGx1Z2luPgoJCQk8aWQ+NjY5MzQ8L2lkPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMSA6PC9wcmVm + PgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMiA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAj + MyA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNCA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xp + Y3kgZmlsZSAjNSA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD42Njk2Mzwv + aWQ+CgkJCTxwcmVmPlVzZXJuYW1lIDo8L3ByZWY+CgkJCTxwcmVmPlBhc3N3b3JkIDo8L3ByZWY+ + CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjY5NTEyPC9pZD4KCQkJPHByZWY+UG9saWN5 + IGZpbGUgIzEgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzIgOjwvcHJlZj4KCQkJPHBy + ZWY+UG9saWN5IGZpbGUgIzMgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzQgOjwvcHJl + Zj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzUgOjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8cGx1Z2lu + PgoJCQk8aWQ+NzAyNzE8L2lkPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMSA6PC9wcmVmPgoJCQk8 + cHJlZj5Qb2xpY3kgZmlsZSAjMiA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMyA6PC9w + cmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNCA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmls + ZSAjNSA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCQk8cGx1Z2luPgoJCQk8aWQ+NzAyNzI8L2lkPgoJ + CQk8cHJlZj5Qb2xpY3kgZmlsZSAjMSA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMiA6 + PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMyA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kg + ZmlsZSAjNCA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNSA6PC9wcmVmPgoJCTwvcGx1 + Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD43MDQ2OTwvaWQ+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMx + IDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMyIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGlj + eSBmaWxlICMzIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM0IDo8L3ByZWY+CgkJCTxw + cmVmPlBvbGljeSBmaWxlICM1IDo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlk + PjcwNDcwPC9pZD4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzEgOjwvcHJlZj4KCQkJPHByZWY+UG9s + aWN5IGZpbGUgIzIgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzMgOjwvcHJlZj4KCQkJ + PHByZWY+UG9saWN5IGZpbGUgIzQgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzUgOjwv + cHJlZj4KCQk8L3BsdWdpbj4KCQk8cGx1Z2luPgoJCQk8aWQ+NzE4NDI8L2lkPgoJCQk8cHJlZj5Q + b2xpY3kgZmlsZSAjMSA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMiA6PC9wcmVmPgoJ + CQk8cHJlZj5Qb2xpY3kgZmlsZSAjMyA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNCA6 + PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNSA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxw + bHVnaW4+CgkJCTxpZD43MTk1NTwvaWQ+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMxIDo8L3ByZWY+ + CgkJCTxwcmVmPlBvbGljeSBmaWxlICMyIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMz + IDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM0IDo8L3ByZWY+CgkJCTxwcmVmPlBvbGlj + eSBmaWxlICM1IDo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjcxOTkxPC9p + ZD4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzEgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUg + IzIgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzMgOjwvcHJlZj4KCQkJPHByZWY+UG9s + aWN5IGZpbGUgIzQgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzUgOjwvcHJlZj4KCQk8 + L3BsdWdpbj4KCQk8cGx1Z2luPgoJCQk8aWQ+NzI0NjE8L2lkPgoJCQk8cHJlZj5Qb2xpY3kgZmls + ZSAjMSA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMiA6PC9wcmVmPgoJCQk8cHJlZj5Q + b2xpY3kgZmlsZSAjMyA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNCA6PC9wcmVmPgoJ + CQk8cHJlZj5Qb2xpY3kgZmlsZSAjNSA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJ + CTxpZD43MjkwNDwvaWQ+CgkJCTxwcmVmPk1vYmlsZUlyb24gdXNlcm5hbWUgOjwvcHJlZj4KCQkJ + PHByZWY+TW9iaWxlSXJvbiBwYXNzd29yZCA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+ + CgkJCTxpZD43MzE1NjwvaWQ+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMxIDo8L3ByZWY+CgkJCTxw + cmVmPlBvbGljeSBmaWxlICMyIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMzIDo8L3By + ZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM0IDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxl + ICM1IDo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjczMTU3PC9pZD4KCQkJ + PHByZWY+T2ZmbGluZSBjb25maWcgZmlsZSAoLnR4dCBvciAuemlwKSA6PC9wcmVmPgoJCTwvcGx1 + Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD43Mzk4MDwvaWQ+CgkJCTxwcmVmPlVwbG9hZCBmaWxlIHdp + dGggY3VzdG9tIGhvc3RzIGVudHJpZXMgOjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8cGx1Z2luPgoJ + CQk8aWQ+NzY0NjA8L2lkPgoJCQk8cHJlZj5BaXJXYXRjaCB1c2VybmFtZSA6PC9wcmVmPgoJCQk8 + cHJlZj5BaXJXYXRjaCBwYXNzd29yZCA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJ + CTxpZD43NjUxMzwvaWQ+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMxIDo8L3ByZWY+CgkJCTxwcmVm + PlBvbGljeSBmaWxlICMyIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMzIDo8L3ByZWY+ + CgkJCTxwcmVmPlBvbGljeSBmaWxlICM0IDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM1 + IDo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjgzMTg4PC9pZD4KCQkJPHBy + ZWY+UG9saWN5IGZpbGUgIzEgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzIgOjwvcHJl + Zj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzMgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUg + IzQgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzUgOjwvcHJlZj4KCQk8L3BsdWdpbj4K + CQk8cGx1Z2luPgoJCQk8aWQ+ODMxODk8L2lkPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMSA6PC9w + cmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMiA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmls + ZSAjMyA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNCA6PC9wcmVmPgoJCQk8cHJlZj5Q + b2xpY3kgZmlsZSAjNSA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD44NjI2 + OTwvaWQ+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMxIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBm + aWxlICMyIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMzIDo8L3ByZWY+CgkJCTxwcmVm + PlBvbGljeSBmaWxlICM0IDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM1IDo8L3ByZWY+ + CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjk1Mzg4PC9pZD4KCQkJPHByZWY+VXNlcm5h + bWUgOjwvcHJlZj4KCQkJPHByZWY+UGFzc3dvcmQgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZp + bGUgIzEgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzIgOjwvcHJlZj4KCQkJPHByZWY+ + UG9saWN5IGZpbGUgIzMgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzQgOjwvcHJlZj4K + CQkJPHByZWY+UG9saWN5IGZpbGUgIzUgOjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8cGx1Z2luPgoJ + CQk8aWQ+MTAyNzMwPC9pZD4KCQkJPHByZWY+T2ZmbGluZSBjb25maWcgZmlsZSAoLnR4dCBvciAu + emlwKSA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMSA6PC9wcmVmPgoJCQk8cHJlZj5Q + b2xpY3kgZmlsZSAjMiA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMyA6PC9wcmVmPgoJ + CQk8cHJlZj5Qb2xpY3kgZmlsZSAjNCA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNSA6 + PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD4xMTIxMTc8L2lkPgoJCQk8cHJl + Zj5Qb2xpY3kgZmlsZSAjMSA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMiA6PC9wcmVm + PgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMyA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAj + NCA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNSA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJ + PC9OZXNzdXNGaWx0ZXJQcmVmcz4KCTxGaWx0ZXJNb2JpbGVQcmVmcz4KCQk8cGx1Z2luPgoJCQk8 + aWQ+NjAwMjQ8L2lkPgoJCQk8cHJlZj5Eb21haW4gQ29udHJvbGxlciA6PC9wcmVmPgoJCQk8cHJl + Zj5Eb21haW4gOjwvcHJlZj4KCQkJPHByZWY+RG9tYWluIFVzZXJuYW1lIDo8L3ByZWY+CgkJCTxw + cmVmPkRvbWFpbiBQYXNzd29yZCA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJPC9GaWx0ZXJNb2JpbGVQ + cmVmcz4KCTxGaWx0ZXJQcmVmcz4KCQk8cGx1Z2luPgoJCQk8aWQ+MTA4NzA8L2lkPgoJCQk8cHJl + Zj5Pbmx5IHVzZSBOVExNdjI8L3ByZWY+CgkJCTxwcmVmPk5ldmVyIHNlbmQgU01CIGNyZWRlbnRp + YWxzIGluIGNsZWFyIHRleHQ8L3ByZWY+CgkJCTxwcmVmPklNQVAgcGFzc3dvcmQgKHNlbnQgaW4g + Y2xlYXIpIDo8L3ByZWY+CgkJCTxwcmVmPklNQVAgYWNjb3VudCA6PC9wcmVmPgoJCQk8cHJlZj5Q + T1AzIHBhc3N3b3JkIChzZW50IGluIGNsZWFyKSA6PC9wcmVmPgoJCQk8cHJlZj5QT1AzIGFjY291 + bnQgOjwvcHJlZj4KCQkJPHByZWY+UE9QMiBwYXNzd29yZCAoc2VudCBpbiBjbGVhcikgOjwvcHJl + Zj4KCQkJPHByZWY+UE9QMiBhY2NvdW50IDo8L3ByZWY+CgkJCTxwcmVmPkZUUCB3cml0ZWFibGUg + ZGlyZWN0b3J5IDo8L3ByZWY+CgkJCTxwcmVmPkZUUCBwYXNzd29yZCAoc2VudCBpbiBjbGVhcikg + OjwvcHJlZj4KCQkJPHByZWY+RlRQIGFjY291bnQgOjwvcHJlZj4KCQkJPHByZWY+Tk5UUCBwYXNz + d29yZCAoc2VudCBpbiBjbGVhcikgOjwvcHJlZj4KCQkJPHByZWY+Tk5UUCBhY2NvdW50IDo8L3By + ZWY+CgkJCTxwcmVmPkhUVFAgcGFzc3dvcmQgKHNlbnQgaW4gY2xlYXIpIDo8L3ByZWY+CgkJCTxw + cmVmPkhUVFAgYWNjb3VudCA6PC9wcmVmPgoJCQk8cHJlZj5JUE1JIGFjY291bnQgOjwvcHJlZj4K + CQkJPHByZWY+SVBNSSBwYXNzd29yZCAoc2VudCBpbiBjbGVhcikgOjwvcHJlZj4KCQk8L3BsdWdp + bj4KCQk8cGx1Z2luPgoJCQk8aWQ+MTQyNzM8L2lkPgoJCQk8cHJlZj5TU0gga25vd25faG9zdHMg + ZmlsZSA6PC9wcmVmPgoJCQk8cHJlZj5QcmVmZXJyZWQgU1NIIHBvcnQgOjwvcHJlZj4KCQkJPHBy + ZWY+Q2xpZW50IHZlcnNpb24gOjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8cGx1Z2luPgoJCQk8aWQ+ + MTk3NjI8L2lkPgoJCQk8cHJlZj5TTk1QdjMgcHJpdmFjeSBhbGdvcml0aG0gOjwvcHJlZj4KCQkJ + PHByZWY+U05NUHYzIHByaXZhY3kgcGFzc3dvcmQgOjwvcHJlZj4KCQkJPHByZWY+U05NUHYzIGF1 + dGhlbnRpY2F0aW9uIGFsZ29yaXRobSA6PC9wcmVmPgoJCQk8cHJlZj5TTk1QdjMgYXV0aGVudGlj + YXRpb24gcGFzc3dvcmQgOjwvcHJlZj4KCQkJPHByZWY+U05NUHYzIHVzZXIgbmFtZSA6PC9wcmVm + PgoJCQk8cHJlZj5TTk1QdjMgcG9ydCA6PC9wcmVmPgoJCQk8cHJlZj5VRFAgcG9ydCA6PC9wcmVm + PgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD40NjY4OTwvaWQ+CgkJCTxwcmVmPklPUyBD + b25maWcgRmlsZSBUbyBBdWRpdCA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJPC9GaWx0ZXJQcmVmcz4K + CTxNRE1UeXBlcz4KCQk8dHlwZT4KCQkJPGlkPjE8L2lkPgoJCQk8bmFtZT5BY3RpdmVTeW5jPC9u + YW1lPgoJCQk8ZGVzY3JpcHRpb24+PC9kZXNjcmlwdGlvbj4KCQkJPHZhbHVlPkFjdGl2ZVN5bmM8 + L3ZhbHVlPgoJCQk8aXBQcmVmPkRvbWFpbiBDb250cm9sbGVyIDo8L2lwUHJlZj4KCQkJPHBsdWdp + bklEcz42MDAyNDwvcGx1Z2luSURzPgoJCQk8ZWRpdG9yPlczc2lkSGx3WlNJNklDSmxiblJ5ZVNJ + c0ltNWhiV1VpT2lBaVJHOXRZV2x1SUVOdmJuUnliMnhzWlhJaUxDSnlaWEYxYVhKbFpDSTZJblJ5 + ZFdVaUxDSnBaQ0k2SUNKa2IyMWhhVzVmWTI5dWRISnZiR3hsY2lKOUxDQjdJblI1Y0dVaU9pQWla + VzUwY25raUxDSnVZVzFsSWpvZ0lrUnZiV0ZwYmlJc0luSmxjWFZwY21Wa0lqb2lkSEoxWlNJc0lt + bGtJam9nSW1SdmJXRnBiaUo5TEhzaWRIbHdaU0k2SUNKbGJuUnllU0lzSW01aGJXVWlPaUFpUkc5 + dFlXbHVJRlZ6WlhKdVlXMWxJaXdpY21WeGRXbHlaV1FpT2lKMGNuVmxJaXdpYVdRaU9pQWlaRzl0 + WVdsdVgyRmtiV2x1SW4wc2V5SjBlWEJsSWpvZ0luQmhjM04zYjNKa0lpd2libUZ0WlNJNklDSkVi + MjFoYVc0Z1VHRnpjM2R2Y21RaUxDSnlaWEYxYVhKbFpDSTZJblJ5ZFdVaUxDSnBaQ0k2SUNKd1lY + TnpkMjl5WkNKOVhRPT08L2VkaXRvcj4KCQk8L3R5cGU+CgkJPHR5cGU+CgkJCTxpZD4yPC9pZD4K + CQkJPG5hbWU+QXBwbGUgUHJvZmlsZSBNYW5hZ2VyPC9uYW1lPgoJCQk8ZGVzY3JpcHRpb24+PC9k + ZXNjcmlwdGlvbj4KCQkJPHZhbHVlPnByb2ZpbGVfbWFuYWdlcjwvdmFsdWU+CgkJCTxpcFByZWY+ + QXBwbGUgUHJvZmlsZSBNYW5hZ2VyIHNlcnZlciA6PC9pcFByZWY+CgkJCTxwbHVnaW5JRHM+NjAw + MzI8L3BsdWdpbklEcz4KCQkJPGVkaXRvcj5XM3NpZEhsd1pTSTZJQ0psYm5SeWVTSXNJbTVoYldV + aU9pSlRaWEoyWlhJaUxDSnlaWEYxYVhKbFpDSTZJblJ5ZFdVaUxDSnBaQ0k2SW5ObGNuWmxjaUo5 + TENCN0luUjVjR1VpT2lBaVpXNTBjbmtpTENKdVlXMWxJam9pVUc5eWRDSXNJbVJsWm1GMWJIUWlP + alEwTXl3aWNtVm5aWGdpT2lBaVhpaGJNQzA1WFhzeExEUjlmRnN4TFRWZFd6QXRPVjE3TkgxOE5s + c3dMVFJkV3pBdE9WMTdNMzE4TmpWYk1DMDBYVnN3TFRsZGV6SjlmRFkxTlZzd0xUSmRXekF0T1Yx + OE5qVTFNMXN3TFRWZEtTUWlMQ0p5WlhGMWFYSmxaQ0k2SW5SeWRXVWlMQ0pwWkNJNkluQnZjblFp + ZlN4N0luUjVjR1VpT2lBaVpXNTBjbmtpTENKdVlXMWxJam9pVlhObGNtNWhiV1VpTENKeVpYRjFh + WEpsWkNJNmRISjFaU3dpYVdRaU9pSjFjMlZ5Ym1GdFpTSjlMSHNpZEhsd1pTSTZJQ0p3WVhOemQy + OXlaQ0lzSW01aGJXVWlPaUpRWVhOemQyOXlaQ0lzSW5KbGNYVnBjbVZrSWpwMGNuVmxMQ0pwWkNJ + NkluQmhjM04zYjNKa0luMHNleUowZVhCbElqb2dJbU5vWldOclltOTRJaXdpYm1GdFpTSTZJQ0pJ + VkZSUVV5SXNJbWxrSWpvZ0ltaDBkSEJ6SWl3aVpHVm1ZWFZzZENJNklDSjVaWE1pTENKamIyNWth + WFJwYjI1aGJGTmxkSFJwYm1keklqb2dleUo1WlhNaU9pQjdJbWx1Y0hWMGN5STZJRnQ3SW5SNWNH + VWlPaUFpWTJobFkydGliM2dpTENKdVlXMWxJam9nSWxabGNtbG1lU0JUVTB3Z1EyVnlkR2xtYVdO + aGRHVWlMQ0p5WlhGMWFYSmxaQ0k2SUNKMGNuVmxJaXdpWkdWbVlYVnNkQ0k2SUNKNVpYTWlMQ0pw + WkNJNklDSjJaWEpwWm5sZmMzTnNJbjFkZlgxOVhRPT08L2VkaXRvcj4KCQk8L3R5cGU+CgkJPHR5 + cGU+CgkJCTxpZD4zPC9pZD4KCQkJPG5hbWU+R29vZCBNRE08L25hbWU+CgkJCTxkZXNjcmlwdGlv + bj48L2Rlc2NyaXB0aW9uPgoJCQk8dmFsdWU+R29vZE1ETTwvdmFsdWU+CgkJCTxpcFByZWY+R01D + IFNlcnZlciA6PC9pcFByZWY+CgkJCTxwbHVnaW5JRHM+NjY5NjM8L3BsdWdpbklEcz4KCQkJPGVk + aXRvcj5XM3NpZEhsd1pTSTZJQ0psYm5SeWVTSXNJbTVoYldVaU9pSlRaWEoyWlhJaUxDSnlaWEYx + YVhKbFpDSTZJblJ5ZFdVaUxDSnBaQ0k2SW5ObGNuWmxjaUo5TENCN0luUjVjR1VpT2lBaVpXNTBj + bmtpTENKdVlXMWxJam9pVUc5eWRDSXNJbkpsWjJWNElqb2dJbDRvV3pBdE9WMTdNU3cwZlh4Yk1T + MDFYVnN3TFRsZGV6UjlmRFpiTUMwMFhWc3dMVGxkZXpOOWZEWTFXekF0TkYxYk1DMDVYWHN5Zlh3 + Mk5UVmJNQzB5WFZzd0xUbGRmRFkxTlROYk1DMDFYU2trSWl3aWNtVnhkV2x5WldRaU9pSjBjblZs + SWl3aWFXUWlPaUp3YjNKMEluMHNleUowZVhCbElqb2dJbVZ1ZEhKNUlpd2libUZ0WlNJNklrUnZi + V0ZwYmlJc0luSmxjWFZwY21Wa0lqb2lkSEoxWlNJc0ltbGtJam9pWkc5dFlXbHVJbjBzZXlKMGVY + QmxJam9nSW1WdWRISjVJaXdpYm1GdFpTSTZJbFZ6WlhKdVlXMWxJaXdpY21WeGRXbHlaV1FpT2lK + MGNuVmxJaXdpYVdRaU9pSjFjMlZ5Ym1GdFpTSjlMSHNpZEhsd1pTSTZJQ0p3WVhOemQyOXlaQ0lz + SW01aGJXVWlPaUpRWVhOemQyOXlaQ0lzSW5KbGNYVnBjbVZrSWpvaWRISjFaU0lzSW1sa0lqb2lj + R0Z6YzNkdmNtUWlmU3g3SW5SNWNHVWlPaUFpWTJobFkydGliM2dpTENKdVlXMWxJam9nSWtoVVZG + QlRJaXdpYVdRaU9pQWlhSFIwY0hNaUxDSmtaV1poZFd4MElqb2dJbmxsY3lJc0ltTnZibVJwZEds + dmJtRnNVMlYwZEdsdVozTWlPaUI3SW5sbGN5STZJSHNpYVc1d2RYUnpJam9nVzNzaWRIbHdaU0k2 + SUNKamFHVmphMkp2ZUNJc0ltNWhiV1VpT2lBaVZtVnlhV1o1SUZOVFRDQkRaWEowYVdacFkyRjBa + U0lzSW5KbGNYVnBjbVZrSWpvZ0luUnlkV1VpTENKa1pXWmhkV3gwSWpvZ0lubGxjeUlzSW1sa0lq + b2dJblpsY21sbWVWOXpjMndpZlYxOWZYMWQ8L2VkaXRvcj4KCQk8L3R5cGU+CgkJPHR5cGU+CgkJ + CTxpZD40PC9pZD4KCQkJPG5hbWU+TW9iaWxlIElyb248L25hbWU+CgkJCTxkZXNjcmlwdGlvbj48 + L2Rlc2NyaXB0aW9uPgoJCQk8dmFsdWU+TW9iaWxlSXJvbjwvdmFsdWU+CgkJCTxpcFByZWY+TW9i + aWxlSXJvbiBWU1AgQWRtaW4gUG9ydGFsIFVSTCA6PC9pcFByZWY+CgkJCTxwbHVnaW5JRHM+NzI5 + MDQ8L3BsdWdpbklEcz4KCQkJPGVkaXRvcj5XM3NpZEhsd1pTSTZJQ0psYm5SeWVTSXNJbTVoYldV + aU9pSk5iMkpwYkdWSmNtOXVJRlpUVUNCQlpHMXBiaUJRYjNKMFlXd2dWVkpNSWl3aWNtVnhkV2x5 + WldRaU9pSjBjblZsSWl3aWNHeGhZMlZvYjJ4a1pYSWlPaUpvZEhSd2N6b3ZMM2QzZHk1bGVHRnRj + R3hsTG01bGRDOXRhV1p6TDJ4dloybHVMbXB6Y0NJc0ltbGtJam9pY0c5eWRHRnNYM1Z5YkNKOUxD + QjdJblI1Y0dVaU9pQWlaVzUwY25raUxDSnVZVzFsSWpvaVRXOWlhV3hsU1hKdmJpQlFiM0owSWl3 + aWNtVm5aWGdpT2lBaVhpaGJNQzA1WFhzeExEUjlmRnN4TFRWZFd6QXRPVjE3TkgxOE5sc3dMVFJk + V3pBdE9WMTdNMzE4TmpWYk1DMDBYVnN3TFRsZGV6SjlmRFkxTlZzd0xUSmRXekF0T1YxOE5qVTFN + MXN3TFRWZEtTUWlMQ0p5WlhGMWFYSmxaQ0k2SW5SeWRXVWlMQ0prWldaaGRXeDBJam9pTkRReklp + d2lhV1FpT2lKd2IzSjBJbjBzZXlKMGVYQmxJam9nSW1WdWRISjVJaXdpYm1GdFpTSTZJbFZ6WlhK + dVlXMWxJaXdpY21WeGRXbHlaV1FpT2lKMGNuVmxJaXdpY0d4aFkyVm9iMnhrWlhJaU9pSmhjR2wx + YzJWeUlpd2lhV1FpT2lKMWMyVnlibUZ0WlNKOUxIc2lkSGx3WlNJNklDSndZWE56ZDI5eVpDSXNJ + bTVoYldVaU9pSlFZWE56ZDI5eVpDSXNJbkpsY1hWcGNtVmtJam9pZEhKMVpTSXNJbWxrSWpvaWNH + RnpjM2R2Y21RaWZTeDdJblI1Y0dVaU9pQWlZMmhsWTJ0aWIzZ2lMQ0p1WVcxbElqb2dJa2hVVkZC + VElpd2lhV1FpT2lBaWFIUjBjSE1pTENKa1pXWmhkV3gwSWpvZ0lubGxjeUlzSW1OdmJtUnBkR2x2 + Ym1Gc1UyVjBkR2x1WjNNaU9pQjdJbmxsY3lJNklIc2lhVzV3ZFhSeklqb2dXM3NpZEhsd1pTSTZJ + Q0pqYUdWamEySnZlQ0lzSW01aGJXVWlPaUFpVm1WeWFXWjVJRk5UVENCRFpYSjBhV1pwWTJGMFpT + SXNJbkpsY1hWcGNtVmtJam9nSW5SeWRXVWlMQ0prWldaaGRXeDBJam9nSW5sbGN5SXNJbWxrSWpv + Z0luWmxjbWxtZVY5emMyd2lmVjE5ZlgxZDwvZWRpdG9yPgoJCTwvdHlwZT4KCQk8dHlwZT4KCQkJ + PGlkPjU8L2lkPgoJCQk8bmFtZT5BaXJXYXRjaCBNRE08L25hbWU+CgkJCTxkZXNjcmlwdGlvbj48 + L2Rlc2NyaXB0aW9uPgoJCQk8dmFsdWU+QWlyV2F0Y2g8L3ZhbHVlPgoJCQk8aXBQcmVmPkFpcldh + dGNoIEVudmlyb25tZW50IEFQSSBVUkwgOjwvaXBQcmVmPgoJCQk8cGx1Z2luSURzPjc2NDYwPC9w + bHVnaW5JRHM+CgkJCTxlZGl0b3I+VzNzaWRIbHdaU0k2SUNKbGJuUnllU0lzSW01aGJXVWlPaUFp + UVdseVYyRjBZMmdnUlc1MmFYSnZibTFsYm5RZ1FWQkpJRlZTVENJc0luQnNZV05sYUc5c1pHVnlJ + am9pYUhSMGNITTZMeTloYVhKM1lYUmphQzVsZUdGdGNHeGxMbTVsZEM5aGFYSjNZWFJqYUhObGNu + WnBZMlZ6THpBdklpd2ljbVZ4ZFdseVpXUWlPaUowY25WbElpd2lhV1FpT2lBaVlYQnBYM1Z5YkNK + OUxDQjdJblI1Y0dVaU9pQWlaVzUwY25raUxDSnVZVzFsSWpvZ0lsQnZjblFpTENKa1pXWmhkV3gw + SWpvaU5EUXpJaXdpY21WblpYZ2lPaUFpWGloYk1DMDVYWHN4TERSOWZGc3hMVFZkV3pBdE9WMTdO + SDE4Tmxzd0xUUmRXekF0T1YxN00zMThOalZiTUMwMFhWc3dMVGxkZXpKOWZEWTFOVnN3TFRKZFd6 + QXRPVjE4TmpVMU0xc3dMVFZkS1NRaUxDSnlaWEYxYVhKbFpDSTZJblJ5ZFdVaUxDSnBaQ0k2SW5C + dmNuUWlmU3g3SW5SNWNHVWlPaUFpWlc1MGNua2lMQ0p1WVcxbElqb2dJbFZ6WlhKdVlXMWxJaXdp + Y21WeGRXbHlaV1FpT2lKMGNuVmxJaXdpYVdRaU9pSjFjMlZ5Ym1GdFpTSjlMSHNpZEhsd1pTSTZJ + Q0p3WVhOemQyOXlaQ0lzSW01aGJXVWlPaUFpVUdGemMzZHZjbVFpTENKeVpYRjFhWEpsWkNJNklu + UnlkV1VpTENKcFpDSTZJbkJoYzNOM2IzSmtJbjBzZXlKMGVYQmxJam9nSW1WdWRISjVJaXdpYm1G + dFpTSTZJQ0pCVUVrZ1MyVjVJaXdpY21WeGRXbHlaV1FpT2lKMGNuVmxJaXdpYVdRaU9pSmhjR2xm + YTJWNUluMHNleUowZVhCbElqb2dJbU5vWldOclltOTRJaXdpYm1GdFpTSTZJQ0pJVkZSUVV5SXNJ + bWxrSWpvZ0ltaDBkSEJ6SWl3aVpHVm1ZWFZzZENJNklDSjVaWE1pTENKamIyNWthWFJwYjI1aGJG + TmxkSFJwYm1keklqb2dleUo1WlhNaU9pQjdJbWx1Y0hWMGN5STZJRnQ3SW5SNWNHVWlPaUFpWTJo + bFkydGliM2dpTENKdVlXMWxJam9nSWxabGNtbG1lU0JUVTB3Z1EyVnlkR2xtYVdOaGRHVWlMQ0p5 + WlhGMWFYSmxaQ0k2SUNKMGNuVmxJaXdpWkdWbVlYVnNkQ0k2SUNKNVpYTWlMQ0pwWkNJNklDSjJa + WEpwWm5sZmMzTnNJbjFkZlgxOVhRPT08L2VkaXRvcj4KCQk8L3R5cGU+CgkJPHR5cGU+CgkJCTxp + ZD42PC9pZD4KCQkJPG5hbWU+QmxhY2tiZXJyeSBVRU08L25hbWU+CgkJCTxkZXNjcmlwdGlvbj48 + L2Rlc2NyaXB0aW9uPgoJCQk8dmFsdWU+YmxhY2tiZXJyeV91ZW08L3ZhbHVlPgoJCQk8aXBQcmVm + PkJsYWNrYmVycnkgVUVNIEhvc3RuYW1lIDogPC9pcFByZWY+CgkJCTxwbHVnaW5JRHM+MTI0ODYw + PC9wbHVnaW5JRHM+CgkJCTxlZGl0b3I+VzNzaWRIbHdaU0k2SUNKbGJuUnllU0lzSW01aGJXVWlP + aUFpUW14aFkydGlaWEp5ZVNCVlJVMGdTRzl6ZEc1aGJXVWlMQ0p5WlhGMWFYSmxaQ0k2SW5SeWRX + VWlMQ0pwWkNJNklDSm9iM04wYm1GdFpTSjlMSHNpZEhsd1pTSTZJQ0psYm5SeWVTSXNJbTVoYldV + aU9pQWlRbXhoWTJ0aVpYSnllU0JWUlUwZ1VHOXlkQ0lzSW5KbGNYVnBjbVZrSWpvaWRISjFaU0lz + SW1sa0lqb2ljRzl5ZENKOUxIc2lkSGx3WlNJNklDSmxiblJ5ZVNJc0ltNWhiV1VpT2lBaVFteGhZ + MnRpWlhKeWVTQlZSVTBnVkdWdVlXNTBJaXdpY21WeGRXbHlaV1FpT2lKMGNuVmxJaXdpYVdRaU9p + SjBaVzVoYm5RaWZTeDdJblI1Y0dVaU9pQWlaVzUwY25raUxDSnVZVzFsSWpvZ0lrSnNZV05yWW1W + eWNua2dWVVZOSUVSdmJXRnBiaUlzSW5KbGNYVnBjbVZrSWpvaVptRnNjMlVpTENKcFpDSTZJbVJ2 + YldGcGJpSjlMSHNpZEhsd1pTSTZJQ0psYm5SeWVTSXNJbTVoYldVaU9pQWlRbXhoWTJ0aVpYSnll + U0JWUlUwZ1ZYTmxjbTVoYldVaUxDSnlaWEYxYVhKbFpDSTZJblJ5ZFdVaUxDSnBaQ0k2SW5WelpY + SnVZVzFsSW4wc2V5SjBlWEJsSWpvZ0luQmhjM04zYjNKa0lpd2libUZ0WlNJNklDSkNiR0ZqYTJK + bGNuSjVJRlZGVFNCUVlYTnpkMjl5WkNJc0luSmxjWFZwY21Wa0lqb2lkSEoxWlNJc0ltbGtJam9p + Y0dGemMzZHZjbVFpZlN4N0luUjVjR1VpT2lBaVkyaGxZMnRpYjNnaUxDSnVZVzFsSWpvZ0lrSnNZ + V05yWW1WeWNua2dWVVZOSUZOVFRDSXNJbkpsY1hWcGNtVmtJam9pZEhKMVpTSXNJbWxrSWpvaWMz + TnNJbjBzZXlKMGVYQmxJam9nSW1Ob1pXTnJZbTk0SWl3aWJtRnRaU0k2SUNKQ2JHRmphMkpsY25K + NUlGVkZUU0JXWlhKcFpua2dVMU5NSUVObGNuUnBabWxqWVhSbElpd2ljbVZ4ZFdseVpXUWlPaUow + Y25WbElpd2lhV1FpT2lKMlpYSnBabmxmYzNOc0luMWQ8L2VkaXRvcj4KCQk8L3R5cGU+CgkJPHR5 + cGU+CgkJCTxpZD43PC9pZD4KCQkJPG5hbWU+TWljcm9zb2Z0IEludHVuZTwvbmFtZT4KCQkJPGRl + c2NyaXB0aW9uPjwvZGVzY3JpcHRpb24+CgkJCTx2YWx1ZT5JbnR1bmU8L3ZhbHVlPgoJCQk8aXBQ + cmVmPjwvaXBQcmVmPgoJCQk8cGx1Z2luSURzPjEyNTAzMDwvcGx1Z2luSURzPgoJCQk8ZWRpdG9y + Plczc2lkSGx3WlNJNklDSmxiblJ5ZVNJc0ltNWhiV1VpT2lBaVNXNTBkVzVsSUZSbGJtRnVkQ0lz + SW5KbGNYVnBjbVZrSWpvaWRISjFaU0lzSW1sa0lqb2dJblJsYm1GdWRDSjlMSHNpZEhsd1pTSTZJ + Q0psYm5SeWVTSXNJbTVoYldVaU9pQWlTVzUwZFc1bElFTnNhV1Z1ZENJc0luSmxjWFZwY21Wa0lq + b2lkSEoxWlNJc0ltbGtJam9pWTJ4cFpXNTBJbjBzZXlKMGVYQmxJam9nSW1WdWRISjVJaXdpYm1G + dFpTSTZJQ0pKYm5SMWJtVWdVMlZqY21WMElpd2ljbVZ4ZFdseVpXUWlPaUowY25WbElpd2lhV1Fp + T2lKelpXTnlaWFFpZlN4N0luUjVjR1VpT2lBaVpXNTBjbmtpTENKdVlXMWxJam9nSWtsdWRIVnVa + U0JWYzJWeWJtRnRaU0lzSW5KbGNYVnBjbVZrSWpvaWRISjFaU0lzSW1sa0lqb2lkWE5sY201aGJX + VWlmU3g3SW5SNWNHVWlPaUFpY0dGemMzZHZjbVFpTENKdVlXMWxJam9nSWtsdWRIVnVaU0JRWVhO + emQyOXlaQ0lzSW5KbGNYVnBjbVZrSWpvaWRISjFaU0lzSW1sa0lqb2ljR0Z6YzNkdmNtUWlmVjA9 + PC9lZGl0b3I+CgkJPC90eXBlPgoJPC9NRE1UeXBlcz4KPC9QbHVnaW5JbmZvPgoAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADk1My9wbHVnaW5JbmZvLnhtbC41LjQuMQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw + MTAwNzc3ADAwMDAwMDAAMDAwMDAwMAAwMDAwMDA3MTUwMgAxNDI0MzMyNjQ2MAAwMTE2NDUAIDAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIAMDAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPFBsdWdp + bkluZm8+Cgk8Q29tcGxpYW5jZU1hcHM+CgkJPG1hcD4KCQkJPHBsdWdpbklEcz4yMTE1NjwvcGx1 + Z2luSURzPgoJCQk8YXVkaXRGaWxlVHlwZT53aW5kb3dzPC9hdWRpdEZpbGVUeXBlPgoJCQk8ZGlz + cGxheU5hbWU+V2luZG93czwvZGlzcGxheU5hbWU+CgkJPC9tYXA+CgkJPG1hcD4KCQkJPHBsdWdp + bklEcz4yMTE1NzwvcGx1Z2luSURzPgoJCQk8YXVkaXRGaWxlVHlwZT51bml4PC9hdWRpdEZpbGVU + eXBlPgoJCQk8ZGlzcGxheU5hbWU+VW5peDwvZGlzcGxheU5hbWU+CgkJPC9tYXA+CgkJPG1hcD4K + CQkJPHBsdWdpbklEcz4yNDc2MDwvcGx1Z2luSURzPgoJCQk8YXVkaXRGaWxlVHlwZT53aW5kb3dz + ZmlsZXM8L2F1ZGl0RmlsZVR5cGU+CgkJCTxkaXNwbGF5TmFtZT5XaW5kb3dzIEZpbGUgQ29udGVu + dHM8L2Rpc3BsYXlOYW1lPgoJCTwvbWFwPgoJCTxtYXA+CgkJCTxwbHVnaW5JRHM+MzM4MTQ8L3Bs + dWdpbklEcz4KCQkJPGF1ZGl0RmlsZVR5cGU+ZGF0YWJhc2U8L2F1ZGl0RmlsZVR5cGU+CgkJCTxk + aXNwbGF5TmFtZT5EYXRhYmFzZTwvZGlzcGxheU5hbWU+CgkJPC9tYXA+CgkJPG1hcD4KCQkJPHBs + dWdpbklEcz40NjY4OTwvcGx1Z2luSURzPgoJCQk8YXVkaXRGaWxlVHlwZT5jaXNjbzwvYXVkaXRG + aWxlVHlwZT4KCQkJPGRpc3BsYXlOYW1lPkNpc2NvIElPUzwvZGlzcGxheU5hbWU+CgkJPC9tYXA+ + CgkJPG1hcD4KCQkJPHBsdWdpbklEcz41Nzg2MDwvcGx1Z2luSURzPgoJCQk8YXVkaXRGaWxlVHlw + ZT5hcy80MDA8L2F1ZGl0RmlsZVR5cGU+CgkJCTxkaXNwbGF5TmFtZT5JQk0gaVNlcmllczwvZGlz + cGxheU5hbWU+CgkJPC9tYXA+CgkJPG1hcD4KCQkJPHBsdWdpbklEcz42MjY3OTwvcGx1Z2luSURz + PgoJCQk8YXVkaXRGaWxlVHlwZT5jaGVja3BvaW50PC9hdWRpdEZpbGVUeXBlPgoJCQk8ZGlzcGxh + eU5hbWU+Q2hlY2sgUG9pbnQgR0FpQTwvZGlzcGxheU5hbWU+CgkJPC9tYXA+CgkJPG1hcD4KCQkJ + PHBsdWdpbklEcz42MjY4MDwvcGx1Z2luSURzPgoJCQk8YXVkaXRGaWxlVHlwZT5qdW5pcGVyPC9h + dWRpdEZpbGVUeXBlPgoJCQk8ZGlzcGxheU5hbWU+SnVuaXBlciBKdW5vczwvZGlzcGxheU5hbWU+ + CgkJPC9tYXA+CgkJPG1hcD4KCQkJPHBsdWdpbklEcz42NDA5NTwvcGx1Z2luSURzPgoJCQk8YXVk + aXRGaWxlVHlwZT5wYWxvX2FsdG88L2F1ZGl0RmlsZVR5cGU+CgkJCTxkaXNwbGF5TmFtZT5QYWxv + IEFsdG8gTmV0d29ya3MgUEFOLU9TPC9kaXNwbGF5TmFtZT4KCQk8L21hcD4KCQk8bWFwPgoJCQk8 + cGx1Z2luSURzPjY0NDU1PC9wbHVnaW5JRHM+CgkJCTxhdWRpdEZpbGVUeXBlPnZtd2FyZTwvYXVk + aXRGaWxlVHlwZT4KCQkJPGRpc3BsYXlOYW1lPlZNV2FyZSB2Q2VudGVyL3ZTcGhlcmU8L2Rpc3Bs + YXlOYW1lPgoJCTwvbWFwPgoJCTxtYXA+CgkJCTxwbHVnaW5JRHM+NjY3NTY8L3BsdWdpbklEcz4K + CQkJPGF1ZGl0RmlsZVR5cGU+c2NhcFdpbmRvd3M8L2F1ZGl0RmlsZVR5cGU+CgkJCTxkaXNwbGF5 + TmFtZT5TQ0FQIFdpbmRvd3M8L2Rpc3BsYXlOYW1lPgoJCTwvbWFwPgoJCTxtYXA+CgkJCTxwbHVn + aW5JRHM+NjY3NTc8L3BsdWdpbklEcz4KCQkJPGF1ZGl0RmlsZVR5cGU+c2NhcExpbnV4PC9hdWRp + dEZpbGVUeXBlPgoJCQk8ZGlzcGxheU5hbWU+U0NBUCBMaW51eDwvZGlzcGxheU5hbWU+CgkJPC9t + YXA+CgkJPG1hcD4KCQkJPHBsdWdpbklEcz42NjkzNDwvcGx1Z2luSURzPgoJCQk8YXVkaXRGaWxl + VHlwZT5uZXRhcHA8L2F1ZGl0RmlsZVR5cGU+CgkJCTxkaXNwbGF5TmFtZT5OZXRBcHAgRGF0YSBP + TlRBUDwvZGlzcGxheU5hbWU+CgkJPC9tYXA+CgkJPG1hcD4KCQkJPHBsdWdpbklEcz42OTUxMjwv + cGx1Z2luSURzPgoJCQk8YXVkaXRGaWxlVHlwZT54ZW5zZXJ2ZXI8L2F1ZGl0RmlsZVR5cGU+CgkJ + CTxkaXNwbGF5TmFtZT5DaXRyaXggWGVuU2VydmVyPC9kaXNwbGF5TmFtZT4KCQk8L21hcD4KCQk8 + bWFwPgoJCQk8cGx1Z2luSURzPjcwMjcxPC9wbHVnaW5JRHM+CgkJCTxhdWRpdEZpbGVUeXBlPmhw + cHJvY3VydmU8L2F1ZGl0RmlsZVR5cGU+CgkJCTxkaXNwbGF5TmFtZT5IUCBQcm9DdXJ2ZTwvZGlz + cGxheU5hbWU+CgkJPC9tYXA+CgkJPG1hcD4KCQkJPHBsdWdpbklEcz43MDI3MjwvcGx1Z2luSURz + PgoJCQk8YXVkaXRGaWxlVHlwZT5mb3J0aWdhdGU8L2F1ZGl0RmlsZVR5cGU+CgkJCTxkaXNwbGF5 + TmFtZT5Gb3J0aWdhdGUgRm9ydGlPUzwvZGlzcGxheU5hbWU+CgkJPC9tYXA+CgkJPG1hcD4KCQkJ + PHBsdWdpbklEcz43MDQ2OTwvcGx1Z2luSURzPgoJCQk8YXVkaXRGaWxlVHlwZT5maXJlZXllPC9h + dWRpdEZpbGVUeXBlPgoJCQk8ZGlzcGxheU5hbWU+RmlyZUV5ZTwvZGlzcGxheU5hbWU+CgkJPC9t + YXA+CgkJPG1hcD4KCQkJPHBsdWdpbklEcz43MDQ3MDwvcGx1Z2luSURzPgoJCQk8YXVkaXRGaWxl + VHlwZT5ibHVlY29hdDwvYXVkaXRGaWxlVHlwZT4KCQkJPGRpc3BsYXlOYW1lPkJsdWVDb2F0IFBy + b3h5U0c8L2Rpc3BsYXlOYW1lPgoJCTwvbWFwPgoJCTxtYXA+CgkJCTxwbHVnaW5JRHM+NzE4NDI8 + L3BsdWdpbklEcz4KCQkJPGF1ZGl0RmlsZVR5cGU+YnJvY2FkZTwvYXVkaXRGaWxlVHlwZT4KCQkJ + PGRpc3BsYXlOYW1lPkJyb2NhZGUgRmFicmljT1M8L2Rpc3BsYXlOYW1lPgoJCTwvbWFwPgoJCTxt + YXA+CgkJCTxwbHVnaW5JRHM+NzE5NTU8L3BsdWdpbklEcz4KCQkJPGF1ZGl0RmlsZVR5cGU+c29u + aWN3YWxsPC9hdWRpdEZpbGVUeXBlPgoJCQk8ZGlzcGxheU5hbWU+U29uaWNXQUxMIFNvbmljT1M8 + L2Rpc3BsYXlOYW1lPgoJCTwvbWFwPgoJCTxtYXA+CgkJCTxwbHVnaW5JRHM+NzE5OTE8L3BsdWdp + bklEcz4KCQkJPGF1ZGl0RmlsZVR5cGU+YWR0cmFuPC9hdWRpdEZpbGVUeXBlPgoJCQk8ZGlzcGxh + eU5hbWU+QWR0cmFuIE5ldFZhbnRhPC9kaXNwbGF5TmFtZT4KCQk8L21hcD4KCQk8bWFwPgoJCQk8 + cGx1Z2luSURzPjI0NzYwLDcyMDk1PC9wbHVnaW5JRHM+CgkJCTxhdWRpdEZpbGVUeXBlPmZpbGVj + b250ZW50PC9hdWRpdEZpbGVUeXBlPgoJCQk8ZGlzcGxheU5hbWU+VW5peCBGaWxlIENvbnRlbnRz + PC9kaXNwbGF5TmFtZT4KCQk8L21hcD4KPCEtLSBSZW1vdmVkIHVudGlsIFNDIDUuMC4wIHN1cHBv + cnRzIGl0CglSZW1lbWJlciB0byByZW1vdmUvYWRqdXN0IFJlbW92ZVByZWZzL0ZpbHRlclByZWZz + IGVudHJpZXMgYXMgd2VsbAoJCTxtYXA+CgkJCTxwbHVnaW5JRHM+NzI0MjY8L3BsdWdpbklEcz4K + CQkJPGF1ZGl0RmlsZVR5cGU+YW1hem9uX2F3czwvYXVkaXRGaWxlVHlwZT4KCQkJPGRpc3BsYXlO + YW1lPkFtYXpvbiBBV1M8L2Rpc3BsYXlOYW1lPgoJCTwvbWFwPgotLT4KCQk8bWFwPgoJCQk8cGx1 + Z2luSURzPjcyNDYxPC9wbHVnaW5JRHM+CgkJCTxhdWRpdEZpbGVUeXBlPmRlbGxfZm9yY2UxMDwv + YXVkaXRGaWxlVHlwZT4KCQkJPGRpc3BsYXlOYW1lPkRlbGwgRm9yY2UxMCBGVE9TPC9kaXNwbGF5 + TmFtZT4KCQk8L21hcD4KCQk8bWFwPgoJCQk8cGx1Z2luSURzPjczMTU2PC9wbHVnaW5JRHM+CgkJ + CTxhdWRpdEZpbGVUeXBlPmV4dHJlbWVfZXh0cmVtZXhvczwvYXVkaXRGaWxlVHlwZT4KCQkJPGRp + c3BsYXlOYW1lPkV4dHJlbWUgRXh0cmVtZVhPUzwvZGlzcGxheU5hbWU+CgkJPC9tYXA+CgkJPG1h + cD4KCQkJPHBsdWdpbklEcz43MzE1NzwvcGx1Z2luSURzPgoJCQk8YXVkaXRGaWxlVHlwZT5odWF3 + ZWk8L2F1ZGl0RmlsZVR5cGU+CgkJCTxkaXNwbGF5TmFtZT5IdWF3ZWkgVlJQPC9kaXNwbGF5TmFt + ZT4KCQk8L21hcD4KCQk8bWFwPgoJCQk8cGx1Z2luSURzPjc2NTEzPC9wbHVnaW5JRHM+CgkJCTxh + dWRpdEZpbGVUeXBlPm1vbmdvZGI8L2F1ZGl0RmlsZVR5cGU+CgkJCTxkaXNwbGF5TmFtZT5Nb25n + b0RCPC9kaXNwbGF5TmFtZT4KCQk8L21hcD4KCQk8bWFwPgoJCQk8cGx1Z2luSURzPjc3MDkwPC9w + bHVnaW5JRHM+CgkJCTxhdWRpdEZpbGVUeXBlPnJoZXY8L2F1ZGl0RmlsZVR5cGU+CgkJCTxkaXNw + bGF5TmFtZT5SSEVWPC9kaXNwbGF5TmFtZT4KCQk8L21hcD4KCQk8bWFwPgoJCQk8cGx1Z2luSURz + PjgzMTg4PC9wbHVnaW5JRHM+CgkJCTxhdWRpdEZpbGVUeXBlPm92YWxVbml4PC9hdWRpdEZpbGVU + eXBlPgoJCQk8ZGlzcGxheU5hbWU+T1ZBTCBVbml4PC9kaXNwbGF5TmFtZT4KCQk8L21hcD4KCQk8 + bWFwPgoJCQk8cGx1Z2luSURzPjgzMTg5PC9wbHVnaW5JRHM+CgkJCTxhdWRpdEZpbGVUeXBlPm92 + YWxXaW5kb3dzPC9hdWRpdEZpbGVUeXBlPgoJCQk8ZGlzcGxheU5hbWU+T1ZBTCBXaW5kb3dzPC9k + aXNwbGF5TmFtZT4KCQk8L21hcD4KCQk8bWFwPgoJCQk8cGx1Z2luSURzPjg2MjY5PC9wbHVnaW5J + RHM+CgkJCTxhdWRpdEZpbGVUeXBlPndhdGNoZ3VhcmQ8L2F1ZGl0RmlsZVR5cGU+CgkJCTxkaXNw + bGF5TmFtZT5XYXRjaEd1YXJkPC9kaXNwbGF5TmFtZT4KCQk8L21hcD4KCQk8bWFwPgoJCQk8cGx1 + Z2luSURzPjkyODM4PC9wbHVnaW5JRHM+CgkJCTxhdWRpdEZpbGVUeXBlPmFyaXN0YTwvYXVkaXRG + aWxlVHlwZT4KCQkJPGRpc3BsYXlOYW1lPkFyaXN0YSBFT1M8L2Rpc3BsYXlOYW1lPgoJCTwvbWFw + PgoJCTxtYXA+CgkJCTxwbHVnaW5JRHM+OTUzODg8L3BsdWdpbklEcz4KCQkJPGF1ZGl0RmlsZVR5 + cGU+ZjU8L2F1ZGl0RmlsZVR5cGU+CgkJCTxkaXNwbGF5TmFtZT5GNSBOZXR3b3JrczwvZGlzcGxh + eU5hbWU+CgkJPC9tYXA+CgkJPG1hcD4KCQkJPHBsdWdpbklEcz4xMDI3MzA8L3BsdWdpbklEcz4K + CQkJPGF1ZGl0RmlsZVR5cGU+YWxjYXRlbDwvYXVkaXRGaWxlVHlwZT4KCQkJPGRpc3BsYXlOYW1l + PkFsY2F0ZWwgVGlNT1M8L2Rpc3BsYXlOYW1lPgoJCTwvbWFwPgoJCTxtYXA+CgkJCTxwbHVnaW5J + RHM+MTEyMTE3PC9wbHVnaW5JRHM+CgkJCTxhdWRpdEZpbGVUeXBlPm5ldGFwcF9hcGk8L2F1ZGl0 + RmlsZVR5cGU+CgkJCTxkaXNwbGF5TmFtZT5OZXRhcHAgQVBJPC9kaXNwbGF5TmFtZT4KCQk8L21h + cD4KCQk8bWFwPgoJCQk8cGx1Z2luSURzPjEyODI3NTwvcGx1Z2luSURzPgoJCQk8YXVkaXRGaWxl + VHlwZT5jaXNjb19maXJlcG93ZXI8L2F1ZGl0RmlsZVR5cGU+CgkJCTxkaXNwbGF5TmFtZT5DaXNj + byBGaXJlcG93ZXI8L2Rpc3BsYXlOYW1lPgoJCTwvbWFwPgoJCTxtYXA+CgkJCTxwbHVnaW5JRHM+ + MTI5NzE0PC9wbHVnaW5JRHM+CgkJCTxhdWRpdEZpbGVUeXBlPmdlbmVyaWNzc2g8L2F1ZGl0Rmls + ZVR5cGU+CgkJCTxkaXNwbGF5TmFtZT5HZW5lcmljIFNTSDwvZGlzcGxheU5hbWU+CgkJPC9tYXA+ + CgkJPG1hcD4KCQkJPHBsdWdpbklEcz4xMzc3ODU8L3BsdWdpbklEcz4KCQkJPGF1ZGl0RmlsZVR5 + cGU+Y2lzY29fYWNpPC9hdWRpdEZpbGVUeXBlPgoJCQk8ZGlzcGxheU5hbWU+Q2lzY28gQUNJPC9k + aXNwbGF5TmFtZT4KCQk8L21hcD4KCQk8bWFwPgoJCQk8cGx1Z2luSURzPjE0NDMyODwvcGx1Z2lu + SURzPgoJCQk8YXVkaXRGaWxlVHlwZT56dGVfcm9zbmc8L2F1ZGl0RmlsZVR5cGU+CgkJCTxkaXNw + bGF5TmFtZT5aVEUgUk9TTkc8L2Rpc3BsYXlOYW1lPgoJCTwvbWFwPgoJPC9Db21wbGlhbmNlTWFw + cz4KCTxSZW1vdmVQcmVmcz4KCQk8cGx1Z2luPjE3MzUxPC9wbHVnaW4+CgkJPHBsdWdpbj4yMTE1 + NjwvcGx1Z2luPgoJCTxwbHVnaW4+MjExNTc8L3BsdWdpbj4KCQk8cGx1Z2luPjI0NzYwPC9wbHVn + aW4+CgkJPHBsdWdpbj4zMzgxNDwvcGx1Z2luPgoJCTxwbHVnaW4+MzM4MTU8L3BsdWdpbj4KCQk8 + cGx1Z2luPjMzOTI5PC9wbHVnaW4+CgkJPHBsdWdpbj40NjY4OTwvcGx1Z2luPgoJCTxwbHVnaW4+ + NTc4NjA8L3BsdWdpbj4KCQk8cGx1Z2luPjU5ODYxPC9wbHVnaW4+CgkJPHBsdWdpbj42MDAyNDwv + cGx1Z2luPgoJCTxwbHVnaW4+NjAwMzI8L3BsdWdpbj4KCQk8cGx1Z2luPjYwMDM1PC9wbHVnaW4+ + CgkJPHBsdWdpbj42MjY3OTwvcGx1Z2luPgoJCTxwbHVnaW4+NjI2ODA8L3BsdWdpbj4KCQk8cGx1 + Z2luPjY0MDk1PC9wbHVnaW4+CgkJPHBsdWdpbj42NDQ1NTwvcGx1Z2luPgoJCTxwbHVnaW4+NjY3 + NTY8L3BsdWdpbj4KCQk8cGx1Z2luPjY2NzU3PC9wbHVnaW4+CgkJPHBsdWdpbj42NjkzNDwvcGx1 + Z2luPgoJCTxwbHVnaW4+NjY5NjM8L3BsdWdpbj4KCQk8cGx1Z2luPjY5NTEyPC9wbHVnaW4+CgkJ + PHBsdWdpbj43MDI3MTwvcGx1Z2luPgoJCTxwbHVnaW4+NzAyNzI8L3BsdWdpbj4KCQk8cGx1Z2lu + PjcwNDY5PC9wbHVnaW4+CgkJPHBsdWdpbj43MDQ3MDwvcGx1Z2luPgoJCTxwbHVnaW4+NzE4NDI8 + L3BsdWdpbj4KCQk8cGx1Z2luPjcxOTU1PC9wbHVnaW4+CgkJPHBsdWdpbj43MTk5MTwvcGx1Z2lu + PgoJCTxwbHVnaW4+NzI0MjY8L3BsdWdpbj4KCQk8cGx1Z2luPjcyNDYxPC9wbHVnaW4+CgkJPHBs + dWdpbj43MjkwNDwvcGx1Z2luPgoJCTxwbHVnaW4+NzMxNTY8L3BsdWdpbj4KCQk8cGx1Z2luPjcz + NDkwPC9wbHVnaW4+CgkJPHBsdWdpbj43NjQ2MDwvcGx1Z2luPgoJCTxwbHVnaW4+NzY1MTM8L3Bs + dWdpbj4KCQk8cGx1Z2luPjgzMTg4PC9wbHVnaW4+CgkJPHBsdWdpbj44MzE4OTwvcGx1Z2luPgoJ + CTxwbHVnaW4+ODYyNjk8L3BsdWdpbj4KCQk8cGx1Z2luPjk1Mzg4PC9wbHVnaW4+CgkJPHBsdWdp + bj4xMDI3MzA8L3BsdWdpbj4KCQk8cGx1Z2luPjExMjExNzwvcGx1Z2luPgoJCTxwbHVnaW4+MTI4 + Mjc1PC9wbHVnaW4+CgkJPHBsdWdpbj4xMjk3MTQ8L3BsdWdpbj4KCQk8cGx1Z2luPjEzNzc4NTwv + cGx1Z2luPgoJCTxwbHVnaW4+MTQ0MzI4PC9wbHVnaW4+Cgk8L1JlbW92ZVByZWZzPgoJPEV4Y2x1 + ZGVkTmVzc3VzUGx1Z2lucz4KCQk8cGx1Z2luPjEwODcwPC9wbHVnaW4+CgkJPHBsdWdpbj4xMjI4 + ODwvcGx1Z2luPgoJCTxwbHVnaW4+MTQyNzM8L3BsdWdpbj4KCQk8cGx1Z2luPjE3MzUxPC9wbHVn + aW4+CgkJPHBsdWdpbj4yMTE1NjwvcGx1Z2luPgoJCTxwbHVnaW4+MjExNTc8L3BsdWdpbj4KCQk8 + cGx1Z2luPjI0NzYwPC9wbHVnaW4+CgkJPHBsdWdpbj4zMzgxNDwvcGx1Z2luPgoJCTxwbHVnaW4+ + MzM5Mjk8L3BsdWdpbj4KCQk8cGx1Z2luPjQyODkzPC9wbHVnaW4+CgkJPHBsdWdpbj41MjYxNjwv + cGx1Z2luPgoJCTxwbHVnaW4+NTc4NjA8L3BsdWdpbj4KCQk8cGx1Z2luPjYwMDI0PC9wbHVnaW4+ + CgkJPHBsdWdpbj42MDAzMjwvcGx1Z2luPgoJCTxwbHVnaW4+NjI2Nzk8L3BsdWdpbj4KCQk8cGx1 + Z2luPjYyNjgwPC9wbHVnaW4+CgkJPHBsdWdpbj42NDA5NTwvcGx1Z2luPgoJCTxwbHVnaW4+NjY5 + MzQ8L3BsdWdpbj4KCQk8cGx1Z2luPjY2OTYzPC9wbHVnaW4+CgkJPHBsdWdpbj42OTUxMjwvcGx1 + Z2luPgoJCTxwbHVnaW4+NzAyNzE8L3BsdWdpbj4KCQk8cGx1Z2luPjcwMjcyPC9wbHVnaW4+CgkJ + PHBsdWdpbj43MDQ2OTwvcGx1Z2luPgoJCTxwbHVnaW4+NzA0NzA8L3BsdWdpbj4KCQk8cGx1Z2lu + PjcxODQyPC9wbHVnaW4+CgkJPHBsdWdpbj43MTk1NTwvcGx1Z2luPgoJCTxwbHVnaW4+NzE5OTE8 + L3BsdWdpbj4KCQk8cGx1Z2luPjcyNDI2PC9wbHVnaW4+CgkJPHBsdWdpbj43MjQ2MTwvcGx1Z2lu + PgoJCTxwbHVnaW4+NzI5MDQ8L3BsdWdpbj4KCQk8cGx1Z2luPjczMTU2PC9wbHVnaW4+CgkJPHBs + dWdpbj43MzQ5MDwvcGx1Z2luPgoJCTxwbHVnaW4+NzY0NjA8L3BsdWdpbj4KCQk8cGx1Z2luPjc2 + NTEzPC9wbHVnaW4+CgkJPHBsdWdpbj44NjI2OTwvcGx1Z2luPgoJCTxwbHVnaW4+OTUzODg8L3Bs + dWdpbj4KCQk8cGx1Z2luPjEwMjczMDwvcGx1Z2luPgoJCTxwbHVnaW4+MTEyMTE3PC9wbHVnaW4+ + CgkJPHBsdWdpbj4xMjgyNzU8L3BsdWdpbj4KCQk8cGx1Z2luPjEyOTcxNDwvcGx1Z2luPgoJCTxw + bHVnaW4+MTM3Nzg1PC9wbHVnaW4+CgkJPHBsdWdpbj4xNDQzMjg8L3BsdWdpbj4KCTwvRXhjbHVk + ZWROZXNzdXNQbHVnaW5zPgoJPE5lc3N1c0ZpbHRlclByZWZzPgoJCTxwbHVnaW4+CgkJCTxpZD4x + MDg3MDwvaWQ+CgkJCTxwcmVmPkhUVFAgYWNjb3VudCA6PC9wcmVmPgoJCQk8cHJlZj5IVFRQIHBh + c3N3b3JkIChzZW50IGluIGNsZWFyKSA6PC9wcmVmPgoJCQk8cHJlZj5OTlRQIGFjY291bnQgOjwv + cHJlZj4KCQkJPHByZWY+Tk5UUCBwYXNzd29yZCAoc2VudCBpbiBjbGVhcikgOjwvcHJlZj4KCQkJ + PHByZWY+RlRQIGFjY291bnQgOjwvcHJlZj4KCQkJPHByZWY+RlRQIHBhc3N3b3JkIChzZW50IGlu + IGNsZWFyKSA6PC9wcmVmPgoJCQk8cHJlZj5QT1AyIGFjY291bnQgOjwvcHJlZj4KCQkJPHByZWY+ + UE9QMiBwYXNzd29yZCAoc2VudCBpbiBjbGVhcikgOjwvcHJlZj4KCQkJPHByZWY+UE9QMyBhY2Nv + dW50IDo8L3ByZWY+CgkJCTxwcmVmPlBPUDMgcGFzc3dvcmQgKHNlbnQgaW4gY2xlYXIpIDo8L3By + ZWY+CgkJCTxwcmVmPklNQVAgYWNjb3VudCA6PC9wcmVmPgoJCQk8cHJlZj5JTUFQIHBhc3N3b3Jk + IChzZW50IGluIGNsZWFyKSA6PC9wcmVmPgoJCQk8cHJlZj5TTUIgYWNjb3VudCA6PC9wcmVmPgoJ + CQk8cHJlZj5TTUIgcGFzc3dvcmQgOjwvcHJlZj4KCQkJPHByZWY+QWRkaXRpb25hbCBTTUIgYWNj + b3VudCAoMSkgOjwvcHJlZj4KCQkJPHByZWY+QWRkaXRpb25hbCBTTUIgcGFzc3dvcmQgKDEpIDo8 + L3ByZWY+CgkJCTxwcmVmPkFkZGl0aW9uYWwgU01CIGFjY291bnQgKDIpIDo8L3ByZWY+CgkJCTxw + cmVmPkFkZGl0aW9uYWwgU01CIHBhc3N3b3JkICgyKSA6PC9wcmVmPgoJCQk8cHJlZj5BZGRpdGlv + bmFsIFNNQiBhY2NvdW50ICgzKSA6PC9wcmVmPgoJCQk8cHJlZj5BZGRpdGlvbmFsIFNNQiBwYXNz + d29yZCAoMykgOjwvcHJlZj4KCQkJPHByZWY+SVBNSSBhY2NvdW50IDo8L3ByZWY+CgkJCTxwcmVm + PklQTUkgcGFzc3dvcmQgKHNlbnQgaW4gY2xlYXIpIDo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBs + dWdpbj4KCQkJPGlkPjEyMjg4PC9pZD4KCQkJPHByZWY+U1NMIGNlcnRpZmljYXRlIHRvIHVzZSA6 + PC9wcmVmPgoJCQk8cHJlZj5TU0wgQ0EgdG8gdHJ1c3QgOjwvcHJlZj4KCQkJPHByZWY+U1NMIGtl + eSB0byB1c2UgOjwvcHJlZj4KCQkJPHByZWY+U1NMIHBhc3N3b3JkIGZvciBTU0wga2V5IDo8L3By + ZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjE0MjczPC9pZD4KCQkJPHByZWY+U1NI + IHVzZXIgbmFtZSA6PC9wcmVmPgoJCQk8cHJlZj5TU0ggcGFzc3dvcmQgKHVuc2FmZSEpIDo8L3By + ZWY+CgkJCTxwcmVmPlNTSCBwdWJsaWMga2V5IHRvIHVzZSA6PC9wcmVmPgoJCQk8cHJlZj5TU0gg + cHJpdmF0ZSBrZXkgdG8gdXNlIDo8L3ByZWY+CgkJCTxwcmVmPlBhc3NwaHJhc2UgZm9yIFNTSCBr + ZXkgOjwvcHJlZj4KCQkJPHByZWY+c3UgbG9naW4gOjwvcHJlZj4KCQkJPHByZWY+RXNjYWxhdGlv + biBhY2NvdW50IDo8L3ByZWY+CgkJCTxwcmVmPkVzY2FsYXRpb24gcGFzc3dvcmQgOjwvcHJlZj4K + CQkJPHByZWY+U1NIIGtub3duX2hvc3RzIGZpbGUgOjwvcHJlZj4KCQkJPHByZWY+QWRkaXRpb25h + bCBTU0ggdXNlciBuYW1lICgxKSA6PC9wcmVmPgoJCQk8cHJlZj5BZGRpdGlvbmFsIFNTSCBwYXNz + d29yZCAoMSkgOjwvcHJlZj4KCQkJPHByZWY+QWRkaXRpb25hbCBTU0ggdXNlciBuYW1lICgyKSA6 + PC9wcmVmPgoJCQk8cHJlZj5BZGRpdGlvbmFsIFNTSCBwYXNzd29yZCAoMikgOjwvcHJlZj4KCQkJ + PHByZWY+QWRkaXRpb25hbCBTU0ggdXNlciBuYW1lICgzKSA6PC9wcmVmPgoJCQk8cHJlZj5BZGRp + dGlvbmFsIFNTSCBwYXNzd29yZCAoMykgOjwvcHJlZj4KCQkJPHByZWY+QWRkaXRpb25hbCBTU0gg + dXNlciBuYW1lICg0KSA6PC9wcmVmPgoJCQk8cHJlZj5BZGRpdGlvbmFsIFNTSCBwYXNzd29yZCAo + NCkgOjwvcHJlZj4KCQkJPHByZWY+QWRkaXRpb25hbCBTU0ggdXNlciBuYW1lICg1KSA6PC9wcmVm + PgoJCQk8cHJlZj5BZGRpdGlvbmFsIFNTSCBwYXNzd29yZCAoNSkgOjwvcHJlZj4KCQk8L3BsdWdp + bj4KCQk8cGx1Z2luPgoJCQk8aWQ+MTU4Njg8L2lkPgoJCQk8cHJlZj5Mb2dpbnMgZmlsZSA6PC9w + cmVmPgoJCQk8cHJlZj5QYXNzd29yZHMgZmlsZSA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxwbHVn + aW4+CgkJCTxpZD4xOTc2MjwvaWQ+CgkJCTxwcmVmPlNOTVB2MyB1c2VyIG5hbWUgOjwvcHJlZj4K + CQkJPHByZWY+U05NUHYzIGF1dGhlbnRpY2F0aW9uIHBhc3N3b3JkIDo8L3ByZWY+CgkJCTxwcmVm + PlNOTVB2MyBwcml2YWN5IHBhc3N3b3JkIDo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4K + CQkJPGlkPjIxMTU2PC9pZD4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzEgOjwvcHJlZj4KCQkJPHBy + ZWY+UG9saWN5IGZpbGUgIzIgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzMgOjwvcHJl + Zj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzQgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUg + IzUgOjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8cGx1Z2luPgoJCQk8aWQ+MjExNTc8L2lkPgoJCQk8 + cHJlZj5Qb2xpY3kgZmlsZSAjMSA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMiA6PC9w + cmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMyA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmls + ZSAjNCA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNSA6PC9wcmVmPgoJCTwvcGx1Z2lu + PgoJCTxwbHVnaW4+CgkJCTxpZD4yMTc0NDwvaWQ+CgkJCTxwcmVmPlVzZXIgbmFtZSA6PC9wcmVm + PgoJCQk8cHJlZj5QYXNzd29yZCAodW5zYWZlISkgOjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8cGx1 + Z2luPgoJCQk8aWQ+MjQ3NjA8L2lkPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMSA6PC9wcmVmPgoJ + CQk8cHJlZj5Qb2xpY3kgZmlsZSAjMiA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMyA6 + PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNCA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kg + ZmlsZSAjNSA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD4zMzgxNDwvaWQ+ + CgkJCTxwcmVmPlBvbGljeSBmaWxlICMxIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMy + IDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMzIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGlj + eSBmaWxlICM0IDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM1IDo8L3ByZWY+CgkJPC9w + bHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjMzODE1PC9pZD4KCQkJPHByZWY+TG9naW4gOjwvcHJl + Zj4KCQkJPHByZWY+UGFzc3dvcmQgOjwvcHJlZj4KCQkJPHByZWY+REIgVHlwZSA6PC9wcmVmPgoJ + CQk8cHJlZj5EYXRhYmFzZSBTSUQgOjwvcHJlZj4KCQkJPHByZWY+RGF0YWJhc2UgcG9ydCB0byB1 + c2UgOjwvcHJlZj4KCQkJPHByZWY+T3JhY2xlIGF1dGggdHlwZTo8L3ByZWY+CgkJCTxwcmVmPlNR + TCBTZXJ2ZXIgYXV0aCB0eXBlOjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8cGx1Z2luPgoJCQk8aWQ+ + NDI4OTM8L2lkPgoJCQk8cHJlZj5Db29raWVzIGZpbGUgOjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8 + cGx1Z2luPgoJCQk8aWQ+NDY2ODk8L2lkPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMSA6PC9wcmVm + PgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMiA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAj + MyA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNCA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xp + Y3kgZmlsZSAjNSA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD41MjYxNjwv + aWQ+CgkJCTxwcmVmPkxpc3Qgb2YgTUFDIGFkZHJlc3NlcyBmb3IgV2FrZS1vbi1MQU46PC9wcmVm + PgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD41NzAyNjwvaWQ+CgkJCTxwcmVmPlVzZXJu + YW1lIDo8L3ByZWY+CgkJCTxwcmVmPlBhc3N3b3JkIDo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBs + dWdpbj4KCQkJPGlkPjU3MDI5PC9pZD4KCQkJPHByZWY+U0NDTSBVc2VybmFtZSA6PC9wcmVmPgoJ + CQk8cHJlZj5TQ0NNIFBhc3N3b3JkIDo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJ + PGlkPjU3MDMxPC9pZD4KCQkJPHByZWY+V1NVUyBVc2VybmFtZSA6PC9wcmVmPgoJCQk8cHJlZj5X + U1VTIFBhc3N3b3JkIDo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjU3MDYz + PC9pZD4KCQkJPHByZWY+UmVkIEhhdCBTYXRlbGxpdGUgdXNlcm5hbWUocykgOjwvcHJlZj4KCQkJ + PHByZWY+UmVkIEhhdCBTYXRlbGxpdGUgcGFzc3dvcmQocykgOjwvcHJlZj4KCQk8L3BsdWdpbj4K + CQk8cGx1Z2luPgoJCQk8aWQ+NTczOTU8L2lkPgoJCQk8cHJlZj5WTXdhcmUgdXNlciBuYW1lIDo8 + L3ByZWY+CgkJCTxwcmVmPlZNd2FyZSBwYXNzd29yZCA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxw + bHVnaW4+CgkJCTxpZD41Nzg2MDwvaWQ+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMxIDo8L3ByZWY+ + CgkJCTxwcmVmPlBvbGljeSBmaWxlICMyIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMz + IDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM0IDo8L3ByZWY+CgkJCTxwcmVmPlBvbGlj + eSBmaWxlICM1IDo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjU3ODYxPC9p + ZD4KCQkJPHByZWY+TG9naW4gOjwvcHJlZj4KCQkJPHByZWY+UGFzc3dvcmQgOjwvcHJlZj4KCQk8 + L3BsdWdpbj4KCQk8cGx1Z2luPgoJCQk8aWQ+NTgwMzg8L2lkPgoJCQk8cHJlZj5MREFQIHVzZXIg + OjwvcHJlZj4KCQkJPHByZWY+TERBUCBwYXNzd29yZCA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxw + bHVnaW4+CgkJCTxpZD41OTI3NTwvaWQ+CgkJCTxwcmVmPkFkZGl0aW9uYWwgTUQ1IGhhc2hlcyAo + b3B0aW9uYWwpIDo8L3ByZWY+CgkJCTxwcmVmPktub3duIGdvb2QgTUQ1IGhhc2hlcyAob3B0aW9u + YWwpIDo8L3ByZWY+CgkJCTxwcmVmPmZpbGVzY2FuX2N1c3RvbV9kaXI8L3ByZWY+CgkJCTxwcmVm + PllhcmEgcnVsZXMgZmlsZSA6IDwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8cGx1Z2luPgoJCQk8aWQ+ + NjAwMjQ8L2lkPgoJCQk8cHJlZj5Eb21haW4gVXNlcm5hbWUgOjwvcHJlZj4KCQkJPHByZWY+RG9t + YWluIFBhc3N3b3JkIDo8L3ByZWY+CgkJCTxwcmVmPkRvbWFpbiBVc2VybmFtZSAyOjwvcHJlZj4K + CQkJPHByZWY+RG9tYWluIFBhc3N3b3JkIDI6PC9wcmVmPgoJCQk8cHJlZj5Eb21haW4gVXNlcm5h + bWUgMzo8L3ByZWY+CgkJCTxwcmVmPkRvbWFpbiBQYXNzd29yZCAzOjwvcHJlZj4KCQkJPHByZWY+ + RG9tYWluIFVzZXJuYW1lIDQ6PC9wcmVmPgoJCQk8cHJlZj5Eb21haW4gUGFzc3dvcmQgNDo8L3By + ZWY+CgkJCTxwcmVmPkRvbWFpbiBVc2VybmFtZSA1OjwvcHJlZj4KCQkJPHByZWY+RG9tYWluIFBh + c3N3b3JkIDU6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD42MDAzMjwvaWQ+ + CgkJCTxwcmVmPkFwcGxlIFByb2ZpbGUgTWFuYWdlciB1c2VybmFtZSA6PC9wcmVmPgoJCQk8cHJl + Zj5BcHBsZSBQcm9maWxlIE1hbmFnZXIgcGFzc3dvcmQgOjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8 + cGx1Z2luPgoJCQk8aWQ+NjI1NTg8L2lkPgoJCQk8cHJlZj5XZWIgUmVwb3J0cyBVc2VybmFtZSA6 + PC9wcmVmPgoJCQk8cHJlZj5XZWIgUmVwb3J0cyBQYXNzd29yZCA6PC9wcmVmPgoJCTwvcGx1Z2lu + PgoJCTxwbHVnaW4+CgkJCTxpZD42MjY3OTwvaWQ+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMxIDo8 + L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMyIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBm + aWxlICMzIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM0IDo8L3ByZWY+CgkJCTxwcmVm + PlBvbGljeSBmaWxlICM1IDo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjYy + NjgwPC9pZD4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzEgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5 + IGZpbGUgIzIgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzMgOjwvcHJlZj4KCQkJPHBy + ZWY+UG9saWN5IGZpbGUgIzQgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzUgOjwvcHJl + Zj4KCQk8L3BsdWdpbj4KCQk8cGx1Z2luPgoJCQk8aWQ+NjMwNjA8L2lkPgoJCQk8cHJlZj5WTXdh + cmUgdkNlbnRlciB1c2VyIG5hbWUgOjwvcHJlZj4KCQkJPHByZWY+Vk13YXJlIHZDZW50ZXIgcGFz + c3dvcmQgOjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8cGx1Z2luPgoJCQk8aWQ+NjQwOTU8L2lkPgoJ + CQk8cHJlZj5Qb2xpY3kgZmlsZSAjMSA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMiA6 + PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMyA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kg + ZmlsZSAjNCA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNSA6PC9wcmVmPgoJCTwvcGx1 + Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD42NDI4NjwvaWQ+CgkJCTxwcmVmPlBhbG8gQWx0byBVc2Vy + bmFtZSA6PC9wcmVmPgoJCQk8cHJlZj5QYWxvIEFsdG8gUGFzc3dvcmQgOjwvcHJlZj4KCQk8L3Bs + dWdpbj4KCQk8cGx1Z2luPgoJCQk8aWQ+NjQ0NTU8L2lkPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAj + MSA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMiA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xp + Y3kgZmlsZSAjMyA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNCA6PC9wcmVmPgoJCQk8 + cHJlZj5Qb2xpY3kgZmlsZSAjNSA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxp + ZD42Njc1NjwvaWQ+CgkJCTxwcmVmPlNDQVAgRmlsZSAoemlwKSAjMSA6PC9wcmVmPgoJCQk8cHJl + Zj5TQ0FQIEZpbGUgKHppcCkgIzIgOjwvcHJlZj4KCQkJPHByZWY+U0NBUCBGaWxlICh6aXApICMz + IDo8L3ByZWY+CgkJCTxwcmVmPlNDQVAgRmlsZSAoemlwKSAjNCA6PC9wcmVmPgoJCQk8cHJlZj5T + Q0FQIEZpbGUgKHppcCkgIzUgOjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8cGx1Z2luPgoJCQk8aWQ+ + NjY3NTc8L2lkPgoJCQk8cHJlZj5TQ0FQIEZpbGUgKHppcCkgIzEgOjwvcHJlZj4KCQkJPHByZWY+ + U0NBUCBGaWxlICh6aXApICMyIDo8L3ByZWY+CgkJCTxwcmVmPlNDQVAgRmlsZSAoemlwKSAjMyA6 + PC9wcmVmPgoJCQk8cHJlZj5TQ0FQIEZpbGUgKHppcCkgIzQgOjwvcHJlZj4KCQkJPHByZWY+U0NB + UCBGaWxlICh6aXApICM1IDo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjY2 + OTM0PC9pZD4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzEgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5 + IGZpbGUgIzIgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzMgOjwvcHJlZj4KCQkJPHBy + ZWY+UG9saWN5IGZpbGUgIzQgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzUgOjwvcHJl + Zj4KCQk8L3BsdWdpbj4KCQk8cGx1Z2luPgoJCQk8aWQ+NjY5NjM8L2lkPgoJCQk8cHJlZj5Vc2Vy + bmFtZSA6PC9wcmVmPgoJCQk8cHJlZj5QYXNzd29yZCA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxw + bHVnaW4+CgkJCTxpZD42OTUxMjwvaWQ+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMxIDo8L3ByZWY+ + CgkJCTxwcmVmPlBvbGljeSBmaWxlICMyIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMz + IDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM0IDo8L3ByZWY+CgkJCTxwcmVmPlBvbGlj + eSBmaWxlICM1IDo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjcwMjcxPC9p + ZD4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzEgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUg + IzIgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzMgOjwvcHJlZj4KCQkJPHByZWY+UG9s + aWN5IGZpbGUgIzQgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzUgOjwvcHJlZj4KCQk8 + L3BsdWdpbj4KCQkJPHBsdWdpbj4KCQkJPGlkPjcwMjcyPC9pZD4KCQkJPHByZWY+UG9saWN5IGZp + bGUgIzEgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzIgOjwvcHJlZj4KCQkJPHByZWY+ + UG9saWN5IGZpbGUgIzMgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzQgOjwvcHJlZj4K + CQkJPHByZWY+UG9saWN5IGZpbGUgIzUgOjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8cGx1Z2luPgoJ + CQk8aWQ+NzA0Njk8L2lkPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMSA6PC9wcmVmPgoJCQk8cHJl + Zj5Qb2xpY3kgZmlsZSAjMiA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMyA6PC9wcmVm + PgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNCA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAj + NSA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD43MDQ3MDwvaWQ+CgkJCTxw + cmVmPlBvbGljeSBmaWxlICMxIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMyIDo8L3By + ZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMzIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxl + ICM0IDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM1IDo8L3ByZWY+CgkJPC9wbHVnaW4+ + CgkJPHBsdWdpbj4KCQkJPGlkPjcxODQyPC9pZD4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzEgOjwv + cHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzIgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZp + bGUgIzMgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzQgOjwvcHJlZj4KCQkJPHByZWY+ + UG9saWN5IGZpbGUgIzUgOjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8cGx1Z2luPgoJCQk8aWQ+NzE5 + NTU8L2lkPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMSA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kg + ZmlsZSAjMiA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMyA6PC9wcmVmPgoJCQk8cHJl + Zj5Qb2xpY3kgZmlsZSAjNCA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNSA6PC9wcmVm + PgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD43MTk5MTwvaWQ+CgkJCTxwcmVmPlBvbGlj + eSBmaWxlICMxIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMyIDo8L3ByZWY+CgkJCTxw + cmVmPlBvbGljeSBmaWxlICMzIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM0IDo8L3By + ZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM1IDo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdp + bj4KCQkJPGlkPjcyNDYxPC9pZD4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzEgOjwvcHJlZj4KCQkJ + PHByZWY+UG9saWN5IGZpbGUgIzIgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzMgOjwv + cHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzQgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZp + bGUgIzUgOjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8cGx1Z2luPgoJCQk8aWQ+NzI5MDQ8L2lkPgoJ + CQk8cHJlZj5Nb2JpbGVJcm9uIHVzZXJuYW1lIDo8L3ByZWY+CgkJCTxwcmVmPk1vYmlsZUlyb24g + cGFzc3dvcmQgOjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8cGx1Z2luPgoJCQk8aWQ+NzMxNTY8L2lk + PgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMSA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAj + MiA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMyA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xp + Y3kgZmlsZSAjNCA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNSA6PC9wcmVmPgoJCTwv + cGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD43MzE1NzwvaWQ+CgkJCTxwcmVmPk9mZmxpbmUgY29u + ZmlnIGZpbGUgKC50eHQgb3IgLnppcCkgOjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8cGx1Z2luPgoJ + CQk8aWQ+NzM5ODA8L2lkPgoJCQk8cHJlZj5VcGxvYWQgZmlsZSB3aXRoIGN1c3RvbSBob3N0cyBl + bnRyaWVzIDo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjc2NDYwPC9pZD4K + CQkJPHByZWY+QWlyV2F0Y2ggdXNlcm5hbWUgOjwvcHJlZj4KCQkJPHByZWY+QWlyV2F0Y2ggcGFz + c3dvcmQgOjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8cGx1Z2luPgoJCQk8aWQ+NzY1MTM8L2lkPgoJ + CQk8cHJlZj5Qb2xpY3kgZmlsZSAjMSA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMiA6 + PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMyA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kg + ZmlsZSAjNCA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNSA6PC9wcmVmPgoJCTwvcGx1 + Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD44MzE4ODwvaWQ+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMx + IDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMyIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGlj + eSBmaWxlICMzIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM0IDo8L3ByZWY+CgkJCTxw + cmVmPlBvbGljeSBmaWxlICM1IDo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlk + PjgzMTg5PC9pZD4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzEgOjwvcHJlZj4KCQkJPHByZWY+UG9s + aWN5IGZpbGUgIzIgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzMgOjwvcHJlZj4KCQkJ + PHByZWY+UG9saWN5IGZpbGUgIzQgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzUgOjwv + cHJlZj4KCQk8L3BsdWdpbj4KCQk8cGx1Z2luPgoJCQk8aWQ+ODYyNjk8L2lkPgoJCQk8cHJlZj5Q + b2xpY3kgZmlsZSAjMSA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMiA6PC9wcmVmPgoJ + CQk8cHJlZj5Qb2xpY3kgZmlsZSAjMyA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNCA6 + PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNSA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxw + bHVnaW4+CgkJCTxpZD45NTM4ODwvaWQ+CgkJCTxwcmVmPlVzZXJuYW1lIDo8L3ByZWY+CgkJCTxw + cmVmPlBhc3N3b3JkIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMxIDo8L3ByZWY+CgkJ + CTxwcmVmPlBvbGljeSBmaWxlICMyIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMzIDo8 + L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM0IDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBm + aWxlICM1IDo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjEwMjczMDwvaWQ+ + CgkJCTxwcmVmPk9mZmxpbmUgY29uZmlnIGZpbGUgKC50eHQgb3IgLnppcCkgOjwvcHJlZj4KCQkJ + PHByZWY+UG9saWN5IGZpbGUgIzEgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzIgOjwv + cHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzMgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZp + bGUgIzQgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzUgOjwvcHJlZj4KCQk8L3BsdWdp + bj4KCQk8cGx1Z2luPgoJCQk8aWQ+MTEyMTE3PC9pZD4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzEg + OjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzIgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5 + IGZpbGUgIzMgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzQgOjwvcHJlZj4KCQkJPHBy + ZWY+UG9saWN5IGZpbGUgIzUgOjwvcHJlZj4KCQk8L3BsdWdpbj4KCQk8cGx1Z2luPgoJCQk8aWQ+ + MTI4Mjc1PC9pZD4KCQkJPHByZWY+T2ZmbGluZSBjb25maWcgZmlsZSAoLnR4dCBvciAuemlwKSA6 + PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMSA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kg + ZmlsZSAjMiA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMyA6PC9wcmVmPgoJCQk8cHJl + Zj5Qb2xpY3kgZmlsZSAjNCA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNSA6PC9wcmVm + PgoJCTwvcGx1Z2luPgoJCTxwbHVnaW4+CgkJCTxpZD4xMjk3MTQ8L2lkPgoJCQk8cHJlZj5Qb2xp + Y3kgZmlsZSAjMSA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjMiA6PC9wcmVmPgoJCQk8 + cHJlZj5Qb2xpY3kgZmlsZSAjMyA6PC9wcmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNCA6PC9w + cmVmPgoJCQk8cHJlZj5Qb2xpY3kgZmlsZSAjNSA6PC9wcmVmPgoJCTwvcGx1Z2luPgoJCTxwbHVn + aW4+CgkJCTxpZD4xMzc3ODU8L2lkPgoJCQk8cHJlZj5PZmZsaW5lIGNvbmZpZyBmaWxlICgudHh0 + IG9yIC56aXApIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMxIDo8L3ByZWY+CgkJCTxw + cmVmPlBvbGljeSBmaWxlICMyIDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICMzIDo8L3By + ZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxlICM0IDo8L3ByZWY+CgkJCTxwcmVmPlBvbGljeSBmaWxl + ICM1IDo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlkPjE0NDMyODwvaWQ+CgkJ + CTxwcmVmPk9mZmxpbmUgY29uZmlnIGZpbGUgKC50eHQgb3IgLnppcCkgOjwvcHJlZj4KCQkJPHBy + ZWY+UG9saWN5IGZpbGUgIzEgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzIgOjwvcHJl + Zj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzMgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUg + IzQgOjwvcHJlZj4KCQkJPHByZWY+UG9saWN5IGZpbGUgIzUgOjwvcHJlZj4KCQk8L3BsdWdpbj4K + CTwvTmVzc3VzRmlsdGVyUHJlZnM+Cgk8RmlsdGVyTW9iaWxlUHJlZnM+CgkJPHBsdWdpbj4KCQkJ + PGlkPjYwMDI0PC9pZD4KCQkJPHByZWY+RG9tYWluIENvbnRyb2xsZXIgOjwvcHJlZj4KCQkJPHBy + ZWY+RG9tYWluIDo8L3ByZWY+CgkJCTxwcmVmPkRvbWFpbiBVc2VybmFtZSA6PC9wcmVmPgoJCQk8 + cHJlZj5Eb21haW4gUGFzc3dvcmQgOjwvcHJlZj4KCQk8L3BsdWdpbj4KCTwvRmlsdGVyTW9iaWxl + UHJlZnM+Cgk8RmlsdGVyUHJlZnM+CgkJPHBsdWdpbj4KCQkJPGlkPjEwODcwPC9pZD4KCQkJPHBy + ZWY+T25seSB1c2UgTlRMTXYyPC9wcmVmPgoJCQk8cHJlZj5OZXZlciBzZW5kIFNNQiBjcmVkZW50 + aWFscyBpbiBjbGVhciB0ZXh0PC9wcmVmPgoJCQk8cHJlZj5JTUFQIHBhc3N3b3JkIChzZW50IGlu + IGNsZWFyKSA6PC9wcmVmPgoJCQk8cHJlZj5JTUFQIGFjY291bnQgOjwvcHJlZj4KCQkJPHByZWY+ + UE9QMyBwYXNzd29yZCAoc2VudCBpbiBjbGVhcikgOjwvcHJlZj4KCQkJPHByZWY+UE9QMyBhY2Nv + dW50IDo8L3ByZWY+CgkJCTxwcmVmPlBPUDIgcGFzc3dvcmQgKHNlbnQgaW4gY2xlYXIpIDo8L3By + ZWY+CgkJCTxwcmVmPlBPUDIgYWNjb3VudCA6PC9wcmVmPgoJCQk8cHJlZj5GVFAgd3JpdGVhYmxl + IGRpcmVjdG9yeSA6PC9wcmVmPgoJCQk8cHJlZj5GVFAgcGFzc3dvcmQgKHNlbnQgaW4gY2xlYXIp + IDo8L3ByZWY+CgkJCTxwcmVmPkZUUCBhY2NvdW50IDo8L3ByZWY+CgkJCTxwcmVmPk5OVFAgcGFz + c3dvcmQgKHNlbnQgaW4gY2xlYXIpIDo8L3ByZWY+CgkJCTxwcmVmPk5OVFAgYWNjb3VudCA6PC9w + cmVmPgoJCQk8cHJlZj5IVFRQIHBhc3N3b3JkIChzZW50IGluIGNsZWFyKSA6PC9wcmVmPgoJCQk8 + cHJlZj5IVFRQIGFjY291bnQgOjwvcHJlZj4KCQkJPHByZWY+SVBNSSBhY2NvdW50IDo8L3ByZWY+ + CgkJCTxwcmVmPklQTUkgcGFzc3dvcmQgKHNlbnQgaW4gY2xlYXIpIDo8L3ByZWY+CgkJPC9wbHVn + aW4+CgkJPHBsdWdpbj4KCQkJPGlkPjE0MjczPC9pZD4KCQkJPHByZWY+U1NIIGtub3duX2hvc3Rz + IGZpbGUgOjwvcHJlZj4KCQkJPHByZWY+UHJlZmVycmVkIFNTSCBwb3J0IDo8L3ByZWY+CgkJCTxw + cmVmPkNsaWVudCB2ZXJzaW9uIDo8L3ByZWY+CgkJPC9wbHVnaW4+CgkJPHBsdWdpbj4KCQkJPGlk + PjE5NzYyPC9pZD4KCQkJPHByZWY+U05NUHYzIHByaXZhY3kgYWxnb3JpdGhtIDo8L3ByZWY+CgkJ + CTxwcmVmPlNOTVB2MyBwcml2YWN5IHBhc3N3b3JkIDo8L3ByZWY+CgkJCTxwcmVmPlNOTVB2MyBh + dXRoZW50aWNhdGlvbiBhbGdvcml0aG0gOjwvcHJlZj4KCQkJPHByZWY+U05NUHYzIGF1dGhlbnRp + Y2F0aW9uIHBhc3N3b3JkIDo8L3ByZWY+CgkJCTxwcmVmPlNOTVB2MyB1c2VyIG5hbWUgOjwvcHJl + Zj4KCQkJPHByZWY+U05NUHYzIHBvcnQgOjwvcHJlZj4KCQkJPHByZWY+VURQIHBvcnQgOjwvcHJl + Zj4KCQk8L3BsdWdpbj4KCQk8cGx1Z2luPgoJCQk8aWQ+NDY2ODk8L2lkPgoJCQk8cHJlZj5JT1Mg + Q29uZmlnIEZpbGUgVG8gQXVkaXQgOjwvcHJlZj4KCQk8L3BsdWdpbj4KCTwvRmlsdGVyUHJlZnM+ + Cgk8TURNVHlwZXM+CgkJPHR5cGU+CgkJCTxpZD4xPC9pZD4KCQkJPG5hbWU+QWN0aXZlU3luYzwv + bmFtZT4KCQkJPGRlc2NyaXB0aW9uPjwvZGVzY3JpcHRpb24+CgkJCTx2YWx1ZT5BY3RpdmVTeW5j + PC92YWx1ZT4KCQkJPGlwUHJlZj5Eb21haW4gQ29udHJvbGxlciA6PC9pcFByZWY+CgkJCTxwbHVn + aW5JRHM+NjAwMjQ8L3BsdWdpbklEcz4KCQkJPGVkaXRvcj5XM3NpZEhsd1pTSTZJQ0psYm5SeWVT + SXNJbTVoYldVaU9pQWlSRzl0WVdsdUlFTnZiblJ5YjJ4c1pYSWlMQ0p5WlhGMWFYSmxaQ0k2SW5S + eWRXVWlMQ0pwWkNJNklDSmtiMjFoYVc1ZlkyOXVkSEp2Ykd4bGNpSjlMQ0I3SW5SNWNHVWlPaUFp + Wlc1MGNua2lMQ0p1WVcxbElqb2dJa1J2YldGcGJpSXNJbkpsY1hWcGNtVmtJam9pZEhKMVpTSXNJ + bWxrSWpvZ0ltUnZiV0ZwYmlKOUxIc2lkSGx3WlNJNklDSmxiblJ5ZVNJc0ltNWhiV1VpT2lBaVJH + OXRZV2x1SUZWelpYSnVZVzFsSWl3aWNtVnhkV2x5WldRaU9pSjBjblZsSWl3aWFXUWlPaUFpWkc5 + dFlXbHVYMkZrYldsdUluMHNleUowZVhCbElqb2dJbkJoYzNOM2IzSmtJaXdpYm1GdFpTSTZJQ0pF + YjIxaGFXNGdVR0Z6YzNkdmNtUWlMQ0p5WlhGMWFYSmxaQ0k2SW5SeWRXVWlMQ0pwWkNJNklDSndZ + WE56ZDI5eVpDSjlYUT09PC9lZGl0b3I+CgkJPC90eXBlPgoJCTx0eXBlPgoJCQk8aWQ+MjwvaWQ+ + CgkJCTxuYW1lPkFwcGxlIFByb2ZpbGUgTWFuYWdlcjwvbmFtZT4KCQkJPGRlc2NyaXB0aW9uPjwv + ZGVzY3JpcHRpb24+CgkJCTx2YWx1ZT5wcm9maWxlX21hbmFnZXI8L3ZhbHVlPgoJCQk8aXBQcmVm + PkFwcGxlIFByb2ZpbGUgTWFuYWdlciBzZXJ2ZXIgOjwvaXBQcmVmPgoJCQk8cGx1Z2luSURzPjYw + MDMyPC9wbHVnaW5JRHM+CgkJCTxlZGl0b3I+VzNzaWRIbHdaU0k2SUNKbGJuUnllU0lzSW01aGJX + VWlPaUpUWlhKMlpYSWlMQ0p5WlhGMWFYSmxaQ0k2SW5SeWRXVWlMQ0pwWkNJNkluTmxjblpsY2lK + OUxDQjdJblI1Y0dVaU9pQWlaVzUwY25raUxDSnVZVzFsSWpvaVVHOXlkQ0lzSW1SbFptRjFiSFFp + T2pRME15d2ljbVZuWlhnaU9pQWlYaWhiTUMwNVhYc3hMRFI5ZkZzeExUVmRXekF0T1YxN05IMThO + bHN3TFRSZFd6QXRPVjE3TTMxOE5qVmJNQzAwWFZzd0xUbGRleko5ZkRZMU5Wc3dMVEpkV3pBdE9W + MThOalUxTTFzd0xUVmRLU1FpTENKeVpYRjFhWEpsWkNJNkluUnlkV1VpTENKcFpDSTZJbkJ2Y25R + aWZTeDdJblI1Y0dVaU9pQWlaVzUwY25raUxDSnVZVzFsSWpvaVZYTmxjbTVoYldVaUxDSnlaWEYx + YVhKbFpDSTZkSEoxWlN3aWFXUWlPaUoxYzJWeWJtRnRaU0o5TEhzaWRIbHdaU0k2SUNKd1lYTnpk + Mjl5WkNJc0ltNWhiV1VpT2lKUVlYTnpkMjl5WkNJc0luSmxjWFZwY21Wa0lqcDBjblZsTENKcFpD + STZJbkJoYzNOM2IzSmtJbjBzZXlKMGVYQmxJam9nSW1Ob1pXTnJZbTk0SWl3aWJtRnRaU0k2SUNK + SVZGUlFVeUlzSW1sa0lqb2dJbWgwZEhCeklpd2laR1ZtWVhWc2RDSTZJQ0o1WlhNaUxDSmpiMjVr + YVhScGIyNWhiRk5sZEhScGJtZHpJam9nZXlKNVpYTWlPaUI3SW1sdWNIVjBjeUk2SUZ0N0luUjVj + R1VpT2lBaVkyaGxZMnRpYjNnaUxDSnVZVzFsSWpvZ0lsWmxjbWxtZVNCVFUwd2dRMlZ5ZEdsbWFX + TmhkR1VpTENKeVpYRjFhWEpsWkNJNklDSjBjblZsSWl3aVpHVm1ZWFZzZENJNklDSjVaWE1pTENK + cFpDSTZJQ0oyWlhKcFpubGZjM05zSW4xZGZYMTlYUT09PC9lZGl0b3I+CgkJPC90eXBlPgoJCTx0 + eXBlPgoJCQk8aWQ+MzwvaWQ+CgkJCTxuYW1lPkdvb2QgTURNPC9uYW1lPgoJCQk8ZGVzY3JpcHRp + b24+PC9kZXNjcmlwdGlvbj4KCQkJPHZhbHVlPkdvb2RNRE08L3ZhbHVlPgoJCQk8aXBQcmVmPkdN + QyBTZXJ2ZXIgOjwvaXBQcmVmPgoJCQk8cGx1Z2luSURzPjY2OTYzPC9wbHVnaW5JRHM+CgkJCTxl + ZGl0b3I+VzNzaWRIbHdaU0k2SUNKbGJuUnllU0lzSW01aGJXVWlPaUpUWlhKMlpYSWlMQ0p5WlhG + MWFYSmxaQ0k2SW5SeWRXVWlMQ0pwWkNJNkluTmxjblpsY2lKOUxDQjdJblI1Y0dVaU9pQWlaVzUw + Y25raUxDSnVZVzFsSWpvaVVHOXlkQ0lzSW5KbFoyVjRJam9nSWw0b1d6QXRPVjE3TVN3MGZYeGJN + UzAxWFZzd0xUbGRlelI5ZkRaYk1DMDBYVnN3TFRsZGV6TjlmRFkxV3pBdE5GMWJNQzA1WFhzeWZY + dzJOVFZiTUMweVhWc3dMVGxkZkRZMU5UTmJNQzAxWFNra0lpd2ljbVZ4ZFdseVpXUWlPaUowY25W + bElpd2lhV1FpT2lKd2IzSjBJbjBzZXlKMGVYQmxJam9nSW1WdWRISjVJaXdpYm1GdFpTSTZJa1J2 + YldGcGJpSXNJbkpsY1hWcGNtVmtJam9pZEhKMVpTSXNJbWxrSWpvaVpHOXRZV2x1SW4wc2V5SjBl + WEJsSWpvZ0ltVnVkSEo1SWl3aWJtRnRaU0k2SWxWelpYSnVZVzFsSWl3aWNtVnhkV2x5WldRaU9p + SjBjblZsSWl3aWFXUWlPaUoxYzJWeWJtRnRaU0o5TEhzaWRIbHdaU0k2SUNKd1lYTnpkMjl5WkNJ + c0ltNWhiV1VpT2lKUVlYTnpkMjl5WkNJc0luSmxjWFZwY21Wa0lqb2lkSEoxWlNJc0ltbGtJam9p + Y0dGemMzZHZjbVFpZlN4N0luUjVjR1VpT2lBaVkyaGxZMnRpYjNnaUxDSnVZVzFsSWpvZ0lraFVW + RkJUSWl3aWFXUWlPaUFpYUhSMGNITWlMQ0prWldaaGRXeDBJam9nSW5sbGN5SXNJbU52Ym1ScGRH + bHZibUZzVTJWMGRHbHVaM01pT2lCN0lubGxjeUk2SUhzaWFXNXdkWFJ6SWpvZ1czc2lkSGx3WlNJ + NklDSmphR1ZqYTJKdmVDSXNJbTVoYldVaU9pQWlWbVZ5YVdaNUlGTlRUQ0JEWlhKMGFXWnBZMkYw + WlNJc0luSmxjWFZwY21Wa0lqb2dJblJ5ZFdVaUxDSmtaV1poZFd4MElqb2dJbmxsY3lJc0ltbGtJ + am9nSW5abGNtbG1lVjl6YzJ3aWZWMTlmWDFkPC9lZGl0b3I+CgkJPC90eXBlPgoJCTx0eXBlPgoJ + CQk8aWQ+NDwvaWQ+CgkJCTxuYW1lPk1vYmlsZSBJcm9uPC9uYW1lPgoJCQk8ZGVzY3JpcHRpb24+ + PC9kZXNjcmlwdGlvbj4KCQkJPHZhbHVlPk1vYmlsZUlyb248L3ZhbHVlPgoJCQk8aXBQcmVmPk1v + YmlsZUlyb24gVlNQIEFkbWluIFBvcnRhbCBVUkwgOjwvaXBQcmVmPgoJCQk8cGx1Z2luSURzPjcy + OTA0PC9wbHVnaW5JRHM+CgkJCTxlZGl0b3I+VzNzaWRIbHdaU0k2SW1WdWRISjVJaXdpYm1GdFpT + STZJazF2WW1sc1pVbHliMjRnVmxOUUlFRmtiV2x1SUZCdmNuUmhiQ0JWVWt3aUxDSnlaWEYxYVhK + bFpDSTZJblJ5ZFdVaUxDSndiR0ZqWldodmJHUmxjaUk2SW1oMGRIQnpPaTh2ZDNkM0xtVjRZVzF3 + YkdVdWJtVjBMMjFwWm5NdmJHOW5hVzR1YW5Od0lpd2lhV1FpT2lKd2IzSjBZV3hmZFhKc0luMHNl + eUowZVhCbElqb2laVzUwY25raUxDSnVZVzFsSWpvaVZsTlFJRUZrYldsdUlGQnZjblJoYkNCUWIz + SjBJaXdpY21WblpYZ2lPaUplS0Zzd0xUbGRlekVzTkgxOFd6RXROVjFiTUMwNVhYczBmWHcyV3pB + dE5GMWJNQzA1WFhzemZYdzJOVnN3TFRSZFd6QXRPVjE3TW4xOE5qVTFXekF0TWwxYk1DMDVYWHcy + TlRVeld6QXROVjBwSkNJc0luSmxjWFZwY21Wa0lqb2labUZzYzJVaUxDSndiR0ZqWldodmJHUmxj + aUk2SWpRME15SXNJbWxrSWpvaVlXUnRhVzVmZFhKc1gzQnZjblFpZlN4N0luUjVjR1VpT2lKbGJu + UnllU0lzSW01aGJXVWlPaUpOYjJKcGJHVkpjbTl1SUZCdmNuUWlMQ0p5WldkbGVDSTZJbDRvV3pB + dE9WMTdNU3cwZlh4Yk1TMDFYVnN3TFRsZGV6UjlmRFpiTUMwMFhWc3dMVGxkZXpOOWZEWTFXekF0 + TkYxYk1DMDVYWHN5Zlh3Mk5UVmJNQzB5WFZzd0xUbGRmRFkxTlROYk1DMDFYU2trSWl3aWNtVnhk + V2x5WldRaU9pSjBjblZsSWl3aVpHVm1ZWFZzZENJNklqUTBNeUlzSW1sa0lqb2ljRzl5ZENKOUxI + c2lkSGx3WlNJNkltVnVkSEo1SWl3aWJtRnRaU0k2SWxWelpYSnVZVzFsSWl3aWNtVnhkV2x5WldR + aU9pSjBjblZsSWl3aWNHeGhZMlZvYjJ4a1pYSWlPaUpoY0dsMWMyVnlJaXdpYVdRaU9pSjFjMlZ5 + Ym1GdFpTSjlMSHNpZEhsd1pTSTZJbkJoYzNOM2IzSmtJaXdpYm1GdFpTSTZJbEJoYzNOM2IzSmtJ + aXdpY21WeGRXbHlaV1FpT2lKMGNuVmxJaXdpYVdRaU9pSndZWE56ZDI5eVpDSjlMSHNpZEhsd1pT + STZJbU5vWldOclltOTRJaXdpYm1GdFpTSTZJa2hVVkZCVElpd2lhV1FpT2lKb2RIUndjeUlzSW1S + bFptRjFiSFFpT2lKNVpYTWlMQ0pqYjI1a2FYUnBiMjVoYkZObGRIUnBibWR6SWpwN0lubGxjeUk2 + ZXlKcGJuQjFkSE1pT2x0N0luUjVjR1VpT2lKamFHVmphMkp2ZUNJc0ltNWhiV1VpT2lKV1pYSnBa + bmtnVTFOTUlFTmxjblJwWm1sallYUmxJaXdpY21WeGRXbHlaV1FpT2lKMGNuVmxJaXdpWkdWbVlY + VnNkQ0k2SW5sbGN5SXNJbWxrSWpvaWRtVnlhV1o1WDNOemJDSjlYWDE5ZlYwPTwvZWRpdG9yPgoJ + CTwvdHlwZT4KCQk8dHlwZT4KCQkJPGlkPjU8L2lkPgoJCQk8bmFtZT5BaXJXYXRjaCBNRE08L25h + bWU+CgkJCTxkZXNjcmlwdGlvbj48L2Rlc2NyaXB0aW9uPgoJCQk8dmFsdWU+QWlyV2F0Y2g8L3Zh + bHVlPgoJCQk8aXBQcmVmPkFpcldhdGNoIEVudmlyb25tZW50IEFQSSBVUkwgOjwvaXBQcmVmPgoJ + CQk8cGx1Z2luSURzPjc2NDYwPC9wbHVnaW5JRHM+CgkJCTxlZGl0b3I+VzNzaWRIbHdaU0k2SUNK + bGJuUnllU0lzSW01aGJXVWlPaUFpUVdseVYyRjBZMmdnUlc1MmFYSnZibTFsYm5RZ1FWQkpJRlZT + VENJc0luQnNZV05sYUc5c1pHVnlJam9pYUhSMGNITTZMeTloYVhKM1lYUmphQzVsZUdGdGNHeGxM + bTVsZEM5aGFYSjNZWFJqYUhObGNuWnBZMlZ6THpBdklpd2ljbVZ4ZFdseVpXUWlPaUowY25WbElp + d2lhV1FpT2lBaVlYQnBYM1Z5YkNKOUxDQjdJblI1Y0dVaU9pQWlaVzUwY25raUxDSnVZVzFsSWpv + Z0lsQnZjblFpTENKa1pXWmhkV3gwSWpvaU5EUXpJaXdpY21WblpYZ2lPaUFpWGloYk1DMDVYWHN4 + TERSOWZGc3hMVFZkV3pBdE9WMTdOSDE4Tmxzd0xUUmRXekF0T1YxN00zMThOalZiTUMwMFhWc3dM + VGxkZXpKOWZEWTFOVnN3TFRKZFd6QXRPVjE4TmpVMU0xc3dMVFZkS1NRaUxDSnlaWEYxYVhKbFpD + STZJblJ5ZFdVaUxDSnBaQ0k2SW5CdmNuUWlmU3g3SW5SNWNHVWlPaUFpWlc1MGNua2lMQ0p1WVcx + bElqb2dJbFZ6WlhKdVlXMWxJaXdpY21WeGRXbHlaV1FpT2lKMGNuVmxJaXdpYVdRaU9pSjFjMlZ5 + Ym1GdFpTSjlMSHNpZEhsd1pTSTZJQ0p3WVhOemQyOXlaQ0lzSW01aGJXVWlPaUFpVUdGemMzZHZj + bVFpTENKeVpYRjFhWEpsWkNJNkluUnlkV1VpTENKcFpDSTZJbkJoYzNOM2IzSmtJbjBzZXlKMGVY + QmxJam9nSW1WdWRISjVJaXdpYm1GdFpTSTZJQ0pCVUVrZ1MyVjVJaXdpY21WeGRXbHlaV1FpT2lK + MGNuVmxJaXdpYVdRaU9pSmhjR2xmYTJWNUluMHNleUowZVhCbElqb2dJbU5vWldOclltOTRJaXdp + Ym1GdFpTSTZJQ0pJVkZSUVV5SXNJbWxrSWpvZ0ltaDBkSEJ6SWl3aVpHVm1ZWFZzZENJNklDSjVa + WE1pTENKamIyNWthWFJwYjI1aGJGTmxkSFJwYm1keklqb2dleUo1WlhNaU9pQjdJbWx1Y0hWMGN5 + STZJRnQ3SW5SNWNHVWlPaUFpWTJobFkydGliM2dpTENKdVlXMWxJam9nSWxabGNtbG1lU0JUVTB3 + Z1EyVnlkR2xtYVdOaGRHVWlMQ0p5WlhGMWFYSmxaQ0k2SUNKMGNuVmxJaXdpWkdWbVlYVnNkQ0k2 + SUNKNVpYTWlMQ0pwWkNJNklDSjJaWEpwWm5sZmMzTnNJbjFkZlgxOVhRPT08L2VkaXRvcj4KCQk8 + L3R5cGU+CgkJPHR5cGU+CgkJCTxpZD42PC9pZD4KCQkJPG5hbWU+QmxhY2tiZXJyeSBVRU08L25h + bWU+CgkJCTxkZXNjcmlwdGlvbj48L2Rlc2NyaXB0aW9uPgoJCQk8dmFsdWU+YmxhY2tiZXJyeV91 + ZW08L3ZhbHVlPgoJCQk8aXBQcmVmPkJsYWNrYmVycnkgVUVNIEhvc3RuYW1lIDogPC9pcFByZWY+ + CgkJCTxwbHVnaW5JRHM+MTI0ODYwPC9wbHVnaW5JRHM+CgkJCTxlZGl0b3I+VzNzaWRIbHdaU0k2 + SUNKbGJuUnllU0lzSW01aGJXVWlPaUFpUW14aFkydGlaWEp5ZVNCVlJVMGdTRzl6ZEc1aGJXVWlM + Q0p5WlhGMWFYSmxaQ0k2SW5SeWRXVWlMQ0pwWkNJNklDSm9iM04wYm1GdFpTSjlMSHNpZEhsd1pT + STZJQ0psYm5SeWVTSXNJbTVoYldVaU9pQWlRbXhoWTJ0aVpYSnllU0JWUlUwZ1VHOXlkQ0lzSW5K + bGNYVnBjbVZrSWpvaWRISjFaU0lzSW1sa0lqb2ljRzl5ZENKOUxIc2lkSGx3WlNJNklDSmxiblJ5 + ZVNJc0ltNWhiV1VpT2lBaVFteGhZMnRpWlhKeWVTQlZSVTBnVkdWdVlXNTBJaXdpY21WeGRXbHla + V1FpT2lKMGNuVmxJaXdpYVdRaU9pSjBaVzVoYm5RaWZTeDdJblI1Y0dVaU9pQWlaVzUwY25raUxD + SnVZVzFsSWpvZ0lrSnNZV05yWW1WeWNua2dWVVZOSUVSdmJXRnBiaUlzSW5KbGNYVnBjbVZrSWpv + aVptRnNjMlVpTENKcFpDSTZJbVJ2YldGcGJpSjlMSHNpZEhsd1pTSTZJQ0psYm5SeWVTSXNJbTVo + YldVaU9pQWlRbXhoWTJ0aVpYSnllU0JWUlUwZ1ZYTmxjbTVoYldVaUxDSnlaWEYxYVhKbFpDSTZJ + blJ5ZFdVaUxDSnBaQ0k2SW5WelpYSnVZVzFsSW4wc2V5SjBlWEJsSWpvZ0luQmhjM04zYjNKa0lp + d2libUZ0WlNJNklDSkNiR0ZqYTJKbGNuSjVJRlZGVFNCUVlYTnpkMjl5WkNJc0luSmxjWFZwY21W + a0lqb2lkSEoxWlNJc0ltbGtJam9pY0dGemMzZHZjbVFpZlN4N0luUjVjR1VpT2lBaVkyaGxZMnRp + YjNnaUxDSnVZVzFsSWpvZ0lrSnNZV05yWW1WeWNua2dWVVZOSUZOVFRDSXNJbkpsY1hWcGNtVmtJ + am9pZEhKMVpTSXNJbWxrSWpvaWMzTnNJbjBzZXlKMGVYQmxJam9nSW1Ob1pXTnJZbTk0SWl3aWJt + RnRaU0k2SUNKQ2JHRmphMkpsY25KNUlGVkZUU0JXWlhKcFpua2dVMU5NSUVObGNuUnBabWxqWVhS + bElpd2ljbVZ4ZFdseVpXUWlPaUowY25WbElpd2lhV1FpT2lKMlpYSnBabmxmYzNOc0luMWQ8L2Vk + aXRvcj4KCQk8L3R5cGU+CgkJPHR5cGU+CgkJCTxpZD43PC9pZD4KCQkJPG5hbWU+TWljcm9zb2Z0 + IEludHVuZTwvbmFtZT4KCQkJPGRlc2NyaXB0aW9uPjwvZGVzY3JpcHRpb24+CgkJCTx2YWx1ZT5J + bnR1bmU8L3ZhbHVlPgoJCQk8aXBQcmVmPkludHVuZSBUZW5hbnQgOiA8L2lwUHJlZj4KCQkJPHBs + dWdpbklEcz4xMjUwMzA8L3BsdWdpbklEcz4KCQkJPGVkaXRvcj5XM3NpZEhsd1pTSTZJQ0psYm5S + eWVTSXNJbTVoYldVaU9pQWlTVzUwZFc1bElGUmxibUZ1ZENJc0luSmxjWFZwY21Wa0lqb2lkSEox + WlNJc0ltbGtJam9nSW5SbGJtRnVkQ0o5TEhzaWRIbHdaU0k2SUNKbGJuUnllU0lzSW01aGJXVWlP + aUFpU1c1MGRXNWxJRU5zYVdWdWRDSXNJbkpsY1hWcGNtVmtJam9pZEhKMVpTSXNJbWxrSWpvaVky + eHBaVzUwSW4wc2V5SjBlWEJsSWpvZ0ltVnVkSEo1SWl3aWJtRnRaU0k2SUNKSmJuUjFibVVnVTJW + amNtVjBJaXdpY21WeGRXbHlaV1FpT2lKMGNuVmxJaXdpYVdRaU9pSnpaV055WlhRaWZTeDdJblI1 + Y0dVaU9pQWlaVzUwY25raUxDSnVZVzFsSWpvZ0lrbHVkSFZ1WlNCVmMyVnlibUZ0WlNJc0luSmxj + WFZwY21Wa0lqb2lkSEoxWlNJc0ltbGtJam9pZFhObGNtNWhiV1VpZlN4N0luUjVjR1VpT2lBaWNH + RnpjM2R2Y21RaUxDSnVZVzFsSWpvZ0lrbHVkSFZ1WlNCUVlYTnpkMjl5WkNJc0luSmxjWFZwY21W + a0lqb2lkSEoxWlNJc0ltbGtJam9pY0dGemMzZHZjbVFpZlYwPTwvZWRpdG9yPgoJCTwvdHlwZT4K + CTwvTURNVHlwZXM+Cgk8TG9jYWxlcz4KCQk8TG9jYWxlPgoJCQk8Y29kZT5qYTwvY29kZT4KCQkJ + PG5hbWU+SmFwYW5lc2U8L25hbWU+CgkJPC9Mb2NhbGU+CgkJPExvY2FsZT4KCQkJPGNvZGU+emhf + Q048L2NvZGU+CgkJCTxuYW1lPkNoaW5lc2UgKFNpbXBsaWZpZWQpPC9uYW1lPgoJCTwvTG9jYWxl + PgoJCTxMb2NhbGU+CgkJCTxjb2RlPnpoX1RXPC9jb2RlPgoJCQk8bmFtZT5DaGluZXNlIChUcmFk + aXRpb25hbCk8L25hbWU+CgkJPC9Mb2NhbGU+Cgk8L0xvY2FsZXM+Cgk8TG9jYWxlVVJMPnBsdWdp + bnMubmVzc3VzLm9yZy9pMThuL3YxLzwvTG9jYWxlVVJMPgo8L1BsdWdpbkluZm8+CgAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAA5NTMvcG9saWN5TWFwcGluZy50YXIuZ3oAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEw + MDc3NwAwMDAwMDAwADAwMDAwMDAAMDAwMDAwNTUyMTYAMTQyNDMzMjY0NjAAMDEyMzEzACAwAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyADAwAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAB+LCAAvrY1iAAPUXW1z4zaSztfJr0DN7ZY8dRnHL/OSzN3elkb2JN61PD7Lk9mt + rV0WREISziTBBUjL2vvz1w2AL5IpEqSkpM4fkrEFdD9oNBrdjQbEgzFNEh7Pj5NF8s1hfk7g592b + N/r/8LP+/9N3787evvvm9M3Zm/Pzs3dv3r7/5uT07Ozs/Tfk5EB41n4ylVJJyDdSiLSpXdvn/09/ + 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 + k1xPSkJE0obEimb888d3GPkX4upHnbd425U+N6iMJm+Gw973r171r1ovu5BUL/P+NX4Ovwy3y6/s + NjraHupcxEGn1R3P94SbqC6VSO3sS6285p0b1tqr1l619npQ7VXdn7Yf9bULxUfRX1ogvVS0EIWR + fMnlSLi4umo1WhL5+f7UWm9cVoXY+4p1nOeuVHJTWuLrVW+n/NWUb8/7mfS+9kA0QDvtdwbP96P0 + vsk5zgedid9iFv75D9/993e/q//V/+p/9b/6X/2v/lf/q//V//b77/8Dh9QZJwDQAgAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAOTUzL3NjLXZwcmRhdGEuanNvbgAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAADAxMDA3NzcAMDAwMDAwMAAwMDAwMDAwADAwMDAwMDA2MDU0ADE0MjQ1MzU3MzI3ADAx + MTMxNAAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhcgAw + MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAABbDQoJew0KCQkicGx1Z2luSUQiOiAxMDAwMSwNCgkJInBsdWdp + blR5cGUiOiAiYWN0aXZlIiwNCgkJInZwclNjb3JlIjogNi4zLA0KCQkidnByQ29udGV4dCI6IFsN + CgkJCXsNCgkJCQkiaWQiOiAiYWdlX29mX3Z1bG4iLA0KCQkJCSJuYW1lIjogIlZ1bG5lcmFiaWxp + dHkgQWdlIiwNCgkJCQkidHlwZSI6ICJzdHJpbmciLA0KCQkJCSJ2YWx1ZSI6ICI3MzAgZGF5cyAr + Ig0KCQkJfSwNCgkJCXsNCgkJCQkiaWQiOiAiY3Zzc1YzX2ltcGFjdFNjb3JlIiwNCgkJCQkibmFt + ZSI6ICJDVlNTIHYzIEltcGFjdCBTY29yZSIsDQoJCQkJInR5cGUiOiAibnVtYmVyIiwNCgkJCQki + dmFsdWUiOiA1LjUNCgkJCX0sDQoJCQl7DQoJCQkJImlkIjogImV4cGxvaXRfY29kZV9tYXR1cml0 + eSIsDQoJCQkJIm5hbWUiOiAiRXhwbG9pdCBDb2RlIE1hdHVyaXR5IiwNCgkJCQkidHlwZSI6ICJz + dHJpbmciLA0KCQkJCSJ2YWx1ZSI6ICJQb0MiDQoJCQl9LA0KCQkJew0KCQkJCSJpZCI6ICJwcm9k + dWN0X2NvdmVyYWdlIiwNCgkJCQkibmFtZSI6ICJQcm9kdWN0IENvdmVyYWdlIiwNCgkJCQkidHlw + ZSI6ICJzdHJpbmciLA0KCQkJCSJ2YWx1ZSI6ICJMb3ciDQoJCQl9LA0KCQkJew0KCQkJCSJpZCI6 + ICJ0aHJlYXRfaW50ZW5zaXR5X2xhc3RfMjgiLA0KCQkJCSJuYW1lIjogIlRocmVhdCBJbnRlbnNp + dHkiLA0KCQkJCSJ0eXBlIjogInN0cmluZyIsDQoJCQkJInZhbHVlIjogIlZlcnkgTG93Ig0KCQkJ + fSwNCgkJCXsNCgkJCQkiaWQiOiAidGhyZWF0X3JlY2VuY3kiLA0KCQkJCSJuYW1lIjogIlRocmVh + dCBSZWNlbmN5IiwNCgkJCQkidHlwZSI6ICJzdHJpbmciLA0KCQkJCSJ2YWx1ZSI6ICJObyByZWNv + cmRlZCBldmVudHMiDQoJCQl9LA0KCQkJew0KCQkJCSJpZCI6ICJ0aHJlYXRfc291cmNlc19sYXN0 + XzI4IiwNCgkJCQkibmFtZSI6ICJUaHJlYXQgU291cmNlcyIsDQoJCQkJInR5cGUiOiAic3RyaW5n + IiwNCgkJCQkidmFsdWUiOiAiTm8gcmVjb3JkZWQgZXZlbnRzIg0KCQkJfQ0KCQldDQoJfSwNCgl7 + DQoJCSJwbHVnaW5JRCI6IDEwMDAyLA0KCQkicGx1Z2luVHlwZSI6ICJhY3RpdmUiLA0KCQkidnBy + U2NvcmUiOiAzLjYsDQoJCSJ2cHJDb250ZXh0IjogWw0KCQkJew0KCQkJCSJpZCI6ICJhZ2Vfb2Zf + dnVsbiIsDQoJCQkJIm5hbWUiOiAiVnVsbmVyYWJpbGl0eSBBZ2UiLA0KCQkJCSJ0eXBlIjogInN0 + cmluZyIsDQoJCQkJInZhbHVlIjogIjczMCBkYXlzICsiDQoJCQl9LA0KCQkJew0KCQkJCSJpZCI6 + ICJjdnNzVjNfaW1wYWN0U2NvcmUiLA0KCQkJCSJuYW1lIjogIkNWU1MgdjMgSW1wYWN0IFNjb3Jl + IiwNCgkJCQkidHlwZSI6ICJudW1iZXIiLA0KCQkJCSJ2YWx1ZSI6IDMuNg0KCQkJfSwNCgkJCXsN + CgkJCQkiaWQiOiAiZXhwbG9pdF9jb2RlX21hdHVyaXR5IiwNCgkJCQkibmFtZSI6ICJFeHBsb2l0 + IENvZGUgTWF0dXJpdHkiLA0KCQkJCSJ0eXBlIjogInN0cmluZyIsDQoJCQkJInZhbHVlIjogIlVu + cHJvdmVuIg0KCQkJfSwNCgkJCXsNCgkJCQkiaWQiOiAicHJvZHVjdF9jb3ZlcmFnZSIsDQoJCQkJ + Im5hbWUiOiAiUHJvZHVjdCBDb3ZlcmFnZSIsDQoJCQkJInR5cGUiOiAic3RyaW5nIiwNCgkJCQki + dmFsdWUiOiAiTG93Ig0KCQkJfSwNCgkJCXsNCgkJCQkiaWQiOiAidGhyZWF0X2ludGVuc2l0eV9s + YXN0XzI4IiwNCgkJCQkibmFtZSI6ICJUaHJlYXQgSW50ZW5zaXR5IiwNCgkJCQkidHlwZSI6ICJz + dHJpbmciLA0KCQkJCSJ2YWx1ZSI6ICJWZXJ5IExvdyINCgkJCX0sDQoJCQl7DQoJCQkJImlkIjog + InRocmVhdF9yZWNlbmN5IiwNCgkJCQkibmFtZSI6ICJUaHJlYXQgUmVjZW5jeSIsDQoJCQkJInR5 + cGUiOiAic3RyaW5nIiwNCgkJCQkidmFsdWUiOiAiTm8gcmVjb3JkZWQgZXZlbnRzIg0KCQkJfSwN + CgkJCXsNCgkJCQkiaWQiOiAidGhyZWF0X3NvdXJjZXNfbGFzdF8yOCIsDQoJCQkJIm5hbWUiOiAi + VGhyZWF0IFNvdXJjZXMiLA0KCQkJCSJ0eXBlIjogInN0cmluZyIsDQoJCQkJInZhbHVlIjogIk5v + IHJlY29yZGVkIGV2ZW50cyINCgkJCX0NCgkJXQ0KCX0sDQoJew0KCQkicGx1Z2luSUQiOiAxMDAw + MywNCgkJInBsdWdpblR5cGUiOiAiYWN0aXZlIiwNCgkJInZwclNjb3JlIjogMy42LA0KCQkidnBy + Q29udGV4dCI6IFsNCgkJCXsNCgkJCQkiaWQiOiAiYWdlX29mX3Z1bG4iLA0KCQkJCSJuYW1lIjog + IlZ1bG5lcmFiaWxpdHkgQWdlIiwNCgkJCQkidHlwZSI6ICJzdHJpbmciLA0KCQkJCSJ2YWx1ZSI6 + ICI3MzAgZGF5cyArIg0KCQkJfSwNCgkJCXsNCgkJCQkiaWQiOiAiY3Zzc1YzX2ltcGFjdFNjb3Jl + IiwNCgkJCQkibmFtZSI6ICJDVlNTIHYzIEltcGFjdCBTY29yZSIsDQoJCQkJInR5cGUiOiAibnVt + YmVyIiwNCgkJCQkidmFsdWUiOiAzLjYNCgkJCX0sDQoJCQl7DQoJCQkJImlkIjogImV4cGxvaXRf + Y29kZV9tYXR1cml0eSIsDQoJCQkJIm5hbWUiOiAiRXhwbG9pdCBDb2RlIE1hdHVyaXR5IiwNCgkJ + CQkidHlwZSI6ICJzdHJpbmciLA0KCQkJCSJ2YWx1ZSI6ICJVbnByb3ZlbiINCgkJCX0sDQoJCQl7 + DQoJCQkJImlkIjogInByb2R1Y3RfY292ZXJhZ2UiLA0KCQkJCSJuYW1lIjogIlByb2R1Y3QgQ292 + ZXJhZ2UiLA0KCQkJCSJ0eXBlIjogInN0cmluZyIsDQoJCQkJInZhbHVlIjogIkxvdyINCgkJCX0s + DQoJCQl7DQoJCQkJImlkIjogInRocmVhdF9pbnRlbnNpdHlfbGFzdF8yOCIsDQoJCQkJIm5hbWUi + OiAiVGhyZWF0IEludGVuc2l0eSIsDQoJCQkJInR5cGUiOiAic3RyaW5nIiwNCgkJCQkidmFsdWUi + OiAiVmVyeSBMb3ciDQoJCQl9LA0KCQkJew0KCQkJCSJpZCI6ICJ0aHJlYXRfcmVjZW5jeSIsDQoJ + CQkJIm5hbWUiOiAiVGhyZWF0IFJlY2VuY3kiLA0KCQkJCSJ0eXBlIjogInN0cmluZyIsDQoJCQkJ + InZhbHVlIjogIk5vIHJlY29yZGVkIGV2ZW50cyINCgkJCX0sDQoJCQl7DQoJCQkJImlkIjogInRo + cmVhdF9zb3VyY2VzX2xhc3RfMjgiLA0KCQkJCSJuYW1lIjogIlRocmVhdCBTb3VyY2VzIiwNCgkJ + CQkidHlwZSI6ICJzdHJpbmciLA0KCQkJCSJ2YWx1ZSI6ICJObyByZWNvcmRlZCBldmVudHMiDQoJ + CQl9DQoJCV0NCgl9LA0KCXsNCgkJInBsdWdpbklEIjogMTAwMDUsDQoJCSJwbHVnaW5UeXBlIjog + ImFjdGl2ZSIsDQoJCSJ2cHJTY29yZSI6IG51bGwsDQoJCSJ2cHJDb250ZXh0IjogW10NCgl9DQoJ + XQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADk1My9zY19mZWVkX2luZm8uaW5jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw + MTAwNzc3ADAwMDAwMDAAMDAwMDAwMAAwMDAwMDAwMDAzNAAxNDI0MzMyNjQ2MAAwMTE0MzMAIDAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIAMDAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAU0NfRkVFRF9WRVJTSU9OPTIwMjIwNTI1MDQxMwAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAADk1My9zY0ZlZWQyLnRhci5nei5zaWcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAwNzc3 + ADAwMDAwMDAAMDAwMDAwMAAwMDAwMDAwMDAwMAAxNDI0MzMyNjU1MwAwMTE1MTQAIDAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIAMDAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAANCi0tZGEzNmMyYWQ2YzIzYzA4MTM5MmJjMTUyMjIzYzY5NTktLQ0K + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '268455' + Content-Type: + - multipart/form-data; boundary=da36c2ad6c23c081392bc152223c6959 + Cookie: + - TNS_SESSIONID=SESSIONID + TNS_SESSIONID: + - d8a476a65f3f73d8a7b3b6a8bd68a38f + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.8.6; Windows/AMD64) + X-SecurityCenter: + - '0000000000' + method: POST + uri: https://securitycenter.home.cugnet.net/rest/file/upload + response: + body: + string: '{"type":"regular","response":{"filename":"UjhU7F","originalFilename":"SecurityCenterFeed48.tar.gz","content":"","context":""},"error_code":0,"error_msg":"","warnings":[],"timestamp":1654072950} + + ' + headers: + Cache-Control: + - no-cache, no-store + Connection: + - Keep-Alive + Content-Length: + - '194' + Content-Security-Policy: + - 'default-src ''self''; script-src ''self'' pendo-io-static.storage.googleapis.com + app.pendo.io cdn.pendo.io pendo-static-6165929460760576.storage.googleapis.com + data.pendo.io cdn.metarouter.io e.metarouter.io api.amplitude.com cdn.amplitude.com + *.cloudfront.net; connect-src ''self'' app.pendo.io data.pendo.io pendo-static-6165929460760576.storage.googleapis.com + cdn.metarouter.io e.metarouter.io api.amplitude.com cdn.amplitude.com *.cloudfront.net; + img-src ''self'' data: cdn.pendo.io app.pendo.io pendo-static-6165929460760576.storage.googleapis.com + data.pendo.io; style-src ''self'' app.pendo.io cdn.pendo.io pendo-static-6165929460760576.storage.googleapis.com; + frame-ancestors ''self'' app.pendo.io; form-action ''self''; block-all-mixed-content; + Upgrade-Insecure-Requests; object-src ''none''' + Content-Type: + - application/json + Date: + - Wed, 01 Jun 2022 08:42:29 GMT + Expect-CT: + - max-age=31536000 + Expires: + - Thu, 19 Nov 1981 08:52:00 GMT + Keep-Alive: + - timeout=15, max=100 + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - x-apikey + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-XSS-Protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: '{"filename": "UjhU7F"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '22' + Content-Type: + - application/json + Cookie: + - TNS_SESSIONID=SESSIONID + TNS_SESSIONID: + - d8a476a65f3f73d8a7b3b6a8bd68a38f + User-Agent: + - Integration/1.0 (pytest; pytenable-automated-testing; Build/unknown) pyTenable/1.4.6 + (Restfly/1.4.6; Python/3.8.6; Windows/AMD64) + X-SecurityCenter: + - '0000000000' + method: POST + uri: https://securitycenter.home.cugnet.net/rest/feed/active/process + response: + body: + string: '{"type":"regular","response":"","error_code":0,"error_msg":"","warnings":[],"timestamp":1654072951} + + ' + headers: + Cache-Control: + - no-cache, no-store + Connection: + - Keep-Alive + Content-Length: + - '100' + Content-Security-Policy: + - 'default-src ''self''; script-src ''self'' pendo-io-static.storage.googleapis.com + app.pendo.io cdn.pendo.io pendo-static-6165929460760576.storage.googleapis.com + data.pendo.io cdn.metarouter.io e.metarouter.io api.amplitude.com cdn.amplitude.com + *.cloudfront.net; connect-src ''self'' app.pendo.io data.pendo.io pendo-static-6165929460760576.storage.googleapis.com + cdn.metarouter.io e.metarouter.io api.amplitude.com cdn.amplitude.com *.cloudfront.net; + img-src ''self'' data: cdn.pendo.io app.pendo.io pendo-static-6165929460760576.storage.googleapis.com + data.pendo.io; style-src ''self'' app.pendo.io cdn.pendo.io pendo-static-6165929460760576.storage.googleapis.com; + frame-ancestors ''self'' app.pendo.io; form-action ''self''; block-all-mixed-content; + Upgrade-Insecure-Requests; object-src ''none''' + Content-Type: + - application/json + Date: + - Wed, 01 Jun 2022 08:42:31 GMT + Expect-CT: + - max-age=31536000 + Expires: + - Thu, 19 Nov 1981 08:52:00 GMT + Keep-Alive: + - timeout=15, max=99 + Pragma: + - no-cache + Server: + - Apache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - x-apikey + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-XSS-Protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/tests/sc/test_credentials.py b/tests/sc/test_credentials.py index 48a84b4e8..c71e16758 100644 --- a/tests/sc/test_credentials.py +++ b/tests/sc/test_credentials.py @@ -5,6 +5,7 @@ import pytest +from contextlib import nullcontext as does_not_raise from tenable.errors import APIError, UnexpectedValueError from tests.pytenable_log_handler import log_exception from ..checker import check, single @@ -370,20 +371,19 @@ def test_credentials_constructor_passphrase_typeerror(security_center): security_center.credentials._constructor(passphrase=1) -def test_credentials_constructor_privilege_escalation_typeerror(security_center): - ''' - test credentials constructor for 'privilege escalation' type error - ''' - with pytest.raises(TypeError): - security_center.credentials._constructor(privilege_escalation=1) - - -def test_credentials_constructor_privilege_escalation_unexpectedvalueerror(security_center): - ''' - test credentials constructor for 'privilege escalation' unexpected value error - ''' - with pytest.raises(UnexpectedValueError): - security_center.credentials._constructor(privilege_escalation='something') +@pytest.mark.parametrize( + "data, expectation", + [ + ("Cisco 'enable'", does_not_raise()), + (1, pytest.raises(TypeError)), + ("something", pytest.raises(UnexpectedValueError)), + ], +) +def test_credentials_constructor_privilege_escalation(data, expectation, security_center): + """test case scenarios when value is valid as well as when TypeError and UnexpectedValueError exceptions are + raised. """ + with expectation: + assert (security_center.credentials._constructor(privilege_escalation=data)) is not None def test_credentials_constructor_kdc_ip_typeerror(security_center): diff --git a/tests/sc/test_feeds.py b/tests/sc/test_feeds.py index 89dafaad7..d5f1b7766 100644 --- a/tests/sc/test_feeds.py +++ b/tests/sc/test_feeds.py @@ -77,11 +77,10 @@ def test_feeds_update_success(security_center): @pytest.mark.vcr() @pytest.mark.datafiles(os.path.join( os.path.dirname(os.path.realpath(__file__)), - '..', 'test_files', 'sc-plugins-diff.tar.gz')) -@pytest.mark.skip(reason='no plugin tarball to download') -def test_feeds_process_success(admin, datafiles): + '..', 'test_files', 'SecurityCenterFeed48.tar.gz')) +def test_feeds_process_success(admin, datafiles, security_center): ''' test feeds 'process' for success ''' - with open(os.path.join(str(datafiles), 'sc-plugins-diff.tar.gz'), 'rb') as plugfeed: - admin.feeds.process('active', plugfeed) + with open(os.path.join(str(datafiles), 'SecurityCenterFeed48.tar.gz'), 'rb') as plugfeed: + security_center.feeds.process('active', plugfeed) diff --git a/tests/sc/test_scans.py b/tests/sc/test_scans.py index fed8f0d22..027faadee 100644 --- a/tests/sc/test_scans.py +++ b/tests/sc/test_scans.py @@ -372,28 +372,17 @@ def test_scans_constructor_creds_success(security_center): assert resp == {'credentials': [{'id': 1}, {'id': 2}]} -def test_scans_constructor_both_policy_and_plugin_unexpectedvalueerror(security_center): - ''' - test scans constructor for 'both policy id and plugin id' unexpected value error - ''' - with pytest.raises(UnexpectedValueError): - security_center.scans._constructor(plugin_id=1, policy_id=1) - - -def test_scans_constructor_plugin_id_typeerror(security_center): - ''' - test scans constructor for 'plugin id' type error - ''' - with pytest.raises(TypeError): - security_center.scans._constructor(plugin_id='nope') - - def test_scans_constructor_plugin_id_success(security_center): ''' test scans constructor for plugin id success ''' - resp = security_center.scans._constructor(plugin_id=19506) - assert resp == {'type': 'plugin', 'pluginID': 19506} + resp = security_center.scans._constructor(policy_id=19506) + assert resp == { + 'type': 'policy', + 'policy': { + 'id': 19506 + } + } def test_scans_constructor_policy_id_typeerror(security_center): diff --git a/tests/test_files/SecurityCenterFeed48.tar.gz b/tests/test_files/SecurityCenterFeed48.tar.gz new file mode 100644 index 000000000..45730d1ca Binary files /dev/null and b/tests/test_files/SecurityCenterFeed48.tar.gz differ